Derived class in the AnalysisCode class hierarchy which spawns simulations using system calls. More...
Public Member Functions | |
SysCallAnalysisCode (const ProblemDescDB &problem_db) | |
constructor | |
~SysCallAnalysisCode () | |
destructor | |
void | spawn_evaluation (const bool block_flag) |
spawn a complete function evaluation | |
void | spawn_input_filter (const bool block_flag) |
spawn the input filter portion of a function evaluation | |
void | spawn_analysis (const int &analysis_id, const bool block_flag) |
spawn a single analysis as part of a function evaluation | |
void | spawn_output_filter (const bool block_flag) |
spawn the output filter portion of a function evaluation |
Derived class in the AnalysisCode class hierarchy which spawns simulations using system calls.
SysCallAnalysisCode creates separate simulation processes using the C system() command. It utilizes CommandShell to manage shell syntax and asynchronous invocations.
void spawn_evaluation | ( | const bool | block_flag | ) |
spawn a complete function evaluation
Put the SysCallAnalysisCode to the shell. This function is used when all portions of the function evaluation (i.e., all analysis drivers) are executed on the local processor.
References CommandShell::asynch_flag(), AnalysisCode::commandLineArgs, AnalysisCode::curWorkdir, Dakota::flush(), AnalysisCode::iFilterName, AnalysisCode::multipleParamsFiles, AnalysisCode::numPrograms, AnalysisCode::oFilterName, AnalysisCode::paramsFileName, AnalysisCode::programNames, AnalysisCode::resultsFileName, CommandShell::suppress_output_flag(), AnalysisCode::suppressOutputFlag, and AnalysisCode::useWorkdir.
Referenced by Dakota::perform_analysis(), and SysCallApplicInterface::spawn_application().
void spawn_input_filter | ( | const bool | block_flag | ) |
spawn the input filter portion of a function evaluation
Put the input filter to the shell. This function is used when multiple analysis drivers are spread between processors. No need to check for a Null input filter, as this is checked externally. Use of nonblocking shells is supported in this fn, although its use is currently prevented externally.
References CommandShell::asynch_flag(), AnalysisCode::commandLineArgs, AnalysisCode::curWorkdir, Dakota::flush(), AnalysisCode::iFilterName, AnalysisCode::paramsFileName, AnalysisCode::resultsFileName, CommandShell::suppress_output_flag(), AnalysisCode::suppressOutputFlag, and AnalysisCode::useWorkdir.
Referenced by SysCallApplicInterface::spawn_application().
void spawn_analysis | ( | const int & | analysis_id, |
const bool | block_flag | ||
) |
spawn a single analysis as part of a function evaluation
Put a single analysis to the shell. This function is used when multiple analysis drivers are spread between processors. Use of nonblocking shells is supported in this fn, although its use is currently prevented externally.
References CommandShell::asynch_flag(), AnalysisCode::commandLineArgs, AnalysisCode::curWorkdir, Dakota::flush(), AnalysisCode::multipleParamsFiles, AnalysisCode::numPrograms, AnalysisCode::paramsFileName, AnalysisCode::programNames, AnalysisCode::resultsFileName, CommandShell::suppress_output_flag(), AnalysisCode::suppressOutputFlag, and AnalysisCode::useWorkdir.
Referenced by SysCallApplicInterface::derived_synchronous_local_analysis(), GridApplicInterface::derived_synchronous_local_analysis(), and SysCallApplicInterface::spawn_application().
void spawn_output_filter | ( | const bool | block_flag | ) |
spawn the output filter portion of a function evaluation
Put the output filter to the shell. This function is used when multiple analysis drivers are spread between processors. No need to check for a Null output filter, as this is checked externally. Use of nonblocking shells is supported in this fn, although its use is currently prevented externally.
References CommandShell::asynch_flag(), AnalysisCode::commandLineArgs, AnalysisCode::curWorkdir, Dakota::flush(), AnalysisCode::oFilterName, AnalysisCode::paramsFileName, AnalysisCode::resultsFileName, CommandShell::suppress_output_flag(), AnalysisCode::suppressOutputFlag, and AnalysisCode::useWorkdir.
Referenced by SysCallApplicInterface::spawn_application().