Stochastic Tools Requirement Traceability Matrix
Introduction
The Requirement Traceability Matrix (RTM) for Stochastic Tools captures all requirements and maps each to the associated design documentation and associated test case.
Dependencies
The Stochastic Tools application is developed using MOOSE and is based on various modules, as such the RTM for Stochastic Tools is dependent upon the following documents.
Requirements
The following is a complete list for all the functional requirements including links to the design documents and test cases for Stochastic Tools.
- stochastic_tools: Distributions
- F3.1.1The system shall provide distribution function including
- uniform,
- Weibull (3 parameter),
- normal,
- truncated normal,
- Johnson Special Bounded (SB), and
- logistic distributions.
Specification: distributions:distributions
Design: UniformDistributionWeibullDistributionNormalDistributionTruncatedNormalDistributionJohnsonSBDistributionLogisticDistribution
Issue(s): #12720
- F3.1.2The system shall provide distribution functions based on Boost library including
- Weibull (2 parameter),
- normal, and
- lognormal distributions.
Specification: distributions:boost
Design: BoostNormalDistributionBoostWeibullDistribution
Issue(s): #12688
- F3.1.3The system shall error if a distribution defined using Boost is used but the system has not been configured to utilize the Boost library:
- for a Weibull distribion,
- a normal distribution, and
- a lognormal distribution.
Specification: distributions:no_boost
Design: BoostWeibullDistributionBoostNormalDistributionBoostLognormalDistribution
Issue(s): #12688
- F3.1.4The system shall provide a normal distribution with the ability to directly call methods with distribution inputs.
Specification: distributions:normal_direct
Design: NormalDistribution
Issue(s): #12720
- F3.1.5The system shall produce an error if a distribution is retrieved with the differing type than supplied.
Specification: distributions:normal_direct_type_error
Design: NormalDistribution
Issue(s): #12720
- stochastic_tools: Ics
- F3.2.1The system shall generate parallel agnostic random initial conditions using a distribution function.
Specification: ics/random_ic_distribution_test:generate
Design: RandomIC
- F3.2.2The system shall generate an error the random initial condition is used with both a distribution and min or max value defined.
Specification: ics/random_ic_distribution_test:test_err_distribution_and_min_max
Design: RandomIC
Prerequisite(s): F3.2.1
- stochastic_tools: Multiapps
- F3.3.1The system shall be able to set command line parameter(s) for sub-application that executes completely from a sample distribution for
- for a single parameter,
- for a single parameter for a batch of sub-applications,
- for multiple parameters, and
- for multiple parameters for a batch of sub-applications.
Specification: multiapps/batch_commandline_control:master
Design: SamplerFullSolveMultiAppMultiAppCommandLineControl
Issue(s): #13320
- F3.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: multiapps/batch_commandline_control:wrong_batch_mode
Design: SamplerFullSolveMultiAppMultiAppCommandLineControl
Issue(s): #13320
Prerequisite(s):
- F3.3.3The system shall error when the supplied sampler does not use the correct execution flags.
Specification: multiapps/batch_commandline_control:wrong_execute_on
Design: SamplerFullSolveMultiAppMultiAppCommandLineControl
Issue(s): #13320
Prerequisite(s):
- F3.3.4The system shall support pulling postprocessor data from a sub-application for each row of sampled data.
Specification: multiapps/batch_full_solve_multiapp:normal
Design: SamplerPostprocessorTransferSamplerFullSolveMultiApp
Issue(s): #8863
- F3.3.5The system shall support running sub-applications in a batches on a
- on a single processor and
- on a multiple processors.
Specification: multiapps/batch_full_solve_multiapp:batch
Design: SamplerPostprocessorTransferSamplerFullSolveMultiApp
Issue(s): #8863
- F3.3.6The stochastic tools module shall support pulling postprocessor data from a single sub-application running a batch of sampled data
- on a single processor,
- on multiple processors, and
- on multiple processors using in-memory backup.
Specification: multiapps/batch_full_solve_multiapp:batch_csv
Design: SamplerPostprocessorTransferSamplerFullSolveMultiApp
Issue(s): #8863
- F3.3.7The system shall support running sub-applications with input parameters varying at each time step
- with individual sub-applications,
- with sub-applications batches using in-memory restore functionality.
Specification: multiapps/batch_sampler_transient_multiapp:transient
Design: SamplerTransientMultiApp
Issue(s): #13320
- F3.3.8The SamplerTransientMultiApp object shall error if the 'batch-reset' mode is supplied.
Specification: multiapps/batch_sampler_transient_multiapp:mode_error
Design: SamplerTransientMultiApp
Issue(s): #13320
- F3.3.9The system shall be able to set a sub-application command line parameters from a sample distribution
- for a single parameter and
- for a multiple parameters.
Specification: multiapps/commandline_control:master
Design: MultiApp System
Issue(s): #12576
- F3.3.10The system shall error when the number of samplers differs from the number of sub applications.
Specification: multiapps/commandline_control:wrong_size
Design: MultiAppCommandLineControl
Issue(s): #12576
- F3.3.11The system shall error when the number of samples differs from the number of command line parameters.
Specification: multiapps/commandline_control:wrong_num_params
Design: MultiAppCommandLineControl
Issue(s): #12576
- F3.3.12The system shall provide the ability to create a full-solve type sub-application from sampled data from distributions.
Specification: multiapps/sampler_full_solve_multiapp:full_solve
Design: SamplerFullSolveMultiApp
Issue(s): #9923
- F3.3.13The system shall provide the ability to create a transient sub-application from the sample data generated from distributions.
Specification: multiapps/sampler_transient_multiapp:transient
Design: SamplerTransientMultiApp
Issue(s): #9923
- stochastic_tools: Samplers
- F3.4.1The system shall support the creation of data sampled from distribution during the initial setup of a simulation.
Specification: samplers/execute_on:initial
Design: Sampler
Issue(s): #8065
- F3.4.2The system shall include a Monte Carlo method for sampling distribution data including
- a uniform distribution distributed across processors,
- a uniform distribution replicated across processors,
- a Wiebull distribution distributed across processors, and
- a Weibull distribution replicated across processors.
Specification: samplers/monte_carlo:monte_carlo
Design: MonteCarloSampler
Issue(s): #8065
- F3.4.3The system shall include a SOBOL method for sampling distribution data.
Specification: samplers/sobol:sobol
Design: SobolSampler
Issue(s): #8065
- stochastic_tools: Transfers
- F3.5.1The system shall include the ability to modify parameters for sub-applications using values from a distribution
- on a single processor and
- on multiple processors.
Specification: transfers/batch_sampler_transfer:normal
Design: SamplerParameterTransfer
Issue(s): #8863
- F3.5.2The system shall include the ability to modify parameters for sub-applications executed in batches using values from a distribution
- on a single processor,
- on multiple processors, and
- on multiple processors using in-memory sub-application restore.
Specification: transfers/batch_sampler_transfer:batch
Design: SamplerParameterTransfer
Issue(s): #8863
- F3.5.3The 'StochasticToolsTransfer object shall error if the 'execute_on' parameter is defined when the corresponding MultiApp object is running in batch mode.
Specification: transfers/batch_sampler_transfer:StochasticToolsTransfer_execute_on_error
Design: SamplerParameterTransfer
Issue(s): #8863
- F3.5.4The 'StochasticToolsTransfer' object shall error if the 'execute_on' parameter does not match the corresponding MultiApp object is running in normal mode.
Specification: transfers/batch_sampler_transfer:StochasticToolsTransfer_execute_on_check
Design: SamplerParameterTransfer
Issue(s): #8863
- F3.5.5The system shall produce an error if sub-application type is not correct for performing a transfer of stochastic data.
Specification: transfers/errors:multiapp_type
Design: SamplerParameterTransfer
Issue(s): #11363
- F3.5.6The system shall produce an error if the sampler sub-application does not contain control object with the correct name.
Specification: transfers/errors:control_missing
Design: SamplerTransientMultiApp
Issue(s): #11363
- F3.5.7The system produce an error if the sampler sub-application does not have a correct object for receiving stochastic data.
Specification: transfers/errors:wrong_control
Design: SamplerTransientMultiApp
Issue(s): #11363
- F3.5.8The system shall produce an error if supplied vector of real values is not sized correctly.
Specification: transfers/errors:num_pararameters_wrong
Design: SamplerParameterTransfer
Issue(s): #11363
- F3.5.9The system shall support the creation of a sub-application for each row of the stochastic data.
Specification: transfers/monte_carlo:monte_carlo
Design: MonteCarloSamplerSamplerParameterTransfer
Issue(s): #8863
- F3.5.10MOOSE shall produce an error if neither a 'SamplerTransientMultiApp' nor
SamplerFullSolveMultiApp
is provided in SamplerPostprocessorTransfer.Specification: transfers/sampler_postprocessor/errors:wrong_multi_app
Design: StochasticResults
Issue(s): #9419
- F3.5.11MOOSE shall produce an error if the 'result' object in 'SamplerPostprocessorTransfer' is not a 'StochasticResults object'.
Specification: transfers/sampler_postprocessor/errors:require_stochastic_results
Design: StochasticResults
Issue(s): #9419
- F3.5.12The system shall support the ability to transfer a single value from each sub-application for a set of stochastic data.
Specification: transfers/sampler_postprocessor:sobol_from_multiapp
Design: SamplerPostprocessorTransfer
Issue(s): #8065
- F3.5.13MOOSE shall produce an error if neither a 'SamplerTransientMultiApp' nor
SamplerFullSolveMultiApp
is provided in SamplerParameterTransfer.Specification: transfers/sampler_transfer/errors:multiapp_type
Design: SamplerParameterTransfer
Issue(s): #11363
- F3.5.14MOOSE shall produce an error if the sampler sub-application does not contain a Control object with the name 'stochastic'.
Specification: transfers/sampler_transfer/errors:control_missing
Design: SamplerTransientMultiApp
Issue(s): #11363
- F3.5.15MOOSE shall produce an error if the sampler sub-application does not have a correct Control object with 'to_control' parameter being 'SamplerReceiver' type.
Specification: transfers/sampler_transfer/errors:wrong_control
Design: SamplerTransientMultiApp
Issue(s): #11363
- F3.5.16MOOSE shall produce an error if supplied vector of real values is not sized correctly.
Specification: transfers/sampler_transfer/errors:num_pararameters_wrong
Design: SamplerParameterTransfer
Issue(s): #11363
- F3.5.17MOOSE shall produce an error if sampling method differs between the sub-application and the associated sub-application data transfer.
Specification: transfers/sampler_transfer/errors:sampler_mismatch
Design: SamplerParameterTransfer
Issue(s): #11363
- F3.5.18The system shall be capable of transferring scalar data to sub-applications for each row of the stochastic data
- using a Monte Carlo and
- Sobol sampling scheme.
Specification: transfers/sampler_transfer:transfer
Design: SamplerParameterTransfer
Issue(s): #8065
- F3.5.19The system shall be capable of transferring vector data to sub-applications for each row of the stochastic data.
Specification: transfers/sampler_transfer_vector:monte_carlo
Design: SamplerParameterTransfer
Issue(s): #8065
- F3.5.20The 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: transfers/sampler_transfer_vector:errors
Design: SamplerParameterTransfer
Issue(s): #8065
- F3.5.21The system shall support the creation of a sub-application for each row sampled data generated from a Sobol scheme.
Specification: transfers/sobol:sobol
Design: SobolSamplerSamplerParameterTransfer
Issue(s): #8863
- stochastic_tools: Vectorpostprocessors
- F3.6.1The system shall support the collection of stochastic data from multiple sub-applications.
Specification: vectorpostprocessors/multiple_stochastic_results:multiple
Design: StochasticResults
Issue(s): #14414
- F3.6.2The system shall error if stochastic data is distributed across processors and output of the data is enabled.
Specification: vectorpostprocessors/stochastic_results:warning
Design: StochasticResults
Issue(s): #14410
- F3.6.3The system shall error when stochastic data is set to output on a specific processor with
- the supplied operation mode is replicated and
- the provided rank number is too large for the number of processors being executed.
Specification: vectorpostprocessors/stochastic_results:errors
Design: StochasticResults
Issue(s): #14410
- F3.6.4The system shall support the collection of stochastic data that is
- replicated on all processors and
- distributed across one,
- two, and
- three processors.
Specification: vectorpostprocessors/stochastic_results:parallel_type
Design: StochasticResults
Issue(s): #14410
- F3.6.5The system shall support the collection of stochastic data that
- can be appended into a single data set or
- or contain a single file per timestep.
Specification: vectorpostprocessors/stochastic_results_complete_history:data
Design: StochasticResults
Issue(s): #14412