File rkscheme.hxx

Defines

RKSchemeType
RKSCHEME_RKF45
RKSCHEME_CASHKARP
RKSCHEME_RK4
RKSCHEME_RKF34
class RKScheme

Subclassed by CASHKARPScheme, RK4SIMPLEScheme, RKF34Scheme, RKF45Scheme

Public Functions

RKScheme(Options *opts = nullptr)
virtual ~RKScheme()
void init(int nlocalIn, int neqIn, bool adaptiveIn, BoutReal atolIn, BoutReal rtolIn, Options *options = nullptr)
BoutReal setCurTime(BoutReal timeIn, BoutReal dt, int curStage)
void setCurState(const Array<BoutReal> &start, Array<BoutReal> &out, int curStage, BoutReal dt)
BoutReal setOutputStates(const Array<BoutReal> &start, BoutReal dt, Array<BoutReal> &resultFollow)
BoutReal updateTimestep(BoutReal dt, BoutReal err)
virtual std::string getType()
int getStageCount()
int getNumOrders()

Public Members

Matrix<BoutReal> steps

Protected Functions

BoutReal getErr(Array<BoutReal> &solA, Array<BoutReal> &solB)
void constructOutput(const Array<BoutReal> &start, BoutReal dt, int index, Array<BoutReal> &sol)
void constructOutputs(const Array<BoutReal> &start, BoutReal dt, int indexFollow, int indexAlt, Array<BoutReal> &solFollow, Array<BoutReal> &solAlt)

Protected Attributes

bool followHighOrder
std::string label
int numStages
int numOrders
int order
Matrix<BoutReal> stageCoeffs
Matrix<BoutReal> resultCoeffs
Array<BoutReal> timeCoeffs
Array<BoutReal> resultAlt
int nlocal
int neq
BoutReal atol
BoutReal rtol
bool adaptive
BoutReal dtfac

Private Functions

void verifyCoeffs()
void printButcherTableau()
void zeroSteps()