0% found this document useful (0 votes)
81 views18 pages

11 Uq Software Slides

This document summarizes a lecture on software for uncertainty quantification (UQ). It discusses coding from scratch versus using existing packages, and surveys popular UQ software packages. Key software packages discussed in more detail include Chaospy, Dakota, MUQ, and Openturns. The lecture aims to help participants identify appropriate software for different UQ use cases and understand advantages of various packages.

Uploaded by

Victor Armegioiu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views18 pages

11 Uq Software Slides

This document summarizes a lecture on software for uncertainty quantification (UQ). It discusses coding from scratch versus using existing packages, and surveys popular UQ software packages. Key software packages discussed in more detail include Chaospy, Dakota, MUQ, and Openturns. The lecture aims to help participants identify appropriate software for different UQ use cases and understand advantages of various packages.

Uploaded by

Victor Armegioiu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Algorithms for Uncertainty Quantification

Lecture 11: Software for UQ

ST 2021

Tobias Neckel
Scientific Computing in Computer Science
TUM
Repetition of Previous Lecture

• random fields
• motivation
• application examples
• formal definition
• stochastic processes
• definition
• example: Brownian motion
• approximation of random fields
• the Karhunen-Loève expansion
• example: approximation of the Wiener process

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 2


Concept of Building Block:

• Time: ≈ 80 minutes
• Content
• coding from scratch vs. using existing code
• UQ software vs. UQ packages
• the world of UQ software: what software is available?
• survey on selected UQ software
• Expected Learning Outcomes
• The participants can list a variety of different software packages or
libraries dealing with UQ aspects.
• They are able to indicate advantages or target use cases for those
implementations that are listed in more detail (i.e. in red in the
overview).
• For different use cases, the participants can indicated possible
software and are able to give arguments for their choice.

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 3


Coding from scratch vs. Using Packages
from scratch
• no dependency on external packages/libraries (and their
changes/bugs/. . . )
at least: decision, on which to rely on
• Computer Science people like it :-)
• context UQ: “Monte Carlo is so easy”
reusing existing codes
• avoid reinventing the wheel over and over again
• rely on work of others
• faster time to solution (less debugging, testing, . . . )!
• quality of packages?
• flexibility/portability supported?
• maintainability of (own) code?
• API fix or not very flexible
• license issues?
T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 4
UQ Software vs. UQ Packages

difference between software and small code packages:


• size of developping group:
single Ph.D. candidates ⇔ many life-time positions
• goal of implementations:
specific tasks ⇔ many methods/approaches, for large user base
• ease of use:
direct start with (almost) no docu ⇔ a lot of docu (to read)
• quality assurance:
manual tests (if any) ⇔ software engineering aspects, user support
• ...

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 5


World of UQ Software
The World of UQ Software

chaospy
Cossan

smartUQ Mystic
SG++
PSUADE UQLaB

Openturns
Dakota
MUQ Uranie

UQTk
TASMANIAN
Queso

source of world map: http://en.wikipedia.org

SIAM conference UQ 18, minisymposia 88, 102, 115, and 128: Software for UQ, Tobias Neckel & Dirk Pflüger
SIAM
see also UQ 18, MS Software for UQ, Dirk Pflüger & Tobias
https://www5.in.tum.de/wiki/index.php/SIAMUQ18_- Neckel
_Slides_Minisymp_Software4UQ

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 6


List of UQ Software

alphabetical; for sure: incomplete!


• Chaospy • Psuade
• Dakota • (Queso)
• MUQ library • SG++
• Mystic • SmartUQ
• NASA UQTools • TASMANIAN
• OpenCossan (matlab) • UQLab (matlab)
• Openturns • UQ Toolkit (UQTk)
• Π4U • Uranie
• Promethee • ...

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 7


List of UQ Software – Details

alphabetical; for sure: incomplete!


• Chaospy • Psuade
• Dakota • (Queso)
• MUQ library • SG++
• Mystic • SmartUQ
• NASA UQTools • TASMANIAN
• OpenCossan (matlab) • UQLab (matlab)
• Openturns • UQ Toolkit (UQTk)
• Π4U • Uranie
• Promethee • ...
for some: more detailed aspects

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 8


Aspects of Chaospy

URL https://github.com/jonathf/chaospy
developping organisation Jonathan Feinberg (SIMULA / private)
existing since 2014?
main purpose forward UQ (PCE, sampling)
user support mail support, documentation, tutorials
type of SW framework/library, "full" license
programming language Python
interface language support / API Python
unique selling point high-level Python, fast prototyping,
PCE pseudospectral approach

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 9


Aspects of Dakota

URL https://dakota.sandia.gov/
developping organisation Sandia National Laboratory
existing since 1994
main purpose UQ/optimisation for HPC applications
user support FAQs, maillists, trainings,
manuals & tutorials
type of SW toolkit, LGPL license
programming language C++
interface language support / API text input files
unique selling point large user base, very mature,
HPC aspects

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 10


Aspects of MUQ

URL http://uqgroup.mit.edu/software
developping organisation UQ Group (Marzouk), MIT
existing since 2011
main purpose MCMC, PCE, KL, optimisation
user support Q&A, example page,
interactive test sessions, doxygen
type of SW collection of tools, "full" license
programming language C++
interface language support / API Python, C++
unique selling point advanced UQ algorithms

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 11


Aspects of Openturns

URL http://openturns.org/
developping organisation 4 companies:
Airbus, EDF, IMACS, Phimeca Engineering
existing since 2005
main purpose forward UQ, data analysis
user support manuals, examp., mailing lists, user days
type of SW library, open source LGPL license
programming language C++
interface language support / API Python, symbolic
unique selling point larger user base?

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 12


Aspects of SG++

URL http://sgpp.sparsegrids.org/
developping organisation University of Stuttgart, TUM
existing since 2007?
main purpose sparse grid toolbox for interpolation,
quadrature, PDEs, data mining & machine
learning, UQ, optimisation
user support manuals, coding days, doxygen
type of SW library, BSD-like license?
programming language C++
interface language support / API C++, Python, Java, MATLAB
unique selling point sparse grids
(spatially adaptive! combination technique)

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 13


Aspects of TASMANIAN

URL http://tasmanian.ornl.gov/
developping organisation Oak Ridge National Laboratory
existing since 2013?
main purpose high-dimensional integration,
interpolation & parameter calibration
user support manuals
type of SW toolkit (libraries)
programming language C++
interface language support / API C++, Python
unique selling point sparse grids (combination technique)

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 14


Aspects of UQTk

URL http://www.sandia.gov/UQToolkit/
developping organisation Sandia National Laboratory
existing since 2005+X?
main purpose forward/inverse UQ
user support mailing lists, doxygen, manuals
type of SW collection of libraries, LGPL license
programming language C++
interface language support / API C++, Python
unique selling point high-level UQ, fast prototyping,
many methods

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 15


Aspects of Uranie

URL https://sourceforge.net/projects/uran
developping organisation CEA, France
existing since 2013?
main purpose data analysis, UQ, optimisation
user support mail support
type of SW (L)GPL
programming language Python, C++, C
interface language support / API CINT, Python
unique selling point many use cases, support for HPC
platforms

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 16


Literature:

• References and manuals of software websites


• Overview of status at conference SIAM UQ 2018,
https://www5.in.tum.de/wiki/index.php/SIAMUQ18_-_Slides_
Minisymp_Software4UQ

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 17


Summary

Software for UQ
• coding from scratch vs. using existing code
• UQ software vs. UQ packages
• the world of UQ software: what software is available?
• overview on selected UQ software
• maturity/features
• preparation for use case decisions

T. Neckel | Algorithms for Uncertainty Quantification | L11: Software for UQ | ST 2021 18

You might also like