Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
shammodels::sph::SPHUtilities< vec, SPHKernel > Class Template Reference

handle basic utilities dealing with SPH More...

#include <shammodels/sph/include/shammodels/sph/SPHUtilities.hpp>

+ Collaboration diagram for shammodels::sph::SPHUtilities< vec, SPHKernel >:

Public Types

using flt = shambase::VecComponent< vec >
 
using GhostHndl = BasicSPHGhostHandler< vec >
 
using InterfBuildCache = shambase::DistributedDataShared< typename GhostHndl::InterfaceIdTable >
 

Public Member Functions

 SPHUtilities (PatchScheduler &sched)
 
InterfBuildCache build_interf_cache (GhostHndl &interf_handle, SerialPatchTree< vec > &sptree, flt h_evol_max)
 

Static Public Member Functions

static void iterate_smoothing_length_cache (sham::DeviceBuffer< vec > &merged_r, sham::DeviceBuffer< flt > &hnew, sham::DeviceBuffer< flt > &hold, sham::DeviceBuffer< flt > &eps_h, sycl::range< 1 > update_range, shamrock::tree::ObjectCache &neigh_cache, flt gpart_mass, flt h_evol_max, flt h_evol_iter_max)
 
template<class u_morton >
static void iterate_smoothing_length_tree (sycl::buffer< vec > &merged_r, sycl::buffer< flt > &hnew, sycl::buffer< flt > &hold, sycl::buffer< flt > &eps_h, sycl::range< 1 > update_range, RadixTree< u_morton, vec > &tree, flt gpart_mass, flt h_evol_max, flt h_evol_iter_max)
 
static void compute_omega (sham::DeviceBuffer< vec > &merged_r, sham::DeviceBuffer< flt > &h_part, sham::DeviceBuffer< flt > &omega_h, sycl::range< 1 > part_range, shamrock::tree::ObjectCache &neigh_cache, flt gpart_mass)
 

Public Attributes

PatchSchedulersched
 

Static Public Attributes

static constexpr flt Rkern = SPHKernel::Rkern
 

Detailed Description

template<class vec, class SPHKernel>
class shammodels::sph::SPHUtilities< vec, SPHKernel >

handle basic utilities dealing with SPH

Template Parameters
vec

Definition at line 65 of file SPHUtilities.hpp.

Member Typedef Documentation

◆ flt

template<class vec , class SPHKernel >
using shammodels::sph::SPHUtilities< vec, SPHKernel >::flt = shambase::VecComponent<vec>

Definition at line 67 of file SPHUtilities.hpp.

◆ GhostHndl

template<class vec , class SPHKernel >
using shammodels::sph::SPHUtilities< vec, SPHKernel >::GhostHndl = BasicSPHGhostHandler<vec>

Definition at line 71 of file SPHUtilities.hpp.

◆ InterfBuildCache

template<class vec , class SPHKernel >
using shammodels::sph::SPHUtilities< vec, SPHKernel >::InterfBuildCache = shambase::DistributedDataShared<typename GhostHndl::InterfaceIdTable>

Definition at line 72 of file SPHUtilities.hpp.

Constructor & Destructor Documentation

◆ SPHUtilities()

template<class vec , class SPHKernel >
shammodels::sph::SPHUtilities< vec, SPHKernel >::SPHUtilities ( PatchScheduler sched)
inline

Definition at line 77 of file SPHUtilities.hpp.

Member Function Documentation

◆ build_interf_cache()

template<class vec , class SPHKernel >
InterfBuildCache shammodels::sph::SPHUtilities< vec, SPHKernel >::build_interf_cache ( GhostHndl interf_handle,
SerialPatchTree< vec > &  sptree,
flt  h_evol_max 
)
inline

Definition at line 79 of file SPHUtilities.hpp.

◆ compute_omega()

template<class vec , class SPHKernel >
void shammodels::sph::SPHUtilities< vec, SPHKernel >::compute_omega ( sham::DeviceBuffer< vec > &  merged_r,
sham::DeviceBuffer< flt > &  h_part,
sham::DeviceBuffer< flt > &  omega_h,
sycl::range< 1 >  part_range,
shamrock::tree::ObjectCache neigh_cache,
flt  gpart_mass 
)
static

Definition at line 218 of file SPHUtilities.cpp.

◆ iterate_smoothing_length_cache()

template<class vec , class SPHKernel >
void shammodels::sph::SPHUtilities< vec, SPHKernel >::iterate_smoothing_length_cache ( sham::DeviceBuffer< vec > &  merged_r,
sham::DeviceBuffer< flt > &  hnew,
sham::DeviceBuffer< flt > &  hold,
sham::DeviceBuffer< flt > &  eps_h,
sycl::range< 1 >  update_range,
shamrock::tree::ObjectCache neigh_cache,
flt  gpart_mass,
flt  h_evol_max,
flt  h_evol_iter_max 
)
static

Definition at line 27 of file SPHUtilities.cpp.

◆ iterate_smoothing_length_tree()

template<class vec , class SPHKernel >
template<class u_morton >
static void shammodels::sph::SPHUtilities< vec, SPHKernel >::iterate_smoothing_length_tree ( sycl::buffer< vec > &  merged_r,
sycl::buffer< flt > &  hnew,
sycl::buffer< flt > &  hold,
sycl::buffer< flt > &  eps_h,
sycl::range< 1 >  update_range,
RadixTree< u_morton, vec > &  tree,
flt  gpart_mass,
flt  h_evol_max,
flt  h_evol_iter_max 
)
inlinestatic

Definition at line 122 of file SPHUtilities.hpp.

Member Data Documentation

◆ Rkern

template<class vec , class SPHKernel >
constexpr flt shammodels::sph::SPHUtilities< vec, SPHKernel >::Rkern = SPHKernel::Rkern
staticconstexpr

Definition at line 69 of file SPHUtilities.hpp.

◆ sched

template<class vec , class SPHKernel >
PatchScheduler& shammodels::sph::SPHUtilities< vec, SPHKernel >::sched

Definition at line 75 of file SPHUtilities.hpp.


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