SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
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 gh_system = gh::System<3_st>
using scalar_system = CurvedScalarWave::System<3_st>
using variables_tag
using flux_variables
using gradient_variables
using gradients_tags = gradient_variables
using compute_largest_characteristic_speed
using compute_volume_time_derivative_terms = ScalarTensor::TimeDerivative
using 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.

Member Typedef Documentation

◆ compute_largest_characteristic_speed

Initial value:
Computes the largest magnitude of the characteristic speeds.
Definition Characteristics.hpp:28

◆ flux_variables

using ScalarTensor::System::flux_variables
Initial value:
tmpl::append<typename gh_system::flux_variables,
typename scalar_system::flux_variables>

◆ gradient_variables

using ScalarTensor::System::gradient_variables
Initial value:
tmpl::append<typename gh_system::gradient_variables,
typename scalar_system::gradient_variables>

◆ inverse_spatial_metric_tag

using ScalarTensor::System::inverse_spatial_metric_tag
Initial value:
typename gh_system::inverse_spatial_metric_tag

◆ variables_tag

Initial value:
tmpl::append<typename gh_system::variables_tag::tags_list,
typename scalar_system::variables_tag::tags_list>>
Definition VariablesTag.hpp:17

The documentation for this struct was generated from the following file:
  • src/Evolution/Systems/ScalarTensor/System.hpp