Overview Of Toolboxes And Software#

A variety of toolboxes, software packages, and libraries exist which facilitate the application of UQ methods in practice. Typically, these software packages have been designed for specific applications with different requirement – as reflected by the case studies discussed in this book. Hence, it depends on the respective use case which package suits best. Furthermore, the accessibility and availability are central criteria for the choice of a software. Generally, toolboxes with good documentation, elaborate examples and a rich user community are more appealing to users, especially to newcomers. In terms of availability, software packages can be roughly divided into three main categories: (i) in house: The software is usually developed by and for a specific group of users. (ii) free software: The software can be used free of charge. Depending on the license, it may also be modified and redistributed. (iii) Commercial or proprietary software typically requires a subscription and comes with a fee.

Choosing UQ Tools#

There are several factors to consider when choosing UQ tools and softwares, including the characteristics of the problem under consideration, the computational resources available, and the purposes of the analysis. Key factors to consider when choosing UQ tools and softwares are:

  1. Nature of uncertainty: epistemic (knowledge-based) uncertainty compared to aleatory (random) uncertainty.

  2. Computational resources: computational cost required for UQ methods, considering the computaional load and time required.

  3. Model complexity: analytical vs. numerical models. In general analytical models for straightforward UQ analysis, while numerical models could required more advanced methods as MC or surrogate models.

  4. Dimensionality and the number of uncertain model parameters.

  5. Available data: the avilability of experimental or observational data facilitate the use of UQ methods such as Baysian methods.

  6. The type of output and validation requirements: the type of output, such as scalars or vectors, will affect UQ analysis. Generally, UQ methods are more suitable for scalar outputs. In addition, if further analysis or decision-making is performed based on UQ analysis, validation and verification requirements of the chosen UQ method must be taken into account.

List of UQ Tools And Software#

Table 1 lists several popular toolboxes, and summarizes their main features, type of license and access link.

Table 1 UQ toolboxes and software#

Toolbox

Main Feature

Platform

License

Reference

UQlab

Uncertainty propagation, surrogate modeling, sensitivity analysis, reliability analysis, Bayesian inversion, robust optimization, external code wrapping

MATLAB

3-Clause BSD

UQlab

OpenCossan

General purpose: uncertainty propagation, surrogate modeling, sensitivity analysis, reliability, robust optimization

MATLAB

LGPL

OpenCossan

SUMO Toolbox

Surrogate modeling (GP, SVM, neural networks, etc.) and surrogate-based optimization

MATLAB

AGPLv3

SUMO Toolbox

FERUM

Reliability-based design optimization (RBDO), and global sensitivity analysis

MATLAB

GPLv3

FERUM

DiceDesign

Construction of experimental designs

R

GPLv3

DiceDesign

DiceKriging

Kriging metamodeling

R

GPLv3

DiceKriging

DiceOptim

Kriging-based optimization

R

GPLv3

DiceOptim

UQ Toolkit (UQTk)

Uncertainty propagation, surrogate modelling, sensitivity analysis, Bayesian inversion, external code wrapping

C++/Python

LGPL

UQ Toolkit (UQTk)

OpenTURNS

General purpose: uncertainty propagation, surrogate modeling, sensitivity analysis, reliability, optimization

C++/Python

LGPL

OpenTURNS

MUQ

General purpose: surrogate modeling (PCE, GP), constrained optimization, Bayesian inversion

C++/Python

GPLv2

MUQ

Riskcalc

Supports probability bounds analysis, standard fuzzy arithmetic, and classical interval analysis

C++

Proprietary

Riskcalc

SMARTUQ

Design of Experiments, emulation, sensitivity analysis, statistical calibration, statistical optimization, propagation of uncertainty, inverse analysis

C++

Proprietary

SMARTUQ

Authors#

Tamadur Albaraghtheh

Contributors#

Nabir Mamnun, Dirk Witthaut, Berit Zeller-Plumhoff