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)
f64 solver_logs_last_rate ()
u64 solver_logs_last_obj_count ()
shamsys::SystemMetrics solver_logs_last_system_metrics ()
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

ShamrockCtx & ctx
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 35 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 41 of file Model.hpp.

◆ Tscal

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

Definition at line 37 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 44 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 142 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 101 of file Model.cpp.

◆ evolve_once()

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

Definition at line 129 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 123 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 134 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 114 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 55 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 159 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 59 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 72 of file Model.hpp.

◆ solver_logs_last_obj_count()

template<class Tvec, class TgridVec>
u64 shammodels::basegodunov::Model< Tvec, TgridVec >::solver_logs_last_obj_count ( )
inline

Definition at line 62 of file Model.hpp.

◆ solver_logs_last_rate()

template<class Tvec, class TgridVec>
f64 shammodels::basegodunov::Model< Tvec, TgridVec >::solver_logs_last_rate ( )
inline

Definition at line 61 of file Model.hpp.

◆ solver_logs_last_system_metrics()

template<class Tvec, class TgridVec>
shamsys::SystemMetrics shammodels::basegodunov::Model< Tvec, TgridVec >::solver_logs_last_system_metrics ( )
inline

Definition at line 63 of file Model.hpp.

◆ timestep()

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

Definition at line 127 of file Model.hpp.

Member Data Documentation

◆ ctx

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

Definition at line 39 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 38 of file Model.hpp.

◆ solver

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

Definition at line 42 of file Model.hpp.


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