OpenLB 1.7
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
olb::parameters::Stationarity< T, STAT_LATTICES > Struct Template Reference

All parameters that are necessary for checking whether the simulation became stationary. More...

#include <solverParameters.h>

+ Inheritance diagram for olb::parameters::Stationarity< T, STAT_LATTICES >:
+ Collaboration diagram for olb::parameters::Stationarity< T, STAT_LATTICES >:

Public Types

enum  ConvergenceType { MaxLatticeVelocity , AverageEnergy , AverageRho }
 
using stat_lattices
 

Public Member Functions

 Stationarity ()=default
 
 Stationarity (ConvergenceType type, T interval_, T epsilon_)
 
 Stationarity (std::array< ConvergenceType, numberOfStationaryLattices > type, std::array< T, numberOfStationaryLattices > interval_, std::array< T, numberOfStationaryLattices > epsilon_)
 
- Public Member Functions inherited from olb::parameters::ParameterBase
virtual void initialize ()
 

Public Attributes

std::array< ConvergenceType, numberOfStationaryLatticesconvergenceType {MaxLatticeVelocity}
 
std::array< T, numberOfStationaryLatticesphysInterval {1}
 
std::array< T, numberOfStationaryLatticesepsilon {1e-3}
 

Static Public Attributes

static constexpr unsigned numberOfArguments = sizeof...(STAT_LATTICES)
 
static constexpr unsigned numberOfStationaryLattices = stat_lattices::size
 

Detailed Description

template<typename T, typename... STAT_LATTICES>
struct olb::parameters::Stationarity< T, STAT_LATTICES >

All parameters that are necessary for checking whether the simulation became stationary.

Template parameters are the arithmetic type T and (optionally) the names of lattices for which stationarity is to be checked. If none are given, NavierStokes is set as a default.

Definition at line 96 of file solverParameters.h.

Member Typedef Documentation

◆ stat_lattices

template<typename T , typename... STAT_LATTICES>
using olb::parameters::Stationarity< T, STAT_LATTICES >::stat_lattices
Initial value:
std::conditional_t <(numberOfArguments == 0),
meta::list<names::NavierStokes>,
meta::list<STAT_LATTICES...>>
static constexpr unsigned numberOfArguments

Definition at line 100 of file solverParameters.h.

Member Enumeration Documentation

◆ ConvergenceType

template<typename T , typename... STAT_LATTICES>
enum olb::parameters::Stationarity::ConvergenceType
Enumerator
MaxLatticeVelocity 
AverageEnergy 
AverageRho 

Definition at line 105 of file solverParameters.h.

Constructor & Destructor Documentation

◆ Stationarity() [1/3]

template<typename T , typename... STAT_LATTICES>
olb::parameters::Stationarity< T, STAT_LATTICES >::Stationarity ( )
default

◆ Stationarity() [2/3]

template<typename T , typename... STAT_LATTICES>
olb::parameters::Stationarity< T, STAT_LATTICES >::Stationarity ( ConvergenceType type,
T interval_,
T epsilon_ )
inline

Definition at line 113 of file solverParameters.h.

114 {
115 std::fill(convergenceType.begin(), convergenceType.end(), type);
116 std::fill(physInterval.begin(), physInterval.end(), interval_);
117 std::fill(epsilon.begin(), epsilon.end(), epsilon_);
118 }
std::array< T, numberOfStationaryLattices > epsilon
std::array< ConvergenceType, numberOfStationaryLattices > convergenceType
std::array< T, numberOfStationaryLattices > physInterval

References olb::parameters::Stationarity< T, STAT_LATTICES >::convergenceType, olb::parameters::Stationarity< T, STAT_LATTICES >::epsilon, and olb::parameters::Stationarity< T, STAT_LATTICES >::physInterval.

◆ Stationarity() [3/3]

template<typename T , typename... STAT_LATTICES>
olb::parameters::Stationarity< T, STAT_LATTICES >::Stationarity ( std::array< ConvergenceType, numberOfStationaryLattices > type,
std::array< T, numberOfStationaryLattices > interval_,
std::array< T, numberOfStationaryLattices > epsilon_ )
inline

Definition at line 120 of file solverParameters.h.

124 : convergenceType(type), physInterval(interval_), epsilon(epsilon_)
125 { }

Member Data Documentation

◆ convergenceType

template<typename T , typename... STAT_LATTICES>
std::array<ConvergenceType,numberOfStationaryLattices> olb::parameters::Stationarity< T, STAT_LATTICES >::convergenceType {MaxLatticeVelocity}

Definition at line 107 of file solverParameters.h.

◆ epsilon

template<typename T , typename... STAT_LATTICES>
std::array<T,numberOfStationaryLattices> olb::parameters::Stationarity< T, STAT_LATTICES >::epsilon {1e-3}

Definition at line 109 of file solverParameters.h.

109{1e-3};

◆ numberOfArguments

template<typename T , typename... STAT_LATTICES>
constexpr unsigned olb::parameters::Stationarity< T, STAT_LATTICES >::numberOfArguments = sizeof...(STAT_LATTICES)
staticconstexpr

Definition at line 98 of file solverParameters.h.

◆ numberOfStationaryLattices

template<typename T , typename... STAT_LATTICES>
constexpr unsigned olb::parameters::Stationarity< T, STAT_LATTICES >::numberOfStationaryLattices = stat_lattices::size
staticconstexpr

Definition at line 103 of file solverParameters.h.

◆ physInterval

template<typename T , typename... STAT_LATTICES>
std::array<T,numberOfStationaryLattices> olb::parameters::Stationarity< T, STAT_LATTICES >::physInterval {1}

Definition at line 108 of file solverParameters.h.

108{1};

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