Chaste  Release::2018.1
GRL1IvpOdeSolver Class Reference

#include <GRL1IvpOdeSolver.hpp>

+ Inheritance diagram for GRL1IvpOdeSolver:
+ Collaboration diagram for GRL1IvpOdeSolver:

Public Member Functions

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

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 GRL1 first-order solver. Method is mentioned 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 GRL1IvpOdeSolver.hpp.

Constructor & Destructor Documentation

GRL1IvpOdeSolver::GRL1IvpOdeSolver ( )
inline

Constructor.

Definition at line 107 of file GRL1IvpOdeSolver.hpp.

Member Function Documentation

void GRL1IvpOdeSolver::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 48 of file GRL1IvpOdeSolver.cpp.

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

template<class Archive >
void GRL1IvpOdeSolver::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 GRL1IvpOdeSolver.hpp.

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 64 of file GRL1IvpOdeSolver.hpp.

Member Data Documentation

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

Working memory for the solver

Definition at line 79 of file GRL1IvpOdeSolver.hpp.

Referenced by CalculateNextYValue().

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

Working memory for the solver

Definition at line 81 of file GRL1IvpOdeSolver.hpp.

Referenced by CalculateNextYValue().

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

Working memory for the solver

Definition at line 83 of file GRL1IvpOdeSolver.hpp.

Referenced by CalculateNextYValue().


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