Chaste Release::3.1
AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM > Class Template Reference

#include <AbstractConvergenceTester.hpp>

Inheritance diagram for AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >:
Collaboration diagram for AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >:

List of all members.

Public Member Functions

void Converge (std::string nameOfTest)
void DisplayRun ()
virtual void SetInitialConvergenceParameters ()=0
virtual void UpdateConvergenceParameters ()=0
virtual bool GiveUpConvergence ()=0
virtual double Abscissa ()=0
virtual void PopulateStandardResult (std::vector< double > &result, std::vector< double > &times)
bool IsConverged ()
void SetMeshWidth (double meshWidth)

Detailed Description

template<class CELL, class CARDIAC_PROBLEM, unsigned DIM, unsigned PROBLEM_DIM>
class AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >

AbstractConvergenceTester Run convergence for a particular cell type, mono/bidomain and dimension

Definition at line 236 of file AbstractConvergenceTester.hpp.


Member Function Documentation

template<class CELL , class CARDIAC_PROBLEM , unsigned DIM, unsigned PROBLEM_DIM>
virtual double AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Abscissa ( ) [pure virtual]
template<class CELL , class CARDIAC_PROBLEM , unsigned DIM, unsigned PROBLEM_DIM>
void AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Converge ( std::string  nameOfTest) [inline, virtual]
Todo:
This is a scarily long method; could do with some parts extracted?
Parameters:
nameOfTestThe name of the convergence test (typically the name in the suite) for use in naming files.

Todo:
consider reducing all stimuli to match this one.
Todo:
remove magic number? (#1884)

Implements AbstractUntemplatedConvergenceTester.

Definition at line 243 of file AbstractConvergenceTester.hpp.

References ABORT_IF_NON0, AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Abscissa(), AbstractUntemplatedConvergenceTester::AbsoluteStimulus, PetscTools::AmMaster(), AbstractUntemplatedConvergenceTester::Apd90FirstQn, AbstractUntemplatedConvergenceTester::Apd90ThirdQn, PropagationPropertiesCalculator::CalculateActionPotentialDuration(), PropagationPropertiesCalculator::CalculateConductionVelocity(), AbstractUntemplatedConvergenceTester::ConductionVelocity, CuboidMeshConstructor< ELEMENT_DIM, SPACE_DIM >::Construct(), AbstractUntemplatedConvergenceTester::Converged, AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::DisplayRun(), AbstractUntemplatedConvergenceTester::FixedResult, Exception::GetMessage(), CuboidMeshConstructor< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), OutputFileHandler::GetOutputDirectoryFullPath(), Hdf5DataReader::GetUnlimitedDimensionValues(), Hdf5DataReader::GetVariableOverTime(), CuboidMeshConstructor< ELEMENT_DIM, SPACE_DIM >::GetWidth(), AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::GiveUpConvergence(), HeartConfig::Instance(), AbstractUntemplatedConvergenceTester::LastDifference, AbstractUntemplatedConvergenceTester::MeshNum, AbstractUntemplatedConvergenceTester::mMeshWidth, AbstractUntemplatedConvergenceTester::NeumannStimulus, NEVER_REACHED, AbstractUntemplatedConvergenceTester::OdeTimeStep, OutputFileHandler::OpenOutputFile(), AbstractUntemplatedConvergenceTester::PdeTimeStep, AbstractUntemplatedConvergenceTester::PopulatedResult, AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::PopulateStandardResult(), AbstractUntemplatedConvergenceTester::RelativeConvergenceCriterion, AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::SetInitialConvergenceParameters(), HeartConfig::SetOdePdeAndPrintingTimeSteps(), HeartConfig::SetOutputDirectory(), HeartConfig::SetOutputFilenamePrefix(), HeartConfig::SetSimulationDuration(), AbstractUntemplatedConvergenceTester::SimulateFullActionPotential, AbstractUntemplatedConvergenceTester::Stimulus, AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::UpdateConvergenceParameters(), and AbstractUntemplatedConvergenceTester::UseAbsoluteStimulus.

template<class CELL , class CARDIAC_PROBLEM , unsigned DIM, unsigned PROBLEM_DIM>
virtual bool AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::GiveUpConvergence ( ) [pure virtual]
template<class CELL , class CARDIAC_PROBLEM , unsigned DIM, unsigned PROBLEM_DIM>
bool AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::IsConverged ( ) [inline]
Returns:
when the convergence criterion is met

Definition at line 695 of file AbstractConvergenceTester.hpp.

References AbstractUntemplatedConvergenceTester::Converged.

template<class CELL , class CARDIAC_PROBLEM , unsigned DIM, unsigned PROBLEM_DIM>
virtual void AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::PopulateStandardResult ( std::vector< double > &  result,
std::vector< double > &  times 
) [inline, virtual]

This is currently used as stub for convergence testers which need to converge to a known standardised result (the StimulusConvergence tester in projects/jmpf).

Parameters:
resulta standard vector to be sized and filled with V_m values by this method (in subclass)
timesa standard vector to be sized and filled with times values by this method (in subclass)

Definition at line 685 of file AbstractConvergenceTester.hpp.

References AbstractUntemplatedConvergenceTester::PopulatedResult.

Referenced by AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Converge().

template<class CELL , class CARDIAC_PROBLEM , unsigned DIM, unsigned PROBLEM_DIM>
virtual void AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::SetInitialConvergenceParameters ( ) [pure virtual]
template<class CELL , class CARDIAC_PROBLEM , unsigned DIM, unsigned PROBLEM_DIM>
void AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::SetMeshWidth ( double  meshWidth) [inline]
Parameters:
meshWidthset the dimension of the cuboid mesh (default value is 0.2cm)

Definition at line 703 of file AbstractConvergenceTester.hpp.

References AbstractUntemplatedConvergenceTester::mMeshWidth.

template<class CELL , class CARDIAC_PROBLEM , unsigned DIM, unsigned PROBLEM_DIM>
virtual void AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::UpdateConvergenceParameters ( ) [pure virtual]

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