SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
ForceFree::fd Namespace Reference

Finite difference functionality for ForceFree evolution system. More...

Classes

class  AdaptiveOrder
 Adaptive order FD reconstruction. See fd::reconstruction::positivity_preserving_adaptive_order() for details. Note that in the ForceFree evolution system no variable needs to be kept positive. More...
class  MonotonisedCentral
 Monotonised central reconstruction. See fd::reconstruction::monotonised_central() for details. More...
class  Reconstructor
 The base class from which all reconstruction schemes must inherit. More...
class  Wcns5z
 Fifth order weighted nonlinear compact scheme reconstruction using the Z oscillation indicator. See fd::reconstruction::wcns5z() for details. More...

Typedefs

using tags_list_for_reconstruction

Functions

bool operator== (const MonotonisedCentral &, const MonotonisedCentral &)
bool operator!= (const MonotonisedCentral &lhs, const MonotonisedCentral &rhs)
template<typename TagsList, typename Reconstructor>
void reconstruct_work (gsl::not_null< std::array< Variables< TagsList >, 3 > * > vars_on_lower_face, gsl::not_null< std::array< Variables< TagsList >, 3 > * > vars_on_upper_face, const Reconstructor &reconstruct, const Variables< System::variables_tag::tags_list > &volume_evolved_vars, const tnsr::I< DataVector, 3, Frame::Inertial > &volume_tilde_j, const Element< 3 > &element, const DirectionalIdMap< 3, evolution::dg::subcell::GhostData > &neighbor_data, const Mesh< 3 > &subcell_mesh, const size_t ghost_zone_size)
 Reconstructs the evolved variables \(\tilde{E}^i, \tilde{B}^i, \tilde{\psi}, \tilde{\phi}, \tilde{q}\) and the generalized electric current density \(\tilde{J}^i\). All results are written into vars_on_lower_face and vars_on_upper_face.
template<typename TagsList, typename ReconstructLower, typename ReconstructUpper>
void reconstruct_fd_neighbor_work (gsl::not_null< Variables< TagsList > * > vars_on_face, const ReconstructLower &reconstruct_lower_neighbor, const ReconstructUpper &reconstruct_upper_neighbor, const Variables< System::variables_tag::tags_list > &subcell_volume_evolved_vars, const tnsr::I< DataVector, 3, Frame::Inertial > &subcell_volume_tilde_j, 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)
 Reconstructs the evolved variables \(\tilde{E}^i, \tilde{B}^i, \tilde{\psi}, \tilde{\phi}, \tilde{q}\) and the generalized electric current density \(\tilde{J}^i\).
void register_derived_with_charm ()

Detailed Description

Finite difference functionality for ForceFree evolution system.

Typedef Documentation

◆ tags_list_for_reconstruction

using ForceFree::fd::tags_list_for_reconstruction
Initial value:
The densitized magnetic field .
Definition Tags.hpp:77
The densitized electric field .
Definition Tags.hpp:70
The densitized electric current density .
Definition Tags.hpp:109
The densitized divergence cleaning field associated with the magnetic field.
Definition Tags.hpp:93
The densitized divergence cleaning field associated with the electric field.
Definition Tags.hpp:85
The densitized electric charge density .
Definition Tags.hpp:101

Function Documentation

◆ reconstruct_fd_neighbor_work()

template<typename TagsList, typename ReconstructLower, typename ReconstructUpper>
void ForceFree::fd::reconstruct_fd_neighbor_work ( gsl::not_null< Variables< TagsList > * > vars_on_face,
const ReconstructLower & reconstruct_lower_neighbor,
const ReconstructUpper & reconstruct_upper_neighbor,
const Variables< System::variables_tag::tags_list > & subcell_volume_evolved_vars,
const tnsr::I< DataVector, 3, Frame::Inertial > & subcell_volume_tilde_j,
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 )

Reconstructs the evolved variables \(\tilde{E}^i, \tilde{B}^i, \tilde{\psi}, \tilde{\phi}, \tilde{q}\) and the generalized electric current density \(\tilde{J}^i\).

All results are written into vars_on_face.

This is used on DG elements to reconstruct their subcell neighbors' solution on the shared faces.