SpECTRE  v2024.04.12
Xcts::AnalyticData::CommonVariables< DataType, Cache > Struct Template Referenceabstract

Implementations for variables that analytic-data classes can share. More...

#include <CommonVariables.hpp>

Public Member Functions

 CommonVariables (const CommonVariables &)=default
 
CommonVariablesoperator= (const CommonVariables &)=default
 
 CommonVariables (CommonVariables &&)=default
 
CommonVariablesoperator= (CommonVariables &&)=default
 
 CommonVariables (std::optional< std::reference_wrapper< const Mesh< Dim > > > local_mesh, std::optional< std::reference_wrapper< const InverseJacobian< DataType, Dim, Frame::ElementLogical, Frame::Inertial > > > local_inv_jacobian)
 
virtual void operator() (gsl::not_null< tnsr::ii< DataType, Dim > * > conformal_metric, gsl::not_null< Cache * > cache, Tags::ConformalMetric< DataType, Dim, Frame::Inertial >) const =0
 
virtual void operator() (gsl::not_null< Scalar< DataType > * > extrinsic_curvature_trace, gsl::not_null< Cache * > cache, gr::Tags::TraceExtrinsicCurvature< DataType >) const =0
 
virtual void operator() (gsl::not_null< Scalar< DataType > * > dt_extrinsic_curvature_trace, gsl::not_null< Cache * > cache, ::Tags::dt< gr::Tags::TraceExtrinsicCurvature< DataType > >) const =0
 
virtual void operator() (gsl::not_null< tnsr::I< DataType, Dim > * > shift_background, gsl::not_null< Cache * > cache, Tags::ShiftBackground< DataType, Dim, Frame::Inertial >) const =0
 
virtual void operator() (gsl::not_null< tnsr::II< DataType, Dim > * > longitudinal_shift_background, gsl::not_null< Cache * > cache, Tags::LongitudinalShiftBackgroundMinusDtConformalMetric< DataType, Dim, Frame::Inertial >) const =0
 
virtual void operator() (gsl::not_null< tnsr::ijj< DataType, Dim > * > deriv_conformal_metric, gsl::not_null< Cache * > cache, ::Tags::deriv< Tags::ConformalMetric< DataType, Dim, Frame::Inertial >, tmpl::size_t< Dim >, Frame::Inertial >) const =0
 
virtual void operator() (gsl::not_null< tnsr::II< DataType, Dim > * > inv_conformal_metric, gsl::not_null< Cache * > cache, Tags::InverseConformalMetric< DataType, Dim, Frame::Inertial >) const
 
virtual void operator() (gsl::not_null< tnsr::ijj< DataType, Dim > * > conformal_christoffel_first_kind, gsl::not_null< Cache * > cache, Tags::ConformalChristoffelFirstKind< DataType, Dim, Frame::Inertial >) const
 
virtual void operator() (gsl::not_null< tnsr::Ijj< DataType, Dim > * > conformal_christoffel_second_kind, gsl::not_null< Cache * > cache, Tags::ConformalChristoffelSecondKind< DataType, Dim, Frame::Inertial >) const
 
virtual void operator() (gsl::not_null< tnsr::i< DataType, Dim > * > conformal_christoffel_contracted, gsl::not_null< Cache * > cache, Tags::ConformalChristoffelContracted< DataType, Dim, Frame::Inertial >) const
 
void operator() (gsl::not_null< Scalar< DataType > * > fixed_source_for_hamiltonian_constraint, gsl::not_null< Cache * > cache, ::Tags::FixedSource< Tags::ConformalFactorMinusOne< DataType > >) const
 
void operator() (gsl::not_null< Scalar< DataType > * > fixed_source_for_lapse_equation, gsl::not_null< Cache * > cache, ::Tags::FixedSource< Tags::LapseTimesConformalFactorMinusOne< DataType > >) const
 
void operator() (gsl::not_null< tnsr::I< DataType, 3 > * > fixed_source_momentum_constraint, gsl::not_null< Cache * > cache, ::Tags::FixedSource< Tags::ShiftExcess< DataType, 3, Frame::Inertial > >) const
 
virtual void operator() (gsl::not_null< tnsr::iJkk< DataType, Dim > * > deriv_conformal_christoffel_second_kind, gsl::not_null< Cache * > cache, ::Tags::deriv< Tags::ConformalChristoffelSecondKind< DataType, Dim, Frame::Inertial >, tmpl::size_t< Dim >, Frame::Inertial >) const
 
virtual void operator() (gsl::not_null< tnsr::ii< DataType, Dim > * > conformal_ricci_tensor, gsl::not_null< Cache * > cache, Tags::ConformalRicciTensor< DataType, Dim, Frame::Inertial >) const
 
virtual void operator() (gsl::not_null< Scalar< DataType > * > conformal_ricci_scalar, gsl::not_null< Cache * > cache, Tags::ConformalRicciScalar< DataType >) const
 
virtual void operator() (gsl::not_null< tnsr::i< DataType, Dim > * > deriv_extrinsic_curvature_trace, gsl::not_null< Cache * > cache, ::Tags::deriv< gr::Tags::TraceExtrinsicCurvature< DataType >, tmpl::size_t< Dim >, Frame::Inertial >) const
 
virtual void operator() (gsl::not_null< tnsr::I< DataType, Dim > * > div_longitudinal_shift_background, gsl::not_null< Cache * > cache, ::Tags::div< Tags::LongitudinalShiftBackgroundMinusDtConformalMetric< DataType, Dim, Frame::Inertial > >) const
 

Public Attributes

std::optional< std::reference_wrapper< const Mesh< Dim > > > mesh
 
std::optional< std::reference_wrapper< const InverseJacobian< DataType, Dim, Frame::ElementLogical, Frame::Inertial > > > inv_jacobian
 

Static Public Attributes

static constexpr size_t Dim = 3
 

Detailed Description

template<typename DataType, typename Cache>
struct Xcts::AnalyticData::CommonVariables< DataType, Cache >

Implementations for variables that analytic-data classes can share.

Analytic-data classes can derive their variable computers from this class to inherit implementations for the common_tags. Note that some variables require a numeric differentiation. To compute those variables, a mesh and an inv_jacobian must be passed to the constructor. The mesh and the inv_jacobian can be set to std::nullopt if no variables with numeric derivatives are requested.

Template Parameters
DataTypedouble or DataVector. Must be DataVector if variables with numeric derivatives are requested.
CacheThe CachedTempBuffer used by the analytic-data class.

The documentation for this struct was generated from the following file: