libode
Easy to compile, fast ODE integrators as C++ classes
Loading...
Searching...
No Matches
ode::OdeNewtonIRK< Integrator > Class Template Reference

Extension of OdeNewtonBridge class for fully implicit methods. More...

#include <ode_newton_bridge.h>

Inheritance diagram for ode::OdeNewtonIRK< Integrator >:
ode::OdeNewtonBridge< Integrator > ode::OdeNewton

Public Member Functions

 OdeNewtonIRK (unsigned long neq, int nk, Integrator *integrator)
 constructs
 
- 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

int nk_
 number of stages or k vectors
 
double ** k_
 pointer to the stage slopes of RK methods
 
double ** a
 pointer to tableau coefficients
 
double * b
 pointer to tableau coefficients
 
- 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
 

Detailed Description

template<class Integrator>
class ode::OdeNewtonIRK< Integrator >

Extension of OdeNewtonBridge class for fully implicit 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

Definition at line 93 of file ode_newton_bridge.h.

Constructor & Destructor Documentation

◆ OdeNewtonIRK()

template<class Integrator >
ode::OdeNewtonIRK< Integrator >::OdeNewtonIRK ( unsigned long neq,
int nk,
Integrator * integrator )
inline

constructs

Parameters
[in]neqsize of system of ODEs
[in]nknumber of stages
[in]integratorpointer to integrator object

Definition at line 102 of file ode_newton_bridge.h.

Member Data Documentation

◆ a

template<class Integrator >
double** ode::OdeNewtonIRK< Integrator >::a
protected

pointer to tableau coefficients

Definition at line 121 of file ode_newton_bridge.h.

◆ b

template<class Integrator >
double* ode::OdeNewtonIRK< Integrator >::b
protected

pointer to tableau coefficients

Definition at line 123 of file ode_newton_bridge.h.

◆ k_

template<class Integrator >
double** ode::OdeNewtonIRK< Integrator >::k_
protected

pointer to the stage slopes of RK methods

Definition at line 119 of file ode_newton_bridge.h.

◆ nk_

template<class Integrator >
int ode::OdeNewtonIRK< Integrator >::nk_
protected

number of stages or k vectors

Definition at line 117 of file ode_newton_bridge.h.


The documentation for this class was generated from the following file: