Implements the Runge-Kutta-12 scheme for integrating ODEs. More...
#include <integrator_runge_kutta12.hpp>
Public Member Functions | |
virtual Integrator * | clone () const |
virtual returnValue | init (const DifferentialEquation &rhs_) |
IntegratorRK12 () | |
IntegratorRK12 (const DifferentialEquation &rhs_) | |
IntegratorRK12 (const IntegratorRK12 &arg) | |
virtual IntegratorRK12 & | operator= (const IntegratorRK12 &arg) |
virtual returnValue | step (int number) |
virtual | ~IntegratorRK12 () |
Protected Member Functions | |
virtual void | initializeButcherTableau () |
Implements the Runge-Kutta-12 scheme for integrating ODEs.
The class IntegratorRK12 implements the Runge-Kutta-12 scheme for integrating ordinary differential equations (ODEs).
Definition at line 54 of file integrator_runge_kutta12.hpp.
Default constructor.
Definition at line 52 of file integrator_runge_kutta12.cpp.
IntegratorRK12::IntegratorRK12 | ( | const DifferentialEquation & | rhs_ | ) |
Default constructor.
Definition at line 58 of file integrator_runge_kutta12.cpp.
IntegratorRK12::IntegratorRK12 | ( | const IntegratorRK12 & | arg | ) |
Copy constructor (deep copy).
Definition at line 64 of file integrator_runge_kutta12.cpp.
IntegratorRK12::~IntegratorRK12 | ( | ) | [virtual] |
Destructor.
Definition at line 67 of file integrator_runge_kutta12.cpp.
Integrator * IntegratorRK12::clone | ( | ) | const [virtual] |
The (virtual) copy constructor
Implements IntegratorRK.
Reimplemented in IntegratorDiscretizedODE.
Definition at line 79 of file integrator_runge_kutta12.cpp.
returnValue IntegratorRK12::init | ( | const DifferentialEquation & | rhs_ | ) | [virtual] |
The initialization routine which takes the right-hand side of
the differential equation to be integrated.
rhs | the right-hand side of the ODE/DAE. |
Reimplemented from IntegratorRK.
Reimplemented in IntegratorDiscretizedODE.
Definition at line 86 of file integrator_runge_kutta12.cpp.
void IntegratorRK12::initializeButcherTableau | ( | ) | [protected, virtual] |
This routine initializes the coefficients of the Butcher Tableau.
Implements IntegratorRK.
Definition at line 100 of file integrator_runge_kutta12.cpp.
IntegratorRK12 & IntegratorRK12::operator= | ( | const IntegratorRK12 & | arg | ) | [virtual] |
Assignment operator (deep copy).
Definition at line 70 of file integrator_runge_kutta12.cpp.
returnValue IntegratorRK12::step | ( | int | number | ) | [virtual] |
Executes the next single step. This function can be used to
call the integrator step wise. Note that this function is e.g.
useful in real-time simulations where after each step a time
out limit has to be checked. This function will usually return
In most real situations you can define the maximum number of
step sizes to be 1 before calling the function integrate
Then the function integrate should return after one step with
the message
RET_MAXIMUM_NUMBER_OF_STEPS_EXCEEDED. After that you can call
step() until the final time is reached.
(You can use the PrintLevel NONE to avoid that the message
RET_MAXIMUM_NUMBER_OF_STEPS_EXCEEDED is printed.)
number | the step number |
Reimplemented from IntegratorRK.
Reimplemented in IntegratorDiscretizedODE.
Definition at line 93 of file integrator_runge_kutta12.cpp.