CommonVariables.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <cstddef>
7 
10 #include "Elliptic/Systems/Xcts/Tags.hpp"
11 #include "PointwiseFunctions/AnalyticData/Xcts/CommonVariables.hpp"
12 #include "PointwiseFunctions/GeneralRelativity/TagsDeclarations.hpp"
13 #include "Utilities/Gsl.hpp"
14 
15 namespace Xcts::Solutions {
16 
17 /// Tags for variables that solutions can share
18 template <typename DataType>
20  AnalyticData::common_tags<DataType>,
25  Tags::LongitudinalShiftExcess<DataType, 3, Frame::Inertial>,
27  Tags::LongitudinalShiftMinusDtConformalMetricSquare<DataType>,
28  Tags::LongitudinalShiftMinusDtConformalMetricOverLapseSquare<DataType>,
30 
31 /// Implementations for variables that solutions can share
32 template <typename DataType, typename Cache>
34  static constexpr size_t Dim = 3;
36  void operator()(
37  gsl::not_null<tnsr::I<DataType, Dim>*> conformal_factor_flux,
39  ::Tags::Flux<Tags::ConformalFactor<DataType>, tmpl::size_t<Dim>,
40  Frame::Inertial> /*meta*/) const noexcept;
41  void operator()(
42  gsl::not_null<tnsr::I<DataType, Dim>*> lapse_times_conformal_factor_flux,
45  Frame::Inertial> /*meta*/) const noexcept;
46  void operator()(
47  gsl::not_null<tnsr::II<DataType, Dim>*> longitudinal_shift_excess,
50  const noexcept;
51  void operator()(
52  gsl::not_null<tnsr::I<DataType, Dim>*> shift, gsl::not_null<Cache*> cache,
53  gr::Tags::Shift<Dim, Frame::Inertial, DataType> /*meta*/) const noexcept;
54  void operator()(
56  longitudinal_shift_minus_dt_conformal_metric_square,
59  const noexcept;
60  void operator()(
62  longitudinal_shift_minus_dt_conformal_metric_over_lapse_square,
65  DataType> /*meta*/) const noexcept;
66  void operator()(gsl::not_null<Scalar<DataType>*>
67  shift_dot_deriv_extrinsic_curvature_trace,
70  const noexcept;
71 };
72 
73 } // namespace Xcts::Solutions
Frame::Inertial
Definition: IndexType.hpp:44
Xcts::Tags::LapseTimesConformalFactor
The product of lapse and conformal factor .
Definition: Tags.hpp:63
Xcts::Solutions::common_tags
tmpl::push_back< AnalyticData::common_tags< DataType >, ::Tags::Flux< Tags::ConformalFactor< DataType >, tmpl::size_t< 3 >, Frame::Inertial >, ::Tags::Flux< Tags::LapseTimesConformalFactor< DataType >, tmpl::size_t< 3 >, Frame::Inertial >, Tags::LongitudinalShiftExcess< DataType, 3, Frame::Inertial >, gr::Tags::Shift< 3, Frame::Inertial, DataType >, Tags::LongitudinalShiftMinusDtConformalMetricSquare< DataType >, Tags::LongitudinalShiftMinusDtConformalMetricOverLapseSquare< DataType >, Tags::ShiftDotDerivExtrinsicCurvatureTrace< DataType > > common_tags
Tags for variables that solutions can share.
Definition: CommonVariables.hpp:29
Xcts::AnalyticData::CommonVariables
Implementations for variables that analytic-data classes can share.
Definition: CommonVariables.hpp:56
Tags::Flux
Prefix indicating a flux.
Definition: Prefixes.hpp:40
Xcts::Tags::ConformalFactor
The conformal factor that rescales the spatial metric .
Definition: Tags.hpp:21
domain::push_back
CoordinateMap< SourceFrame, TargetFrame, Maps..., NewMap > push_back(CoordinateMap< SourceFrame, TargetFrame, Maps... > old_map, NewMap new_map) noexcept
Creates a CoordinateMap by appending the new map to the end of the old maps.
Xcts::Tags::LongitudinalShiftMinusDtConformalMetricOverLapseSquare
The conformal longitudinal operator applied to the shift vector minus the time derivative of the conf...
Definition: Tags.hpp:181
Xcts::Solutions::CommonVariables
Implementations for variables that solutions can share.
Definition: CommonVariables.hpp:33
cstddef
gr::Tags::Shift
Definition: Tags.hpp:48
gr::shift
tnsr::I< DataType, SpatialDim, Frame > shift(const tnsr::aa< DataType, SpatialDim, Frame > &spacetime_metric, const tnsr::II< DataType, SpatialDim, Frame > &inverse_spatial_metric) noexcept
Compute shift from spacetime metric and inverse spatial metric.
ActionTesting::cache
Parallel::GlobalCache< Metavariables > & cache(MockRuntimeSystem< Metavariables > &runner, const ArrayIndex &array_index) noexcept
Returns the GlobalCache of Component with index array_index.
Definition: MockRuntimeSystemFreeFunctions.hpp:382
Xcts::Tags::LongitudinalShiftExcess
The conformal longitudinal operator applied to the shift excess .
Definition: Tags.hpp:138
Scalar
Tensor< T, Symmetry<>, index_list<> > Scalar
Definition: TypeAliases.hpp:21
Gsl.hpp
Xcts::Tags::LongitudinalShiftMinusDtConformalMetricSquare
The conformal longitudinal operator applied to the shift vector minus the time derivative of the conf...
Definition: Tags.hpp:169
Tensor.hpp
Xcts::Solutions
Analytic solutions of the XCTS equations.
Definition: AnalyticSolution.hpp:18
Prefixes.hpp
Xcts::Tags::ShiftDotDerivExtrinsicCurvatureTrace
The shift vector contracted with the gradient of the trace of the extrinsic curvature: .
Definition: Tags.hpp:194
gsl::not_null
Require a pointer to not be a nullptr
Definition: ReadSpecPiecewisePolynomial.hpp:13