SpECTRE
v2025.03.17
|
Items related to hydrodynamic systems. More...
Namespaces | |
namespace | OptionTags |
Tags for options of hydrodynamic systems. | |
namespace | Solutions |
Holds classes implementing common portions of solutions to various different (magneto)hydrodynamical systems. | |
namespace | Tags |
Tag containing TildeD * SpecificInternalEnergy Useful as a diagnostics tool, as input to volume integral. | |
namespace | units |
Functions, constants, and classes for converting between different units. | |
Classes | |
class | TemperatureInitialization |
Wrapper to add temperature variable to initial data providing only density and or energy_density initialization. More... | |
Enumerations | |
enum | MagneticFieldTreatment { AssumeZero , CheckIfZero , AssumeNonZero } |
Used to specify how to handle the magnetic field. More... | |
enum class | HalfPlaneIntegralMask { None , PositiveXOnly , NegativeXOnly } |
Functions | |
std::ostream & | operator<< (std::ostream &os, MagneticFieldTreatment t) |
std::ostream & | operator<< (std::ostream &os, HalfPlaneIntegralMask mask) |
std::string | name (HalfPlaneIntegralMask mask) |
template<typename DataType , size_t Dim, typename Fr = Frame::Inertial> | |
void | quadrupole_moment (const gsl::not_null< tnsr::ii< DataType, Dim, Fr > * > result, const Scalar< DataType > &tilde_d, const tnsr::I< DataType, Dim, Fr > &coordinates) |
Function computing the quadrupole moment. More... | |
template<typename DataType , size_t Dim, typename Fr = Frame::Inertial> | |
void | quadrupole_moment_derivative (const gsl::not_null< tnsr::ii< DataType, Dim, Fr > * > result, const Scalar< DataType > &tilde_d, const tnsr::I< DataType, Dim, Fr > &coordinates, const tnsr::I< DataType, Dim, Fr > &spatial_velocity) |
Function computing the first time derivative of the quadrupole moment. More... | |
template<typename DataType > | |
void | energy_density (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &rest_mass_density, const Scalar< DataType > &specific_enthalpy, const Scalar< DataType > &pressure, const Scalar< DataType > &lorentz_factor, const Scalar< DataType > &magnetic_field_dot_spatial_velocity, const Scalar< DataType > &comoving_magnetic_field_squared) |
The total mass-energy density measured by a normal observer, | |
template<typename DataType > | |
void | momentum_density (gsl::not_null< tnsr::I< DataType, 3 > * > result, const Scalar< DataType > &rest_mass_density, const Scalar< DataType > &specific_enthalpy, const tnsr::I< DataType, 3 > &spatial_velocity, const Scalar< DataType > &lorentz_factor, const tnsr::I< DataType, 3 > &magnetic_field, const Scalar< DataType > &magnetic_field_dot_spatial_velocity, const Scalar< DataType > &comoving_magnetic_field_squared) |
The spatial momentum density | |
template<typename DataType > | |
void | stress_trace (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &rest_mass_density, const Scalar< DataType > &specific_enthalpy, const Scalar< DataType > &pressure, const Scalar< DataType > &spatial_velocity_squared, const Scalar< DataType > &lorentz_factor, const Scalar< DataType > &magnetic_field_dot_spatial_velocity, const Scalar< DataType > &comoving_magnetic_field_squared) |
The trace of the spatial stress tensor, | |
template<typename DataType > | |
void | stress_energy_tensor (gsl::not_null< tnsr::AA< DataType, 3 > * > result, const Scalar< DataType > &rest_mass_density, const Scalar< DataType > &specific_internal_energy, const Scalar< DataType > &pressure, const Scalar< DataType > &lorentz_factor, const Scalar< DataType > &lapse, const Scalar< DataType > &comoving_magnetic_field_magnitude, const tnsr::I< DataType, 3 > &spatial_velocity, const tnsr::I< DataType, 3 > &shift, const tnsr::I< DataType, 3 > &magnetic_field, const tnsr::ii< DataType, 3 > &spatial_metric, const tnsr::II< DataType, 3 > &inverse_spatial_metric) |
Stress Energy Tesnor, | |
template<typename DataType , size_t Dim, typename Fr = Frame::Inertial> | |
void | transport_velocity (gsl::not_null< tnsr::I< DataType, Dim, Fr > * > result, const tnsr::I< DataType, Dim, Fr > &spatial_velocity, const Scalar< DataType > &lapse, const tnsr::I< DataType, Dim, Fr > &shift) |
Function computing the transport velocity. More... | |
template<typename DataType > | |
void | comoving_magnetic_field (gsl::not_null< tnsr::A< DataType, 3 > * > result, const tnsr::I< DataType, 3 > &spatial_velocity, const tnsr::I< DataType, 3 > &magnetic_field, const Scalar< DataType > &magnetic_field_dot_spatial_velocity, const Scalar< DataType > &lorentz_factor, const tnsr::I< DataType, 3 > &shift, const Scalar< DataType > &lapse) |
The comoving magnetic field vector | |
template<typename DataType > | |
tnsr::A< DataType, 3 > | comoving_magnetic_field (const tnsr::I< DataType, 3 > &spatial_velocity, const tnsr::I< DataType, 3 > &magnetic_field, const Scalar< DataType > &magnetic_field_dot_spatial_velocity, const Scalar< DataType > &lorentz_factor, const tnsr::I< DataType, 3 > &shift, const Scalar< DataType > &lapse) |
The comoving magnetic field vector | |
template<typename DataType > | |
void | comoving_magnetic_field_one_form (gsl::not_null< tnsr::a< DataType, 3 > * > result, const tnsr::i< DataType, 3 > &spatial_velocity_one_form, const tnsr::i< DataType, 3 > &magnetic_field_one_form, const Scalar< DataType > &magnetic_field_dot_spatial_velocity, const Scalar< DataType > &lorentz_factor, const tnsr::I< DataType, 3 > &shift, const Scalar< DataType > &lapse) |
The comoving magnetic field vector | |
template<typename DataType > | |
tnsr::a< DataType, 3 > | comoving_magnetic_field_one_form (const tnsr::i< DataType, 3 > &spatial_velocity_one_form, const tnsr::i< DataType, 3 > &magnetic_field_one_form, const Scalar< DataType > &magnetic_field_dot_spatial_velocity, const Scalar< DataType > &lorentz_factor, const tnsr::I< DataType, 3 > &shift, const Scalar< DataType > &lapse) |
The comoving magnetic field vector | |
template<typename DataType > | |
void | comoving_magnetic_field_squared (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &magnetic_field_squared, const Scalar< DataType > &magnetic_field_dot_spatial_velocity, const Scalar< DataType > &lorentz_factor) |
The comoving magnetic field vector | |
template<typename DataType > | |
Scalar< DataType > | comoving_magnetic_field_squared (const Scalar< DataType > &magnetic_field_squared, const Scalar< DataType > &magnetic_field_dot_spatial_velocity, const Scalar< DataType > &lorentz_factor) |
The comoving magnetic field vector | |
template<typename DataType > | |
void | inverse_plasma_beta (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &comoving_magnetic_field_magnitude, const Scalar< DataType > &fluid_pressure) |
Computes the inverse plasma beta. More... | |
template<typename DataType > | |
Scalar< DataType > | inverse_plasma_beta (const Scalar< DataType > &comoving_magnetic_field_magnitude, const Scalar< DataType > &fluid_pressure) |
Computes the inverse plasma beta. More... | |
template<typename DataType , size_t Dim, typename Frame > | |
void | lorentz_factor (gsl::not_null< Scalar< DataType > * > result, const tnsr::I< DataType, Dim, Frame > &spatial_velocity, const tnsr::i< DataType, Dim, Frame > &spatial_velocity_form) |
Computes the Lorentz factor | |
template<typename DataType , size_t Dim, typename Frame > | |
Scalar< DataType > | lorentz_factor (const tnsr::I< DataType, Dim, Frame > &spatial_velocity, const tnsr::i< DataType, Dim, Frame > &spatial_velocity_form) |
Computes the Lorentz factor | |
template<typename DataType > | |
void | lorentz_factor (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &spatial_velocity_squared) |
Computes the Lorentz factor | |
template<typename DataType > | |
Scalar< DataType > | lorentz_factor (const Scalar< DataType > &spatial_velocity_squared) |
Computes the Lorentz factor | |
template<typename DataType , size_t Dim, typename Frame > | |
void | mass_flux (gsl::not_null< tnsr::I< DataType, Dim, Frame > * > result, const Scalar< DataType > &rest_mass_density, const tnsr::I< DataType, Dim, Frame > &spatial_velocity, const Scalar< DataType > &lorentz_factor, const Scalar< DataType > &lapse, const tnsr::I< DataType, Dim, Frame > &shift, const Scalar< DataType > &sqrt_det_spatial_metric) |
Computes the vector | |
template<typename DataType , size_t Dim, typename Frame > | |
tnsr::I< DataType, Dim, Frame > | mass_flux (const Scalar< DataType > &rest_mass_density, const tnsr::I< DataType, Dim, Frame > &spatial_velocity, const Scalar< DataType > &lorentz_factor, const Scalar< DataType > &lapse, const tnsr::I< DataType, Dim, Frame > &shift, const Scalar< DataType > &sqrt_det_spatial_metric) |
Computes the vector | |
template<typename DataType , size_t Dim, typename Frame > | |
void | u_lower_t (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &lorentz_factor, const tnsr::I< DataType, Dim, Frame > &spatial_velocity, const tnsr::ii< DataType, Dim, Frame > &spatial_metric, const Scalar< DataType > &lapse, const tnsr::I< DataType, Dim, Frame > &shift) |
Compute | |
template<typename DataType , size_t Dim, typename Frame > | |
Scalar< DataType > | u_lower_t (const Scalar< DataType > &lorentz_factor, const tnsr::I< DataType, Dim, Frame > &spatial_velocity, const tnsr::ii< DataType, Dim, Frame > &spatial_metric, const Scalar< DataType > &lapse, const tnsr::I< DataType, Dim, Frame > &shift) |
Compute | |
template<typename DataType > | |
void | mass_weighted_internal_energy (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &tilde_d, const Scalar< DataType > &specific_internal_energy) |
Compute tilde_d * specific_internal_energy Result of the calculation stored in result. | |
template<typename DataType > | |
Scalar< DataType > | mass_weighted_internal_energy (const Scalar< DataType > &tilde_d, const Scalar< DataType > &specific_internal_energy) |
Compute tilde_d * specific_internal_energy Result of the calculation stored in result. | |
template<typename DataType > | |
void | mass_weighted_kinetic_energy (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &tilde_d, const Scalar< DataType > &lorentz_factor) |
Compute tilde_d * (lorentz_factor - 1.0) Result of the calculation stored in result. | |
template<typename DataType > | |
Scalar< DataType > | mass_weighted_kinetic_energy (const Scalar< DataType > &tilde_d, const Scalar< DataType > &lorentz_factor) |
Compute tilde_d * (lorentz_factor - 1.0) Result of the calculation stored in result. | |
template<typename DataType , size_t Dim, typename Fr = Frame::Inertial> | |
void | tilde_d_unbound_ut_criterion (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &tilde_d, const Scalar< DataType > &lorentz_factor, const tnsr::I< DataType, Dim, Fr > &spatial_velocity, const tnsr::ii< DataType, Dim, Fr > &spatial_metric, const Scalar< DataType > &lapse, const tnsr::I< DataType, Dim, Fr > &shift) |
Returns tilde_d in regions where u_t < -1 and 0 in regions where u_t > -1 (approximate criteria for unbound matter, theoretically valid for particles following geodesics of a time-independent metric). | |
template<typename DataType , size_t Dim, typename Fr = Frame::Inertial> | |
Scalar< DataType > | tilde_d_unbound_ut_criterion (const Scalar< DataType > &tilde_d, const Scalar< DataType > &lorentz_factor, const tnsr::I< DataType, Dim, Fr > &spatial_velocity, const tnsr::ii< DataType, Dim, Fr > &spatial_metric, const Scalar< DataType > &lapse, const tnsr::I< DataType, Dim, Fr > &shift) |
Returns tilde_d in regions where u_t < -1 and 0 in regions where u_t > -1 (approximate criteria for unbound matter, theoretically valid for particles following geodesics of a time-independent metric). | |
template<HalfPlaneIntegralMask IntegralMask, typename DataType , size_t Dim> | |
void | tilde_d_in_half_plane (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &tilde_d, const tnsr::I< DataType, Dim, Frame::Grid > &grid_coords) |
Returns tilde_d in one half plane and zero in the other IntegralMask allows us to restrict the data to the x>0 or x<0 plane in grid coordinates (useful for NSNS). | |
template<HalfPlaneIntegralMask IntegralMask, typename DataType , size_t Dim> | |
Scalar< DataType > | tilde_d_in_half_plane (const Scalar< DataType > &tilde_d, const tnsr::I< DataType, Dim, Frame::Grid > &grid_coords) |
Returns tilde_d in one half plane and zero in the other IntegralMask allows us to restrict the data to the x>0 or x<0 plane in grid coordinates (useful for NSNS). | |
template<HalfPlaneIntegralMask IntegralMask, typename DataType , size_t Dim, typename Fr = Frame::Inertial> | |
void | mass_weighted_coords (gsl::not_null< tnsr::I< DataType, Dim, Fr > * > result, const Scalar< DataType > &tilde_d, const tnsr::I< DataType, Dim, Frame::Grid > &grid_coords, const tnsr::I< DataType, Dim, Fr > &compute_coords) |
Returns tilde_d * compute_coords IntegralMask allows us to restrict the data to the x>0 or x<0 plane in grid coordinates (useful for NSNS). | |
template<HalfPlaneIntegralMask IntegralMask, typename DataType , size_t Dim, typename Fr = Frame::Inertial> | |
tnsr::I< DataType, Dim, Fr > | mass_weighted_coords (const Scalar< DataType > &tilde_d, const tnsr::I< DataType, Dim, Frame::Grid > &grid_coords, const tnsr::I< DataType, Dim, Fr > &compute_coords) |
Returns tilde_d * compute_coords IntegralMask allows us to restrict the data to the x>0 or x<0 plane in grid coordinates (useful for NSNS). | |
template<typename DataType , size_t ThermodynamicDim> | |
void | sound_speed_squared (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &rest_mass_density, const Scalar< DataType > &specific_internal_energy, const Scalar< DataType > &specific_enthalpy, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &equation_of_state) |
Computes the relativistic sound speed squared. More... | |
template<typename DataType , size_t ThermodynamicDim> | |
Scalar< DataType > | sound_speed_squared (const Scalar< DataType > &rest_mass_density, const Scalar< DataType > &specific_internal_energy, const Scalar< DataType > &specific_enthalpy, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &equation_of_state) |
Computes the relativistic sound speed squared. More... | |
template<typename DataType > | |
void | relativistic_specific_enthalpy (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &rest_mass_density, const Scalar< DataType > &specific_internal_energy, const Scalar< DataType > &pressure) |
Computes the relativistic specific enthalpy | |
template<typename DataType > | |
Scalar< DataType > | relativistic_specific_enthalpy (const Scalar< DataType > &rest_mass_density, const Scalar< DataType > &specific_internal_energy, const Scalar< DataType > &pressure) |
Computes the relativistic specific enthalpy | |
Items related to hydrodynamic systems.
tnsr::A< DataType, 3 > hydro::comoving_magnetic_field | ( | const tnsr::I< DataType, 3 > & | spatial_velocity, |
const tnsr::I< DataType, 3 > & | magnetic_field, | ||
const Scalar< DataType > & | magnetic_field_dot_spatial_velocity, | ||
const Scalar< DataType > & | lorentz_factor, | ||
const tnsr::I< DataType, 3 > & | shift, | ||
const Scalar< DataType > & | lapse | ||
) |
The comoving magnetic field vector
The components of the comoving magnetic field vector are:
where
Using the spacetime metric, the corresponding one-form components are:
The square of the vector is:
See also Eq. (5.173) in [14], with the difference that we work in Heaviside-Lorentz units where the magnetic field is rescaled by
void hydro::comoving_magnetic_field | ( | gsl::not_null< tnsr::A< DataType, 3 > * > | result, |
const tnsr::I< DataType, 3 > & | spatial_velocity, | ||
const tnsr::I< DataType, 3 > & | magnetic_field, | ||
const Scalar< DataType > & | magnetic_field_dot_spatial_velocity, | ||
const Scalar< DataType > & | lorentz_factor, | ||
const tnsr::I< DataType, 3 > & | shift, | ||
const Scalar< DataType > & | lapse | ||
) |
The comoving magnetic field vector
The components of the comoving magnetic field vector are:
where
Using the spacetime metric, the corresponding one-form components are:
The square of the vector is:
See also Eq. (5.173) in [14], with the difference that we work in Heaviside-Lorentz units where the magnetic field is rescaled by
tnsr::a< DataType, 3 > hydro::comoving_magnetic_field_one_form | ( | const tnsr::i< DataType, 3 > & | spatial_velocity_one_form, |
const tnsr::i< DataType, 3 > & | magnetic_field_one_form, | ||
const Scalar< DataType > & | magnetic_field_dot_spatial_velocity, | ||
const Scalar< DataType > & | lorentz_factor, | ||
const tnsr::I< DataType, 3 > & | shift, | ||
const Scalar< DataType > & | lapse | ||
) |
The comoving magnetic field vector
The components of the comoving magnetic field vector are:
where
Using the spacetime metric, the corresponding one-form components are:
The square of the vector is:
See also Eq. (5.173) in [14], with the difference that we work in Heaviside-Lorentz units where the magnetic field is rescaled by
void hydro::comoving_magnetic_field_one_form | ( | gsl::not_null< tnsr::a< DataType, 3 > * > | result, |
const tnsr::i< DataType, 3 > & | spatial_velocity_one_form, | ||
const tnsr::i< DataType, 3 > & | magnetic_field_one_form, | ||
const Scalar< DataType > & | magnetic_field_dot_spatial_velocity, | ||
const Scalar< DataType > & | lorentz_factor, | ||
const tnsr::I< DataType, 3 > & | shift, | ||
const Scalar< DataType > & | lapse | ||
) |
The comoving magnetic field vector
The components of the comoving magnetic field vector are:
where
Using the spacetime metric, the corresponding one-form components are:
The square of the vector is:
See also Eq. (5.173) in [14], with the difference that we work in Heaviside-Lorentz units where the magnetic field is rescaled by
Scalar< DataType > hydro::comoving_magnetic_field_squared | ( | const Scalar< DataType > & | magnetic_field_squared, |
const Scalar< DataType > & | magnetic_field_dot_spatial_velocity, | ||
const Scalar< DataType > & | lorentz_factor | ||
) |
The comoving magnetic field vector
The components of the comoving magnetic field vector are:
where
Using the spacetime metric, the corresponding one-form components are:
The square of the vector is:
See also Eq. (5.173) in [14], with the difference that we work in Heaviside-Lorentz units where the magnetic field is rescaled by
void hydro::comoving_magnetic_field_squared | ( | gsl::not_null< Scalar< DataType > * > | result, |
const Scalar< DataType > & | magnetic_field_squared, | ||
const Scalar< DataType > & | magnetic_field_dot_spatial_velocity, | ||
const Scalar< DataType > & | lorentz_factor | ||
) |
The comoving magnetic field vector
The components of the comoving magnetic field vector are:
where
Using the spacetime metric, the corresponding one-form components are:
The square of the vector is:
See also Eq. (5.173) in [14], with the difference that we work in Heaviside-Lorentz units where the magnetic field is rescaled by
void hydro::energy_density | ( | gsl::not_null< Scalar< DataType > * > | result, |
const Scalar< DataType > & | rest_mass_density, | ||
const Scalar< DataType > & | specific_enthalpy, | ||
const Scalar< DataType > & | pressure, | ||
const Scalar< DataType > & | lorentz_factor, | ||
const Scalar< DataType > & | magnetic_field_dot_spatial_velocity, | ||
const Scalar< DataType > & | comoving_magnetic_field_squared | ||
) |
The total mass-energy density measured by a normal observer,
This quantity sources the gravitational field equations in the 3+1 decomposition (see Eq. (2.138) in [14]).
Perfect fluid contribution (Eq. (5.33) in [14]):
Magnetic field contribution (Eq. (5.152) in [14]):
where
result | Output buffer. Will be resized if needed. |
rest_mass_density | |
specific_enthalpy | |
pressure | |
lorentz_factor | |
magnetic_field_dot_spatial_velocity | |
comoving_magnetic_field_squared |
Scalar< DataType > hydro::inverse_plasma_beta | ( | const Scalar< DataType > & | comoving_magnetic_field_magnitude, |
const Scalar< DataType > & | fluid_pressure | ||
) |
Computes the inverse plasma beta.
The inverse plasma beta
void hydro::inverse_plasma_beta | ( | gsl::not_null< Scalar< DataType > * > | result, |
const Scalar< DataType > & | comoving_magnetic_field_magnitude, | ||
const Scalar< DataType > & | fluid_pressure | ||
) |
Computes the inverse plasma beta.
The inverse plasma beta
tnsr::I< DataType, Dim, Frame > hydro::mass_flux | ( | const Scalar< DataType > & | rest_mass_density, |
const tnsr::I< DataType, Dim, Frame > & | spatial_velocity, | ||
const Scalar< DataType > & | lorentz_factor, | ||
const Scalar< DataType > & | lapse, | ||
const tnsr::I< DataType, Dim, Frame > & | shift, | ||
const Scalar< DataType > & | sqrt_det_spatial_metric | ||
) |
Computes the vector
Note that the integral is understood as a flat-space integral: all metric factors are included in gr::surfaces::euclidean_area_element
of the Strahlkorper should be used, and
The formula is
void hydro::mass_flux | ( | gsl::not_null< tnsr::I< DataType, Dim, Frame > * > | result, |
const Scalar< DataType > & | rest_mass_density, | ||
const tnsr::I< DataType, Dim, Frame > & | spatial_velocity, | ||
const Scalar< DataType > & | lorentz_factor, | ||
const Scalar< DataType > & | lapse, | ||
const tnsr::I< DataType, Dim, Frame > & | shift, | ||
const Scalar< DataType > & | sqrt_det_spatial_metric | ||
) |
Computes the vector
Note that the integral is understood as a flat-space integral: all metric factors are included in gr::surfaces::euclidean_area_element
of the Strahlkorper should be used, and
The formula is
void hydro::momentum_density | ( | gsl::not_null< tnsr::I< DataType, 3 > * > | result, |
const Scalar< DataType > & | rest_mass_density, | ||
const Scalar< DataType > & | specific_enthalpy, | ||
const tnsr::I< DataType, 3 > & | spatial_velocity, | ||
const Scalar< DataType > & | lorentz_factor, | ||
const tnsr::I< DataType, 3 > & | magnetic_field, | ||
const Scalar< DataType > & | magnetic_field_dot_spatial_velocity, | ||
const Scalar< DataType > & | comoving_magnetic_field_squared | ||
) |
The spatial momentum density
This quantity sources the gravitational field equations in the 3+1 decomposition (see Eq. (2.138) in [14]).
Perfect fluid contribution (Eq. (5.34) in [14]):
Magnetic field contribution (Eq. (5.153) in [14]):
where
result | Output buffer. Will be resized if needed. |
rest_mass_density | |
specific_enthalpy | |
spatial_velocity | |
lorentz_factor | |
magnetic_field | |
magnetic_field_dot_spatial_velocity | |
comoving_magnetic_field_squared |
void hydro::quadrupole_moment | ( | const gsl::not_null< tnsr::ii< DataType, Dim, Fr > * > | result, |
const Scalar< DataType > & | tilde_d, | ||
const tnsr::I< DataType, Dim, Fr > & | coordinates | ||
) |
void hydro::quadrupole_moment_derivative | ( | const gsl::not_null< tnsr::ii< DataType, Dim, Fr > * > | result, |
const Scalar< DataType > & | tilde_d, | ||
const tnsr::I< DataType, Dim, Fr > & | coordinates, | ||
const tnsr::I< DataType, Dim, Fr > & | spatial_velocity | ||
) |
Function computing the first time derivative of the quadrupole moment.
Computes the first time derivative of the quadrupole moment, using
void hydro::stress_energy_tensor | ( | gsl::not_null< tnsr::AA< DataType, 3 > * > | result, |
const Scalar< DataType > & | rest_mass_density, | ||
const Scalar< DataType > & | specific_internal_energy, | ||
const Scalar< DataType > & | pressure, | ||
const Scalar< DataType > & | lorentz_factor, | ||
const Scalar< DataType > & | lapse, | ||
const Scalar< DataType > & | comoving_magnetic_field_magnitude, | ||
const tnsr::I< DataType, 3 > & | spatial_velocity, | ||
const tnsr::I< DataType, 3 > & | shift, | ||
const tnsr::I< DataType, 3 > & | magnetic_field, | ||
const tnsr::ii< DataType, 3 > & | spatial_metric, | ||
const tnsr::II< DataType, 3 > & | inverse_spatial_metric | ||
) |
Stress Energy Tesnor,
where
void hydro::stress_trace | ( | gsl::not_null< Scalar< DataType > * > | result, |
const Scalar< DataType > & | rest_mass_density, | ||
const Scalar< DataType > & | specific_enthalpy, | ||
const Scalar< DataType > & | pressure, | ||
const Scalar< DataType > & | spatial_velocity_squared, | ||
const Scalar< DataType > & | lorentz_factor, | ||
const Scalar< DataType > & | magnetic_field_dot_spatial_velocity, | ||
const Scalar< DataType > & | comoving_magnetic_field_squared | ||
) |
The trace of the spatial stress tensor,
This quantity sources the gravitational field equations in the 3+1 decomposition (see Eq. (2.138) in [14]).
Perfect fluid contribution (Eq. (5.36) in [14]):
Magnetic field contribution (Eq. (5.155) in [14]):
where
result | Output buffer. Will be resized if needed. |
rest_mass_density | |
specific_enthalpy | |
pressure | |
spatial_velocity_squared | |
lorentz_factor | |
magnetic_field_dot_spatial_velocity | |
comoving_magnetic_field_squared |
void hydro::transport_velocity | ( | gsl::not_null< tnsr::I< DataType, Dim, Fr > * > | result, |
const tnsr::I< DataType, Dim, Fr > & | spatial_velocity, | ||
const Scalar< DataType > & | lapse, | ||
const tnsr::I< DataType, Dim, Fr > & | shift | ||
) |
Function computing the transport velocity.
Computes the transport velocity, using