![]() |
Shamrock 2025.10.0
Astrophysical Code
|
The configuration for a GSPH solver. More...
Collaboration diagram for shammodels::gsph::SolverConfig< Tvec, SPHKernel >:Public Types | |
| using | Tscal = shambase::VecComponent< Tvec > |
| using | Kernel = SPHKernel< Tscal > |
| using | u_morton = u32 |
| using | RTree = shamtree::CompressedLeafBVH< u_morton, Tvec, 3 > |
| using | SolverStatusVar = SolverStatusVar< Tvec > |
| using | RiemannConfig = RiemannConfig< Tvec > |
| using | ReconstructConfig = ReconstructConfig< Tvec > |
| using | EOSConfig = shammodels::EOSConfig< Tvec > |
| using | BCConfig = shammodels::sph::BCConfig< Tvec > |
| using | ExtForceConfig = shammodels::ExtForceConfig< Tvec > |
Public Member Functions | |
| void | set_units (shamunits::UnitSystem< Tscal > new_sys) |
| Tscal | get_constant_G () const |
| void | set_time (Tscal t) |
| void | set_next_dt (Tscal dt) |
| Tscal | get_time () const |
| Tscal | get_dt () const |
| void | set_riemann_iterative (Tscal tol=Tscal{1e-6}, u32 max_iter=20) |
| void | set_riemann_hllc () |
| void | set_reconstruct_piecewise_constant () |
| void | set_reconstruct_muscl (typename ReconstructConfig::Limiter limiter=ReconstructConfig::Limiter::VanLeer) |
| bool | requires_gradients () const |
| bool | is_eos_adiabatic () const |
| bool | is_eos_isothermal () const |
| Tscal | get_eos_gamma () const |
| Get the adiabatic index (gamma) from the EOS config. | |
| void | set_eos_adiabatic (Tscal gamma) |
| void | set_eos_isothermal (Tscal cs) |
| void | set_boundary_free () |
| void | set_boundary_periodic () |
| void | set_boundary_shearing_periodic (i32_3 shear_base, i32_3 shear_dir, Tscal speed) |
| Set shearing periodic boundary conditions. | |
| void | add_ext_force_point_mass (Tscal central_mass, Tscal Racc) |
| void | set_tree_reduction_level (u32 level) |
| void | set_two_stage_search (bool enable) |
| bool | has_field_uint () const |
| void | print_status () |
| void | check_config () const |
| void | check_config_runtime () const |
| void | set_layout (shamrock::patch::PatchDataLayerLayout &pdl) |
| void | set_ghost_layout (shamrock::patch::PatchDataLayerLayout &ghost_layout) |
Public Attributes | |
| Tscal | gpart_mass {0} |
| The mass of each gas particle (must be set before use) | |
| CFLConfig< Tscal > | cfl_config |
| CFL configuration. | |
| PatchSchedulerConfig | scheduler_conf = {} |
| std::optional< shamunits::UnitSystem< Tscal > > | unit_sys = {} |
| SolverStatusVar | time_state |
| RiemannConfig | riemann_config |
| ReconstructConfig | reconstruct_config |
| EOSConfig | eos_config |
| BCConfig | boundary_config |
| ExtForceConfig | ext_force_config {} |
| u32 | tree_reduction_level = 3 |
| bool | use_two_stage_search = true |
| Tscal | htol_up_coarse_cycle = 1.1 |
| Factor for neighbors search. | |
| Tscal | htol_up_fine_cycle = 1.1 |
| Max smoothing length evolution per subcycle. | |
| Tscal | epsilon_h = 1e-6 |
| Convergence criteria for smoothing length. | |
| u32 | h_iter_per_subcycles = 50 |
| Max iterations per subcycle. | |
| u32 | h_max_subcycles_count = 100 |
| Max subcycles before crash. | |
Static Public Attributes | |
| static constexpr u32 | dim = shambase::VectorProperties<Tvec>::dimension |
| static constexpr Tscal | Rkern = Kernel::Rkern |
The configuration for a GSPH solver.
| Tvec | the type of the vector used to represent the particles |
| SPHKernel | the type of the SPH kernel |
Definition at line 96 of file SolverConfig.hpp.
| using shammodels::gsph::SolverConfig< Tvec, SPHKernel >::BCConfig = shammodels::sph::BCConfig<Tvec> |
Definition at line 235 of file SolverConfig.hpp.
| using shammodels::gsph::SolverConfig< Tvec, SPHKernel >::EOSConfig = shammodels::EOSConfig<Tvec> |
Definition at line 194 of file SolverConfig.hpp.
| using shammodels::gsph::SolverConfig< Tvec, SPHKernel >::ExtForceConfig = shammodels::ExtForceConfig<Tvec> |
Definition at line 263 of file SolverConfig.hpp.
| using shammodels::gsph::SolverConfig< Tvec, SPHKernel >::Kernel = SPHKernel<Tscal> |
Definition at line 100 of file SolverConfig.hpp.
| using shammodels::gsph::SolverConfig< Tvec, SPHKernel >::ReconstructConfig = ReconstructConfig<Tvec> |
Definition at line 172 of file SolverConfig.hpp.
| using shammodels::gsph::SolverConfig< Tvec, SPHKernel >::RiemannConfig = RiemannConfig<Tvec> |
Definition at line 155 of file SolverConfig.hpp.
| using shammodels::gsph::SolverConfig< Tvec, SPHKernel >::RTree = shamtree::CompressedLeafBVH<u_morton, Tvec, 3> |
Definition at line 103 of file SolverConfig.hpp.
| using shammodels::gsph::SolverConfig< Tvec, SPHKernel >::SolverStatusVar = SolverStatusVar<Tvec> |
Definition at line 139 of file SolverConfig.hpp.
| using shammodels::gsph::SolverConfig< Tvec, SPHKernel >::Tscal = shambase::VecComponent<Tvec> |
Definition at line 98 of file SolverConfig.hpp.
| using shammodels::gsph::SolverConfig< Tvec, SPHKernel >::u_morton = u32 |
Definition at line 101 of file SolverConfig.hpp.
|
inline |
Definition at line 266 of file SolverConfig.hpp.
|
inline |
Definition at line 316 of file SolverConfig.hpp.
|
inline |
Definition at line 324 of file SolverConfig.hpp.
|
inline |
Definition at line 121 of file SolverConfig.hpp.
|
inline |
Definition at line 145 of file SolverConfig.hpp.
|
inline |
Get the adiabatic index (gamma) from the EOS config.
Definition at line 212 of file SolverConfig.hpp.
|
inline |
Definition at line 144 of file SolverConfig.hpp.
|
inline |
Definition at line 302 of file SolverConfig.hpp.
|
inline |
Definition at line 197 of file SolverConfig.hpp.
|
inline |
Definition at line 202 of file SolverConfig.hpp.
|
inline |
Definition at line 304 of file SolverConfig.hpp.
|
inline |
Definition at line 184 of file SolverConfig.hpp.
|
inline |
Definition at line 238 of file SolverConfig.hpp.
|
inline |
Definition at line 239 of file SolverConfig.hpp.
|
inline |
Set shearing periodic boundary conditions.
Implements shearing box boundaries (Stone 2010) for simulations of differentially rotating systems (e.g., accretion disks).
| shear_base | Base vector for shear periodicity count |
| shear_dir | Direction of the shear velocity shift |
| speed | Shear velocity magnitude |
Definition at line 251 of file SolverConfig.hpp.
|
inline |
Definition at line 223 of file SolverConfig.hpp.
|
inline |
Definition at line 225 of file SolverConfig.hpp.
| void shammodels::gsph::SolverConfig< Tvec, SPHKernel >::set_ghost_layout | ( | shamrock::patch::PatchDataLayerLayout & | ghost_layout | ) |
Definition at line 52 of file SolverConfig.cpp.
| void shammodels::gsph::SolverConfig< Tvec, SPHKernel >::set_layout | ( | shamrock::patch::PatchDataLayerLayout & | pdl | ) |
Definition at line 23 of file SolverConfig.cpp.
|
inline |
Definition at line 143 of file SolverConfig.hpp.
|
inline |
Definition at line 179 of file SolverConfig.hpp.
|
inline |
Definition at line 175 of file SolverConfig.hpp.
|
inline |
Definition at line 162 of file SolverConfig.hpp.
|
inline |
Definition at line 158 of file SolverConfig.hpp.
|
inline |
Definition at line 142 of file SolverConfig.hpp.
|
inline |
Definition at line 281 of file SolverConfig.hpp.
|
inline |
Definition at line 282 of file SolverConfig.hpp.
|
inline |
Definition at line 119 of file SolverConfig.hpp.
| BCConfig shammodels::gsph::SolverConfig< Tvec, SPHKernel >::boundary_config |
Definition at line 236 of file SolverConfig.hpp.
| CFLConfig<Tscal> shammodels::gsph::SolverConfig< Tvec, SPHKernel >::cfl_config |
CFL configuration.
Definition at line 109 of file SolverConfig.hpp.
|
staticconstexpr |
Definition at line 99 of file SolverConfig.hpp.
| EOSConfig shammodels::gsph::SolverConfig< Tvec, SPHKernel >::eos_config |
Definition at line 195 of file SolverConfig.hpp.
| Tscal shammodels::gsph::SolverConfig< Tvec, SPHKernel >::epsilon_h = 1e-6 |
Convergence criteria for smoothing length.
Definition at line 294 of file SolverConfig.hpp.
| ExtForceConfig shammodels::gsph::SolverConfig< Tvec, SPHKernel >::ext_force_config {} |
Definition at line 264 of file SolverConfig.hpp.
| Tscal shammodels::gsph::SolverConfig< Tvec, SPHKernel >::gpart_mass {0} |
The mass of each gas particle (must be set before use)
Definition at line 107 of file SolverConfig.hpp.
| u32 shammodels::gsph::SolverConfig< Tvec, SPHKernel >::h_iter_per_subcycles = 50 |
Max iterations per subcycle.
Definition at line 295 of file SolverConfig.hpp.
| u32 shammodels::gsph::SolverConfig< Tvec, SPHKernel >::h_max_subcycles_count = 100 |
Max subcycles before crash.
Definition at line 296 of file SolverConfig.hpp.
| Tscal shammodels::gsph::SolverConfig< Tvec, SPHKernel >::htol_up_coarse_cycle = 1.1 |
Factor for neighbors search.
Definition at line 292 of file SolverConfig.hpp.
| Tscal shammodels::gsph::SolverConfig< Tvec, SPHKernel >::htol_up_fine_cycle = 1.1 |
Max smoothing length evolution per subcycle.
Definition at line 293 of file SolverConfig.hpp.
| ReconstructConfig shammodels::gsph::SolverConfig< Tvec, SPHKernel >::reconstruct_config |
Definition at line 173 of file SolverConfig.hpp.
| RiemannConfig shammodels::gsph::SolverConfig< Tvec, SPHKernel >::riemann_config |
Definition at line 156 of file SolverConfig.hpp.
|
staticconstexpr |
Definition at line 105 of file SolverConfig.hpp.
| PatchSchedulerConfig shammodels::gsph::SolverConfig< Tvec, SPHKernel >::scheduler_conf = {} |
Definition at line 111 of file SolverConfig.hpp.
| SolverStatusVar shammodels::gsph::SolverConfig< Tvec, SPHKernel >::time_state |
Definition at line 140 of file SolverConfig.hpp.
| u32 shammodels::gsph::SolverConfig< Tvec, SPHKernel >::tree_reduction_level = 3 |
Definition at line 278 of file SolverConfig.hpp.
| std::optional<shamunits::UnitSystem<Tscal> > shammodels::gsph::SolverConfig< Tvec, SPHKernel >::unit_sys = {} |
Definition at line 117 of file SolverConfig.hpp.
| bool shammodels::gsph::SolverConfig< Tvec, SPHKernel >::use_two_stage_search = true |
Definition at line 279 of file SolverConfig.hpp.