Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
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 76 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 78 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>
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 121 of file SPHUtilities.hpp.

Member Data Documentation

◆ Rkern

template<class vec, class SPHKernel>
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 74 of file SPHUtilities.hpp.


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