28 using Tscal = shambase::VecComponent<Tvec>;
29 using Tgridscal = shambase::VecComponent<TgridVec>;
30 static constexpr u32 dim = shambase::VectorProperties<Tvec>::dimension;
36 Config &solver_config;
39 GhostZones(
ShamrockCtx &context, Config &solver_config, Storage &storage)
40 : context(context), solver_config(solver_config), storage(storage) {}
42 void build_ghost_cache();
45 const std::shared_ptr<shamrock::patch::PatchDataLayerLayout> &pdl_ptr,
52 template<
class T,
class Tmerged>
57 std::function<
void(Tmerged &, T &)> appender);
59 void exchange_ghost();
T & get_check_ref(const std::unique_ptr< T > &ptr, SourceLocation loc=SourceLocation())
Takes a std::unique_ptr and returns a reference to the object it holds. It throws a std::runtime_erro...