![]() |
Chaste
Release::3.4
|
#include <RungeKutta4IvpOdeSolver.hpp>
Inheritance diagram for RungeKutta4IvpOdeSolver:
Collaboration diagram for RungeKutta4IvpOdeSolver:Protected Member Functions | |
| void | CalculateNextYValue (AbstractOdeSystem *pAbstractOdeSystem, double timeStep, double time, std::vector< double > &rCurrentYValues, std::vector< double > &rNextYValues) |
Protected Member Functions inherited from AbstractOneStepIvpOdeSolver | |
| virtual void | InternalSolve (AbstractOdeSystem *pAbstractOdeSystem, std::vector< double > &rCurrentYValues, std::vector< double > &rWorkingMemory, double startTime, double endTime, double timeStep) |
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 |
Additional Inherited Members | |
Public Member Functions inherited from AbstractOneStepIvpOdeSolver | |
| virtual OdeSolution | Solve (AbstractOdeSystem *pAbstractOdeSystem, std::vector< double > &rYValues, double startTime, double endTime, double timeStep, double timeSampling) |
| virtual void | Solve (AbstractOdeSystem *pAbstractOdeSystem, std::vector< double > &rYValues, double startTime, double endTime, double timeStep) |
| virtual | ~AbstractOneStepIvpOdeSolver () |
Public Member Functions inherited from AbstractIvpOdeSolver | |
| virtual void | SolveAndUpdateStateVariable (AbstractOdeSystem *pAbstractOdeSystem, double startTime, double endTime, double timeStep) |
| bool | StoppingEventOccurred () |
| double | GetStoppingTime () |
| AbstractIvpOdeSolver () | |
| virtual | ~AbstractIvpOdeSolver () |
Public Member Functions inherited from Identifiable | |
| virtual | ~Identifiable () |
| std::string | GetIdentifier () const |
Protected Attributes inherited from AbstractIvpOdeSolver | |
| bool | mStoppingEventOccurred |
| double | mStoppingTime |
A concrete one step ODE solver class that employs the Runge Kutta 4th order solver (RK4).
Definition at line 48 of file RungeKutta4IvpOdeSolver.hpp.
|
protectedvirtual |
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.
|
inlineprivate |
Archive the abstract IVP Solver, never used directly - boost uses this.
| archive | the archive |
| version | the current version of this class |
Definition at line 61 of file RungeKutta4IvpOdeSolver.hpp.
|
friend |
Needed for serialization.
Definition at line 53 of file RungeKutta4IvpOdeSolver.hpp.
|
private |
Working memory: expression k1 in the RK4 method.
Definition at line 86 of file RungeKutta4IvpOdeSolver.hpp.
Referenced by CalculateNextYValue().
|
private |
Working memory: expression k2 in the RK4 method.
Definition at line 87 of file RungeKutta4IvpOdeSolver.hpp.
Referenced by CalculateNextYValue().
|
private |
Working memory: expression k3 in the RK4 method.
Definition at line 88 of file RungeKutta4IvpOdeSolver.hpp.
Referenced by CalculateNextYValue().
|
private |
Working memory: expression k4 in the RK4 method.
Definition at line 89 of file RungeKutta4IvpOdeSolver.hpp.
Referenced by CalculateNextYValue().
|
private |
Working memory: expression yki in the RK4 method.
Definition at line 90 of file RungeKutta4IvpOdeSolver.hpp.
Referenced by CalculateNextYValue().