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

Finite difference functionality for ScalarAdvection system. More...

Classes

class  AoWeno53
 Adaptive-order WENO reconstruction hybridizing orders 5 and 3. See fd::reconstruction::aoweno_53() for details. 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...

Functions

template<size_t Dim>
bool operator== (const AoWeno53< Dim > &lhs, const AoWeno53< Dim > &rhs)
template<size_t Dim>
bool operator!= (const AoWeno53< Dim > &lhs, const AoWeno53< Dim > &rhs)
template<size_t Dim>
bool operator== (const MonotonisedCentral< Dim > &, const MonotonisedCentral< Dim > &)
template<size_t Dim>
bool operator!= (const MonotonisedCentral< Dim > &lhs, const MonotonisedCentral< Dim > &rhs)
template<size_t Dim, typename TagsList, typename Reconstructor>
void reconstruct_work (gsl::not_null< std::array< Variables< TagsList >, Dim > * > vars_on_lower_face, gsl::not_null< std::array< Variables< TagsList >, Dim > * > vars_on_upper_face, const Reconstructor &reconstruct, const Variables< tmpl::list< Tags::U > > volume_vars, const Element< Dim > &element, const DirectionalIdMap< Dim, evolution::dg::subcell::GhostData > &ghost_data, const Mesh< Dim > &subcell_mesh, const size_t ghost_zone_size)
 Reconstructs the scalar field \(U\). All results are written into vars_on_lower_face and vars_on_upper_face.
template<size_t Dim, 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< tmpl::list< Tags::U > > &subcell_volume_vars, const Element< Dim > &element, const DirectionalIdMap< Dim, evolution::dg::subcell::GhostData > &ghost_data, const Mesh< Dim > &subcell_mesh, const Direction< Dim > &direction_to_reconstruct, const size_t ghost_zone_size)
 Reconstructs the scalar field \(U\) for a given direction. All results are written into vars_on_face.
void register_derived_with_charm ()

Detailed Description

Finite difference functionality for ScalarAdvection system.

Function Documentation

◆ reconstruct_fd_neighbor_work()

template<size_t Dim, typename TagsList, typename ReconstructLower, typename ReconstructUpper>
void ScalarAdvection::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< tmpl::list< Tags::U > > & subcell_volume_vars,
const Element< Dim > & element,
const DirectionalIdMap< Dim, evolution::dg::subcell::GhostData > & ghost_data,
const Mesh< Dim > & subcell_mesh,
const Direction< Dim > & direction_to_reconstruct,
const size_t ghost_zone_size )

Reconstructs the scalar field \(U\) for a given direction. All results are written into vars_on_face.

This is used on DG elements to reconstruct \(U\) with their subcell neighbors' solution (ghost data received) on the shared faces.