Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
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 >
constexpr 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: