48namespace shammodels::gsph {
65 template<
class Tvec,
class Tmorton>
67 using Tscal = shambase::VecComponent<Tvec>;
79 std::shared_ptr<shamrock::solvergraph::Indexes<u32>>
part_counts;
80 std::shared_ptr<shamrock::solvergraph::Indexes<u32>> part_counts_with_ghost;
84 std::shared_ptr<shamrock::solvergraph::FieldRefs<Tscal>> hpart_with_ghosts;
87 std::shared_ptr<shammodels::sph::solvergraph::NeighCache>
neigh_cache;
108 std::shared_ptr<shamrock::solvergraph::Field<Tscal>>
omega;
112 std::shared_ptr<shamrock::patch::PatchDataLayerLayout> ghost_layout;
114 merged_patchdata_ghost;
117 std::shared_ptr<shamrock::solvergraph::Field<Tscal>>
density;
120 std::shared_ptr<shamrock::solvergraph::Field<Tscal>>
pressure;
121 std::shared_ptr<shamrock::solvergraph::Field<Tscal>> soundspeed;
127 std::shared_ptr<shamrock::solvergraph::Field<Tvec>>
grad_vx;
128 std::shared_ptr<shamrock::solvergraph::Field<Tvec>>
grad_vy;
129 std::shared_ptr<shamrock::solvergraph::Field<Tvec>>
grad_vz;
146 void reset() { *
this = {}; }
GSPH-specific ghost handler using Newtonian physics field names.
SolverGraph edge for GSPH ghost handler.
Declare a class to register and retrieve nodes and edges from a unique container.
double f64
Alias for double.
std::uint32_t u32
32 bit unsigned integer
Container for objects shared between two distributed data elements.
Helper class for Storage Module of any solver.
A graph container for managing solver nodes and edges with type-safe access.
A Compressed Leaf Bounding Volume Hierarchy (CLBVH) for neighborhood queries.
This file contains the definition for the stacktrace related functionality.
f64 riemann
Time spent in Riemann solver.
Runtime storage for GSPH solver.
std::shared_ptr< shamrock::solvergraph::Field< Tvec > > grad_vx
\nabla v_x
std::shared_ptr< shamrock::solvergraph::Field< Tvec > > grad_pressure
\nabla P
std::shared_ptr< shamrock::solvergraph::RankGetter > patch_rank_owner
Patch rank ownership.
std::shared_ptr< shamrock::patch::PatchDataLayerLayout > xyzh_ghost_layout
Ghost data layout and merged data.
std::shared_ptr< shamrock::solvergraph::Field< Tscal > > density
Density field computed via SPH summation.
std::shared_ptr< shamrock::solvergraph::Field< Tscal > > omega
Grad-h correction factor (Omega)
std::shared_ptr< shamrock::solvergraph::Field< Tscal > > pressure
Thermodynamic fields computed from EOS.
std::shared_ptr< shamrock::solvergraph::Field< Tvec > > grad_vz
\nabla v_z
Component< shambase::DistributedData< RTree > > merged_pos_trees
Radix trees for neighbor search.
std::shared_ptr< shamrock::solvergraph::Indexes< u32 > > part_counts
Particle counts per patch.
Component< SerialPatchTree< Tvec > > serial_patch_tree
Serial patch tree for load balancing.
std::shared_ptr< shamrock::solvergraph::Field< Tvec > > grad_density
\nabla \rho
std::shared_ptr< shammodels::sph::solvergraph::NeighCache > neigh_cache
Neighbor cache - uses shamrock's tree-based neighbor search.
std::shared_ptr< solvergraph::GhostHandlerEdge< Tvec > > ghost_handler
Ghost handler for boundary particles.
Component< shamrock::ComputeField< Tvec > > old_axyz
Old derivatives for predictor-corrector integration.
Component< shambase::DistributedData< shamrock::patch::PatchDataLayer > > merged_xyzh
Merged position-h data for neighbor search.
std::shared_ptr< shamrock::solvergraph::FieldRefs< Tvec > > positions_with_ghosts
Position and smoothing length fields with ghosts.
std::shared_ptr< shamrock::solvergraph::Field< Tvec > > grad_vy
\nabla v_y