![]() |
OGS
v6.3.3
|
ODE solver interfacing with Sundials' CVode.
All methods of this class have the same semantics as methods from the ODESolver interface with the same name.
There is no implicit information about vector and matrix sizes in this class anymore, rather this class only handles raw pointers. But this is exactly what is necessary when using C libraries like Sundials.
Definition at line 45 of file CVodeSolver.h.
#include <CVodeSolver.h>
Protected Member Functions | |
CVodeSolver (BaseLib::ConfigTree const &config, unsigned const num_equations) | |
void | setTolerance (double const *const abstol, const double reltol) |
void | setTolerance (const double abstol, const double reltol) |
void | setFunction (std::unique_ptr< detail::FunctionHandles > &&f) |
void | setIC (const double t0, double const *const y0) |
void | preSolve () |
bool | solve (const double t_end) |
double const * | getSolution () const |
double | getTime () const |
void | getYDot (const double t, double const *const y, double *const y_dot) const |
~CVodeSolver () | |
Private Attributes | |
std::unique_ptr< CVodeSolverImpl > | _impl |
pimpl idiom. More... | |
|
protected |
Construct from the given config
with storage allocated for the given num_equations
.
Definition at line 310 of file CVodeSolver.cpp.
|
protecteddefault |
|
protected |
Definition at line 346 of file CVodeSolver.cpp.
References _impl.
|
protected |
Definition at line 357 of file CVodeSolver.cpp.
References _impl.
|
protected |
Definition at line 351 of file CVodeSolver.cpp.
References _impl.
|
protected |
Definition at line 336 of file CVodeSolver.cpp.
References _impl.
|
protected |
Definition at line 326 of file CVodeSolver.cpp.
References _impl.
|
protected |
Definition at line 331 of file CVodeSolver.cpp.
References _impl.
|
protected |
Definition at line 321 of file CVodeSolver.cpp.
References _impl.
|
protected |
Definition at line 316 of file CVodeSolver.cpp.
References _impl.
|
protected |
Definition at line 341 of file CVodeSolver.cpp.
References _impl.
|
private |
pimpl idiom.
Definition at line 73 of file CVodeSolver.h.
Referenced by getSolution(), getTime(), getYDot(), preSolve(), setFunction(), setIC(), setTolerance(), and solve().