libode
Easy to compile, fast ODE integrators as C++ classes
Loading...
Searching...
No Matches
ode_lobatto_iiic_6.h
Go to the documentation of this file.
1#ifndef ODE_LOBATTO_IIIC_6_H_
2#define ODE_LOBATTO_IIIC_6_H_
3
5
6#include "ode_adaptive.h"
7#include "ode_irk.h"
8#include "ode_newton_bridge.h"
9
10namespace ode {
11
12//forward declaration to set up Newton class
13class OdeLobattoIIIC6;
14
16class NewtonLobattoIIIC6 : public OdeNewtonIRK<OdeLobattoIIIC6> {
17 public:
19
24 NewtonLobattoIIIC6 (unsigned long neq, unsigned long nnew, OdeLobattoIIIC6 *integrator) : OdeNewtonIRK (neq, nnew, integrator) {};
25 private:
26 void f_Newton (double *x, double *y);
27 void J_Newton (double *x, double **J);
28};
29
31
34class OdeLobattoIIIC6 : public OdeAdaptive, private OdeIRK {
35 //friends!
36 friend class OdeNewtonBridge<OdeLobattoIIIC6>;
37 friend class OdeNewtonIRK<OdeLobattoIIIC6>;
38
39 public:
41
44 OdeLobattoIIIC6 (unsigned long neq);
45
48
50 NewtonLobattoIIIC6 *get_newton () { return(newton_); }
51
52 private:
53 double **a;
54 double *b;
55 NewtonLobattoIIIC6 *newton_;
56 void step_ (double dt);
57};
58
59} // namespace ode
60
61#endif
Nonlinear system solver for OdeLobattoIIIC6.
NewtonLobattoIIIC6(unsigned long neq, unsigned long nnew, OdeLobattoIIIC6 *integrator)
constructs
Base class implementing solver functions with adaptive time steps.
Provides a large vector containing the slope values of all stages with pointers to each of the indivi...
Definition ode_irk.h:9
The sixth-order, L-stable, fully-implicit Lobatto IIIC method with 4 stages.
OdeLobattoIIIC6(unsigned long neq)
constructs
NewtonLobattoIIIC6 * get_newton()
returns a pointer to the solver's Newton system object
Templated base class connecting solver objects and OdeNewton objects.
Extension of OdeNewtonBridge class for fully implicit methods.