Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
shammodels::sph::SelfGravConfig Struct Reference

Classes

struct  Direct
 
struct  FMM
 
struct  MM
 
struct  None
 
struct  SFMM
 
struct  SofteningPlummer
 

Public Types

using mode = std::variant< SFMM, FMM, MM, Direct, None >
 
using mode_soft = std::variant< SofteningPlummer >
 

Public Member Functions

void set_none ()
 
void set_direct (bool reference_mode=false)
 
void set_mm (u32 mm_order, f64 opening_angle, u32 reduction_level)
 
void set_fmm (u32 order, f64 opening_angle, u32 reduction_level)
 
void set_sfmm (u32 order, f64 opening_angle, bool leaf_lowering, u32 reduction_level)
 
bool is_none () const
 
bool is_direct () const
 
bool is_mm () const
 
bool is_fmm () const
 
bool is_sfmm () const
 
bool is_sg_on () const
 
bool is_sg_off () const
 
void set_softening_plummer (f64 epsilon)
 
void set_softening_none ()
 
bool is_softening_plummer () const
 

Public Attributes

mode config = None{}
 
mode_soft softening_mode = SofteningPlummer{1e-9}
 

Detailed Description

Definition at line 190 of file SolverConfig.hpp.

Member Typedef Documentation

◆ mode

using shammodels::sph::SelfGravConfig::mode = std::variant<SFMM, FMM, MM, Direct, None>

Definition at line 217 of file SolverConfig.hpp.

◆ mode_soft

using shammodels::sph::SelfGravConfig::mode_soft = std::variant<SofteningPlummer>

Definition at line 246 of file SolverConfig.hpp.

Member Function Documentation

◆ is_direct()

bool shammodels::sph::SelfGravConfig::is_direct ( ) const
inline

Definition at line 234 of file SolverConfig.hpp.

◆ is_fmm()

bool shammodels::sph::SelfGravConfig::is_fmm ( ) const
inline

Definition at line 236 of file SolverConfig.hpp.

◆ is_mm()

bool shammodels::sph::SelfGravConfig::is_mm ( ) const
inline

Definition at line 235 of file SolverConfig.hpp.

◆ is_none()

bool shammodels::sph::SelfGravConfig::is_none ( ) const
inline

Definition at line 233 of file SolverConfig.hpp.

◆ is_sfmm()

bool shammodels::sph::SelfGravConfig::is_sfmm ( ) const
inline

Definition at line 237 of file SolverConfig.hpp.

◆ is_sg_off()

bool shammodels::sph::SelfGravConfig::is_sg_off ( ) const
inline

Definition at line 240 of file SolverConfig.hpp.

◆ is_sg_on()

bool shammodels::sph::SelfGravConfig::is_sg_on ( ) const
inline

Definition at line 239 of file SolverConfig.hpp.

◆ is_softening_plummer()

bool shammodels::sph::SelfGravConfig::is_softening_plummer ( ) const
inline

Definition at line 252 of file SolverConfig.hpp.

◆ set_direct()

void shammodels::sph::SelfGravConfig::set_direct ( bool  reference_mode = false)
inline

Definition at line 222 of file SolverConfig.hpp.

◆ set_fmm()

void shammodels::sph::SelfGravConfig::set_fmm ( u32  order,
f64  opening_angle,
u32  reduction_level 
)
inline

Definition at line 226 of file SolverConfig.hpp.

◆ set_mm()

void shammodels::sph::SelfGravConfig::set_mm ( u32  mm_order,
f64  opening_angle,
u32  reduction_level 
)
inline

Definition at line 223 of file SolverConfig.hpp.

◆ set_none()

void shammodels::sph::SelfGravConfig::set_none ( )
inline

Definition at line 221 of file SolverConfig.hpp.

◆ set_sfmm()

void shammodels::sph::SelfGravConfig::set_sfmm ( u32  order,
f64  opening_angle,
bool  leaf_lowering,
u32  reduction_level 
)
inline

Definition at line 229 of file SolverConfig.hpp.

◆ set_softening_none()

void shammodels::sph::SelfGravConfig::set_softening_none ( )
inline

Definition at line 250 of file SolverConfig.hpp.

◆ set_softening_plummer()

void shammodels::sph::SelfGravConfig::set_softening_plummer ( f64  epsilon)
inline

Definition at line 249 of file SolverConfig.hpp.

Member Data Documentation

◆ config

mode shammodels::sph::SelfGravConfig::config = None{}

Definition at line 219 of file SolverConfig.hpp.

◆ softening_mode

mode_soft shammodels::sph::SelfGravConfig::softening_mode = SofteningPlummer{1e-9}

Definition at line 247 of file SolverConfig.hpp.


The documentation for this struct was generated from the following file: