67 using Tscal = shambase::VecComponent<Tvec>;
68 static constexpr u32 dim = shambase::VectorProperties<Tvec>::dimension;
72 using GhostHandleCache =
typename GhostHandle::CacheMap;
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;
97 Component<GhostHandleCache> ghost_patch_cache;
100 Component<shambase::DistributedData<shamrock::patch::PatchDataLayer>>
merged_xyzh;
104 Component<shambase::DistributedData<shamtree::KarrasRadixTreeField<Tscal>>>
108 std::shared_ptr<shamrock::solvergraph::Field<Tscal>>
omega;
112 std::shared_ptr<shamrock::patch::PatchDataLayerLayout> ghost_layout;
113 Component<shambase::DistributedData<shamrock::patch::PatchDataLayer>>
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;
137 Component<shamrock::ComputeField<Tscal>> old_duint;
146 void reset() { *
this = {}; }