Chaste Release::3.1
HeartConfig Class Reference

#include <HeartConfig.hpp>

Collaboration diagram for HeartConfig:

List of all members.

Public Types

typedef std::map< std::string,
std::string > 
SchemaLocationsMap

Public Member Functions

void SetUseFixedSchemaLocation (bool useFixedSchemaLocation)
void SetFixedSchemaLocations (const SchemaLocationsMap &rSchemaLocations)
void SetParametersFile (const std::string &rFileName)
void Write (bool useArchiveLocationInfo=false, std::string subfolderName="output")
void CopySchema (const std::string &rToDirectory)
boost::shared_ptr
< cp::chaste_parameters_type > 
ReadFile (const std::string &rFileName)
 ~HeartConfig ()
unsigned GetVersionFromNamespace (const std::string &rNamespaceUri)
FileFinder GetParametersFilePath ()
bool IsSimulationDefined () const
bool IsSimulationResumed () const
unsigned GetSpaceDimension () const
double GetSimulationDuration () const
cp::domain_type GetDomain () const
cp::ionic_model_selection_type GetDefaultIonicModel () const
template<unsigned DIM>
void GetIonicModelRegions (std::vector< boost::shared_ptr< AbstractChasteRegion< DIM > > > &rDefinedRegions, std::vector< cp::ionic_model_selection_type > &rIonicModels) const
void SetIonicModelRegions (std::vector< ChasteCuboid< 3 > > &rDefinedRegions, std::vector< cp::ionic_model_selection_type > &rIonicModels) const
bool IsMeshProvided () const
bool GetCreateMesh () const
bool GetCreateSlab () const
bool GetCreateSheet () const
bool GetCreateFibre () const
bool GetLoadMesh () const
void GetSlabDimensions (c_vector< double, 3 > &slabDimensions) const
void GetSheetDimensions (c_vector< double, 2 > &sheetDimensions) const
void GetFibreLength (c_vector< double, 1 > &fibreLength) const
double GetInterNodeSpace () const
std::string GetMeshName () const
cp::media_type GetConductivityMedia () const
template<unsigned DIM>
void GetStimuli (std::vector< boost::shared_ptr< AbstractStimulusFunction > > &rStimuliApplied, std::vector< boost::shared_ptr< AbstractChasteRegion< DIM > > > &rStimulatedAreas) const
template<unsigned DIM>
void GetCellHeterogeneities (std::vector< boost::shared_ptr< AbstractChasteRegion< DIM > > > &rCellHeterogeneityRegions, std::vector< double > &rScaleFactorGks, std::vector< double > &rScaleFactorIto, std::vector< double > &rScaleFactorGkr, std::vector< std::map< std::string, double > > *pParameterSettings)
bool GetConductivityHeterogeneitiesProvided () const
bool AreCellularTransmuralHeterogeneitiesRequested ()
double GetEpiLayerFraction ()
double GetEndoLayerFraction ()
double GetMidLayerFraction ()
unsigned GetEpiLayerIndex ()
unsigned GetEndoLayerIndex ()
unsigned GetMidLayerIndex ()
template<unsigned DIM>
void GetConductivityHeterogeneities (std::vector< boost::shared_ptr< AbstractChasteRegion< DIM > > > &conductivitiesHeterogeneityAreas, std::vector< c_vector< double, 3 > > &intraConductivities, std::vector< c_vector< double, 3 > > &extraConductivities) const
std::string GetOutputDirectory () const
std::string GetOutputFilenamePrefix () const
bool GetOutputVariablesProvided () const
void GetOutputVariables (std::vector< std::string > &rOutputVariables) const
bool GetOutputUsingOriginalNodeOrdering ()
bool GetCheckpointSimulation () const
double GetCheckpointTimestep () const
unsigned GetMaxCheckpointsOnDisk () const
HeartFileFinder GetArchivedSimulationDir () const
void GetIntracellularConductivities (c_vector< double, 3 > &intraConductivities) const
void GetIntracellularConductivities (c_vector< double, 2 > &intraConductivities) const
void GetIntracellularConductivities (c_vector< double, 1 > &intraConductivities) const
void GetExtracellularConductivities (c_vector< double, 3 > &extraConductivities) const
void GetExtracellularConductivities (c_vector< double, 2 > &extraConductivities) const
void GetExtracellularConductivities (c_vector< double, 1 > &extraConductivities) const
double GetBathConductivity (unsigned bathRegion=UINT_MAX) const
const std::set< unsigned > & rGetTissueIdentifiers ()
const std::set< unsigned > & rGetBathIdentifiers ()
double GetSurfaceAreaToVolumeRatio () const
double GetCapacitance () const
double GetOdeTimeStep () const
double GetPdeTimeStep () const
double GetPrintingTimeStep () const
bool GetUseAbsoluteTolerance () const
double GetAbsoluteTolerance () const
bool GetUseRelativeTolerance () const
double GetRelativeTolerance () const
const char * GetKSPSolver () const
const char * GetKSPPreconditioner () const
DistributedTetrahedralMeshPartitionType::type GetMeshPartitioning () const
bool IsAdaptivityParametersPresent () const
double GetTargetErrorForAdaptivity () const
double GetSigmaForAdaptivity () const
double GetMaxEdgeLengthForAdaptivity () const
double GetMinEdgeLengthForAdaptivity () const
double GetGradationForAdaptivity () const
unsigned GetMaxNodesForAdaptivity () const
unsigned GetNumberOfAdaptiveSweeps () const
bool IsPostProcessingSectionPresent () const
void EnsurePostProcessingSectionPresent ()
bool IsPostProcessingRequested () const
bool IsApdMapsRequested () const
void GetApdMaps (std::vector< std::pair< double, double > > &rApdMaps) const
bool IsUpstrokeTimeMapsRequested () const
void GetUpstrokeTimeMaps (std::vector< double > &rUpstrokeTimeMaps) const
bool IsMaxUpstrokeVelocityMapRequested () const
void GetMaxUpstrokeVelocityMaps (std::vector< double > &rUpstrokeVelocityMaps) const
bool IsConductionVelocityMapsRequested () const
void GetConductionVelocityMaps (std::vector< unsigned > &rConductionVelocityMaps) const
bool IsAnyNodalTimeTraceRequested () const
void GetNodalTimeTraceRequested (std::vector< unsigned > &rRequestedNodes) const
bool IsPseudoEcgCalculationRequested () const
template<unsigned SPACE_DIM>
void GetPseudoEcgElectrodePositions (std::vector< ChastePoint< SPACE_DIM > > &rPseudoEcgElectrodePositions) const
bool GetUseStateVariableInterpolation () const
bool IsOutputVisualizerPresent () const
bool GetVisualizeWithMeshalyzer () const
bool GetVisualizeWithCmgui () const
bool GetVisualizeWithVtk () const
bool GetVisualizeWithParallelVtk () const
unsigned GetVisualizerOutputPrecision ()
bool IsElectrodesPresent () const
void GetElectrodeParameters (bool &rGroundSecondElectrode, unsigned &rIndex, double &rMagnitude, double &rStartTime, double &rDuration)
bool GetUseMassLumping ()
bool GetUseMassLumpingForPrecond ()
bool GetUseReactionDiffusionOperatorSplitting ()
bool GetUseFixedNumberIterationsLinearSolver ()
unsigned GetEvaluateNumItsEveryNSolves ()
void SetSpaceDimension (unsigned spaceDimension)
void SetSimulationDuration (double simulationDuration)
void SetDomain (const cp::domain_type &rDomain)
void SetDefaultIonicModel (const cp::ionic_models_available_type &rIonicModel)
void SetSlabDimensions (double x, double y, double z, double inter_node_space)
void SetSheetDimensions (double x, double y, double inter_node_space)
void SetFibreLength (double x, double inter_node_space)
void SetMeshFileName (std::string meshPrefix, cp::media_type fibreDefinition=cp::media_type::NoFibreOrientation)
void SetConductivityHeterogeneities (std::vector< ChasteCuboid< 3 > > &rConductivityAreas, std::vector< c_vector< double, 3 > > &rIntraConductivities, std::vector< c_vector< double, 3 > > &rExtraConductivities)
void SetConductivityHeterogeneitiesEllipsoid (std::vector< ChasteEllipsoid< 3 > > &conductivityAreas, std::vector< c_vector< double, 3 > > &intraConductivities, std::vector< c_vector< double, 3 > > &extraConductivities)
void SetOutputDirectory (const std::string &rOutputDirectory)
void SetOutputFilenamePrefix (const std::string &rOutputFilenamePrefix)
void SetOutputVariables (const std::vector< std::string > &rOutputVariables)
void SetOutputUsingOriginalNodeOrdering (bool useOriginal)
void SetCheckpointSimulation (bool checkpointSimulation, double checkpointTimestep=-1.0, unsigned maxCheckpointsOnDisk=UINT_MAX)
void SetIntracellularConductivities (const c_vector< double, 3 > &rIntraConductivities)
void SetIntracellularConductivities (const c_vector< double, 2 > &rIntraConductivities)
void SetIntracellularConductivities (const c_vector< double, 1 > &rIntraConductivities)
void SetExtracellularConductivities (const c_vector< double, 3 > &rExtraConductivities)
void SetExtracellularConductivities (const c_vector< double, 2 > &rExtraConductivities)
void SetExtracellularConductivities (const c_vector< double, 1 > &rExtraConductivities)
void SetBathConductivity (double bathConductivity)
void SetBathMultipleConductivities (std::map< unsigned, double > bathConductivities)
void SetTissueAndBathIdentifiers (const std::set< unsigned > &tissueIds, const std::set< unsigned > &bathIds)
void SetSurfaceAreaToVolumeRatio (double ratio)
void SetCapacitance (double capacitance)
void SetOdePdeAndPrintingTimeSteps (double odeTimeStep, double pdeTimeStep, double printingTimeStep)
void SetOdeTimeStep (double odeTimeStep)
void SetPdeTimeStep (double pdeTimeStep)
void SetPrintingTimeStep (double printingTimeStep)
void SetUseRelativeTolerance (double relativeTolerance)
void SetUseAbsoluteTolerance (double absoluteTolerance)
void SetKSPSolver (const char *kspSolver)
void SetKSPPreconditioner (const char *kspPreconditioner)
void SetMeshPartitioning (const char *meshPartioningMethod)
void SetAdaptivityParameters (double targetError, double sigma, double maxEdgeLength, double minEdgeLength, double gradation, unsigned maxNodes, unsigned numSweeps)
void SetTargetErrorForAdaptivity (double targetError)
void SetSigmaForAdaptivity (double sigma)
void SetMaxEdgeLengthForAdaptivity (double maxEdgeLength)
void SetMinEdgeLengthForAdaptivity (double minEdgeLength)
void SetGradationForAdaptivity (double gradation)
void SetMaxNodesForAdaptivity (unsigned maxNodes)
void SetNumberOfAdaptiveSweeps (unsigned numSweeps)
void SetApdMaps (const std::vector< std::pair< double, double > > &rApdMaps)
void SetUpstrokeTimeMaps (std::vector< double > &rUpstrokeTimeMaps)
void SetMaxUpstrokeVelocityMaps (std::vector< double > &rMaxUpstrokeVelocityMaps)
void SetConductionVelocityMaps (std::vector< unsigned > &rConductionVelocityMaps)
void SetRequestedNodalTimeTraces (std::vector< unsigned > &requestedNodes)
template<unsigned SPACE_DIM>
void SetPseudoEcgElectrodePositions (const std::vector< ChastePoint< SPACE_DIM > > &rPseudoEcgElectrodePositions)
void EnsureOutputVisualizerExists (void)
void SetVisualizeWithMeshalyzer (bool useMeshalyzer=true)
void SetVisualizeWithCmgui (bool useCmgui=true)
void SetVisualizeWithVtk (bool useVtk=true)
void SetVisualizeWithParallelVtk (bool useParallelVtk=true)
void SetVisualizerOutputPrecision (unsigned numberOfDigits)
void SetElectrodeParameters (bool groundSecondElectrode, unsigned index, double magnitude, double startTime, double duration)
void SetUseStateVariableInterpolation (bool useStateVariableInterpolation=true)
void SetUseMassLumping (bool useMassLumping=true)
void SetUseMassLumpingForPrecond (bool useMassLumping=true)
void SetUseReactionDiffusionOperatorSplitting (bool useOperatorSplitting=true)
void SetUseFixedNumberIterationsLinearSolver (bool useFixedNumberIterations=true, unsigned evaluateNumItsEveryNSolves=UINT_MAX)
bool HasDrugDose () const
double GetDrugDose () const
void SetDrugDose (double drugDose)
void SetIc50Value (const std::string &rCurrentName, double ic50, double hill=1.0)
std::map< std::string,
std::pair< double, double > > 
GetIc50Values ()
bool HasPurkinje ()
double GetPurkinjeCapacitance ()
void SetPurkinjeCapacitance (double capacitance)
double GetPurkinjeSurfaceAreaToVolumeRatio ()
void SetPurkinjeSurfaceAreaToVolumeRatio (double ratio)
double GetPurkinjeConductivity ()
void SetPurkinjeConductivity (double conductivity)

Static Public Member Functions

static HeartConfigInstance ()
static void Reset ()

Private Member Functions

void CheckTimeSteps () const
template<class Archive >
void save (Archive &archive, const unsigned int version) const
template<class Archive >
void load (Archive &archive, const unsigned int version)
void LoadFromCheckpoint ()
void UpdateParametersFromResumeSimulation (boost::shared_ptr< cp::chaste_parameters_type > pResumeParameters)
void SetDefaultSchemaLocations ()
 HeartConfig ()
void CheckSimulationIsDefined (std::string callingMethod="") const
void CheckResumeSimulationIsDefined (std::string callingMethod="") const

Private Attributes

SchemaLocationsMap mSchemaLocations
boost::shared_ptr
< cp::chaste_parameters_type > 
mpParameters
FileFinder mParametersFilePath
bool mUseFixedSchemaLocation
double mEpiFraction
double mEndoFraction
double mMidFraction
unsigned mIndexMid
unsigned mIndexEpi
unsigned mIndexEndo
bool mUserAskedForCellularTransmuralHeterogeneities
bool mUseMassLumping
bool mUseMassLumpingForPrecond
bool mUseReactionDiffusionOperatorSplitting
std::map< unsigned, doublemBathConductivities
std::set< unsignedmTissueIdentifiers
std::set< unsignedmBathIdentifiers
bool mUseFixedNumberIterations
unsigned mEvaluateNumItsEveryNSolves

Static Private Attributes

static std::auto_ptr< HeartConfigmpInstance

Friends

class boost::serialization::access
class TestHeartConfig

Detailed Description

A singleton class containing configuration parameters for heart simulations.

This class wraps the settings from the XML configuration file in a more friendly interface, providing methods to read and write all the settings, and round-trip them to/from XML format. It also deals with the complexities of supporting multiple versions of CodeSynthesis XSD.

chaste_parameters_type is a convenience class created by CodeSynthesis XSD

Definition at line 81 of file HeartConfig.hpp.


Member Typedef Documentation

typedef std::map<std::string, std::string> HeartConfig::SchemaLocationsMap

Our type for specifying schema location properties: a map from namespace URI to schema URI. The default namespace is specified by an empty namespace URI.

Definition at line 143 of file HeartConfig.hpp.


Constructor & Destructor Documentation

HeartConfig::~HeartConfig ( )

Destructor

Definition at line 237 of file HeartConfig.cpp.


Member Function Documentation

bool HeartConfig::AreCellularTransmuralHeterogeneitiesRequested ( )
Returns:
the value of the flag that tells whether the user asked for cellular transmural heterogeneities

Definition at line 1224 of file HeartConfig.cpp.

References mUserAskedForCellularTransmuralHeterogeneities.

void HeartConfig::CheckResumeSimulationIsDefined ( std::string  callingMethod = "") const [private]

CheckSimulationIsDefined is a convenience method for checking if the "<"ResumeSimulation">" element has been defined and therefore is safe to use the ResumeSimulation().get() pointer to access other data.

Throws an exception if not.

Parameters:
callingMethodstring describing the get method performing the check.

Definition at line 655 of file HeartConfig.cpp.

References EXCEPTION, and IsSimulationDefined().

Referenced by GetArchivedSimulationDir().

void HeartConfig::CheckSimulationIsDefined ( std::string  callingMethod = "") const [private]

CheckSimulationIsDefined is a convenience method for checking if the "<"Simulation">" element has been defined and therefore is safe to use the Simulation().get() pointer to access other data.

Throws an exception if not.

Parameters:
callingMethodstring describing the get method performing the check.

Definition at line 647 of file HeartConfig.cpp.

References EXCEPTION, and IsSimulationResumed().

Referenced by GetCellHeterogeneities(), GetConductivityHeterogeneities(), GetConductivityHeterogeneitiesProvided(), GetConductivityMedia(), GetCreateFibre(), GetCreateMesh(), GetCreateSheet(), GetCreateSlab(), GetDefaultIonicModel(), GetFibreLength(), GetInterNodeSpace(), GetIonicModelRegions(), GetLoadMesh(), GetMeshName(), GetOutputDirectory(), GetOutputFilenamePrefix(), GetOutputUsingOriginalNodeOrdering(), GetOutputVariablesProvided(), GetSheetDimensions(), GetSlabDimensions(), GetStimuli(), HasPurkinje(), IsMeshProvided(), and IsOutputVisualizerPresent().

void HeartConfig::CheckTimeSteps ( ) const [private]

Throws if the time steps don't obey constraints (within machine precision) ode_step > 0.0 pde_step = n1 * ode_step (where n1 is a positive integer) printing_step = n2 * pde_step (where n2 is a positive integer)

Definition at line 2431 of file HeartConfig.cpp.

References EXCEPTION, GetCheckpointSimulation(), GetCheckpointTimestep(), GetOdeTimeStep(), GetPdeTimeStep(), and GetPrintingTimeStep().

Referenced by LoadFromCheckpoint(), SetCheckpointSimulation(), SetOdePdeAndPrintingTimeSteps(), and SetParametersFile().

void HeartConfig::CopySchema ( const std::string &  rToDirectory)

Try to copy the latest version of the schema to the given directory. If we can't find the latest version of the schema, generate a warning.

Parameters:
rToDirectorydirectory to copy to

Definition at line 342 of file HeartConfig.cpp.

References ABORT_IF_NON0, PetscTools::AmMaster(), RelativeTo::ChasteSourceRoot, RelativeTo::CWD, FileFinder::Exists(), FileFinder::GetAbsolutePath(), and FileFinder::SetPath().

Referenced by CardiacSimulation::CreateResumeXmlFile(), and Write().

void HeartConfig::EnsureOutputVisualizerExists ( void  )

Create the OutputVisualizer element if it doesn't exist

Definition at line 2822 of file HeartConfig.cpp.

References mpParameters.

Referenced by SetVisualizerOutputPrecision(), SetVisualizeWithCmgui(), SetVisualizeWithMeshalyzer(), SetVisualizeWithParallelVtk(), and SetVisualizeWithVtk().

void HeartConfig::EnsurePostProcessingSectionPresent ( )

Create a PostProcessing section in the user parameters if one doesn't exist.

Definition at line 1770 of file HeartConfig.cpp.

References mpParameters.

Referenced by SetApdMaps(), SetConductionVelocityMaps(), SetMaxUpstrokeVelocityMaps(), SetPseudoEcgElectrodePositions(), SetRequestedNodalTimeTraces(), SetUpstrokeTimeMaps(), and UpdateParametersFromResumeSimulation().

double HeartConfig::GetAbsoluteTolerance ( ) const
Returns:
KSP absolute tolerance (or throw if we are using relative)

Definition at line 1578 of file HeartConfig.cpp.

References EXCEPTION, GetUseAbsoluteTolerance(), and mpParameters.

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

void HeartConfig::GetApdMaps ( std::vector< std::pair< double, double > > &  rApdMaps) const
Parameters:
rApdMapseach entry is a request for a map with
  • a percentage in the range [1, 100)
  • a threshold (in mV)

Definition at line 1803 of file HeartConfig.cpp.

References IsApdMapsRequested(), and mpParameters.

Referenced by PostProcessingWriter< ELEMENT_DIM, SPACE_DIM >::WritePostProcessingFiles().

HeartFileFinder HeartConfig::GetArchivedSimulationDir ( ) const

Get directory where the archived simulation to resume is defined

Definition at line 1407 of file HeartConfig.cpp.

References CheckResumeSimulationIsDefined(), and mpParameters.

double HeartConfig::GetBathConductivity ( unsigned  bathRegion = UINT_MAX) const

Returns bath conductivities for different regions of the bath. When called without a region identifier, it will return whatever has been defined as BathConductivity

Parameters:
bathRegionregion identifier
Returns:
bath conductivity (mS/cm)

Definition at line 1497 of file HeartConfig.cpp.

References HeartRegionCode::IsRegionBath(), mBathConductivities, and mpParameters.

Referenced by BidomainWithBathAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm().

template<unsigned DIM>
void HeartConfig::GetCellHeterogeneities ( std::vector< boost::shared_ptr< AbstractChasteRegion< DIM > > > &  rCellHeterogeneityRegions,
std::vector< double > &  rScaleFactorGks,
std::vector< double > &  rScaleFactorIto,
std::vector< double > &  rScaleFactorGkr,
std::vector< std::map< std::string, double > > *  pParameterSettings 
)

Reads from the XML file the cellular hetrogeneities. It fugures out whether the user specified a cuboid or a transmural-type of hetrogeneities. In the latter case, it stores the percentage values of Epi and Endo layers in two member variables, accessible via get methods. It also checks if the user-supplied numbers are consistent (i.e., positive and add up to less than 1) Return a number of heterogeneous regions for special gating variable changes

Todo:
  • do we assume the vectors are initially empty? The returned std::vectors are all of the same length
Parameters:
rCellHeterogeneityRegionscellHeterogeneityAreas[0] is the first region
rScaleFactorGksscaleFactorGks[0] is a scaling factor for the first region
rScaleFactorItoscaleFactorIto[0] is a scaling factor for the first region
rScaleFactorGkrscaleFactorGkr[0] is a scaling factor for the first region
pParameterSettingsspecification of named parameters to set on the cell models; each entry is a map from parameter name to value.
Todo:
There is no set method

Definition at line 1086 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), EXCEPTION, mEndoFraction, mEpiFraction, mIndexEndo, mIndexEpi, mIndexMid, mMidFraction, mpParameters, and mUserAskedForCellularTransmuralHeterogeneities.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory().

bool HeartConfig::GetCheckpointSimulation ( ) const

Get whether simulation should be checkpointed or not

Returns:
archive simulation

Definition at line 1389 of file HeartConfig.cpp.

References IsSimulationDefined(), and mpParameters.

Referenced by CheckTimeSteps(), CardiacSimulation::CreateAndRun(), HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), GetCheckpointTimestep(), and GetMaxCheckpointsOnDisk().

double HeartConfig::GetCheckpointTimestep ( ) const

Get checkpointing timestep

Returns:
checkpointing timestep

Definition at line 1394 of file HeartConfig.cpp.

References GetCheckpointSimulation(), and mpParameters.

Referenced by CheckTimeSteps(), CardiacSimulation::CreateAndRun(), and CardiacSimulation::CreateResumeXmlFile().

void HeartConfig::GetConductionVelocityMaps ( std::vector< unsigned > &  rConductionVelocityMaps) const
Parameters:
rConductionVelocityMapseach entry is a request for a map with
  • an index to treat as the source for wave propagation

Definition at line 1888 of file HeartConfig.cpp.

References IsConductionVelocityMapsRequested(), and mpParameters.

Referenced by PostProcessingWriter< ELEMENT_DIM, SPACE_DIM >::WritePostProcessingFiles().

template<unsigned DIM>
void HeartConfig::GetConductivityHeterogeneities ( std::vector< boost::shared_ptr< AbstractChasteRegion< DIM > > > &  conductivitiesHeterogeneityAreas,
std::vector< c_vector< double, 3 > > &  intraConductivities,
std::vector< c_vector< double, 3 > > &  extraConductivities 
) const

Return a number of heterogeneous regions (Axis-aligned boxes)

Todo:
  • do we assume the vectors are initially empty? The returned std::vectors are all of the same length
Parameters:
conductivitiesHeterogeneityAreasconductivitiesHeterogeneityAreas[0] is the first region
intraConductivitiesintraConductivities[0] is conductivity vector for the first region
extraConductivitiesextraConductivities[0] is conductivity vector for the first region

Todo:
When this is implemented, then we require an example in ChasteParametersFullFormat.xml

Definition at line 1266 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), EXCEPTION, GetConductivityHeterogeneitiesProvided(), GetExtracellularConductivities(), GetIntracellularConductivities(), and mpParameters.

Referenced by ExtendedBidomainTissue< SPACE_DIM >::CreateExtracellularConductivityTensors(), BidomainTissue< SPACE_DIM >::CreateExtracellularConductivityTensors(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor(), and ExtendedBidomainTissue< SPACE_DIM >::CreateIntracellularConductivityTensorSecondCell().

bool HeartConfig::GetConductivityHeterogeneitiesProvided ( ) const
Returns:
true if there are conductivity heterogeneities for GetConductivityHeterogeneities to return

Definition at line 1259 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

Referenced by GetConductivityHeterogeneities().

cp::media_type HeartConfig::GetConductivityMedia ( ) const
Returns:
media (Orthotropic/Axisymmetric/NoFibreOrientation) so that we know whether to read a .ortho/.axi file

Definition at line 940 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), GetLoadMesh(), and mpParameters.

bool HeartConfig::GetCreateFibre ( ) const
Returns:
true if it's a cuboid simulation (no mesh on disk)

Definition at line 845 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), IsMeshProvided(), and mpParameters.

Referenced by GetFibreLength(), and GetInterNodeSpace().

bool HeartConfig::GetCreateMesh ( ) const
Returns:
true if it's a cuboid simulation (no mesh on disk)

Definition at line 821 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), IsMeshProvided(), and mpParameters.

bool HeartConfig::GetCreateSheet ( ) const
Returns:
true if it's a cuboid simulation (no mesh on disk)

Definition at line 837 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), IsMeshProvided(), and mpParameters.

Referenced by GetInterNodeSpace(), and GetSheetDimensions().

bool HeartConfig::GetCreateSlab ( ) const
Returns:
true if it's a cuboid simulation (no mesh on disk)

Definition at line 829 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), IsMeshProvided(), and mpParameters.

Referenced by GetInterNodeSpace(), and GetSlabDimensions().

cp::ionic_model_selection_type HeartConfig::GetDefaultIonicModel ( ) const

Default cardiac cell model to use at all mesh nodes (unless otherwise specified by GetIonicModelRegions). cp::ionic_model_selection_type is generated automatically from the XML Schema.

Returns:
type of model

Definition at line 702 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

cp::domain_type HeartConfig::GetDomain ( ) const

cp::domain_type is an xsd convenience class type

Returns:
domain type of simulation: bi- or mono-domain

Definition at line 689 of file HeartConfig.cpp.

References IsSimulationDefined(), and mpParameters.

Referenced by CardiacSimulation::CreateResumeXmlFile(), and UpdateParametersFromResumeSimulation().

double HeartConfig::GetDrugDose ( ) const
Returns:
the dose of the drug (in the same units as the IC50s)

Definition at line 2969 of file HeartConfig.cpp.

References HasDrugDose(), and mpParameters.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellParameters().

void HeartConfig::GetElectrodeParameters ( bool rGroundSecondElectrode,
unsigned rIndex,
double rMagnitude,
double rStartTime,
double rDuration 
)

Get electrode parameters.

Parameters:
rGroundSecondElectrodeWhether to ground the second electrode (see class documentation)
rIndexThe value i when applying the electrodes to x_i=a and x_i=b (a<b)
rMagnitudeMagnitude of the stimulus
rStartTimeSwitch on time
rDurationDuration of the stimulus.

Definition at line 2906 of file HeartConfig.cpp.

References EXCEPTION, IsElectrodesPresent(), and mpParameters.

Referenced by Electrodes< DIM >::Electrodes().

double HeartConfig::GetEndoLayerFraction ( )
Returns:
the fraction of endocardial layer

Definition at line 1234 of file HeartConfig.cpp.

References mEndoFraction.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::FillInCellularTransmuralAreas().

unsigned HeartConfig::GetEndoLayerIndex ( )
Returns:
the index with which the endocardial layer is supplied (i.e., the order it comes in the XML file)

Definition at line 1249 of file HeartConfig.cpp.

References mIndexEndo.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::FillInCellularTransmuralAreas().

double HeartConfig::GetEpiLayerFraction ( )
Returns:
the fraction of epicardial layer

Definition at line 1229 of file HeartConfig.cpp.

References mEpiFraction.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::FillInCellularTransmuralAreas().

unsigned HeartConfig::GetEpiLayerIndex ( )
Returns:
the index with which the epicardial layer is supplied (i.e., the order it comes in the XML file)

Definition at line 1244 of file HeartConfig.cpp.

References mIndexEpi.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::FillInCellularTransmuralAreas().

unsigned HeartConfig::GetEvaluateNumItsEveryNSolves ( )

Get how often perform a solve with residual-based stop criteria in order to decide how many iterations to perform in following linear solves.

Definition at line 3083 of file HeartConfig.cpp.

References mEvaluateNumItsEveryNSolves.

void HeartConfig::GetExtracellularConductivities ( c_vector< double, 2 > &  extraConductivities) const

2D version

Parameters:
extraConductivitiesDIM-vector for returning extracellular conductivities (mS/cm)

Definition at line 1473 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::GetExtracellularConductivities ( c_vector< double, 3 > &  extraConductivities) const

3D version

Parameters:
extraConductivitiesDIM-vector for returning extracellular conductivities (mS/cm)

Definition at line 1456 of file HeartConfig.cpp.

References mpParameters.

Referenced by GetConductivityHeterogeneities().

void HeartConfig::GetExtracellularConductivities ( c_vector< double, 1 > &  extraConductivities) const

1D version

Parameters:
extraConductivitiesDIM-vector for returning extracellular conductivities (mS/cm)

Definition at line 1487 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::GetFibreLength ( c_vector< double, 1 > &  fibreLength) const
Parameters:
fibreLengthreturn vector for the (cuboid) mesh dimensions (cm)

Definition at line 892 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), EXCEPTION, GetCreateFibre(), GetSpaceDimension(), and mpParameters.

Referenced by AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Initialise().

std::map< std::string, std::pair< double, double > > HeartConfig::GetIc50Values ( )

Get the parameters for the model of "conductance-block" drug action on a set of ion channels.

Returns:
A map between the current/channel name, and a pair giving IC50 value and hill coefficient.

Definition at line 2988 of file HeartConfig.cpp.

References HasDrugDose(), and mpParameters.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellParameters().

double HeartConfig::GetInterNodeSpace ( ) const
void HeartConfig::GetIntracellularConductivities ( c_vector< double, 3 > &  intraConductivities) const

3D version

Parameters:
intraConductivitiesDIM-vector for returning intracellular conductivities (mS/cm)

Definition at line 1415 of file HeartConfig.cpp.

References mpParameters.

Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), and GetConductivityHeterogeneities().

void HeartConfig::GetIntracellularConductivities ( c_vector< double, 2 > &  intraConductivities) const

2D version

Parameters:
intraConductivitiesDIM-vector for returning intracellular conductivities (mS/cm)

Definition at line 1432 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::GetIntracellularConductivities ( c_vector< double, 1 > &  intraConductivities) const

1D version

Parameters:
intraConductivitiesDIM-vector for returning intracellular conductivities (mS/cm)

Definition at line 1446 of file HeartConfig.cpp.

References mpParameters.

template<unsigned DIM>
void HeartConfig::GetIonicModelRegions ( std::vector< boost::shared_ptr< AbstractChasteRegion< DIM > > > &  rDefinedRegions,
std::vector< cp::ionic_model_selection_type > &  rIonicModels 
) const

Regions where we need to use a different cell model (think infarction). cp::ionic_model_selection_type is generated automatically from the XML Schema.

The supplied vectors are first cleared, then filled in with the information from the parameters files. On return, both vectors will be the same length (one entry per region).

Parameters:
rDefinedRegionsvector of axis-aligned box regions (one per cellular heterogeneity)
rIonicModelsvector of models (one per cellular heterogeneity)

Todo:
When this is implemented, then we require an example in ChasteParametersFullFormat.xml

Definition at line 710 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), EXCEPTION, mpParameters, and NEVER_REACHED.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory().

const char * HeartConfig::GetKSPPreconditioner ( ) const
Returns:
name of -pc_type from {"jacobi", "bjacobi", "hypre", "ml", "spai", "blockdiagonal", "ldufactorisation", "none"}

Definition at line 1623 of file HeartConfig.cpp.

References EXCEPTION, and mpParameters.

const char * HeartConfig::GetKSPSolver ( ) const
Returns:
name of -ksp_type from {"gmres", "cg", "symmlq"}

Definition at line 1604 of file HeartConfig.cpp.

References EXCEPTION, and mpParameters.

bool HeartConfig::GetLoadMesh ( ) const
Returns:
true if a mesh file name is given and we are expecting to load a mesh from file

Definition at line 854 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), IsMeshProvided(), and mpParameters.

Referenced by GetConductivityMedia(), and GetMeshName().

unsigned HeartConfig::GetMaxCheckpointsOnDisk ( ) const

Get number of checkpoints to keep on disk

Returns:
checkpointing timestep

Definition at line 1400 of file HeartConfig.cpp.

References GetCheckpointSimulation(), and mpParameters.

Referenced by CardiacSimulation::CreateResumeXmlFile().

void HeartConfig::GetMaxUpstrokeVelocityMaps ( std::vector< double > &  rUpstrokeVelocityMaps) const
Parameters:
rUpstrokeVelocityMapseach entry is a request for a map with
  • a threshold (in mV, defaulted to -30 mV)

Definition at line 1860 of file HeartConfig.cpp.

References IsMaxUpstrokeVelocityMapRequested(), and mpParameters.

Referenced by PostProcessingWriter< ELEMENT_DIM, SPACE_DIM >::WritePostProcessingFiles().

DistributedTetrahedralMeshPartitionType::type HeartConfig::GetMeshPartitioning ( ) const
Returns:
the mesh partitioning method to use

Definition at line 1653 of file HeartConfig.cpp.

References EXCEPTION, and mpParameters.

Referenced by AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CreateMeshFromHeartConfig().

double HeartConfig::GetMidLayerFraction ( )
Returns:
the fraction of endocardial layer

Definition at line 1239 of file HeartConfig.cpp.

References mMidFraction.

unsigned HeartConfig::GetMidLayerIndex ( )
Returns:
the index with which the midmyocardial layer is supplied (i.e., the order it comes in the XML file)

Definition at line 1254 of file HeartConfig.cpp.

References mIndexMid.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::FillInCellularTransmuralAreas().

void HeartConfig::GetNodalTimeTraceRequested ( std::vector< unsigned > &  rRequestedNodes) const
Parameters:
rRequestedNodesvector of indices of requested nodes that will be filled in by this function

Definition at line 1916 of file HeartConfig.cpp.

References IsAnyNodalTimeTraceRequested(), and mpParameters.

Referenced by PostProcessingWriter< ELEMENT_DIM, SPACE_DIM >::WritePostProcessingFiles().

unsigned HeartConfig::GetNumberOfAdaptiveSweeps ( ) const
double HeartConfig::GetOdeTimeStep ( ) const
Returns:
ODE time-step (ms)

Definition at line 1554 of file HeartConfig.cpp.

References mpParameters.

Referenced by CheckTimeSteps(), SetPdeTimeStep(), and SetPrintingTimeStep().

std::string HeartConfig::GetOutputFilenamePrefix ( ) const
Returns:
Prefix for files If set to "res" this produces [path]/res.h5 [path]/output/res_mesh.pts [path]/output/res_mesh.tri [path]/output/res_parameters.xml (a copy of this configuration at the end of the simulation) [path]/output/res_times.info [path]/output/res_V.dat

Definition at line 1348 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

Referenced by AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::InitialiseWriter(), AdaptiveBidomainProblem::Solve(), and Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::WriteCmguiScript().

bool HeartConfig::GetOutputUsingOriginalNodeOrdering ( )
Returns:
whether to write output HDF5 file using the original mesh permutation (in situations where a parallel partition may have permuted the node). The default is to use the new, not original permutation,

Definition at line 1378 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

Referenced by PostProcessingWriter< ELEMENT_DIM, SPACE_DIM >::WriteVariablesOverTimeAtNodes().

void HeartConfig::GetOutputVariables ( std::vector< std::string > &  rOutputVariables) const

Get the extra output variables from the xml file.

Parameters:
rOutputVariablesreference to std::vector to contain the output variables requested. Note: will be cleared before being filled.

Definition at line 1361 of file HeartConfig.cpp.

References GetOutputVariablesProvided(), and mpParameters.

Referenced by AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DefineExtraVariablesWriterColumns(), and AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::WriteExtraVariablesOneStep().

bool HeartConfig::GetOutputVariablesProvided ( ) const
Returns:
true iff any extra output variables have been requested

Definition at line 1355 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

Referenced by GetOutputVariables().

FileFinder HeartConfig::GetParametersFilePath ( )

Get where the user parameters were read from. The result is undefined if no parameters file has been read.

Definition at line 514 of file HeartConfig.cpp.

References mParametersFilePath.

double HeartConfig::GetPrintingTimeStep ( ) const
Returns:
priting time-step (ms)

Definition at line 1566 of file HeartConfig.cpp.

References mpParameters.

Referenced by CheckTimeSteps(), AbstractCvodeCell::Compute(), SetOdeTimeStep(), and SetPdeTimeStep().

template<unsigned SPACE_DIM>
void HeartConfig::GetPseudoEcgElectrodePositions ( std::vector< ChastePoint< SPACE_DIM > > &  rPseudoEcgElectrodePositions) const
Parameters:
rPseudoEcgElectrodePositionswill be filled in with the positions of electrodes to use in calculating pseudo-ECGs (if any)

Definition at line 1946 of file HeartConfig.cpp.

References mpParameters.

Referenced by PostProcessingWriter< ELEMENT_DIM, SPACE_DIM >::WritePostProcessingFiles().

double HeartConfig::GetPurkinjeCapacitance ( )

Get the surface capacitance for Purkinje myocytes.

Definition at line 3098 of file HeartConfig.cpp.

References mpParameters.

double HeartConfig::GetPurkinjeConductivity ( )

Get the default conductivity for Purkinje fibres.

Definition at line 3129 of file HeartConfig.cpp.

References mpParameters.

double HeartConfig::GetPurkinjeSurfaceAreaToVolumeRatio ( )

Get the surface area to volume ratio for Purkinje fibres.

Definition at line 3114 of file HeartConfig.cpp.

References mpParameters.

Referenced by AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateJunction().

double HeartConfig::GetRelativeTolerance ( ) const
Returns:
KSP relative tolerance (or throw if we are using absolute)

Definition at line 1594 of file HeartConfig.cpp.

References EXCEPTION, GetUseRelativeTolerance(), and mpParameters.

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

void HeartConfig::GetSheetDimensions ( c_vector< double, 2 > &  sheetDimensions) const
Parameters:
sheetDimensionsreturn vector for the (cuboid) mesh dimensions (cm)

Definition at line 877 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), EXCEPTION, GetCreateSheet(), GetSpaceDimension(), and mpParameters.

Referenced by AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Initialise().

double HeartConfig::GetSimulationDuration ( ) const
Returns:
duration of the simulation (ms)

Definition at line 676 of file HeartConfig.cpp.

References IsSimulationDefined(), and mpParameters.

Referenced by CardiacSimulation::CreateAndRun(), and AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::PreSolveChecks().

void HeartConfig::GetSlabDimensions ( c_vector< double, 3 > &  slabDimensions) const
Parameters:
slabDimensionsreturn vector for the (cuboid) mesh dimensions (cm)

Definition at line 861 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), EXCEPTION, GetCreateSlab(), GetSpaceDimension(), and mpParameters.

Referenced by AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Initialise().

unsigned HeartConfig::GetSpaceDimension ( ) const
template<unsigned DIM>
void HeartConfig::GetStimuli ( std::vector< boost::shared_ptr< AbstractStimulusFunction > > &  rStimuliApplied,
std::vector< boost::shared_ptr< AbstractChasteRegion< DIM > > > &  rStimulatedAreas 
) const

Return a number of stimulated regions (Axis-aligned boxes)

Todo:
  • do we assume the vectors are initially empty? The returned std::vectors are all of the same length
Parameters:
rStimuliAppliedrStimuliApplied[0] is stimulus for the first region
rStimulatedAreasrStimulatedAreas[0] is the first region to be stimulated
Todo:
There is no set method

Definition at line 949 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), EXCEPTION, mpParameters, and NEVER_REACHED.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory().

void HeartConfig::GetUpstrokeTimeMaps ( std::vector< double > &  rUpstrokeTimeMaps) const
Parameters:
rUpstrokeTimeMapseach entry is a request for a map with
  • a threshold (in mV)

Definition at line 1832 of file HeartConfig.cpp.

References IsUpstrokeTimeMapsRequested(), and mpParameters.

Referenced by PostProcessingWriter< ELEMENT_DIM, SPACE_DIM >::WritePostProcessingFiles().

bool HeartConfig::GetUseAbsoluteTolerance ( ) const
Returns:
true if we are using KSP absolute tolerance

Definition at line 1572 of file HeartConfig.cpp.

References mpParameters.

Referenced by AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::DisplayRun(), and GetAbsoluteTolerance().

bool HeartConfig::GetUseFixedNumberIterationsLinearSolver ( )

Get whether to use a fixed number of iterations in the linear solver

Definition at line 3078 of file HeartConfig.cpp.

References mUseFixedNumberIterations.

bool HeartConfig::GetUseMassLumping ( )

Get whether to use mass lumping in the FE solver or not.

Definition at line 3047 of file HeartConfig.cpp.

References mUseMassLumping.

bool HeartConfig::GetUseMassLumpingForPrecond ( )

Get whether to use mass lumping in the construction of the preconditioner of the FE solver or not.

Definition at line 3057 of file HeartConfig.cpp.

References mUseMassLumpingForPrecond.

bool HeartConfig::GetUseReactionDiffusionOperatorSplitting ( )

Get whether to use Strang operator splitting of the reaction and diffusion terms (see Set method documentation).

Definition at line 3067 of file HeartConfig.cpp.

References mUseReactionDiffusionOperatorSplitting.

bool HeartConfig::GetUseRelativeTolerance ( ) const
Returns:
true if we are using KSP relative tolerance

Definition at line 1588 of file HeartConfig.cpp.

References mpParameters.

Referenced by GetRelativeTolerance(), ExtendedBidomainProblem< DIM >::PreSolveChecks(), and BidomainProblem< DIM >::PreSolveChecks().

unsigned HeartConfig::GetVersionFromNamespace ( const std::string &  rNamespaceUri)

Get the Chaste version of a parameters file, given its namespace URI. The version will be encoded as major*1000+minor.

Parameters:
rNamespaceUrithe namespace URI of the parameters file

Definition at line 384 of file HeartConfig.cpp.

References EXCEPTION.

Referenced by ReadFile().

unsigned HeartConfig::GetVisualizerOutputPrecision ( )

Get the number of digits to be output in the converted solution data files.

Definition at line 2019 of file HeartConfig.cpp.

References IsOutputVisualizerPresent(), and mpParameters.

Referenced by Hdf5ToMeshalyzerConverter< ELEMENT_DIM, SPACE_DIM >::Write(), and Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::Write().

bool HeartConfig::GetVisualizeWithCmgui ( ) const

Whether to convert the output from HDF5 to Cmgui readable format

Definition at line 1983 of file HeartConfig.cpp.

References IsOutputVisualizerPresent(), and mpParameters.

bool HeartConfig::GetVisualizeWithMeshalyzer ( ) const

Whether to convert the output from HDF5 to meshalyzer readable format

Definition at line 1971 of file HeartConfig.cpp.

References IsOutputVisualizerPresent(), and mpParameters.

Referenced by AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CloseFilesAndPostProcess().

bool HeartConfig::GetVisualizeWithParallelVtk ( ) const

Whether to convert the output from HDF5 to parallel Vtk readable format

Definition at line 1995 of file HeartConfig.cpp.

References IsOutputVisualizerPresent(), and mpParameters.

bool HeartConfig::GetVisualizeWithVtk ( ) const

Whether to convert the output from HDF5 to Vtk readable format

Definition at line 2007 of file HeartConfig.cpp.

References IsOutputVisualizerPresent(), and mpParameters.

bool HeartConfig::HasDrugDose ( ) const
Returns:
whether HeartConfig has a drug concentration and any IC50s set up

Definition at line 2964 of file HeartConfig.cpp.

References mpParameters.

Referenced by GetDrugDose(), and GetIc50Values().

bool HeartConfig::HasPurkinje ( )

Get whether this simulation contains a Purkinje system.

Definition at line 3092 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

HeartConfig * HeartConfig::Instance ( ) [static]

Call this method to access the global parameters holder.

Returns:
a single instance of the class

Definition at line 196 of file HeartConfig.cpp.

Referenced by AbstractBidomainSolver< ELEMENT_DIM, SPACE_DIM >::AbstractBidomainSolver(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue(), AbstractExtendedBidomainSolver< ELEMENT_DIM, SPACE_DIM >::AbstractExtendedBidomainSolver(), AdaptiveTetrahedralMesh::Adapt(), AdaptiveBidomainProblem::AdaptMesh(), BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::BidomainAssembler(), BidomainCorrectionTermAssembler< ELEM_DIM, SPACE_DIM >::BidomainCorrectionTermAssembler(), BidomainSolver< ELEMENT_DIM, SPACE_DIM >::BidomainSolver(), AdaptiveTetrahedralMesh::CalculateErrorMetric(), CardiacElectroMechanicsProblem< DIM, ELEC_PROB_DIM >::CardiacElectroMechanicsProblem(), CardiacSimulation::CardiacSimulation(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CloseFilesAndPostProcess(), AbstractCvodeCell::Compute(), BidomainWithBathAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm(), AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Converge(), CorriasBuistICCModified::CorriasBuistICCModified(), CorriasBuistSMCModified::CorriasBuistSMCModified(), CardiacSimulation::CreateAndRun(), MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), BidomainProblem< DIM >::CreateCardiacTissue(), HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), ExtendedBidomainTissue< SPACE_DIM >::CreateExtracellularConductivityTensors(), BidomainTissue< SPACE_DIM >::CreateExtracellularConductivityTensors(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor(), ExtendedBidomainTissue< SPACE_DIM >::CreateIntracellularConductivityTensorSecondCell(), AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateJunction(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CreateMeshFromHeartConfig(), CardiacSimulation::CreateResumeXmlFile(), MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::CreateSolver(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DefineExtraVariablesWriterColumns(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DefineWriterColumns(), AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::DisplayRun(), Electrodes< DIM >::Electrodes(), ExtendedBidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ExtendedBidomainAssembler(), HeartConfigRelatedCellFactory< SPACE_DIM >::FillInCellularTransmuralAreas(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::GetDataReader(), AdaptiveBidomainProblem::GetGradation(), CML_noble_varghese_kohl_noble_1998_basic_with_sac::GetIIonic(), AbstractCardiacCellInterface::GetIntracellularAreaStimulus(), AdaptiveBidomainProblem::GetMaxEdgeLength(), AdaptiveBidomainProblem::GetMaxMeshNodes(), AdaptiveBidomainProblem::GetMinEdgeLength(), AdaptiveBidomainProblem::GetNumAdaptSweeps(), AdaptiveBidomainProblem::GetSigma(), AdaptiveBidomainProblem::GetTargetError(), HeartRegionCode::GetValidBathId(), HeartRegionCode::GetValidTissueId(), Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToCmguiConverter(), HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory(), HeartFileFinder::HeartFileFinder(), CardiacElectroMechanicsProblem< DIM, ELEC_PROB_DIM >::Initialise(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Initialise(), OperatorSplittingMonodomainSolver< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), MonodomainSolver< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), AbstractExtendedBidomainSolver< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), AbstractBidomainSolver< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::InitialiseWriter(), HeartRegionCode::IsRegionBath(), HeartRegionCode::IsRegionTissue(), LoadFromCheckpoint(), MonodomainAssembler< ELEMENT_DIM, SPACE_DIM >::MonodomainAssembler(), MonodomainCorrectionTermAssembler< ELEM_DIM, SPACE_DIM >::MonodomainCorrectionTermAssembler(), MonodomainSolver< ELEMENT_DIM, SPACE_DIM >::MonodomainSolver(), BidomainProblem< DIM >::OnEndOfTimestep(), ExtendedBidomainProblem< DIM >::PreSolveChecks(), BidomainProblem< DIM >::PreSolveChecks(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::PreSolveChecks(), CardiacSimulation::ReadParametersFromFile(), CardiacSimulation::Run(), AbstractCardiacTissue< SPACE_DIM >::save(), ExtendedBidomainProblem< DIM >::save(), AbstractCardiacProblem< DIM, DIM, 1 >::save(), HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellParameters(), BidomainProblem< DIM >::SetElectrodes(), AdaptiveBidomainProblem::SetNeumannStimulusMagnitudeAndDuration(), OperatorSplittingMonodomainSolver< ELEMENT_DIM, SPACE_DIM >::SetupLinearSystem(), MonodomainSolver< ELEMENT_DIM, SPACE_DIM >::SetupLinearSystem(), BidomainSolver< ELEMENT_DIM, SPACE_DIM >::SetupLinearSystem(), CardiacElectroMechanicsProblem< DIM, ELEC_PROB_DIM >::Solve(), AdaptiveBidomainProblem::Solve(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve(), AbstractCvodeCell::SolveAndUpdateState(), UpdateParametersFromResumeSimulation(), VoltageInterpolaterOntoMechanicsMesh< DIM >::VoltageInterpolaterOntoMechanicsMesh(), Hdf5ToMeshalyzerConverter< ELEMENT_DIM, SPACE_DIM >::Write(), Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::Write(), Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::WriteCmguiScript(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::WriteExtraVariablesOneStep(), PostProcessingWriter< ELEMENT_DIM, SPACE_DIM >::WriteGenericFile(), PostProcessingWriter< ELEMENT_DIM, SPACE_DIM >::WriteGenericFileToMeshalyzer(), PostProcessingWriter< ELEMENT_DIM, SPACE_DIM >::WritePostProcessingFiles(), PseudoEcgCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::WritePseudoEcg(), and PostProcessingWriter< ELEMENT_DIM, SPACE_DIM >::WriteVariablesOverTimeAtNodes().

bool HeartConfig::IsAdaptivityParametersPresent ( ) const
bool HeartConfig::IsAnyNodalTimeTraceRequested ( ) const
Returns:
true if any nodal time trace is requested

Definition at line 1904 of file HeartConfig.cpp.

References IsPostProcessingSectionPresent(), and mpParameters.

Referenced by GetNodalTimeTraceRequested(), and IsPostProcessingRequested().

bool HeartConfig::IsApdMapsRequested ( ) const
Returns:
true if APD maps have been requested

Definition at line 1791 of file HeartConfig.cpp.

References IsPostProcessingSectionPresent(), and mpParameters.

Referenced by GetApdMaps(), and IsPostProcessingRequested().

bool HeartConfig::IsConductionVelocityMapsRequested ( ) const
Returns:
true if conduction velocity maps have been requested

Definition at line 1876 of file HeartConfig.cpp.

References IsPostProcessingSectionPresent(), and mpParameters.

Referenced by GetConductionVelocityMaps(), and IsPostProcessingRequested().

bool HeartConfig::IsElectrodesPresent ( ) const
Returns:
true if there is an electrodes section

Definition at line 2032 of file HeartConfig.cpp.

References mpParameters.

Referenced by GetElectrodeParameters(), HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory(), and SetElectrodeParameters().

bool HeartConfig::IsMaxUpstrokeVelocityMapRequested ( ) const
Returns:
true maximum upstroke velocity maps have been requested

Definition at line 1848 of file HeartConfig.cpp.

References IsPostProcessingSectionPresent(), and mpParameters.

Referenced by GetMaxUpstrokeVelocityMaps(), and IsPostProcessingRequested().

bool HeartConfig::IsMeshProvided ( ) const
Returns:
true if a mesh file name is given. (Otherwise it's assumed that this is a cuboid simulation.)

Definition at line 815 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

Referenced by GetCreateFibre(), GetCreateMesh(), GetCreateSheet(), GetCreateSlab(), and GetLoadMesh().

bool HeartConfig::IsOutputVisualizerPresent ( ) const

Whether there is an OutputVisualizer element present.

Definition at line 1964 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

Referenced by GetVisualizerOutputPrecision(), GetVisualizeWithCmgui(), GetVisualizeWithMeshalyzer(), GetVisualizeWithParallelVtk(), and GetVisualizeWithVtk().

bool HeartConfig::IsPostProcessingRequested ( ) const
bool HeartConfig::IsPostProcessingSectionPresent ( ) const
bool HeartConfig::IsPseudoEcgCalculationRequested ( ) const
Returns:
true iff pseudo-ECG calculation has been requested

Definition at line 1933 of file HeartConfig.cpp.

References IsPostProcessingSectionPresent(), and mpParameters.

Referenced by IsPostProcessingRequested().

bool HeartConfig::IsSimulationDefined ( ) const

Returns whether the configuration file defines a new simulation.

Returns:
is a new simulation?

Definition at line 636 of file HeartConfig.cpp.

References mpParameters.

Referenced by CheckResumeSimulationIsDefined(), GetCheckpointSimulation(), GetDomain(), GetSimulationDuration(), GetSpaceDimension(), and SetParametersFile().

bool HeartConfig::IsSimulationResumed ( ) const

Returns whether the configuration file resumes an archived simulation.

Returns:
is a resumed simulation?

Definition at line 641 of file HeartConfig.cpp.

References mpParameters.

Referenced by CheckSimulationIsDefined().

bool HeartConfig::IsUpstrokeTimeMapsRequested ( ) const
Returns:
true if upstroke time maps have been requested

Definition at line 1821 of file HeartConfig.cpp.

References IsPostProcessingSectionPresent(), and mpParameters.

Referenced by GetUpstrokeTimeMaps(), and IsPostProcessingRequested().

template<class Archive >
void HeartConfig::load ( Archive &  archive,
const unsigned int  version 
) [inline, private]

Un-archive the object.

Parameters:
archive
version

Definition at line 118 of file HeartConfig.hpp.

References LoadFromCheckpoint().

void HeartConfig::LoadFromCheckpoint ( ) [private]

This method is called by load() to do the actual work - we don't need the Boost archives since we load from our serialised XML.

Definition at line 297 of file HeartConfig.cpp.

References RelativeTo::AbsoluteOrCwd, CheckTimeSteps(), ArchiveLocationInfo::GetArchiveDirectory(), Instance(), MergeDefaults(), mParametersFilePath, mpParameters, ReadFile(), SetCheckpointSimulation(), FileFinder::SetPath(), and UpdateParametersFromResumeSimulation().

Referenced by load().

boost::shared_ptr< cp::chaste_parameters_type > HeartConfig::ReadFile ( const std::string &  rFileName)
void HeartConfig::Reset ( ) [static]

Throw away the current instance by resetting auto_ptr mpInstance to NULL. "New" another mpInstance

Definition at line 628 of file HeartConfig.cpp.

References mpInstance.

Referenced by CardiacSimulation::ReadParametersFromFile(), and CardiacElectroMechanicsProblem< DIM, ELEC_PROB_DIM >::Solve().

const std::set< unsigned > & HeartConfig::rGetBathIdentifiers ( )

Gets region identifiers that have to be considered as bath.

Returns:
set of identifiers

Definition at line 1537 of file HeartConfig.cpp.

References mBathIdentifiers.

Referenced by HeartRegionCode::GetValidBathId().

const std::set< unsigned > & HeartConfig::rGetTissueIdentifiers ( )

Gets region identifiers that have to be considered as cardiac tissue.

Returns:
set of identifiers

Definition at line 1532 of file HeartConfig.cpp.

References mTissueIdentifiers.

Referenced by HeartRegionCode::GetValidTissueId().

template<class Archive >
void HeartConfig::save ( Archive &  archive,
const unsigned int  version 
) const [inline, private]

Archive the object.

Parameters:
archive
version

Definition at line 101 of file HeartConfig.hpp.

References PetscTools::AmMaster(), PetscTools::Barrier(), and mpInstance.

void HeartConfig::SetAdaptivityParameters ( double  targetError,
double  sigma,
double  maxEdgeLength,
double  minEdgeLength,
double  gradation,
unsigned  maxNodes,
unsigned  numSweeps 
)

Set the parameters to be used during mesh adaptation.

Parameters:
targetErroris the target error passed to the adaptivity library
sigmais the value of sigma passed to the adaptivity library
maxEdgeLengthis the maximum edge length permitted in the adapted mesh
minEdgeLengthis the minimum edge length permitted in the adapted mesh
gradationis the value of gradation passed to the adaptivity library
maxNodesis the maximum number of nodes permitted in the adapted mesh
numSweepsis the number of adaptive sweeps through the mesh performed by the adaptivity library

Definition at line 2598 of file HeartConfig.cpp.

References EXCEPTION, IsAdaptivityParametersPresent(), and mpParameters.

Referenced by SetGradationForAdaptivity(), SetMaxEdgeLengthForAdaptivity(), SetMaxNodesForAdaptivity(), SetMinEdgeLengthForAdaptivity(), SetNumberOfAdaptiveSweeps(), SetSigmaForAdaptivity(), and SetTargetErrorForAdaptivity().

void HeartConfig::SetApdMaps ( const std::vector< std::pair< double, double > > &  rApdMaps)

Set the parameters of the apd map requested

Parameters:
rApdMapseach entry is a request for a map with
  • a percentage in the range [1, 100) (ranges are not checked by this method, but during the calculation)
  • a threshold (in mV)

Definition at line 2709 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpParameters.

void HeartConfig::SetBathConductivity ( double  bathConductivity)

Set bath default conductivity

Parameters:
bathConductivitydefault conductivity for perfusing bath (mS/cm)
Todo:
Is this used anywhere?

Definition at line 2355 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetBathMultipleConductivities ( std::map< unsigned, double bathConductivities)

Set multiple bath conductivities based on element region label (mS/cm)

Parameters:
bathConductivitiesmap between different bath region identifier and their conductivity (if different from default)

Todo:
: This implementation is temporary until we incorporate the bath heterogeneities to the XML schema

Definition at line 2361 of file HeartConfig.cpp.

References mBathConductivities.

void HeartConfig::SetCapacitance ( double  capacitance)

Set surface capacitance Cm (for PDE)

Parameters:
capacitance(uF/cm^2)

Definition at line 2400 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetCheckpointSimulation ( bool  checkpointSimulation,
double  checkpointTimestep = -1.0,
unsigned  maxCheckpointsOnDisk = UINT_MAX 
)

Set whether the simulation should be checkpointed or not.

Parameters:
checkpointSimulationwhether to do checkpointing
checkpointTimestepcheckpointing timestep
maxCheckpointsOnDiskmaximum number of checkpoint archives to keep on disk

Definition at line 2271 of file HeartConfig.cpp.

References CheckTimeSteps(), and mpParameters.

Referenced by LoadFromCheckpoint(), and UpdateParametersFromResumeSimulation().

void HeartConfig::SetConductionVelocityMaps ( std::vector< unsigned > &  rConductionVelocityMaps)

Set the parameters of the conduction velocity map requested

Parameters:
rConductionVelocityMapsis a list of origin node indices. One map is created for each origin node.

Definition at line 2766 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpParameters.

void HeartConfig::SetConductivityHeterogeneities ( std::vector< ChasteCuboid< 3 > > &  rConductivityAreas,
std::vector< c_vector< double, 3 > > &  rIntraConductivities,
std::vector< c_vector< double, 3 > > &  rExtraConductivities 
)

Set a number of heterogeneous regions (Axis-aligned boxes) It is assumed that the std::vectors are all of the same length

Parameters:
rConductivityAreasconductivityAreas[0] is the first region
rIntraConductivitiesintraConductivities[0] is conductivity vector for the first region
rExtraConductivitiesextraConductivities[0] is conductivity vector for the first region

Definition at line 2139 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetConductivityHeterogeneitiesEllipsoid ( std::vector< ChasteEllipsoid< 3 > > &  conductivityAreas,
std::vector< c_vector< double, 3 > > &  intraConductivities,
std::vector< c_vector< double, 3 > > &  extraConductivities 
)

Set a number of heterogeneous regions (Axis-aligned ellipsoids) It is assumed that the std::vectors are all of the same length

Parameters:
conductivityAreasconductivityAreas[0] is the first region
intraConductivitiesintraConductivities[0] is conductivity vector for the first region
extraConductivitiesextraConductivities[0] is conductivity vector for the first region

Definition at line 2187 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetDefaultIonicModel ( const cp::ionic_models_available_type &  rIonicModel)

Set the configuration to place the given cardiac cell models at all mesh nodes (unless otherwise specified by SetIonicModelRegions). cp::ionic_models_available_type is generated automatically from the XML Schema.

Parameters:
rIonicModeltype of model

Definition at line 2056 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetDefaultSchemaLocations ( ) [private]

Set default schema locations in the Chaste source tree.

Definition at line 368 of file HeartConfig.cpp.

References ChasteBuildInfo::GetRootDir(), and mSchemaLocations.

Referenced by HeartConfig().

void HeartConfig::SetDomain ( const cp::domain_type &  rDomain)

Set the configuration to run mono or bidomain cp::domain_type is an xsd convenience class type

Parameters:
rDomaintype of simulation bi- mono-domain

Definition at line 2051 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetDrugDose ( double  drugDose)
Parameters:
drugDoseThe dose of the drug to use (should be in units consistent with the IC50s).

Definition at line 2975 of file HeartConfig.cpp.

References mpParameters.

Referenced by SetIc50Value().

void HeartConfig::SetElectrodeParameters ( bool  groundSecondElectrode,
unsigned  index,
double  magnitude,
double  startTime,
double  duration 
)

Setup electrode parameters.

Parameters:
groundSecondElectrodeWhether to ground the second electrode (see class documentation)
indexThe value i when applying the electrodes to x_i=a and x_i=b (a<b)
magnitudeMagnitude of the stimulus
startTimeSwitch on time
durationDuration of the stimulus.

Definition at line 2867 of file HeartConfig.cpp.

References IsElectrodesPresent(), and mpParameters.

void HeartConfig::SetExtracellularConductivities ( const c_vector< double, 2 > &  rExtraConductivities)

2D version

Parameters:
rExtraConductivitiesDIM-vector of extracellular conductivities (mS/cm)

Definition at line 2336 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetExtracellularConductivities ( const c_vector< double, 3 > &  rExtraConductivities)

3D version

Parameters:
rExtraConductivitiesDIM-vector of extracellular conductivities (mS/cm)

Definition at line 2325 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetExtracellularConductivities ( const c_vector< double, 1 > &  rExtraConductivities)

1D version

Parameters:
rExtraConductivitiesDIM-vector of extracellular conductivities (mS/cm)

Definition at line 2346 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetFibreLength ( double  x,
double  inter_node_space 
)

Set dimensions of simulation for use with a cuboid mesh generated on the fly. 1-D.

Parameters:
xlength in 1st dimension (cm)
inter_node_spaceSpacing in cartesian direction (cm).

Definition at line 2088 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetFixedSchemaLocations ( const SchemaLocationsMap rSchemaLocations)

Set the schema files to use. Also calls SetUseFixedSchemaLocation(true).

Parameters:
rSchemaLocationsmap from namespace URI to schema URI

Definition at line 418 of file HeartConfig.cpp.

References mSchemaLocations, and SetUseFixedSchemaLocation().

void HeartConfig::SetGradationForAdaptivity ( double  gradation)

Set the gradation to be used during mesh adaptation.

Parameters:
gradationis the gradation passed to the adaptivity library

Definition at line 2676 of file HeartConfig.cpp.

References GetMaxEdgeLengthForAdaptivity(), GetMaxNodesForAdaptivity(), GetMinEdgeLengthForAdaptivity(), GetNumberOfAdaptiveSweeps(), GetSigmaForAdaptivity(), GetTargetErrorForAdaptivity(), and SetAdaptivityParameters().

void HeartConfig::SetIc50Value ( const std::string &  rCurrentName,
double  ic50,
double  hill = 1.0 
)

Add a new conductance block model for a particular channel.

Parameters:
rCurrentNameThe Oxford metadata name of the current (e.g. membrane_fast_sodium_current)
ic50The IC50 value for this channel (should be in consistent units with drug dose)
hillThe hill coefficient to use (usually default to 1)

Definition at line 3008 of file HeartConfig.cpp.

References mpParameters, and SetDrugDose().

void HeartConfig::SetIntracellularConductivities ( const c_vector< double, 2 > &  rIntraConductivities)

2D version

Parameters:
rIntraConductivitiesDIM-vector of intracellular conductivities (mS/cm)

Definition at line 2306 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetIntracellularConductivities ( const c_vector< double, 3 > &  rIntraConductivities)

3D version

Parameters:
rIntraConductivitiesDIM-vector of intracellular conductivities (mS/cm)

Definition at line 2295 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetIntracellularConductivities ( const c_vector< double, 1 > &  rIntraConductivities)

1D version

Parameters:
rIntraConductivitiesDIM-vector of intracellular conductivities (mS/cm)

Definition at line 2316 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetIonicModelRegions ( std::vector< ChasteCuboid< 3 > > &  rDefinedRegions,
std::vector< cp::ionic_model_selection_type > &  rIonicModels 
) const

Set the regions where we need to use a different cell model (think infarction). Unlike the get method, this is currently only supported in 3d. cp::ionic_model_selection_type is generated automatically from the XML Schema.

The input standard vectors must be of the same length (one entry per region) otherwise the method throws.

Parameters:
rDefinedRegionsvector of axis-aligned box regions (one per cellular heterogeneity)
rIonicModelsvector of models (one per cellular heterogeneity)

Definition at line 2112 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetKSPPreconditioner ( const char *  kspPreconditioner)

Set the type of preconditioner as with the flag "-pc_type"

Parameters:
kspPreconditionera string from {"jacobi", "bjacobi", "hypre", "ml", "spai", "blockdiagonal", "ldufactorisation", "none"}

Definition at line 2519 of file HeartConfig.cpp.

References EXCEPTION, and mpParameters.

void HeartConfig::SetKSPSolver ( const char *  kspSolver)

Set the type of KSP solver as with the flag "-ksp_type"

Parameters:
kspSolvera string from {"gmres", "cg", "symmlq"}

Definition at line 2492 of file HeartConfig.cpp.

References EXCEPTION, and mpParameters.

void HeartConfig::SetMaxEdgeLengthForAdaptivity ( double  maxEdgeLength)

Set the maximum edge length to be used during mesh adaptation.

Parameters:
maxEdgeLengthis the maximum edge length permitted in the adapted mesh

Definition at line 2654 of file HeartConfig.cpp.

References GetGradationForAdaptivity(), GetMaxNodesForAdaptivity(), GetMinEdgeLengthForAdaptivity(), GetNumberOfAdaptiveSweeps(), GetSigmaForAdaptivity(), GetTargetErrorForAdaptivity(), and SetAdaptivityParameters().

void HeartConfig::SetMaxNodesForAdaptivity ( unsigned  maxNodes)

Set the maximum number of nodes to be used during mesh adaptation.

Parameters:
maxNodesis the maximum number of nodes permitted in the adapted mesh

Definition at line 2687 of file HeartConfig.cpp.

References GetGradationForAdaptivity(), GetMaxEdgeLengthForAdaptivity(), GetMinEdgeLengthForAdaptivity(), GetNumberOfAdaptiveSweeps(), GetSigmaForAdaptivity(), GetTargetErrorForAdaptivity(), and SetAdaptivityParameters().

void HeartConfig::SetMaxUpstrokeVelocityMaps ( std::vector< double > &  rMaxUpstrokeVelocityMaps)

Set the parameters of the maximal upstroke velocity map requested

Parameters:
rMaxUpstrokeVelocityMapsis the list of thresholds (mV) with respect to which the upstroke velocity maps are calculated. The threshold is used for determining when an action potential occurs.

Definition at line 2745 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpParameters.

void HeartConfig::SetMeshFileName ( std::string  meshPrefix,
cp::media_type  fibreDefinition = cp::media_type::NoFibreOrientation 
)

Sets the name of a mesh to be read from disk for this simulation

Parameters:
meshPrefixpath and basename of a set of mesh files (.nodes .ele etc) in triangle/tetget format
fibreDefinitionif set (Orthotropic/Axisymmetric) then a (.ortho/.axi) file should also be read
Todo:
There is no Get method

Definition at line 2100 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetMeshPartitioning ( const char *  meshPartioningMethod)

Set the type of mesh partitioning method

Parameters:
meshPartioningMethoda string from {"dumb", "metis", "parmetis", "petsc"}

Definition at line 2571 of file HeartConfig.cpp.

References EXCEPTION, and mpParameters.

void HeartConfig::SetMinEdgeLengthForAdaptivity ( double  minEdgeLength)

Set the minimum edge length to be used during mesh adaptation.

Parameters:
minEdgeLengthis the minimum edge length permitted in the adapted mesh

Definition at line 2665 of file HeartConfig.cpp.

References GetGradationForAdaptivity(), GetMaxEdgeLengthForAdaptivity(), GetMaxNodesForAdaptivity(), GetNumberOfAdaptiveSweeps(), GetSigmaForAdaptivity(), GetTargetErrorForAdaptivity(), and SetAdaptivityParameters().

void HeartConfig::SetNumberOfAdaptiveSweeps ( unsigned  numSweeps)

Set the number of adaptive sweeps to be used during mesh adaptation.

Parameters:
numSweepsis the number of adaptive sweeps through the mesh performed by the adaptivity library

Definition at line 2698 of file HeartConfig.cpp.

References GetGradationForAdaptivity(), GetMaxEdgeLengthForAdaptivity(), GetMaxNodesForAdaptivity(), GetMinEdgeLengthForAdaptivity(), GetSigmaForAdaptivity(), GetTargetErrorForAdaptivity(), and SetAdaptivityParameters().

void HeartConfig::SetOdePdeAndPrintingTimeSteps ( double  odeTimeStep,
double  pdeTimeStep,
double  printingTimeStep 
)

Set the configuration to use ode, pde and printing times of given values

The ODE step is used by explicit solver schemes such as ForwardEuler to evolve the ODE system at each node in the mesh. AbstractCardiacCells set their internal timestep to this value in their constructors. (AbstractCvodeCells will ignore this setting and use an adaptive time step scheme between PDE or sampling times.)

The PDE time step dictates how long a PDE solve should run before re-evaluating the ODE and cell model states and recalculating current contributions. The ODE time step should be a subdivision of this PDE timestep.

The sampling timestep should be a multiple of the PDE timestep, and dictates how frequently the output to file of results should occur.

This method calls CheckTimeSteps() to ensure the above compatibility conditions are met.

Parameters:
odeTimeStepode value to use
pdeTimeSteppde value to use
printingTimeStepprinting value to use

Definition at line 2408 of file HeartConfig.cpp.

References CheckTimeSteps(), and mpParameters.

Referenced by AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Converge(), SetOdeTimeStep(), SetPdeTimeStep(), and SetPrintingTimeStep().

void HeartConfig::SetOdeTimeStep ( double  odeTimeStep)

Set the configuration to use ode time step of given value, for explicit solver schemes such as ForwardEuler. AbstractCardiacCells set their internal timestep to this in their constructors.

AbstractCvodeCells will ignore this setting and use an adaptive time step scheme between PDE or sampling times.

Calls CheckTimeSteps via SetOdePdeAndPrintingTimeSteps

Parameters:
odeTimeStepthe value to use

Definition at line 2416 of file HeartConfig.cpp.

References GetPdeTimeStep(), GetPrintingTimeStep(), and SetOdePdeAndPrintingTimeSteps().

void HeartConfig::SetOutputDirectory ( const std::string &  rOutputDirectory)
void HeartConfig::SetOutputFilenamePrefix ( const std::string &  rOutputFilenamePrefix)
Parameters:
rOutputFilenamePrefixPrefix for files If set to "res" this will produce [path]/res.h5 [path]/output/res_mesh.pts [path]/output/res_mesh.tri [path]/output/res_parameters.xml (a copy of this configuration at the end of the simulation) [path]/output/res_times.info [path]/output/res_V.dat

Definition at line 2240 of file HeartConfig.cpp.

References mpParameters.

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

void HeartConfig::SetOutputUsingOriginalNodeOrdering ( bool  useOriginal)

This method may set the output HDF5 file to be written using the original mesh permutation (in situations where a parallel partition may have permuted the node). The default is to use the new, not original permutation, i.e. useOriginal=false

Parameters:
useOriginalwhether to use the original permutation

Definition at line 2265 of file HeartConfig.cpp.

References mpParameters.

Referenced by AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::InitialiseWriter().

void HeartConfig::SetOutputVariables ( const std::vector< std::string > &  rOutputVariables)
Parameters:
rOutputVariablesa vector of std::strings of the names of each variable that should be outputted at each time step.

USING THIS METHOD WILL OVERRIDE THE ANY OUTPUT VARIABLES SET IN THE XML FILE

Definition at line 2245 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetParametersFile ( const std::string &  rFileName)

mpParameters is set to a new context associated with a parameters file

Parameters:
rFileNameThe name of the parameters file

Definition at line 502 of file HeartConfig.cpp.

References RelativeTo::AbsoluteOrCwd, CheckTimeSteps(), CreateDefaultParameters(), IsSimulationDefined(), MergeDefaults(), mParametersFilePath, mpParameters, ReadFile(), and FileFinder::SetPath().

Referenced by CardiacSimulation::ReadParametersFromFile().

void HeartConfig::SetPdeTimeStep ( double  pdeTimeStep)

Set the configuration to use pde time of given value Calls CheckTimeSteps via SetOdePdeAndPrintingTimeSteps

Parameters:
pdeTimeStepthe value to use

Definition at line 2421 of file HeartConfig.cpp.

References GetOdeTimeStep(), GetPrintingTimeStep(), and SetOdePdeAndPrintingTimeSteps().

void HeartConfig::SetPrintingTimeStep ( double  printingTimeStep)

Set the configuration to use printing time of given value Calls CheckTimeSteps via SetOdePdeAndPrintingTimeSteps

Parameters:
printingTimeStepthe value to use

Definition at line 2426 of file HeartConfig.cpp.

References GetOdeTimeStep(), GetPdeTimeStep(), and SetOdePdeAndPrintingTimeSteps().

Referenced by CardiacElectroMechanicsProblem< DIM, ELEC_PROB_DIM >::Solve().

template<unsigned SPACE_DIM>
void HeartConfig::SetPseudoEcgElectrodePositions ( const std::vector< ChastePoint< SPACE_DIM > > &  rPseudoEcgElectrodePositions)

Set the parameters for pseudo-ECG calculation.

Parameters:
rPseudoEcgElectrodePositionsshould contan the positions of electrodes to use in calculating pseudo-ECGs (if any)

Definition at line 2799 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpParameters.

void HeartConfig::SetPurkinjeCapacitance ( double  capacitance)

Set the surface capacitance for Purkinje myocytes.

Parameters:
capacitancePurkinje capacitance (Cm) (units uF/cm^2)

Definition at line 3106 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetPurkinjeConductivity ( double  conductivity)

Set the default conductivity for Purkinje fibres.

Parameters:
conductivityPurkinje conductivity (units mS/cm)

Definition at line 3137 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetPurkinjeSurfaceAreaToVolumeRatio ( double  ratio)

Set the surface area to volume ratio for Purkinje fibres.

Parameters:
ratiothe ratio (Am) (units 1/cm)

Definition at line 3122 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetRequestedNodalTimeTraces ( std::vector< unsigned > &  requestedNodes)

Sets the requested nodes for extrapolation of the time trace. The node numbering is referred to the original numbering (unpermuted).

Parameters:
requestedNodesthe node indices (in the unpermuted mesh) where we want the plot over time

Definition at line 2782 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpParameters.

void HeartConfig::SetSheetDimensions ( double  x,
double  y,
double  inter_node_space 
)

Set dimensions of simulation for use with a cuboid mesh generated on the fly. 2-D.

Parameters:
xlength in 1st dimension (cm)
ylength in 2nd dimension (cm)
inter_node_spaceSpacing in cartesian direction (cm). Diagonals will be longer.

Definition at line 2076 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetSigmaForAdaptivity ( double  sigma)

Set the value of sigma to be used during mesh adaptation.

Parameters:
sigmais the value of sigma passed to the adaptivity library

Definition at line 2643 of file HeartConfig.cpp.

References GetGradationForAdaptivity(), GetMaxEdgeLengthForAdaptivity(), GetMaxNodesForAdaptivity(), GetMinEdgeLengthForAdaptivity(), GetNumberOfAdaptiveSweeps(), GetTargetErrorForAdaptivity(), and SetAdaptivityParameters().

void HeartConfig::SetSimulationDuration ( double  simulationDuration)

Set the configuration simulation end time.

Parameters:
simulationDurationend time for the next call to Solve() (in ms).

Definition at line 2045 of file HeartConfig.cpp.

References mpParameters.

Referenced by AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Converge(), CardiacSimulation::CreateAndRun(), and UpdateParametersFromResumeSimulation().

void HeartConfig::SetSlabDimensions ( double  x,
double  y,
double  z,
double  inter_node_space 
)

Set dimensions of simulation for use with a cuboid mesh generated on the fly. 3-D.

Parameters:
xlength in 1st dimension (cm)
ylength in 2nd dimension (cm)
zlength in 3rd dimension (cm)
inter_node_spaceSpacing in cartesian direction (cm). Diagonals will be longer.

Definition at line 2064 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetSpaceDimension ( unsigned  spaceDimension)

Set the configuration dimension

Parameters:
spaceDimension1, 2 or 3.

Definition at line 2040 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetSurfaceAreaToVolumeRatio ( double  ratio)

Sets which region identifiers have to be considered cardiac tissue.

param tissueIds set of identifiers

Todo:
#1703 Think about adding this convenience method either copying the existing BathIds, resetting them out of the way, or making them empty...

Set surface area to volume ratio Am (for PDE)

Parameters:
ratio(1/cm)

Definition at line 2394 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetTargetErrorForAdaptivity ( double  targetError)

Set the target error to be used during mesh adaptation.

Parameters:
targetErroris the target error passed to the adaptivity library

Definition at line 2632 of file HeartConfig.cpp.

References GetGradationForAdaptivity(), GetMaxEdgeLengthForAdaptivity(), GetMaxNodesForAdaptivity(), GetMinEdgeLengthForAdaptivity(), GetNumberOfAdaptiveSweeps(), GetSigmaForAdaptivity(), and SetAdaptivityParameters().

void HeartConfig::SetTissueAndBathIdentifiers ( const std::set< unsigned > &  tissueIds,
const std::set< unsigned > &  bathIds 
)

Sets which region identifiers have to be considered cardiac tissue and bath.

Parameters:
tissueIdsset of identifiers
bathIdsset of identifiers

Definition at line 2373 of file HeartConfig.cpp.

References EXCEPTION, mBathIdentifiers, and mTissueIdentifiers.

void HeartConfig::SetUpstrokeTimeMaps ( std::vector< double > &  rUpstrokeTimeMaps)

Set the parameters of the upstroke time map requested

Parameters:
rUpstrokeTimeMapsis the list of thresholds (mV) with respect to which the upstroke time maps are calculated. The threshold is used for determining when an action potential occurs.

Definition at line 2727 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpParameters.

void HeartConfig::SetUseAbsoluteTolerance ( double  absoluteTolerance)

Set the configuration to use KSP absolute tolerance of given value

Parameters:
absoluteTolerancethe value to use

Definition at line 2484 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetUseFixedNumberIterationsLinearSolver ( bool  useFixedNumberIterations = true,
unsigned  evaluateNumItsEveryNSolves = UINT_MAX 
)

Set the use of fixed number of iterations in the linear solver

Parameters:
useFixedNumberIterationsWhether to use a fixed number of iterations for the linear solver
evaluateNumItsEveryNSolvesPerform a solve with convergence-based stop criteria every n solves to decide how many iterations perform for the next n-1 solves. Default is perfoming a single evaluation at the beginning of the simulation.

Definition at line 3072 of file HeartConfig.cpp.

References mEvaluateNumItsEveryNSolves, and mUseFixedNumberIterations.

void HeartConfig::SetUseFixedSchemaLocation ( bool  useFixedSchemaLocation)
Parameters:
useFixedSchemaLocationwhether to read the schema location from the XML file (false) or use the schema located at heart/src/io/ChasteParameters.xsd in the Chaste source tree (or specified with SetFixedSchemaLocations()) (true).

Definition at line 424 of file HeartConfig.cpp.

References mUseFixedSchemaLocation.

Referenced by CardiacSimulation::ReadParametersFromFile(), and SetFixedSchemaLocations().

void HeartConfig::SetUseMassLumping ( bool  useMassLumping = true)

Set the use of mass lumping in the FE solver.

Parameters:
useMassLumpingWhether to use it

Definition at line 3042 of file HeartConfig.cpp.

References mUseMassLumping.

Referenced by MonodomainSolver< ELEMENT_DIM, SPACE_DIM >::SetupLinearSystem().

void HeartConfig::SetUseMassLumpingForPrecond ( bool  useMassLumping = true)

Set the use of mass lumping in the construction of the preconditioner in the FE solver.

Parameters:
useMassLumpingWhether to use it

Definition at line 3052 of file HeartConfig.cpp.

References mUseMassLumpingForPrecond.

void HeartConfig::SetUseReactionDiffusionOperatorSplitting ( bool  useOperatorSplitting = true)

Use Strang operator splitting of the diffusion (conductivity) term and the reaction (ionic current) term, instead of solving the full reaction-diffusion PDE. This does NOT refer to operator splitting of the two PDEs in the bidomain equations. For details see for example Sundnes et al "Computing the Electrical Activity of the Heart".

Parameters:
useOperatorSplittingWhether to use operator splitting (defaults to true).

Definition at line 3062 of file HeartConfig.cpp.

References mUseReactionDiffusionOperatorSplitting.

void HeartConfig::SetUseRelativeTolerance ( double  relativeTolerance)

Set the configuration to use KSP relative tolerance of given value

Parameters:
relativeTolerancethe value to use

Definition at line 2476 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetUseStateVariableInterpolation ( bool  useStateVariableInterpolation = true)

Set the use of State Variable Interpolation in the computation of ionic currents. See documentation page ChasteGuides/StateVariableInterpolation.

Parameters:
useStateVariableInterpolationWhether to use it.

Definition at line 2950 of file HeartConfig.cpp.

References mpParameters.

void HeartConfig::SetVisualizerOutputPrecision ( unsigned  numberOfDigits)

Set the precision with which to output textual visualizer formats (e.g. meshalyzer). Use '0' for the implementation-defined default precision.

Parameters:
numberOfDigitshow many digits of precision to use

Definition at line 2859 of file HeartConfig.cpp.

References EnsureOutputVisualizerExists(), and mpParameters.

void HeartConfig::SetVisualizeWithCmgui ( bool  useCmgui = true)

Set whether to convert the output from HDF5 to Cmgui readable format

Parameters:
useCmgui

Definition at line 2835 of file HeartConfig.cpp.

References EnsureOutputVisualizerExists(), and mpParameters.

Referenced by UpdateParametersFromResumeSimulation().

void HeartConfig::SetVisualizeWithMeshalyzer ( bool  useMeshalyzer = true)

Set whether to convert the output from HDF5 to meshalyzer readable format

Parameters:
useMeshalyzer

Definition at line 2827 of file HeartConfig.cpp.

References EnsureOutputVisualizerExists(), and mpParameters.

Referenced by UpdateParametersFromResumeSimulation().

void HeartConfig::SetVisualizeWithParallelVtk ( bool  useParallelVtk = true)

Set whether to convert the output from HDF5 to parallel Vtk readable format

Parameters:
useParallelVtk

Definition at line 2851 of file HeartConfig.cpp.

References EnsureOutputVisualizerExists(), and mpParameters.

Referenced by UpdateParametersFromResumeSimulation().

void HeartConfig::SetVisualizeWithVtk ( bool  useVtk = true)

Set whether to convert the output from HDF5 to Vtk readable format

Parameters:
useVtk

Definition at line 2843 of file HeartConfig.cpp.

References EnsureOutputVisualizerExists(), and mpParameters.

Referenced by UpdateParametersFromResumeSimulation().

void HeartConfig::UpdateParametersFromResumeSimulation ( boost::shared_ptr< cp::chaste_parameters_type >  pResumeParameters) [private]

When loading a simulation from archive, some parameters can get overridden by the content of the ResumeSimulation element. This method does that.

Parameters:
pResumeParametersthe parameters containing the ResumeSimulation element.

Definition at line 519 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), EXCEPTION, GetDomain(), GetSpaceDimension(), Instance(), mpParameters, SetCheckpointSimulation(), SetSimulationDuration(), SetVisualizeWithCmgui(), SetVisualizeWithMeshalyzer(), SetVisualizeWithParallelVtk(), and SetVisualizeWithVtk().

Referenced by LoadFromCheckpoint().

void HeartConfig::Write ( bool  useArchiveLocationInfo = false,
std::string  subfolderName = "output" 
)

Write out the complete configuration set (ChasteParameters and ChasteDefaults) as an XML file. Note that the location of ChasteParameters.xsd (schema definition) will be hard-coded in the XML file.

Parameters:
useArchiveLocationInfoif false, then use self's GetOutputDirectory() and open in *named* subfolder if true, then use ArchiveLocationInfo
subfolderName-- where to store with respect to GetOutputDirectory()
Note:
This method is collective if useArchiveLocationInfo is false

Definition at line 242 of file HeartConfig.cpp.

References PetscTools::AmMaster(), CopySchema(), EXCEPTION, ArchiveLocationInfo::GetArchiveDirectory(), GetOutputDirectory(), OutputFileHandler::GetOutputDirectoryFullPath(), and mpParameters.

Referenced by AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CloseFilesAndPostProcess().


Friends And Related Function Documentation

friend class boost::serialization::access [friend]

Needed for serialization.

Definition at line 93 of file HeartConfig.hpp.


Member Data Documentation

Map defining bath conductivity for multiple bath regions

Definition at line 1377 of file HeartConfig.hpp.

Referenced by GetBathConductivity(), and SetBathMultipleConductivities().

Mesh region identifiers to be considered as Bath

Definition at line 1387 of file HeartConfig.hpp.

Referenced by HeartConfig(), rGetBathIdentifiers(), and SetTissueAndBathIdentifiers().

Fraction of endocardial layer

Definition at line 1331 of file HeartConfig.hpp.

Referenced by GetCellHeterogeneities(), GetEndoLayerFraction(), and HeartConfig().

Fraction of epicardial layer

Definition at line 1326 of file HeartConfig.hpp.

Referenced by GetCellHeterogeneities(), GetEpiLayerFraction(), and HeartConfig().

Perform a solve with convergence-based stop criteria every n solves to decide how many iterations perform for the next n-1 solves. Default is performing a single evaluation at the beginning of the simulation.

Definition at line 1399 of file HeartConfig.hpp.

Referenced by GetEvaluateNumItsEveryNSolves(), and SetUseFixedNumberIterationsLinearSolver().

Order index in which the endocardial heterogeneities are supplied

Definition at line 1351 of file HeartConfig.hpp.

Referenced by GetCellHeterogeneities(), GetEndoLayerIndex(), and HeartConfig().

Order index in which the epicardial heterogeneities are supplied

Definition at line 1346 of file HeartConfig.hpp.

Referenced by GetCellHeterogeneities(), GetEpiLayerIndex(), and HeartConfig().

Order index in which the midmyocardial heterogeneities are supplied

Definition at line 1341 of file HeartConfig.hpp.

Referenced by GetCellHeterogeneities(), GetMidLayerIndex(), and HeartConfig().

Fraction of midmyocardial layer

Definition at line 1336 of file HeartConfig.hpp.

Referenced by GetCellHeterogeneities(), GetMidLayerFraction(), and HeartConfig().

Where the user parameters were read from.

Definition at line 1315 of file HeartConfig.hpp.

Referenced by GetParametersFilePath(), LoadFromCheckpoint(), and SetParametersFile().

std::auto_ptr< HeartConfig > HeartConfig::mpInstance [static, private]

The single instance of the class

Definition at line 1310 of file HeartConfig.hpp.

Referenced by HeartConfig(), Reset(), and save().

boost::shared_ptr<cp::chaste_parameters_type> HeartConfig::mpParameters [private]

Pointer to parameters read from the user's input XML file

Definition at line 1307 of file HeartConfig.hpp.

Referenced by EnsureOutputVisualizerExists(), EnsurePostProcessingSectionPresent(), GetAbsoluteTolerance(), GetApdMaps(), GetArchivedSimulationDir(), GetBathConductivity(), GetCapacitance(), GetCellHeterogeneities(), GetCheckpointSimulation(), GetCheckpointTimestep(), GetConductionVelocityMaps(), GetConductivityHeterogeneities(), GetConductivityHeterogeneitiesProvided(), GetConductivityMedia(), GetCreateFibre(), GetCreateMesh(), GetCreateSheet(), GetCreateSlab(), GetDefaultIonicModel(), GetDomain(), GetDrugDose(), GetElectrodeParameters(), GetExtracellularConductivities(), GetFibreLength(), GetGradationForAdaptivity(), GetIc50Values(), GetInterNodeSpace(), GetIntracellularConductivities(), GetIonicModelRegions(), GetKSPPreconditioner(), GetKSPSolver(), GetLoadMesh(), GetMaxCheckpointsOnDisk(), GetMaxEdgeLengthForAdaptivity(), GetMaxNodesForAdaptivity(), GetMaxUpstrokeVelocityMaps(), GetMeshName(), GetMeshPartitioning(), GetMinEdgeLengthForAdaptivity(), GetNodalTimeTraceRequested(), GetNumberOfAdaptiveSweeps(), GetOdeTimeStep(), GetOutputDirectory(), GetOutputFilenamePrefix(), GetOutputUsingOriginalNodeOrdering(), GetOutputVariables(), GetOutputVariablesProvided(), GetPdeTimeStep(), GetPrintingTimeStep(), GetPseudoEcgElectrodePositions(), GetPurkinjeCapacitance(), GetPurkinjeConductivity(), GetPurkinjeSurfaceAreaToVolumeRatio(), GetRelativeTolerance(), GetSheetDimensions(), GetSigmaForAdaptivity(), GetSimulationDuration(), GetSlabDimensions(), GetSpaceDimension(), GetStimuli(), GetSurfaceAreaToVolumeRatio(), GetTargetErrorForAdaptivity(), GetUpstrokeTimeMaps(), GetUseAbsoluteTolerance(), GetUseRelativeTolerance(), GetUseStateVariableInterpolation(), GetVisualizerOutputPrecision(), GetVisualizeWithCmgui(), GetVisualizeWithMeshalyzer(), GetVisualizeWithParallelVtk(), GetVisualizeWithVtk(), HasDrugDose(), HasPurkinje(), HeartConfig(), IsAdaptivityParametersPresent(), IsAnyNodalTimeTraceRequested(), IsApdMapsRequested(), IsConductionVelocityMapsRequested(), IsElectrodesPresent(), IsMaxUpstrokeVelocityMapRequested(), IsMeshProvided(), IsOutputVisualizerPresent(), IsPostProcessingSectionPresent(), IsPseudoEcgCalculationRequested(), IsSimulationDefined(), IsSimulationResumed(), IsUpstrokeTimeMapsRequested(), LoadFromCheckpoint(), ReadFile(), SetAdaptivityParameters(), SetApdMaps(), SetBathConductivity(), SetCapacitance(), SetCheckpointSimulation(), SetConductionVelocityMaps(), SetConductivityHeterogeneities(), SetConductivityHeterogeneitiesEllipsoid(), SetDefaultIonicModel(), SetDomain(), SetDrugDose(), SetElectrodeParameters(), SetExtracellularConductivities(), SetFibreLength(), SetIc50Value(), SetIntracellularConductivities(), SetIonicModelRegions(), SetKSPPreconditioner(), SetKSPSolver(), SetMaxUpstrokeVelocityMaps(), SetMeshFileName(), SetMeshPartitioning(), SetOdePdeAndPrintingTimeSteps(), SetOutputDirectory(), SetOutputFilenamePrefix(), SetOutputUsingOriginalNodeOrdering(), SetOutputVariables(), SetParametersFile(), SetPseudoEcgElectrodePositions(), SetPurkinjeCapacitance(), SetPurkinjeConductivity(), SetPurkinjeSurfaceAreaToVolumeRatio(), SetRequestedNodalTimeTraces(), SetSheetDimensions(), SetSimulationDuration(), SetSlabDimensions(), SetSpaceDimension(), SetSurfaceAreaToVolumeRatio(), SetUpstrokeTimeMaps(), SetUseAbsoluteTolerance(), SetUseRelativeTolerance(), SetUseStateVariableInterpolation(), SetVisualizerOutputPrecision(), SetVisualizeWithCmgui(), SetVisualizeWithMeshalyzer(), SetVisualizeWithParallelVtk(), SetVisualizeWithVtk(), UpdateParametersFromResumeSimulation(), and Write().

Fixed location of schema files for the different Chaste parameters namespaces.

Definition at line 149 of file HeartConfig.hpp.

Referenced by ReadFile(), SetDefaultSchemaLocations(), and SetFixedSchemaLocations().

Mesh region identifiers to be considered as cardiac tissue

Definition at line 1382 of file HeartConfig.hpp.

Referenced by HeartConfig(), rGetTissueIdentifiers(), and SetTissueAndBathIdentifiers().

Whether to use a fixed number of iterations for the linear solver

Definition at line 1392 of file HeartConfig.hpp.

Referenced by GetUseFixedNumberIterationsLinearSolver(), and SetUseFixedNumberIterationsLinearSolver().

Whether to read the schema location from the XML file (false) or use the schema located at heart/src/io/ChasteParameters.xsd in the Chaste source tree (true).

Definition at line 1321 of file HeartConfig.hpp.

Referenced by HeartConfig(), ReadFile(), and SetUseFixedSchemaLocation().

Flag telling whether to use mass lumping or not.

Definition at line 1361 of file HeartConfig.hpp.

Referenced by GetUseMassLumping(), and SetUseMassLumping().

Flag telling whether to use mass lumping in the preconditioner or not.

Definition at line 1366 of file HeartConfig.hpp.

Referenced by GetUseMassLumpingForPrecond(), and SetUseMassLumpingForPrecond().

Flag to check whether the user asked for cellular transmural heterogeneities

Definition at line 1356 of file HeartConfig.hpp.

Referenced by AreCellularTransmuralHeterogeneitiesRequested(), GetCellHeterogeneities(), and HeartConfig().

Whether to use Strang operator splitting of the diffusion and reaction terms (see Set method documentation).

Definition at line 1372 of file HeartConfig.hpp.

Referenced by GetUseReactionDiffusionOperatorSplitting(), HeartConfig(), and SetUseReactionDiffusionOperatorSplitting().


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