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::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.

◆ evolve_once()

template<class Tvec , class TgridVec >
auto shammodels::zeus::Model< Tvec, TgridVec >::evolve_once ( Tscal  t_current,
Tscal  dt_input 
)

Definition at line 130 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 >
constexpr 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: