Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
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>
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: