File arkode.hxx#
-
class ArkodeSolver : public Solver#
Public Functions
-
~ArkodeSolver()#
-
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
Private Members
-
bool diagnose = {false}#
-
N_Vector uvec = {nullptr}#
-
void *arkode_mem = {nullptr}#
-
int pre_ncalls = {0}#
-
int mxsteps#
Maximum number of steps to take between outputs.
-
bool imex#
Use ImEx capability.
-
bool solve_explicit#
Solve only explicit part.
-
bool solve_implicit#
Solve only implicit part.
-
bool set_linear#
Use linear implicit solver (only evaluates jacobian inversion once)
-
bool fixed_step#
Solve explicit portion in fixed timestep mode. NOTE: This is not recommended except for code comparison
-
int order#
Order of internal step.
-
int adap_method#
Set timestep adaptivity function:
0: PID adaptivity (default)
1: PI
2: I
3: explicit Gustafsson
4: implicit Gustafsson
5: ImEx Gustafsson
-
bool use_vector_abstol#
Use separate absolute tolerance for each field.
-
bool fixed_point#
Use accelerated fixed point solver instead of Newton iterative.
-
bool use_precon#
Use user-supplied preconditioner function.
-
int maxl#
Number of Krylov basis vectors to use.
-
bool rightprec#
Use right preconditioning instead of left preconditioning.
-
bool use_jacobian#
Use user-supplied Jacobian function.
-
bool optimize#
Use ARKode optimal parameters.
-
int nsteps = {0}#
-
int nfe_evals = {0}#
-
int nfi_evals = {0}#
-
int nniters = {0}#
-
int npevals = {0}#
-
int nliters = {0}#
-
SUNLinearSolver sun_solver = {nullptr}#
SPGMR solver structure.
-
~ArkodeSolver()#