Chaste  Release::2018.1
CardiacSimulation Class Reference

#include <CardiacSimulation.hpp>

+ Collaboration diagram for CardiacSimulation:

Public Member Functions

 CardiacSimulation (std::string parameterFileName, bool writeProvenanceInfo=false, bool saveProblemInstance=false)
 
boost::shared_ptr
< AbstractUntemplatedCardiacProblem
GetSavedProblem ()
 

Private Member Functions

void ReadParametersFromFile (std::string parameterFileName)
 
template<class Problem , unsigned SPACE_DIM>
void CreateAndRun ()
 
void Run ()
 
void CreateResumeXmlFile (const std::string &rOutputDirectory, const std::string &rArchiveDirectory)
 
std::string BoolToString (bool yesNo)
 

Private Attributes

bool mSaveProblemInstance
 
boost::shared_ptr
< AbstractUntemplatedCardiacProblem
mSavedProblem
 

Detailed Description

A class which encapsulates the executable functionality.

Takes in a chaste parameters XML file and runs the relevant simulation.

The XML Schema, which describes what is allowed in the XML configuration file, can be found at heart/src/io/ChasteParameters_2_0.xsd (for Chaste release 2.0). It contains documentation describing what settings are available. The documentation of the HeartConfig class may also be of use.

Definition at line 80 of file CardiacSimulation.hpp.

Constructor & Destructor Documentation

CardiacSimulation::CardiacSimulation ( std::string  parameterFileName,
bool  writeProvenanceInfo = false,
bool  saveProblemInstance = false 
)

Constructor

This also runs the simulation immediately.

Parameters
parameterFileNameThe name of the chaste parameters xml file to use to run a simulation.
writeProvenanceInfoWhether to write provanence and machine information files.
saveProblemInstanceWhether to save a copy of the problem instance for examination by tests.

Definition at line 95 of file CardiacSimulation.cpp.

References EXCEPTION, GenericEventHandler< 16, HeartEventHandler >::Headings(), HeartConfig::Instance(), ReadParametersFromFile(), GenericEventHandler< 16, HeartEventHandler >::Report(), Run(), ExecutableSupport::SetOutputDirectory(), ExecutableSupport::WriteMachineInfoFile(), and ExecutableSupport::WriteProvenanceInfoFile().

Member Function Documentation

std::string CardiacSimulation::BoolToString ( bool  yesNo)
private

Convert a boolean to a "yes" or "no" string.

Parameters
yesNo
Returns
a "yes" or "no" string.

Definition at line 45 of file CardiacSimulation.cpp.

Referenced by CreateResumeXmlFile().

void CardiacSimulation::CreateResumeXmlFile ( const std::string &  rOutputDirectory,
const std::string &  rArchiveDirectory 
)
private

Write a ResumeParameters.xml file to the checkpoint directory, to help users in resuming a checkpointed simulation. If the contents of rOutputDirectory are copied to CHASTE_TEST_OUTPUT, and ResumeParameters.xml edited to specify a sensible simulation duration, then it can be used as the input parameters file to resume from the given checkpoint.

Parameters
rOutputDirectorythe directory to put the XML file in
rArchiveDirectorythe relative path from this directory to the archive directory

Definition at line 59 of file CardiacSimulation.cpp.

References PetscTools::AmMaster(), BoolToString(), HeartConfig::GetCheckpointTimestep(), HeartConfig::GetDomain(), HeartConfig::GetMaxCheckpointsOnDisk(), OutputFileHandler::GetOutputDirectoryFullPath(), HeartConfig::GetSpaceDimension(), HeartConfig::Instance(), OutputFileHandler::OpenOutputFile(), and TRY_IF_MASTER.

Referenced by CreateAndRun().

boost::shared_ptr< AbstractUntemplatedCardiacProblem > CardiacSimulation::GetSavedProblem ( )
Returns
the saved problem instance, if any. Will return an empty pointer if the instance was not saved.

Definition at line 40 of file CardiacSimulation.cpp.

References mSavedProblem.

void CardiacSimulation::ReadParametersFromFile ( std::string  parameterFileName)
private

Read parameters from the HeartConfig XML file.

Parameters
parameterFileNamea string containing the chaste simulation parameters XML file name.

Definition at line 117 of file CardiacSimulation.cpp.

References Exception::CheckShortMessageContains(), HeartConfig::Instance(), HeartConfig::Reset(), HeartConfig::SetParametersFile(), and HeartConfig::SetUseFixedSchemaLocation().

Referenced by CardiacSimulation().

void CardiacSimulation::Run ( )
private

Run the simulation. This method basically contains switches on the problem type and space dimension, and calls CreateAndRun() to do the work.

Definition at line 164 of file CardiacSimulation.cpp.

References EXCEPTION, and HeartConfig::Instance().

Referenced by CardiacSimulation().

Member Data Documentation

boost::shared_ptr<AbstractUntemplatedCardiacProblem> CardiacSimulation::mSavedProblem
private

The saved problem instance, if any.

Definition at line 227 of file CardiacSimulation.hpp.

Referenced by CreateAndRun(), and GetSavedProblem().

bool CardiacSimulation::mSaveProblemInstance
private

Whether to save a copy of the problem instance for examination by tests.

Definition at line 224 of file CardiacSimulation.hpp.

Referenced by CreateAndRun().


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