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 (knowledge-based) 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 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.
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 |
|
OpenCossan |
General purpose: uncertainty propagation, surrogate modeling, sensitivity analysis, reliability, robust optimization |
MATLAB |
LGPL |
|
SUMO Toolbox |
Surrogate modeling (GP, SVM, neural networks, etc.) and surrogate-based optimization |
MATLAB |
AGPLv3 |
|
FERUM |
Reliability-based design optimization (RBDO), and global sensitivity analysis |
MATLAB |
GPLv3 |
|
DiceDesign |
Construction of experimental designs |
R |
GPLv3 |
|
DiceKriging |
Kriging metamodeling |
R |
GPLv3 |
|
DiceOptim |
Kriging-based 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 Zeller-Plumhoff