Stochastic Tools

The stochastic tools module is a toolbox designed for performing stochastic analysis for MOOSE-based applications. The following sections detail the various aspects of this module that can be used independently or in combination to meet the needs of the application developer.

Examples

Parameter Studies, Statistics, and Sensitivity Analysis:

Surrogate Models:

Performance

The stochastic tools module is optimized in two ways for memory use. First, sub-applications can be executed in batches and all objects utilizing sample data do so using a distributed sample matrix. For further details refer to the following:

Linking MOOSE with external Machine Learning libraries

The stochastic tools module provides neural network-based surrogate modeling capabilities as well. However, to enable it one needs to compile MOOSE with the C++ APIs of pytorch. For this, follow the appropriate installation guide below:

Objects, Actions, and Syntax

The following is a complete list of all objects available in the stochastic tools module.

ControlLogic

Controls

Covariance

Distributions

MultiApps

  • Stochastic Tools App
  • PODFullSolveMultiAppCreates a full-solve type sub-application for each row of a Sampler matrix. On second call, this object creates residuals for a PODReducedBasisTrainer with given basis functions.
  • SamplerFullSolveMultiAppCreates a full-solve type sub-application for each row of each Sampler matrix.
  • SamplerTransientMultiAppCreates a sub-application for each row of each Sampler matrix.

Outputs

Reporters

  • Stochastic Tools App
  • AdaptiveMonteCarloDecisionGeneric reporter which decides whether or not to accept a proposed sample in Adaptive Monte Carlo type of algorithms.
  • EvaluateSurrogateTool for sampling surrogate models.
  • PolynomialChaosReporterTool for extracting data from PolynomialChaos surrogates and computing statistics.
  • SobolReporterCompute SOBOL statistics values of a given VectorPostprocessor or Reporter objects and vectors.
  • StatisticsReporterCompute statistical values of a given VectorPostprocessor objects and vectors.
  • StochasticReporterStorage container for stochastic simulation results coming from Reporters.

Samplers

StochasticTools

  • Stochastic Tools App
  • StochasticToolsActionAction for performing some common functions for running stochastic simulations.

Surrogates

Trainers

Transfers

VectorPostprocessors

  • Stochastic Tools App
  • GaussianProcessDataTool for extracting hyperparameter data from gaussian process user object and storing in VectorPostprocessor vectors.
  • SamplerDataTool for extracting Sampler object data and storing in VectorPostprocessor vectors.
  • SobolStatisticsCompute SOBOL statistics values of a given VectorPostprocessor objects and vectors.
  • StatisticsCompute statistical values of a given VectorPostprocessor objects and vectors.
  • StochasticResultsStorage container for stochastic simulation results coming from a Postprocessor.