Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shammodels::zeus::Model< Tvec, TgridVec > Class Template Reference

Zeus scheme [4] [1] implementation in Shamrock (WIP). More...

#include <shammodels/zeus/include/shammodels/zeus/Model.hpp>

Collaboration diagram for shammodels::zeus::Model< Tvec, TgridVec >:

Public Types

using Tscal = shambase::VecComponent<Tvec>
using Solver = Solver<Tvec, TgridVec>

Public Member Functions

 Model (ShamrockCtx &ctx)
void init ()
 Initialise the model and all the related data structures (patch scheduler in particular).
void init_scheduler (u32 crit_split, u32 crit_merge)
void make_base_grid (TgridVec bmin, TgridVec cell_size, u32_3 cell_count)
void dump_vtk (std::string filename)
Tscal evolve_once (Tscal t_current, Tscal dt_input)
template<class T>
void set_field_value_lambda (std::string field_name, const std::function< T(Tvec, Tvec)> pos_to_val)
std::pair< Tvec, Tvec > get_cell_coords (std::pair< TgridVec, TgridVec > block_coords, u32 lid)

Public Attributes

ShamrockCtxctx
Solver solver

Static Public Attributes

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

Detailed Description

template<class Tvec, class TgridVec>
class shammodels::zeus::Model< Tvec, TgridVec >

Zeus scheme [4] [1] implementation in Shamrock (WIP).

The dimension is computed from the input vector types

Template Parameters
Tvecvector type used in physical space
TgridVecgrid vector type (integer vector)

Definition at line 38 of file Model.hpp.

Member Typedef Documentation

◆ Solver

template<class Tvec, class TgridVec>
using shammodels::zeus::Model< Tvec, TgridVec >::Solver = Solver<Tvec, TgridVec>

Definition at line 44 of file Model.hpp.

◆ Tscal

template<class Tvec, class TgridVec>
using shammodels::zeus::Model< Tvec, TgridVec >::Tscal = shambase::VecComponent<Tvec>

Definition at line 40 of file Model.hpp.

Constructor & Destructor Documentation

◆ Model()

template<class Tvec, class TgridVec>
shammodels::zeus::Model< Tvec, TgridVec >::Model ( ShamrockCtx & ctx)
inline

Definition at line 47 of file Model.hpp.

Member Function Documentation

◆ dump_vtk()

template<class Tvec, class TgridVec>
void shammodels::zeus::Model< Tvec, TgridVec >::dump_vtk ( std::string filename)

Definition at line 68 of file Model.cpp.

◆ get_cell_coords()

template<class Tvec, class TgridVec>
std::pair< Tvec, Tvec > shammodels::zeus::Model< Tvec, TgridVec >::get_cell_coords ( std::pair< TgridVec, TgridVec > block_coords,
u32 lid )
inline

Definition at line 111 of file Model.hpp.

◆ init()

template<class Tvec, class TgridVec>
void shammodels::zeus::Model< Tvec, TgridVec >::init ( )

Initialise the model and all the related data structures (patch scheduler in particular).

Definition at line 25 of file Model.cpp.

Here is the call graph for this function:

◆ init_scheduler()

template<class Tvec, class TgridVec>
void shammodels::zeus::Model< Tvec, TgridVec >::init_scheduler ( u32 crit_split,
u32 crit_merge )
inline

Old way of doing it, for backward compatibility it just overrides the values in the config before calling init()

Definition at line 58 of file Model.hpp.

Here is the call graph for this function:

◆ make_base_grid()

template<class Tvec, class TgridVec>
void shammodels::zeus::Model< Tvec, TgridVec >::make_base_grid ( TgridVec bmin,
TgridVec cell_size,
u32_3 cell_count )

Definition at line 52 of file Model.cpp.

◆ set_field_value_lambda()

template<class Tvec, class TgridVec>
template<class T>
void shammodels::zeus::Model< Tvec, TgridVec >::set_field_value_lambda ( std::string field_name,
const std::function< T(Tvec, Tvec)> pos_to_val )
inline

Definition at line 71 of file Model.hpp.

Member Data Documentation

◆ ctx

template<class Tvec, class TgridVec>
ShamrockCtx& shammodels::zeus::Model< Tvec, TgridVec >::ctx

Definition at line 42 of file Model.hpp.

◆ dim

template<class Tvec, class TgridVec>
u32 shammodels::zeus::Model< Tvec, TgridVec >::dim = shambase::VectorProperties<Tvec>::dimension
staticconstexpr

Definition at line 41 of file Model.hpp.

◆ solver

template<class Tvec, class TgridVec>
Solver shammodels::zeus::Model< Tvec, TgridVec >::solver

Definition at line 45 of file Model.hpp.


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