File pvode.hxx

class PvodeSolver : public Solver

Public Functions

PvodeSolver(Options *opts)
~PvodeSolver()
inline virtual BoutReal getCurrentTimestep() override

Return the current internal timestep.

virtual int init(int nout, BoutReal tstep) override

Initialise the solver NOTE: nout and tstep should be passed to run, not init. Needed because of how the PETSc TS code works

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.

BoutReal run(BoutReal tout)
void rhs(int N, BoutReal t, BoutReal *udata, BoutReal *dudata)
void gloc(int N, BoutReal t, BoutReal *udata, BoutReal *dudata)

Private Members

int NOUT
BoutReal TIMESTEP
BoutReal hcur
pvode::N_Vector u
pvode::machEnvType machEnv
void *cvode_mem
BoutReal abstol
BoutReal reltol
pvode::PVBBDData pdata
bool pvode_initialised = false