HeartConfig Class Reference

#include <HeartConfig.hpp>

Collaboration diagram for HeartConfig:

Collaboration graph
[legend]

List of all members.

Public Types

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

Public Member Functions

void SetUseFixedSchemaLocation (bool useFixedSchemaLocation)
void SetFixedSchemaLocations (const SchemaLocationsMap &rSchemaLocations)
void SetDefaultsFile (const std::string &rFileName)
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)
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< ChasteCuboid< 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< ChasteCuboid< DIM > > &rStimulatedAreas) const
template<unsigned DIM>
void GetCellHeterogeneities (std::vector< 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 ()
bool AreCellularHeterogeneitiesSpecifiedByCuboids ()
double GetEpiLayerFraction ()
double GetEndoLayerFraction ()
double GetMidLayerFraction ()
unsigned GetEpiLayerIndex ()
unsigned GetEndoLayerIndex ()
unsigned GetMidLayerIndex ()
template<unsigned DIM>
void GetConductivityHeterogeneities (std::vector< AbstractChasteRegion< DIM > * > &conductivitiesHeterogeneityAreas, std::vector< c_vector< double, 3 > > &intraConductivities, std::vector< c_vector< double, 3 > > &extraConductivities) const
std::string GetOutputDirectory () const
std::string GetOutputFilenamePrefix () const
bool GetOutputVariablesProvided () const
void GetOutputVariables (std::vector< std::string > &rOutputVariables) const
bool GetOutputUsingOriginalNodeOrdering ()
bool GetCheckpointSimulation () const
double GetCheckpointTimestep () const
unsigned GetMaxCheckpointsOnDisk () const
HeartFileFinder GetArchivedSimulationDir () const
void GetIntracellularConductivities (c_vector< double, 3 > &intraConductivities) const
void GetIntracellularConductivities (c_vector< double, 2 > &intraConductivities) const
void GetIntracellularConductivities (c_vector< double, 1 > &intraConductivities) const
void GetExtracellularConductivities (c_vector< double, 3 > &extraConductivities) const
void GetExtracellularConductivities (c_vector< double, 2 > &extraConductivities) const
void GetExtracellularConductivities (c_vector< double, 1 > &extraConductivities) const
double GetBathConductivity () const
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
bool IsAdaptivityParametersPresent () const
double GetTargetErrorForAdaptivity () const
double GetSigmaForAdaptivity () const
double GetMaxEdgeLengthForAdaptivity () const
double GetMinEdgeLengthForAdaptivity () const
double GetGradationForAdaptivity () const
unsigned GetMaxNodesForAdaptivity () const
unsigned GetNumberOfAdaptiveSweeps () const
bool IsPostProcessingSectionPresent () const
void EnsurePostProcessingSectionPresent ()
bool IsPostProcessingRequested () const
bool IsApdMapsRequested () const
void GetApdMaps (std::vector< std::pair< double, double > > &rApdMaps) const
bool IsUpstrokeTimeMapsRequested () const
void GetUpstrokeTimeMaps (std::vector< double > &rUpstrokeTimeMaps) const
bool IsMaxUpstrokeVelocityMapRequested () const
void GetMaxUpstrokeVelocityMaps (std::vector< double > &rUpstrokeVelocityMaps) const
bool IsConductionVelocityMapsRequested () const
void GetConductionVelocityMaps (std::vector< unsigned > &rConductionVelocityMaps) const
bool IsOutputVisualizerPresent () const
bool GetVisualizeWithMeshalyzer () const
bool GetVisualizeWithCmgui () const
bool GetVisualizeWithVtk () const
bool IsElectrodesPresent () const
void SetSpaceDimension (unsigned spaceDimension)
void SetSimulationDuration (double simulationDuration)
void SetDomain (const cp::domain_type &rDomain)
void SetDefaultIonicModel (const cp::ionic_models_available_type &rIonicModel)
void SetSlabDimensions (double x, double y, double z, double inter_node_space)
void SetSheetDimensions (double x, double y, double inter_node_space)
void SetFibreLength (double x, double inter_node_space)
void SetMeshFileName (std::string meshPrefix, cp::media_type fibreDefinition=cp::media_type::NoFibreOrientation)
void SetConductivityHeterogeneities (std::vector< ChasteCuboid< 3 > > &rConductivityAreas, std::vector< c_vector< double, 3 > > &rIntraConductivities, std::vector< c_vector< double, 3 > > &rExtraConductivities)
void SetConductivityHeterogeneitiesEllipsoid (std::vector< ChasteEllipsoid< 3 > > &conductivityAreas, std::vector< c_vector< double, 3 > > &intraConductivities, std::vector< c_vector< double, 3 > > &extraConductivities)
void SetOutputDirectory (const std::string &rOutputDirectory)
void SetOutputFilenamePrefix (const std::string &rOutputFilenamePrefix)
void SetOutputVariables (const std::vector< std::string > &rOutputVariables)
void SetOutputUsingOriginalNodeOrdering (bool useOriginal)
void SetCheckpointSimulation (bool checkpointSimulation, double checkpointTimestep=-1.0, unsigned maxCheckpointsOnDisk=UINT_MAX)
void SetIntracellularConductivities (const c_vector< double, 3 > &rIntraConductivities)
void SetIntracellularConductivities (const c_vector< double, 2 > &rIntraConductivities)
void SetIntracellularConductivities (const c_vector< double, 1 > &rIntraConductivities)
void SetExtracellularConductivities (const c_vector< double, 3 > &rExtraConductivities)
void SetExtracellularConductivities (const c_vector< double, 2 > &rExtraConductivities)
void SetExtracellularConductivities (const c_vector< double, 1 > &rExtraConductivities)
void SetBathConductivity (double bathConductivity)
void SetSurfaceAreaToVolumeRatio (double ratio)
void SetCapacitance (double capacitance)
void SetOdePdeAndPrintingTimeSteps (double odeTimeStep, double pdeTimeStep, double printingTimeStep)
void SetOdeTimeStep (double odeTimeStep)
void SetPdeTimeStep (double pdeTimeStep)
void SetPrintingTimeStep (double printingTimeStep)
void SetUseRelativeTolerance (double relativeTolerance)
void SetUseAbsoluteTolerance (double absoluteTolerance)
void SetKSPSolver (const char *kspSolver)
void SetKSPPreconditioner (const char *kspPreconditioner)
void SetAdaptivityParameters (double targetError, double sigma, double maxEdgeLength, double minEdgeLength, double gradation, unsigned maxNodes, unsigned numSweeps)
void SetTargetErrorForAdaptivity (double targetError)
void SetSigmaForAdaptivity (double sigma)
void SetMaxEdgeLengthForAdaptivity (double maxEdgeLength)
void SetMinEdgeLengthForAdaptivity (double minEdgeLength)
void SetGradationForAdaptivity (double gradation)
void SetMaxNodesForAdaptivity (unsigned maxNodes)
void SetNumberOfAdaptiveSweeps (unsigned numSweeps)
void SetApdMaps (const std::vector< std::pair< double, double > > &rApdMaps)
void SetUpstrokeTimeMaps (std::vector< double > &rUpstrokeTimeMaps)
void SetMaxUpstrokeVelocityMaps (std::vector< double > &rMaxUpstrokeVelocityMaps)
void SetConductionVelocityMaps (std::vector< unsigned > &rConductionVelocityMaps)
void EnsureOutputVisualizerExists (void)
void SetVisualizeWithMeshalyzer (bool useMeshalyzer=true)
void SetVisualizeWithCmgui (bool useCmgui=true)
void SetVisualizeWithVtk (bool useVtk=true)
void SetElectrodeParameters (bool groundSecondElectrode, unsigned index, double magnitude, double startTime, double duration)
void GetElectrodeParameters (bool &rGroundSecondElectrode, unsigned &rIndex, double &rMagnitude, double &rStartTime, double &rDuration)

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 UpdateParametersFromResumeSimulation (boost::shared_ptr< cp::chaste_parameters_type > pResumeParameters)
void SetDefaultSchemaLocations ()
std::string EscapeSpaces (const std::string &rPath)
template<class TYPE>
TYPE * DecideLocation (TYPE *params_ptr, TYPE *defaults_ptr, const std::string &rNameParameter) const
void CheckSimulationIsDefined (std::string callingMethod="") const
void CheckResumeSimulationIsDefined (std::string callingMethod="") const

Private Attributes

SchemaLocationsMap mSchemaLocations
boost::shared_ptr
< cp::chaste_parameters_type > 
mpUserParameters
boost::shared_ptr
< cp::chaste_parameters_type > 
mpDefaultParameters
bool mUseFixedSchemaLocation
double mEpiFraction
double mEndoFraction
double mMidFraction
unsigned mIndexMid
unsigned mIndexEpi
unsigned mIndexEndo
bool mUserAskedForCellularTransmuralHeterogeneities
bool mUserAskedForCuboidsForCellularHeterogeneities

Static Private Attributes

static std::auto_ptr< HeartConfigmpInstance

Friends

class boost::serialization::access
class TestHeartConfig


Detailed Description

A singleton class containing configuration parameters for heart simulations.

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

chaste_parameters_type is a convenience class created by CodeSynthesis XSD

Definition at line 76 of file HeartConfig.hpp.


Member Typedef Documentation

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

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

Definition at line 164 of file HeartConfig.hpp.


Constructor & Destructor Documentation

HeartConfig::~HeartConfig (  ) 

Destructor

Definition at line 316 of file HeartConfig.cpp.


Member Function Documentation

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

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

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

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

Archive the object.

Parameters:
archive 
version 

Definition at line 96 of file HeartConfig.hpp.

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

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

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:
pResumeParameters the parameters containing the ResumeSimulation element.

Definition at line 574 of file HeartConfig.cpp.

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

Referenced by load().

void HeartConfig::SetDefaultSchemaLocations (  )  [private]

Set default schema locations in the Chaste source tree.

Definition at line 404 of file HeartConfig.cpp.

References ChasteBuildInfo::GetRootDir(), and mSchemaLocations.

std::string HeartConfig::EscapeSpaces ( const std::string &  rPath  )  [private]

Helper method for URL-escaping spaces in file paths, to avoid confusing Xerces regarding schema locations. Note that this is a very specific fix: it doesn't do general URL-escaping.

Parameters:
rPath the path to escape

Definition at line 461 of file HeartConfig.cpp.

Referenced by ReadFile().

HeartConfig * HeartConfig::Instance (  )  [static]

Call this method to access the global parameters holder.

Returns:
a single instance of the class

Definition at line 283 of file HeartConfig.cpp.

References mpInstance.

Referenced by AbstractBidomainSolver< ELEMENT_DIM, SPACE_DIM >::AbstractBidomainSolver(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue(), AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >::AbstractHdf5Converter(), BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::BidomainAssembler(), CardiacElectroMechanicsProblem< DIM >::CardiacElectroMechanicsProblem(), CardiacSimulation::CardiacSimulation(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CloseFilesAndPostProcess(), AbstractCvodeCell::Compute(), BidomainWithBathAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm(), AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Converge(), CardiacSimulation::CreateAndRun(), HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), BidomainTissue< SPACE_DIM >::CreateExtracellularConductivityTensors(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor(), CardiacSimulation::CreateResumeXmlFile(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DefineExtraVariablesWriterColumns(), AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::DisplayRun(), Electrodes< DIM >::Electrodes(), HeartConfigRelatedCellFactory< SPACE_DIM >::FillInCellularTransmuralAreas(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::GetDataReader(), CML_noble_varghese_kohl_noble_1998_basic_with_sac::GetIIonic(), AbstractCardiacCellInterface::GetIntracellularAreaStimulus(), Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToCmguiConverter(), Hdf5ToMeshalyzerConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToMeshalyzerConverter(), Hdf5ToVtkConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToVtkConverter(), HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory(), CardiacElectroMechanicsProblem< DIM >::Initialise(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Initialise(), AbstractMonodomainSolver< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), AbstractBidomainSolver< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::InitialiseWriter(), load(), MonodomainAssembler< ELEMENT_DIM, SPACE_DIM >::MonodomainAssembler(), BidomainProblem< DIM >::PreSolveChecks(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::PreSolveChecks(), CardiacSimulation::ReadParametersFromFile(), CardiacSimulation::Run(), AbstractCardiacTissue< SPACE_DIM >::save(), AbstractCardiacProblem< ELEMENT_DIM, ELEMENT_DIM, 1 >::save(), BidomainProblem< DIM >::SetElectrodes(), MatrixBasedMonodomainSolver< ELEMENT_DIM, SPACE_DIM >::SetupLinearSystem(), MatrixBasedBidomainSolver< ELEMENT_DIM, SPACE_DIM >::SetupLinearSystem(), CardiacElectroMechanicsProblem< DIM >::Solve(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve(), UpdateParametersFromResumeSimulation(), VoltageInterpolaterOntoMechanicsMesh< DIM >::VoltageInterpolaterOntoMechanicsMesh(), AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::WriteExtraVariablesOneStep(), PostProcessingWriter< ELEMENT_DIM, SPACE_DIM >::WriteGenericFile(), PostProcessingWriter< ELEMENT_DIM, SPACE_DIM >::WritePostProcessingFiles(), and PseudoEcgCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::WritePseudoEcg().

void HeartConfig::SetUseFixedSchemaLocation ( bool  useFixedSchemaLocation  ) 

Parameters:
useFixedSchemaLocation 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 (or specified with SetFixedSchemaLocations()) (true).

Definition at line 456 of file HeartConfig.cpp.

References mUseFixedSchemaLocation.

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

void HeartConfig::SetFixedSchemaLocations ( const SchemaLocationsMap rSchemaLocations  ) 

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

Parameters:
rSchemaLocations map from namespace URI to schema URI

Definition at line 450 of file HeartConfig.cpp.

References mSchemaLocations, and SetUseFixedSchemaLocation().

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

Allows users to override the built-in defaults.

Parameters:
rFileName The name of the defaults file

Definition at line 320 of file HeartConfig.cpp.

References CheckTimeSteps(), mpDefaultParameters, mpUserParameters, and ReadFile().

Referenced by load().

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

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

Parameters:
rFileName The name of the parameters file

Definition at line 566 of file HeartConfig.cpp.

References CheckTimeSteps(), mpUserParameters, and ReadFile().

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

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:
useArchiveLocationInfo if 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 333 of file HeartConfig.cpp.

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

Referenced by AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >::AbstractHdf5Converter().

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

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

Parameters:
rToDirectory directory to copy to

Definition at line 382 of file HeartConfig.cpp.

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

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

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

void HeartConfig::Reset (  )  [static]

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

Definition at line 682 of file HeartConfig.cpp.

References mpInstance.

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

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

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

Parameters:
rNamespaceUri the namespace URI of the parameters file

Definition at line 416 of file HeartConfig.cpp.

References EXCEPTION.

Referenced by ReadFile().

bool HeartConfig::IsSimulationDefined (  )  const

Returns whether the configuration file defines a new simulation.

Returns:
is a new simulation?

Definition at line 690 of file HeartConfig.cpp.

References mpUserParameters.

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

bool HeartConfig::IsSimulationResumed (  )  const

Returns whether the configuration file resumes an archived simulation.

Returns:
is a resumed simulation?

Definition at line 695 of file HeartConfig.cpp.

References mpUserParameters.

Referenced by CheckSimulationIsDefined().

unsigned HeartConfig::GetSpaceDimension (  )  const

double HeartConfig::GetSimulationDuration (  )  const

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

References DecideLocation(), IsSimulationDefined(), mpDefaultParameters, and mpUserParameters.

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

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

References CheckSimulationIsDefined(), DecideLocation(), mpDefaultParameters, and mpUserParameters.

template<unsigned DIM>
void HeartConfig::GetIonicModelRegions ( std::vector< ChasteCuboid< DIM > > &  rDefinedRegions,
std::vector< cp::ionic_model_selection_type > &  rIonicModels 
) const [inline]

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:
rDefinedRegions vector of axis-aligned box regions (one per cellular heterogeneity)
rIonicModels vector of models (one per cellular heterogeneity)

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

Definition at line 783 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), EXCEPTION, mpDefaultParameters, mpUserParameters, and NEVER_REACHED.

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

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:
rDefinedRegions vector of axis-aligned box regions (one per cellular heterogeneity)
rIonicModels vector of models (one per cellular heterogeneity)

Todo:
will this break if the user parameters don't include an IonicModels element?

Definition at line 2156 of file HeartConfig.cpp.

References mpUserParameters.

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

References CheckSimulationIsDefined(), DecideLocation(), mpDefaultParameters, and mpUserParameters.

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

bool HeartConfig::GetCreateMesh (  )  const

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

Definition at line 864 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), mpDefaultParameters, and mpUserParameters.

Referenced by GetInterNodeSpace().

bool HeartConfig::GetCreateSlab (  )  const

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

Definition at line 875 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), mpDefaultParameters, and mpUserParameters.

Referenced by GetSlabDimensions().

bool HeartConfig::GetCreateSheet (  )  const

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

Definition at line 886 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), mpDefaultParameters, and mpUserParameters.

Referenced by GetSheetDimensions().

bool HeartConfig::GetCreateFibre (  )  const

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

Definition at line 897 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), mpDefaultParameters, and mpUserParameters.

Referenced by GetFibreLength().

bool HeartConfig::GetLoadMesh (  )  const

void HeartConfig::GetSlabDimensions ( c_vector< double, 3 > &  slabDimensions  )  const

Todo:
IsMeshProvided and GetLoadMesh are subtly different but very similar. Can one of them go?
Parameters:
slabDimensions return vector for the (cuboid) mesh dimensions (cm)

Definition at line 918 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), EXCEPTION, GetCreateSlab(), GetSpaceDimension(), mpDefaultParameters, and mpUserParameters.

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

void HeartConfig::GetSheetDimensions ( c_vector< double, 2 > &  sheetDimensions  )  const

Parameters:
sheetDimensions return vector for the (cuboid) mesh dimensions (cm)

Definition at line 936 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), EXCEPTION, GetCreateSheet(), GetSpaceDimension(), mpDefaultParameters, and mpUserParameters.

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

void HeartConfig::GetFibreLength ( c_vector< double, 1 > &  fibreLength  )  const

Parameters:
fibreLength return vector for the (cuboid) mesh dimensions (cm)

Definition at line 953 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), EXCEPTION, GetCreateFibre(), GetSpaceDimension(), mpDefaultParameters, and mpUserParameters.

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

double HeartConfig::GetInterNodeSpace (  )  const

std::string HeartConfig::GetMeshName (  )  const

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

References CheckSimulationIsDefined(), DecideLocation(), GetLoadMesh(), mpDefaultParameters, and mpUserParameters.

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

template<unsigned DIM>
void HeartConfig::GetStimuli ( std::vector< boost::shared_ptr< AbstractStimulusFunction > > &  rStimuliApplied,
std::vector< ChasteCuboid< DIM > > &  rStimulatedAreas 
) const [inline]

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

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

Definition at line 1021 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), EXCEPTION, mpDefaultParameters, mpUserParameters, and NEVER_REACHED.

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

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

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

Todo:
  • do we assume the vectors are initially empty? The returned std::vectors are all of the same length
Parameters:
rCellHeterogeneityRegions cellHeterogeneityAreas[0] is the first region
rScaleFactorGks scaleFactorGks[0] is a scaling factor for the first region
rScaleFactorIto scaleFactorIto[0] is a scaling factor for the first region
rScaleFactorGkr scaleFactorGkr[0] is a scaling factor for the first region
pParameterSettings specification of named parameters to set on the cell models; each entry is a map from parameter name to value.
Todo:
There is no set method

Definition at line 1112 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), EXCEPTION, mEndoFraction, mEpiFraction, mIndexEndo, mIndexEpi, mIndexMid, mMidFraction, mpDefaultParameters, mpUserParameters, mUserAskedForCellularTransmuralHeterogeneities, and mUserAskedForCuboidsForCellularHeterogeneities.

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

bool HeartConfig::GetConductivityHeterogeneitiesProvided (  )  const

Returns:
true if there are conductivity heterogeneities for GetConductivityHeterogeneities to return

Definition at line 1278 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), mpDefaultParameters, and mpUserParameters.

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

bool HeartConfig::AreCellularTransmuralHeterogeneitiesRequested (  ) 

Returns:
the value of the flag that tells whether the user asked for cellular transmural heterogeneities

Definition at line 1238 of file HeartConfig.cpp.

References mUserAskedForCellularTransmuralHeterogeneities.

bool HeartConfig::AreCellularHeterogeneitiesSpecifiedByCuboids (  ) 

Returns:
the value of the flag that tells whether the user asked for cellular heterogeneities with cuboids

Definition at line 1243 of file HeartConfig.cpp.

References mUserAskedForCuboidsForCellularHeterogeneities.

double HeartConfig::GetEpiLayerFraction (  ) 

Returns:
the fraction of epicardial layer

Definition at line 1248 of file HeartConfig.cpp.

References mEpiFraction.

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

double HeartConfig::GetEndoLayerFraction (  ) 

Returns:
the fraction of endocardial layer

Definition at line 1253 of file HeartConfig.cpp.

References mEndoFraction.

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

double HeartConfig::GetMidLayerFraction (  ) 

Returns:
the fraction of endocardial layer

Definition at line 1258 of file HeartConfig.cpp.

References mMidFraction.

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

References mIndexEpi.

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

unsigned HeartConfig::GetEndoLayerIndex (  ) 

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

Definition at line 1268 of file HeartConfig.cpp.

References mIndexEndo.

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

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

References mIndexMid.

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

template<unsigned DIM>
void HeartConfig::GetConductivityHeterogeneities ( std::vector< AbstractChasteRegion< DIM > * > &  conductivitiesHeterogeneityAreas,
std::vector< c_vector< double, 3 > > &  intraConductivities,
std::vector< c_vector< double, 3 > > &  extraConductivities 
) const [inline]

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

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

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

Definition at line 1295 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), EXCEPTION, GetExtracellularConductivities(), GetIntracellularConductivities(), mpDefaultParameters, and mpUserParameters.

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

std::string HeartConfig::GetOutputDirectory (  )  const

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

References CheckSimulationIsDefined(), DecideLocation(), mpDefaultParameters, and mpUserParameters.

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

bool HeartConfig::GetOutputVariablesProvided (  )  const

Returns:
true iff any extra output variables have been requested

Definition at line 1385 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), mpDefaultParameters, and mpUserParameters.

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

Get the extra output variables from the xml file.

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

Definition at line 1402 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), mpDefaultParameters, and mpUserParameters.

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

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

References DecideLocation(), mpDefaultParameters, and mpUserParameters.

bool HeartConfig::GetCheckpointSimulation (  )  const

Get whether simulation should be checkpointed or not

Returns:
archive simulation

Todo:
#1160 What code covers this? Should be removed ideally.

Definition at line 1436 of file HeartConfig.cpp.

References CheckResumeSimulationIsDefined(), CheckSimulationIsDefined(), DecideLocation(), IsSimulationDefined(), mpDefaultParameters, and mpUserParameters.

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

double HeartConfig::GetCheckpointTimestep (  )  const

Get checkpointing timestep

Returns:
checkpointing timestep

Todo:
#1160 What code covers this? Should be removed ideally.

Definition at line 1462 of file HeartConfig.cpp.

References CheckResumeSimulationIsDefined(), CheckSimulationIsDefined(), DecideLocation(), IsSimulationDefined(), mpDefaultParameters, and mpUserParameters.

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

unsigned HeartConfig::GetMaxCheckpointsOnDisk (  )  const

Get number of checkpoints to keep on disk

Returns:
checkpointing timestep

Todo:
#1160 What code covers this? Should be removed ideally.

Definition at line 1480 of file HeartConfig.cpp.

References CheckResumeSimulationIsDefined(), CheckSimulationIsDefined(), DecideLocation(), IsSimulationDefined(), mpDefaultParameters, and mpUserParameters.

Referenced by CardiacSimulation::CreateResumeXmlFile().

HeartFileFinder HeartConfig::GetArchivedSimulationDir (  )  const

Get directory where the archived simulation to resume is defined

Definition at line 1499 of file HeartConfig.cpp.

References CheckResumeSimulationIsDefined(), and mpUserParameters.

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

3D version

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

Definition at line 1507 of file HeartConfig.cpp.

References DecideLocation(), mpDefaultParameters, and mpUserParameters.

Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor(), and GetConductivityHeterogeneities().

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

2D version

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

Definition at line 1525 of file HeartConfig.cpp.

References DecideLocation(), mpDefaultParameters, and mpUserParameters.

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

1D version

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

Definition at line 1540 of file HeartConfig.cpp.

References DecideLocation(), mpDefaultParameters, and mpUserParameters.

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

3D version

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

Definition at line 1551 of file HeartConfig.cpp.

References DecideLocation(), mpDefaultParameters, and mpUserParameters.

Referenced by BidomainTissue< SPACE_DIM >::CreateExtracellularConductivityTensors(), and GetConductivityHeterogeneities().

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

2D version

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

Definition at line 1569 of file HeartConfig.cpp.

References DecideLocation(), mpDefaultParameters, and mpUserParameters.

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

1D version

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

Definition at line 1584 of file HeartConfig.cpp.

References DecideLocation(), mpDefaultParameters, and mpUserParameters.

double HeartConfig::GetBathConductivity (  )  const

Returns:
conductivity for perfusing bath (mS/cm)

Definition at line 1595 of file HeartConfig.cpp.

References DecideLocation(), mpDefaultParameters, and mpUserParameters.

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

double HeartConfig::GetSurfaceAreaToVolumeRatio (  )  const

double HeartConfig::GetCapacitance (  )  const

double HeartConfig::GetOdeTimeStep (  )  const

Returns:
ODE time-step (ms)

Definition at line 1619 of file HeartConfig.cpp.

References DecideLocation(), mpDefaultParameters, and mpUserParameters.

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

double HeartConfig::GetPdeTimeStep (  )  const

double HeartConfig::GetPrintingTimeStep (  )  const

bool HeartConfig::GetUseAbsoluteTolerance (  )  const

Returns:
true if we are using KSP absolute tolerance

Definition at line 1640 of file HeartConfig.cpp.

References DecideLocation(), mpDefaultParameters, and mpUserParameters.

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

double HeartConfig::GetAbsoluteTolerance (  )  const

bool HeartConfig::GetUseRelativeTolerance (  )  const

Returns:
true if we are using KSP relative tolerance

Definition at line 1658 of file HeartConfig.cpp.

References DecideLocation(), mpDefaultParameters, and mpUserParameters.

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

double HeartConfig::GetRelativeTolerance (  )  const

const char * HeartConfig::GetKSPSolver (  )  const

Returns:
name of -ksp_type from {"gmres", "cg", "symmlq"}

Definition at line 1676 of file HeartConfig.cpp.

References DecideLocation(), EXCEPTION, mpDefaultParameters, and mpUserParameters.

const char * HeartConfig::GetKSPPreconditioner (  )  const

Returns:
name of -pc_type from {"jacobi", "bjacobi", "hypre", "ml", "spai", "blockdiagonal", "ldufactorisation", "none"}

Definition at line 1694 of file HeartConfig.cpp.

References DecideLocation(), EXCEPTION, mpDefaultParameters, and mpUserParameters.

bool HeartConfig::IsAdaptivityParametersPresent (  )  const

double HeartConfig::GetTargetErrorForAdaptivity (  )  const

double HeartConfig::GetSigmaForAdaptivity (  )  const

double HeartConfig::GetMaxEdgeLengthForAdaptivity (  )  const

double HeartConfig::GetMinEdgeLengthForAdaptivity (  )  const

double HeartConfig::GetGradationForAdaptivity (  )  const

unsigned HeartConfig::GetMaxNodesForAdaptivity (  )  const

unsigned HeartConfig::GetNumberOfAdaptiveSweeps (  )  const

bool HeartConfig::IsPostProcessingSectionPresent (  )  const

void HeartConfig::EnsurePostProcessingSectionPresent (  ) 

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

Definition at line 1861 of file HeartConfig.cpp.

References mpUserParameters.

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

bool HeartConfig::IsPostProcessingRequested (  )  const

Returns:
true if any post-processing information has been requested

Definition at line 1866 of file HeartConfig.cpp.

References IsApdMapsRequested(), IsConductionVelocityMapsRequested(), IsMaxUpstrokeVelocityMapRequested(), IsPostProcessingSectionPresent(), and IsUpstrokeTimeMapsRequested().

bool HeartConfig::IsApdMapsRequested (  )  const

Returns:
true if APD maps have been requested

Definition at line 1880 of file HeartConfig.cpp.

References DecideLocation(), IsPostProcessingSectionPresent(), mpDefaultParameters, and mpUserParameters.

Referenced by GetApdMaps(), and IsPostProcessingRequested().

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

Parameters:
rApdMaps each entry is a request for a map with
  • a percentage in the range [1, 100)
  • a threshold (in mV)

Definition at line 1891 of file HeartConfig.cpp.

References DecideLocation(), IsApdMapsRequested(), mpDefaultParameters, and mpUserParameters.

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

bool HeartConfig::IsUpstrokeTimeMapsRequested (  )  const

Returns:
true if upstroke time maps have been requested

Definition at line 1911 of file HeartConfig.cpp.

References DecideLocation(), IsPostProcessingSectionPresent(), mpDefaultParameters, and mpUserParameters.

Referenced by GetUpstrokeTimeMaps(), and IsPostProcessingRequested().

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

Parameters:
rUpstrokeTimeMaps each entry is a request for a map with
  • a threshold (in mV)

Definition at line 1921 of file HeartConfig.cpp.

References DecideLocation(), IsUpstrokeTimeMapsRequested(), mpDefaultParameters, and mpUserParameters.

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

bool HeartConfig::IsMaxUpstrokeVelocityMapRequested (  )  const

Returns:
true maximum upstroke velocity maps have been requested

Definition at line 1939 of file HeartConfig.cpp.

References DecideLocation(), IsPostProcessingSectionPresent(), mpDefaultParameters, and mpUserParameters.

Referenced by GetMaxUpstrokeVelocityMaps(), and IsPostProcessingRequested().

void HeartConfig::GetMaxUpstrokeVelocityMaps ( std::vector< double > &  rUpstrokeVelocityMaps  )  const

Parameters:
rUpstrokeVelocityMaps each entry is a request for a map with
  • a threshold (in mV, defaulted to -30 mV)

Definition at line 1951 of file HeartConfig.cpp.

References DecideLocation(), IsMaxUpstrokeVelocityMapRequested(), mpDefaultParameters, and mpUserParameters.

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

bool HeartConfig::IsConductionVelocityMapsRequested (  )  const

Returns:
true if conduction velocity maps have been requested

Definition at line 1969 of file HeartConfig.cpp.

References DecideLocation(), IsPostProcessingSectionPresent(), mpDefaultParameters, and mpUserParameters.

Referenced by GetConductionVelocityMaps(), and IsPostProcessingRequested().

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

Parameters:
rConductionVelocityMaps each entry is a request for a map with
  • an index to treat as the source for wave propagation

Definition at line 1980 of file HeartConfig.cpp.

References DecideLocation(), IsConductionVelocityMapsRequested(), mpDefaultParameters, and mpUserParameters.

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

bool HeartConfig::IsOutputVisualizerPresent (  )  const

Whether there is an OutputVisualizer element present.

Definition at line 2002 of file HeartConfig.cpp.

References CheckSimulationIsDefined(), DecideLocation(), mpDefaultParameters, and mpUserParameters.

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

bool HeartConfig::GetVisualizeWithMeshalyzer (  )  const

Whether to convert the output from HDF5 to meshalyzer readable format

Definition at line 2021 of file HeartConfig.cpp.

References DecideLocation(), IsOutputVisualizerPresent(), mpDefaultParameters, and mpUserParameters.

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

bool HeartConfig::GetVisualizeWithCmgui (  )  const

Whether to convert the output from HDF5 to Cmgui readable format

Definition at line 2035 of file HeartConfig.cpp.

References DecideLocation(), IsOutputVisualizerPresent(), mpDefaultParameters, and mpUserParameters.

bool HeartConfig::GetVisualizeWithVtk (  )  const

Whether to convert the output from HDF5 to Vtk readable format

Definition at line 2049 of file HeartConfig.cpp.

References DecideLocation(), IsOutputVisualizerPresent(), mpDefaultParameters, and mpUserParameters.

bool HeartConfig::IsElectrodesPresent (  )  const

Returns:
true if there is an electrodes section

Definition at line 2064 of file HeartConfig.cpp.

References DecideLocation(), mpDefaultParameters, and mpUserParameters.

Referenced by GetElectrodeParameters(), and SetElectrodeParameters().

void HeartConfig::SetSpaceDimension ( unsigned  spaceDimension  ) 

Set the configuration dimension

Parameters:
spaceDimension 1, 2 or 3.

Definition at line 2084 of file HeartConfig.cpp.

References mpUserParameters.

void HeartConfig::SetSimulationDuration ( double  simulationDuration  ) 

Set the configuration simulation duration

Parameters:
simulationDuration duration of the simulation (ms)

Definition at line 2089 of file HeartConfig.cpp.

References mpUserParameters.

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

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:
rDomain type of simulation bi- mono-domain

Definition at line 2095 of file HeartConfig.cpp.

References mpUserParameters.

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:
rIonicModel type of model

Definition at line 2100 of file HeartConfig.cpp.

References mpUserParameters.

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:
x length in 1st dimension (cm)
y length in 2nd dimension (cm)
z length in 3rd dimension (cm)
inter_node_space Spacing in cartesian direction (cm). Diagonals will be longer.

Definition at line 2108 of file HeartConfig.cpp.

References mpUserParameters.

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:
x length in 1st dimension (cm)
y length in 2nd dimension (cm)
inter_node_space Spacing in cartesian direction (cm). Diagonals will be longer.

Definition at line 2120 of file HeartConfig.cpp.

References mpUserParameters.

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:
x length in 1st dimension (cm)
inter_node_space Spacing in cartesian direction (cm).

Definition at line 2132 of file HeartConfig.cpp.

References mpUserParameters.

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:
meshPrefix path and basename of a set of mesh files (.nodes .ele etc) in triangle/tetget format
fibreDefinition if set (Orthotropic/Axisymmetric) then a (.ortho/.axi) file should also be read
Todo:
There is no Get method

Definition at line 2144 of file HeartConfig.cpp.

References mpUserParameters.

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:
rConductivityAreas conductivityAreas[0] is the first region
rIntraConductivities intraConductivities[0] is conductivity vector for the first region
rExtraConductivities extraConductivities[0] is conductivity vector for the first region

Definition at line 2182 of file HeartConfig.cpp.

References mpUserParameters.

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

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

Parameters:
conductivityAreas conductivityAreas[0] is the first region
intraConductivities intraConductivities[0] is conductivity vector for the first region
extraConductivities extraConductivities[0] is conductivity vector for the first region

Definition at line 2230 of file HeartConfig.cpp.

References mpUserParameters.

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

void HeartConfig::SetOutputFilenamePrefix ( const std::string &  rOutputFilenamePrefix  ) 

Parameters:
rOutputFilenamePrefix Prefix 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 2283 of file HeartConfig.cpp.

References mpUserParameters.

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

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

Parameters:
rOutputVariables a vector of std::strings of the names of each variable that should be outputted at each time step.
USING THIS METHOD WILL OVERRIDE THE ANY OUTPUT VARIABLES SET IN THE XML FILE

Warning: when specifying output variables, you cannot convert the HDF5 output to Meshalyzer, Cmgui or VTK formats, since the converter will get confused by the presence of extra data. This method thus also turns off visualizer output if the provided vector is non-empty.

Todo:
#1596 is this no longer needed?

Definition at line 2288 of file HeartConfig.cpp.

References mpUserParameters, SetVisualizeWithCmgui(), SetVisualizeWithMeshalyzer(), and SetVisualizeWithVtk().

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:
useOriginal whether to use the original permutation

Definition at line 2317 of file HeartConfig.cpp.

References mpUserParameters.

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

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

Set whether the simulation should be checkpointed or not.

Parameters:
checkpointSimulation whether to do checkpointing
checkpointTimestep checkpointing timestep
maxCheckpointsOnDisk maximum number of checkpoint archives to keep on disk

Definition at line 2323 of file HeartConfig.cpp.

References CheckTimeSteps(), and mpUserParameters.

Referenced by load(), and UpdateParametersFromResumeSimulation().

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

3D version

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

Definition at line 2346 of file HeartConfig.cpp.

References mpUserParameters.

Referenced by CardiacElectroMechanicsProblem< DIM >::Initialise().

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

2D version

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

Definition at line 2357 of file HeartConfig.cpp.

References mpUserParameters.

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

1D version

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

Definition at line 2367 of file HeartConfig.cpp.

References mpUserParameters.

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

3D version

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

Definition at line 2376 of file HeartConfig.cpp.

References mpUserParameters.

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

2D version

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

Definition at line 2387 of file HeartConfig.cpp.

References mpUserParameters.

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

1D version

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

Definition at line 2397 of file HeartConfig.cpp.

References mpUserParameters.

void HeartConfig::SetBathConductivity ( double  bathConductivity  ) 

Set bath conductivity

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

Definition at line 2406 of file HeartConfig.cpp.

References mpUserParameters.

void HeartConfig::SetSurfaceAreaToVolumeRatio ( double  ratio  ) 

Set surface area to volume ratio Am (for PDE)

Parameters:
ratio (1/cm)

Definition at line 2412 of file HeartConfig.cpp.

References mpUserParameters.

void HeartConfig::SetCapacitance ( double  capacitance  ) 

Set surface capacitance Cm (for PDE)

Parameters:
capacitance (uF/cm^2)

Definition at line 2418 of file HeartConfig.cpp.

References mpUserParameters.

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

Set the configuration to use ode, pde and printing times of given values Calls CheckTimeSteps to ensure compatibility

Parameters:
odeTimeStep ode value to use
pdeTimeStep pde value to use
printingTimeStep printing value to use

Definition at line 2426 of file HeartConfig.cpp.

References CheckTimeSteps(), and mpUserParameters.

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

void HeartConfig::SetOdeTimeStep ( double  odeTimeStep  ) 

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

Parameters:
odeTimeStep the value to use

Definition at line 2434 of file HeartConfig.cpp.

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

void HeartConfig::SetPdeTimeStep ( double  pdeTimeStep  ) 

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

Parameters:
pdeTimeStep the value to use

Definition at line 2439 of file HeartConfig.cpp.

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

void HeartConfig::SetPrintingTimeStep ( double  printingTimeStep  ) 

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

Parameters:
printingTimeStep the value to use

Definition at line 2444 of file HeartConfig.cpp.

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

void HeartConfig::SetUseRelativeTolerance ( double  relativeTolerance  ) 

Set the configuration to use KSP relative tolerance of given value

Parameters:
relativeTolerance the value to use

Definition at line 2494 of file HeartConfig.cpp.

References mpUserParameters.

void HeartConfig::SetUseAbsoluteTolerance ( double  absoluteTolerance  ) 

Set the configuration to use KSP absolute tolerance of given value

Parameters:
absoluteTolerance the value to use

Definition at line 2502 of file HeartConfig.cpp.

References mpUserParameters.

void HeartConfig::SetKSPSolver ( const char *  kspSolver  ) 

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

Parameters:
kspSolver a string from {"gmres", "cg", "symmlq"}

Definition at line 2510 of file HeartConfig.cpp.

References EXCEPTION, and mpUserParameters.

Referenced by AbstractBidomainSolver< ELEMENT_DIM, SPACE_DIM >::FinaliseLinearSystem().

void HeartConfig::SetKSPPreconditioner ( const char *  kspPreconditioner  ) 

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

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

Definition at line 2532 of file HeartConfig.cpp.

References EXCEPTION, and mpUserParameters.

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

Set the parameters to be used during mesh adaptation.

Parameters:
targetError is the target error passed to the adaptivity library
sigma is the value of sigma passed to the adaptivity library
maxEdgeLength is the maximum edge length permitted in the adapted mesh
minEdgeLength is the minimum edge length permitted in the adapted mesh
gradation is the value of gradation passed to the adaptivity library
maxNodes is the maximum number of nodes permitted in the adapted mesh
numSweeps is the number of adaptive sweeps through the mesh performed by the adaptivity library

Todo:
I think you can just do the 'if' clause regardless.

Definition at line 2584 of file HeartConfig.cpp.

References EXCEPTION, IsAdaptivityParametersPresent(), and mpUserParameters.

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

void HeartConfig::SetTargetErrorForAdaptivity ( double  targetError  ) 

Set the target error to be used during mesh adaptation.

Parameters:
targetError is the target error passed to the adaptivity library

Definition at line 2620 of file HeartConfig.cpp.

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

void HeartConfig::SetSigmaForAdaptivity ( double  sigma  ) 

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

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

Definition at line 2631 of file HeartConfig.cpp.

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

void HeartConfig::SetMaxEdgeLengthForAdaptivity ( double  maxEdgeLength  ) 

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

Parameters:
maxEdgeLength is the maximum edge length permitted in the adapted mesh

Definition at line 2642 of file HeartConfig.cpp.

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

void HeartConfig::SetMinEdgeLengthForAdaptivity ( double  minEdgeLength  ) 

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

Parameters:
minEdgeLength is the minimum edge length permitted in the adapted mesh

Definition at line 2653 of file HeartConfig.cpp.

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

void HeartConfig::SetGradationForAdaptivity ( double  gradation  ) 

Set the gradation to be used during mesh adaptation.

Parameters:
gradation is the gradation passed to the adaptivity library

Definition at line 2664 of file HeartConfig.cpp.

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

void HeartConfig::SetMaxNodesForAdaptivity ( unsigned  maxNodes  ) 

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

Parameters:
maxNodes is the maximum number of nodes permitted in the adapted mesh

Definition at line 2675 of file HeartConfig.cpp.

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

void HeartConfig::SetNumberOfAdaptiveSweeps ( unsigned  numSweeps  ) 

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

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

Definition at line 2686 of file HeartConfig.cpp.

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

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

Set the parameters of the apd map requested

Parameters:
rApdMaps each 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 2697 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpUserParameters.

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

Set the parameters of the upstroke time map requested

Parameters:
rUpstrokeTimeMaps is the list of thresholds (? ///
Todo:
improve the description of threshold) with respect to which the upstroke time maps are calculated.

Definition at line 2715 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpUserParameters.

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

Set the parameters of the maximal upstroke velocity map requested

Parameters:
rMaxUpstrokeVelocityMaps is the list of thresholds (? ///
Todo:
improve the description of threshold) with respect to which the upstroke velocity maps are calculated.

Definition at line 2733 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpUserParameters.

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

Set the parameters of the conduction velocity map requested

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

Definition at line 2754 of file HeartConfig.cpp.

References EnsurePostProcessingSectionPresent(), and mpUserParameters.

void HeartConfig::EnsureOutputVisualizerExists ( void   ) 

Create the OutputVisualizer element if it doesn't exist

Definition at line 2774 of file HeartConfig.cpp.

References mpUserParameters.

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

void HeartConfig::SetVisualizeWithMeshalyzer ( bool  useMeshalyzer = true  ) 

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

Parameters:
useMeshalyzer 

Definition at line 2779 of file HeartConfig.cpp.

References EnsureOutputVisualizerExists(), and mpUserParameters.

Referenced by SetOutputVariables(), and UpdateParametersFromResumeSimulation().

void HeartConfig::SetVisualizeWithCmgui ( bool  useCmgui = true  ) 

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

Parameters:
useCmgui 

Definition at line 2787 of file HeartConfig.cpp.

References EnsureOutputVisualizerExists(), and mpUserParameters.

Referenced by SetOutputVariables(), and UpdateParametersFromResumeSimulation().

void HeartConfig::SetVisualizeWithVtk ( bool  useVtk = true  ) 

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

Parameters:
useVtk 

Definition at line 2795 of file HeartConfig.cpp.

References EnsureOutputVisualizerExists(), and mpUserParameters.

Referenced by SetOutputVariables(), and UpdateParametersFromResumeSimulation().

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

Setup electrode parameters.

Parameters:
groundSecondElectrode Whether to ground the second electrode (see class documentation)
index The value i when applying the electrodes to x_i=a and x_i=b (a<b)
magnitude Magnitude of the stimulus
startTime Switch on time
duration Duration of the stimulus.

Definition at line 2803 of file HeartConfig.cpp.

References IsElectrodesPresent(), and mpUserParameters.

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

Get electrode parameters.

Parameters:
rGroundSecondElectrode Whether to ground the second electrode (see class documentation)
rIndex The value i when applying the electrodes to x_i=a and x_i=b (a<b)
rMagnitude Magnitude of the stimulus
rStartTime Switch on time
rDuration Duration of the stimulus.

Definition at line 2842 of file HeartConfig.cpp.

References EXCEPTION, IsElectrodesPresent(), and mpUserParameters.

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

template<class TYPE>
TYPE * HeartConfig::DecideLocation ( TYPE *  params_ptr,
TYPE *  defaults_ptr,
const std::string &  rNameParameter 
) const [inline, private]

DecideLocation is a convenience method used to get the correct parameter value from the defaults/parameters files. It checks if the first value is present and (if not) moves onto the second

Parameters:
params_ptr Pointer to quantity within the parameters file (checked first, since it will override a default)
defaults_ptr Pointer to quantity within the defaults file (used if there was no override)
rNameParameter Name of quatity within params_ptr/defaults_ptr (so we can throw a meaningful exception if it's not found)

Definition at line 702 of file HeartConfig.cpp.

References EXCEPTION.

Referenced by GetAbsoluteTolerance(), GetApdMaps(), GetBathConductivity(), GetCapacitance(), GetCellHeterogeneities(), GetCheckpointSimulation(), GetCheckpointTimestep(), GetConductionVelocityMaps(), GetConductivityHeterogeneities(), GetConductivityHeterogeneitiesProvided(), GetConductivityMedia(), GetCreateFibre(), GetCreateMesh(), GetCreateSheet(), GetCreateSlab(), GetDefaultIonicModel(), GetDomain(), GetExtracellularConductivities(), GetFibreLength(), GetGradationForAdaptivity(), GetInterNodeSpace(), GetIntracellularConductivities(), GetIonicModelRegions(), GetKSPPreconditioner(), GetKSPSolver(), GetLoadMesh(), GetMaxCheckpointsOnDisk(), GetMaxEdgeLengthForAdaptivity(), GetMaxNodesForAdaptivity(), GetMaxUpstrokeVelocityMaps(), GetMeshName(), GetMinEdgeLengthForAdaptivity(), GetNumberOfAdaptiveSweeps(), GetOdeTimeStep(), GetOutputDirectory(), GetOutputFilenamePrefix(), GetOutputUsingOriginalNodeOrdering(), GetOutputVariables(), GetOutputVariablesProvided(), GetPdeTimeStep(), GetPrintingTimeStep(), GetRelativeTolerance(), GetSheetDimensions(), GetSigmaForAdaptivity(), GetSimulationDuration(), GetSlabDimensions(), GetSpaceDimension(), GetStimuli(), GetSurfaceAreaToVolumeRatio(), GetTargetErrorForAdaptivity(), GetUpstrokeTimeMaps(), GetUseAbsoluteTolerance(), GetUseRelativeTolerance(), GetVisualizeWithCmgui(), GetVisualizeWithMeshalyzer(), GetVisualizeWithVtk(), IsAdaptivityParametersPresent(), IsApdMapsRequested(), IsConductionVelocityMapsRequested(), IsElectrodesPresent(), IsMaxUpstrokeVelocityMapRequested(), IsMeshProvided(), IsOutputVisualizerPresent(), IsPostProcessingSectionPresent(), and IsUpstrokeTimeMapsRequested().

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

CheckSimulationIsDefined is a convience 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 and exception if not.

Parameters:
callingMethod string describing the get method performing the check.

Definition at line 715 of file HeartConfig.cpp.

References EXCEPTION, and IsSimulationResumed().

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

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

CheckSimulationIsDefined is a convience 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 and exception if not.

Parameters:
callingMethod string describing the get method performing the check.

Definition at line 723 of file HeartConfig.cpp.

References EXCEPTION, and IsSimulationDefined().

Referenced by GetArchivedSimulationDir(), GetCheckpointSimulation(), GetCheckpointTimestep(), and GetMaxCheckpointsOnDisk().


Friends And Related Function Documentation

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

Needed for serialization.

Definition at line 88 of file HeartConfig.hpp.


Member Data Documentation

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

Definition at line 170 of file HeartConfig.hpp.

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

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

Pointer to parameters read from the user's input XML file (override those given by mpDefaultParameters).

Definition at line 1061 of file HeartConfig.hpp.

Referenced by EnsureOutputVisualizerExists(), EnsurePostProcessingSectionPresent(), GetAbsoluteTolerance(), GetApdMaps(), GetArchivedSimulationDir(), GetBathConductivity(), GetCapacitance(), GetCellHeterogeneities(), GetCheckpointSimulation(), GetCheckpointTimestep(), GetConductionVelocityMaps(), GetConductivityHeterogeneities(), GetConductivityHeterogeneitiesProvided(), GetConductivityMedia(), GetCreateFibre(), GetCreateMesh(), GetCreateSheet(), GetCreateSlab(), GetDefaultIonicModel(), GetDomain(), GetElectrodeParameters(), GetExtracellularConductivities(), GetFibreLength(), GetGradationForAdaptivity(), GetInterNodeSpace(), GetIntracellularConductivities(), GetIonicModelRegions(), GetKSPPreconditioner(), GetKSPSolver(), GetLoadMesh(), GetMaxCheckpointsOnDisk(), GetMaxEdgeLengthForAdaptivity(), GetMaxNodesForAdaptivity(), GetMaxUpstrokeVelocityMaps(), GetMeshName(), GetMinEdgeLengthForAdaptivity(), GetNumberOfAdaptiveSweeps(), GetOdeTimeStep(), GetOutputDirectory(), GetOutputFilenamePrefix(), GetOutputUsingOriginalNodeOrdering(), GetOutputVariables(), GetOutputVariablesProvided(), GetPdeTimeStep(), GetPrintingTimeStep(), GetRelativeTolerance(), GetSheetDimensions(), GetSigmaForAdaptivity(), GetSimulationDuration(), GetSlabDimensions(), GetSpaceDimension(), GetStimuli(), GetSurfaceAreaToVolumeRatio(), GetTargetErrorForAdaptivity(), GetUpstrokeTimeMaps(), GetUseAbsoluteTolerance(), GetUseRelativeTolerance(), GetVisualizeWithCmgui(), GetVisualizeWithMeshalyzer(), GetVisualizeWithVtk(), IsAdaptivityParametersPresent(), IsApdMapsRequested(), IsConductionVelocityMapsRequested(), IsElectrodesPresent(), IsMaxUpstrokeVelocityMapRequested(), IsMeshProvided(), IsOutputVisualizerPresent(), IsPostProcessingSectionPresent(), IsSimulationDefined(), IsSimulationResumed(), IsUpstrokeTimeMapsRequested(), load(), ReadFile(), SetAdaptivityParameters(), SetApdMaps(), SetBathConductivity(), SetCapacitance(), SetCheckpointSimulation(), SetConductionVelocityMaps(), SetConductivityHeterogeneities(), SetConductivityHeterogeneitiesEllipsoid(), SetDefaultIonicModel(), SetDefaultsFile(), SetDomain(), SetElectrodeParameters(), SetExtracellularConductivities(), SetFibreLength(), SetIntracellularConductivities(), SetIonicModelRegions(), SetKSPPreconditioner(), SetKSPSolver(), SetMaxUpstrokeVelocityMaps(), SetMeshFileName(), SetOdePdeAndPrintingTimeSteps(), SetOutputDirectory(), SetOutputFilenamePrefix(), SetOutputUsingOriginalNodeOrdering(), SetOutputVariables(), SetParametersFile(), SetSheetDimensions(), SetSimulationDuration(), SetSlabDimensions(), SetSpaceDimension(), SetSurfaceAreaToVolumeRatio(), SetUpstrokeTimeMaps(), SetUseAbsoluteTolerance(), SetUseRelativeTolerance(), SetVisualizeWithCmgui(), SetVisualizeWithMeshalyzer(), SetVisualizeWithVtk(), UpdateParametersFromResumeSimulation(), and Write().

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

Pointer to parameters read from the default input XML file (to be read before mpUserParameters, but may be subsequently overridden).

Definition at line 1065 of file HeartConfig.hpp.

Referenced by GetAbsoluteTolerance(), GetApdMaps(), GetBathConductivity(), GetCapacitance(), GetCellHeterogeneities(), GetCheckpointSimulation(), GetCheckpointTimestep(), GetConductionVelocityMaps(), GetConductivityHeterogeneities(), GetConductivityHeterogeneitiesProvided(), GetConductivityMedia(), GetCreateFibre(), GetCreateMesh(), GetCreateSheet(), GetCreateSlab(), GetDefaultIonicModel(), GetDomain(), GetExtracellularConductivities(), GetFibreLength(), GetGradationForAdaptivity(), GetInterNodeSpace(), GetIntracellularConductivities(), GetIonicModelRegions(), GetKSPPreconditioner(), GetKSPSolver(), GetLoadMesh(), GetMaxCheckpointsOnDisk(), GetMaxEdgeLengthForAdaptivity(), GetMaxNodesForAdaptivity(), GetMaxUpstrokeVelocityMaps(), GetMeshName(), GetMinEdgeLengthForAdaptivity(), GetNumberOfAdaptiveSweeps(), GetOdeTimeStep(), GetOutputDirectory(), GetOutputFilenamePrefix(), GetOutputUsingOriginalNodeOrdering(), GetOutputVariables(), GetOutputVariablesProvided(), GetPdeTimeStep(), GetPrintingTimeStep(), GetRelativeTolerance(), GetSheetDimensions(), GetSigmaForAdaptivity(), GetSimulationDuration(), GetSlabDimensions(), GetSpaceDimension(), GetStimuli(), GetSurfaceAreaToVolumeRatio(), GetTargetErrorForAdaptivity(), GetUpstrokeTimeMaps(), GetUseAbsoluteTolerance(), GetUseRelativeTolerance(), GetVisualizeWithCmgui(), GetVisualizeWithMeshalyzer(), GetVisualizeWithVtk(), IsAdaptivityParametersPresent(), IsApdMapsRequested(), IsConductionVelocityMapsRequested(), IsElectrodesPresent(), IsMaxUpstrokeVelocityMapRequested(), IsMeshProvided(), IsOutputVisualizerPresent(), IsPostProcessingSectionPresent(), IsUpstrokeTimeMapsRequested(), ReadFile(), SetDefaultsFile(), and Write().

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

The single instance of the class

Definition at line 1068 of file HeartConfig.hpp.

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

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

Referenced by ReadFile(), and SetUseFixedSchemaLocation().

double HeartConfig::mEpiFraction [private]

Fraction of epicardial layer

Definition at line 1079 of file HeartConfig.hpp.

Referenced by GetCellHeterogeneities(), and GetEpiLayerFraction().

double HeartConfig::mEndoFraction [private]

Fraction of endocardial layer

Definition at line 1084 of file HeartConfig.hpp.

Referenced by GetCellHeterogeneities(), and GetEndoLayerFraction().

double HeartConfig::mMidFraction [private]

Fraction of midmyocardial layer

Definition at line 1089 of file HeartConfig.hpp.

Referenced by GetCellHeterogeneities(), and GetMidLayerFraction().

unsigned HeartConfig::mIndexMid [private]

Order index in which the midmyocardial heterogeneities are supplied

Definition at line 1094 of file HeartConfig.hpp.

Referenced by GetCellHeterogeneities(), and GetMidLayerIndex().

unsigned HeartConfig::mIndexEpi [private]

Order index in which the epicardial heterogeneities are supplied

Definition at line 1099 of file HeartConfig.hpp.

Referenced by GetCellHeterogeneities(), and GetEpiLayerIndex().

unsigned HeartConfig::mIndexEndo [private]

Order index in which the endocardial heterogeneities are supplied

Definition at line 1104 of file HeartConfig.hpp.

Referenced by GetCellHeterogeneities(), and GetEndoLayerIndex().

Flag to check whether the user asked for cellular transmural heterogeneities

Definition at line 1109 of file HeartConfig.hpp.

Referenced by AreCellularTransmuralHeterogeneitiesRequested(), and GetCellHeterogeneities().

Flag to check whether the user asked for cellular heterogeneities with cuboids

Definition at line 1114 of file HeartConfig.hpp.

Referenced by AreCellularHeterogeneitiesSpecifiedByCuboids(), and GetCellHeterogeneities().


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

Generated on Mon Nov 1 12:36:46 2010 for Chaste by  doxygen 1.5.5