Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shammodels::gsph::GSPHGhostHandler< vec > Class Template Reference
Collaboration diagram for shammodels::gsph::GSPHGhostHandler< vec >:

Classes

struct  InterfaceBuildInfos
struct  InterfaceIdTable

Public Types

using flt = shambase::VecComponent<vec>
using per_index = sycl::vec<i32, dim>
using GeneratorMap = shambase::DistributedDataShared<InterfaceBuildInfos>
using CacheMap = shambase::DistributedDataShared<InterfaceIdTable>

Public Member Functions

 GSPHGhostHandler (PatchScheduler &sched, Config ghost_config, std::shared_ptr< shamrock::solvergraph::RankGetter > patch_rank_owner, std::shared_ptr< shamrock::patch::PatchDataLayerLayout > &xyzh_ghost_layout)
GeneratorMap find_interfaces (SerialPatchTree< vec > &sptree, shamrock::patch::PatchtreeField< flt > &int_range_max_tree, shamrock::patch::PatchField< flt > &int_range_max)
shambase::DistributedDataShared< InterfaceIdTablegen_id_table_interfaces (GeneratorMap &&gen)
void gen_debug_patch_ghost (shambase::DistributedDataShared< InterfaceIdTable > &interf_info)
CacheMap make_interface_cache (SerialPatchTree< vec > &sptree, shamrock::patch::PatchtreeField< flt > &int_range_max_tree, shamrock::patch::PatchField< flt > &int_range_max)
template<class T>
shambase::DistributedDataShared< T > build_interface_native (shambase::DistributedDataShared< InterfaceIdTable > &builder, std::function< T(u64, u64, InterfaceBuildInfos, sham::DeviceBuffer< u32 > &, u32)> fct)
template<class T>
void modify_interface_native (shambase::DistributedDataShared< InterfaceIdTable > &builder, shambase::DistributedDataShared< T > &mod, std::function< void(u64, u64, InterfaceBuildInfos, sham::DeviceBuffer< u32 > &, u32, T &)> fct)
shambase::DistributedDataShared< shamrock::patch::PatchDataLayerbuild_position_interf_field (shambase::DistributedDataShared< InterfaceIdTable > &builder)
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_pdatfield (shambase::DistributedDataShared< PatchDataField< T > > &&interf, u32 nvar)
shambase::DistributedDataShared< shamrock::patch::PatchDataLayerbuild_communicate_positions (shambase::DistributedDataShared< InterfaceIdTable > &builder)
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)
shambase::DistributedData< shamrock::patch::PatchDataLayermerge_position_buf (shambase::DistributedDataShared< shamrock::patch::PatchDataLayer > &&positioninterfs)
shambase::DistributedData< shamrock::patch::PatchDataLayerbuild_comm_merge_positions (shambase::DistributedDataShared< InterfaceIdTable > &builder)

Public Attributes

std::shared_ptr< shamrock::patch::PatchDataLayerLayout > & xyzh_ghost_layout
std::shared_ptr< shamrock::solvergraph::RankGetterpatch_rank_owner

Static Public Attributes

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

Detailed Description

template<class vec>
class shammodels::gsph::GSPHGhostHandler< vec >

Definition at line 56 of file GSPHGhostHandler.hpp.

Member Typedef Documentation

◆ CacheMap

Definition at line 107 of file GSPHGhostHandler.hpp.

◆ flt

template<class vec>
using shammodels::gsph::GSPHGhostHandler< vec >::flt = shambase::VecComponent<vec>

Definition at line 65 of file GSPHGhostHandler.hpp.

◆ GeneratorMap

Definition at line 83 of file GSPHGhostHandler.hpp.

◆ per_index

template<class vec>
using shammodels::gsph::GSPHGhostHandler< vec >::per_index = sycl::vec<i32, dim>

Definition at line 67 of file GSPHGhostHandler.hpp.

Constructor & Destructor Documentation

◆ GSPHGhostHandler()

template<class vec>
shammodels::gsph::GSPHGhostHandler< vec >::GSPHGhostHandler ( PatchScheduler & sched,
Config ghost_config,
std::shared_ptr< shamrock::solvergraph::RankGetter > patch_rank_owner,
std::shared_ptr< shamrock::patch::PatchDataLayerLayout > & xyzh_ghost_layout )
inline

Definition at line 89 of file GSPHGhostHandler.hpp.

Member Function Documentation

◆ build_comm_merge_positions()

Definition at line 336 of file GSPHGhostHandler.hpp.

◆ build_communicate_positions()

Definition at line 270 of file GSPHGhostHandler.hpp.

◆ build_interface_native()

template<class vec>
template<class T>
shambase::DistributedDataShared< T > shammodels::gsph::GSPHGhostHandler< vec >::build_interface_native ( shambase::DistributedDataShared< InterfaceIdTable > & builder,
std::function< T(u64, u64, InterfaceBuildInfos, sham::DeviceBuffer< u32 > &, u32)> fct )
inline

Definition at line 120 of file GSPHGhostHandler.hpp.

◆ build_position_interf_field()

Definition at line 187 of file GSPHGhostHandler.hpp.

◆ communicate_pdat()

Definition at line 222 of file GSPHGhostHandler.hpp.

◆ communicate_pdatfield()

template<class vec>
template<class T>
shambase::DistributedDataShared< PatchDataField< T > > shammodels::gsph::GSPHGhostHandler< vec >::communicate_pdatfield ( shambase::DistributedDataShared< PatchDataField< T > > && interf,
u32 nvar )
inline

Definition at line 247 of file GSPHGhostHandler.hpp.

◆ find_interfaces()

template<class vec>
auto GSPHGhostHandler::find_interfaces ( SerialPatchTree< vec > & sptree,
shamrock::patch::PatchtreeField< flt > & int_range_max_tree,
shamrock::patch::PatchField< flt > & int_range_max )

Definition at line 107 of file GSPHGhostHandler.cpp.

◆ gen_debug_patch_ghost()

template<class vec>
void GSPHGhostHandler::gen_debug_patch_ghost ( shambase::DistributedDataShared< InterfaceIdTable > & interf_info)

Definition at line 366 of file GSPHGhostHandler.cpp.

◆ gen_id_table_interfaces()

template<class vec>
auto GSPHGhostHandler::gen_id_table_interfaces ( GeneratorMap && gen)

Definition at line 294 of file GSPHGhostHandler.cpp.

◆ make_interface_cache()

template<class vec>
CacheMap shammodels::gsph::GSPHGhostHandler< vec >::make_interface_cache ( SerialPatchTree< vec > & sptree,
shamrock::patch::PatchtreeField< flt > & int_range_max_tree,
shamrock::patch::PatchField< flt > & int_range_max )
inline

Definition at line 109 of file GSPHGhostHandler.hpp.

◆ merge_native()

template<class vec>
template<class T, class Tmerged>
shambase::DistributedData< Tmerged > shammodels::gsph::GSPHGhostHandler< vec >::merge_native ( shambase::DistributedDataShared< T > && interfs,
std::function< Tmerged(const shamrock::patch::Patch, shamrock::patch::PatchDataLayer &pdat)> init,
std::function< void(Tmerged &, T &)> appender )
inline

Definition at line 276 of file GSPHGhostHandler.hpp.

◆ merge_position_buf()

Definition at line 302 of file GSPHGhostHandler.hpp.

◆ modify_interface_native()

template<class vec>
template<class T>
void shammodels::gsph::GSPHGhostHandler< vec >::modify_interface_native ( shambase::DistributedDataShared< InterfaceIdTable > & builder,
shambase::DistributedDataShared< T > & mod,
std::function< void(u64, u64, InterfaceBuildInfos, sham::DeviceBuffer< u32 > &, u32, T &)> fct )
inline

Definition at line 143 of file GSPHGhostHandler.hpp.

Member Data Documentation

◆ dim

template<class vec>
u32 shammodels::gsph::GSPHGhostHandler< vec >::dim = shambase::VectorProperties<vec>::dimension
staticconstexpr

Definition at line 66 of file GSPHGhostHandler.hpp.

◆ patch_rank_owner

template<class vec>
std::shared_ptr<shamrock::solvergraph::RankGetter> shammodels::gsph::GSPHGhostHandler< vec >::patch_rank_owner

Definition at line 87 of file GSPHGhostHandler.hpp.

◆ xyzh_ghost_layout

template<class vec>
std::shared_ptr<shamrock::patch::PatchDataLayerLayout>& shammodels::gsph::GSPHGhostHandler< vec >::xyzh_ghost_layout

Definition at line 85 of file GSPHGhostHandler.hpp.


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