Chaste Release::3.1
|
#include <ExecutableSupport.hpp>
Static Public Member Functions | |
static void | InitializePetsc (int *pArgc, char ***pArgv) |
static void | ShowCopyright () |
static void | ShowParallelLaunching () |
static void | SetOutputDirectory (const std::string &rOutputDirectory) |
static void | WriteMachineInfoFile (std::string fileBaseName) |
static void | WriteProvenanceInfoFile () |
static void | WriteLibraryInfo (out_stream &outFile) |
static void | StandardStartup (int *pArgc, char ***pArgv) |
static void | PrintError (const std::string &rMessage, bool masterOnly=false) |
static void | Print (const std::string &rMessage) |
static void | FinalizePetsc () |
Static Public Attributes | |
static const int | EXIT_OK = 0 |
static const int | EXIT_ERROR = 1 |
static const int | EXIT_BAD_ARGUMENTS = 2 |
Static Private Attributes | |
static FileFinder | mOutputDirectory |
Various helpful static methods for people writing their own executables within the Chaste framework.
Most executables will just need to call StandardStartup as the first thing in their main() function, and FinalizePetsc before quitting. The other methods allow you to fine-tune what output is presented to users.
Definition at line 51 of file ExecutableSupport.hpp.
void ExecutableSupport::FinalizePetsc | ( | ) | [static] |
Shut down PETSc so we exit cleanly.
Definition at line 284 of file ExecutableSupport.cpp.
void ExecutableSupport::InitializePetsc | ( | int * | pArgc, |
char *** | pArgv | ||
) | [static] |
Initialise PETSc from the command line arguments.
pArgc | pointer to the number of arguments |
pArgv | pointer to the argument list |
Definition at line 77 of file ExecutableSupport.cpp.
References RelativeTo::ChasteTestOutput, CommandLineArguments::Instance(), FileFinder::IsPathSet(), mOutputDirectory, CommandLineArguments::p_argc, CommandLineArguments::p_argv, and FileFinder::SetPath().
Referenced by StandardStartup().
void ExecutableSupport::Print | ( | const std::string & | rMessage | ) | [static] |
Display an informative message to the user, on stdout. Message is only displayed by master process
rMessage | the message to display |
Definition at line 275 of file ExecutableSupport.cpp.
References PetscTools::AmMaster().
void ExecutableSupport::PrintError | ( | const std::string & | rMessage, |
bool | masterOnly = false |
||
) | [static] |
Display an error message to the user, on stderr.
rMessage | the message to display |
masterOnly | whether only the master process should display the error |
Definition at line 259 of file ExecutableSupport.cpp.
References PetscTools::AmMaster(), RelativeTo::ChasteTestOutput, PetscTools::GetMyRank(), FileFinder::IsPathSet(), mOutputDirectory, OutputFileHandler::OpenOutputFile(), and FileFinder::SetPath().
void ExecutableSupport::SetOutputDirectory | ( | const std::string & | rOutputDirectory | ) | [static] |
Set the directory to which the files created by WriteMachineInfoFile, and WriteProvenanceInfoFile will be written. By default they will write to the CHASTE_TEST_OUTPUT folder.
rOutputDirectory | the directory to write to |
Definition at line 65 of file ExecutableSupport.cpp.
References RelativeTo::Absolute, RelativeTo::ChasteTestOutput, FileFinder::IsAbsolutePath(), mOutputDirectory, and FileFinder::SetPath().
Referenced by CardiacSimulation::CardiacSimulation().
void ExecutableSupport::ShowCopyright | ( | ) | [static] |
Display Chaste's copyright information.
Definition at line 91 of file ExecutableSupport.cpp.
References PetscTools::AmMaster(), ChasteBuildInfo::GetBuilderUnameInfo(), ChasteBuildInfo::GetBuildInformation(), ChasteBuildInfo::GetBuildTime(), ChasteBuildInfo::GetLicenceText(), and ChasteBuildInfo::GetRevisionNumber().
Referenced by StandardStartup().
void ExecutableSupport::ShowParallelLaunching | ( | ) | [static] |
Output extra diagnostics when Chaste is launched in parallel.
Definition at line 109 of file ExecutableSupport.cpp.
References PetscTools::BeginRoundRobin(), PetscTools::EndRoundRobin(), PetscTools::GetMyRank(), PetscTools::GetNumProcs(), and PetscTools::IsParallel().
Referenced by StandardStartup().
void ExecutableSupport::StandardStartup | ( | int * | pArgc, |
char *** | pArgv | ||
) | [static] |
Call InitializePetsc, ShowCopyright, then ShowParallelLaunching.
pArgc | pointer to the number of arguments |
pArgv | pointer to the argument list |
Definition at line 252 of file ExecutableSupport.cpp.
References InitializePetsc(), ShowCopyright(), and ShowParallelLaunching().
void ExecutableSupport::WriteLibraryInfo | ( | out_stream & | outFile | ) | [static] |
Write information about library and compiler versions to the provenance_info.txt output file.
outFile | the provenance_info.txt file. |
Definition at line 187 of file ExecutableSupport.cpp.
References ChasteBuildInfo::GetBuilderUnameInfo(), ChasteBuildInfo::GetBuildInformation(), ChasteBuildInfo::GetBuildTime(), ChasteBuildInfo::GetCompilerFlags(), ChasteBuildInfo::GetCompilerType(), ChasteBuildInfo::GetCompilerVersion(), ChasteBuildInfo::GetCurrentTime(), ChasteBuildInfo::GetVersionString(), ChasteBuildInfo::GetXsdVersion(), ChasteBuildInfo::IsWorkingCopyModified(), and ChasteBuildInfo::rGetProjectVersions().
Referenced by AbstractCellBasedSimulation< ELEMENT_DIM, SPACE_DIM >::OutputSimulationSetup(), and WriteProvenanceInfoFile().
void ExecutableSupport::WriteMachineInfoFile | ( | std::string | fileBaseName | ) | [static] |
Write to log files information about the machine that ran the code. Each process will output its own file.
fileBaseName | base name of the file to write to |
Definition at line 121 of file ExecutableSupport.cpp.
References RelativeTo::ChasteTestOutput, PetscTools::GetMyRank(), PetscTools::GetNumProcs(), FileFinder::IsPathSet(), mOutputDirectory, OutputFileHandler::OpenOutputFile(), and FileFinder::SetPath().
Referenced by CardiacSimulation::CardiacSimulation(), and AbstractCellBasedSimulation< ELEMENT_DIM, SPACE_DIM >::OutputSimulationSetup().
void ExecutableSupport::WriteProvenanceInfoFile | ( | ) | [static] |
Write to log files provenance information about this executable. Each process will output its own file, named provenance_info.n.txt.
Definition at line 169 of file ExecutableSupport.cpp.
References RelativeTo::ChasteTestOutput, ChasteBuildInfo::GetBuilderUnameInfo(), ChasteBuildInfo::GetBuildInformation(), ChasteBuildInfo::GetBuildTime(), PetscTools::GetMyRank(), ChasteBuildInfo::GetRevisionNumber(), FileFinder::IsPathSet(), mOutputDirectory, OutputFileHandler::OpenOutputFile(), FileFinder::SetPath(), and WriteLibraryInfo().
Referenced by CardiacSimulation::CardiacSimulation().
const int ExecutableSupport::EXIT_BAD_ARGUMENTS = 2 [static] |
Standard exit codes for executables to return from main(): bad arguments passed on command line.
Definition at line 147 of file ExecutableSupport.hpp.
const int ExecutableSupport::EXIT_ERROR = 1 [static] |
Standard exit codes for executables to return from main(): exception thrown during execution.
Definition at line 141 of file ExecutableSupport.hpp.
const int ExecutableSupport::EXIT_OK = 0 [static] |
Standard exit codes for executables to return from main(): successful termination.
Definition at line 135 of file ExecutableSupport.hpp.
FileFinder ExecutableSupport::mOutputDirectory [static, private] |
The output directory to put machine provenance information into.
Definition at line 151 of file ExecutableSupport.hpp.
Referenced by InitializePetsc(), PrintError(), SetOutputDirectory(), WriteMachineInfoFile(), and WriteProvenanceInfoFile().