Chaste Commit::1fd4e48e3990e67db148bc1bc4cf6991a0049d0c
HeartConfig Class Reference

#include <HeartConfig.hpp>

+ Collaboration diagram for HeartConfig:

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 > &rIntraConductivities) const
 
void GetIntracellularConductivities (c_vector< double, 2 > &rIntraConductivities) const
 
void GetIntracellularConductivities (c_vector< double, 1 > &rIntraConductivities) const
 
void GetExtracellularConductivities (c_vector< double, 3 > &rExtraConductivities) const
 
void GetExtracellularConductivities (c_vector< double, 2 > &rExtraConductivities) const
 
void GetExtracellularConductivities (c_vector< double, 1 > &rExtraConductivities) 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
 
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 > > &rConductivityAreas, std::vector< c_vector< double, 3 > > &rIntraConductivities, std::vector< c_vector< double, 3 > > &rExtraConductivities)
 
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 > &rTissueIds, const std::set< unsigned > &rBathIds)
 
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, bool warnOfChange=false)
 
void SetKSPPreconditioner (const char *kspPreconditioner)
 
void SetMeshPartitioning (const char *meshPartioningMethod)
 
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 boost::shared_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

◆ SchemaLocationsMap

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 184 of file HeartConfig.hpp.

Constructor & Destructor Documentation

◆ ~HeartConfig()

HeartConfig::~HeartConfig ( )

Destructor

Definition at line 249 of file HeartConfig.cpp.

◆ HeartConfig()

Member Function Documentation

◆ AreCellularTransmuralHeterogeneitiesRequested()

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

Definition at line 1253 of file HeartConfig.cpp.

References mUserAskedForCellularTransmuralHeterogeneities.

◆ CheckResumeSimulationIsDefined()

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 690 of file HeartConfig.cpp.

References EXCEPTION, and IsSimulationDefined().

Referenced by GetArchivedSimulationDir().

◆ CheckSimulationIsDefined()

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 682 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().

◆ CheckTimeSteps()

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 2360 of file HeartConfig.cpp.

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

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

◆ CopySchema()

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.

Note
Must be called by the master only, preferably in a TRY_IF_MASTER() in case of failure, to handle exceptions nicely.
Parameters
rToDirectorydirectory to copy to

Definition at line 364 of file HeartConfig.cpp.

References RelativeTo::Absolute, RelativeTo::ChasteSourceRoot, FileFinder::CopyTo(), RelativeTo::CWD, FileFinder::Exists(), and FileFinder::SetPath().

Referenced by Write().

◆ EnsureOutputVisualizerExists()

void HeartConfig::EnsureOutputVisualizerExists ( void  )

Create the OutputVisualizer element if it doesn't exist

Definition at line 2641 of file HeartConfig.cpp.

References mpParameters.

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

◆ EnsurePostProcessingSectionPresent()

void HeartConfig::EnsurePostProcessingSectionPresent ( )

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

Definition at line 1717 of file HeartConfig.cpp.

References mpParameters.

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

◆ GetAbsoluteTolerance()

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

Definition at line 1605 of file HeartConfig.cpp.

References EXCEPTION, GetUseAbsoluteTolerance(), and mpParameters.

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

◆ GetApdMaps()

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 1744 of file HeartConfig.cpp.

References IsApdMapsRequested(), and mpParameters.

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

◆ GetArchivedSimulationDir()

HeartFileFinder HeartConfig::GetArchivedSimulationDir ( ) const
Returns
directory where the archived simulation to resume is defined

Definition at line 1433 of file HeartConfig.cpp.

References CheckResumeSimulationIsDefined(), and mpParameters.

◆ GetBathConductivity()

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 1524 of file HeartConfig.cpp.

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

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

◆ GetCapacitance()

◆ GetCellHeterogeneities()

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 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:
  • do we assume the vectors are initially empty?

There is no set method

Definition at line 1117 of file HeartConfig.cpp.

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

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

◆ GetCheckpointSimulation()

bool HeartConfig::GetCheckpointSimulation ( ) const

Get whether simulation should be checkpointed or not

Returns
archive simulation

Definition at line 1416 of file HeartConfig.cpp.

References IsSimulationDefined(), and mpParameters.

Referenced by CheckTimeSteps(), CardiacSimulation::CreateAndRun(), GetCheckpointTimestep(), and GetMaxCheckpointsOnDisk().

◆ GetCheckpointTimestep()

double HeartConfig::GetCheckpointTimestep ( ) const

Get checkpointing timestep

Returns
checkpointing timestep

Definition at line 1421 of file HeartConfig.cpp.

References GetCheckpointSimulation(), and mpParameters.

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

◆ GetConductionVelocityMaps()

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 1823 of file HeartConfig.cpp.

References IsConductionVelocityMapsRequested(), and mpParameters.

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

◆ GetConductivityHeterogeneities()

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) 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:
  • do we assume the vectors are initially empty?
Todo:
When this is implemented, then we require an example in ChasteParametersFullFormat.xml

Definition at line 1295 of file HeartConfig.cpp.

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

Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor(), and BidomainTissue< DIM >::rGetExtracellularConductivityTensor().

◆ GetConductivityHeterogeneitiesProvided()

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

Definition at line 1288 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

Referenced by GetConductivityHeterogeneities().

◆ GetConductivityMedia()

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 972 of file HeartConfig.cpp.

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

◆ GetCreateFibre()

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

Definition at line 878 of file HeartConfig.cpp.

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

Referenced by GetFibreLength(), and GetInterNodeSpace().

◆ GetCreateMesh()

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

Definition at line 854 of file HeartConfig.cpp.

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

◆ GetCreateSheet()

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

Definition at line 870 of file HeartConfig.cpp.

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

Referenced by GetInterNodeSpace(), and GetSheetDimensions().

◆ GetCreateSlab()

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

Definition at line 862 of file HeartConfig.cpp.

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

Referenced by GetInterNodeSpace(), and GetSlabDimensions().

◆ GetDefaultIonicModel()

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 737 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

◆ GetDomain()

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 724 of file HeartConfig.cpp.

References IsSimulationDefined(), and mpParameters.

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

◆ GetDrugDose()

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

Definition at line 2784 of file HeartConfig.cpp.

References HasDrugDose(), and mpParameters.

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

◆ GetElectrodeParameters()

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 2724 of file HeartConfig.cpp.

References EXCEPTION, IsElectrodesPresent(), and mpParameters.

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

◆ GetEndoLayerFraction()

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

Definition at line 1263 of file HeartConfig.cpp.

References mEndoFraction.

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

◆ GetEndoLayerIndex()

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 1278 of file HeartConfig.cpp.

References mIndexEndo.

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

◆ GetEpiLayerFraction()

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

Definition at line 1258 of file HeartConfig.cpp.

References mEpiFraction.

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

◆ GetEpiLayerIndex()

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 1273 of file HeartConfig.cpp.

References mIndexEpi.

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

◆ GetEvaluateNumItsEveryNSolves()

unsigned HeartConfig::GetEvaluateNumItsEveryNSolves ( )
Returns
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 2895 of file HeartConfig.cpp.

References mEvaluateNumItsEveryNSolves.

◆ GetExtracellularConductivities() [1/3]

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

1D version

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

Definition at line 1514 of file HeartConfig.cpp.

References mpParameters.

◆ GetExtracellularConductivities() [2/3]

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

2D version

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

Definition at line 1500 of file HeartConfig.cpp.

References mpParameters.

◆ GetExtracellularConductivities() [3/3]

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

3D version

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

Definition at line 1482 of file HeartConfig.cpp.

References mpParameters.

Referenced by GetConductivityHeterogeneities().

◆ GetFibreLength()

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

Definition at line 924 of file HeartConfig.cpp.

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

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

◆ GetIc50Values()

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 2803 of file HeartConfig.cpp.

References HasDrugDose(), and mpParameters.

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

◆ GetInterNodeSpace()

double HeartConfig::GetInterNodeSpace ( ) const

◆ GetIntracellularConductivities() [1/3]

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

1D version

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

Definition at line 1472 of file HeartConfig.cpp.

References mpParameters.

◆ GetIntracellularConductivities() [2/3]

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

2D version

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

Definition at line 1458 of file HeartConfig.cpp.

References mpParameters.

◆ GetIntracellularConductivities() [3/3]

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

3D version

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

Definition at line 1440 of file HeartConfig.cpp.

References mpParameters.

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

◆ GetIonicModelRegions()

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 745 of file HeartConfig.cpp.

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

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

◆ GetKSPPreconditioner()

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

Definition at line 1650 of file HeartConfig.cpp.

References EXCEPTION, and mpParameters.

◆ GetKSPSolver()

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

Definition at line 1631 of file HeartConfig.cpp.

References EXCEPTION, and mpParameters.

Referenced by SetKSPSolver().

◆ GetLoadMesh()

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 886 of file HeartConfig.cpp.

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

Referenced by GetConductivityMedia(), and GetMeshName().

◆ GetMaxCheckpointsOnDisk()

unsigned HeartConfig::GetMaxCheckpointsOnDisk ( ) const

Get number of checkpoints to keep on disk

Returns
checkpointing timestep

Definition at line 1427 of file HeartConfig.cpp.

References GetCheckpointSimulation(), and mpParameters.

Referenced by CardiacSimulation::CreateResumeXmlFile().

◆ GetMaxUpstrokeVelocityMaps()

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 1797 of file HeartConfig.cpp.

References IsMaxUpstrokeVelocityMapRequested(), and mpParameters.

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

◆ GetMeshName()

◆ GetMeshPartitioning()

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

Definition at line 1679 of file HeartConfig.cpp.

References EXCEPTION, and mpParameters.

◆ GetMidLayerFraction()

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

Definition at line 1268 of file HeartConfig.cpp.

References mMidFraction.

◆ GetMidLayerIndex()

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 1283 of file HeartConfig.cpp.

References mIndexMid.

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

◆ GetNodalTimeTraceRequested()

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 1849 of file HeartConfig.cpp.

References IsAnyNodalTimeTraceRequested(), and mpParameters.

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

◆ GetOdeTimeStep()

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

Definition at line 1581 of file HeartConfig.cpp.

References mpParameters.

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

◆ GetOutputDirectory()

◆ GetOutputFilenamePrefix()

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 1375 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

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

◆ GetOutputUsingOriginalNodeOrdering()

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 1405 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

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

◆ GetOutputVariables()

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

Returns (via rOutputVariables) 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 (returned).

Definition at line 1388 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().

◆ GetOutputVariablesProvided()

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

Definition at line 1382 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

Referenced by GetOutputVariables().

◆ GetParametersFilePath()

FileFinder HeartConfig::GetParametersFilePath ( )
Returns
where the user parameters were read from. The result is undefined if no parameters file has been read.

Definition at line 546 of file HeartConfig.cpp.

References mParametersFilePath.

◆ GetPdeTimeStep()

◆ GetPrintingTimeStep()

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

Definition at line 1593 of file HeartConfig.cpp.

References mpParameters.

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

◆ GetPseudoEcgElectrodePositions()

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 1876 of file HeartConfig.cpp.

References mpParameters.

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

◆ GetPurkinjeCapacitance()

double HeartConfig::GetPurkinjeCapacitance ( )

◆ GetPurkinjeConductivity()

double HeartConfig::GetPurkinjeConductivity ( )
Returns
the default conductivity for Purkinje fibres.

Definition at line 2940 of file HeartConfig.cpp.

References mpParameters.

Referenced by MonodomainPurkinjeCableAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeCableMatrixTerm().

◆ GetPurkinjeSurfaceAreaToVolumeRatio()

double HeartConfig::GetPurkinjeSurfaceAreaToVolumeRatio ( )

◆ GetRelativeTolerance()

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

Definition at line 1621 of file HeartConfig.cpp.

References EXCEPTION, GetUseRelativeTolerance(), and mpParameters.

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

◆ GetSheetDimensions()

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

Definition at line 909 of file HeartConfig.cpp.

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

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

◆ GetSimulationDuration()

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

Definition at line 711 of file HeartConfig.cpp.

References IsSimulationDefined(), and mpParameters.

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

◆ GetSlabDimensions()

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

Definition at line 893 of file HeartConfig.cpp.

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

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

◆ GetSpaceDimension()

unsigned HeartConfig::GetSpaceDimension ( ) const

◆ GetStimuli()

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) 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:
  • do we assume the vectors are initially empty?
Todo:
There is no set method

Definition at line 981 of file HeartConfig.cpp.

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

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

◆ GetSurfaceAreaToVolumeRatio()

◆ GetUpstrokeTimeMaps()

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 1771 of file HeartConfig.cpp.

References IsUpstrokeTimeMapsRequested(), and mpParameters.

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

◆ GetUseAbsoluteTolerance()

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

Definition at line 1599 of file HeartConfig.cpp.

References mpParameters.

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

◆ GetUseFixedNumberIterationsLinearSolver()

bool HeartConfig::GetUseFixedNumberIterationsLinearSolver ( )
Returns
whether to use a fixed number of iterations in the linear solver

Definition at line 2890 of file HeartConfig.cpp.

References mUseFixedNumberIterations.

◆ GetUseMassLumping()

bool HeartConfig::GetUseMassLumping ( )
Returns
whether to use mass lumping in the FE solver or not.

Definition at line 2859 of file HeartConfig.cpp.

References mUseMassLumping.

◆ GetUseMassLumpingForPrecond()

bool HeartConfig::GetUseMassLumpingForPrecond ( )
Returns
whether to use mass lumping in the construction of the preconditioner of the FE solver or not.

Definition at line 2869 of file HeartConfig.cpp.

References mUseMassLumpingForPrecond.

◆ GetUseReactionDiffusionOperatorSplitting()

bool HeartConfig::GetUseReactionDiffusionOperatorSplitting ( )
Returns
whether to use Strang operator splitting of the reaction and diffusion terms (see Set method documentation).

Definition at line 2879 of file HeartConfig.cpp.

References mUseReactionDiffusionOperatorSplitting.

◆ GetUseRelativeTolerance()

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

Definition at line 1615 of file HeartConfig.cpp.

References mpParameters.

Referenced by GetRelativeTolerance().

◆ GetUseStateVariableInterpolation()

bool HeartConfig::GetUseStateVariableInterpolation ( ) const

◆ GetVersionFromNamespace()

unsigned HeartConfig::GetVersionFromNamespace ( const std::string &  rNamespaceUri)
Returns
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 409 of file HeartConfig.cpp.

References EXCEPTION.

Referenced by ReadFile().

◆ GetVisualizerOutputPrecision()

unsigned HeartConfig::GetVisualizerOutputPrecision ( )
Returns
the number of digits to be output in the converted solution data files.

Definition at line 1947 of file HeartConfig.cpp.

References IsOutputVisualizerPresent(), and mpParameters.

◆ GetVisualizeWithCmgui()

bool HeartConfig::GetVisualizeWithCmgui ( ) const
Returns
whether to convert the output from HDF5 to Cmgui readable format

Definition at line 1911 of file HeartConfig.cpp.

References IsOutputVisualizerPresent(), and mpParameters.

◆ GetVisualizeWithMeshalyzer()

bool HeartConfig::GetVisualizeWithMeshalyzer ( ) const
Returns
whether to convert the output from HDF5 to meshalyzer readable format

Definition at line 1899 of file HeartConfig.cpp.

References IsOutputVisualizerPresent(), and mpParameters.

◆ GetVisualizeWithParallelVtk()

bool HeartConfig::GetVisualizeWithParallelVtk ( ) const
Returns
whether to convert the output from HDF5 to parallel Vtk readable format

Definition at line 1923 of file HeartConfig.cpp.

References IsOutputVisualizerPresent(), and mpParameters.

◆ GetVisualizeWithVtk()

bool HeartConfig::GetVisualizeWithVtk ( ) const
Returns
whether to convert the output from HDF5 to Vtk readable format

Definition at line 1935 of file HeartConfig.cpp.

References IsOutputVisualizerPresent(), and mpParameters.

◆ HasDrugDose()

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

Definition at line 2779 of file HeartConfig.cpp.

References mpParameters.

Referenced by GetDrugDose(), and GetIc50Values().

◆ HasPurkinje()

bool HeartConfig::HasPurkinje ( )
Returns
whether this simulation contains a Purkinje system.

Definition at line 2904 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

◆ Instance()

HeartConfig * HeartConfig::Instance ( )
static

Call this method to access the global parameters holder.

Returns
a single instance of the class

Definition at line 208 of file HeartConfig.cpp.

References mpInstance.

Referenced by AbstractBidomainSolver< ELEMENT_DIM, SPACE_DIM >::AbstractBidomainSolver(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue(), AbstractExtendedBidomainSolver< ELEMENT_DIM, SPACE_DIM >::AbstractExtendedBidomainSolver(), BidomainCorrectionTermAssembler< ELEM_DIM, SPACE_DIM >::BidomainCorrectionTermAssembler(), BidomainSolver< ELEMENT_DIM, SPACE_DIM >::BidomainSolver(), CardiacElectroMechanicsProblem< DIM, ELEC_PROB_DIM >::CardiacElectroMechanicsProblem(), CardiacSimulation::CardiacSimulation(), CorriasBuistICCModified::CorriasBuistICCModified(), CorriasBuistSMCModified::CorriasBuistSMCModified(), Electrodes< DIM >::Electrodes(), Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToCmguiConverter(), HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory(), HeartFileFinder::HeartFileFinder(), MonodomainPurkinjeSolver< ELEMENT_DIM, SPACE_DIM >::MonodomainPurkinjeSolver(), MonodomainSolver< ELEMENT_DIM, SPACE_DIM >::MonodomainSolver(), VoltageInterpolaterOntoMechanicsMesh< DIM >::VoltageInterpolaterOntoMechanicsMesh(), BidomainProblem< DIM >::AnalyseMeshForBath(), AbstractCvodeCell::Compute(), MonodomainPurkinjeCableAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeCableMatrixTerm(), BidomainWithBathAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm(), AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Converge(), CardiacSimulation::CreateAndRun(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateCardiacCellForNode(), BidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::CreateCardiacTissue(), MonodomainPurkinjeProblem< ELEMENT_DIM, SPACE_DIM >::CreateCardiacTissue(), HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor(), ExtendedBidomainTissue< SPACE_DIM >::CreateIntracellularConductivityTensorSecondCell(), AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateJunction(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CreateMeshFromHeartConfig(), MonodomainPurkinjeProblem< ELEMENT_DIM, SPACE_DIM >::CreateMeshFromHeartConfig(), CardiacSimulation::CreateResumeXmlFile(), MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::CreateSolver(), MonodomainPurkinjeProblem< ELEMENT_DIM, SPACE_DIM >::CreateSolver(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DefineExtraVariablesWriterColumns(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DefineWriterColumns(), ExtendedBidomainProblem< DIM >::DefineWriterColumns(), AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::DisplayRun(), HeartConfigRelatedCellFactory< SPACE_DIM >::FillInCellularTransmuralAreas(), ActivationOutputModifier::FinaliseAtEnd(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::GetDataReader(), CML_noble_varghese_kohl_noble_1998_basic_with_sac::GetIIonic(), AbstractCardiacCellInterface::GetIntracellularAreaStimulus(), HeartRegionCode::GetValidBathId(), HeartRegionCode::GetValidTissueId(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Initialise(), CardiacElectroMechanicsProblem< DIM, ELEC_PROB_DIM >::Initialise(), SingleTraceOutputModifier::InitialiseAtStart(), AbstractBidomainSolver< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), AbstractExtendedBidomainSolver< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), MonodomainPurkinjeSolver< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), MonodomainSolver< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), OperatorSplittingMonodomainSolver< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::InitialiseWriter(), HeartRegionCode::IsRegionBath(), HeartRegionCode::IsRegionTissue(), LoadFromCheckpoint(), BidomainProblem< DIM >::OnEndOfTimestep(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::PreSolveChecks(), BidomainProblem< DIM >::PreSolveChecks(), ExtendedBidomainProblem< DIM >::PreSolveChecks(), AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::ReadJunctionsFile(), CardiacSimulation::ReadParametersFromFile(), BidomainTissue< DIM >::rGetExtracellularConductivityTensor(), CardiacSimulation::Run(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::save(), HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellParameters(), BidomainProblem< DIM >::SetElectrodes(), BidomainSolver< ELEMENT_DIM, SPACE_DIM >::SetupLinearSystem(), MonodomainPurkinjeSolver< ELEMENT_DIM, SPACE_DIM >::SetupLinearSystem(), MonodomainSolver< ELEMENT_DIM, SPACE_DIM >::SetupLinearSystem(), OperatorSplittingMonodomainSolver< ELEMENT_DIM, SPACE_DIM >::SetupLinearSystem(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve(), CardiacElectroMechanicsProblem< DIM, ELEC_PROB_DIM >::Solve(), AbstractCvodeCell::SolveAndUpdateState(), UpdateParametersFromResumeSimulation(), Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::WriteCmguiScript(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::WriteExtraVariablesOneStep(), 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().

◆ IsAdaptivityParametersPresent()

bool HeartConfig::IsAdaptivityParametersPresent ( ) const

Adaptivity is now deprecated. This method now gives a warning before returning true.

Returns
true if there is an adaptivity section

Definition at line 1698 of file HeartConfig.cpp.

References IsAdaptivityParametersPresent(), and mpParameters.

Referenced by IsAdaptivityParametersPresent().

◆ IsAnyNodalTimeTraceRequested()

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

Definition at line 1838 of file HeartConfig.cpp.

References IsPostProcessingSectionPresent(), and mpParameters.

Referenced by GetNodalTimeTraceRequested(), and IsPostProcessingRequested().

◆ IsApdMapsRequested()

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

Definition at line 1733 of file HeartConfig.cpp.

References IsPostProcessingSectionPresent(), and mpParameters.

Referenced by GetApdMaps(), and IsPostProcessingRequested().

◆ IsConductionVelocityMapsRequested()

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

Definition at line 1812 of file HeartConfig.cpp.

References IsPostProcessingSectionPresent(), and mpParameters.

Referenced by GetConductionVelocityMaps(), and IsPostProcessingRequested().

◆ IsElectrodesPresent()

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

Definition at line 1959 of file HeartConfig.cpp.

References mpParameters.

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

◆ IsMaxUpstrokeVelocityMapRequested()

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

Definition at line 1786 of file HeartConfig.cpp.

References IsPostProcessingSectionPresent(), and mpParameters.

Referenced by GetMaxUpstrokeVelocityMaps(), and IsPostProcessingRequested().

◆ IsMeshProvided()

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 848 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

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

◆ IsOutputVisualizerPresent()

bool HeartConfig::IsOutputVisualizerPresent ( ) const
Returns
whether there is an OutputVisualizer element present.

Definition at line 1892 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), and mpParameters.

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

◆ IsPostProcessingRequested()

bool HeartConfig::IsPostProcessingRequested ( ) const

◆ IsPostProcessingSectionPresent()

bool HeartConfig::IsPostProcessingSectionPresent ( ) const

◆ IsPseudoEcgCalculationRequested()

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

Definition at line 1864 of file HeartConfig.cpp.

References IsPostProcessingSectionPresent(), and mpParameters.

Referenced by IsPostProcessingRequested().

◆ IsSimulationDefined()

bool HeartConfig::IsSimulationDefined ( ) const

Returns whether the configuration file defines a new simulation.

Returns
is a new simulation?

Definition at line 672 of file HeartConfig.cpp.

References mpParameters.

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

◆ IsSimulationResumed()

bool HeartConfig::IsSimulationResumed ( ) const

Returns whether the configuration file resumes an archived simulation.

Returns
is a resumed simulation?

Definition at line 677 of file HeartConfig.cpp.

References mpParameters.

Referenced by CheckSimulationIsDefined().

◆ IsUpstrokeTimeMapsRequested()

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

Definition at line 1761 of file HeartConfig.cpp.

References IsPostProcessingSectionPresent(), and mpParameters.

Referenced by GetUpstrokeTimeMaps(), and IsPostProcessingRequested().

◆ load()

template<class Archive >
void HeartConfig::load ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

◆ 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 319 of file HeartConfig.cpp.

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

Referenced by load().

◆ ReadFile()

boost::shared_ptr< cp::chaste_parameters_type > HeartConfig::ReadFile ( const std::string &  rFileName)

◆ Reset()

void HeartConfig::Reset ( )
static

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

Definition at line 664 of file HeartConfig.cpp.

References mpInstance.

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

◆ rGetBathIdentifiers()

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

Gets region identifiers that have to be considered as bath.

Returns
set of identifiers

Definition at line 1564 of file HeartConfig.cpp.

References mBathIdentifiers.

Referenced by BidomainProblem< DIM >::AnalyseMeshForBath(), and HeartRegionCode::GetValidBathId().

◆ rGetTissueIdentifiers()

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

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

Returns
set of identifiers

Definition at line 1559 of file HeartConfig.cpp.

References mTissueIdentifiers.

Referenced by HeartRegionCode::GetValidTissueId().

◆ save()

◆ SetApdMaps()

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 2532 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpParameters.

◆ SetBathConductivity()

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 2285 of file HeartConfig.cpp.

References mpParameters.

◆ SetBathMultipleConductivities()

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 2291 of file HeartConfig.cpp.

References mBathConductivities.

◆ SetCapacitance()

void HeartConfig::SetCapacitance ( double  capacitance)

Set surface capacitance Cm (for PDE)

Parameters
capacitance(uF/cm^2)

Definition at line 2330 of file HeartConfig.cpp.

References mpParameters.

◆ SetCheckpointSimulation()

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 2201 of file HeartConfig.cpp.

References CheckTimeSteps(), and mpParameters.

Referenced by LoadFromCheckpoint(), and UpdateParametersFromResumeSimulation().

◆ SetConductionVelocityMaps()

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 2586 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpParameters.

◆ SetConductivityHeterogeneities()

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 2066 of file HeartConfig.cpp.

References mpParameters.

◆ SetConductivityHeterogeneitiesEllipsoid()

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

Set a number of heterogeneous regions (Axis-aligned ellipsoids) 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 2116 of file HeartConfig.cpp.

References mpParameters.

◆ SetDefaultIonicModel()

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 1983 of file HeartConfig.cpp.

References mpParameters.

◆ SetDefaultSchemaLocations()

void HeartConfig::SetDefaultSchemaLocations ( )
private

Set default schema locations in the Chaste source tree.

Definition at line 390 of file HeartConfig.cpp.

References ChasteBuildInfo::GetRootDir(), and mSchemaLocations.

Referenced by HeartConfig().

◆ SetDomain()

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 1978 of file HeartConfig.cpp.

References mpParameters.

◆ SetDrugDose()

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

Definition at line 2790 of file HeartConfig.cpp.

References mpParameters.

Referenced by SetIc50Value().

◆ SetElectrodeParameters()

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 2685 of file HeartConfig.cpp.

References IsElectrodesPresent(), and mpParameters.

◆ SetExtracellularConductivities() [1/3]

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

1D version

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

Definition at line 2276 of file HeartConfig.cpp.

References mpParameters.

◆ SetExtracellularConductivities() [2/3]

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

2D version

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

Definition at line 2266 of file HeartConfig.cpp.

References mpParameters.

◆ SetExtracellularConductivities() [3/3]

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

3D version

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

Definition at line 2255 of file HeartConfig.cpp.

References mpParameters.

◆ SetFibreLength()

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 2015 of file HeartConfig.cpp.

References mpParameters.

◆ SetFixedSchemaLocations()

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 443 of file HeartConfig.cpp.

References mSchemaLocations, and SetUseFixedSchemaLocation().

◆ SetIc50Value()

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 2822 of file HeartConfig.cpp.

References mpParameters, and SetDrugDose().

◆ SetIntracellularConductivities() [1/3]

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

1D version

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

Definition at line 2246 of file HeartConfig.cpp.

References mpParameters.

◆ SetIntracellularConductivities() [2/3]

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

2D version

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

Definition at line 2236 of file HeartConfig.cpp.

References mpParameters.

◆ SetIntracellularConductivities() [3/3]

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

3D version

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

Definition at line 2225 of file HeartConfig.cpp.

References mpParameters.

◆ SetIonicModelRegions()

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 2040 of file HeartConfig.cpp.

References mpParameters.

◆ SetKSPPreconditioner()

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 2453 of file HeartConfig.cpp.

References EXCEPTION, and mpParameters.

◆ SetKSPSolver()

void HeartConfig::SetKSPSolver ( const char *  kspSolver,
bool  warnOfChange = false 
)

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

Parameters
kspSolvera string from {"gmres", "cg", "symmlq"}
warnOfChangeWarn if this set is changing the current value because the calling code may be (silently) overwriting a user setting

Definition at line 2420 of file HeartConfig.cpp.

References EXCEPTION, GetKSPSolver(), and mpParameters.

◆ SetMaxUpstrokeVelocityMaps()

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 2567 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpParameters.

◆ SetMeshFileName()

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 2027 of file HeartConfig.cpp.

References mpParameters.

◆ SetMeshPartitioning()

void HeartConfig::SetMeshPartitioning ( const char *  meshPartioningMethod)

Set the type of mesh partitioning method

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

Definition at line 2505 of file HeartConfig.cpp.

References EXCEPTION, and mpParameters.

◆ SetOdePdeAndPrintingTimeSteps()

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 2337 of file HeartConfig.cpp.

References CheckTimeSteps(), and mpParameters.

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

◆ SetOdeTimeStep()

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 2345 of file HeartConfig.cpp.

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

◆ SetOutputDirectory()

void HeartConfig::SetOutputDirectory ( const std::string &  rOutputDirectory)

◆ SetOutputFilenamePrefix()

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 2171 of file HeartConfig.cpp.

References mpParameters.

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

◆ SetOutputUsingOriginalNodeOrdering()

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 2195 of file HeartConfig.cpp.

References mpParameters.

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

◆ SetOutputVariables()

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 ANY OUTPUT VARIABLES SET IN THE XML FILE

Definition at line 2176 of file HeartConfig.cpp.

References mpParameters.

◆ SetParametersFile()

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 534 of file HeartConfig.cpp.

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

Referenced by CardiacSimulation::ReadParametersFromFile().

◆ SetPdeTimeStep()

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 2350 of file HeartConfig.cpp.

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

◆ SetPrintingTimeStep()

void HeartConfig::SetPrintingTimeStep ( double  printingTimeStep)

Set the configuration to use printing time of given value. The printing time step is how long between timesteps that are written to the HDF5 file.

Calls CheckTimeSteps via SetOdePdeAndPrintingTimeSteps

Parameters
printingTimeStepthe value to use

Definition at line 2355 of file HeartConfig.cpp.

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

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

◆ SetPseudoEcgElectrodePositions()

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 2619 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpParameters.

◆ SetPurkinjeCapacitance()

void HeartConfig::SetPurkinjeCapacitance ( double  capacitance)

Set the surface capacitance for Purkinje myocytes.

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

Definition at line 2918 of file HeartConfig.cpp.

References mpParameters.

◆ SetPurkinjeConductivity()

void HeartConfig::SetPurkinjeConductivity ( double  conductivity)

Set the default conductivity for Purkinje fibres.

Parameters
conductivityPurkinje conductivity (units mS/cm)

Definition at line 2948 of file HeartConfig.cpp.

References mpParameters.

◆ SetPurkinjeSurfaceAreaToVolumeRatio()

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 2933 of file HeartConfig.cpp.

References mpParameters.

◆ SetRequestedNodalTimeTraces()

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

Sets some requested nodes for printing of their variables over time in separate files. 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 2602 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpParameters.

◆ SetSheetDimensions()

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 2003 of file HeartConfig.cpp.

References mpParameters.

◆ SetSimulationDuration()

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 1972 of file HeartConfig.cpp.

References mpParameters.

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

◆ SetSlabDimensions()

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 1991 of file HeartConfig.cpp.

References mpParameters.

◆ SetSpaceDimension()

void HeartConfig::SetSpaceDimension ( unsigned  spaceDimension)

Set the configuration dimension

Parameters
spaceDimension1, 2 or 3.

Definition at line 1967 of file HeartConfig.cpp.

References mpParameters.

◆ SetSurfaceAreaToVolumeRatio()

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 2324 of file HeartConfig.cpp.

References mpParameters.

◆ SetTissueAndBathIdentifiers()

void HeartConfig::SetTissueAndBathIdentifiers ( const std::set< unsigned > &  rTissueIds,
const std::set< unsigned > &  rBathIds 
)

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

Parameters
rTissueIdsset of identifiers
rBathIdsset of identifiers

Definition at line 2303 of file HeartConfig.cpp.

References EXCEPTION, mBathIdentifiers, and mTissueIdentifiers.

◆ SetUpstrokeTimeMaps()

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 2549 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpParameters.

◆ SetUseAbsoluteTolerance()

void HeartConfig::SetUseAbsoluteTolerance ( double  absoluteTolerance)

Set the configuration to use KSP absolute tolerance of given value

Parameters
absoluteTolerancethe value to use

Definition at line 2412 of file HeartConfig.cpp.

References mpParameters.

◆ SetUseFixedNumberIterationsLinearSolver()

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 2884 of file HeartConfig.cpp.

References mEvaluateNumItsEveryNSolves, and mUseFixedNumberIterations.

◆ SetUseFixedSchemaLocation()

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 449 of file HeartConfig.cpp.

References mUseFixedSchemaLocation.

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

◆ SetUseMassLumping()

void HeartConfig::SetUseMassLumping ( bool  useMassLumping = true)

Set the use of mass lumping in the FE solver.

Parameters
useMassLumpingWhether to use it

Definition at line 2854 of file HeartConfig.cpp.

References mUseMassLumping.

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

◆ SetUseMassLumpingForPrecond()

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 2864 of file HeartConfig.cpp.

References mUseMassLumpingForPrecond.

◆ SetUseReactionDiffusionOperatorSplitting()

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 2874 of file HeartConfig.cpp.

References mUseReactionDiffusionOperatorSplitting.

◆ SetUseRelativeTolerance()

void HeartConfig::SetUseRelativeTolerance ( double  relativeTolerance)

Set the configuration to use KSP relative tolerance of given value

Parameters
relativeTolerancethe value to use

Definition at line 2404 of file HeartConfig.cpp.

References mpParameters.

◆ SetUseStateVariableInterpolation()

void HeartConfig::SetUseStateVariableInterpolation ( bool  useStateVariableInterpolation = true)

Set the use of State Variable Interpolation in the computation of ionic currents. See documentation page https://chaste.github.io/docs/user-guides/state-variable-interpolation/

Parameters
useStateVariableInterpolationWhether to use it.

Definition at line 2767 of file HeartConfig.cpp.

References mpParameters.

◆ SetVisualizerOutputPrecision()

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 2678 of file HeartConfig.cpp.

References EnsureOutputVisualizerExists(), and mpParameters.

◆ SetVisualizeWithCmgui()

void HeartConfig::SetVisualizeWithCmgui ( bool  useCmgui = true)

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

Parameters
useCmgui

Definition at line 2654 of file HeartConfig.cpp.

References EnsureOutputVisualizerExists(), and mpParameters.

Referenced by UpdateParametersFromResumeSimulation().

◆ SetVisualizeWithMeshalyzer()

void HeartConfig::SetVisualizeWithMeshalyzer ( bool  useMeshalyzer = true)

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

Parameters
useMeshalyzer

Definition at line 2646 of file HeartConfig.cpp.

References EnsureOutputVisualizerExists(), and mpParameters.

Referenced by UpdateParametersFromResumeSimulation().

◆ SetVisualizeWithParallelVtk()

void HeartConfig::SetVisualizeWithParallelVtk ( bool  useParallelVtk = true)

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

Parameters
useParallelVtk

Definition at line 2670 of file HeartConfig.cpp.

References EnsureOutputVisualizerExists(), and mpParameters.

Referenced by UpdateParametersFromResumeSimulation().

◆ SetVisualizeWithVtk()

void HeartConfig::SetVisualizeWithVtk ( bool  useVtk = true)

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

Parameters
useVtk

Definition at line 2662 of file HeartConfig.cpp.

References EnsureOutputVisualizerExists(), and mpParameters.

Referenced by UpdateParametersFromResumeSimulation().

◆ 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 551 of file HeartConfig.cpp.

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

Referenced by LoadFromCheckpoint().

◆ Write()

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 253 of file HeartConfig.cpp.

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

Friends And Related Symbol Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 93 of file HeartConfig.hpp.

◆ TestHeartConfig

friend class TestHeartConfig
friend

Definition at line 1267 of file HeartConfig.hpp.

Member Data Documentation

◆ mBathConductivities

std::map<unsigned, double> HeartConfig::mBathConductivities
private

Map defining bath conductivity for multiple bath regions

Definition at line 1343 of file HeartConfig.hpp.

Referenced by GetBathConductivity(), load(), save(), and SetBathMultipleConductivities().

◆ mBathIdentifiers

std::set<unsigned> HeartConfig::mBathIdentifiers
private

Mesh region identifiers to be considered as Bath

Definition at line 1353 of file HeartConfig.hpp.

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

◆ mEndoFraction

double HeartConfig::mEndoFraction
private

Fraction of endocardial layer

Definition at line 1297 of file HeartConfig.hpp.

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

◆ mEpiFraction

double HeartConfig::mEpiFraction
private

Fraction of epicardial layer

Definition at line 1292 of file HeartConfig.hpp.

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

◆ mEvaluateNumItsEveryNSolves

unsigned HeartConfig::mEvaluateNumItsEveryNSolves
private

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 1365 of file HeartConfig.hpp.

Referenced by GetEvaluateNumItsEveryNSolves(), load(), save(), and SetUseFixedNumberIterationsLinearSolver().

◆ mIndexEndo

unsigned HeartConfig::mIndexEndo
private

Order index in which the endocardial heterogeneities are supplied

Definition at line 1317 of file HeartConfig.hpp.

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

◆ mIndexEpi

unsigned HeartConfig::mIndexEpi
private

Order index in which the epicardial heterogeneities are supplied

Definition at line 1312 of file HeartConfig.hpp.

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

◆ mIndexMid

unsigned HeartConfig::mIndexMid
private

Order index in which the midmyocardial heterogeneities are supplied

Definition at line 1307 of file HeartConfig.hpp.

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

◆ mMidFraction

double HeartConfig::mMidFraction
private

Fraction of midmyocardial layer

Definition at line 1302 of file HeartConfig.hpp.

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

◆ mParametersFilePath

FileFinder HeartConfig::mParametersFilePath
private

Where the user parameters were read from.

Definition at line 1281 of file HeartConfig.hpp.

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

◆ mpInstance

boost::shared_ptr< HeartConfig > HeartConfig::mpInstance
staticprivate

The single instance of the class

Definition at line 1276 of file HeartConfig.hpp.

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

◆ mpParameters

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

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

Definition at line 1273 of file HeartConfig.hpp.

Referenced by HeartConfig(), EnsureOutputVisualizerExists(), EnsurePostProcessingSectionPresent(), GetAbsoluteTolerance(), GetApdMaps(), GetArchivedSimulationDir(), GetBathConductivity(), GetCapacitance(), GetCellHeterogeneities(), GetCheckpointSimulation(), GetCheckpointTimestep(), GetConductionVelocityMaps(), GetConductivityHeterogeneities(), GetConductivityHeterogeneitiesProvided(), GetConductivityMedia(), GetCreateFibre(), GetCreateMesh(), GetCreateSheet(), GetCreateSlab(), GetDefaultIonicModel(), GetDomain(), GetDrugDose(), GetElectrodeParameters(), GetExtracellularConductivities(), GetExtracellularConductivities(), GetExtracellularConductivities(), GetFibreLength(), GetIc50Values(), GetInterNodeSpace(), GetIntracellularConductivities(), GetIntracellularConductivities(), GetIntracellularConductivities(), GetIonicModelRegions(), GetKSPPreconditioner(), GetKSPSolver(), GetLoadMesh(), GetMaxCheckpointsOnDisk(), GetMaxUpstrokeVelocityMaps(), GetMeshName(), GetMeshPartitioning(), GetNodalTimeTraceRequested(), GetOdeTimeStep(), GetOutputDirectory(), GetOutputFilenamePrefix(), GetOutputUsingOriginalNodeOrdering(), GetOutputVariables(), GetOutputVariablesProvided(), GetPdeTimeStep(), GetPrintingTimeStep(), GetPseudoEcgElectrodePositions(), GetPurkinjeCapacitance(), GetPurkinjeConductivity(), GetPurkinjeSurfaceAreaToVolumeRatio(), GetRelativeTolerance(), GetSheetDimensions(), GetSimulationDuration(), GetSlabDimensions(), GetSpaceDimension(), GetStimuli(), GetSurfaceAreaToVolumeRatio(), GetUpstrokeTimeMaps(), GetUseAbsoluteTolerance(), GetUseRelativeTolerance(), GetUseStateVariableInterpolation(), GetVisualizerOutputPrecision(), GetVisualizeWithCmgui(), GetVisualizeWithMeshalyzer(), GetVisualizeWithParallelVtk(), GetVisualizeWithVtk(), HasDrugDose(), HasPurkinje(), IsAdaptivityParametersPresent(), IsAnyNodalTimeTraceRequested(), IsApdMapsRequested(), IsConductionVelocityMapsRequested(), IsElectrodesPresent(), IsMaxUpstrokeVelocityMapRequested(), IsMeshProvided(), IsOutputVisualizerPresent(), IsPostProcessingSectionPresent(), IsPseudoEcgCalculationRequested(), IsSimulationDefined(), IsSimulationResumed(), IsUpstrokeTimeMapsRequested(), LoadFromCheckpoint(), ReadFile(), SetApdMaps(), SetBathConductivity(), SetCapacitance(), SetCheckpointSimulation(), SetConductionVelocityMaps(), SetConductivityHeterogeneities(), SetConductivityHeterogeneitiesEllipsoid(), SetDefaultIonicModel(), SetDomain(), SetDrugDose(), SetElectrodeParameters(), SetExtracellularConductivities(), SetExtracellularConductivities(), SetExtracellularConductivities(), SetFibreLength(), SetIc50Value(), SetIntracellularConductivities(), SetIntracellularConductivities(), 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().

◆ mSchemaLocations

SchemaLocationsMap HeartConfig::mSchemaLocations
private

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

Definition at line 190 of file HeartConfig.hpp.

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

◆ mTissueIdentifiers

std::set<unsigned> HeartConfig::mTissueIdentifiers
private

Mesh region identifiers to be considered as cardiac tissue

Definition at line 1348 of file HeartConfig.hpp.

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

◆ mUseFixedNumberIterations

bool HeartConfig::mUseFixedNumberIterations
private
Returns
whether to use a fixed number of iterations for the linear solver

Definition at line 1358 of file HeartConfig.hpp.

Referenced by GetUseFixedNumberIterationsLinearSolver(), load(), save(), and SetUseFixedNumberIterationsLinearSolver().

◆ mUseFixedSchemaLocation

bool HeartConfig::mUseFixedSchemaLocation
private
Returns
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 1287 of file HeartConfig.hpp.

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

◆ mUseMassLumping

bool HeartConfig::mUseMassLumping
private

Flag telling whether to use mass lumping or not.

Definition at line 1327 of file HeartConfig.hpp.

Referenced by GetUseMassLumping(), load(), save(), and SetUseMassLumping().

◆ mUseMassLumpingForPrecond

bool HeartConfig::mUseMassLumpingForPrecond
private

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

Definition at line 1332 of file HeartConfig.hpp.

Referenced by GetUseMassLumpingForPrecond(), load(), save(), and SetUseMassLumpingForPrecond().

◆ mUserAskedForCellularTransmuralHeterogeneities

bool HeartConfig::mUserAskedForCellularTransmuralHeterogeneities
private

Flag to check whether the user asked for cellular transmural heterogeneities

Definition at line 1322 of file HeartConfig.hpp.

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

◆ mUseReactionDiffusionOperatorSplitting

bool HeartConfig::mUseReactionDiffusionOperatorSplitting
private
Returns
whether to use Strang operator splitting of the diffusion and reaction terms (see Set method documentation).

Definition at line 1338 of file HeartConfig.hpp.

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


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