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::basegodunov::Model< Tvec, TgridVec > Class Template Reference
+ Collaboration diagram for shammodels::basegodunov::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)
 
template<class T >
void set_field_value_lambda (std::string field_name, const std::function< T(Tvec, Tvec)> pos_to_val, const i32 offset)
 
std::pair< Tvec, Tvec > get_cell_coords (std::pair< TgridVec, TgridVec > block_coords, u32 lid)
 
f64 evolve_once_time_expl (f64 t_curr, f64 dt_input)
 
void timestep ()
 
void evolve_once ()
 
bool evolve_until (Tscal target_time, i32 niter_max)
 
void dump (std::string fname)
 
void load_from_dump (std::string fname)
 Load the state of the Godunov model from a dump file.
 

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::basegodunov::Model< Tvec, TgridVec >

Definition at line 34 of file Model.hpp.

Member Typedef Documentation

◆ Solver

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

Definition at line 40 of file Model.hpp.

◆ Tscal

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

Definition at line 36 of file Model.hpp.

Constructor & Destructor Documentation

◆ Model()

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

Definition at line 43 of file Model.hpp.

Member Function Documentation

◆ dump()

template<class Tvec , class TgridVec >
void shammodels::basegodunov::Model< Tvec, TgridVec >::dump ( std::string  fname)
inline

Definition at line 135 of file Model.hpp.

◆ dump_vtk()

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

Definition at line 98 of file Model.cpp.

◆ evolve_once()

template<class Tvec , class TgridVec >
void shammodels::basegodunov::Model< Tvec, TgridVec >::evolve_once ( )
inline

Definition at line 122 of file Model.hpp.

◆ evolve_once_time_expl()

template<class Tvec , class TgridVec >
f64 shammodels::basegodunov::Model< Tvec, TgridVec >::evolve_once_time_expl ( f64  t_curr,
f64  dt_input 
)
inline

Definition at line 116 of file Model.hpp.

◆ evolve_until()

template<class Tvec , class TgridVec >
bool shammodels::basegodunov::Model< Tvec, TgridVec >::evolve_until ( Tscal  target_time,
i32  niter_max 
)
inline

Definition at line 127 of file Model.hpp.

◆ get_cell_coords()

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

Definition at line 107 of file Model.hpp.

◆ init()

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

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

Definition at line 27 of file Model.cpp.

+ Here is the call graph for this function:

◆ init_scheduler()

template<class Tvec , class TgridVec >
void shammodels::basegodunov::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 54 of file Model.hpp.

+ Here is the call graph for this function:

◆ load_from_dump()

template<class Tvec , class TgridVec >
void shammodels::basegodunov::Model< Tvec, TgridVec >::load_from_dump ( std::string  fname)
inline

Load the state of the Godunov model from a dump file.

Parameters
fnameThe name of the dump file.

Definition at line 152 of file Model.hpp.

+ Here is the call graph for this function:

◆ make_base_grid()

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

Definition at line 56 of file Model.cpp.

◆ set_field_value_lambda()

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

Definition at line 65 of file Model.hpp.

◆ timestep()

template<class Tvec , class TgridVec >
void shammodels::basegodunov::Model< Tvec, TgridVec >::timestep ( )
inline

Definition at line 120 of file Model.hpp.

Member Data Documentation

◆ ctx

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

Definition at line 38 of file Model.hpp.

◆ dim

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

Definition at line 37 of file Model.hpp.

◆ solver

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

Definition at line 41 of file Model.hpp.


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