Stochastic Tools Failure Analysis Report
Introduction
The Software Requirement Specification (SRS) for Stochastic Tools describes the system functional and non-functional requirements that describe the expected interactions that the software shall provide.
Dependencies
The Stochastic Tools application is developed using MOOSE and is based on various modules, as such the SRS for Stochastic Tools is dependent upon the following documents.
Failure Analysis Requirements
The following is a complete list for all the requirements related to failure analysis for Stochastic Tools.
- stochastic_tools: Distributions
- 3.1.3The system shall produce an error if a distribution is retrieved with the differing type than supplied.
Specification(s): normal_direct_type_error
Design: Normal
Issue(s): #12720
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- stochastic_tools: Ics
- 3.2.2The system shall generate an error the random initial condition is used with both a distribution and min or max value defined.
Specification(s): test_err_distribution_and_min_max
Design: RandomIC
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
Prerequisite(s): 3.2.1
- stochastic_tools: Multiapps
- 3.3.2The system shall error when the supplied sampler object operates in a mode that does not allow for command line arguments to be modified.
Specification(s): wrong_batch_mode
Design: SamplerFullSolveMultiAppMultiAppCommandLineControl
Issue(s): #13320
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
Prerequisite(s): 3.3.1
- 3.3.3The system shall error when the supplied sampler does not use the correct execution flags.
Specification(s): wrong_execute_on
Design: SamplerFullSolveMultiAppMultiAppCommandLineControl
Issue(s): #13320
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
Prerequisite(s): 3.3.1
- 3.3.4The system shall error when '[]' syntax is not used for all parameters.
Specification(s): vector_no_bracket
Design: SamplerFullSolveMultiAppMultiAppCommandLineControl
Issue(s): #13320
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.3.5The system shall error when provided global column index is out of bound.
Specification(s): vector_out_of_bound
Design: SamplerFullSolveMultiAppMultiAppCommandLineControl
Issue(s): #13320
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.3.10The SamplerTransientMultiApp object shall error if the 'batch-reset' mode is supplied.
Specification(s): mode_error
Design: SamplerTransientMultiApp
Issue(s): #13320
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.3.12The system shall error when sub-apps are constructed too early thus unable to be changed by samplers.
Specification(s): wrong_multiapp_type
Design: MultiAppCommandLineControl
Issue(s): #12576
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.3.13The system shall error when the number of samples differs from the number of command line parameters.
Specification(s): wrong_num_params
Design: MultiAppCommandLineControl
Issue(s): #12576
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.3.15The system shall error when the size of a sampler is altered an sub-applications are progressing with time with the main application.
Specification(s): error
Design: Samplers SystemSamplerFullSolveMultiApp
Issue(s): #16842
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.3.16The system shall have consistent partitioning between multiapps and sampler for full solves
- with less processors than rows in normal mode;
- with more processors than rows in normal mode;
- with specified minimum processors per app in normal mode;
- with less processors than rows in batch-reset mode;
- with more processors than rows in batch-reset mode;
- with specified minimum processors per app in batch-reset mode;
- with less processors than rows in batch-restore mode;
- with more processors than rows in batch-restore mode;
- with specified minimum processors per app in batch-restore mode;
- error when partitionings do not match;
Specification(s): full_solve/normal_less_procs, full_solve/normal_more_procs, full_solve/normal_min_procs, full_solve/reset_less_procs, full_solve/reset_more_procs, full_solve/reset_min_procs, full_solve/restore_less_procs, full_solve/restore_more_procs, full_solve/restore_min_procs, full_solve/error_min_procs
Design: SamplerFullSolveMultiApp
Issue(s): #15787
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunExceptionCSVDiff
- 3.3.17The system shall have consistent partitioning between multiapps and sampler for transient solves
- with less processors than rows in normal mode;
- with more processors than rows in normal mode;
- with specified minimum processors per app in normal mode;
- with less processors than rows in batch-restore mode;
- with more processors than rows in batch-restore mode;
- with specified minimum processors per app in batch-restore mode;
- error when partitionings do not match;
Specification(s): transient/normal_less_procs, transient/normal_more_procs, transient/normal_min_procs, transient/restore_less_procs, transient/restore_more_procs, transient/restore_min_procs, transient/error_min_procs
Design: SamplerTransientMultiApp
Issue(s): #15787
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunExceptionCSVDiff
- stochastic_tools: Reporters
- 3.4.2The system shall support the calculation of statistics using
- vector of data from the reporting system; including
- confidence level intervals for statistics calculations
- and error if the supplied type is not supported.
Specification(s): reporters/statistics, reporters/ci, reporters/error
Design: StatisticsReporter
Issue(s): #16584
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunExceptionJSONDiff
- 3.4.4The system shall error when computing confidence level intervals when
- the confidence level intervals are omitted;
- the confidence level intervals are less than or equal to zero;
- the confidence level intervals are greater than or equal to one;
- input is not provided.
Specification(s): errors/no_ci_levels, errors/ci_levels_zero, errors/ci_levels_one, errors/no_input
Design: StatisticsReporter
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- stochastic_tools: Samplers
- 3.5.3The system shall throw an error when
- the selected sampler type is not of an adaptive type.
Specification(s): pss_errors/pss_error1
Design: Parallel Subset Simulation (PSS)
Issue(s): #19398
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.5.15The system shall error out when the number of nested Monte Carlo loops does not match the number of sets of distributions.
Specification(s): error
Design: NestedMonteCarlo
Issue(s): #20130
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.5.17The system shall error if the SOBOL sampling method is setup with input sampling matrices
- with differing number of rows;
- with differing number of columns; and
- if the matrices are the same.
Specification(s): errors/row_mismatch, errors/col_mismatch, errors/same_matrix
Design: Sobol
Issue(s): #8065
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- stochastic_tools: Surrogates
- 3.6.4The system shall throw an error when
- the no optimization is selected while parameter tuning is required.
Specification(s): errors/optimization
Design: GaussianProcessTrainerGaussianProcess
Issue(s): #15482
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.6.9The system shall be able to throw an error if the user requires libtorch-based objects without installing libtorch.
Specification(s): trainer-no-torch-error
Design: LibtorchANNTrainerLibtorchANNSurrogate
Issue(s): #19571
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.6.14PODFullSolveMultiapp shall throw an error when
- the trainer object cannot be found.
Specification(s): multiapp/trainer_name
Design: PODFullSolveMultiApp
Issue(s): #15538
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.6.15PODSamplerSolutionTransfer shall throw an error when
- the trainer object cannot be found.
Specification(s): solution_transfer/trainer_name
Design: PODSamplerSolutionTransfer
Issue(s): #15538
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.6.16PODReducedBasisTrainer shall throw an error when
- the variable names cannot be found on sub-applications,
- the number of energy limits and variable names do not match,
- the number of tag names and tag types do not match,
- the Dirichlet tag types do not exist,
- and the residual generation is called before having the basis vectors.
Specification(s): trainer/var_names, trainer/en_limits, trainer/tag_types, trainer/dir_tag_names, trainer/wrong_res_transfer
Design: PODReducedBasisTrainerPODResidualTransferPODSamplerSolutionTransfer
Issue(s): #15538
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.6.17PODReducedBasisSurrogate shall throw an error when
- the number of inputs in 'change_rank' and 'new_ranks' is not the same.
Specification(s): surrogate/var_name
Design: PODReducedBasisSurrogate
Issue(s): #15538
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.6.22The system shall throw an error when
- the number of samples does not match the number of results.
Specification(s): errors/wrong_sampler
Design: PolynomialRegressionTrainer
Issue(s): #15361
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- stochastic_tools: Transfers
- 3.7.4The 'StochasticToolsTransfer object shall error if the 'execute_on' parameter is defined when the corresponding MultiApp object is running in batch mode.
Specification(s): StochasticToolsTransfer_execute_on_error
Design: SamplerParameterTransfer
Issue(s): #8863
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.7.5The 'StochasticToolsTransfer' object shall error if the 'execute_on' parameter does not match the corresponding MultiApp object is running in normal mode.
Specification(s): StochasticToolsTransfer_execute_on_check
Design: SamplerParameterTransfer
Issue(s): #8863
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.7.6The system shall report a reasonable error if parameters for a trasnfer between multiapps are provided to stochastics transfer, which do not support this currently
Specification(s): direction_error
Design: SamplerParameterTransfer
Issue(s): #8863
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.7.8The system shall produce an error if neither a 'SamplerTransientMultiApp' nor
SamplerFullSolveMultiApp
is provided in SamplerPostprocessorTransfer.Specification(s): wrong_multi_app
Design: StochasticResults
Issue(s): #9419
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.7.9The system shall produce an error if the 'result' object in 'SamplerPostprocessorTransfer' is not a 'StochasticResults object'.
Specification(s): require_stochastic_results
Design: StochasticResults
Issue(s): #9419
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.7.11The system shall error if the supplied name is invalid when attempting to transfer a single value from a sub-application.
Specification(s): invalid_sub_pp_name
Design: SamplerPostprocessorTransfer
Issue(s): #8065
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.7.12When sub-application solve does not converge, the system shall either
- abort run,
- transfer last computed postprocessor value,
- or transfer NaN.
Specification(s): solve_not_converge/abort, solve_not_converge/last_computed, solve_not_converge/nan
Design: SamplerPostprocessorTransfer
Issue(s): #8065
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunExceptionCSVDiffCheckFiles
- 3.7.13The system shall support the ability to transfer reporter data from each sub-application for a set of stochastic data
- in normal mode,
- in batch mode,
- with distributed output,
- with more processors than samples,
- and error if transferring unsupported type.
Specification(s): transfer/normal, transfer/batch, transfer/distributed, transfer/more_cpus, transfer/invalid_type
Design: SamplerReporterTransfer
Issue(s): #16166
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunExceptionJSONDiff
- 3.7.14The system shall produce an error if neither a 'SamplerTransientMultiApp' nor
SamplerFullSolveMultiApp
is provided in SamplerParameterTransfer.Specification(s): multiapp_type
Design: SamplerParameterTransfer
Issue(s): #11363
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.7.15The system shall produce an error if the sampler sub-application does not contain a Control object with the name 'stochastic'.
Specification(s): control_missing
Design: SamplerTransientMultiApp
Issue(s): #11363
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.7.16The system shall produce an error if the sampler sub-application does not have a correct Control object with 'to_control' parameter being 'SamplerReceiver' type.
Specification(s): wrong_control
Design: SamplerTransientMultiApp
Issue(s): #11363
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.7.17The system shall produce an error if supplied vector of real values is not sized correctly within the SamplerParameterTransfer object.
Specification(s): num_parameters_wrong
Design: SamplerParameterTransfer
Issue(s): #11363
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.7.18The system shall produce an error if sampling method differs between the sub-application and the associated sub-application data transfer.
Specification(s): sampler_mismatch
Design: SamplerParameterTransfer
Issue(s): #11363
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 3.7.21The system shall error if the transferred vector to a sub-application
- is not sized correctly for stochastic data,
- is not sized uniformily across sub-applications,
- if the vector parameter does not exist, and
- if the sub-application does not consume all of the supplied data.
Specification(s): errors/not_enough_data, errors/size_mismatch, errors/invalid_name, errors/extra_data
Design: SamplerParameterTransfer
Issue(s): #8065
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException