Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shammodels::zeus::modules::GhostZones< Tvec, TgridVec > Class Template Reference
Collaboration diagram for shammodels::zeus::modules::GhostZones< Tvec, TgridVec >:

Public Types

using Tscal = shambase::VecComponent<Tvec>
using Tgridscal = shambase::VecComponent<TgridVec>
using Config = SolverConfig<Tvec, TgridVec>
using Storage = SolverStorage<Tvec, TgridVec, u64>

Public Member Functions

 GhostZones (ShamrockCtx &context, Config &solver_config, Storage &storage)
void build_ghost_cache ()
shambase::DistributedDataShared< shamrock::patch::PatchDataLayercommunicate_pdat (const std::shared_ptr< shamrock::patch::PatchDataLayerLayout > &pdl_ptr, shambase::DistributedDataShared< shamrock::patch::PatchDataLayer > &&interf)
template<class T>
shambase::DistributedDataShared< PatchDataField< T > > communicate_pdat_field (shambase::DistributedDataShared< PatchDataField< T > > &&interf)
template<class T, class Tmerged>
shambase::DistributedData< Tmerged > merge_native (shambase::DistributedDataShared< T > &&interfs, std::function< Tmerged(const shamrock::patch::Patch, shamrock::patch::PatchDataLayer &pdat)> init, std::function< void(Tmerged &, T &)> appender)
void exchange_ghost ()
template<class T>
shamrock::ComputeField< T > exchange_compute_field (shamrock::ComputeField< T > &in)

Public Attributes

ShamrockCtxcontext
Config & solver_config
Storage & storage

Static Public Attributes

static constexpr u32 dim = shambase::VectorProperties<Tvec>::dimension

Detailed Description

template<class Tvec, class TgridVec>
class shammodels::zeus::modules::GhostZones< Tvec, TgridVec >

Definition at line 26 of file GhostZones.hpp.

Member Typedef Documentation

◆ Config

template<class Tvec, class TgridVec>
using shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::Config = SolverConfig<Tvec, TgridVec>

Definition at line 32 of file GhostZones.hpp.

◆ Storage

template<class Tvec, class TgridVec>
using shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::Storage = SolverStorage<Tvec, TgridVec, u64>

Definition at line 33 of file GhostZones.hpp.

◆ Tgridscal

template<class Tvec, class TgridVec>
using shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::Tgridscal = shambase::VecComponent<TgridVec>

Definition at line 29 of file GhostZones.hpp.

◆ Tscal

template<class Tvec, class TgridVec>
using shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::Tscal = shambase::VecComponent<Tvec>

Definition at line 28 of file GhostZones.hpp.

Constructor & Destructor Documentation

◆ GhostZones()

template<class Tvec, class TgridVec>
shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::GhostZones ( ShamrockCtx & context,
Config & solver_config,
Storage & storage )
inline

Definition at line 39 of file GhostZones.hpp.

Member Function Documentation

◆ build_ghost_cache()

template<class Tvec, class TgridVec>
void shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::build_ghost_cache ( )

Definition at line 121 of file GhostZones.cpp.

◆ communicate_pdat()

template<class Tvec, class TgridVec>
shambase::DistributedDataShared< shamrock::patch::PatchDataLayer > shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::communicate_pdat ( const std::shared_ptr< shamrock::patch::PatchDataLayerLayout > & pdl_ptr,
shambase::DistributedDataShared< shamrock::patch::PatchDataLayer > && interf )

Definition at line 206 of file GhostZones.cpp.

◆ communicate_pdat_field()

template<class Tvec, class TgridVec>
template<class T>
shambase::DistributedDataShared< PatchDataField< T > > shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::communicate_pdat_field ( shambase::DistributedDataShared< PatchDataField< T > > && interf)

Definition at line 243 of file GhostZones.cpp.

◆ exchange_compute_field()

template<class Tvec, class TgridVec>
template<class T>
shamrock::ComputeField< T > shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::exchange_compute_field ( shamrock::ComputeField< T > & in)

Definition at line 435 of file GhostZones.cpp.

◆ exchange_ghost()

template<class Tvec, class TgridVec>
void shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::exchange_ghost ( )

Definition at line 305 of file GhostZones.cpp.

◆ merge_native()

template<class Tvec, class TgridVec>
template<class T, class Tmerged>
shambase::DistributedData< Tmerged > shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::merge_native ( shambase::DistributedDataShared< T > && interfs,
std::function< Tmerged(const shamrock::patch::Patch, shamrock::patch::PatchDataLayer &pdat)> init,
std::function< void(Tmerged &, T &)> appender )

Definition at line 277 of file GhostZones.cpp.

Member Data Documentation

◆ context

template<class Tvec, class TgridVec>
ShamrockCtx& shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::context

Definition at line 35 of file GhostZones.hpp.

◆ dim

template<class Tvec, class TgridVec>
u32 shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::dim = shambase::VectorProperties<Tvec>::dimension
staticconstexpr

Definition at line 30 of file GhostZones.hpp.

◆ solver_config

template<class Tvec, class TgridVec>
Config& shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::solver_config

Definition at line 36 of file GhostZones.hpp.

◆ storage

template<class Tvec, class TgridVec>
Storage& shammodels::zeus::modules::GhostZones< Tvec, TgridVec >::storage

Definition at line 37 of file GhostZones.hpp.


The documentation for this class was generated from the following files: