49 using Tscal = shambase::VecComponent<Tvec>;
50 static constexpr u32 dim = shambase::VectorProperties<Tvec>::dimension;
53 using GhostHandleCache =
typename GhostHandle::CacheMap;
57 std::shared_ptr<shamrock::solvergraph::ExchangeGhostLayer> exchange_gz_node;
58 std::shared_ptr<shamrock::solvergraph::ExchangeGhostField<Tscal>> exchange_gz_alpha;
59 std::shared_ptr<shamrock::solvergraph::ExchangeGhostLayer> exchange_gz_positions;
62 std::shared_ptr<shamrock::solvergraph::OperationSequence> solver_sequence;
64 std::shared_ptr<shamrock::solvergraph::Indexes<u32>> part_counts;
65 std::shared_ptr<shamrock::solvergraph::Indexes<u32>> part_counts_with_ghost;
67 std::shared_ptr<shamrock::solvergraph::FieldRefs<Tvec>> positions_with_ghosts;
68 std::shared_ptr<shamrock::solvergraph::FieldRefs<Tscal>> hpart_with_ghosts;
70 std::shared_ptr<shammodels::sph::solvergraph::NeighCache> neigh_cache;
72 std::shared_ptr<shamrock::solvergraph::RankGetter> patch_rank_owner;
74 Component<SerialPatchTree<Tvec>> serial_patch_tree;
76 Component<GhostHandle> ghost_handler;
78 Component<GhostHandleCache> ghost_patch_cache;
80 Component<shambase::DistributedData<shamrock::patch::PatchDataLayer>> merged_xyzh;
82 Component<shambase::DistributedData<RTree>> merged_pos_trees;
84 Component<shambase::DistributedData<shamtree::KarrasRadixTreeField<Tscal>>>
87 std::shared_ptr<shamrock::solvergraph::Field<Tscal>> omega;
89 std::shared_ptr<shamrock::patch::PatchDataLayerLayout> ghost_layout;
90 std::shared_ptr<shamrock::patch::PatchDataLayerLayout> xyzh_ghost_layout;
92 Component<shambase::DistributedData<shamrock::patch::PatchDataLayer>>
93 merged_patchdata_ghost;
95 std::shared_ptr<shamrock::solvergraph::Field<Tscal>> alpha_av_updated;
96 Component<shambase::DistributedData<PatchDataField<Tscal>>> alpha_av_ghost;
98 std::shared_ptr<shamrock::solvergraph::Field<Tscal>> pressure;
99 std::shared_ptr<shamrock::solvergraph::Field<Tscal>> soundspeed;
101 Component<shamrock::ComputeField<Tvec>> old_axyz;
102 Component<shamrock::ComputeField<Tscal>> old_duint;
104 Component<shamrock::ComputeField<Tvec>> old_dB_on_rho;
105 Component<shamrock::ComputeField<Tscal>> old_dpsi_on_ch;
107 Component<shamrock::ComputeField<Tscal>> old_dtepsilon;
108 Component<shamrock::ComputeField<Tvec>> old_dtdeltav;
109 Component<shamrock::ComputeField<Tscal>> old_ds_j_dt;