Chaste Release::3.1
|
#include <CardiacSimulation.hpp>
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 |
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 83 of file CardiacSimulation.hpp.
CardiacSimulation::CardiacSimulation | ( | std::string | parameterFileName, |
bool | writeProvenanceInfo = false , |
||
bool | saveProblemInstance = false |
||
) |
Constructor
This also runs the simulation immediately.
parameterFileName | The name of the chaste parameters xml file to use to run a simulation. |
writeProvenanceInfo | Whether to write provanence and machine information files. |
saveProblemInstance | Whether to save a copy of the problem instance for examination by tests. |
Definition at line 94 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().
std::string CardiacSimulation::BoolToString | ( | bool | yesNo | ) | [private] |
Convert a boolean to a "yes" or "no" string.
yesNo |
Definition at line 45 of file CardiacSimulation.cpp.
Referenced by CreateResumeXmlFile().
void CardiacSimulation::CreateAndRun | ( | ) | [inline, private] |
Templated method which creates and runs a cardiac simulation, based on the XML file passed to our constructor.
Definition at line 98 of file CardiacSimulation.hpp.
References ABORT_IF_NON0, PetscTools::AmMaster(), OutputDirectoryFifoQueue::CreateNextDir(), CreateResumeXmlFile(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetCardiacCell(), HeartConfig::GetCheckpointSimulation(), HeartConfig::GetCheckpointTimestep(), DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLow(), HeartConfig::GetOutputDirectory(), OutputFileHandler::GetOutputDirectoryFullPath(), HeartConfig::GetSimulationDuration(), HeartConfig::Instance(), mSavedProblem, mSaveProblemInstance, HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellIntracellularStimulus(), HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellParameters(), AbstractCardiacCellFactory< SPACE_DIM >::SetMesh(), and HeartConfig::SetSimulationDuration().
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.
rOutputDirectory | the directory to put the XML file in |
rArchiveDirectory | the relative path from this directory to the archive directory |
Definition at line 59 of file CardiacSimulation.cpp.
References PetscTools::AmMaster(), BoolToString(), HeartConfig::CopySchema(), HeartConfig::GetCheckpointTimestep(), HeartConfig::GetDomain(), HeartConfig::GetMaxCheckpointsOnDisk(), OutputFileHandler::GetOutputDirectoryFullPath(), HeartConfig::GetSpaceDimension(), HeartConfig::Instance(), and OutputFileHandler::OpenOutputFile().
Referenced by CreateAndRun().
boost::shared_ptr< AbstractUntemplatedCardiacProblem > CardiacSimulation::GetSavedProblem | ( | ) |
Get 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.
parameterFileName | a string containing the chaste simulation parameters XML file name. |
Definition at line 116 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 163 of file CardiacSimulation.cpp.
References EXCEPTION, and HeartConfig::Instance().
Referenced by CardiacSimulation().
boost::shared_ptr<AbstractUntemplatedCardiacProblem> CardiacSimulation::mSavedProblem [private] |
The saved problem instance, if any.
Definition at line 223 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 220 of file CardiacSimulation.hpp.
Referenced by CreateAndRun().