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  FluxCompute
class  DustFluxCompute
class  ComputeLevel0CellSize
class  NodeComputeMass
class  NodeComputeSumOverV
class  NodeConsToPrimDust
class  NodeConsToPrimGas
class  DragIntegrator
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 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<RiemannSolverMode mode, class Tvec, class Tscal, Direction dir>
void compute_fluxes_dir (sham::DeviceQueue &q, u32 link_count, sham::DeviceBuffer< std::array< Tscal, 2 > > &rho_face_dir, sham::DeviceBuffer< std::array< Tvec, 2 > > &vel_face_dir, sham::DeviceBuffer< std::array< Tscal, 2 > > &press_face_dir, sham::DeviceBuffer< Tscal > &flux_rho_face_dir, sham::DeviceBuffer< Tvec > &flux_rhov_face_dir, sham::DeviceBuffer< Tscal > &flux_rhoe_face_dir, Tscal gamma)
template<DustRiemannSolverMode mode, class Tvec, class Tscal, Direction dir>
void dust_compute_fluxes_dir (sham::DeviceQueue &q, u32 link_count, sham::DeviceBuffer< std::array< Tscal, 2 > > &rho_dust_dir, sham::DeviceBuffer< std::array< Tvec, 2 > > &vel_dust_dir, sham::DeviceBuffer< Tscal > &flux_rho_dust_dir, sham::DeviceBuffer< Tvec > &flux_rhov_dust_dir, u32 nvar)
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.

◆ Direction

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

Definition at line 31 of file ComputeFluxUtilities.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 29 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_fluxes_dir()

template<RiemannSolverMode mode, class Tvec, class Tscal, Direction dir>
void shammodels::basegodunov::modules::compute_fluxes_dir ( sham::DeviceQueue & q,
u32 link_count,
sham::DeviceBuffer< std::array< Tscal, 2 > > & rho_face_dir,
sham::DeviceBuffer< std::array< Tvec, 2 > > & vel_face_dir,
sham::DeviceBuffer< std::array< Tscal, 2 > > & press_face_dir,
sham::DeviceBuffer< Tscal > & flux_rho_face_dir,
sham::DeviceBuffer< Tvec > & flux_rhov_face_dir,
sham::DeviceBuffer< Tscal > & flux_rhoe_face_dir,
Tscal gamma )

Definition at line 166 of file ComputeFluxUtilities.hpp.

◆ 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.

◆ dust_compute_fluxes_dir()

template<DustRiemannSolverMode mode, class Tvec, class Tscal, Direction dir>
void shammodels::basegodunov::modules::dust_compute_fluxes_dir ( sham::DeviceQueue & q,
u32 link_count,
sham::DeviceBuffer< std::array< Tscal, 2 > > & rho_dust_dir,
sham::DeviceBuffer< std::array< Tvec, 2 > > & vel_dust_dir,
sham::DeviceBuffer< Tscal > & flux_rho_dust_dir,
sham::DeviceBuffer< Tvec > & flux_rhov_dust_dir,
u32 nvar )

Definition at line 244 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.

◆ 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.