50 using Tscal = shambase::VecComponent<Tvec>;
51 static constexpr u32 dim = shambase::VectorProperties<Tvec>::dimension;
54 using GhostHandleCache =
typename GhostHandle::CacheMap;
58 std::shared_ptr<shamrock::solvergraph::ExchangeGhostLayer> exchange_gz_node;
59 std::shared_ptr<shamrock::solvergraph::ExchangeGhostField<Tscal>> exchange_gz_alpha;
60 std::shared_ptr<shamrock::solvergraph::ExchangeGhostLayer> exchange_gz_positions;
63 std::shared_ptr<shamrock::solvergraph::OperationSequence> solver_sequence;
65 std::shared_ptr<shamrock::solvergraph::Indexes<u32>> part_counts;
66 std::shared_ptr<shamrock::solvergraph::Indexes<u32>> part_counts_with_ghost;
68 std::shared_ptr<shamrock::solvergraph::FieldRefs<Tvec>> positions_with_ghosts;
69 std::shared_ptr<shamrock::solvergraph::FieldRefs<Tscal>> hpart_with_ghosts;
71 std::shared_ptr<shammodels::sph::solvergraph::NeighCache> neigh_cache;
73 std::shared_ptr<shamrock::solvergraph::RankGetter> patch_rank_owner;
75 Component<SerialPatchTree<Tvec>> serial_patch_tree;
77 Component<GhostHandle> ghost_handler;
79 Component<GhostHandleCache> ghost_patch_cache;
81 Component<shambase::DistributedData<shamrock::patch::PatchDataLayer>> merged_xyzh;
83 Component<shambase::DistributedData<RTree>> merged_pos_trees;
85 Component<shambase::DistributedData<shamtree::KarrasRadixTreeField<Tscal>>>
88 std::shared_ptr<shamrock::solvergraph::Field<Tscal>> omega;
90 std::shared_ptr<shamrock::patch::PatchDataLayerLayout> ghost_layout;
91 std::shared_ptr<shamrock::patch::PatchDataLayerLayout> xyzh_ghost_layout;
93 Component<shambase::DistributedData<shamrock::patch::PatchDataLayer>>
94 merged_patchdata_ghost;
96 std::shared_ptr<shamrock::solvergraph::Field<Tscal>> alpha_av_updated;
97 Component<shambase::DistributedData<PatchDataField<Tscal>>> alpha_av_ghost;
99 std::shared_ptr<shamrock::solvergraph::Field<Tscal>> pressure;
100 std::shared_ptr<shamrock::solvergraph::Field<Tscal>> soundspeed;
102 Component<shamrock::ComputeField<Tvec>> old_axyz;
103 Component<shamrock::ComputeField<Tscal>> old_duint;
105 Component<shamrock::ComputeField<Tvec>> old_dB_on_rho;
106 Component<shamrock::ComputeField<Tscal>> old_dpsi_on_ch;
108 Component<shamrock::ComputeField<Tscal>> old_dtepsilon;
109 Component<shamrock::ComputeField<Tvec>> old_dtdeltav;
110 Component<shamrock::ComputeField<Tscal>> old_ds_j_dt;
112 Component<std::vector<SinkParticle<Tvec>>> sinks;