University of Washington
Winter Quarter 2018
We are interested in the simulation of heat transfer and fluid mechanics, from both a
control volume (integral) approach, as well as a continuum mechanics approach. The
control volume approach has been historically called thermal-network or fluid-network
analysis/simulation. Broadly, a continuum mechanics approach utilizes a grid generation
step, followed by the application of a discretization method. These methods can
include (certainly not limited to) finite difference, finite volume or finite element approaches. The initial
effort is to provide guidance and tools for sensitivity analysis and uncertainty
quantification and propagation. Sensitivity analysis (local and global) is used to
provide insight into how variations in the input parameters to a model affect the
output parameters of the simulation. Uncertainty quantification and propagation
is concerned with the determination of the uncertainty characteristics of model
input parameters and then propagating them through the simulation to provide
uncertainty estimates of the output.
The notes from the Spring Quarter 2017 class, which used the Dakota toolbox, can be
found here.
Schedule
Date |
Lecture Topic |
Notes |
Remarks |
Homework |
Due Date |
Office Hours |
Fri, Feb 16 |
The Cannon Problem |
Lecture Notes |
See the Introduction to Sensitivity Analysis section in [GHO17], as well as Global Sensitivity Analysis: The Primer, Saltelli, et al., 2008 |
|
|
|
Fri, Mar 2 |
Cannon Problem Analyis using Dakota |
Notes |
HW 10 Maximum Likelihood Parameter Estimation using the bbmle R package |
|
|
|
Mon, Mar 5 |
Final Project Help Session |
|
|
|
|
|
Software/Toolkit/Framework for Sensitivity Analysis, Parameter Estimation/Calibration, Uncertainty Quantification and Propagation
Summary Sources
Open Source
- Dakota, Sandia National Laboratories
- PSUADE, Lawrence Livermore National Laboratory
- UQLab, you must be a member of an academic institution
- SimLab, version 4.0 works within R
- UQ-PyL
- UQTk, Sandia National Laboratories
- Queso
- MUQ, MIT Uncertainty Quantification Library
- TASMANIAN, Oak Ridge National Laboratory
- chaospy
- Cossan, see OpenCOSSAN
- SG++
- OpenTURNS
- Uranie
- Pi4U
- NESSUS, NASA
- Stokhos, Sandia National Laboratories
- GPM/SA, Gaussian Process Models for Simulation Analysis, Los Alamos National Laboratory
Commercial
R Project for Statistical Computing
Data Exchange with MATLAB
- See the readMat() and writeMat() methods in the R.matlab package: Read and Write MAT Files and Call MATLAB from Within R
- See R Data Import/Export in The R Manuals, specifically the read.table() method and its variations.
We are interested in solving both steady and transient, nonlinear engineering math models,
with multiple input parameters and one or more output parameters (quantities of interest, QoI).
Per Section 4: Specialized R Software Packages, from the
Introduction to Sensitivity Analysis
chapter from the Handbook of Uncertainty Quantification,
the following packages are recommended by the authors Bertrand Iooss and Andrea Saltelli:
- Basic SA and local SA methods: FME package
- Basic methods for exploring stochastic numerical models: spartan package
- Global SA: sensitivity package
- Linear regression coefficients: SRC and SRRC src, PCC and PRCC pcc
- Bettonvil's sequential bifurcations: sb
- Morris's "OAT" elementary effects screening method: morris
- Derivative-based Global Sensitivity Measures:
- Poincare constants for Derivative-based Global Sensitivity Measures (DGSM): PoincareConstant and PoincareOptimal
- Distributed Evaluation of Local Sensitivity Analysis (DELSA): delsa
- Variance-based sensitivity indices (Sobol' indices):
- Estimation of the Sobol' first order indices with B-spline Smoothing: sobolSmthSpl
- Monte Carlo estimation of Sobol' indices with independent inputs (also called pick-freeze method):
- Sobol'; scheme to compute the indices given by the variance decomposition up to a specified order: sobol
- Saltelli's scheme to compute first order, second order and total indices: sobolSalt
- Saltelli's scheme to compute first order and total indices: sobol2002
- Mauntz-Kucherenko's scheme to compute first order and total indices using improved formulas for small indices: sobol2007
- Jansen-Sobol's scheme to compute first order and total indices using improved formulas: soboljansen
- Martinez's scheme using correlation coefficient-based formulas to compute first order and total indices, associated with theoretical confidence intervals: sobolmartinez and soboltouati
- Janon-Monod's scheme to compute first order indices with optimal asymptotic variance: sobolEff
- Mara's scheme to compute first order indices with a cost independent of the dimension, via a unique-matrix permutations: sobolmara
- Owen's scheme to compute first order and total indices using improved formulas (via 3 input independent matrices) for small indices: sobolowen
- Total Interaction Indices using Liu-Owen's scheme: sobolTIIlo and pick-freeze scheme: sobolTIIpf
- Estimation of the Sobol' first order and total indices with Saltelli's so-called "extendedFAST" method: fast99
- Estimation of the Sobol' first order and closed second order indices using replicated orthogonal array-based Latin hypecube sample: sobolroalhs
- Sobol' indices estimation under inequality constraints by extension of the replication procedure: sobolroauc
- Estimation of the Sobol' first order and total indices with kriging-based global sensitivity analysis: sobolGP
- Variance-based sensitivity indices (Shapley effects and Sobol' indices, with independent or dependent inputs):
- Estimation by examining all permutations of inputs: shapleyPermEx
- Estimation by randomly sampling permutations of inputs: shapleyPermRand
- Sensitivity Indices based on Csiszar f-divergence: sensiFdiv and Hilbert-Schmidt Independence Criterion sensiHSIC
- Reliability sensitivity analysis by the Perturbed-Law based Indices (PLI): PLIquantile
- Sobol' indices for multidimensional outputs: sobolMultOut, References: [LLM11] and [GJKL14]
- See the ipcp function in the iplots package for an interactive cobweb graphical tool.
- The R package fully devoted to the FAST method is: fast package
- Sobol' indices for multidimensional outputs: multisensi package
- See the mtk package for a proposal to deal with external simulation platforms.
- For an interface to the sensitivity package for parameter space exploration look at the pse package.
- Note that the tutorial for the pse package is very useful for learning how to use the sensitivity package.
- See Section 4 Multiple response variables, for an approach to transient models.
Verification of Variance-based Global Sensitivity Analysis Methods
In order to study the properties of the various methods in the R sensitivity package,
a number of math models (functions) are analytically solved for the Sobol' indices.
Math Model (function) has a Single Output
See Professor Emery's notes on Sensitivity Analysis and Sobol' Indices.
Function: \(f(x_1,x_2) = x_1^2 + x_1 x_2 + x_2\)
- The analytical solution: S_1 = 0.4982, S_2 = 0.4839 and S_12 = 0.0179
- The function script is: GSAverif01.R
- Run all the sensitivity methods on the function: GSA_verify_01.R
Function: \(f(x_1,x_2) = x_1 x_2\)
- The analytical solution: S_1 = 0.4286, S_2 = 0.4286 and S_12 = 0.1429
- The function script is: GSAverif02.R
- Run all the sensitivity methods on the function: GSA_verify_02.R
Math Model (function) has Multiple Outputs
Transient Math Model (function) has a Single Output
Transient Math Model (function) has Multiple Outputs
References
Standard Probability Distributions and Latin Hypercube Sampling with R
Density (d), cumulative distribution function (p), quantile function (q) and
random variate generation (r) for many standard probability distributions
are available in the core stats package (for a complete list of
functions, use library(help = "stats")):
- The Normal Distribution: dnorm, pnorm, qnorm, rnorm
- The Uniform Distribution: dunif, punif, qunif, runif
- The Log Normal Distribution: dlnorm, plnorm, qlnorm, rlnorm
- The Beta Distribution: dbeta, pbeta, qbeta, rbeta
See Chapter 33, p. 1163 and Chapter 44, p. 1517, in
Handbook of Uncertainty Quantification for discussions on sampling.
Latin hypercube sampling (LHS) functions are available in the following
packages:
- See lhsDesign in the DiceDesign package.
- See randomLHS in the lhs package.
library(DiceDesign)
# lhsDesign(n, dimension, randomized=TRUE, seed=NULL)
n <- 100
dimension <- 2
outF <- lhsDesign(n, dimension, randomized=FALSE, seed=38194)
outT <- lhsDesign(n, dimension, randomized=TRUE, seed=38194)
par(mfrow=c(1,2)) # 1 row and 2 columns
plot(outT$design, main = "randomized=TRUE")
plot(outF$design, main = "randomized=FALSE")
par(mfrow=c(2,2)) # 2 rows and 2 columns
hist(outT$design[,1])
hist(outT$design[,2])
plot(density(outT$design[,1]))
plot(density(outT$design[,2]))
hist(outF$design[,1])
hist(outF$design[,2])
plot(density(outF$design[,1]))
plot(density(outF$design[,2]))
par(mfrow=c(1,1)) # return plot dev to single plot
library(lhs)
# transform a Latin hypercube sample to a normal and beta pdf
n = 100 # number of design points
d = 2 # number of design variables
set.seed(1976) # set the seed
X <- randomLHS(n=n, k=d, preserveDraw=TRUE)
Y <- matrix(0, nrow=n, ncol=d)
Y[,1] <- qnorm(X[,1], mean=3, sd=0.1) # normal distribution
Y[,2] <- qbeta(X[,2], shape1=2, shape2=2) # beta distribution
par(mfrow=c(2,2)) # or could use layout() for more complex arrangements
hist(Y[,1])
hist(Y[,2])
plot(density(Y[,1]))
plot(density(Y[,2]))
par(mfrow=c(1,1)) # return plot dev to single plot
Sensitivity Analysis of the Cannon Problem using R
- R function for the cannon problem: cannon.R
- Utilizing the sensitivity package, two methods for global sensitivity analysis are applied:
Parameter Estimation: Maximum Likelihood using R
A maximum likelihood parameter estimation of the velocity and drag
parameter for the cannon problem, was performed using the mle2()
function of the
bbmle
package. The script is: cannon_MLE.R
- A Flexible Modelling Environment for Inverse Modelling, Sensitivity, Identifiability and Monte Carlo Analysis: FME package
Parameter Estimation: Bayesian Inference using R
Introducing Monte Carlo Methods with R
- CRAN Task View: Bayesian Inference suggests for differential equations:
- Bayesian Inference for Differential Equations: deBInfer package
- A Flexible Modelling Environment for Inverse Modelling, Sensitivity, Identifiability and Monte Carlo Analysis: FME package
- BayesianTools: General-Purpose MCMC and SMC Samplers and Tools for Bayesian Statistics
Surrogate Models using R
See the Metamodel-Based Sensitivity Analysis: Polynomial Chaos Expansions and Gaussian Processes
chapter from the Handbook of Uncertainty Quantification.
- surrogate models, meta-models, metamodeling, emulation
Gaussian Process
Polynomial Chaos Expansion
Links to Similar Courses
Books and References of Interest
- 2000
- [HM00] Probability, Reliability, and Statistical Methods in Engineering Design, A. Haldar, S. Mahadevan, John Wiley & Sons, 2000, UW Library
- 2008
- [SRACCGST08] Global Sensitivity Analysis: The Primer, Saltelli, et al., John Wiley & Sons, 2008
- 2009
- [Ate09] Everyday Heat Transfer Problems: Sensitivities to Governing Variables, M. Kemal Atesmen, ASME, 2009, UW Library
- [CS09] Experimentation, Validation and Uncertainty Analysis for Engineers, third edition, Coleman and Steele, John Wiley & Sons, 2009, UW Library
- 2014
- [MR14] Applied Statistics and Probability for Engineers, sixth edition, D. Montgomery and G. Runger, John Wiley & Sons, 2014, textbook for UW IND E 315, UW Library
- [Smi14] Uncertainty Quantification: Theory, Implementation, and Applications, Ralph Smith, SIAM, 2014, UW Library
- [VE14] Forensic Metrology: Scientific Measurement and Inference for Lawyers, Judges, and Criminalists, Ted Vosk and Ashley Emery, CRC Press, 2014, UW Library
- 2017
- [GHO17] Handbook of Uncertainty Quantification, Editors: Roger Ghanem, David Higdon and Houman Owhadi, Springer, 2017, UW Library
Journals
Organizations and Conferences
Last Modified by
Bob Cochran,
on March 4, 2018.