Chaste  Release::3.4
GRL2IvpOdeSolver Class Reference

#include <GRL2IvpOdeSolver.hpp>

+ Inheritance diagram for GRL2IvpOdeSolver:
+ Collaboration diagram for GRL2IvpOdeSolver:

Public Member Functions

 GRL2IvpOdeSolver ()
 
- 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)
 

Private Attributes

std::vector< doublemEvalF
 
std::vector< doublemPartialF
 
std::vector< doublemTemp
 
std::vector< doublemYinit
 

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 GRL2 second-order solver. Method is described in J. Sundnes, R. Artebrant, O. Skavhaug, and A. Tveito. A second-order algorithm for solving dynamic cell membrane equations. IEEE Trans. Biomed. Eng., 56(10):2546-2548, 2009.

Definition at line 59 of file GRL2IvpOdeSolver.hpp.

Constructor & Destructor Documentation

GRL2IvpOdeSolver::GRL2IvpOdeSolver ( )
inline

Constructor.

Definition at line 112 of file GRL2IvpOdeSolver.hpp.

Member Function Documentation

void GRL2IvpOdeSolver::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.

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 50 of file GRL2IvpOdeSolver.cpp.

References AbstractOdeSystem::EvaluateYDerivatives(), AbstractUntemplatedParameterisedSystem::GetNumberOfStateVariables(), mEvalF, mPartialF, mTemp, and mYinit.

template<class Archive >
void GRL2IvpOdeSolver::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 72 of file GRL2IvpOdeSolver.hpp.

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 64 of file GRL2IvpOdeSolver.hpp.

Member Data Documentation

std::vector<double> GRL2IvpOdeSolver::mEvalF
private

Working memory for the solver

Definition at line 79 of file GRL2IvpOdeSolver.hpp.

Referenced by CalculateNextYValue().

std::vector<double> GRL2IvpOdeSolver::mPartialF
private

Working memory for the solver

Definition at line 82 of file GRL2IvpOdeSolver.hpp.

Referenced by CalculateNextYValue().

std::vector<double> GRL2IvpOdeSolver::mTemp
private

Working memory for the solver

Definition at line 85 of file GRL2IvpOdeSolver.hpp.

Referenced by CalculateNextYValue().

std::vector<double> GRL2IvpOdeSolver::mYinit
private

Working memory for the solver

Definition at line 88 of file GRL2IvpOdeSolver.hpp.

Referenced by CalculateNextYValue().


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