SpECTRE  v2024.04.12
ScalarTensor::System Struct Reference

Scalar Tensor system obtained from combining the CurvedScalarWave and gh systems. More...

#include <System.hpp>

Public Types

using boundary_conditions_base = BoundaryConditions::BoundaryCondition
 
using boundary_correction_base = BoundaryCorrections::BoundaryCorrection
 
using gh_system = gh::System< 3_st >
 
using scalar_system = CurvedScalarWave::System< 3_st >
 
using variables_tag = ::Tags::Variables< tmpl::append< typename gh_system::variables_tag::tags_list, typename scalar_system::variables_tag::tags_list > >
 
using flux_variables = tmpl::append< typename gh_system::flux_variables, typename scalar_system::flux_variables >
 
using gradient_variables = tmpl::append< typename gh_system::gradient_variables, typename scalar_system::gradient_variables >
 
using gradients_tags = gradient_variables
 
using compute_largest_characteristic_speed = Tags::ComputeLargestCharacteristicSpeed<>
 
using compute_volume_time_derivative_terms = ScalarTensor::TimeDerivative
 
using inverse_spatial_metric_tag = typename gh_system::inverse_spatial_metric_tag
 

Static Public Attributes

static constexpr bool has_primitive_and_conservative_vars = false
 
static constexpr size_t volume_dim = 3
 
static constexpr bool is_in_flux_conservative_form = false
 

Detailed Description

Scalar Tensor system obtained from combining the CurvedScalarWave and gh systems.

Details

The evolution equations follow from

\begin{align*} R_{ab} &= 8 \pi \, T^{(\Psi, \text{TR})}_{ab} ~, \\ \Box \Psi &= 0~, \end{align*}

where \(\Psi\) is the scalar field and the trace-reversed stress-energy tensor of the scalar field is given by

\begin{align*} T^{(\Psi, \text{TR})}_{ab} &\equiv T^{(\Psi)}_{ab} - \frac{1}{2} g_{ab} g^{cd} T^{(\Psi)}_{cd} \\ &= \partial_a \Psi \partial_b \Psi ~. \end{align*}

Both systems are recast as first-order systems in terms of the variables

\begin{align*} & g_{ab}~, \\ & \Pi_{ab} = - \dfrac{1}{\alpha} \left( \partial_t g_{ab} - \beta^k \partial_k g_{ab} \right)~, \\ & \Phi_{iab} = \partial_i g_{ab}~, \\ & \Psi~, \\ & \Pi = - \dfrac{1}{\alpha} \left(\partial_t \Psi - \beta^k \partial_k \Psi \right)~, \\ & \Phi_i = \partial_i \Psi~, \end{align*}

where \( \alpha \) and \( \beta^k \) are the lapse and shift.

The computation of the evolution equations is implemented in each system in gh::TimeDerivative and CurvedScalarWave::TimeDerivative, respectively. We take the additional step of adding the contribution of the trace-reversed stress-energy tensor to the evolution equations of the metric.

Note
Although both systems are templated in the spatial dimension, we only implement this system in three spatial dimensions.

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