Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Classes | Public Types | Public Attributes | Static Public Attributes | List of all members
shammodels::gsph::SolverStorage< Tvec, Tmorton > Struct Template Reference

Runtime storage for GSPH solver. More...

#include <shammodels/gsph/include/shammodels/gsph/modules/SolverStorage.hpp>

+ Collaboration diagram for shammodels::gsph::SolverStorage< Tvec, Tmorton >:

Classes

struct  Timings
 Timing statistics. More...
 

Public Types

using Tscal = shambase::VecComponent< Tvec >
 
using GhostHandle = gsph::GSPHGhostHandler< Tvec >
 
using GhostHandleCache = typename GhostHandle::CacheMap
 
using RTree = shamtree::CompressedLeafBVH< Tmorton, Tvec, 3 >
 

Public Attributes

shamrock::solvergraph::SolverGraph solver_graph
 
std::shared_ptr< shamrock::solvergraph::Indexes< u32 > > part_counts
 Particle counts per patch.
 
std::shared_ptr< shamrock::solvergraph::Indexes< u32 > > part_counts_with_ghost
 
std::shared_ptr< shamrock::solvergraph::FieldRefs< Tvec > > positions_with_ghosts
 Position and smoothing length fields with ghosts.
 
std::shared_ptr< shamrock::solvergraph::FieldRefs< Tscal > > hpart_with_ghosts
 
std::shared_ptr< shammodels::sph::solvergraph::NeighCacheneigh_cache
 Neighbor cache - uses shamrock's tree-based neighbor search.
 
std::shared_ptr< shamrock::solvergraph::RankGetterpatch_rank_owner
 Patch rank ownership.
 
Component< SerialPatchTree< Tvec > > serial_patch_tree
 Serial patch tree for load balancing.
 
std::shared_ptr< solvergraph::GhostHandlerEdge< Tvec > > ghost_handler
 Ghost handler for boundary particles.
 
Component< GhostHandleCache > ghost_patch_cache
 
Component< shambase::DistributedData< shamrock::patch::PatchDataLayer > > merged_xyzh
 Merged position-h data for neighbor search.
 
Component< shambase::DistributedData< RTree > > merged_pos_trees
 Radix trees for neighbor search.
 
Component< shambase::DistributedData< shamtree::KarrasRadixTreeField< Tscal > > > rtree_rint_field
 
std::shared_ptr< shamrock::solvergraph::Field< Tscal > > omega
 Grad-h correction factor (Omega)
 
std::shared_ptr< shamrock::patch::PatchDataLayerLayoutxyzh_ghost_layout
 Ghost data layout and merged data.
 
std::shared_ptr< shamrock::patch::PatchDataLayerLayoutghost_layout
 
Component< shambase::DistributedData< shamrock::patch::PatchDataLayer > > merged_patchdata_ghost
 
std::shared_ptr< shamrock::solvergraph::Field< Tscal > > density
 Density field computed via SPH summation.
 
std::shared_ptr< shamrock::solvergraph::Field< Tscal > > pressure
 Thermodynamic fields computed from EOS.
 
std::shared_ptr< shamrock::solvergraph::Field< Tscal > > soundspeed
 
std::shared_ptr< shamrock::solvergraph::Field< Tvec > > grad_density
 \nabla \rho
 
std::shared_ptr< shamrock::solvergraph::Field< Tvec > > grad_pressure
 \nabla P
 
std::shared_ptr< shamrock::solvergraph::Field< Tvec > > grad_vx
 \nabla v_x
 
std::shared_ptr< shamrock::solvergraph::Field< Tvec > > grad_vy
 \nabla v_y
 
std::shared_ptr< shamrock::solvergraph::Field< Tvec > > grad_vz
 \nabla v_z
 
Tscal h_per_cs_min = std::numeric_limits<Tscal>::max()
 
Component< shamrock::ComputeField< Tvec > > old_axyz
 Old derivatives for predictor-corrector integration.
 
Component< shamrock::ComputeField< Tscal > > old_duint
 
struct shammodels::gsph::SolverStorage::Timings timings_details
 

Static Public Attributes

static constexpr u32 dim = shambase::VectorProperties<Tvec>::dimension
 

Detailed Description

template<class Tvec, class Tmorton>
struct shammodels::gsph::SolverStorage< Tvec, Tmorton >

Runtime storage for GSPH solver.

Stores all temporary data needed during GSPH simulation steps:

Template Parameters
TvecVector type (e.g., f64_3)
TmortonMorton code type for tree construction

Definition at line 66 of file SolverStorage.hpp.

Member Typedef Documentation

◆ GhostHandle

template<class Tvec , class Tmorton >
using shammodels::gsph::SolverStorage< Tvec, Tmorton >::GhostHandle = gsph::GSPHGhostHandler<Tvec>

Definition at line 71 of file SolverStorage.hpp.

◆ GhostHandleCache

template<class Tvec , class Tmorton >
using shammodels::gsph::SolverStorage< Tvec, Tmorton >::GhostHandleCache = typename GhostHandle::CacheMap

Definition at line 72 of file SolverStorage.hpp.

◆ RTree

template<class Tvec , class Tmorton >
using shammodels::gsph::SolverStorage< Tvec, Tmorton >::RTree = shamtree::CompressedLeafBVH<Tmorton, Tvec, 3>

Definition at line 74 of file SolverStorage.hpp.

◆ Tscal

template<class Tvec , class Tmorton >
using shammodels::gsph::SolverStorage< Tvec, Tmorton >::Tscal = shambase::VecComponent<Tvec>

Definition at line 67 of file SolverStorage.hpp.

Member Data Documentation

◆ density

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::Field<Tscal> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::density

Density field computed via SPH summation.

Definition at line 117 of file SolverStorage.hpp.

◆ dim

template<class Tvec , class Tmorton >
constexpr u32 shammodels::gsph::SolverStorage< Tvec, Tmorton >::dim = shambase::VectorProperties<Tvec>::dimension
staticconstexpr

Definition at line 68 of file SolverStorage.hpp.

◆ ghost_handler

template<class Tvec , class Tmorton >
std::shared_ptr<solvergraph::GhostHandlerEdge<Tvec> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::ghost_handler

Ghost handler for boundary particles.

Definition at line 96 of file SolverStorage.hpp.

◆ ghost_layout

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::patch::PatchDataLayerLayout> shammodels::gsph::SolverStorage< Tvec, Tmorton >::ghost_layout

Definition at line 112 of file SolverStorage.hpp.

◆ ghost_patch_cache

template<class Tvec , class Tmorton >
Component<GhostHandleCache> shammodels::gsph::SolverStorage< Tvec, Tmorton >::ghost_patch_cache

Definition at line 97 of file SolverStorage.hpp.

◆ grad_density

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::Field<Tvec> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::grad_density

\nabla \rho

Gradient fields for MUSCL reconstruction (2nd order) These are computed when ReconstructConfig::is_muscl() is true

Definition at line 125 of file SolverStorage.hpp.

◆ grad_pressure

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::Field<Tvec> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::grad_pressure

\nabla P

Definition at line 126 of file SolverStorage.hpp.

◆ grad_vx

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::Field<Tvec> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::grad_vx

\nabla v_x

Definition at line 127 of file SolverStorage.hpp.

◆ grad_vy

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::Field<Tvec> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::grad_vy

\nabla v_y

Definition at line 128 of file SolverStorage.hpp.

◆ grad_vz

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::Field<Tvec> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::grad_vz

\nabla v_z

Definition at line 129 of file SolverStorage.hpp.

◆ h_per_cs_min

template<class Tvec , class Tmorton >
Tscal shammodels::gsph::SolverStorage< Tvec, Tmorton >::h_per_cs_min = std::numeric_limits<Tscal>::max()

Minimum h/c_s for CFL timestep calculation For pure GSPH hydrodynamics: dt_CFL = C_cour * h / c_s

Definition at line 133 of file SolverStorage.hpp.

◆ hpart_with_ghosts

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::FieldRefs<Tscal> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::hpart_with_ghosts

Definition at line 84 of file SolverStorage.hpp.

◆ merged_patchdata_ghost

template<class Tvec , class Tmorton >
Component<shambase::DistributedData<shamrock::patch::PatchDataLayer> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::merged_patchdata_ghost

Definition at line 114 of file SolverStorage.hpp.

◆ merged_pos_trees

template<class Tvec , class Tmorton >
Component<shambase::DistributedData<RTree> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::merged_pos_trees

Radix trees for neighbor search.

Definition at line 103 of file SolverStorage.hpp.

◆ merged_xyzh

template<class Tvec , class Tmorton >
Component<shambase::DistributedData<shamrock::patch::PatchDataLayer> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::merged_xyzh

Merged position-h data for neighbor search.

Definition at line 100 of file SolverStorage.hpp.

◆ neigh_cache

template<class Tvec , class Tmorton >
std::shared_ptr<shammodels::sph::solvergraph::NeighCache> shammodels::gsph::SolverStorage< Tvec, Tmorton >::neigh_cache

Neighbor cache - uses shamrock's tree-based neighbor search.

Definition at line 87 of file SolverStorage.hpp.

◆ old_axyz

template<class Tvec , class Tmorton >
Component<shamrock::ComputeField<Tvec> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::old_axyz

Old derivatives for predictor-corrector integration.

Definition at line 136 of file SolverStorage.hpp.

◆ old_duint

template<class Tvec , class Tmorton >
Component<shamrock::ComputeField<Tscal> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::old_duint

Definition at line 137 of file SolverStorage.hpp.

◆ omega

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::Field<Tscal> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::omega

Grad-h correction factor (Omega)

Definition at line 108 of file SolverStorage.hpp.

◆ part_counts

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::Indexes<u32> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::part_counts

Particle counts per patch.

Definition at line 79 of file SolverStorage.hpp.

◆ part_counts_with_ghost

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::Indexes<u32> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::part_counts_with_ghost

Definition at line 80 of file SolverStorage.hpp.

◆ patch_rank_owner

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::RankGetter> shammodels::gsph::SolverStorage< Tvec, Tmorton >::patch_rank_owner

Patch rank ownership.

Definition at line 90 of file SolverStorage.hpp.

◆ positions_with_ghosts

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::FieldRefs<Tvec> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::positions_with_ghosts

Position and smoothing length fields with ghosts.

Definition at line 83 of file SolverStorage.hpp.

◆ pressure

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::Field<Tscal> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::pressure

Thermodynamic fields computed from EOS.

Definition at line 120 of file SolverStorage.hpp.

◆ rtree_rint_field

template<class Tvec , class Tmorton >
Component<shambase::DistributedData<shamtree::KarrasRadixTreeField<Tscal> > > shammodels::gsph::SolverStorage< Tvec, Tmorton >::rtree_rint_field

Definition at line 105 of file SolverStorage.hpp.

◆ serial_patch_tree

template<class Tvec , class Tmorton >
Component<SerialPatchTree<Tvec> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::serial_patch_tree

Serial patch tree for load balancing.

Definition at line 93 of file SolverStorage.hpp.

◆ solver_graph

template<class Tvec , class Tmorton >
shamrock::solvergraph::SolverGraph shammodels::gsph::SolverStorage< Tvec, Tmorton >::solver_graph

Definition at line 76 of file SolverStorage.hpp.

◆ soundspeed

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::solvergraph::Field<Tscal> > shammodels::gsph::SolverStorage< Tvec, Tmorton >::soundspeed

Definition at line 121 of file SolverStorage.hpp.

◆ xyzh_ghost_layout

template<class Tvec , class Tmorton >
std::shared_ptr<shamrock::patch::PatchDataLayerLayout> shammodels::gsph::SolverStorage< Tvec, Tmorton >::xyzh_ghost_layout

Ghost data layout and merged data.

Definition at line 111 of file SolverStorage.hpp.


The documentation for this struct was generated from the following file: