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 = "RKScheme"#
-
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)#
Finish generic initialisation.
-
virtual void setCurState(const Array<BoutReal> &start, Array<BoutReal> &out, int curStage, BoutReal dt)#
Get the state vector at given stage.
-
virtual BoutReal setOutputStates(const Array<BoutReal> &start, BoutReal dt, Array<BoutReal> &resultFollow)#
Calculate the output state and return the error estimate (if adaptive)
-
inline int getStageCount()#
Returns the number of stages for the current scheme.
-
inline int getNumOrders()#
Returns the number of orders for the current scheme.
Protected Functions
-
virtual ~RKScheme() = default#