SpECTRE
v2025.03.17
|
Items related to evolving the first-order scalar tensor system. More...
Namespaces | |
namespace | AnalyticData |
Holds classes implementing analytic data for the ScalarTensor system. | |
namespace | BoundaryConditions |
Boundary conditions for the combined Generalized Harmonic and CurvedScalarWave systems. | |
namespace | BoundaryCorrections |
Boundary corrections/numerical fluxes. | |
Classes | |
struct | AnalyticDataBase |
Base struct for properties common to all Scalar Tensor analytic initial data. More... | |
struct | System |
Scalar Tensor system obtained from combining the CurvedScalarWave and gh systems. More... | |
struct | TimeDerivative |
Compute the RHS terms of the evolution equations for the scalar tensor system. More... | |
Functions | |
void | add_scalar_source_to_dt_pi_scalar (gsl::not_null< Scalar< DataVector > * > dt_pi_scalar, const Scalar< DataVector > &scalar_source, const Scalar< DataVector > &lapse) |
Add in the source term to the | |
void | mass_source (gsl::not_null< Scalar< DataVector > * > scalar_source, const Scalar< DataVector > &psi, const double mass_psi) |
Computes the source term given by the mass of the scalar. More... | |
void | add_stress_energy_term_to_dt_pi (gsl::not_null< tnsr::aa< DataVector, 3_st > * > dt_pi, const tnsr::aa< DataVector, 3_st > &trace_reversed_stress_energy, const Scalar< DataVector > &lapse) |
Add in the trace-reversed stress-energy source term to the | |
void | trace_reversed_stress_energy (gsl::not_null< tnsr::aa< DataVector, 3_st > * > stress_energy, const Scalar< DataVector > &pi_scalar, const tnsr::i< DataVector, 3_st > &phi_scalar, const Scalar< DataVector > &lapse, const tnsr::I< DataVector, 3_st > &shift) |
Compute the trace-reversed stress-energy tensor of the scalar field. More... | |
void | scalar_charge_integrand (const gsl::not_null< Scalar< DataVector > * > result, const tnsr::i< DataVector, 3 > &phi, const tnsr::I< DataVector, 3 > &unit_normal_vector) |
The scalar charge per unit solid angle. More... | |
Items related to evolving the first-order scalar tensor system.
Tags for the scalar tensor system.
void ScalarTensor::add_scalar_source_to_dt_pi_scalar | ( | gsl::not_null< Scalar< DataVector > * > | dt_pi_scalar, |
const Scalar< DataVector > & | scalar_source, | ||
const Scalar< DataVector > & | lapse | ||
) |
Add in the source term to the
The only source term in the wave equation
is in the equation for
where
This function adds that contribution to the existing value of dt_pi_scalar
. The wave equation terms in the scalar equation should be computed before passing the dt_pi_scalar
to this function for updating.
dt_pi_scalar | Time derivative terms of |
scalar_source | Source term |
lapse | Lapse |
CurvedScalarWave::TimeDerivative
for details about the source-less part of the time derivative calculation. void ScalarTensor::add_stress_energy_term_to_dt_pi | ( | gsl::not_null< tnsr::aa< DataVector, 3_st > * > | dt_pi, |
const tnsr::aa< DataVector, 3_st > & | trace_reversed_stress_energy, | ||
const Scalar< DataVector > & | lapse | ||
) |
Add in the trace-reversed stress-energy source term to the
The only stress energy source term in the Generalized Harmonic evolution equations is in the equation for
(note that this function takes as argument the trace-reversed stress-energy tensor)
This function adds that contribution to the existing value of dt_pi
. The spacetime terms in the GH equation should be computed before passing the dt_pi
to this function for updating.
dt_pi | Time derivative of the |
trace_reversed_stress_energy | Trace-reversed stress energy tensor of the scalar |
lapse | Lapse |
gh::TimeDerivative
for details about the spacetime part of the time derivative calculation. void ScalarTensor::mass_source | ( | gsl::not_null< Scalar< DataVector > * > | scalar_source, |
const Scalar< DataVector > & | psi, | ||
const double | mass_psi | ||
) |
Computes the source term given by the mass of the scalar.
For a scalar field with mass parameter
where the source is given by
Here the mass parameter value is an option that needs to be specified in the input file.
scalar_source | Source term |
psi | Scalar field |
mass_psi | Mass of the scalar field |
ScalarTensor::Tags::ScalarMass
for details about the mass. void ScalarTensor::scalar_charge_integrand | ( | const gsl::not_null< Scalar< DataVector > * > | result, |
const tnsr::i< DataVector, 3 > & | phi, | ||
const tnsr::I< DataVector, 3 > & | unit_normal_vector | ||
) |
The scalar charge per unit solid angle.
This function calculates the integrand of:
where
For a spherically symmetric scalar, this value will coincide with the value as extracted from the
void ScalarTensor::trace_reversed_stress_energy | ( | gsl::not_null< tnsr::aa< DataVector, 3_st > * > | stress_energy, |
const Scalar< DataVector > & | pi_scalar, | ||
const tnsr::i< DataVector, 3_st > & | phi_scalar, | ||
const Scalar< DataVector > & | lapse, | ||
const tnsr::I< DataVector, 3_st > & | shift | ||
) |
Compute the trace-reversed stress-energy tensor of the scalar field.
The trace-reversed stress energy tensor is needed to compute the backreaction of the scalar to the spacetime evolution and is given by
where
In terms of the evolved variables of the scalar,
where
stress_energy | Trace-reversed stress energy tensor of the scalar |
pi_scalar | Scalar evolution variable |
phi_scalar | Scalar evolution variable |
lapse | Lapse |
shift | Shift |