Chaste Release::3.1
|
#include <RungeKutta4IvpOdeSolver.hpp>
Protected Member Functions | |
void | CalculateNextYValue (AbstractOdeSystem *pAbstractOdeSystem, double timeStep, double time, std::vector< double > &rCurrentYValues, std::vector< double > &rNextYValues) |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Private Attributes | |
std::vector< double > | k1 |
std::vector< double > | k2 |
std::vector< double > | k3 |
std::vector< double > | k4 |
std::vector< double > | yki |
Friends | |
class | boost::serialization::access |
A concrete one step ODE solver class that employs the Runge Kutta 4th order solver (RK4).
Definition at line 48 of file RungeKutta4IvpOdeSolver.hpp.
void RungeKutta4IvpOdeSolver::CalculateNextYValue | ( | AbstractOdeSystem * | pAbstractOdeSystem, |
double | timeStep, | ||
double | time, | ||
std::vector< double > & | rCurrentYValues, | ||
std::vector< double > & | rNextYValues | ||
) | [protected, virtual] |
Calculate the solution to the ODE system at the next timestep.
pAbstractOdeSystem | the ODE system to solve |
timeStep | dt |
time | the current time |
rCurrentYValues | the current (initial) state |
rNextYValues | the state at the next timestep |
Implements AbstractOneStepIvpOdeSolver.
Definition at line 38 of file RungeKutta4IvpOdeSolver.cpp.
References AbstractOdeSystem::EvaluateYDerivatives(), AbstractUntemplatedParameterisedSystem::GetNumberOfStateVariables(), k1, k2, k3, k4, and yki.
void RungeKutta4IvpOdeSolver::serialize | ( | Archive & | archive, |
const unsigned int | version | ||
) | [inline, private] |
Archive the abstract IVP Solver, never used directly - boost uses this.
archive | the archive |
version | the current version of this class |
Reimplemented from AbstractOneStepIvpOdeSolver.
Definition at line 61 of file RungeKutta4IvpOdeSolver.hpp.
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractOneStepIvpOdeSolver.
Definition at line 53 of file RungeKutta4IvpOdeSolver.hpp.
std::vector<double> RungeKutta4IvpOdeSolver::k1 [private] |
Working memory: expression k1 in the RK4 method.
Definition at line 86 of file RungeKutta4IvpOdeSolver.hpp.
Referenced by CalculateNextYValue().
std::vector<double> RungeKutta4IvpOdeSolver::k2 [private] |
Working memory: expression k2 in the RK4 method.
Definition at line 87 of file RungeKutta4IvpOdeSolver.hpp.
Referenced by CalculateNextYValue().
std::vector<double> RungeKutta4IvpOdeSolver::k3 [private] |
Working memory: expression k3 in the RK4 method.
Definition at line 88 of file RungeKutta4IvpOdeSolver.hpp.
Referenced by CalculateNextYValue().
std::vector<double> RungeKutta4IvpOdeSolver::k4 [private] |
Working memory: expression k4 in the RK4 method.
Definition at line 89 of file RungeKutta4IvpOdeSolver.hpp.
Referenced by CalculateNextYValue().
std::vector<double> RungeKutta4IvpOdeSolver::yki [private] |
Working memory: expression yki in the RK4 method.
Definition at line 90 of file RungeKutta4IvpOdeSolver.hpp.
Referenced by CalculateNextYValue().