Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel > Class Template Reference
+ Collaboration diagram for shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >:

Public Types

using Tscal = shambase::VecComponent< Tvec >
 
using Kernel = SPHKernel< Tscal >
 
using Config = SolverConfig< Tvec, SPHKernel >
 
using Storage = SolverStorage< Tvec, u32 >
 
using field_getter_t = const sham::DeviceBuffer< Tfield > &(const shamrock::patch::Patch cur_p, shamrock::patch::PatchDataLayer &pdat)
 
using lamda_runner = std::function< sham::DeviceBuffer< Tfield >(std::function< field_getter_t >)>
 

Public Member Functions

 RenderFieldGetter (ShamrockCtx &context, Config &solver_config, Storage &storage)
 
shamrock::solvergraph::Field< Tfield > build_field (std::string field_name, std::optional< std::function< py::array_t< Tfield >(size_t, pybind11::dict &)> > custom_getter=std::nullopt)
 
sham::DeviceBuffer< Tfield > runner_function (std::string field_name, lamda_runner lambda, std::optional< std::function< py::array_t< Tfield >(size_t, pybind11::dict &)> > custom_getter=std::nullopt)
 

Public Attributes

ShamrockCtxcontext
 
Configsolver_config
 
Storagestorage
 

Static Public Attributes

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

Detailed Description

template<class Tvec, class Tfield, template< class > class SPHKernel>
class shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >

Definition at line 31 of file RenderFieldGetter.hpp.

Member Typedef Documentation

◆ Config

template<class Tvec , class Tfield , template< class > class SPHKernel>
using shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >::Config = SolverConfig<Tvec, SPHKernel>

Definition at line 37 of file RenderFieldGetter.hpp.

◆ field_getter_t

template<class Tvec , class Tfield , template< class > class SPHKernel>
using shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >::field_getter_t = const sham::DeviceBuffer<Tfield> &( const shamrock::patch::Patch cur_p, shamrock::patch::PatchDataLayer &pdat)

Definition at line 47 of file RenderFieldGetter.hpp.

◆ Kernel

template<class Tvec , class Tfield , template< class > class SPHKernel>
using shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >::Kernel = SPHKernel<Tscal>

Definition at line 35 of file RenderFieldGetter.hpp.

◆ lamda_runner

template<class Tvec , class Tfield , template< class > class SPHKernel>
using shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >::lamda_runner = std::function<sham::DeviceBuffer<Tfield>(std::function<field_getter_t>)>

Definition at line 50 of file RenderFieldGetter.hpp.

◆ Storage

template<class Tvec , class Tfield , template< class > class SPHKernel>
using shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >::Storage = SolverStorage<Tvec, u32>

Definition at line 38 of file RenderFieldGetter.hpp.

◆ Tscal

template<class Tvec , class Tfield , template< class > class SPHKernel>
using shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >::Tscal = shambase::VecComponent<Tvec>

Definition at line 33 of file RenderFieldGetter.hpp.

Constructor & Destructor Documentation

◆ RenderFieldGetter()

template<class Tvec , class Tfield , template< class > class SPHKernel>
shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >::RenderFieldGetter ( ShamrockCtx context,
Config solver_config,
Storage storage 
)
inline

Definition at line 44 of file RenderFieldGetter.hpp.

Member Function Documentation

◆ build_field()

template<class Tvec , class Tfield , template< class > class SPHKernel>
shamrock::solvergraph::Field< Tfield > shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >::build_field ( std::string  field_name,
std::optional< std::function< py::array_t< Tfield >(size_t, pybind11::dict &)> >  custom_getter = std::nullopt 
)

Definition at line 32 of file RenderFieldGetter.cpp.

◆ runner_function()

template<class Tvec , class Tfield , template< class > class SPHKernel>
auto shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >::runner_function ( std::string  field_name,
lamda_runner  lambda,
std::optional< std::function< py::array_t< Tfield >(size_t, pybind11::dict &)> >  custom_getter = std::nullopt 
)

Definition at line 208 of file RenderFieldGetter.cpp.

Member Data Documentation

◆ context

template<class Tvec , class Tfield , template< class > class SPHKernel>
ShamrockCtx& shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >::context

Definition at line 40 of file RenderFieldGetter.hpp.

◆ dim

template<class Tvec , class Tfield , template< class > class SPHKernel>
constexpr u32 shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >::dim = shambase::VectorProperties<Tvec>::dimension
staticconstexpr

Definition at line 34 of file RenderFieldGetter.hpp.

◆ solver_config

template<class Tvec , class Tfield , template< class > class SPHKernel>
Config& shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >::solver_config

Definition at line 41 of file RenderFieldGetter.hpp.

◆ storage

template<class Tvec , class Tfield , template< class > class SPHKernel>
Storage& shammodels::sph::modules::RenderFieldGetter< Tvec, Tfield, SPHKernel >::storage

Definition at line 42 of file RenderFieldGetter.hpp.


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