libode
Easy to compile, fast ODE integrators as C++ classes
|
Extension of OdeNewtonBridge class for fully SDIRK methods. More...
#include <ode_newton_bridge.h>
Public Member Functions | |
OdeNewtonSDIRK (unsigned long neq, Integrator *integrator) | |
constructs | |
void | set_ik (int ik) |
sets the index of the k vector being solved for | |
Public Member Functions inherited from ode::OdeNewtonBridge< Integrator > | |
OdeNewtonBridge (unsigned long neq, unsigned long nnew, Integrator *integrator) | |
constructs | |
~OdeNewtonBridge () | |
destructs | |
Public Member Functions inherited from ode::OdeNewton | |
OdeNewton (unsigned long n) | |
constructs | |
virtual | ~OdeNewton () |
destructs | |
unsigned long | get_n () |
gets the size of the system | |
double | get_tol_Newton () |
gets the L infinity tolerance | |
unsigned long | get_iter_Newton () |
gets iteration counter | |
int | get_iJLU () |
gets the LU decomposition interval | |
unsigned long | get_nJLU () |
gets the LU decomposition counter | |
unsigned long | get_n_solve_LU () |
gets the LU solve counter | |
bool | get_modified () |
gets whether modified Newtion's is being used | |
bool | get_ignore_JLU () |
gets whether no LU decompositions should be done | |
void | set_tol_Newton (double tol_Newton) |
sets the L infinity tolerance | |
void | set_iter_Newton (unsigned long iter_Newton) |
sets the iteration counter | |
void | set_iJLU (int iJLU) |
sets the LU decomposition interval | |
void | set_modified (bool modified) |
sets whether modified Newtion's is being used | |
void | set_ignore_JLU (bool ignore_JLU) |
sets whether no LU decompositions should be done | |
int | solve_Newton (double *x) |
Solve the system of equations. | |
Protected Attributes | |
double ** | k_ |
pointer to the stage slopes of RK methods | |
double | gam |
diagonal tableau coefficient | |
double ** | a |
pointer to tableau coefficients | |
double * | b |
pointer to tableau coefficients | |
int | ik_ |
the index of the k vector being solved for | |
Protected Attributes inherited from ode::OdeNewtonBridge< Integrator > | |
unsigned long | neq_ |
ODE system size. | |
unsigned long | nnew_ |
Newton system size. | |
Integrator * | integrator_ |
storage of a pointer to the solver class | |
double * | sol_ |
pointer to the solver's solution vector | |
double ** | Jac_ |
pointer to the solver's Jacobian matrix | |
double * | dt_ |
pointer to time step member | |
double * | ftemp_ |
temporary values for evaluation of Newton function | |
double * | soltemp_ |
temporary solution values | |
Additional Inherited Members | |
Protected Member Functions inherited from ode::OdeNewtonBridge< Integrator > | |
void | fun (double *solin, double *fout) |
wrapper around system evaluation function | |
void | jac (double *solin, double **Jout) |
wrapper around Jacobian evaluation function | |
Protected Member Functions inherited from ode::OdeNewton | |
virtual void | f_Newton (double *x, double *f)=0 |
evaluates the function being zeroed | |
virtual void | J_Newton (double *x, double **J)=0 |
evaluates the Jacobian matrix of the function being zeroed | |
Extension of OdeNewtonBridge class for fully SDIRK methods.
This class extends the Bridge class by storing pointers to the integrator class's k vectors and tableau/coefficients, which are needed for newton iterations. It also stores an ik_ integer indicating which stage of the SDIRK scheme is being solved for and the gamma value of the scheme (the diagonal of the a matrix).
Definition at line 134 of file ode_newton_bridge.h.
|
inline |
constructs
[in] | neq | size of system of ODEs |
[in] | integrator | pointer to integrator object |
Definition at line 142 of file ode_newton_bridge.h.
|
inline |
sets the index of the k vector being solved for
Definition at line 156 of file ode_newton_bridge.h.
|
protected |
pointer to tableau coefficients
Definition at line 165 of file ode_newton_bridge.h.
|
protected |
pointer to tableau coefficients
Definition at line 167 of file ode_newton_bridge.h.
|
protected |
diagonal tableau coefficient
Definition at line 163 of file ode_newton_bridge.h.
|
protected |
the index of the k vector being solved for
Definition at line 169 of file ode_newton_bridge.h.
|
protected |
pointer to the stage slopes of RK methods
Definition at line 161 of file ode_newton_bridge.h.