SpECTRE
v2024.09.29
|
Items related to solving for irrotational bns initial data See e.g. [13] Ch. 15 (P. 523) More...
Functions | |
template<typename DataType > | |
void | rotational_shift (gsl::not_null< tnsr::I< DataType, 3 > * > result, const tnsr::I< DataType, 3 > &shift, const tnsr::I< DataType, 3 > &spatial_rotational_killing_vector) |
Compute the shift plus a spatial vector \( k^i\) representing the local binary rotation \(B^i = \beta^i + k^i\). | |
template<typename DataType > | |
tnsr::I< DataType, 3 > | rotational_shift (const tnsr::I< DataType, 3 > &shift, const tnsr::I< DataType, 3 > &spatial_rotational_killing_vector) |
Compute the shift plus a spatial vector \( k^i\) representing the local binary rotation \(B^i = \beta^i + k^i\). | |
template<typename DataType > | |
void | rotational_shift_stress (gsl::not_null< tnsr::II< DataType, 3 > * > result, const tnsr::I< DataType, 3 > &rotational_shift, const Scalar< DataType > &lapse) |
Compute the stress-energy corresponding to the rotation shift. (this has no corresponding equation number in [13], it is defined for convenience in evaluating fluxes and sources for the DG scheme.) More... | |
template<typename DataType > | |
tnsr::II< DataType, 3 > | rotational_shift_stress (const tnsr::I< DataType, 3 > &rotational_shift, const Scalar< DataType > &lapse) |
Compute the stress-energy corresponding to the rotation shift. (this has no corresponding equation number in [13], it is defined for convenience in evaluating fluxes and sources for the DG scheme.) More... | |
template<typename DataType > | |
void | derivative_rotational_shift_over_lapse_squared (gsl::not_null< tnsr::iJ< DataType, 3 > * > result, const tnsr::I< DataType, 3 > &rotational_shift, const tnsr::iJ< DataType, 3 > &deriv_of_shift, const Scalar< DataType > &lapse, const tnsr::i< DataType, 3 > &deriv_of_lapse, const tnsr::iJ< DataType, 3 > &deriv_of_spatial_rotational_killing_vector) |
Compute derivative \( \partial_i (B^j / \alpha^2) \). More... | |
template<typename DataType > | |
tnsr::iJ< DataType, 3 > | derivative_rotational_shift_over_lapse_squared (const tnsr::I< DataType, 3 > &rotational_shift, const tnsr::iJ< DataType, 3 > &deriv_of_shift, const Scalar< DataType > &lapse, const tnsr::i< DataType, 3 > &deriv_of_lapse, const tnsr::iJ< DataType, 3 > &deriv_of_spatial_rotational_killing_vector) |
Compute derivative \( \partial_i (B^j / \alpha^2) \). More... | |
template<typename DataType > | |
void | specific_enthalpy_squared (gsl::not_null< Scalar< DataType > * > result, const tnsr::I< DataType, 3 > &rotational_shift, const Scalar< DataType > &lapse, const tnsr::i< DataType, 3 > &velocity_potential_gradient, const tnsr::II< DataType, 3 > &inverse_spatial_metric, double euler_enthalpy_constant) |
Compute the specific enthalpy squared from other hydro variables and the spacetime. More... | |
template<typename DataType > | |
Scalar< DataType > | specific_enthalpy_squared (const tnsr::I< DataType, 3 > &rotational_shift, const Scalar< DataType > &lapse, const tnsr::i< DataType, 3 > &velocity_potential_gradient, const tnsr::II< DataType, 3 > &inverse_spatial_metric, double euler_enthalpy_constant) |
Compute the specific enthalpy squared from other hydro variables and the spacetime. More... | |
template<typename DataType > | |
void | spatial_rotational_killing_vector (gsl::not_null< tnsr::I< DataType, 3 > * > result, const tnsr::I< DataType, 3 > &x, double orbital_angular_velocity, const Scalar< DataType > &sqrt_det_spatial_metric) |
Compute the spatial rotational killing vector associated with uniform rotation around the z-axis. More... | |
template<typename DataType > | |
tnsr::I< DataType, 3 > | spatial_rotational_killing_vector (const tnsr::I< DataType, 3 > &x, double orbital_angular_velocity, const Scalar< DataType > &sqrt_det_spatial_metric) |
Compute the spatial rotational killing vector associated with uniform rotation around the z-axis. More... | |
template<typename DataType > | |
void | divergence_spatial_rotational_killing_vector (gsl::not_null< Scalar< DataType > * > result, const tnsr::I< DataType, 3 > &x, double orbital_angular_velocity, const Scalar< DataType > &sqrt_det_spatial_metric) |
The spatial derivative of the spatial rotational killing vector. More... | |
template<typename DataType > | |
Scalar< DataType > | divergence_spatial_rotational_killing_vector (const tnsr::I< DataType, 3 > &x, double orbital_angular_velocity, const Scalar< DataType > &sqrt_det_spatial_metric) |
The spatial derivative of the spatial rotational killing vector. More... | |
Items related to solving for irrotational bns initial data See e.g. [13] Ch. 15 (P. 523)
tnsr::iJ< DataType, 3 > hydro::initial_data::irrotational_bns::derivative_rotational_shift_over_lapse_squared | ( | const tnsr::I< DataType, 3 > & | rotational_shift, |
const tnsr::iJ< DataType, 3 > & | deriv_of_shift, | ||
const Scalar< DataType > & | lapse, | ||
const tnsr::i< DataType, 3 > & | deriv_of_lapse, | ||
const tnsr::iJ< DataType, 3 > & | deriv_of_spatial_rotational_killing_vector | ||
) |
Compute derivative \( \partial_i (B^j / \alpha^2) \).
Here \( \partial_i \) is the spatial partial derivative, \( \alpha\) is the lapse and \(B^i\) the rotational shift). The derivatives passed as arguments should be spatial partial derivatives.
void hydro::initial_data::irrotational_bns::derivative_rotational_shift_over_lapse_squared | ( | gsl::not_null< tnsr::iJ< DataType, 3 > * > | result, |
const tnsr::I< DataType, 3 > & | rotational_shift, | ||
const tnsr::iJ< DataType, 3 > & | deriv_of_shift, | ||
const Scalar< DataType > & | lapse, | ||
const tnsr::i< DataType, 3 > & | deriv_of_lapse, | ||
const tnsr::iJ< DataType, 3 > & | deriv_of_spatial_rotational_killing_vector | ||
) |
Compute derivative \( \partial_i (B^j / \alpha^2) \).
Here \( \partial_i \) is the spatial partial derivative, \( \alpha\) is the lapse and \(B^i\) the rotational shift). The derivatives passed as arguments should be spatial partial derivatives.
Scalar< DataType > hydro::initial_data::irrotational_bns::divergence_spatial_rotational_killing_vector | ( | const tnsr::I< DataType, 3 > & | x, |
double | orbital_angular_velocity, | ||
const Scalar< DataType > & | sqrt_det_spatial_metric | ||
) |
The spatial derivative of the spatial rotational killing vector.
As for spatial_rotational_killing_vector
, assumes uniform rotation around the z-axis
void hydro::initial_data::irrotational_bns::divergence_spatial_rotational_killing_vector | ( | gsl::not_null< Scalar< DataType > * > | result, |
const tnsr::I< DataType, 3 > & | x, | ||
double | orbital_angular_velocity, | ||
const Scalar< DataType > & | sqrt_det_spatial_metric | ||
) |
The spatial derivative of the spatial rotational killing vector.
As for spatial_rotational_killing_vector
, assumes uniform rotation around the z-axis
tnsr::II< DataType, 3 > hydro::initial_data::irrotational_bns::rotational_shift_stress | ( | const tnsr::I< DataType, 3 > & | rotational_shift, |
const Scalar< DataType > & | lapse | ||
) |
Compute the stress-energy corresponding to the rotation shift. (this has no corresponding equation number in [13], it is defined for convenience in evaluating fluxes and sources for the DG scheme.)
\[\Sigma^i_j = \frac{1}{2}\frac{B^iB_j}{\alpha^2}\]
void hydro::initial_data::irrotational_bns::rotational_shift_stress | ( | gsl::not_null< tnsr::II< DataType, 3 > * > | result, |
const tnsr::I< DataType, 3 > & | rotational_shift, | ||
const Scalar< DataType > & | lapse | ||
) |
Compute the stress-energy corresponding to the rotation shift. (this has no corresponding equation number in [13], it is defined for convenience in evaluating fluxes and sources for the DG scheme.)
\[\Sigma^i_j = \frac{1}{2}\frac{B^iB_j}{\alpha^2}\]
tnsr::I< DataType, 3 > hydro::initial_data::irrotational_bns::spatial_rotational_killing_vector | ( | const tnsr::I< DataType, 3 > & | x, |
double | orbital_angular_velocity, | ||
const Scalar< DataType > & | sqrt_det_spatial_metric | ||
) |
Compute the spatial rotational killing vector associated with uniform rotation around the z-axis.
Taking \(\Omega_j\) to be the uniform rotation axis (assumed in the z-direction) and \( \epsilon^{ijk}\) to be the Levi-Civita tensor ( \(\epsilon_{ijk} = \sqrt{\gamma} e_{ijk}\), with \(e_{ijk}\) totally antisymmetric with \( e_{123} = 1\)) , then the killing vector is given by ([13] 15.13) :
\[ k^i = \epsilon^{ijk}\Omega_j x_k \]
void hydro::initial_data::irrotational_bns::spatial_rotational_killing_vector | ( | gsl::not_null< tnsr::I< DataType, 3 > * > | result, |
const tnsr::I< DataType, 3 > & | x, | ||
double | orbital_angular_velocity, | ||
const Scalar< DataType > & | sqrt_det_spatial_metric | ||
) |
Compute the spatial rotational killing vector associated with uniform rotation around the z-axis.
Taking \(\Omega_j\) to be the uniform rotation axis (assumed in the z-direction) and \( \epsilon^{ijk}\) to be the Levi-Civita tensor ( \(\epsilon_{ijk} = \sqrt{\gamma} e_{ijk}\), with \(e_{ijk}\) totally antisymmetric with \( e_{123} = 1\)) , then the killing vector is given by ([13] 15.13) :
\[ k^i = \epsilon^{ijk}\Omega_j x_k \]
Scalar< DataType > hydro::initial_data::irrotational_bns::specific_enthalpy_squared | ( | const tnsr::I< DataType, 3 > & | rotational_shift, |
const Scalar< DataType > & | lapse, | ||
const tnsr::i< DataType, 3 > & | velocity_potential_gradient, | ||
const tnsr::II< DataType, 3 > & | inverse_spatial_metric, | ||
double | euler_enthalpy_constant | ||
) |
Compute the specific enthalpy squared from other hydro variables and the spacetime.
The eqn. is identical in content to [13] 15.76, it computes the specific enthalpy \( h \)
\[ h^2 = \frac{1}{\alpha^2} \left(C + B^i D_i \Phi\right)^2 - D_i \Phi D^i \Phi \]
Where \(\Phi \) is the velocity potential, and \(C\) is the Euler-constant, which in a slowly rotating, slowly orbiting configuration becomes the central specific enthalpy times the central lapse
void hydro::initial_data::irrotational_bns::specific_enthalpy_squared | ( | gsl::not_null< Scalar< DataType > * > | result, |
const tnsr::I< DataType, 3 > & | rotational_shift, | ||
const Scalar< DataType > & | lapse, | ||
const tnsr::i< DataType, 3 > & | velocity_potential_gradient, | ||
const tnsr::II< DataType, 3 > & | inverse_spatial_metric, | ||
double | euler_enthalpy_constant | ||
) |
Compute the specific enthalpy squared from other hydro variables and the spacetime.
The eqn. is identical in content to [13] 15.76, it computes the specific enthalpy \( h \)
\[ h^2 = \frac{1}{\alpha^2} \left(C + B^i D_i \Phi\right)^2 - D_i \Phi D^i \Phi \]
Where \(\Phi \) is the velocity potential, and \(C\) is the Euler-constant, which in a slowly rotating, slowly orbiting configuration becomes the central specific enthalpy times the central lapse