SpECTRE
v2025.03.17
|
Finite difference functionality for the ValenciaDivClean form of the GRMHD equations. More...
Namespaces | |
namespace | OptionTags |
Option tags for reconstruction. | |
namespace | Tags |
Tags for reconstruction | |
Classes | |
struct | BoundaryConditionGhostData |
Computes finite difference ghost data for external boundary conditions. More... | |
class | MonotonicityPreserving5Prim |
Fifth order monotonicity-preserving (MP5) reconstruction. See fd::reconstruction::monotonicity_preserving_5() for details. More... | |
class | MonotonisedCentralPrim |
Monotonised central reconstruction. See fd::reconstruction::monotonised_central() for details. More... | |
class | PositivityPreservingAdaptiveOrderPrim |
Positivity-preserving adaptive order reconstruction. See fd::reconstruction::positivity_preserving_adaptive_order() for details. More... | |
class | Reconstructor |
The base class from which all reconstruction schemes must inherit. More... | |
class | Wcns5zPrim |
Fifth order weighted nonlinear compact scheme reconstruction using the Z oscillation indicator. See fd::reconstruction::wcns5z() for details. More... | |
Typedefs | |
using | tags_list_for_reconstruct = implementation defined |
The list of tags used by reconstruct_prims_work and reconstruct_fd_neighbor_work | |
Functions | |
bool | operator== (const MonotonisedCentralPrim &, const MonotonisedCentralPrim &) |
bool | operator!= (const MonotonisedCentralPrim &lhs, const MonotonisedCentralPrim &rhs) |
template<typename PrimTagsForReconstruction , typename PrimsTagsVolume , size_t ThermodynamicDim, typename F , typename PrimsTagsSentByNeighbor > | |
void | reconstruct_prims_work (gsl::not_null< std::array< Variables< tags_list_for_reconstruct >, 3 > * > vars_on_lower_face, gsl::not_null< std::array< Variables< tags_list_for_reconstruct >, 3 > * > vars_on_upper_face, const F &reconstruct, const Variables< PrimsTagsVolume > &volume_prims, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &eos, const Element< 3 > &element, const DirectionalIdMap< 3, Variables< PrimsTagsSentByNeighbor > > &neighbor_data, const Mesh< 3 > &subcell_mesh, size_t ghost_zone_size, bool compute_conservatives) |
Reconstructs the PrimTagsForReconstruction (usually compute_conservatives is true computes the Lorentz factor, upper spatial velocity, specific internal energy, and the conserved variables. More... | |
template<typename PrimTagsForReconstruction , typename PrimsTagsSentByNeighbor , typename TagsList , typename PrimsTags , size_t ThermodynamicDim, typename F0 , typename F1 > | |
void | reconstruct_fd_neighbor_work (gsl::not_null< Variables< tags_list_for_reconstruct > * > vars_on_face, const F0 &reconstruct_lower_neighbor, const F1 &reconstruct_upper_neighbor, const Variables< PrimsTags > &subcell_volume_prims, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &eos, const Element< 3 > &element, const DirectionalIdMap< 3, evolution::dg::subcell::GhostData > &ghost_data, const Mesh< 3 > &subcell_mesh, const Direction< 3 > &direction_to_reconstruct, const size_t ghost_zone_size, bool compute_conservatives) |
Reconstructs the PrimTagsForReconstruction and if compute_conservatives is true computes the Lorentz factor, upper spatial velocity, specific internal energy, and the conserved variables. More... | |
void | register_derived_with_charm () |
Finite difference functionality for the ValenciaDivClean form of the GRMHD equations.
void grmhd::ValenciaDivClean::fd::reconstruct_fd_neighbor_work | ( | gsl::not_null< Variables< tags_list_for_reconstruct > * > | vars_on_face, |
const F0 & | reconstruct_lower_neighbor, | ||
const F1 & | reconstruct_upper_neighbor, | ||
const Variables< PrimsTags > & | subcell_volume_prims, | ||
const EquationsOfState::EquationOfState< true, ThermodynamicDim > & | eos, | ||
const Element< 3 > & | element, | ||
const DirectionalIdMap< 3, evolution::dg::subcell::GhostData > & | ghost_data, | ||
const Mesh< 3 > & | subcell_mesh, | ||
const Direction< 3 > & | direction_to_reconstruct, | ||
const size_t | ghost_zone_size, | ||
bool | compute_conservatives | ||
) |
Reconstructs the PrimTagsForReconstruction
and if compute_conservatives
is true
computes the Lorentz factor, upper spatial velocity, specific internal energy, and the conserved variables.
All results are written into vars_on_face
.
This is used on DG elements to reconstruct their subcell neighbors' solution on the shared faces.
The reason the PrimTagsForReconstruction
can be specified separately is because some variables might need separate reconstruction methods from others, e.g. to guarantee the reconstructed solution is positiv
void grmhd::ValenciaDivClean::fd::reconstruct_prims_work | ( | gsl::not_null< std::array< Variables< tags_list_for_reconstruct >, 3 > * > | vars_on_lower_face, |
gsl::not_null< std::array< Variables< tags_list_for_reconstruct >, 3 > * > | vars_on_upper_face, | ||
const F & | reconstruct, | ||
const Variables< PrimsTagsVolume > & | volume_prims, | ||
const EquationsOfState::EquationOfState< true, ThermodynamicDim > & | eos, | ||
const Element< 3 > & | element, | ||
const DirectionalIdMap< 3, Variables< PrimsTagsSentByNeighbor > > & | neighbor_data, | ||
const Mesh< 3 > & | subcell_mesh, | ||
size_t | ghost_zone_size, | ||
bool | compute_conservatives | ||
) |
Reconstructs the PrimTagsForReconstruction
(usually compute_conservatives
is true computes the Lorentz factor, upper spatial velocity, specific internal energy, and the conserved variables.
All results are written into vars_on_lower_face
and vars_on_upper_face
.
The reason the PrimTagsForReconstruction
can be specified separately is because some variables might need separate reconstruction methods from others, e.g. to guarantee the reconstructed solution is positive.