#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 |
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 76 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 87 of file CardiacSimulation.cpp.
References EXCEPTION, GenericEventHandler< 13, HeartEventHandler >::Headings(), HeartConfig::Instance(), ReadParametersFromFile(), GenericEventHandler< 13, HeartEventHandler >::Report(), Run(), ExecutableSupport::SetOutputDirectory(), ExecutableSupport::WriteMachineInfoFile(), and ExecutableSupport::WriteProvenanceInfoFile().
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 109 of file CardiacSimulation.cpp.
References Exception::CheckShortMessageContains(), HeartConfig::Instance(), HeartConfig::Reset(), HeartConfig::SetParametersFile(), and HeartConfig::SetUseFixedSchemaLocation().
Referenced by CardiacSimulation().
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 91 of file CardiacSimulation.hpp.
References 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(), MPIABORTIFNON0, mSavedProblem, mSaveProblemInstance, CardiacSimulationArchiver< PROBLEM_CLASS >::Save(), HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellIntracellularStimulus(), HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellParameters(), AbstractCardiacCellFactory< SPACE_DIM >::SetMesh(), and HeartConfig::SetSimulationDuration().
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 156 of file CardiacSimulation.cpp.
References EXCEPTION, and HeartConfig::Instance().
Referenced by CardiacSimulation().
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 52 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().
std::string CardiacSimulation::BoolToString | ( | bool | yesNo | ) | [private] |
Convert a boolean to a "yes" or "no" string.
yesNo |
Definition at line 38 of file CardiacSimulation.cpp.
Referenced by CreateResumeXmlFile().
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 33 of file CardiacSimulation.cpp.
References mSavedProblem.
bool CardiacSimulation::mSaveProblemInstance [private] |
Whether to save a copy of the problem instance for examination by tests.
Definition at line 213 of file CardiacSimulation.hpp.
Referenced by CreateAndRun().
boost::shared_ptr<AbstractUntemplatedCardiacProblem> CardiacSimulation::mSavedProblem [private] |
The saved problem instance, if any.
Definition at line 216 of file CardiacSimulation.hpp.
Referenced by CreateAndRun(), and GetSavedProblem().