File rkscheme.hxx¶
Typedefs
-
using RegisterRKScheme = RKSchemeFactory::RegisterInFactory<DerivedType>¶
Simpler name for Factory registration helper class
Usage:
#include <bout/rkschemefactory.hxx> namespace { RegisterRKScheme<MyRKScheme> registerrkschememine("myrkscheme"); }
Variables
-
constexpr auto RKSCHEME_RKF45 =
"rkf45"¶
-
constexpr auto RKSCHEME_CASHKARP =
"cashkarp"¶
-
constexpr auto RKSCHEME_RK4 =
"rk4"¶
-
constexpr auto RKSCHEME_RKF34 =
"rkf34"¶
-
class RKSchemeFactory : public Factory<RKScheme, RKSchemeFactory, Options*>¶
Public Static Attributes
-
static constexpr auto type_name =
"RKScheme"¶
-
static constexpr auto section_name =
"solver"¶
-
static constexpr auto option_name =
"scheme"¶
-
static constexpr auto default_type = RKSCHEME_RKF45¶
-
static constexpr auto type_name =
-
class RKScheme¶
Subclassed by CASHKARPScheme, RK4SIMPLEScheme, RKF34Scheme, RKF45Scheme
Public Functions
-
virtual ~RKScheme() = default¶
-
void init(int nlocalIn, int neqIn, bool adaptiveIn, BoutReal atolIn, BoutReal rtolIn, Options *options = nullptr)¶
-
virtual void setCurState(const Array<BoutReal> &start, Array<BoutReal> &out, int curStage, BoutReal dt)¶
-
virtual BoutReal setOutputStates(const Array<BoutReal> &start, BoutReal dt, Array<BoutReal> &resultFollow)¶
-
inline int getStageCount()¶
-
inline int getNumOrders()¶
Protected Functions
-
virtual ~RKScheme() = default¶