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:
Nature of uncertainty: epistemic (knowledgebased) uncertainty compared to aleatory (random) uncertainty.
Computational resources: computational cost required for UQ methods, considering the computaional load and time required.
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.
Dimensionality and the number of uncertain model parameters.
Available data: the avilability of experimental or observational data facilitate the use of UQ methods such as Baysian methods.
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 decisionmaking 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.
Toolbox 
Main Feature 
Platform 
License 
Reference 

UQlab 
Uncertainty propagation, surrogate modeling, sensitivity analysis, reliability analysis, Bayesian inversion, robust optimization, external code wrapping 
MATLAB 
3Clause BSD 

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

SUMO Toolbox 
Surrogate modeling (GP, SVM, neural networks, etc.) and surrogatebased optimization 
MATLAB 
AGPLv3 

FERUM 
Reliabilitybased design optimization (RBDO), and global sensitivity analysis 
MATLAB 
GPLv3 

DiceDesign 
Construction of experimental designs 
R 
GPLv3 

DiceKriging 
Kriging metamodeling 
R 
GPLv3 

DiceOptim 
Krigingbased optimization 
R 
GPLv3 

UQ Toolkit (UQTk) 
Uncertainty propagation, surrogate modelling, sensitivity analysis, Bayesian inversion, external code wrapping 
C++/Python 
LGPL 

OpenTURNS 
General purpose: uncertainty propagation, surrogate modeling, sensitivity analysis, reliability, optimization 
C++/Python 
LGPL 

MUQ 
General purpose: surrogate modeling (PCE, GP), constrained optimization, Bayesian inversion 
C++/Python 
GPLv2 

Riskcalc 
Supports probability bounds analysis, standard fuzzy arithmetic, and classical interval analysis 
C++ 
Proprietary 

SMARTUQ 
Design of Experiments, emulation, sensitivity analysis, statistical calibration, statistical optimization, propagation of uncertainty, inverse analysis 
C++ 
Proprietary 
Contributors#
Nabir Mamnun, Dirk Witthaut, Berit ZellerPlumhoff