Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shammodels::basegodunov::modules Namespace Reference

namespace for the basegodunov model modules More...

Classes

struct  CellInfos
struct  NeighGraph
struct  OrientedAMRGraph
class  NeighGraphLinkField
class  AMRGridRefinementHandler
class  AMRSetup
class  AMRSortBlocks
class  AnalysisSodTube
class  BlockNeighToCellNeigh
class  CGInit
class  ComputeAMRLevel
class  NodeComputeCellAABB
class  ComputeCFL
class  NodeComputeCoordinates
class  ComputeLevel0CellSize
class  NodeComputeMass
class  NodeComputeSumOverV
class  NodeConsToPrimDust
class  NodeConsToPrimGas
class  DragIntegrator
class  NodeEulerTimeDerivativeDust
 Compute the Euler time derivatives of the dust primitive state per cell. More...
class  NodeEulerTimeDerivativeGas
 Compute the Euler time derivatives of the gas primitive state per cell. More...
class  ExtractGhostLayer
class  FindBlockNeigh
struct  GhostLayerGenMode
struct  GhostLayerCandidateInfos
class  FindGhostLayerCandidates
class  FindGhostLayerIndices
class  FuseGhostLayer
class  InterpolateToFaceRho
class  InterpolateToFaceVel
class  InterpolateToFacePress
class  InterpolateToFaceRhoDust
class  InterpolateToFaceVelDust
class  NodeBuildTrees
class  NodeComputeFluxGasDirMode
class  NodeComputeFluxDustDirMode
class  NodeComputeFluxGasMode
class  NodeComputeFluxDustMode
class  ResidualDot
class  SlopeLimitedScalarGradient
class  SlopeLimitedVectorGradient
class  NodeSumFluxDust
class  NodeSumFluxHydro
class  TimeIntegrator
class  TransformGhostLayer

Typedefs

using AMRGraph = NeighGraph
using Direction_ = shammodels::basegodunov::modules::Direction
using AMRGraphLinkiterator = shammodels::basegodunov::modules::AMRGraph::ro_access
using RiemannSolverMode = shammodels::basegodunov::RiemannSolverMode
using DustRiemannSolverMode = shammodels::basegodunov::DustRiemannSolverMode
using Direction = shammodels::basegodunov::modules::Direction
template<class T>
using NGLink = shammodels::basegodunov::modules::NeighGraphLinkField<T>

Enumerations

enum  Direction {
  xp = 0 , xm = 1 , yp = 2 , ym = 3 ,
  zp = 4 , zm = 5
}
enum class  GhostType { None , Periodic , Reflective }

Functions

template<class LinkFieldCompute, class T>
void ddupdate_link_field (sham::DeviceScheduler_ptr dev_sched, shambase::DistributedData< NeighGraphLinkField< T > > &neigh_graph_field, shambase::DistributedData< NeighGraph > &graph, shambase::DistributedData< LinkFieldCompute > &fcomp)
template<class LinkFieldCompute, class T, class... Args>
void update_link_field (sham::DeviceQueue &q, sham::EventList &depends_list, sham::EventList &result_list, NeighGraphLinkField< T > &neigh_graph_field, NeighGraph &graph, Args &&...args)
template<class LinkFieldCompute, class T, class... Args>
void update_link_field_indep_nvar (sham::DeviceQueue &q, sham::EventList &depends_list, sham::EventList &result_list, NeighGraphLinkField< T > &neigh_graph_field, NeighGraph &graph, u32 nvar, Args &&...args)
template<class LinkFieldCompute, class T, class... Args>
NeighGraphLinkField< T > compute_link_field (sham::DeviceQueue &q, sham::EventList &depends_list, sham::EventList &result_list, NeighGraph &graph, Args &&...args)
template<class LinkFieldCompute, class T, class... Args>
NeighGraphLinkField< T > compute_link_field_indep_nvar (sham::DeviceQueue &q, sham::EventList &depends_list, sham::EventList &result_list, NeighGraph &graph, u32 nvar, Args &&...args)
template<class Tvec, Direction dir>
constexpr Tvec dir_normal ()
 Unit normal vector of a face pointing in the given direction.
template<shammath::FluidStateAdiabaticSpec FSpec, RiemannSolverMode mode, Direction dir>
constexpr FSpec::Tcons riemann_flux (const FSpec &fspec, const typename FSpec::Tprim &prim_l, const typename FSpec::Tprim &prim_r)
 Dispatch to the gas Riemann solver selected by mode, for a face with unit normal along dir. The fluid state spec is supplied by the caller (see NodeComputeFlux.cpp) rather than constructed here.
template<shammath::DustFluidStateSpec FSpec, DustRiemannSolverMode mode, Direction dir>
constexpr FSpec::Tcons riemann_dust_flux (const FSpec &fspec, const typename FSpec::Tprim &prim_l, const typename FSpec::Tprim &prim_r)
 Dispatch to the dust Riemann solver selected by mode, for a face with unit normal along dir. The dust fluid state spec is supplied by the caller (see NodeComputeFlux.cpp) rather than constructed here.
template<class TgridVec>
shammath::paving_function_general_3d< TgridVec > get_paving (GhostLayerGenMode mode, shammath::AABB< TgridVec > sim_box)
template<class Func>
void for_each_paving_tile (GhostLayerGenMode mode, Func &&func)

Detailed Description

namespace for the basegodunov model modules

Typedef Documentation

◆ AMRGraph

using shammodels::basegodunov::modules::AMRGraph = NeighGraph

Definition at line 116 of file NeighGraph.hpp.

◆ AMRGraphLinkiterator

using shammodels::basegodunov::modules::AMRGraphLinkiterator = shammodels::basegodunov::modules::AMRGraph::ro_access

Definition at line 29 of file AMRGridRefinementHandler.hpp.

◆ Direction

using shammodels::basegodunov::modules::Direction = shammodels::basegodunov::modules::Direction

Definition at line 29 of file ComputeFluxUtilities.hpp.

◆ Direction_

using shammodels::basegodunov::modules::Direction_ = shammodels::basegodunov::modules::Direction

Definition at line 28 of file AMRGridRefinementHandler.hpp.

◆ DustRiemannSolverMode

◆ NGLink

template<class T>
using shammodels::basegodunov::modules::NGLink = shammodels::basegodunov::modules::NeighGraphLinkField<T>

Definition at line 61 of file SumFluxDust.hpp.

◆ RiemannSolverMode

using shammodels::basegodunov::modules::RiemannSolverMode = shammodels::basegodunov::RiemannSolverMode

Definition at line 27 of file ComputeFluxUtilities.hpp.

Enumeration Type Documentation

◆ Direction

enum shammodels::basegodunov::modules::Direction

Definition at line 118 of file NeighGraph.hpp.

◆ GhostType

enum class shammodels::basegodunov::modules::GhostType
strong

Definition at line 33 of file FindGhostLayerCandidates.hpp.

Function Documentation

◆ compute_link_field()

template<class LinkFieldCompute, class T, class... Args>
NeighGraphLinkField< T > shammodels::basegodunov::modules::compute_link_field ( sham::DeviceQueue & q,
sham::EventList & depends_list,
sham::EventList & result_list,
NeighGraph & graph,
Args &&... args )

Definition at line 175 of file NeighGraphLinkField.hpp.

◆ compute_link_field_indep_nvar()

template<class LinkFieldCompute, class T, class... Args>
NeighGraphLinkField< T > shammodels::basegodunov::modules::compute_link_field_indep_nvar ( sham::DeviceQueue & q,
sham::EventList & depends_list,
sham::EventList & result_list,
NeighGraph & graph,
u32 nvar,
Args &&... args )

Definition at line 206 of file NeighGraphLinkField.hpp.

◆ ddupdate_link_field()

template<class LinkFieldCompute, class T>
void shammodels::basegodunov::modules::ddupdate_link_field ( sham::DeviceScheduler_ptr dev_sched,
shambase::DistributedData< NeighGraphLinkField< T > > & neigh_graph_field,
shambase::DistributedData< NeighGraph > & graph,
shambase::DistributedData< LinkFieldCompute > & fcomp )
inline

Definition at line 80 of file NeighGraphLinkField.hpp.

◆ dir_normal()

template<class Tvec, Direction dir>
Tvec shammodels::basegodunov::modules::dir_normal ( )
inlineconstexpr

Unit normal vector of a face pointing in the given direction.

Definition at line 35 of file ComputeFluxUtilities.hpp.

◆ for_each_paving_tile()

template<class Func>
void shammodels::basegodunov::modules::for_each_paving_tile ( GhostLayerGenMode mode,
Func && func )

Definition at line 68 of file FindGhostLayerCandidates.hpp.

◆ get_paving()

template<class TgridVec>
shammath::paving_function_general_3d< TgridVec > shammodels::basegodunov::modules::get_paving ( GhostLayerGenMode mode,
shammath::AABB< TgridVec > sim_box )

Definition at line 42 of file FindGhostLayerCandidates.hpp.

◆ riemann_dust_flux()

template<shammath::DustFluidStateSpec FSpec, DustRiemannSolverMode mode, Direction dir>
FSpec::Tcons shammodels::basegodunov::modules::riemann_dust_flux ( const FSpec & fspec,
const typename FSpec::Tprim & prim_l,
const typename FSpec::Tprim & prim_r )
inlineconstexpr

Dispatch to the dust Riemann solver selected by mode, for a face with unit normal along dir. The dust fluid state spec is supplied by the caller (see NodeComputeFlux.cpp) rather than constructed here.

Definition at line 83 of file ComputeFluxUtilities.hpp.

Here is the call graph for this function:

◆ riemann_flux()

template<shammath::FluidStateAdiabaticSpec FSpec, RiemannSolverMode mode, Direction dir>
FSpec::Tcons shammodels::basegodunov::modules::riemann_flux ( const FSpec & fspec,
const typename FSpec::Tprim & prim_l,
const typename FSpec::Tprim & prim_r )
inlineconstexpr

Dispatch to the gas Riemann solver selected by mode, for a face with unit normal along dir. The fluid state spec is supplied by the caller (see NodeComputeFlux.cpp) rather than constructed here.

Definition at line 60 of file ComputeFluxUtilities.hpp.

Here is the call graph for this function:

◆ update_link_field()

template<class LinkFieldCompute, class T, class... Args>
void shammodels::basegodunov::modules::update_link_field ( sham::DeviceQueue & q,
sham::EventList & depends_list,
sham::EventList & result_list,
NeighGraphLinkField< T > & neigh_graph_field,
NeighGraph & graph,
Args &&... args )
inline

Definition at line 106 of file NeighGraphLinkField.hpp.

◆ update_link_field_indep_nvar()

template<class LinkFieldCompute, class T, class... Args>
void shammodels::basegodunov::modules::update_link_field_indep_nvar ( sham::DeviceQueue & q,
sham::EventList & depends_list,
sham::EventList & result_list,
NeighGraphLinkField< T > & neigh_graph_field,
NeighGraph & graph,
u32 nvar,
Args &&... args )
inline

Definition at line 137 of file NeighGraphLinkField.hpp.