SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
hydro::initial_data::irrotational_bns Namespace Reference

Items related to solving for irrotational bns initial data See e.g. 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 ki representing the local binary rotation Bi=βi+ki.
 
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 ki representing the local binary rotation Bi=βi+ki.
 
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 , 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 , 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 i(Bj/α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 i(Bj/α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...
 

Detailed Description

Items related to solving for irrotational bns initial data See e.g. Ch. 15 (P. 523)

Function Documentation

◆ derivative_rotational_shift_over_lapse_squared() [1/2]

template<typename DataType >
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 i(Bj/α2).

Here i is the spatial partial derivative, α is the lapse and Bi the rotational shift). The derivatives passed as arguments should be spatial partial derivatives.

◆ derivative_rotational_shift_over_lapse_squared() [2/2]

template<typename DataType >
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 i(Bj/α2).

Here i is the spatial partial derivative, α is the lapse and Bi the rotational shift). The derivatives passed as arguments should be spatial partial derivatives.

◆ divergence_spatial_rotational_killing_vector() [1/2]

template<typename DataType >
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

◆ divergence_spatial_rotational_killing_vector() [2/2]

template<typename DataType >
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

◆ rotational_shift_stress() [1/2]

template<typename DataType >
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 , it is defined for convenience in evaluating fluxes and sources for the DG scheme.)

Σij=BiBjα2

◆ rotational_shift_stress() [2/2]

template<typename DataType >
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 , it is defined for convenience in evaluating fluxes and sources for the DG scheme.)

Σij=BiBjα2

◆ spatial_rotational_killing_vector() [1/2]

template<typename DataType >
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 Ωj to be the uniform rotation axis (assumed in the z-direction) and ϵijk to be the Levi-Civita tensor ( ϵijk=γeijk, with eijk totally antisymmetric with e123=1) , then the killing vector is given by ( 15.13) :

ki=ϵijkΩjxk

◆ spatial_rotational_killing_vector() [2/2]

template<typename DataType >
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 Ωj to be the uniform rotation axis (assumed in the z-direction) and ϵijk to be the Levi-Civita tensor ( ϵijk=γeijk, with eijk totally antisymmetric with e123=1) , then the killing vector is given by ( 15.13) :

ki=ϵijkΩjxk

◆ specific_enthalpy_squared() [1/2]

template<typename DataType >
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 15.76, it computes the specific enthalpy h

h2=1α2(C+BiDiΦ)2DiΦDiΦ

Where Φ 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

◆ specific_enthalpy_squared() [2/2]

template<typename DataType >
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 15.76, it computes the specific enthalpy h

h2=1α2(C+BiDiΦ)2DiΦDiΦ

Where Φ 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