QUESO User's Manual
Total Page:16
File Type:pdf, Size:1020Kb
The QUESO Library User's Manual Version 0.51.0 Quantification of Uncertainty for Estimation, Simulation, and Optimization (QUESO) Editors: Kemelli C. Estacio-Hiroms Ernesto E. Prudencio Nicholas P. Malaya Manav Vohra Damon McDougall arXiv:1611.07521v1 [stat.CO] 22 Nov 2016 Center for Predictive Engineering and Computational Sciences (PECOS) Institute for Computational and Engineering Sciences (ICES) The University of Texas at Austin Austin, TX 78712, USA Copyright © 2008-2013 The PECOS Development Team, http://pecos.ices.utexas.edu Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being \GNU General Public License" and \Free Software Needs Free Documentation", the Front-Cover text being \A GNU Manual", and with the Back-Cover text being \You have the freedom to copy and modify this GNU Manual". A copy of the license is included in the section entitled \GNU Free Documentation License". iii Abstract QUESO stands for Quantification of Uncertainty for Estimation, Simulation and Opti- mization and consists of a collection of algorithms and C++ classes intended for research in uncertainty quantification, including the solution of statistical inverse and statistical forward problems, the validation of mathematical models under uncertainty, and the prediction of quantities of interest from such models along with the quantification of their uncertainties. QUESO is designed for flexibility, portability, easy of use and easy of extension. Its software design follows an object-oriented approach and its code is written on C++ and over MPI. It can run over uniprocessor or multiprocessor environments. QUESO contains two forms of documentation: a user's manual available in PDF format and a lower-level code documentation available in web based/HTML format. This is the user's manual: it gives an overview of the QUESO capabilities, provides pro- cedures for software execution, and includes example studies. iv v Disclaimer This document was prepared by The University of Texas at Austin. Neither the University of Texas at Austin, nor any of its institutes, departments and employees, make any warranty, ex- press or implied, or assume any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represent that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by The Univer- sity of Texas at Austin or any of its institutes, departments and employees thereof. The views and opinions expressed herein do not necessarily state or reflect those of The University of Texas at Austin or any institute or department thereof. QUESO library as well as this material are provided as is, with absolutely no warranty expressed or implied. Any use is at your own risk. vi Contents Abstract iii Disclaimer v Preface xi 1 Introduction2 1.1 Preliminaries . .2 1.2 Key Statistical Concepts . .3 1.3 The Software Stack of an Application Using QUESO . .5 1.4 Algorithms for solving Statistical Inverse Problems . .6 1.4.1 DRAM Algorithm . .7 1.4.2 Adaptive Multilevel Stochastic Simulation Algorithm . 10 1.5 Algorithms for solving the Statistical Forward Problem . 16 2 Installation 18 2.1 Getting started . 18 2.1.1 Obtain and Install QUESO Dependencies . 19 2.1.2 Prepare your LINUX Environment . 20 2.2 Obtaining a Copy of QUESO . 20 2.2.1 Recommended Build Directory Structure . 21 2.3 Configure QUESO Building Environment . 21 2.4 Compile, Check and Install QUESO . 22 2.5 QUESO Developer's Documentation . 23 2.6 Summary of Installation Steps . 23 2.7 The Build Directory Structure . 24 vii viii 2.8 The Installed Directory Structure . 25 2.9 Create your Application with the Installed QUESO . 26 3 C++ Classes in the Library 28 3.1 Core Classes . 28 3.1.1 Environment Class (and Options) . 28 3.1.2 Vector . 30 3.1.3 Matrix . 30 3.2 Templated Basic Classes . 34 3.2.1 Vector Set, Subset and Vector Space Classes . 34 3.2.2 Scalar Function and Vector Function Classes . 34 3.2.3 Scalar Sequence and Vector Sequence Classes . 37 3.3 Templated Statistical Classes . 40 3.3.1 Vector Realizer Class . 40 3.3.2 Vector Random Variable Class . 40 3.3.3 Statistical Inverse Problem (and Options) . 41 3.3.4 Metropolis-Hastings Solver (and Options) . 43 3.3.5 Multilevel Solver (and Options) . 43 3.3.6 Statistical Forward Problem (and Options) . 49 3.3.7 Monte Carlo Solver (and Options) . 49 3.4 Miscellaneous Classes and Routines . 51 4 Important Remarks 52 4.1 Revisiting Input Options . 52 4.2 Revisiting Priors . 53 4.3 Running with Multiple Chains or Monte Carlo Sequences . 53 4.4 Running with Models that Require Parallel Computing . 54 4.5 A Requirement for the DRAM Algorithm . 54 5 Global Sensitivity Analysis 55 5.1 Sensitivity Indices . 56 5.1.1 First Order Effect . 56 5.1.2 Total Effect . 56 5.1.3 Estimation of (θi) and (θi)....................... 56 5.2 Application . .S . .T . 57 5.3 Results . 61 5.4 Concluding Remarks . 61 6 QUESO Examples 63 6.1 simpleStatisticalInverseProblem ....................... 64 6.1.1 Running the Example . 65 6.1.2 Example Code . 66 6.1.3 Input File . 69 ix 6.1.4 Create your own Makefile . 70 6.1.5 Data Post-Processing and Visualization . 71 6.2 simpleStatisticalForwardProblem ....................... 74 6.2.1 Running the Example . 74 6.2.2 Example Code . 75 6.2.3 Input File . 78 6.2.4 Create your own Makefile . 79 6.2.5 Data Post-Processing and Visualization . 80 6.3 gravity ....................................... 82 6.3.1 Statistical Inverse Problem . 82 6.3.2 Statistical Forward Problem . 85 6.3.3 Running the Example . 86 6.3.4 Example Code . 88 6.3.5 Input File . 95 6.3.6 Create your own Makefile . 96 6.3.7 Running the Gravity Example with Several Processors . 97 6.3.8 Data Post-Processing and Visualization . 97 6.4 validationCycle .................................. 106 6.4.1 Thermogravimetric Experiments and a Simple Model . 106 6.4.2 Statistical Inverse Problem . 107 6.4.3 Statistical Forward Problem . 109 6.4.4 Running the Example . 110 6.4.5 TGA Example Code . 110 6.4.6 Input File . 130 6.4.7 Data Post-Processing and Visualization . 132 6.5 modal ........................................ 134 6.5.1 One-mode distribution . 134 6.5.2 Two-mode distribution . 136 6.5.3 Example Code . 138 6.5.4 Input File . 143 6.5.5 Create your own Makefile . 144 6.5.6 Data Post-Processing and Visualization . 145 6.6 bimodal ....................................... 149 6.6.1 Running the Example . 149 6.6.2 Example Code . 150 6.6.3 Input File . 155 6.6.4 Create your own Makefile . 157 6.6.5 Data Post-Processing and Visualization . 157 6.7 hysteretic ..................................... 159 6.7.1 Running the Example . 162 6.7.2 Example Code . 162 6.7.3 Input File . 170 6.7.4 Create your own Makefile . 172 x 6.7.5 Data Post-Processing and Visualization . 172 References 172 A Free Software Needs Free Documentation 180 B GNU General Public License 182 C GNU Free Documentation License 191 Preface The QUESO project started in 2008 as part of the efforts of the recently established Center for Predictive Engineering and Computational Sciences (PECOS) at the Institute for Com- putational and Engineering Sciences (ICES) at The University of Texas at Austin. The PECOS Center was selected by the National Nuclear Security Administration (NNSA) as one of its new five centers of excellence under the Predictive Science Academic Alliance Program (PSAAP). The goal of the PECOS Center is to advance predictive science and to develop the next generation of advanced computational methods and tools for the calcula- tion of reliable predictions on the behavior of complex phenomena and systems (multiscale, multidisciplinary). This objective demands a systematic, comprehensive treatment of the cal- ibration and validation of the mathematical models involved, as well as the quantification of the uncertainties inherent in such models. The advancement of predictive science is essential for the application of Computational Science to the solution of realistic problems of national interest. The QUESO library is released as open source under Version 2.1 of the GNU Lesser General Public License and is available for free download world-wide. See https://www.gnu.org/licenses/lgpl- 2.1.html for more information on the LGPLv2.1 software use agreement. Contact Information: Paul T. Bauman, Kemelli C. Estacio-Hiroms or Damon McDougall, Institute for Computational and Engineering Sciences 1 University Station C0200 Austin, Texas 78712 email: [email protected] web: http://pecos.ices.utexas.edu xi xii Referencing the QUESO Library When referencing the QUESO library in a publication, please cite the following: @incollection{QUESO, author = "Ernesto Prudencio and Karl W. Schulz", title = {The Parallel C++ Statistical Library `QUESO': Quantification of Uncertainty for Estimation, Simulation and Optimization}, booktitle = {Euro-Par 2011: Parallel Processing Workshops}, series = {Lecture Notes in Computer Science}, publisher = {Springer Berlin / Heidelberg}, isbn = {978-3-642-29736-6}, keyword = {Computer Science}, pages = {398-407}, volume = {7155}, url = {http://dx.doi.org/10.1007/978-3-642-29737-3_44}, year = {2012} } @TechReport{queso-user-ref, Author = {K.C. Estacio-Hiroms and E.E. Prudencio and N.P. Malaya and M. Vohra and D. McDougall}, Title = {{T}he {QUESO} {L}ibrary, {U}ser's {M}anual}, Institution = {Center for Predictive Engineering and Computational Sciences (PECOS), at the Institute for Computational.