File cvode.hxx¶
-
class CvodeSolver : public Solver¶
Public Functions
-
~CvodeSolver()¶
-
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.
-
virtual void resetInternalFields() override¶
Should wipe out internal field vector and reset from current field object data.
Private Functions
-
void set_vector_option_values(BoutReal *option_data, std::vector<BoutReal> &f2dtols, std::vector<BoutReal> &f3dtols)¶
Private Members
-
int NOUT¶
-
bool diagnose = {false}¶
-
N_Vector uvec = {nullptr}¶
-
void *cvode_mem = {nullptr}¶
-
int pre_ncalls = {0}¶
-
int nsteps = {0}¶
-
int nfevals = {0}¶
-
int nniters = {0}¶
-
int npevals = {0}¶
-
int nliters = {0}¶
-
int last_order = {0}¶
-
int num_fails = {0}¶
-
int nonlin_fails = {0}¶
-
int stab_lims = {0}¶
-
bool cvode_initialised = false¶
-
SUNLinearSolver sun_solver = {nullptr}¶
SPGMR solver structure.
-
SUNNonlinearSolver nonlinear_solver = {nullptr}¶
Solver for functional iterations for Adams-Moulton.
-
~CvodeSolver()¶