UNCERTAINTYQUANTIFICATION.JL

A NEW FRAMEWORK FOR UNCERTAINTY QUANTIFICATION IN JULIA

authored by
Jasper Behrensdorf, Ander Gray, Matteo Broggi, Michael Beer
Abstract

This work presents a new framework for uncertainty quantification developed as a package in the Julia programming language called UncertaintyQuantification.jl. Julia is a modern high-level dynamic programming language ideally suited for tasks like data analysis and scientific computing. UncertaintyQuantification.jl was developed from the ground up to be generalized and flexible while at the same time being easy to use. Leveraging the features of a modern language such as Julia allows to write efficient, fast and easy to read code. Especially noteworthy is Julia’s core feature multiple dispatch which enables us to, for example, develop methods with a large number of varying simulation schemes such as standard Monte Carlo, Sobol sampling, Halton sampling, etc., yet minimal code duplication. Current features of UncertaintyQuantification.jl include simulation based reliability analysis using a large array of sampling schemes, local and global sensititivity analysis, meta modelling techniques such as response surface methodology or polynomial chaos expansion as well as the connection to external solvers by injecting values into plain text files as inputs. Through Julia’s existing distributed computing capabilities all available methods can be easily run on existing clusters with just a few lines of extra code.

Organisation(s)
Institute for Risk and Reliability
External Organisation(s)
United Kingdom Atomic Energy Authority
University of Liverpool
Tongji University
Type
Conference contribution
Pages
419-436
No. of pages
18
Publication date
2023
Publication status
Published
Peer reviewed
Yes
ASJC Scopus subject areas
Computational Theory and Mathematics, Computer Science Applications, Modelling and Simulation, Statistics and Probability, Control and Optimization, Discrete Mathematics and Combinatorics
Electronic version(s)
https://doi.org/10.7712/120223.10347.19810 (Access: Open)