File euler.hxx#

class EulerSolver : public Solver#

Public Functions

explicit EulerSolver(Options *options = nullptr)#
~EulerSolver() = default#
void setMaxTimestep(BoutReal dt) override#
inline virtual BoutReal getCurrentTimestep() override#

Return the current internal timestep.

virtual int init() override#

Initialise the solver.

virtual int run() override#

Run the solver, calling monitors nout times, at intervals of tstep. This function is called by solve(), and is specific to each solver type

This should probably be protected, since it shouldn’t be called by users.

Private Functions

void take_step(BoutReal curtime, BoutReal dt, Array<BoutReal> &start, Array<BoutReal> &result)#

Take a single step to calculate f1.

Private Members

int mxstep#
BoutReal cfl_factor#
Array<BoutReal> f0#
Array<BoutReal> f1#
BoutReal timestep#
bool timestep_reduced#
int nlocal#