Chaste
Release::3.4
|
#include <AbstractIvpOdeSolver.hpp>
Public Member Functions | |
virtual OdeSolution | Solve (AbstractOdeSystem *pAbstractOdeSystem, std::vector< double > &rYValues, double startTime, double endTime, double timeStep, double timeSampling)=0 |
virtual void | Solve (AbstractOdeSystem *pAbstractOdeSystem, std::vector< double > &rYValues, double startTime, double endTime, double timeStep)=0 |
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 | |
bool | mStoppingEventOccurred |
double | mStoppingTime |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | boost::serialization::access |
Abstract initial value problem ODE solver class. Sets up variables and functions for a numerical solution technique for an initial value ODE problem.
Definition at line 52 of file AbstractIvpOdeSolver.hpp.
AbstractIvpOdeSolver::AbstractIvpOdeSolver | ( | ) |
Constructor.
Definition at line 42 of file AbstractIvpOdeSolver.cpp.
|
virtual |
Virtual destructor since we have virtual methods.
Definition at line 48 of file AbstractIvpOdeSolver.cpp.
double AbstractIvpOdeSolver::GetStoppingTime | ( | ) |
Get the stopping time for the solver.
Definition at line 70 of file AbstractIvpOdeSolver.cpp.
References mStoppingTime.
|
inlineprivate |
Archive the member variables.
archive | the archive |
version | the current version of this class |
Definition at line 63 of file AbstractIvpOdeSolver.hpp.
References mStoppingEventOccurred, and mStoppingTime.
|
pure virtual |
Solves a system of ODEs using a specified one-step ODE solver and returns the solution as an OdeSolution object.
pAbstractOdeSystem | pointer to the concrete ODE system to be solved |
rYValues | a standard vector specifying the intial condition of each solution variable in the system (this can be the initial conditions vector stored in the ODE system) |
startTime | the time at which the initial conditions are specified |
endTime | the time to which the system should be solved and the solution returned |
timeStep | the time interval to be used by the solver |
timeSampling | the interval at which to sample the solution to the ODE system |
Implemented in CvodeAdaptor, RungeKuttaFehlbergIvpOdeSolver, and AbstractOneStepIvpOdeSolver.
Referenced by SolveAndUpdateStateVariable().
|
pure virtual |
Second version of Solve. Solves a system of ODEs using a specified one-step ODE solver. This method does not return the solution and therefore does not take in a sampling time. Instead, the mStateVariables component in the ODE system object is updated.
pAbstractOdeSystem | pointer to the concrete ODE system to be solved |
rYValues | a standard vector specifying the intial condition of each solution variable in the system (this can be the initial conditions vector stored in the ODE system) |
startTime | the time at which the initial conditions are specified |
endTime | the time to which the system should be solved and the solution returned |
timeStep | the time interval to be used by the solver |
Implemented in CvodeAdaptor, RungeKuttaFehlbergIvpOdeSolver, and AbstractOneStepIvpOdeSolver.
|
virtual |
Solves a system of ODEs using a specified one-step ODE solver and update the state variables.
pAbstractOdeSystem | pointer to the concrete ODE system to be solved |
startTime | the time at which the initial conditions are specified |
endTime | the time to which the system should be solved and the solution returned |
timeStep | the time interval to be used by the solver |
Definition at line 52 of file AbstractIvpOdeSolver.cpp.
References EXCEPTION, AbstractUntemplatedParameterisedSystem::GetNumberOfStateVariables(), AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), and Solve().
Referenced by AbstractOdeBasedContractionModel::RunAndUpdate().
bool AbstractIvpOdeSolver::StoppingEventOccurred | ( | ) |
Definition at line 65 of file AbstractIvpOdeSolver.cpp.
References mStoppingEventOccurred.
|
friend |
Needed for serialization.
Definition at line 55 of file AbstractIvpOdeSolver.hpp.
|
protected |
Boolean indicating whether the solver quit due to the ODEs stopping event occuring
Definition at line 75 of file AbstractIvpOdeSolver.hpp.
Referenced by AbstractOneStepIvpOdeSolver::InternalSolve(), RungeKuttaFehlbergIvpOdeSolver::InternalSolve(), serialize(), AbstractOneStepIvpOdeSolver::Solve(), RungeKuttaFehlbergIvpOdeSolver::Solve(), CvodeAdaptor::Solve(), and StoppingEventOccurred().
|
protected |
If a stopping event occurred the time is stored here. (Only valid when mStoppingEventOccurred==true)
Definition at line 78 of file AbstractIvpOdeSolver.hpp.
Referenced by GetStoppingTime(), AbstractOneStepIvpOdeSolver::InternalSolve(), RungeKuttaFehlbergIvpOdeSolver::InternalSolve(), serialize(), AbstractOneStepIvpOdeSolver::Solve(), and CvodeAdaptor::Solve().