AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM > Class Template Reference

#include <AbstractConvergenceTester.hpp>

Inherits AbstractUntemplatedConvergenceTester.

Inherited by OdeConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >, OdePdeConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >, PdeConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >, and SpaceConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >.

Collaboration diagram for AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >:
Collaboration graph
[legend]

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 229 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:
nameOfTest The 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 236 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>
void AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::DisplayRun (  )  [inline]
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 688 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:
result a standard vector to be sized and filled with V_m values by this method (in subclass)
times a standard vector to be sized and filled with times values by this method (in subclass)

Definition at line 678 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:
meshWidth set the dimension of the cuboid mesh (default value is 0.2cm)

Definition at line 696 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:
Generated on Thu Dec 22 13:00:50 2011 for Chaste by  doxygen 1.6.3