Chaste  Release::2018.1
EulerIvpOdeSolver Class Reference

#include <EulerIvpOdeSolver.hpp>

+ Inheritance diagram for EulerIvpOdeSolver:
+ Collaboration diagram for EulerIvpOdeSolver:

Public Member Functions

 EulerIvpOdeSolver ()
 
virtual ~EulerIvpOdeSolver ()
 
- 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 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)
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Attributes inherited from AbstractIvpOdeSolver
bool mStoppingEventOccurred
 
double mStoppingTime
 

Detailed Description

A concrete one step ODE solver class that employs the forward Euler method. This numerical method is explicit.

Definition at line 49 of file EulerIvpOdeSolver.hpp.

Constructor & Destructor Documentation

EulerIvpOdeSolver::EulerIvpOdeSolver ( )
inline

Constructor.

Definition at line 94 of file EulerIvpOdeSolver.hpp.

virtual EulerIvpOdeSolver::~EulerIvpOdeSolver ( )
inlinevirtual

Destructor.

Definition at line 100 of file EulerIvpOdeSolver.hpp.

Member Function Documentation

void EulerIvpOdeSolver::CalculateNextYValue ( AbstractOdeSystem pAbstractOdeSystem,
double  timeStep,
double  time,
std::vector< double > &  rCurrentYValues,
std::vector< double > &  rNextYValues 
)
protectedvirtual

Calculate the solution to the ODE system at the next timestep.

A usage example: EulerIvpOdeSolver mySolver; OdeSolution solution = mySolver.Solve(pMyOdeSystem, yInit, StartTime, EndTime, TimeStep, SamplingTime);

Parameters
pAbstractOdeSystemthe ODE system to solve
timeStepdt
timethe current time
rCurrentYValuesthe current (initial) state
rNextYValuesthe state at the next timestep

Implements AbstractOneStepIvpOdeSolver.

Definition at line 38 of file EulerIvpOdeSolver.cpp.

References AbstractOdeSystem::EvaluateYDerivatives(), and AbstractUntemplatedParameterisedSystem::GetNumberOfStateVariables().

template<class Archive >
void EulerIvpOdeSolver::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Archive the abstract IVP Solver, never used directly - boost uses this.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 62 of file EulerIvpOdeSolver.hpp.

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 54 of file EulerIvpOdeSolver.hpp.


The documentation for this class was generated from the following files: