diff --git a/ddps.html b/ddps.html
index c88f404..b4c4879 100644
--- a/ddps.html
+++ b/ddps.html
@@ -230,6 +230,13 @@
Scheduled Talks in 2025
+Jan 24th, 10 AM |
+Max Welling |
+University of Amsterdam |
+TBD |
+link |
+
+
Jan 31st, 10 AM |
Soledad Le Clainche |
Universidad Politecnica de Madrid |
diff --git a/search/search_index.json b/search/search_index.json
index d7b2512..45be6b4 100644
--- a/search/search_index.json
+++ b/search/search_index.json
@@ -1 +1 @@
-{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"index.html","text":"libROM is a free , lightweight , scalable C++ library for data-driven physical simulation methods. It is the main tool box that the reduced order modeling team at LLNL uses to develop efficient model order reduction techniques and physics-constrained data-driven methods . We try to collect any useful reduced order model routines, which are separable to the high-fidelity physics solvers, into libROM. Plus, libROM is open source, so anyone is welcome to suggest new ideas or contribute to the development. Let's work together for better data-driven technology! Features Proper Orthogonal Decomposition ( libROM , pylibROM ) Dynamic mode decomposition ( libROM , pylibROM ) Projection-based reduced order models ( libROM , pylibROM ) Hyper-reduction ( libROM , pylibROM ) Greedy algorithm ( libROM , pylibROM ) Latent space dynamics identification ( LaSDI , gLaSDI , GPLaSDI ) Domain decomposition nonlinear manifold reduced order model ( DD-NM-ROM ) Many more features will be available soon. Stay tuned! libROM is used in many projects, including BLAST , ARDRA , Laghos , SU2 , ALE3D and HyPar . Many MFEM -based ROM examples can be found in Examples . See also our Gallery , Publications and News pages. Recent News Date Message Sep 1, 2024 tLaSDI paper is published in CMAME Aug 1, 2024 S-OPT paper is published in SISC July 13, 2024 Data-scarce paper is published in Shock Waves July 8, 2024 Progressive paper is published in Scientific Reports May 17, 2024 DD-NM-ROM open source code is available in gitHub May 15, 2024 DDFEM paper is published in CMAME Apr 29, 2024 wLaSDI paper is published in CMAME Apr 10, 2024 Gappy AE paper is published in CMAME Mar 25, 2024 DD-NM-ROM paper is published in CMAME Mar 16, 2024 LaSDI book chapter arXiv paper is available libROM tutorials in YouTube Date Title July 22, 2021 Poisson equation & its finite element discretization Sep. 1, 2021 Poisson equation & its reduced order model Sep. 23, 2021 Physics-informed sampling procedure for reduced order models Sep. 11, 2022 Local reduced order models and interpolation-based parameterization Sep. 23, 2022 Projection-based reduced order model for nonlinear system Aug. 23, 2023 Complete derivation of dynamic mode decomposition Latest Release Examples \u250a Code documentation \u250a libROM Sources \u250a pylibROM Sources \u250a LaghosROM Sources \u250a ScaleupROM \u250a LaSDI Sources \u250a gLaSDI Sources \u250a GPLaSDI Sources \u250a DD-NM-ROM Sources \u250a NM-ROM Sources \u250a WLaSDI \u250a tLaSDI \u250a gappyAE Download libROM-master.zip Documentation Building libROM \u250a Poisson equation \u250a Greedy for Poisson New users should start by examining the example codes and tutorials . We also recommend using GLVis or VisIt for visualization. Contact Use the GitHub issue tracker to report bugs or post questions or comments . See the About page for citation information.","title":"Home"},{"location":"index.html#features","text":"Proper Orthogonal Decomposition ( libROM , pylibROM ) Dynamic mode decomposition ( libROM , pylibROM ) Projection-based reduced order models ( libROM , pylibROM ) Hyper-reduction ( libROM , pylibROM ) Greedy algorithm ( libROM , pylibROM ) Latent space dynamics identification ( LaSDI , gLaSDI , GPLaSDI ) Domain decomposition nonlinear manifold reduced order model ( DD-NM-ROM ) Many more features will be available soon. Stay tuned! libROM is used in many projects, including BLAST , ARDRA , Laghos , SU2 , ALE3D and HyPar . Many MFEM -based ROM examples can be found in Examples . See also our Gallery , Publications and News pages.","title":"Features"},{"location":"index.html#recent-news","text":"Date Message Sep 1, 2024 tLaSDI paper is published in CMAME Aug 1, 2024 S-OPT paper is published in SISC July 13, 2024 Data-scarce paper is published in Shock Waves July 8, 2024 Progressive paper is published in Scientific Reports May 17, 2024 DD-NM-ROM open source code is available in gitHub May 15, 2024 DDFEM paper is published in CMAME Apr 29, 2024 wLaSDI paper is published in CMAME Apr 10, 2024 Gappy AE paper is published in CMAME Mar 25, 2024 DD-NM-ROM paper is published in CMAME Mar 16, 2024 LaSDI book chapter arXiv paper is available","title":"Recent News"},{"location":"index.html#librom-tutorials-in-youtube","text":"Date Title July 22, 2021 Poisson equation & its finite element discretization Sep. 1, 2021 Poisson equation & its reduced order model Sep. 23, 2021 Physics-informed sampling procedure for reduced order models Sep. 11, 2022 Local reduced order models and interpolation-based parameterization Sep. 23, 2022 Projection-based reduced order model for nonlinear system Aug. 23, 2023 Complete derivation of dynamic mode decomposition","title":"libROM tutorials in YouTube"},{"location":"index.html#latest-release","text":"Examples \u250a Code documentation \u250a libROM Sources \u250a pylibROM Sources \u250a LaghosROM Sources \u250a ScaleupROM \u250a LaSDI Sources \u250a gLaSDI Sources \u250a GPLaSDI Sources \u250a DD-NM-ROM Sources \u250a NM-ROM Sources \u250a WLaSDI \u250a tLaSDI \u250a gappyAE Download libROM-master.zip","title":"Latest Release"},{"location":"index.html#documentation","text":"Building libROM \u250a Poisson equation \u250a Greedy for Poisson New users should start by examining the example codes and tutorials . We also recommend using GLVis or VisIt for visualization.","title":"Documentation"},{"location":"index.html#contact","text":"Use the GitHub issue tracker to report bugs or post questions or comments . See the About page for citation information.","title":"Contact"},{"location":"about.html","text":"About libROM Please cite with: @misc{ doecode_24508, title = {libROM}, author = {Choi, Youngsoo and Arrighi, William J. and Copeland, Dylan M. and Anderson, Robert W. and Oxberry, Geoffrey M.}, abstractNote = {libROM is a collection of C++ classes that compute reduced order models and hyperreduced order models for systems of ordinary differential equations. libROM includes parallel, adaptive methods for proper orthogonal decomposition, and parallel, non-adaptive methods for hyperreduction using the discrete empirical interpolation method.}, doi = {10.11578/dc.20190408.3}, url = {https://doi.org/10.11578/dc.20190408.3}, howpublished = {[Computer Software] \\url{https://doi.org/10.11578/dc.20190408.3}}, year = {2019}, month = {oct} } Contributors Bob Anderson William Michael Anderson William Arrighi Suparno Bhattacharyya Christophe Bonneville David Bortz Kyle Chand Siu Wun Cheung Eric Chin Youngsoo Choi \"Kevin\" Seung Whan Chung Dylan Copeland Pravija Danda Alejandro Diaz William Fries Debojyoti Ghosh Xiaolong He Kevin Huynh Coleman James Kendrick Tanya Kostova-Vassilevska Minji Kim Axel Larsson Jessica Lauzon Dan Messenger Sean McBane Geoffrey Oxberry Jun Sur Richard Park Pratanu Roy Yeonjong Shin Jian Tao April Tran Paul Jeffrey Tranquilli License MIT license Apache license This work performed under the auspices of the U.S. Department of Energy by Lawrence Livermore Laboratory under Contract DE-AC52-07NA27344. Software release number: LLNL-CODE-766763. DOI: 10.11578/dc.20190408.3 . Disclaimer This document was prepared as an account of work sponsored by an agency of the United States government. Neither the United States government nor Lawrence Livermore National Security, LLC, nor any of their employees makes any warranty, expressed or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents 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 United States government or Lawrence Livermore National Security, LLC. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States government or Lawrence Livermore National Security, LLC, and shall not be used for advertising or product endorsement purposes. Website built with MkDocs , Bootstrap and Bootswatch . Hosted on GitHub .","title":"About"},{"location":"about.html#about-librom","text":"Please cite with: @misc{ doecode_24508, title = {libROM}, author = {Choi, Youngsoo and Arrighi, William J. and Copeland, Dylan M. and Anderson, Robert W. and Oxberry, Geoffrey M.}, abstractNote = {libROM is a collection of C++ classes that compute reduced order models and hyperreduced order models for systems of ordinary differential equations. libROM includes parallel, adaptive methods for proper orthogonal decomposition, and parallel, non-adaptive methods for hyperreduction using the discrete empirical interpolation method.}, doi = {10.11578/dc.20190408.3}, url = {https://doi.org/10.11578/dc.20190408.3}, howpublished = {[Computer Software] \\url{https://doi.org/10.11578/dc.20190408.3}}, year = {2019}, month = {oct} }","title":"About libROM"},{"location":"about.html#contributors","text":"Bob Anderson William Michael Anderson William Arrighi Suparno Bhattacharyya Christophe Bonneville David Bortz Kyle Chand Siu Wun Cheung Eric Chin Youngsoo Choi \"Kevin\" Seung Whan Chung Dylan Copeland Pravija Danda Alejandro Diaz William Fries Debojyoti Ghosh Xiaolong He Kevin Huynh Coleman James Kendrick Tanya Kostova-Vassilevska Minji Kim Axel Larsson Jessica Lauzon Dan Messenger Sean McBane Geoffrey Oxberry Jun Sur Richard Park Pratanu Roy Yeonjong Shin Jian Tao April Tran Paul Jeffrey Tranquilli","title":"Contributors"},{"location":"about.html#license","text":"MIT license Apache license This work performed under the auspices of the U.S. Department of Energy by Lawrence Livermore Laboratory under Contract DE-AC52-07NA27344. Software release number: LLNL-CODE-766763. DOI: 10.11578/dc.20190408.3 .","title":"License"},{"location":"about.html#disclaimer","text":"This document was prepared as an account of work sponsored by an agency of the United States government. Neither the United States government nor Lawrence Livermore National Security, LLC, nor any of their employees makes any warranty, expressed or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents 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 United States government or Lawrence Livermore National Security, LLC. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States government or Lawrence Livermore National Security, LLC, and shall not be used for advertising or product endorsement purposes. Website built with MkDocs , Bootstrap and Bootswatch . Hosted on GitHub .","title":"Disclaimer"},{"location":"building.html","text":"Building libROM A simple tutorial on how to build and run libROM. For more details, see the README file. Clone libROM https://github.com/LLNL/libROM General Installation To compile libROM with default build settings (Mac and LLNL LC Machines): ./scripts/compile.sh To compile libROM for Ardra (LLNL LC Machines only): ./scripts/ardra_compile.sh To compile libROM using a different toolchain within cmake/toolchains (Mac and LLNL LC Machines): ./scripts/toolchain_compile.sh toolchain.cmake Compilation options: -a: Compile a special build for the LLNL codebase: Ardra -d: Compile in debug mode. -m: Compile with MFEM (required to run the libROM examples) -t: Use your own cmake/toolchain -u: Update all of libROM's dependencies. Using Docker container Probably the most reliable way is to use docker container. You can find the instruction on how to use docker container to install libROM in your machine is described at Using Docker container wiki page. Compiling on LC Machines libROM provides several CMake toolchains which can be used to compile on LLNL LC machines. For more information on installing and using libROM on specific LC machines, refer to the libROM wiki page . Spack In addition to the build system described above, libROM packages are also available in Spack: Spack","title":"Building libROM"},{"location":"building.html#building-librom","text":"A simple tutorial on how to build and run libROM. For more details, see the README file.","title":"Building libROM"},{"location":"building.html#clone-librom","text":"https://github.com/LLNL/libROM","title":"Clone libROM"},{"location":"building.html#general-installation","text":"To compile libROM with default build settings (Mac and LLNL LC Machines): ./scripts/compile.sh To compile libROM for Ardra (LLNL LC Machines only): ./scripts/ardra_compile.sh To compile libROM using a different toolchain within cmake/toolchains (Mac and LLNL LC Machines): ./scripts/toolchain_compile.sh toolchain.cmake Compilation options: -a: Compile a special build for the LLNL codebase: Ardra -d: Compile in debug mode. -m: Compile with MFEM (required to run the libROM examples) -t: Use your own cmake/toolchain -u: Update all of libROM's dependencies.","title":"General Installation"},{"location":"building.html#using-docker-container","text":"Probably the most reliable way is to use docker container. You can find the instruction on how to use docker container to install libROM in your machine is described at Using Docker container wiki page.","title":"Using Docker container"},{"location":"building.html#compiling-on-lc-machines","text":"libROM provides several CMake toolchains which can be used to compile on LLNL LC machines. For more information on installing and using libROM on specific LC machines, refer to the libROM wiki page .","title":"Compiling on LC Machines"},{"location":"building.html#spack","text":"In addition to the build system described above, libROM packages are also available in Spack: Spack","title":"Spack"},{"location":"ddps.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); DDPS Webinar ( in California time ) DDPS stands for data-driven physical simulation. We hold weekly webinar, in average, either on Thursday or Friday at Lawrence Livermore National Laboratory. If you are interested in giving a webinar talk or would like to recommend a speaker, please send an email to choi15@llnl.gov. If you are interested in being included in DDPS email list, please also send an email to choi15@llnl.gov. Scheduled Talks in 2025 When Speaker Institution Title WebEx Jan 31st, 10 AM Soledad Le Clainche Universidad Politecnica de Madrid Hybrid reduced order models: from exploiting physical principles to novel machine learning approaches link Feb 20th, 4 PM Youngjoon Hong KAIST Operator Networks Based on Numerical Analysis link Mar 28th, 10 AM Kunihiko Taira UCLA TBD link Apr 3rd, 10 AM Johannes Brandstetter Johannes Kepler University Linz TBD link Apr 18th, 10 AM Sung Ha Kang GeorgiaTech TBD link Past Talks in 2024 Date Speaker Institution Title YouTube Dec 13th Hamid Sadjadpour UCSC Everlasting Information-theoretic Encryption in the Era of Quantum Computing and AI link Nov 22nd David Bortz University of Colorado Boulder The weak form is stronger than you think link Nov 15th Yasaman Bahri Google DeepMind A first-principles approach to understanding deep learning link Nov 1st Annalisa Quaini University of Houston Reducing the cost of ocean modeling with a data-driven ROM and LES link Oct 25th Marius Zeinhofer University Hospital Freiburg Infinite Dimensional Optimization for Scientific Machine Learning link Oct 18th Ching-Yao Lai Stanford Machine-Precision Neural Networks for Multiscale Dynamics link Sep 27th Akhil Nekkanti CalTech Data-driven techniques for analysis of turbulent flows link Sep 20th Jian-Xun Wang University of Notre Dame Neural Differentiable Physics: Unifying Numerical PDEs and Deep Learning for Data-Augmented Computational Physics link Aug 23rd Aditi Krishnapriyan UC Berkeley Bringing numerical methods and deep learning with physics-constrained differentiable solvers link Aug 2nd Elizabeth Qian Georgia Tech Multi-fidelity linear regression for scientific machine learning from scarce data link July 19th Alberto Padovan University of Illinois, Urbana-Champaign Data-driven model reduction via non-intrusive optimization of projection operators and reduced-order dynamics link July 12th Francesco Romor Weierstrass Instititute Intrusive model order reduction of parametric PDEs using neural networks approximants of the solution manifold and adaptive hyper-reduction link Jun 28th Doug James Stanford Recent progress in reduced-order modeling for computer graphics and sound link Jun 21st Gianluca Iaccarino Stanford AutoEncoders for Aerodynamic Predictions link Jun 14th Fabio Giampaolo University of Naples Federico II Learning paradigms for neural networks: The locally backpropagated forward-forward algorithm link May 10th Yexiang Xue Purdue University Vertical reasoning enhanced learning, generation and scientific discovery link Apr 12th Burcu Beykal University of Connecticut A Data-Driven Process Systems Engineering Approach for Supply Chain Management and Enterprise-Wide Optimization link Apr 5th Yanlai Chen UMass Dartmouth GPT-PINN and TGPT-PINN: Generative Pre-Trained Physics-Informed Neural Networks toward non-intrusive Meta-learning of parametric PDEs link Feb 22nd Francesco Ballarin Universit\u00e0 Cattolica del Sacro Cuore Regularized reduced order models for control of Navier--Stokes equations link Feb 16th George Bollas The University of Connecticut Physics Informed Machine Learning through Symbolic Regression link Feb 8th Zhiwen Zhang The University of Hong Kong DeepParticle: learning invariant measure by a deep neural network minimizing Wasserstein distance on data generated from an interacting particle method link Jan 26th Boris Kramer UCSD Structure-Preserving Learning of High-Dimensional Lagrangian and Hamiltonian Systems link Jan 19th Jan Christoph UCSF Predicting Heart Rhythm Disorders from Spatio-Temporal Imaging Data using Artificial Intelligence link Jan 12th Guang Lin Purdue University Towards Third Wave AI: Interpretable, Robust Trustworthy Machine Learning for Diverse Applications in Science and Engineering link Past Talks in 2023 Date Speaker Institution Title YouTube Dec 15th Dimitrios Giannakis Dartmouth College Quantum information and data science for modeling classical dynamics link Dec 8th Nicolas Boulle The University of Cambridge Elliptic PDE learning is provably data-efficient link Nov 17th Mengwu Guo University of Twente Probabilistic Methods for Data-Driven Reduced-Order Modeling link Nov 3rd Michael E. Glinsky BNZ Energy Inc. A physics-based Reduced Order Model capturing the topology of dynamical manifolds link Nov 3rd Elnaz Rezaian University of Michigan Data-driven balancing transformation for predictive model order reduction link Oct 20th Christopher Rackauckas MIT Generalizing Scientific Machine Learning and Differentiable Simulation Beyond Continuous Models link Oct 13th Jinlong Wu University of Wisconsin-Madison Data-Driven Closure Modeling Using Derivative-free Kalman Methods link Sep 29th Krishna Garikipati University of Michigan Fokker-Planck-Inverse Reinforcement Learning: A physics-constrained approach to Markov Decision Process models with applications to cancer cell dynamics link Sep 22nd Alice Cicirello University of Cambridge Challenges and opportunities for integrating physics-knowledge in machine learning strategies: friction identification case study link Sep 8th Lu Lu Yale Deep neural operators with reliable extrapolation for multiphysics, multiscale & multifidelity problems link Sep 1st Eleni Chatzi ETH Z\u00fcrich Twinning and Model Discovery for Engineered Systems link Aug 25th Khalid Jawed UCLA Reduced Order Modeling and Inverse Design of Flexible Structures by Machine Learning link Aug 18th Amir Arzani University of Utah A flexible and generalizable XAI framework for scientific deep learning link July 21st Thomas Beckers Vanderbilt University Physics-enhanced Gaussian Processes for Learning of Electromechanical Systems link July 14th H.S. Udaykumar University of Iowa Data-driven multi-scale simulations for materials-by-design of energetic materials link July 7th Alvaro Coutinho Federal University of Rio de Janeiro Enhancing data-driven workflows for complex simulations link June 30th Peng Chen Georgia Institute of Technology Derivative-informed neural operators link June 9th Dongbin Xiu The Ohio State University Data-driven Modeling of Unknown Systems with Deep Neural Networks link May 26th Yexiang Xue Purdue University Scaling Up AI-driven Scientific Discovery via Embedding Physics Modeling into End-to-end Learning and Harnessing Random Projection link May 19th Eduardo Gildin TAMU Guided Deep Learning Manifold Linearization of Porous Media Flow Equations for Digital Twins Operations link May 12th Ying Liang Purdue University Data-assisted Algorithms for Inverse Random Source Scattering Problems link May 5th Lori Brady Johns Hopkins University ML-driven Models for Material Microstructure and Mechanical Behavior link May 4th Anima Anandkumar CalTech ML for Solving PDEs: Neural Operators on Function Spaces link Apr. 27th Paul Atzberger UC Santa Barbara Generative Machine Learning Approaches for Data-Driven Modeling and Reductions of Non-Linear Dynamics in Scientific Simulation link Apr. 14th Ameya Jagtap Brown University Scientific Machine Learning through the Lens of Physics-Informed Neural Networks link Apr. 7th Matthias Chung Emory University Big Data Inverse Problems \u2014 Promoting Sparsity and Learning to Regularize link Mar. 31st Jian Cao Northwestern University Physics-based AI-assisted Design and Control in Flexible Manufacturing link Mar. 10th Hessam Babaee University of Pittsburgh CUR Matrix Decomposition for Scalable Reduced-Order Modeling of Nonlinear Partial Differential Equations using Time-Dependent Bases link Feb. 24th Victor M. Zavala University of Wisconsin-Madison Bayesian Optimization: Exploiting Machine Learning Models, Physics, and High-Throughput Experiments link Feb. 10th Soledad Villar Johns Hopkins University The Passive Symmetries of Machine Learning link Jan. 27th Spencer H. Bryngelson GeorgiaTech Competitive Physics Informed Networks link Jan. 20th Ajay B. Harish University of Manchester Uncertainty quantification and deep learning for storm-surge prediction link Past Talks in 2022 Date Speaker Institution Title YouTube Dec. 16th Ralph Smith North Carolina State University Parameter Subset Selection and Active Subspace Techniques for Engineering and Biological Models link Nov. 17th Andrea Manzoni Politecnico di Milano Deep learning for reduced order modeling link Nov. 11th Michael Brenner Harvard University Scientific Uses of Automatic Differentiation link Nov. 4th, 12 PM Sorin Mitran University of North Carolina Data-driven information geometry approach to stochastic model reduction link Oct. 21st Eric de Sturler Virginia Tech Cheap and robust adaptive reduced order models for nonlinear inversion and design link Oct. 7th Jan Drgona PNNL Differentiable Programming for Modeling and Control of Dynamical Systems link Sept. 16 Benjamin Sanderse CWI Amsterdam Structure-preserving learning of embedded, discrete closure models link Aug. 25 Benjamin Erichson University of Pittsburgh Continuous Networks for Sequential Predictions link Aug. 18 Santi Adavani RocketML Industrial Grade Scientific Machine Learning: Challenges and Opportunities link July 21 Ricardo Vinuesa KTH Modeling and controlling turbulent flows through deep learning link July 1 Dirk Hartmann Siemens Machine Learning and Physics-based Simulations \u2013 Yin and Yang of Industrial Digital Twins link June 23 Molei Tao Georgia Institute of Technology Trustworthy learning of mechanical systems, and Stiefel optimization with applications to transformer and optimal transport link June 3 Tailin Wu Stanford University Learning to accelerate large-scale physical simulations in fluid and plasma physics link May 13 Ishan Khurjekar University of Florida Uncertainty-aware guided wave structural health monitoring using ensemble learning link Apr. 28 Benjamin Peherstorfer New York University Neural Galerkin schemes with active learning for high-dimensional evolution equations link Apr. 22 Petros Koumoutsakos Harvard University Artificial Intelligence and Scientific Computing for Fluid Mechanics link Apr. 8 Daniel Floryan University of Houston Charting dynamics from data link Mar. 25 Weinan E Princeton University Machine Learning and Multi-scale Modeling link Mar. 17 Yannis Kevrekidis Johns Hopkins University No equations, no variables, no space, no time: Old and new results on data and the modeling of complex systems link Mar. 11 Alice Cicirello TU Delft Interpretable, explainable and non-intrusive uncertainty propagation through expensive-to-evaluate models via ML-optimization link Mar. 3 Ming Zhong TAMU Machine Learning of Self Organization from Observation link Feb. 25 Lexing Ying Stanford Prony's method, analytic continuation, and quantum signal processing link Feb. 18 Kaushik Bhattacharya Caltech Multi-scale modeling and neural operators link Feb. 11 Sergei Tretiak LANL Machine Learning for materials and chemical dynamics link Feb. 4 Serkan Gugercin Virginia Tech Data-driven modeling of dynamical systems: A systems theoretic perspective link Jan. 28 Ashesh Chattopadhyay Rice University Deep learning meets data assimilation: On physically-consistent architectures and hybrid ensemble Kalman filters for weather forecasting link Jan. 20 Pat Langley Stanford University Computational Scientific Discovery: Heuristic Search for Communicable Laws and Models link Jan. 14 Greg Beroza Stanford University Towards Complete Machine-Learning-Based Earthquake Monitoring Workflows link Jan. 6 Miles Cranmer Princeton University The Problem with Deep Learning in Physics (and how to fix it) link Past Talks in 2021 Date Speaker Institution Title YouTube Dec. 3rd Igor Mezic UC Santa Barbara Koopman operator theory for dynamical systems, control and data analytics link Nov. 18th Michael Mahoney UC Berkeley Toward combining principled scientific models and principled machine learning models link Nov. 12th WaiChing Sun Columbia University Data-driven constitutive updates: from model-free poroelasticity to level set plasticity trained by neural networks link Nov. 4th Misha Khodak CMU Towards automatic architecture design for emerging machine learning tasks link Oct. 28th Masayuki Yano U. of Toronto Towards reliable, efficient, and automated model reduction of parametrized nonlinear PDEs: error estimation, adaptivity, and application to aerodynamics link Oct. 7th Youngsoo Choi LLNL libROM: Library for physics-constrained data-driven physical simulations link Sep. 30th Peter Benner Max Planck Identification of Nonlinear Dynamical Systems from Noisy Measurements link Sep. 2nd Ionut-Gabriel Farcas Oden Institute Learning hierarchies of reduced-dimension and context-aware low-fidelity models for multi-fidelity Monte Carlo sampling link Aug. 26th Jesse Capecelatro U. of Michagan Turbulent disperse two-phase flows: simulations and data-driven modeling link Aug. 19th Christopher J. Earls Cornell U. Gaining mechanistic insight through learning Green's functions: Uncovering the solutions to hidden PDEs link Aug. 13th Dmitriy Anistratov North Carolina State U. Reduced order models for thermal radiative transfer problems based on moment equations and POD/DMD of Eddington tensor link Aug. 5th Luca Magri Imperial College, London Physics-aware reservoir-computing for turbulence and chaotic learning NA Jul. 30th Marta D'Elia Sandia Data-driven learning of nonlocal models: bridging scales and design of new neural networks link Jul. 22nd Hannah Lu Stanford U. Dynamic model decomposition for reduced order modeling in flow and transport problems NA Jul. 15th Yeonjong Shin KAIST Towards a mathematical understanding of modern machine learning: theory, algorithms, and applications link Jul. 9th Rui Wang UC, San Diego Physics-guided deep learning for dynamics for forecasting link Jul. 1st Tan Bui UT, Austin Model-constrained deep learning approaches for inference, control, and uncertainty quantification link Jun. 24th Matthew Zahr U. of Notre Dame Model reduction of convection-dominated partial differential equations via optimization-based implicit feature tracking link Jun. 10th David Ryckelynck Mines ParisTech Model order reduction assisted by deep neural networks (ROM-net) link Jun. 3rd Harbir Antil George Mason U. Applications of Fractional Operators from Optimal Control to Machine Learning link May 27th Romit Maulik Argonne Neural architecture search for surrogate modeling link May 20th Tobias Pfaff , Alvaro Sanchez-Gonzalez DeepMind Learning physical simulation with Graph Network link May 14th George Karniadakis Brown U. Approximating functions, functionals, and operators using deep neural networks for diverse applications link Apr. 29th Traian Iliescu Virginia Tech. Large Eddy Simulation Reduced Order Models (LES-ROMs) link Apr. 15th Tommaso Taddei Inria Registration-based model reduction of parameterized advection-dominated PDEs link Apr. 7th Francisco Chinesta ENSAM ParisTech Empowering Hybrid Twins from Physics-Informed Artificial Intelligence link Apr. 1st Priya Donti Carnegie Mellon U. Incorporating power system physics into deep learning via implicit layers link Mar. 25th Mario Ohlberger U. Munster Model reduction with adaptive enrichment for large scale PDE-constrained optimization link Mar. 18th Karthik Duraisamy U. of Michigan Towards Robust, Accurate and Tractable Reduced Order Models for Multi-scale, Multi-physics Problems link Mar. 10th Pawan Goyal Max Planck Physics-informed learning for nonlinear dynamical systems: a deep learning approach to operator inference link Feb. 18th Nils Thuerey Technische Universitat Munchen Differentiable Physics Simulations for Deep Learning link Jan. 27th Alfio Quarteroni EPFL The mathematical heart: a computational model for the simulation of the heart function link Jan. 21th Steven Brunton U. of Washington Interpretable and Generalizable Machine Learning for Fluid Mechanics link Jan. 7th Irina Tezaur Sandia The Schwarz alternating methods as a means for concurrent multiscale coupling in solid mechanics link Past Talks in 2020 Date Speaker Institution Title YouTube Dec. 17th Jan Hesthaven EPFL Non-intrusive reduced order models using physics informed neural networks link Dec. 10th Jesse Chan Rice U. Entropy stable schemes for nonlinear conservation laws: high order discontinuous Galerkin methods and reduced order modeling link Nov. 18th Paris Perdikaris UPenn When and why physics-informed neural networks fail to train: A neural tangent kernel perspective link Nov. 12th Donsub Rim Courant Institute Distilling nonlinear shock waves: Nonlinear model reduction for transport dominated problems using deep neural networks link Oct. 29th Byungsoo Kim ETH Zurich Data-Driven Methods for Fluid Simulations in Computer Graphics link Oct. 15th Youngkyu Kim UC Berkeley A fast and accurate physics-informed neural network reduced order model with shallow masked autoencoder link","title":"DDPS"},{"location":"ddps.html#ddps-webinar-in-california-time","text":"DDPS stands for data-driven physical simulation. We hold weekly webinar, in average, either on Thursday or Friday at Lawrence Livermore National Laboratory. If you are interested in giving a webinar talk or would like to recommend a speaker, please send an email to choi15@llnl.gov. If you are interested in being included in DDPS email list, please also send an email to choi15@llnl.gov.","title":"DDPS Webinar (in California time)"},{"location":"ddps.html#scheduled-talks-in-2025","text":"When Speaker Institution Title WebEx Jan 31st, 10 AM Soledad Le Clainche Universidad Politecnica de Madrid Hybrid reduced order models: from exploiting physical principles to novel machine learning approaches link Feb 20th, 4 PM Youngjoon Hong KAIST Operator Networks Based on Numerical Analysis link Mar 28th, 10 AM Kunihiko Taira UCLA TBD link Apr 3rd, 10 AM Johannes Brandstetter Johannes Kepler University Linz TBD link Apr 18th, 10 AM Sung Ha Kang GeorgiaTech TBD link","title":"Scheduled Talks in 2025"},{"location":"ddps.html#past-talks-in-2024","text":"Date Speaker Institution Title YouTube Dec 13th Hamid Sadjadpour UCSC Everlasting Information-theoretic Encryption in the Era of Quantum Computing and AI link Nov 22nd David Bortz University of Colorado Boulder The weak form is stronger than you think link Nov 15th Yasaman Bahri Google DeepMind A first-principles approach to understanding deep learning link Nov 1st Annalisa Quaini University of Houston Reducing the cost of ocean modeling with a data-driven ROM and LES link Oct 25th Marius Zeinhofer University Hospital Freiburg Infinite Dimensional Optimization for Scientific Machine Learning link Oct 18th Ching-Yao Lai Stanford Machine-Precision Neural Networks for Multiscale Dynamics link Sep 27th Akhil Nekkanti CalTech Data-driven techniques for analysis of turbulent flows link Sep 20th Jian-Xun Wang University of Notre Dame Neural Differentiable Physics: Unifying Numerical PDEs and Deep Learning for Data-Augmented Computational Physics link Aug 23rd Aditi Krishnapriyan UC Berkeley Bringing numerical methods and deep learning with physics-constrained differentiable solvers link Aug 2nd Elizabeth Qian Georgia Tech Multi-fidelity linear regression for scientific machine learning from scarce data link July 19th Alberto Padovan University of Illinois, Urbana-Champaign Data-driven model reduction via non-intrusive optimization of projection operators and reduced-order dynamics link July 12th Francesco Romor Weierstrass Instititute Intrusive model order reduction of parametric PDEs using neural networks approximants of the solution manifold and adaptive hyper-reduction link Jun 28th Doug James Stanford Recent progress in reduced-order modeling for computer graphics and sound link Jun 21st Gianluca Iaccarino Stanford AutoEncoders for Aerodynamic Predictions link Jun 14th Fabio Giampaolo University of Naples Federico II Learning paradigms for neural networks: The locally backpropagated forward-forward algorithm link May 10th Yexiang Xue Purdue University Vertical reasoning enhanced learning, generation and scientific discovery link Apr 12th Burcu Beykal University of Connecticut A Data-Driven Process Systems Engineering Approach for Supply Chain Management and Enterprise-Wide Optimization link Apr 5th Yanlai Chen UMass Dartmouth GPT-PINN and TGPT-PINN: Generative Pre-Trained Physics-Informed Neural Networks toward non-intrusive Meta-learning of parametric PDEs link Feb 22nd Francesco Ballarin Universit\u00e0 Cattolica del Sacro Cuore Regularized reduced order models for control of Navier--Stokes equations link Feb 16th George Bollas The University of Connecticut Physics Informed Machine Learning through Symbolic Regression link Feb 8th Zhiwen Zhang The University of Hong Kong DeepParticle: learning invariant measure by a deep neural network minimizing Wasserstein distance on data generated from an interacting particle method link Jan 26th Boris Kramer UCSD Structure-Preserving Learning of High-Dimensional Lagrangian and Hamiltonian Systems link Jan 19th Jan Christoph UCSF Predicting Heart Rhythm Disorders from Spatio-Temporal Imaging Data using Artificial Intelligence link Jan 12th Guang Lin Purdue University Towards Third Wave AI: Interpretable, Robust Trustworthy Machine Learning for Diverse Applications in Science and Engineering link","title":"Past Talks in 2024"},{"location":"ddps.html#past-talks-in-2023","text":"Date Speaker Institution Title YouTube Dec 15th Dimitrios Giannakis Dartmouth College Quantum information and data science for modeling classical dynamics link Dec 8th Nicolas Boulle The University of Cambridge Elliptic PDE learning is provably data-efficient link Nov 17th Mengwu Guo University of Twente Probabilistic Methods for Data-Driven Reduced-Order Modeling link Nov 3rd Michael E. Glinsky BNZ Energy Inc. A physics-based Reduced Order Model capturing the topology of dynamical manifolds link Nov 3rd Elnaz Rezaian University of Michigan Data-driven balancing transformation for predictive model order reduction link Oct 20th Christopher Rackauckas MIT Generalizing Scientific Machine Learning and Differentiable Simulation Beyond Continuous Models link Oct 13th Jinlong Wu University of Wisconsin-Madison Data-Driven Closure Modeling Using Derivative-free Kalman Methods link Sep 29th Krishna Garikipati University of Michigan Fokker-Planck-Inverse Reinforcement Learning: A physics-constrained approach to Markov Decision Process models with applications to cancer cell dynamics link Sep 22nd Alice Cicirello University of Cambridge Challenges and opportunities for integrating physics-knowledge in machine learning strategies: friction identification case study link Sep 8th Lu Lu Yale Deep neural operators with reliable extrapolation for multiphysics, multiscale & multifidelity problems link Sep 1st Eleni Chatzi ETH Z\u00fcrich Twinning and Model Discovery for Engineered Systems link Aug 25th Khalid Jawed UCLA Reduced Order Modeling and Inverse Design of Flexible Structures by Machine Learning link Aug 18th Amir Arzani University of Utah A flexible and generalizable XAI framework for scientific deep learning link July 21st Thomas Beckers Vanderbilt University Physics-enhanced Gaussian Processes for Learning of Electromechanical Systems link July 14th H.S. Udaykumar University of Iowa Data-driven multi-scale simulations for materials-by-design of energetic materials link July 7th Alvaro Coutinho Federal University of Rio de Janeiro Enhancing data-driven workflows for complex simulations link June 30th Peng Chen Georgia Institute of Technology Derivative-informed neural operators link June 9th Dongbin Xiu The Ohio State University Data-driven Modeling of Unknown Systems with Deep Neural Networks link May 26th Yexiang Xue Purdue University Scaling Up AI-driven Scientific Discovery via Embedding Physics Modeling into End-to-end Learning and Harnessing Random Projection link May 19th Eduardo Gildin TAMU Guided Deep Learning Manifold Linearization of Porous Media Flow Equations for Digital Twins Operations link May 12th Ying Liang Purdue University Data-assisted Algorithms for Inverse Random Source Scattering Problems link May 5th Lori Brady Johns Hopkins University ML-driven Models for Material Microstructure and Mechanical Behavior link May 4th Anima Anandkumar CalTech ML for Solving PDEs: Neural Operators on Function Spaces link Apr. 27th Paul Atzberger UC Santa Barbara Generative Machine Learning Approaches for Data-Driven Modeling and Reductions of Non-Linear Dynamics in Scientific Simulation link Apr. 14th Ameya Jagtap Brown University Scientific Machine Learning through the Lens of Physics-Informed Neural Networks link Apr. 7th Matthias Chung Emory University Big Data Inverse Problems \u2014 Promoting Sparsity and Learning to Regularize link Mar. 31st Jian Cao Northwestern University Physics-based AI-assisted Design and Control in Flexible Manufacturing link Mar. 10th Hessam Babaee University of Pittsburgh CUR Matrix Decomposition for Scalable Reduced-Order Modeling of Nonlinear Partial Differential Equations using Time-Dependent Bases link Feb. 24th Victor M. Zavala University of Wisconsin-Madison Bayesian Optimization: Exploiting Machine Learning Models, Physics, and High-Throughput Experiments link Feb. 10th Soledad Villar Johns Hopkins University The Passive Symmetries of Machine Learning link Jan. 27th Spencer H. Bryngelson GeorgiaTech Competitive Physics Informed Networks link Jan. 20th Ajay B. Harish University of Manchester Uncertainty quantification and deep learning for storm-surge prediction link","title":"Past Talks in 2023"},{"location":"ddps.html#past-talks-in-2022","text":"Date Speaker Institution Title YouTube Dec. 16th Ralph Smith North Carolina State University Parameter Subset Selection and Active Subspace Techniques for Engineering and Biological Models link Nov. 17th Andrea Manzoni Politecnico di Milano Deep learning for reduced order modeling link Nov. 11th Michael Brenner Harvard University Scientific Uses of Automatic Differentiation link Nov. 4th, 12 PM Sorin Mitran University of North Carolina Data-driven information geometry approach to stochastic model reduction link Oct. 21st Eric de Sturler Virginia Tech Cheap and robust adaptive reduced order models for nonlinear inversion and design link Oct. 7th Jan Drgona PNNL Differentiable Programming for Modeling and Control of Dynamical Systems link Sept. 16 Benjamin Sanderse CWI Amsterdam Structure-preserving learning of embedded, discrete closure models link Aug. 25 Benjamin Erichson University of Pittsburgh Continuous Networks for Sequential Predictions link Aug. 18 Santi Adavani RocketML Industrial Grade Scientific Machine Learning: Challenges and Opportunities link July 21 Ricardo Vinuesa KTH Modeling and controlling turbulent flows through deep learning link July 1 Dirk Hartmann Siemens Machine Learning and Physics-based Simulations \u2013 Yin and Yang of Industrial Digital Twins link June 23 Molei Tao Georgia Institute of Technology Trustworthy learning of mechanical systems, and Stiefel optimization with applications to transformer and optimal transport link June 3 Tailin Wu Stanford University Learning to accelerate large-scale physical simulations in fluid and plasma physics link May 13 Ishan Khurjekar University of Florida Uncertainty-aware guided wave structural health monitoring using ensemble learning link Apr. 28 Benjamin Peherstorfer New York University Neural Galerkin schemes with active learning for high-dimensional evolution equations link Apr. 22 Petros Koumoutsakos Harvard University Artificial Intelligence and Scientific Computing for Fluid Mechanics link Apr. 8 Daniel Floryan University of Houston Charting dynamics from data link Mar. 25 Weinan E Princeton University Machine Learning and Multi-scale Modeling link Mar. 17 Yannis Kevrekidis Johns Hopkins University No equations, no variables, no space, no time: Old and new results on data and the modeling of complex systems link Mar. 11 Alice Cicirello TU Delft Interpretable, explainable and non-intrusive uncertainty propagation through expensive-to-evaluate models via ML-optimization link Mar. 3 Ming Zhong TAMU Machine Learning of Self Organization from Observation link Feb. 25 Lexing Ying Stanford Prony's method, analytic continuation, and quantum signal processing link Feb. 18 Kaushik Bhattacharya Caltech Multi-scale modeling and neural operators link Feb. 11 Sergei Tretiak LANL Machine Learning for materials and chemical dynamics link Feb. 4 Serkan Gugercin Virginia Tech Data-driven modeling of dynamical systems: A systems theoretic perspective link Jan. 28 Ashesh Chattopadhyay Rice University Deep learning meets data assimilation: On physically-consistent architectures and hybrid ensemble Kalman filters for weather forecasting link Jan. 20 Pat Langley Stanford University Computational Scientific Discovery: Heuristic Search for Communicable Laws and Models link Jan. 14 Greg Beroza Stanford University Towards Complete Machine-Learning-Based Earthquake Monitoring Workflows link Jan. 6 Miles Cranmer Princeton University The Problem with Deep Learning in Physics (and how to fix it) link","title":"Past Talks in 2022"},{"location":"ddps.html#past-talks-in-2021","text":"Date Speaker Institution Title YouTube Dec. 3rd Igor Mezic UC Santa Barbara Koopman operator theory for dynamical systems, control and data analytics link Nov. 18th Michael Mahoney UC Berkeley Toward combining principled scientific models and principled machine learning models link Nov. 12th WaiChing Sun Columbia University Data-driven constitutive updates: from model-free poroelasticity to level set plasticity trained by neural networks link Nov. 4th Misha Khodak CMU Towards automatic architecture design for emerging machine learning tasks link Oct. 28th Masayuki Yano U. of Toronto Towards reliable, efficient, and automated model reduction of parametrized nonlinear PDEs: error estimation, adaptivity, and application to aerodynamics link Oct. 7th Youngsoo Choi LLNL libROM: Library for physics-constrained data-driven physical simulations link Sep. 30th Peter Benner Max Planck Identification of Nonlinear Dynamical Systems from Noisy Measurements link Sep. 2nd Ionut-Gabriel Farcas Oden Institute Learning hierarchies of reduced-dimension and context-aware low-fidelity models for multi-fidelity Monte Carlo sampling link Aug. 26th Jesse Capecelatro U. of Michagan Turbulent disperse two-phase flows: simulations and data-driven modeling link Aug. 19th Christopher J. Earls Cornell U. Gaining mechanistic insight through learning Green's functions: Uncovering the solutions to hidden PDEs link Aug. 13th Dmitriy Anistratov North Carolina State U. Reduced order models for thermal radiative transfer problems based on moment equations and POD/DMD of Eddington tensor link Aug. 5th Luca Magri Imperial College, London Physics-aware reservoir-computing for turbulence and chaotic learning NA Jul. 30th Marta D'Elia Sandia Data-driven learning of nonlocal models: bridging scales and design of new neural networks link Jul. 22nd Hannah Lu Stanford U. Dynamic model decomposition for reduced order modeling in flow and transport problems NA Jul. 15th Yeonjong Shin KAIST Towards a mathematical understanding of modern machine learning: theory, algorithms, and applications link Jul. 9th Rui Wang UC, San Diego Physics-guided deep learning for dynamics for forecasting link Jul. 1st Tan Bui UT, Austin Model-constrained deep learning approaches for inference, control, and uncertainty quantification link Jun. 24th Matthew Zahr U. of Notre Dame Model reduction of convection-dominated partial differential equations via optimization-based implicit feature tracking link Jun. 10th David Ryckelynck Mines ParisTech Model order reduction assisted by deep neural networks (ROM-net) link Jun. 3rd Harbir Antil George Mason U. Applications of Fractional Operators from Optimal Control to Machine Learning link May 27th Romit Maulik Argonne Neural architecture search for surrogate modeling link May 20th Tobias Pfaff , Alvaro Sanchez-Gonzalez DeepMind Learning physical simulation with Graph Network link May 14th George Karniadakis Brown U. Approximating functions, functionals, and operators using deep neural networks for diverse applications link Apr. 29th Traian Iliescu Virginia Tech. Large Eddy Simulation Reduced Order Models (LES-ROMs) link Apr. 15th Tommaso Taddei Inria Registration-based model reduction of parameterized advection-dominated PDEs link Apr. 7th Francisco Chinesta ENSAM ParisTech Empowering Hybrid Twins from Physics-Informed Artificial Intelligence link Apr. 1st Priya Donti Carnegie Mellon U. Incorporating power system physics into deep learning via implicit layers link Mar. 25th Mario Ohlberger U. Munster Model reduction with adaptive enrichment for large scale PDE-constrained optimization link Mar. 18th Karthik Duraisamy U. of Michigan Towards Robust, Accurate and Tractable Reduced Order Models for Multi-scale, Multi-physics Problems link Mar. 10th Pawan Goyal Max Planck Physics-informed learning for nonlinear dynamical systems: a deep learning approach to operator inference link Feb. 18th Nils Thuerey Technische Universitat Munchen Differentiable Physics Simulations for Deep Learning link Jan. 27th Alfio Quarteroni EPFL The mathematical heart: a computational model for the simulation of the heart function link Jan. 21th Steven Brunton U. of Washington Interpretable and Generalizable Machine Learning for Fluid Mechanics link Jan. 7th Irina Tezaur Sandia The Schwarz alternating methods as a means for concurrent multiscale coupling in solid mechanics link","title":"Past Talks in 2021"},{"location":"ddps.html#past-talks-in-2020","text":"Date Speaker Institution Title YouTube Dec. 17th Jan Hesthaven EPFL Non-intrusive reduced order models using physics informed neural networks link Dec. 10th Jesse Chan Rice U. Entropy stable schemes for nonlinear conservation laws: high order discontinuous Galerkin methods and reduced order modeling link Nov. 18th Paris Perdikaris UPenn When and why physics-informed neural networks fail to train: A neural tangent kernel perspective link Nov. 12th Donsub Rim Courant Institute Distilling nonlinear shock waves: Nonlinear model reduction for transport dominated problems using deep neural networks link Oct. 29th Byungsoo Kim ETH Zurich Data-Driven Methods for Fluid Simulations in Computer Graphics link Oct. 15th Youngkyu Kim UC Berkeley A fast and accurate physics-informed neural network reduced order model with shallow masked autoencoder link","title":"Past Talks in 2020"},{"location":"download.html","text":"Latest Release Code documentation \u250a Sources Download libROM-master.zip Please use the GitHub issue tracker to report bugs or post questions or comments . All Releases Filename Version Release Date Size CLOC Notes libROM-master.zip v1.0 Sep 2021 160K 22K initial release","title":"Download"},{"location":"download.html#latest-release","text":"Code documentation \u250a Sources Download libROM-master.zip Please use the GitHub issue tracker to report bugs or post questions or comments .","title":"Latest Release"},{"location":"download.html#all-releases","text":"Filename Version Release Date Size CLOC Notes libROM-master.zip v1.0 Sep 2021 160K 22K initial release","title":"All Releases"},{"location":"examples.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); Example Applications This page provides a list of libROM example applications. For detailed documentation of the libROM sources, including the examples, see the online Doxygen documentation or the doc directory in the distribution. The goal of the example codes is to provide a step-by-step introduction to libROM in simple model settings. Select from the categories below to display examples and miniapps that contain the respective feature. All examples support (arbitrarily) high-order meshes and finite element spaces . The numerical results from the example codes can be visualized using the GLVis or VisIt visualization tools. See the GLVis and VisIt websites for more details. Users are encouraged to submit any example codes and miniapps that they have created and would like to share. Contact a member of the libROM team to report bugs or post questions or comments . **Application (PDE)** All Diffusion Elasticity Wave Navier-Stokes Advection Euler Vlasov Maxwell Grad-div Eigenproblem **Reduced order models type** All pROM DMD **Parameterization type** All Trust region Interpolation Global Reproductive **hyper-reduction** All Hyper-reduction No hyper-reduction **Physics code** All MFEM Laghos HyPar **Optimization solver** All No optimizer Differential evolution Global pROM for Poisson problem This example code demonstrates the use of libROM and MFEM to define a reduced order model for a simple isoparametric finite element discretization of the Poisson problem $$-\\Delta u = f$$ with homogeneous Dirichlet boundary conditions. The related tutorial YouTube video can be found here . The example parameterizes the righthand side with frequency variable, $\\kappa$: $$f = \\cases{ \\displaystyle \\sin(\\kappa (x_0+x_1+x_2)) & for 3D \\cr \\displaystyle \\sin(\\kappa (x_0+x_1)) & for 2D }$$ The 2D solution contour plot for $\\kappa=\\pi$ is shown in the figure on the right to show the effect of $\\kappa$. For demonstration, we sample solutions at $\\kappa=\\pi$, $1.1\\pi$, and $1.2\\pi$. Then a ROM is build with basis size of 3, which is used to predict the solution for $\\kappa = 1.15\\pi$. The ROM is able to achieve a speedup of $7.5$ with a relative error of $6.4\\times10^{-4}$. One can follow the command line options below to reproduce the numerical results summarized in the table below: offline1 : poisson_global_rom -offline -f 1.0 -id 0 offline2 : poisson_global_rom -offline -f 1.1 -id 1 offline3 : poisson_global_rom -offline -f 1.2 -id 2 merge : poisson_global_rom -merge -ns 3 reference FOM solution : poisson_global_rom -fom -f 1.15 online : poisson_global_rom -online -f 1.15 The command line option -f defines a frequency $\\nu$ of the sinusoidal right hand side function. The relation between $\\kappa$ and the value $\\nu$ specified by -f is defined as $\\kappa = \\pi \\nu$. The table below shows the performance result for the testing case -f 1.15 . FOM solution time ROM solution time Speed-up Solution relative error 0.22 sec 0.029 sec 7.5 6.4e-4 The code that generates the numerical results above can be found in ( poisson_global_rom.cpp ) and the explanation of codes is provided in here . The poisson_global_rom.cpp is based on ex1p.cpp from MFEM with a modification on the right hand side function. Greedy pROM for Poisson problem This example code demonstrates physics-informed greedy sampling procedure of building local pROMs for the Poisson problem. $$-\\Delta u = f$$ with homogeneous Dirichlet boundary conditions. The example parameterizes the righthand side with frequency variable, $\\kappa$: $$f = \\cases{ \\displaystyle \\sin(\\kappa (x_0+x_1+x_2)) & for 3D \\cr \\displaystyle \\sin(\\kappa (x_0+x_1)) & for 2D }$$ A set of local ROMs are built for chosen parameter sample points. The parameter sample points are chosen through physics-informed greedy procedure, which is explained in detail by the tutorial YouTube video . Then the local ROMs are interpolated to build a tailored local ROM for a predictive case. Unlike the global ROM, the interpolated ROM has dimension that is the same as the individual local ROM. For example, one can follow the command line options below to reproduce the numerical results summarized in the table below: greedy step : poisson_local_rom_greedy -build_database -greedy-param-min 0.5 -greedy-param-max 3.0 -greedy-param-size 15 -greedysubsize 4 -greedyconvsize 6 -greedyrelerrortol 0.01 --mesh \"../../../dependencies/mfem/data/square-disc-nurbs.mesh\" This particular greedy step generates local pROMs at the following 8 parameter points, i.e., 0.521923, 0.743108, 1.322449, 1.754950, 2.011140, 2.281129, 2.587821, 2.950198. reference FOM solution : poisson_local_rom_greedy -fom --mesh \"../../../dependencies/mfem/data/square-disc-nurbs.mesh\" -f X.XX online : poisson_local_rom_greedy -use_database -online --mesh \"../../../dependencies/mfem/data/square-disc-nurbs.mesh\" -f X.XX You can replace X.XX with any value between 0.5 and 3.0. The table below shows the performance results for three different parameter points. X.XX FOM solution time ROM solution time Speed-up Solution relative error 1.0 0.0135 sec 2.38e-6 sec 5.7e3 9.99593e-5 2.4 0.0137 sec 2.48e-6 sec 5.5e3 0.0001269 2.8 0.0159 sec 2.92e-6 sec 5.4e3 0.00126 The code that generates the numerical results above can be found in ( poisson_local_rom_greedy.cpp ). The poisson_local_rom_greedy.cpp is based on ex1p.cpp from MFEM with a modification on the right hand side function. Global pROM for elliptic eigenproblem This example code demonstrates the use of libROM and MFEM to define a reduced order model for a finite element discretization of the eigenvalue problem $$-\\text{div}(\\kappa u) = \\lambda u$$ with homogeneous Dirichlet boundary conditions. The example parameterizes the diffusion operator on the left hand side with the amplitude, $\\alpha$: $$\\kappa(x) = \\cases{ \\displaystyle 1 + \\alpha & for $\\vert x_1 \\vert < 0.25$ and $\\vert x_2 \\vert < 0.25$ \\cr \\displaystyle 1 & otherwise }$$ The 2D solution contour plot for $\\alpha=0.5$ is shown in the figure on the right to show the effect of $\\alpha$. For demonstration, we sample solutions at $\\alpha=0$ and $1$. Then a ROM is build with basis size of 20, which is used to predict the solution for $\\alpha = 0.5$. The ROM is able to achieve a speedup of $375$ with a relative error of $6.7\\times10^{-5}$ in the first eigenvalue and $2.4 \\times 10^{-3}$ in the first eigenvector. One can follow the command line options below to reproduce the numerical results summarized in the table below: offline1 : elliptic_eigenproblem_global_rom -offline -p 2 -rs 2 -id 0 -a 0 -n 4 offline2 : elliptic_eigenproblem_global_rom -offline -p 2 -rs 2 -id 1 -a 1 -n 4 merge : elliptic_eigenproblem_global_rom -p 2 -rs 2 -ns 2 -n 4 reference FOM solution : elliptic_eigenproblem_global_rom -fom -p 2 -rs 2 -a 0.5 -n 4 online : elliptic_eigenproblem_global_rom -online -p 2 -rs 2 -a 0.5 -ef 1.0 -n 4 The command line option -a defines the amplitude of the conductivity $\\alpha$ in the contrast region of the diffusion operator on left hand side. The table below shows the performance result for the testing case -a 0.5 . FOM solution time ROM solution time Speed-up First eigenvalue relative error First eigenvector relative error 1.2e-1 sec 3.2e-4 sec 375 6.7e-5 2.4e-3 The code that generates the numerical results above can be found in ( elliptic_eigenproblem_global_rom.cpp ). The elliptic_eigenproblem_global_rom.cpp is based on ex11p.cpp from MFEM with a modification on the differential operator on the left hand side. DMD for heat conduction For a given initial condition, i.e., $u_0(x) = u(0,x)$, heat conduction solves a simple 2D/3D time dependent nonlinear heat conduction problem $$\\frac{\\partial u}{\\partial t} = \\nabla\\cdot (\\kappa + \\alpha u)\\nabla u,$$ with a natural insulating boundary condition $\\frac{du}{dn}=0$. We linearize the problem by using the temperature field $u$ from the previous time step to compute the conductivity coefficient. One can run the following command line options to reproduce the DMD results summarized in the table below: heat_conduction -s 3 -a 0.5 -k 0.5 -o 4 -tf 0.7 -vs 1 -visit FOM solution time DMD setup time DMD query time DMD relative error 4.8 sec 0.34 sec 1.4e-3 sec 8.2e-4 The code that generates the numerical results above can be found in ( heat_conduction.cpp ). The heat_conduction.cpp is based on ex16p.cpp from MFEM. Parametric DMD for heat conduction This example demonstrates the parametric DMD on the heat conduction problem . The initial condition, $u_0(x)$, is parameterized by the center of circle and the radius, i.e., $$u_0(x) = \\cases{ \\displaystyle 2 & for $|x-c| < r$ \\cr \\displaystyle 1 & for $|x-c| \\ge r$ }$$ One can run the following command line options to reproduce the parametric DMD results summarized in the table below: rm -rf parameters.txt parametric_heat_conduction -r 0.1 -cx 0.1 -cy 0.1 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.1 -cx 0.1 -cy 0.5 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.1 -cx 0.5 -cy 0.1 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.1 -cx 0.5 -cy 0.5 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.5 -cx 0.1 -cy 0.1 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.25 -cx 0.2 -cy 0.4 -o 4 -visit -online -predict parametric_heat_conduction -r 0.4 -cx 0.2 -cy 0.3 -o 4 -visit -online -predict where r, cx, and cy specify the radius, the x and y coordinates of circular initial conditions. r cx cy FOM solution time DMD setup time DMD query time DMD relative error 0.25 0.2 0.4 13.3 sec 0.34 sec 1.2 sec 7.0e-3 0.2 0.4 0.2 13.8 sec 0.32 sec 1.2 sec 3.9e-3 0.3 0.3 0.3 13.6 sec 0.33 sec 1.1 sec 1.3e-2 0.3 0.4 0.2 14.1 sec 0.34 sec 1.3 sec 8.4e-3 0.2 0.3 0.4 14.2 sec 0.34 sec 1.3 sec 7.9e-3 0.4 0.2 0.3 13.9 sec 0.36 sec 1.5 sec 9.0e-3 The code that generates the numerical results above can be found in ( parametric_heat_conduction.cpp ). The parametric_heat_conduction.cpp is based on ex16p.cpp from MFEM. Optimal control for heat conduction with DMD and differential evolution This example demonstrates the optimal control heat conduction problem with greedy parametric DMD and differential evolution. The initial condition, $u_0(x)$, is parameterized by the center of circle and the radius, i.e., $$u_0(x) = \\cases{ \\displaystyle 2 & for $|x-c| < r$ \\cr \\displaystyle 1 & for $|x-c| \\ge r$ }$$ The goal of the optimal control problem is to find an initial condition that achieves the target last time step temperature distribution. If it does not achieve the target, then it should be closest, given the initial condition parameterization. It is formulated mathematically as an optimization problem: $$ \\underset{c,r}{minimize} \\ || u_T(c,r) - u_{target} ||_2^2,$$ where $u_T$ denotes the last time step temperature and $u_{target}$ denotes the target temperature. Note that $u_T$ depends on the initial condition parameters, i.e., $c$ and $r$. It means that we obtain $u_T$ by solving a forward heat conduction problem. As you can imagine, it needs to explore the parameter space and try to find $c$ and $r$ that produces $u_T$ that best matches $u_{target}$. If each solution process of heat conduction problem is computationally expensive, the search for the optimal parameter can take a while. Therefore, we use our parametric DMD to expedite the process and the search algorithm is done by the differential evolution . Here are the steps to solve the optimal control problem. First, you must delete any post-processed files from the previous differential evolution run. For example, rm -rf parameters.txt rm -rf de_parametric_heat_conduction_greedy_* Then create parametric DMD using a greedy approach with physics-informed error indicator: de_parametric_heat_conduction_greedy -build_database -rdim 16 -greedy-param-size 20 -greedysubsize 10 -greedyconvsize 15 -greedyreldifftol 0.0001 Then you can generate target temperature field with a specific $r$ and $c$ values. Here we used $r=0.2$, $cx=0.2$, and $cy=0.2$ to generate a target temperature field. The target temperature field is shown in the picture above (the one on the left). Therefore, if DMD is good enough, the differential evolution should be able to find $c$ and $r$ values that are closed to these: de_parametric_heat_conduction_greedy -r 0.2 -cx 0.2 -cy 0.2 -visit (Compute target FOM) where r, cx, and cy specify the radius, the x and y coordinates of circular initial conditions. Now you can run the differential evolution using the parametric DMD: de_parametric_heat_conduction_greedy -r 0.2 -cx 0.2 -cy 0.2 -visit -de -de_f 0.9 -de_cr 0.9 -de_ps 50 -de_min_iter 10 -de_max_iter 100 -de_ct 0.001 (Run interpolative differential evolution to see if target FOM can be matched) The differential evolution should be able to find the following optimal control parameters, e.g., in Quartz: $r=0.2002090156652667$, $cx=0.2000936529076073$, and $cy=0.2316380936755735$, which are close to the true parameters that were used to generate the targer temperature field. The DMD temperature field at the last time step on this control parameters is shown in the picture above (the one on the right). The code that generates the numerical results above can be found in ( de_parametric_heat_conduction_greedy.cpp ). The de_parametric_heat_conduction_greedy.cpp is based on ex16p.cpp from MFEM. DMDc for heat conduction For a given initial condition, i.e., $u_0(x) = u(0,x)$, heat conduction_dmdc solves a simple 2D time dependent nonlinear heat conduction problem $$\\frac{\\partial u}{\\partial t} = \\nabla\\cdot (\\kappa + \\alpha u)\\nabla u + f,$$ with a natural insulating boundary condition $\\frac{du}{dn}=0$ and an external inlet-outlet source $$ f(x,t) = A_{+}(t) \\exp\\left(\\dfrac{-| x - x_{+} |^2}{2}\\right) - A_{-}(t) \\exp\\left(\\dfrac{-| x - x_{-} |^2}{2}\\right)), $$ where the source locations are $x_+ = (0, 0)$ and $x_- = (0.5, 0.5)$. The amplitude $A_+$ and $A_-$ are regarded as control variables. We linearize the problem by using the temperature field $u$ from the previous time step to compute the conductivity coefficient. One can run the following command line options to reproduce the DMDc results summarized in the table below: heat_conduction_dmdc -s 1 -a 0.0 -k 1.0 -rs 4 FOM solution time DMD setup time DMD query time DMD relative error 16.8 sec 5.2e-1 sec 1.2e-2 sec 2.4e-4 The code that generates the numerical results above can be found in ( heat_conduction_dmdc.cpp ). The heat_conduction_dmdc.cpp is based on ex16p.cpp from MFEM. pROM for mixed nonlinear diffusion For a given initial condition, i.e., $p_0(x) = p(0,x)$, mixed nonlinear diffusion problem solves a simple 2D/3D time dependent nonlinear problem: $$\\frac{\\partial p}{\\partial t} + \\nabla\\cdot \\boldsymbol{v} = f\\,, \\qquad \\nabla p = -a(p)\\boldsymbol{v},$$ with a natural insulating boundary condition $\\frac{\\partial v}{\\partial n}=0$. The $H(div)$-conforming Raviart-Thomas finite element space is used for the velocity function $\\boldsymbol{v}$, and the $L^2$ finite element space is used for pressure function, $p$. This example introduces how the hyper-reduction is implemented and how the reduced bases for two field varibles, $p$ and $\\boldsymbol{v}$. One can run the following command line options to reproduce the pROM results summarized in the table below: offline1 : mixed_nonlinear_diffusion -p 1 -offline -id 0 -sh 0.25 offline2 : mixed_nonlinear_diffusion -p 1 -offline -id 1 -sh 0.15 merge : mixed_nonlinear_diffusion -p 1 -merge -ns 2 reference FOM solution : mixed_nonlinear_diffusion -p 1 -offline -id 2 -sh 0.2 online (DEIM) : mixed_nonlinear_diffusion -p 1 -online -rrdim 8 -rwdim 8 -sh 0.2 -id 2 online (S-OPT) : mixed_nonlinear_diffusion -p 1 -online -rrdim 8 -rwdim 8 -sh 0.2 -id 2 -sopt online (EQP) : mixed_nonlinear_diffusion -p 1 -online -rrdim 8 -rwdim 8 -ns 2 -sh 0.2 -id 2 -eqp -maxnnls 30 FOM solution time Hyper-reduction ROM solution time Speed-up Solution relative error 68.59 sec DEIM/S-OPT 3.6 sec 19.1 1.6e-3 EQP 0.38 sec 180.5 1.8e-3 The code that generates the numerical results above can be found in ( mixed_nonlinear_diffusion.cpp ). The mixed_nonlinear_diffusion.cpp is based on ex16p.cpp from MFEM and modified to support mixed finite element approach. DMD for linear advection with discontinuous pulses For a given initial condition, i.e., $u(0,x) = u_0(x)$, 1D linear advection of the form $$\\frac{\\partial u}{\\partial t} + c\\frac{\\partial x}{\\partial t} = 0,$$ where $c$ is advection velocity. The initial condition, $u_0(x)$, is given by $$u_0(x) = \\cases{ \\displaystyle \\exp\\left (-\\log(2)\\frac{(x+7)^2}{0.0009}\\right ) & for $-0.8 \\le x \\le -0.6$ \\cr \\displaystyle 1 & for $-0.4 \\le x \\le -0.2$ \\cr \\displaystyle 1-|10(x-0.1)| & for $0 \\le x \\le -0.2$ \\cr \\displaystyle \\sqrt{1-100(x-0.5)^2} & for $0.4 \\le x \\le 0.6$ \\cr \\displaystyle 0 & \\text{otherwise} }$$ The DMD is applied to accelerate the advection simulation: FOM solution time DMD setup time DMD query time 3.85 sec 0.18 sec 0.027 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 1D Linear Advection-Discontinuous Waves. DMD for wave equation For a given initial condition, i.e., $u(0,x) = u_0(x)$, and the initial rate, i.e. $\\frac{\\partial u}{\\partial t}(0,x) = v_0(x)$, wave equation solves the time-dependent hyperbolic problem: $$\\frac{\\partial^2 u}{\\partial t^2} - c^2 \\Delta u = 0,$$ where $c$ is a given wave speed. The boundary conditions are either Dirichlet or Neumann. One can run the following command line options to reproduce the DMD results summarized in the table below: wave_equation -o 4 -tf 5 -nwinsamp 25 FOM solution time DMD setup time DMD query time DMD relative error 3.1 sec 6.9e-1 sec 2.5e-3 sec 3.0e-5 The code that generates the numerical results above can be found in ( wave_equation.cpp ). The wave_equation.cpp is based on ex23.cpp from MFEM. DMD for advection For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG advection solves the time-dependent advection problem: $$\\frac{\\partial u}{\\partial t} + v\\cdot\\nabla u = 0,$$ where $v$ is a given advection velocity. We choose velocity function so that the dynamics form a spiral advection. One can run the following command line options to reproduce the DMD results summarized in the table below: dg_advection -p 3 -rp 1 -dt 0.005 -tf 4 FOM solution time DMD setup time DMD query time DMD relative error 5.2 sec 30.6 sec 1.9e-2 sec 1.9e-4 The code that generates the numerical results above can be found in ( dg_advection.cpp ). The dg_advection.cpp is based on ex9p.cpp from MFEM. Optimal control for advection with DMD and differential evolution This example demonstrates optimal control for advection with the greedy parametric DMD and differential evolution. The initial condition, $u_0(x)$, is parameterized by the wavenumber $f$, so that $$ u_0(x,y) = \\sin(f \\cdot x) sin(f \\cdot y). $$ The goal of the optimal control problem is to find an initial condition that achieves the target last time step solution. If it does not achieve the target, then it should be closest, given the initial condition parameterization. It is formulated mathematically as an optimization problem: $$ \\underset{f}{minimize} \\ || u_T(f) - u_{target} ||_2^2,$$ where $u_T$ denotes the last time step solution and $u_{target}$ denotes the target solution. Note that $u_T$ depends on the initial condition parameter, $f$. It means that we obtain $u_T$ by solving a forward advection problem. In order to do so, it must explore the parameter space and try to find the $f$ that produces a $u_T$ that best matches $u_{target}$. If each advection simulation is computationally expensive, the search for the optimal parameter can take a very long time. Therefore, we use our parametric DMD to expedite the process and the search algorithm is done by differential evolution . Here are the steps to solve the optimal control problem. First, create a directory within which you will run the example, such as mkdir de_advection_greedy && cd de_advection_greedy Then create the parametric DMD using a greedy approach with a physics-informed error indicator: mpirun -n 8 ../de_dg_advection_greedy -p 3 -rp 1 -dt 0.005 -tf 1.0 -build_database -rdim 16 -greedyreldifftol 0.00000001 -greedy-param-f-factor-max 2. -greedy-param-f-factor-min 1. -greedy-param-size 20 -greedysubsize 5 -greedyconvsize 8 Now, generate the target solution with a specific $f$. Here we use $f = 1.6$. mpirun -n 8 ../de_dg_advection_greedy -p 3 -rp 1 -dt 0.005 -tf 1.0 -run_dmd -ff 1.6 -visit Finally, run the differential evolution using the parametric DMD as: srun -n8 -ppdebug greedy_advection -p 3 -rp 1 -dt 0.005 -tf 1.0 -de -ff 1.6 -de_min_ff 1.0 -de_max_ff 2.0 -de_f 0.9 -de_cr 0.9 -de_ps 50 -de_min_iter 1 -de_max_iter 100 -de_ct 0.001 The differential evolution should be able to find the following optimal control parameters, e.g., in Quartz: $f = 1.597618121565086$, which is very close to the true parameter that was used to generate the targer solution. The images above show the the target solution on the left, and the DMD solution at the differential evolution optimal parameter on the right. The code that generates the numerical results above can be found in ( de_dg_advection_greedy.cpp ). The de_dg_advection_greedy.cpp is based on ex9p.cpp from MFEM. Global pROM for advection For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG advection solves the time-dependent advection problem: $$\\frac{\\partial u}{\\partial t} + v\\cdot\\nabla u = 0,$$ where $v$ is a given advection velocity. We choose velocity function so that the dynamics form a spiral advection. One can run the following command line options to reproduce the pROM results summarized in the table below: offline1 : dg_advection_global_rom -offline -ff 1.0 -id 0 offline2 : dg_advection_global_rom -offline -ff 1.1 -id 1 offline3 : dg_advection_global_rom -offline -ff 1.2 -id 2 merge : dg_advection_global_rom -merge -ns 3 reference FOM solution : dg_advection_global_rom -fom -ff 1.15 online : dg_advection_global_rom -online -ff 1.15 FOM solution time pROM solution time pROM speed-up pROM relative error 1.49 sec 3.75e-3 sec 397.3 4.33e-4 The code that generates the numerical results above can be found in ( dg_advection_global_rom.cpp ). The dg_advection_global_rom.cpp is based on ex9p.cpp from MFEM. Local pROM for advection For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG advection solves the time-dependent advection problem: $$\\frac{\\partial u}{\\partial t} + v\\cdot\\nabla u = 0,$$ where $v$ is a given advection velocity. We choose velocity function so that the dynamics form a spiral advection. This example illustrates how a parametric pROM can be built through local ROM interpolation techniques. The following sequence of command lines will let you build such a parametric pROM, where the frequency of sinusoidal initial condition function is used as a parameter (its value is passed by a user through -ff command line option). Two local pROMs are constructed through -offline option with parameter values of 1.02 and 1.08, then the local pROM operators are interpolated to build a tailored local pROM at the frequency value of 1.05. Unlike the global ROM, the interpolated pROM has dimension that is the same as the individual pROM, i.e., 40 for this particular problem. rm -rf frequencies.txt dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -offline -rs 4 -ff 1.02 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -interp_prep -rs 4 -ff 1.02 -rdim 40 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -offline -rs 4 -ff 1.08 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -interp_prep -rs 4 -ff 1.08 -rdim 40 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -fom -rs 4 -ff 1.05 -visit dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -online_interp -rs 4 -ff 1.05 -rdim 40 FOM solution time pROM solution time pROM speed-up pROM relative error 39.38 sec 0.63 sec 62.5 1.19e-2 The code that generates the numerical results above can be found in ( dg_advection_local_rom_matrix_interp.cpp ). The dg_advection_local_rom_matrix_interp.cpp is based on ex9p.cpp from MFEM. Global pROM for Grad-div Problem This example code demonstrates the use of libROM and MFEM to define a reduced order model for a simple 2D/3D $H (\\text{div})$ diffusion problem corresponding to the second order definite equation $$- {\\rm grad} (\\alpha\\ {\\rm div} (F)) + \\beta F = f$$ with boundary condition $F \\cdot n = $ \"given normal field.\" The right-hand side $f$ is first calculated from the given exact solution $F$. We then try to reconstruct the true solution $F$ assuming only the right-hand side function $f$ is known. In 2D, the exact solution $F$ is defined as $$ F(x,y) = (\\cos(\\kappa x) \\sin(\\kappa y), \\cos(\\kappa y) \\sin(\\kappa x)) $$ where $\\kappa$ is a parameter controlling the frequency. The 2D solution contour plot for $\\kappa=1.15 \\pi$ is shown in the figure on the right to show the effect of $\\kappa$. For demonstration, we sample solutions at $\\kappa=\\pi$, $1.05\\pi$, $1.1 \\pi$, $1.2 \\pi$, $1.25\\pi$ and $1.3\\pi$. Then a ROM is built with basis size of 6, which is used to predict the solution for $\\kappa = 1.15\\pi$. The ROM is able to achieve a speedup of $2.95\\times10^5$ with a relative error of $4.98\\times10^{-8}$. One can follow the command line options below to reproduce the numerical results summarized in the table below: offline1 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.0 -id 0 offline2 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.05 -id 1 offline3 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.1 -id 2 offline4 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.2 -id 3 offline5 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.25 -id 4 offline6 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.30 -id 5 merge : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -merge -ns 6 reference FOM solution : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -fom -f 1.15 online : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -online -f 1.15 -visit The command line option -f defines the frequency of the sinusoidal right hand side function. The relation between $\\kappa$ and f is defined as $\\kappa = \\pi f$. FOM solution time ROM solution time Speed-up Solution relative error 2.57e-1 sec 8.75e-7 sec 2.94e5 4.98426e-8 The code that generates the numerical results above can be found in ( grad_div_global_rom.cpp ). The grad_div_global_rom.cpp is based on ex4p.cpp from MFEM. DMD for sod shock tube 1D Euler equations of the form $$ \\frac{\\partial \\rho}{\\partial t} + \\frac{\\partial \\rho u}{\\partial x} = 0$$ $$ \\frac{\\partial \\rho u}{\\partial t} + \\frac{\\partial \\rho u^2 + p}{\\partial x} = 0$$ $$ \\frac{\\partial e}{\\partial t} + \\frac{\\partial (e+p)u}{\\partial x} = 0$$ is solved with the initial condition given by $$ \\rho = 1, u = 0, p = 1 \\text{ for } 0 \\le x < 0.5$$ $$ \\rho = 0.125, u = 0, p = 0.1 \\text{ for } 0.5 \\le x \\le 1$$. The DMD is applied to accelerate the 1D Sod shock tube simulation: FOM solution time DMD setup time DMD query time 0.86 sec 0.13 sec 0.0027 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 1D Sod Shock Tube. DMD for isentropic vortex convection 2D Compressible Euler equations of the form $$ \\frac{\\partial \\rho}{\\partial t} + \\frac{\\partial \\rho u}{\\partial x} + \\frac{\\partial \\rho v}{\\partial y}= 0$$ $$ \\frac{\\partial \\rho u}{\\partial t} + \\frac{\\partial \\rho u^2 + p}{\\partial x} + \\frac{\\partial \\rho uv}{\\partial y} = 0$$ $$ \\frac{\\partial \\rho v}{\\partial t} + \\frac{\\partial \\rho uv}{\\partial x} + \\frac{\\partial \\rho v^2 + p}{\\partial y} = 0$$ $$ \\frac{\\partial e}{\\partial t} + \\frac{\\partial (e+p)u}{\\partial x} + \\frac{\\partial (e+v)p}{\\partial y} = 0$$ is solved with the free-stream condition given by $$ \\rho_\\infty = 1, u_\\infty = 0.1, v_\\infty = 0, p_\\infty = 1 $$ and a vortex is introduced by $$ \\rho = \\left ( 1-\\frac{(\\gamma-1)b^2}{8\\gamma \\pi^2} e^{1-r^2} \\right )^{\\frac{1}{r-1}}, p = \\rho^\\gamma$$ $$ u = u_\\infty - \\frac{b}{2\\pi} e^{\\frac{1}{2}(1-r^2)}(y-y_c)$$ $$ v = v_\\infty + \\frac{b}{2\\pi} e^{\\frac{1}{2}(1-r^2)}(x-x_c),$$ where $b=0.5$ is the vortex strength and $r = \\left ( (x-x_c)^2 + (y-y_c)^2 \\right )^{\\frac{1}{2}}$ is the distance from the vortex center $(x_c,y_c) = (5,5)$. The DMD is applied to accelerate the vortex convection simulation: FOM solution time DMD setup time DMD query time 5.85 sec 5.25 sec 0.28 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D Euler Equations - Isentropic Vortex Convection. DMD for Riemann problem 2D Compressible Euler equations of the form $$ \\frac{\\partial \\rho}{\\partial t} + \\frac{\\partial \\rho u}{\\partial x} + \\frac{\\partial \\rho v}{\\partial y}= 0$$ $$ \\frac{\\partial \\rho u}{\\partial t} + \\frac{\\partial \\rho u^2 + p}{\\partial x} + \\frac{\\partial \\rho uv}{\\partial y} = 0$$ $$ \\frac{\\partial \\rho v}{\\partial t} + \\frac{\\partial \\rho uv}{\\partial x} + \\frac{\\partial \\rho v^2 + p}{\\partial y} = 0$$ $$ \\frac{\\partial e}{\\partial t} + \\frac{\\partial (e+p)u}{\\partial x} + \\frac{\\partial (e+v)p}{\\partial y} = 0$$ is solved. The DMD is applied to accelerate the Riemann problem: FOM solution time DMD setup time DMD query time 111.1 sec 17.6 sec 1.4 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D Euler Equations - Riemann Problem Case 4 DMD for Euler equation For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG Euler solves the compressible Euler system of equation, i.e., a model nonlinear hyperbolic PDE: $$\\frac{\\partial u}{\\partial t} + \\nabla\\cdot \\boldsymbol{F}(u) = 0,$$ with a state vector $\\boldsymbol{u} = [\\rho,\\rho v_0, \\rho v_1, \\rho E]$, where $\\rho$ is the density, $v_i$ is the velocity in the $i$th direction, $E$ is the total specific energy, and $H = E + p/\\rho$ is the total specific enthalpy. The pressure, $p$ is computed through a simple equation of state (EOS) call. The conservative hydrodynamic flux $\\boldsymbol{F}$ in each direction $i$ is $$\\boldsymbol{F}_i = [\\rho v_i, \\rho v_0 v_i + p \\delta_{i,0}, \\rho v_1 v_{i,1} + p\\delta_{i,1}, \\rho v_i H]$$ One can run the following command line options to reproduce the DMD results summarized in the table below: dg_euler -p 2 -rs 2 -rp 1 -o 1 -s 3 -visit DMD rel.error FOM solution time DMD setup time DMD query time $\\rho$ $\\rho v_0$ $\\rho v_1$ $E$ 5.65 sec 38.9 sec 1.4e-3 sec 8.0e-7 1.2e-4 1.6e-3 2.6e-6 The code that generates the numerical results above can be found in ( dg_euler.cpp ). The dg_euler.cpp is based on ex18p.cpp from MFEM. DMD for lid-driven square cavity A lid-driven square cavity problem is solved. The two references for this problem are Erturk, E., Corke, T.C., and Gokcol, C., `` Numerical Solutions of 2-D Steady Incompressible Driven Cavity Flow at High Reynolds Numbers \", International Journal for Numerical Methods in Fluids, 48, 2005 Ghia, U., Ghia, K.N., Shin, C.T., `` High-Re Solutions for Incompressible Flow using the Navier-Stokes Equations and a Multigrid Method \", Journal of Computational Physics, 48, 1982 The DMD is applied to accelerate the cavity flow simulation: FOM solution time DMD setup time DMD query time 554.6 sec 58.6 sec 0.3 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D Navier-Stokes Equations - Lid-Driven Square Cavity DMD for two-stream instability The 1D-1V Vlasov equation is solved with the initial condition given by $$ f(x,v) = \\frac{4}{\\pi T} \\left ( 1+\\frac{1}{10} cos(2k\\pi\\frac{x}{L}) \\right ) \\left ( \\exp\\left( -\\frac{(v-2)^2}{2T} \\right) + \\exp\\left( -\\frac{(v+2)^2}{2T} \\right ) \\right ), k=1, T=1, L=2\\pi. $$ The DMD is applied to accelerate the cavity flow simulation: FOM solution time DMD setup time DMD query time 11.34 sec 2.30 sec 0.34 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D (1D-1V) Vlasov Equation. Global pROM for linear elasticity This example demonstrates how to apply projection-based ROM to a linear elasticity problem. The linear elasticity problem describes a multi-material cantilever beam. Specifically, the following weak form is solved: $$-\\text{div}(\\sigma(\\boldsymbol{u})) = 0$$ where $$\\sigma(\\boldsymbol{u}) = \\lambda \\text{div}(\\boldsymbol{u}) \\boldsymbol{I} + \\mu (\\nabla \\boldsymbol{u} + \\nabla \\boldsymbol{u}^T)$$ is the stress tensor corresponding to displacement field $\\boldsymbol{u}$, and $\\lambda$ and $\\mu$ are the material Lame constants. The Lame constants are related to Young's modulus ($E$) and Poisson's ratio ($\\nu$) as $$\\lambda = \\frac{E\\nu}{(1+\\nu)(1-2\\nu)}$$ $$\\mu = \\frac{E}{2(1+\\nu)}$$ The boundary condition are $\\boldsymbol{u}=\\boldsymbol{0}$ on the fixed part of the boundary with attribute 1, and $\\sigma(\\boldsymbol{u})\\cdot n = f$ on the remainder with f being a constant pull down vector on boundary elements with attribute 2, and zero otherwise. The geometry of the domain is assumed to be as follows: Three distinct steps are required, i.e., offline, merge, and online steps, to build global ROM for the linear elasticity problem. The general description of building a global ROM is explained in this YouTube tutorial video . We parameterized Poisson's ratio ($\\nu$) from 0.2 to 0.4. One can run the following command line options to reproduce the pROM results summarized in the table below: offline1 : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -offline -id 0 -nu 0.2 offline2 : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -offline -id 1 -nu 0.4 merge : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -merge -ns 2 reference FOM solution : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -offline -id 2 -nu 0.XX online : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -online -id 3 -nu 0.XX You can replace 0.XX with any value between 0.2 and 0.5. It must be strictly less than 0.5. Note that the global ROM is able to predict the point outside of the training region with high accuracy, i.e., $\\nu=0.45$. The table below shows the performance results for three different parameter points. Poisson's ratio ($\\nu$) FOM solution time ROM solving time Position relative error 0.25 4.96e-2 sec 3.54e-6 sec 0.00081 0.3 4.93e-2 sec 4.37e-6 sec 0.00133 0.35 5.96e-2 sec 4.60e-6 sec 0.00121 0.45 5.22e-2 sec 4.36e-6 sec 0.00321 The code that generates the numerical results above can be found in ( linear_elasticity_global_rom.cpp ). The linear_elasticity_global_rom.cpp is based on ex2p.cpp from MFEM. Global pROM for nonlinear elasticity For a given initial condition, i.e., $v_0(x) = v(0,x)$, nonlinear elasticity solves a time dependent nonlinear elasticity problem of the form $$\\frac{\\partial v}{\\partial t} = H(x) + Sv\\,, \\qquad \\frac{\\partial x}{\\partial t} = v,$$ where $H$ is a hyperelastic model and $S$ is a viscosity operator of Laplacian type. The initial displacement is set zero and the initial velocity is set as zero except the third component which is defined: $$v_3(0,x) = -\\frac{\\mu}{80}\\sin(\\mu x_1)$$ One can run the following command line options to build global ROM and reproduce the results summarizedin the table below. You can replace XXX in the fom and online phase to take any $\\mu$ value between 3.9 and 4.1: offline1 : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --offline -dt 0.01 -tf 5.0 -s 14 -vs 10 -sc 3.9 -id 0 offline2 : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --offline -dt 0.01 -tf 5.0 -s 14 -vs 10 -sc 4.1 -id 1 merge : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --merge -ns 2 -dt 0.01 -tf 5.0 reference FOM solution : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --offline -dt 0.01 -tf 5.0 -s 14 -vs 5 -sc XXX -id 2 online : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --online -dt 0.01 -tf 5.0 -s 14 -vs 5 -hyp -rvdim 40 -rxdim 10 -hdim 71 -nsr 200 -sc XXX $\\mu$ FOM solution time pROM online time Speed-up Position relative error 3.92 164.9 sec 20.5 sec 8.0 0.0053 3.94 169.2 sec 20.8 sec 8.1 0.0053 3.96 167.8 sec 20.9 sec 8.0 0.0057 3.98 162.7 sec 22.1 sec 7.4 0.0062 4.0 169.4 sec 21.1 sec 8.0 0.0067 4.02 168.4 sec 20.8 sec 8.1 0.0071 4.04 160.6 sec 22.8 sec 7.0 0.0073 4.06 173.4 sec 22.7 sec 7.6 0.0071 4.08 169.2 sec 20.0 sec 8.5 0.0066 The code that generates the numerical results above can be found in ( nonlinear_elasticity_global_rom.cpp ). The nonlinear_elasticity_global_rom.cpp is based on ex10p.cpp from MFEM. DMD for nonlinear elasticity For a given initial condition, i.e., $v_0(x) = v(0,x)$, nonlinear elasticity solves a time dependent nonlinear elasticity problem of the form $$\\frac{\\partial v}{\\partial t} = H(x) + Sv\\,, \\qquad \\frac{\\partial x}{\\partial t} = v,$$ where $H$ is a hyperelastic model and $S$ is a viscosity operator of Laplacian type. One can run the following command line options to reproduce the DMD results summarized in the table below: nonlinear_elasticity -s 2 -rs 1 -dt 0.01 -tf 5 -visit FOM solution time DMD setup time DMD query time Position relative error Velocity relative error 10.4 sec 2.9e-1 sec 1.1 sec 7.0e-5 1.4e-3 The code that generates the numerical results above can be found in ( nonlinear_elasticity.cpp ). The nonlinear_elasticity.cpp is based on ex10p.cpp from MFEM. Global pROM for Lagrangian hydrodynamics Laghos (LAGrangian High-Order Solver) is a miniapp that solves the time-dependent Euler equations of compressible gas dynamics in a moving Lagrangian frame using unstructured high-order finite element spatial discretization and explicit high-order time-stepping. LaghosROM introduces reduced order models of Laghos simulations. A list of example problems that you can solve with LaghosROM includes Sedov blast, Gresho vortex, Taylor-Green vortex, triple-point, and Rayleigh-Taylor instability problems. Below are command line options for each problems and some numerical results. For each problem, four different phases need to be taken, i.e., the offline, hyper-reduction preprocessing, online, and restore phase. The online phase runs necessary full order model (FOM) to generate simulation data. libROM dynamically collects the data as the FOM simulation marches in time domain. In the hyper-reduction preprocessing phase, the libROM builds a library of reduced basis as well as hyper-reduction operators. The online phase runs the ROM and the restore phase projects the ROM solutions to the full order model dimension. Sedov blast problem Sedov blast problem is a three-dimensional standard shock hydrodynamic benchmark test. An initial delta source of internal energy deposited at the origin of a three-dimensional cube is considered. The computational domain is the unit cube $\\tilde{\\Omega} = [0,1]^3$ with wall boundary conditions on all surfaces, i.e., $v\\cdot n = 0$. The initial velocity is given by $v=0$. The initial density is given by $\\rho = 1$. The initial energy is given by a delta function at the origin. The adiabatic index in the ideal gas equations of state is set $\\gamma = 1.4$. The initial mesh is a uniform Catesian hexahedral mesh, which deforms over time. It can be seen that the radial symmetry is maintained in the shock wave propagation in both FOM and pROM simulations. One can reproduce the pROM numerical result, following the command line options described below: offline : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -offline -visit -romsvds -ef 0.9999 -writesol -romos -rostype load -romsns -nwinsamp 21 -sample-stages hyper-reduction preprocessing : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -online -romsvds -romos -rostype load -romhrprep -romsns -romgs -nwin 66 -sfacv 2 -sface 2 (-sopt) online : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -online -romsvds -romos -rostype load -romhr -romsns -romgs -nwin 66 -sfacv 2 -sface 2 restore : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -restore -soldiff -romsvds -romos -rostype load -romsns -romgs -nwin 66 FOM solution time ROM solution time Speed-up Velocity relative error (DEIM) Velocity relative error (SOPT) 191 sec 8.3 sec 22.8 2.2e-4 1.1e-4 One can also easily apply time-windowing DMD to Sedov blast problem easily. First, prepare tw_sedov3.csv file, which contains a sequence of time steps, {0.01, 0.02, $\\ldots$, 0.79, 0.8 } in a column. Then you can follow the command line options described below: offline : laghos -o dmd_sedov -p 4 -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -offline -visit -romsvds -ef 0.9999 -writesol -nwin 80 -tw tw_sedov3.csv -dmd -dmdnuf -met -no-romoffset online : laghos -o dmd_sedov -p 4 -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -restore -soldiff -romsvds -dmd -dmdnuf -no-romoffset FOM solution time DMD restoration time Speed-up Velocity relative error 30.4 sec 15.0. sec 2.0 0.0382461 Gresho vortex problem Gresho vortex problem is a two-dimensional benchmark test for the incompressible inviscid Navier-Stokes equations. The computational domain is the unit square $\\tilde\\Omega = [-0.5,0.5]^2$ with wall boundary conditions on all surfaces, i.e., $v\\dot n = 0$. Let $(r,\\phi)$ denote the polar coordinates of a particle $\\tilde{x} \\in \\tilde{\\Omega}$. The initial angular velocity is given by $$v_\\phi = \\cases{ \\displaystyle 5r & for 0 $\\leq$ r < 0.2 \\cr \\displaystyle 2-5r & for 0.2 $\\leq$ r < 0.4 \\cr \\displaystyle 0 i & for r $\\geq$ 0.4. }$$ The initial density if given by $\\rho=1$. The initial thermodynamic pressure is given by $$p = \\cases{ 5 + \\frac{25}{2} r^2 & for 0 $\\leq$ r < 0.2 \\cr 9 - 4 \\log(0.2) + \\frac{25}{2} - 20r + 4 \\log(r) & for 0.2 $\\leq$ r < 0.4 \\cr 3 + 4\\log(2) & for r $\\geq$ 0.4 }$$ offline : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -visit -writesol -offline -ef 0.9999 -romsvds -romos -rostype load -romsns -nwinsamp 21 -sample-stages hyper-reduction preprocessing : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -online -romhrprep -romsvds -romos -rostype load -romsns -romgs -nwin 152 -sfacv 2 -sface 2 online : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -online -romhr -romsvds -romos -rostype load -romsns -romgs -nwin 152 -sfacv 2 -sface 2 restore : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -soldiff -restore -romsvds -romos -rostype load -romsns -romgs -nwin 152 FOM solution time ROM solution time Speed-up Velocity relative error 218 sec 8.4 sec 25.9 2.1e-4 Taylor-Green vortex Taylor-Green vortex problem is a three-dimensional benchmark test for the incompressible Navier-Stokes equasions. A manufactured smooth solution is considered by extending the steady state Taylor-Green vortex solution to the compressible Euler equations. The computational domain is the unit cube $\\tilde{\\Omega}=[0,1]^3$ with wall boundary conditions on all surfaces, i.e., $v\\cdot n = 0$. The initial velocity is given by $$ v = (\\sin{(\\pi x)} \\cos{(\\pi y)} \\cos{(\\pi z)}, -\\cos{(\\pi x)}\\sin{(\\pi y)}\\cos{(\\pi z)}, 0) $$ The initial density is given by $\\rho =1$. The initial thermodynamic pressure is given by $$ p = 100 + \\frac{(\\cos{(2\\pi x)} + \\cos{(2\\pi y))(\\cos{(2\\pi z)+2})-2}}{16} $$ The initial energy is related to the pressure and the density by the equation of state for the ideal gas, $p=(\\gamma-1)\\rho e$, with $\\gamma = 5/3$. The initial mesh is a uniform Cartesian hexahedral mesh, which deforms over time. The visualized solution is given on the right. One can reproduce the numerical result, following the command line options described below: offline : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -offline -visit -romsvds -ef 0.9999 -writesol -romos -rostype load -romsns -nwinsamp 21 -sdim 1000 -sample-stages hyper-reduction preprocessing : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -online -romsvds -romos -rostype load -romhrprep -romsns -romgs -nwin 82 -sfacv 2 -sface 2 online : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -online -romsvds -romos -rostype load -romhr -romsns -romgs -nwin 82 -sfacv 2 -sface 2 restore : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -restore -soldiff -romsvds -romos -rostype load -romsns -romgs -nwin 82 FOM solution time ROM solution time Speed-up Velocity relative error 170 sec 5.4 sec 31.2 1.1e-6 Triple-point problem Triple-point problem is a three-dimensional shock test with two materials in three states. The computational domain is $\\tilde{\\Omega} = [0,7] \\times [0,3 ] \\times [0,1.5]$ with wall boundary conditions on all surfaces, i.e., $v\\cdot n = 0$. The initial velocity is given by $v=0$. The initial density is given by $$\\rho = \\cases{ \\displaystyle 1 & for x $\\leq$ 1 or y $\\leq$ 1.5, \\cr \\displaystyle 1/8 & for x $>$ 1 and y $>$ 1.5 }$$ The initial thermodynamic pressure is given for $$p = \\cases{ \\displaystyle 1 & for x $\\leq$ 1, \\cr \\displaystyle 0.1 & for x $>$ 1 }$$ The initial energy is related to the pressure and the density by the equation of state for the ideal gas, $p=(\\gamma-1)\\rho e$, with $$\\gamma = \\cases{ \\displaystyle 1.5 & for x $\\leq$ 1 or y $>$ 1.5\\cr \\displaystyle 1.4 & for x $>$ 1 and y $\\leq$ 1.5 }$$ The initial mesh is a uniform Cartesian hexahedral mesh, which deforms over time. The visualized solution is given on the right. One can reproduce the numerical result, following the command line options described below: offline : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -offline -writesol -visit -romsvds -romos -rostype load -romsns -nwinsamp 21 -ef 0.9999 -sdim 200 -sample-stages hyper-reduction preprocessing : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -online -romhrprep -romsvds -romos -rostype load -romgs -romsns -nwin 18 -sfacv 2 -sface 2 online : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -online -romhr -romsvds -romos -rostype load -romgs -romsns -nwin 18 -sfacv 2 -sface 2 restore : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -restore -soldiff -romsvds -romos -rostype load -romgs -romsns -nwin 18 FOM solution time ROM solution time Speed-up Velocity relative error 122 sec 1.4 sec 87.8 8.1e-4 Rayleigh-Taylor instability problem Rayleigh-Taylor instability problem offline : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -writesol -offline -romsns -sdim 200000 -romsvds -romos -romgs -nwinsamp 21 -ef 0.9999999999 -sample-stages hyper-reduction preprocessing : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -online -romsns -romos -romgs -nwin 187 -sfacv 2 -sface 2 -romhrprep online : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -online -romsns -romos -romgs -nwin 187 -sfacv 2 -sface 2 -romhr restore : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -restore -romsns -romos -romgs -soldiff -nwin 187 FOM solution time ROM solution time Speed-up Velocity relative error 127 sec 8.7 sec 14.6 7.8e-3 LaghosROM is an external miniapp, available at https://github.com/CEED/Laghos/tree/rom/rom . Global pROM for Maxwell equation This example builds a projection-based reduced-order model for an electromagnetic diffusion problem corresponding to the second order definite Maxwell equation $$ \\nabla \\times \\nabla \\times \\mathbf{E} + \\mathbf{E} = \\mathbf{f}.$$ The right-hand side function $\\mathbf{f}$ is first calculated from a given exact vector field $\\mathbf{E}$. We then try to reconstruct the true solution $\\mathbf{E}$, assuming that we only know the right-hand side function $\\mathbf{f}$. In 2D, we define $\\mathbf{E}$ as $$\\mathbf{E} = (\\sin ( \\kappa x_2 ), \\sin ( \\kappa x_1 ) )^\\top, $$ and in 3D we define $$\\mathbf{E} = (\\sin ( \\kappa x_2 ), \\sin ( \\kappa x_3 ), \\sin ( \\kappa x_1 ) )^\\top. $$ Here, $\\kappa$ is a parameter which controls the frequency of the sine wave. The 2D solution contour plot for $\\kappa= 1.15$ is shown in the figure on the right. For demonstration, we sample solutions at $\\kappa=1\\pi$, $1.1\\pi$, and $1.2\\pi$. We then build the ROM with a basis size of 3, which we use to predict the solution for $\\kappa = 1.15$. The ROM is nearly $4856$ faster than the full-order model, with a relative error of $4.42\\times10^{-4}$. One can follow the command line options to reproduce the numerical results summarized in the table below: offline1 : maxwell_global_rom -offline -f 1.0 -id 0 offline2 : maxwell_global_rom -offline -f 1.1 -id 1 offline3 : maxwell_global_rom -offline -f 1.2 -id 2 merge : maxwell_global_rom -merge -ns 3 reference FOM solution : maxwell_global_rom -fom -f 1.15 online : maxwell_global_rom -online -f 1.15 The command line option -f defines the value of $\\kappa$ which controls the frequency of the sinusoidal right hand side function. FOM solution time ROM solution time Speed-up Solution relative error 4.91e-1 sec 1.01e-4 sec 4855.93 4.42e-4 The code that generates the numerical results above can be found in maxwell_global_rom.cpp . The maxwell_global_rom.cpp is based on ex3p.cpp from MFEM. No examples or miniapps match your criteria. ","title":"Examples"},{"location":"examples.html#example-applications","text":"This page provides a list of libROM example applications. For detailed documentation of the libROM sources, including the examples, see the online Doxygen documentation or the doc directory in the distribution. The goal of the example codes is to provide a step-by-step introduction to libROM in simple model settings. Select from the categories below to display examples and miniapps that contain the respective feature. All examples support (arbitrarily) high-order meshes and finite element spaces . The numerical results from the example codes can be visualized using the GLVis or VisIt visualization tools. See the GLVis and VisIt websites for more details. Users are encouraged to submit any example codes and miniapps that they have created and would like to share. Contact a member of the libROM team to report bugs or post questions or comments .","title":"Example Applications"},{"location":"examples.html#application-pde","text":"All Diffusion Elasticity Wave Navier-Stokes Advection Euler Vlasov Maxwell Grad-div Eigenproblem","title":"**Application (PDE)**"},{"location":"examples.html#reduced-order-models-type","text":"All pROM DMD","title":"**Reduced order models type**"},{"location":"examples.html#parameterization-type","text":"All Trust region Interpolation Global Reproductive","title":"**Parameterization type**"},{"location":"examples.html#hyper-reduction","text":"All Hyper-reduction No hyper-reduction","title":"**hyper-reduction**"},{"location":"examples.html#physics-code","text":"All MFEM Laghos HyPar","title":"**Physics code**"},{"location":"examples.html#optimization-solver","text":"All No optimizer Differential evolution","title":"**Optimization solver**"},{"location":"examples.html#global-prom-for-poisson-problem","text":"This example code demonstrates the use of libROM and MFEM to define a reduced order model for a simple isoparametric finite element discretization of the Poisson problem $$-\\Delta u = f$$ with homogeneous Dirichlet boundary conditions. The related tutorial YouTube video can be found here . The example parameterizes the righthand side with frequency variable, $\\kappa$: $$f = \\cases{ \\displaystyle \\sin(\\kappa (x_0+x_1+x_2)) & for 3D \\cr \\displaystyle \\sin(\\kappa (x_0+x_1)) & for 2D }$$ The 2D solution contour plot for $\\kappa=\\pi$ is shown in the figure on the right to show the effect of $\\kappa$. For demonstration, we sample solutions at $\\kappa=\\pi$, $1.1\\pi$, and $1.2\\pi$. Then a ROM is build with basis size of 3, which is used to predict the solution for $\\kappa = 1.15\\pi$. The ROM is able to achieve a speedup of $7.5$ with a relative error of $6.4\\times10^{-4}$. One can follow the command line options below to reproduce the numerical results summarized in the table below: offline1 : poisson_global_rom -offline -f 1.0 -id 0 offline2 : poisson_global_rom -offline -f 1.1 -id 1 offline3 : poisson_global_rom -offline -f 1.2 -id 2 merge : poisson_global_rom -merge -ns 3 reference FOM solution : poisson_global_rom -fom -f 1.15 online : poisson_global_rom -online -f 1.15 The command line option -f defines a frequency $\\nu$ of the sinusoidal right hand side function. The relation between $\\kappa$ and the value $\\nu$ specified by -f is defined as $\\kappa = \\pi \\nu$. The table below shows the performance result for the testing case -f 1.15 . FOM solution time ROM solution time Speed-up Solution relative error 0.22 sec 0.029 sec 7.5 6.4e-4 The code that generates the numerical results above can be found in ( poisson_global_rom.cpp ) and the explanation of codes is provided in here . The poisson_global_rom.cpp is based on ex1p.cpp from MFEM with a modification on the right hand side function.","title":"Global pROM for Poisson problem"},{"location":"examples.html#greedy-prom-for-poisson-problem","text":"This example code demonstrates physics-informed greedy sampling procedure of building local pROMs for the Poisson problem. $$-\\Delta u = f$$ with homogeneous Dirichlet boundary conditions. The example parameterizes the righthand side with frequency variable, $\\kappa$: $$f = \\cases{ \\displaystyle \\sin(\\kappa (x_0+x_1+x_2)) & for 3D \\cr \\displaystyle \\sin(\\kappa (x_0+x_1)) & for 2D }$$ A set of local ROMs are built for chosen parameter sample points. The parameter sample points are chosen through physics-informed greedy procedure, which is explained in detail by the tutorial YouTube video . Then the local ROMs are interpolated to build a tailored local ROM for a predictive case. Unlike the global ROM, the interpolated ROM has dimension that is the same as the individual local ROM. For example, one can follow the command line options below to reproduce the numerical results summarized in the table below: greedy step : poisson_local_rom_greedy -build_database -greedy-param-min 0.5 -greedy-param-max 3.0 -greedy-param-size 15 -greedysubsize 4 -greedyconvsize 6 -greedyrelerrortol 0.01 --mesh \"../../../dependencies/mfem/data/square-disc-nurbs.mesh\" This particular greedy step generates local pROMs at the following 8 parameter points, i.e., 0.521923, 0.743108, 1.322449, 1.754950, 2.011140, 2.281129, 2.587821, 2.950198. reference FOM solution : poisson_local_rom_greedy -fom --mesh \"../../../dependencies/mfem/data/square-disc-nurbs.mesh\" -f X.XX online : poisson_local_rom_greedy -use_database -online --mesh \"../../../dependencies/mfem/data/square-disc-nurbs.mesh\" -f X.XX You can replace X.XX with any value between 0.5 and 3.0. The table below shows the performance results for three different parameter points. X.XX FOM solution time ROM solution time Speed-up Solution relative error 1.0 0.0135 sec 2.38e-6 sec 5.7e3 9.99593e-5 2.4 0.0137 sec 2.48e-6 sec 5.5e3 0.0001269 2.8 0.0159 sec 2.92e-6 sec 5.4e3 0.00126 The code that generates the numerical results above can be found in ( poisson_local_rom_greedy.cpp ). The poisson_local_rom_greedy.cpp is based on ex1p.cpp from MFEM with a modification on the right hand side function.","title":"Greedy pROM for Poisson problem"},{"location":"examples.html#global-prom-for-elliptic-eigenproblem","text":"This example code demonstrates the use of libROM and MFEM to define a reduced order model for a finite element discretization of the eigenvalue problem $$-\\text{div}(\\kappa u) = \\lambda u$$ with homogeneous Dirichlet boundary conditions. The example parameterizes the diffusion operator on the left hand side with the amplitude, $\\alpha$: $$\\kappa(x) = \\cases{ \\displaystyle 1 + \\alpha & for $\\vert x_1 \\vert < 0.25$ and $\\vert x_2 \\vert < 0.25$ \\cr \\displaystyle 1 & otherwise }$$ The 2D solution contour plot for $\\alpha=0.5$ is shown in the figure on the right to show the effect of $\\alpha$. For demonstration, we sample solutions at $\\alpha=0$ and $1$. Then a ROM is build with basis size of 20, which is used to predict the solution for $\\alpha = 0.5$. The ROM is able to achieve a speedup of $375$ with a relative error of $6.7\\times10^{-5}$ in the first eigenvalue and $2.4 \\times 10^{-3}$ in the first eigenvector. One can follow the command line options below to reproduce the numerical results summarized in the table below: offline1 : elliptic_eigenproblem_global_rom -offline -p 2 -rs 2 -id 0 -a 0 -n 4 offline2 : elliptic_eigenproblem_global_rom -offline -p 2 -rs 2 -id 1 -a 1 -n 4 merge : elliptic_eigenproblem_global_rom -p 2 -rs 2 -ns 2 -n 4 reference FOM solution : elliptic_eigenproblem_global_rom -fom -p 2 -rs 2 -a 0.5 -n 4 online : elliptic_eigenproblem_global_rom -online -p 2 -rs 2 -a 0.5 -ef 1.0 -n 4 The command line option -a defines the amplitude of the conductivity $\\alpha$ in the contrast region of the diffusion operator on left hand side. The table below shows the performance result for the testing case -a 0.5 . FOM solution time ROM solution time Speed-up First eigenvalue relative error First eigenvector relative error 1.2e-1 sec 3.2e-4 sec 375 6.7e-5 2.4e-3 The code that generates the numerical results above can be found in ( elliptic_eigenproblem_global_rom.cpp ). The elliptic_eigenproblem_global_rom.cpp is based on ex11p.cpp from MFEM with a modification on the differential operator on the left hand side.","title":"Global pROM for elliptic eigenproblem"},{"location":"examples.html#dmd-for-heat-conduction","text":"For a given initial condition, i.e., $u_0(x) = u(0,x)$, heat conduction solves a simple 2D/3D time dependent nonlinear heat conduction problem $$\\frac{\\partial u}{\\partial t} = \\nabla\\cdot (\\kappa + \\alpha u)\\nabla u,$$ with a natural insulating boundary condition $\\frac{du}{dn}=0$. We linearize the problem by using the temperature field $u$ from the previous time step to compute the conductivity coefficient. One can run the following command line options to reproduce the DMD results summarized in the table below: heat_conduction -s 3 -a 0.5 -k 0.5 -o 4 -tf 0.7 -vs 1 -visit FOM solution time DMD setup time DMD query time DMD relative error 4.8 sec 0.34 sec 1.4e-3 sec 8.2e-4 The code that generates the numerical results above can be found in ( heat_conduction.cpp ). The heat_conduction.cpp is based on ex16p.cpp from MFEM.","title":"DMD for heat conduction"},{"location":"examples.html#parametric-dmd-for-heat-conduction","text":"This example demonstrates the parametric DMD on the heat conduction problem . The initial condition, $u_0(x)$, is parameterized by the center of circle and the radius, i.e., $$u_0(x) = \\cases{ \\displaystyle 2 & for $|x-c| < r$ \\cr \\displaystyle 1 & for $|x-c| \\ge r$ }$$ One can run the following command line options to reproduce the parametric DMD results summarized in the table below: rm -rf parameters.txt parametric_heat_conduction -r 0.1 -cx 0.1 -cy 0.1 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.1 -cx 0.1 -cy 0.5 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.1 -cx 0.5 -cy 0.1 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.1 -cx 0.5 -cy 0.5 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.5 -cx 0.1 -cy 0.1 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.25 -cx 0.2 -cy 0.4 -o 4 -visit -online -predict parametric_heat_conduction -r 0.4 -cx 0.2 -cy 0.3 -o 4 -visit -online -predict where r, cx, and cy specify the radius, the x and y coordinates of circular initial conditions. r cx cy FOM solution time DMD setup time DMD query time DMD relative error 0.25 0.2 0.4 13.3 sec 0.34 sec 1.2 sec 7.0e-3 0.2 0.4 0.2 13.8 sec 0.32 sec 1.2 sec 3.9e-3 0.3 0.3 0.3 13.6 sec 0.33 sec 1.1 sec 1.3e-2 0.3 0.4 0.2 14.1 sec 0.34 sec 1.3 sec 8.4e-3 0.2 0.3 0.4 14.2 sec 0.34 sec 1.3 sec 7.9e-3 0.4 0.2 0.3 13.9 sec 0.36 sec 1.5 sec 9.0e-3 The code that generates the numerical results above can be found in ( parametric_heat_conduction.cpp ). The parametric_heat_conduction.cpp is based on ex16p.cpp from MFEM.","title":"Parametric DMD for heat conduction"},{"location":"examples.html#optimal-control-for-heat-conduction-with-dmd-and-differential-evolution","text":"This example demonstrates the optimal control heat conduction problem with greedy parametric DMD and differential evolution. The initial condition, $u_0(x)$, is parameterized by the center of circle and the radius, i.e., $$u_0(x) = \\cases{ \\displaystyle 2 & for $|x-c| < r$ \\cr \\displaystyle 1 & for $|x-c| \\ge r$ }$$ The goal of the optimal control problem is to find an initial condition that achieves the target last time step temperature distribution. If it does not achieve the target, then it should be closest, given the initial condition parameterization. It is formulated mathematically as an optimization problem: $$ \\underset{c,r}{minimize} \\ || u_T(c,r) - u_{target} ||_2^2,$$ where $u_T$ denotes the last time step temperature and $u_{target}$ denotes the target temperature. Note that $u_T$ depends on the initial condition parameters, i.e., $c$ and $r$. It means that we obtain $u_T$ by solving a forward heat conduction problem. As you can imagine, it needs to explore the parameter space and try to find $c$ and $r$ that produces $u_T$ that best matches $u_{target}$. If each solution process of heat conduction problem is computationally expensive, the search for the optimal parameter can take a while. Therefore, we use our parametric DMD to expedite the process and the search algorithm is done by the differential evolution . Here are the steps to solve the optimal control problem. First, you must delete any post-processed files from the previous differential evolution run. For example, rm -rf parameters.txt rm -rf de_parametric_heat_conduction_greedy_* Then create parametric DMD using a greedy approach with physics-informed error indicator: de_parametric_heat_conduction_greedy -build_database -rdim 16 -greedy-param-size 20 -greedysubsize 10 -greedyconvsize 15 -greedyreldifftol 0.0001 Then you can generate target temperature field with a specific $r$ and $c$ values. Here we used $r=0.2$, $cx=0.2$, and $cy=0.2$ to generate a target temperature field. The target temperature field is shown in the picture above (the one on the left). Therefore, if DMD is good enough, the differential evolution should be able to find $c$ and $r$ values that are closed to these: de_parametric_heat_conduction_greedy -r 0.2 -cx 0.2 -cy 0.2 -visit (Compute target FOM) where r, cx, and cy specify the radius, the x and y coordinates of circular initial conditions. Now you can run the differential evolution using the parametric DMD: de_parametric_heat_conduction_greedy -r 0.2 -cx 0.2 -cy 0.2 -visit -de -de_f 0.9 -de_cr 0.9 -de_ps 50 -de_min_iter 10 -de_max_iter 100 -de_ct 0.001 (Run interpolative differential evolution to see if target FOM can be matched) The differential evolution should be able to find the following optimal control parameters, e.g., in Quartz: $r=0.2002090156652667$, $cx=0.2000936529076073$, and $cy=0.2316380936755735$, which are close to the true parameters that were used to generate the targer temperature field. The DMD temperature field at the last time step on this control parameters is shown in the picture above (the one on the right). The code that generates the numerical results above can be found in ( de_parametric_heat_conduction_greedy.cpp ). The de_parametric_heat_conduction_greedy.cpp is based on ex16p.cpp from MFEM.","title":"Optimal control for heat conduction with DMD and differential evolution"},{"location":"examples.html#dmdc-for-heat-conduction","text":"For a given initial condition, i.e., $u_0(x) = u(0,x)$, heat conduction_dmdc solves a simple 2D time dependent nonlinear heat conduction problem $$\\frac{\\partial u}{\\partial t} = \\nabla\\cdot (\\kappa + \\alpha u)\\nabla u + f,$$ with a natural insulating boundary condition $\\frac{du}{dn}=0$ and an external inlet-outlet source $$ f(x,t) = A_{+}(t) \\exp\\left(\\dfrac{-| x - x_{+} |^2}{2}\\right) - A_{-}(t) \\exp\\left(\\dfrac{-| x - x_{-} |^2}{2}\\right)), $$ where the source locations are $x_+ = (0, 0)$ and $x_- = (0.5, 0.5)$. The amplitude $A_+$ and $A_-$ are regarded as control variables. We linearize the problem by using the temperature field $u$ from the previous time step to compute the conductivity coefficient. One can run the following command line options to reproduce the DMDc results summarized in the table below: heat_conduction_dmdc -s 1 -a 0.0 -k 1.0 -rs 4 FOM solution time DMD setup time DMD query time DMD relative error 16.8 sec 5.2e-1 sec 1.2e-2 sec 2.4e-4 The code that generates the numerical results above can be found in ( heat_conduction_dmdc.cpp ). The heat_conduction_dmdc.cpp is based on ex16p.cpp from MFEM.","title":"DMDc for heat conduction"},{"location":"examples.html#prom-for-mixed-nonlinear-diffusion","text":"For a given initial condition, i.e., $p_0(x) = p(0,x)$, mixed nonlinear diffusion problem solves a simple 2D/3D time dependent nonlinear problem: $$\\frac{\\partial p}{\\partial t} + \\nabla\\cdot \\boldsymbol{v} = f\\,, \\qquad \\nabla p = -a(p)\\boldsymbol{v},$$ with a natural insulating boundary condition $\\frac{\\partial v}{\\partial n}=0$. The $H(div)$-conforming Raviart-Thomas finite element space is used for the velocity function $\\boldsymbol{v}$, and the $L^2$ finite element space is used for pressure function, $p$. This example introduces how the hyper-reduction is implemented and how the reduced bases for two field varibles, $p$ and $\\boldsymbol{v}$. One can run the following command line options to reproduce the pROM results summarized in the table below: offline1 : mixed_nonlinear_diffusion -p 1 -offline -id 0 -sh 0.25 offline2 : mixed_nonlinear_diffusion -p 1 -offline -id 1 -sh 0.15 merge : mixed_nonlinear_diffusion -p 1 -merge -ns 2 reference FOM solution : mixed_nonlinear_diffusion -p 1 -offline -id 2 -sh 0.2 online (DEIM) : mixed_nonlinear_diffusion -p 1 -online -rrdim 8 -rwdim 8 -sh 0.2 -id 2 online (S-OPT) : mixed_nonlinear_diffusion -p 1 -online -rrdim 8 -rwdim 8 -sh 0.2 -id 2 -sopt online (EQP) : mixed_nonlinear_diffusion -p 1 -online -rrdim 8 -rwdim 8 -ns 2 -sh 0.2 -id 2 -eqp -maxnnls 30 FOM solution time Hyper-reduction ROM solution time Speed-up Solution relative error 68.59 sec DEIM/S-OPT 3.6 sec 19.1 1.6e-3 EQP 0.38 sec 180.5 1.8e-3 The code that generates the numerical results above can be found in ( mixed_nonlinear_diffusion.cpp ). The mixed_nonlinear_diffusion.cpp is based on ex16p.cpp from MFEM and modified to support mixed finite element approach.","title":"pROM for mixed nonlinear diffusion"},{"location":"examples.html#dmd-for-linear-advection-with-discontinuous-pulses","text":"For a given initial condition, i.e., $u(0,x) = u_0(x)$, 1D linear advection of the form $$\\frac{\\partial u}{\\partial t} + c\\frac{\\partial x}{\\partial t} = 0,$$ where $c$ is advection velocity. The initial condition, $u_0(x)$, is given by $$u_0(x) = \\cases{ \\displaystyle \\exp\\left (-\\log(2)\\frac{(x+7)^2}{0.0009}\\right ) & for $-0.8 \\le x \\le -0.6$ \\cr \\displaystyle 1 & for $-0.4 \\le x \\le -0.2$ \\cr \\displaystyle 1-|10(x-0.1)| & for $0 \\le x \\le -0.2$ \\cr \\displaystyle \\sqrt{1-100(x-0.5)^2} & for $0.4 \\le x \\le 0.6$ \\cr \\displaystyle 0 & \\text{otherwise} }$$ The DMD is applied to accelerate the advection simulation: FOM solution time DMD setup time DMD query time 3.85 sec 0.18 sec 0.027 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 1D Linear Advection-Discontinuous Waves.","title":"DMD for linear advection with discontinuous pulses"},{"location":"examples.html#dmd-for-wave-equation","text":"For a given initial condition, i.e., $u(0,x) = u_0(x)$, and the initial rate, i.e. $\\frac{\\partial u}{\\partial t}(0,x) = v_0(x)$, wave equation solves the time-dependent hyperbolic problem: $$\\frac{\\partial^2 u}{\\partial t^2} - c^2 \\Delta u = 0,$$ where $c$ is a given wave speed. The boundary conditions are either Dirichlet or Neumann. One can run the following command line options to reproduce the DMD results summarized in the table below: wave_equation -o 4 -tf 5 -nwinsamp 25 FOM solution time DMD setup time DMD query time DMD relative error 3.1 sec 6.9e-1 sec 2.5e-3 sec 3.0e-5 The code that generates the numerical results above can be found in ( wave_equation.cpp ). The wave_equation.cpp is based on ex23.cpp from MFEM.","title":"DMD for wave equation"},{"location":"examples.html#dmd-for-advection","text":"For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG advection solves the time-dependent advection problem: $$\\frac{\\partial u}{\\partial t} + v\\cdot\\nabla u = 0,$$ where $v$ is a given advection velocity. We choose velocity function so that the dynamics form a spiral advection. One can run the following command line options to reproduce the DMD results summarized in the table below: dg_advection -p 3 -rp 1 -dt 0.005 -tf 4 FOM solution time DMD setup time DMD query time DMD relative error 5.2 sec 30.6 sec 1.9e-2 sec 1.9e-4 The code that generates the numerical results above can be found in ( dg_advection.cpp ). The dg_advection.cpp is based on ex9p.cpp from MFEM.","title":"DMD for advection"},{"location":"examples.html#optimal-control-for-advection-with-dmd-and-differential-evolution","text":"This example demonstrates optimal control for advection with the greedy parametric DMD and differential evolution. The initial condition, $u_0(x)$, is parameterized by the wavenumber $f$, so that $$ u_0(x,y) = \\sin(f \\cdot x) sin(f \\cdot y). $$ The goal of the optimal control problem is to find an initial condition that achieves the target last time step solution. If it does not achieve the target, then it should be closest, given the initial condition parameterization. It is formulated mathematically as an optimization problem: $$ \\underset{f}{minimize} \\ || u_T(f) - u_{target} ||_2^2,$$ where $u_T$ denotes the last time step solution and $u_{target}$ denotes the target solution. Note that $u_T$ depends on the initial condition parameter, $f$. It means that we obtain $u_T$ by solving a forward advection problem. In order to do so, it must explore the parameter space and try to find the $f$ that produces a $u_T$ that best matches $u_{target}$. If each advection simulation is computationally expensive, the search for the optimal parameter can take a very long time. Therefore, we use our parametric DMD to expedite the process and the search algorithm is done by differential evolution . Here are the steps to solve the optimal control problem. First, create a directory within which you will run the example, such as mkdir de_advection_greedy && cd de_advection_greedy Then create the parametric DMD using a greedy approach with a physics-informed error indicator: mpirun -n 8 ../de_dg_advection_greedy -p 3 -rp 1 -dt 0.005 -tf 1.0 -build_database -rdim 16 -greedyreldifftol 0.00000001 -greedy-param-f-factor-max 2. -greedy-param-f-factor-min 1. -greedy-param-size 20 -greedysubsize 5 -greedyconvsize 8 Now, generate the target solution with a specific $f$. Here we use $f = 1.6$. mpirun -n 8 ../de_dg_advection_greedy -p 3 -rp 1 -dt 0.005 -tf 1.0 -run_dmd -ff 1.6 -visit Finally, run the differential evolution using the parametric DMD as: srun -n8 -ppdebug greedy_advection -p 3 -rp 1 -dt 0.005 -tf 1.0 -de -ff 1.6 -de_min_ff 1.0 -de_max_ff 2.0 -de_f 0.9 -de_cr 0.9 -de_ps 50 -de_min_iter 1 -de_max_iter 100 -de_ct 0.001 The differential evolution should be able to find the following optimal control parameters, e.g., in Quartz: $f = 1.597618121565086$, which is very close to the true parameter that was used to generate the targer solution. The images above show the the target solution on the left, and the DMD solution at the differential evolution optimal parameter on the right. The code that generates the numerical results above can be found in ( de_dg_advection_greedy.cpp ). The de_dg_advection_greedy.cpp is based on ex9p.cpp from MFEM.","title":"Optimal control for advection with DMD and differential evolution"},{"location":"examples.html#global-prom-for-advection","text":"For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG advection solves the time-dependent advection problem: $$\\frac{\\partial u}{\\partial t} + v\\cdot\\nabla u = 0,$$ where $v$ is a given advection velocity. We choose velocity function so that the dynamics form a spiral advection. One can run the following command line options to reproduce the pROM results summarized in the table below: offline1 : dg_advection_global_rom -offline -ff 1.0 -id 0 offline2 : dg_advection_global_rom -offline -ff 1.1 -id 1 offline3 : dg_advection_global_rom -offline -ff 1.2 -id 2 merge : dg_advection_global_rom -merge -ns 3 reference FOM solution : dg_advection_global_rom -fom -ff 1.15 online : dg_advection_global_rom -online -ff 1.15 FOM solution time pROM solution time pROM speed-up pROM relative error 1.49 sec 3.75e-3 sec 397.3 4.33e-4 The code that generates the numerical results above can be found in ( dg_advection_global_rom.cpp ). The dg_advection_global_rom.cpp is based on ex9p.cpp from MFEM.","title":"Global pROM for advection"},{"location":"examples.html#local-prom-for-advection","text":"For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG advection solves the time-dependent advection problem: $$\\frac{\\partial u}{\\partial t} + v\\cdot\\nabla u = 0,$$ where $v$ is a given advection velocity. We choose velocity function so that the dynamics form a spiral advection. This example illustrates how a parametric pROM can be built through local ROM interpolation techniques. The following sequence of command lines will let you build such a parametric pROM, where the frequency of sinusoidal initial condition function is used as a parameter (its value is passed by a user through -ff command line option). Two local pROMs are constructed through -offline option with parameter values of 1.02 and 1.08, then the local pROM operators are interpolated to build a tailored local pROM at the frequency value of 1.05. Unlike the global ROM, the interpolated pROM has dimension that is the same as the individual pROM, i.e., 40 for this particular problem. rm -rf frequencies.txt dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -offline -rs 4 -ff 1.02 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -interp_prep -rs 4 -ff 1.02 -rdim 40 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -offline -rs 4 -ff 1.08 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -interp_prep -rs 4 -ff 1.08 -rdim 40 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -fom -rs 4 -ff 1.05 -visit dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -online_interp -rs 4 -ff 1.05 -rdim 40 FOM solution time pROM solution time pROM speed-up pROM relative error 39.38 sec 0.63 sec 62.5 1.19e-2 The code that generates the numerical results above can be found in ( dg_advection_local_rom_matrix_interp.cpp ). The dg_advection_local_rom_matrix_interp.cpp is based on ex9p.cpp from MFEM.","title":"Local pROM for advection"},{"location":"examples.html#global-prom-for-grad-div-problem","text":"This example code demonstrates the use of libROM and MFEM to define a reduced order model for a simple 2D/3D $H (\\text{div})$ diffusion problem corresponding to the second order definite equation $$- {\\rm grad} (\\alpha\\ {\\rm div} (F)) + \\beta F = f$$ with boundary condition $F \\cdot n = $ \"given normal field.\" The right-hand side $f$ is first calculated from the given exact solution $F$. We then try to reconstruct the true solution $F$ assuming only the right-hand side function $f$ is known. In 2D, the exact solution $F$ is defined as $$ F(x,y) = (\\cos(\\kappa x) \\sin(\\kappa y), \\cos(\\kappa y) \\sin(\\kappa x)) $$ where $\\kappa$ is a parameter controlling the frequency. The 2D solution contour plot for $\\kappa=1.15 \\pi$ is shown in the figure on the right to show the effect of $\\kappa$. For demonstration, we sample solutions at $\\kappa=\\pi$, $1.05\\pi$, $1.1 \\pi$, $1.2 \\pi$, $1.25\\pi$ and $1.3\\pi$. Then a ROM is built with basis size of 6, which is used to predict the solution for $\\kappa = 1.15\\pi$. The ROM is able to achieve a speedup of $2.95\\times10^5$ with a relative error of $4.98\\times10^{-8}$. One can follow the command line options below to reproduce the numerical results summarized in the table below: offline1 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.0 -id 0 offline2 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.05 -id 1 offline3 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.1 -id 2 offline4 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.2 -id 3 offline5 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.25 -id 4 offline6 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.30 -id 5 merge : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -merge -ns 6 reference FOM solution : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -fom -f 1.15 online : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -online -f 1.15 -visit The command line option -f defines the frequency of the sinusoidal right hand side function. The relation between $\\kappa$ and f is defined as $\\kappa = \\pi f$. FOM solution time ROM solution time Speed-up Solution relative error 2.57e-1 sec 8.75e-7 sec 2.94e5 4.98426e-8 The code that generates the numerical results above can be found in ( grad_div_global_rom.cpp ). The grad_div_global_rom.cpp is based on ex4p.cpp from MFEM.","title":"Global pROM for Grad-div Problem"},{"location":"examples.html#dmd-for-sod-shock-tube","text":"1D Euler equations of the form $$ \\frac{\\partial \\rho}{\\partial t} + \\frac{\\partial \\rho u}{\\partial x} = 0$$ $$ \\frac{\\partial \\rho u}{\\partial t} + \\frac{\\partial \\rho u^2 + p}{\\partial x} = 0$$ $$ \\frac{\\partial e}{\\partial t} + \\frac{\\partial (e+p)u}{\\partial x} = 0$$ is solved with the initial condition given by $$ \\rho = 1, u = 0, p = 1 \\text{ for } 0 \\le x < 0.5$$ $$ \\rho = 0.125, u = 0, p = 0.1 \\text{ for } 0.5 \\le x \\le 1$$. The DMD is applied to accelerate the 1D Sod shock tube simulation: FOM solution time DMD setup time DMD query time 0.86 sec 0.13 sec 0.0027 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 1D Sod Shock Tube.","title":"DMD for sod shock tube"},{"location":"examples.html#dmd-for-isentropic-vortex-convection","text":"2D Compressible Euler equations of the form $$ \\frac{\\partial \\rho}{\\partial t} + \\frac{\\partial \\rho u}{\\partial x} + \\frac{\\partial \\rho v}{\\partial y}= 0$$ $$ \\frac{\\partial \\rho u}{\\partial t} + \\frac{\\partial \\rho u^2 + p}{\\partial x} + \\frac{\\partial \\rho uv}{\\partial y} = 0$$ $$ \\frac{\\partial \\rho v}{\\partial t} + \\frac{\\partial \\rho uv}{\\partial x} + \\frac{\\partial \\rho v^2 + p}{\\partial y} = 0$$ $$ \\frac{\\partial e}{\\partial t} + \\frac{\\partial (e+p)u}{\\partial x} + \\frac{\\partial (e+v)p}{\\partial y} = 0$$ is solved with the free-stream condition given by $$ \\rho_\\infty = 1, u_\\infty = 0.1, v_\\infty = 0, p_\\infty = 1 $$ and a vortex is introduced by $$ \\rho = \\left ( 1-\\frac{(\\gamma-1)b^2}{8\\gamma \\pi^2} e^{1-r^2} \\right )^{\\frac{1}{r-1}}, p = \\rho^\\gamma$$ $$ u = u_\\infty - \\frac{b}{2\\pi} e^{\\frac{1}{2}(1-r^2)}(y-y_c)$$ $$ v = v_\\infty + \\frac{b}{2\\pi} e^{\\frac{1}{2}(1-r^2)}(x-x_c),$$ where $b=0.5$ is the vortex strength and $r = \\left ( (x-x_c)^2 + (y-y_c)^2 \\right )^{\\frac{1}{2}}$ is the distance from the vortex center $(x_c,y_c) = (5,5)$. The DMD is applied to accelerate the vortex convection simulation: FOM solution time DMD setup time DMD query time 5.85 sec 5.25 sec 0.28 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D Euler Equations - Isentropic Vortex Convection.","title":"DMD for isentropic vortex convection"},{"location":"examples.html#dmd-for-riemann-problem","text":"2D Compressible Euler equations of the form $$ \\frac{\\partial \\rho}{\\partial t} + \\frac{\\partial \\rho u}{\\partial x} + \\frac{\\partial \\rho v}{\\partial y}= 0$$ $$ \\frac{\\partial \\rho u}{\\partial t} + \\frac{\\partial \\rho u^2 + p}{\\partial x} + \\frac{\\partial \\rho uv}{\\partial y} = 0$$ $$ \\frac{\\partial \\rho v}{\\partial t} + \\frac{\\partial \\rho uv}{\\partial x} + \\frac{\\partial \\rho v^2 + p}{\\partial y} = 0$$ $$ \\frac{\\partial e}{\\partial t} + \\frac{\\partial (e+p)u}{\\partial x} + \\frac{\\partial (e+v)p}{\\partial y} = 0$$ is solved. The DMD is applied to accelerate the Riemann problem: FOM solution time DMD setup time DMD query time 111.1 sec 17.6 sec 1.4 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D Euler Equations - Riemann Problem Case 4","title":"DMD for Riemann problem"},{"location":"examples.html#dmd-for-euler-equation","text":"For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG Euler solves the compressible Euler system of equation, i.e., a model nonlinear hyperbolic PDE: $$\\frac{\\partial u}{\\partial t} + \\nabla\\cdot \\boldsymbol{F}(u) = 0,$$ with a state vector $\\boldsymbol{u} = [\\rho,\\rho v_0, \\rho v_1, \\rho E]$, where $\\rho$ is the density, $v_i$ is the velocity in the $i$th direction, $E$ is the total specific energy, and $H = E + p/\\rho$ is the total specific enthalpy. The pressure, $p$ is computed through a simple equation of state (EOS) call. The conservative hydrodynamic flux $\\boldsymbol{F}$ in each direction $i$ is $$\\boldsymbol{F}_i = [\\rho v_i, \\rho v_0 v_i + p \\delta_{i,0}, \\rho v_1 v_{i,1} + p\\delta_{i,1}, \\rho v_i H]$$ One can run the following command line options to reproduce the DMD results summarized in the table below: dg_euler -p 2 -rs 2 -rp 1 -o 1 -s 3 -visit DMD rel.error FOM solution time DMD setup time DMD query time $\\rho$ $\\rho v_0$ $\\rho v_1$ $E$ 5.65 sec 38.9 sec 1.4e-3 sec 8.0e-7 1.2e-4 1.6e-3 2.6e-6 The code that generates the numerical results above can be found in ( dg_euler.cpp ). The dg_euler.cpp is based on ex18p.cpp from MFEM.","title":"DMD for Euler equation"},{"location":"examples.html#dmd-for-lid-driven-square-cavity","text":"A lid-driven square cavity problem is solved. The two references for this problem are Erturk, E., Corke, T.C., and Gokcol, C., `` Numerical Solutions of 2-D Steady Incompressible Driven Cavity Flow at High Reynolds Numbers \", International Journal for Numerical Methods in Fluids, 48, 2005 Ghia, U., Ghia, K.N., Shin, C.T., `` High-Re Solutions for Incompressible Flow using the Navier-Stokes Equations and a Multigrid Method \", Journal of Computational Physics, 48, 1982 The DMD is applied to accelerate the cavity flow simulation: FOM solution time DMD setup time DMD query time 554.6 sec 58.6 sec 0.3 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D Navier-Stokes Equations - Lid-Driven Square Cavity","title":"DMD for lid-driven square cavity"},{"location":"examples.html#dmd-for-two-stream-instability","text":"The 1D-1V Vlasov equation is solved with the initial condition given by $$ f(x,v) = \\frac{4}{\\pi T} \\left ( 1+\\frac{1}{10} cos(2k\\pi\\frac{x}{L}) \\right ) \\left ( \\exp\\left( -\\frac{(v-2)^2}{2T} \\right) + \\exp\\left( -\\frac{(v+2)^2}{2T} \\right ) \\right ), k=1, T=1, L=2\\pi. $$ The DMD is applied to accelerate the cavity flow simulation: FOM solution time DMD setup time DMD query time 11.34 sec 2.30 sec 0.34 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D (1D-1V) Vlasov Equation.","title":"DMD for two-stream instability"},{"location":"examples.html#global-prom-for-linear-elasticity","text":"This example demonstrates how to apply projection-based ROM to a linear elasticity problem. The linear elasticity problem describes a multi-material cantilever beam. Specifically, the following weak form is solved: $$-\\text{div}(\\sigma(\\boldsymbol{u})) = 0$$ where $$\\sigma(\\boldsymbol{u}) = \\lambda \\text{div}(\\boldsymbol{u}) \\boldsymbol{I} + \\mu (\\nabla \\boldsymbol{u} + \\nabla \\boldsymbol{u}^T)$$ is the stress tensor corresponding to displacement field $\\boldsymbol{u}$, and $\\lambda$ and $\\mu$ are the material Lame constants. The Lame constants are related to Young's modulus ($E$) and Poisson's ratio ($\\nu$) as $$\\lambda = \\frac{E\\nu}{(1+\\nu)(1-2\\nu)}$$ $$\\mu = \\frac{E}{2(1+\\nu)}$$ The boundary condition are $\\boldsymbol{u}=\\boldsymbol{0}$ on the fixed part of the boundary with attribute 1, and $\\sigma(\\boldsymbol{u})\\cdot n = f$ on the remainder with f being a constant pull down vector on boundary elements with attribute 2, and zero otherwise. The geometry of the domain is assumed to be as follows: Three distinct steps are required, i.e., offline, merge, and online steps, to build global ROM for the linear elasticity problem. The general description of building a global ROM is explained in this YouTube tutorial video . We parameterized Poisson's ratio ($\\nu$) from 0.2 to 0.4. One can run the following command line options to reproduce the pROM results summarized in the table below: offline1 : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -offline -id 0 -nu 0.2 offline2 : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -offline -id 1 -nu 0.4 merge : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -merge -ns 2 reference FOM solution : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -offline -id 2 -nu 0.XX online : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -online -id 3 -nu 0.XX You can replace 0.XX with any value between 0.2 and 0.5. It must be strictly less than 0.5. Note that the global ROM is able to predict the point outside of the training region with high accuracy, i.e., $\\nu=0.45$. The table below shows the performance results for three different parameter points. Poisson's ratio ($\\nu$) FOM solution time ROM solving time Position relative error 0.25 4.96e-2 sec 3.54e-6 sec 0.00081 0.3 4.93e-2 sec 4.37e-6 sec 0.00133 0.35 5.96e-2 sec 4.60e-6 sec 0.00121 0.45 5.22e-2 sec 4.36e-6 sec 0.00321 The code that generates the numerical results above can be found in ( linear_elasticity_global_rom.cpp ). The linear_elasticity_global_rom.cpp is based on ex2p.cpp from MFEM.","title":"Global pROM for linear elasticity"},{"location":"examples.html#global-prom-for-nonlinear-elasticity","text":"For a given initial condition, i.e., $v_0(x) = v(0,x)$, nonlinear elasticity solves a time dependent nonlinear elasticity problem of the form $$\\frac{\\partial v}{\\partial t} = H(x) + Sv\\,, \\qquad \\frac{\\partial x}{\\partial t} = v,$$ where $H$ is a hyperelastic model and $S$ is a viscosity operator of Laplacian type. The initial displacement is set zero and the initial velocity is set as zero except the third component which is defined: $$v_3(0,x) = -\\frac{\\mu}{80}\\sin(\\mu x_1)$$ One can run the following command line options to build global ROM and reproduce the results summarizedin the table below. You can replace XXX in the fom and online phase to take any $\\mu$ value between 3.9 and 4.1: offline1 : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --offline -dt 0.01 -tf 5.0 -s 14 -vs 10 -sc 3.9 -id 0 offline2 : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --offline -dt 0.01 -tf 5.0 -s 14 -vs 10 -sc 4.1 -id 1 merge : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --merge -ns 2 -dt 0.01 -tf 5.0 reference FOM solution : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --offline -dt 0.01 -tf 5.0 -s 14 -vs 5 -sc XXX -id 2 online : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --online -dt 0.01 -tf 5.0 -s 14 -vs 5 -hyp -rvdim 40 -rxdim 10 -hdim 71 -nsr 200 -sc XXX $\\mu$ FOM solution time pROM online time Speed-up Position relative error 3.92 164.9 sec 20.5 sec 8.0 0.0053 3.94 169.2 sec 20.8 sec 8.1 0.0053 3.96 167.8 sec 20.9 sec 8.0 0.0057 3.98 162.7 sec 22.1 sec 7.4 0.0062 4.0 169.4 sec 21.1 sec 8.0 0.0067 4.02 168.4 sec 20.8 sec 8.1 0.0071 4.04 160.6 sec 22.8 sec 7.0 0.0073 4.06 173.4 sec 22.7 sec 7.6 0.0071 4.08 169.2 sec 20.0 sec 8.5 0.0066 The code that generates the numerical results above can be found in ( nonlinear_elasticity_global_rom.cpp ). The nonlinear_elasticity_global_rom.cpp is based on ex10p.cpp from MFEM.","title":"Global pROM for nonlinear elasticity"},{"location":"examples.html#dmd-for-nonlinear-elasticity","text":"For a given initial condition, i.e., $v_0(x) = v(0,x)$, nonlinear elasticity solves a time dependent nonlinear elasticity problem of the form $$\\frac{\\partial v}{\\partial t} = H(x) + Sv\\,, \\qquad \\frac{\\partial x}{\\partial t} = v,$$ where $H$ is a hyperelastic model and $S$ is a viscosity operator of Laplacian type. One can run the following command line options to reproduce the DMD results summarized in the table below: nonlinear_elasticity -s 2 -rs 1 -dt 0.01 -tf 5 -visit FOM solution time DMD setup time DMD query time Position relative error Velocity relative error 10.4 sec 2.9e-1 sec 1.1 sec 7.0e-5 1.4e-3 The code that generates the numerical results above can be found in ( nonlinear_elasticity.cpp ). The nonlinear_elasticity.cpp is based on ex10p.cpp from MFEM.","title":"DMD for nonlinear elasticity"},{"location":"examples.html#global-prom-for-lagrangian-hydrodynamics","text":"Laghos (LAGrangian High-Order Solver) is a miniapp that solves the time-dependent Euler equations of compressible gas dynamics in a moving Lagrangian frame using unstructured high-order finite element spatial discretization and explicit high-order time-stepping. LaghosROM introduces reduced order models of Laghos simulations. A list of example problems that you can solve with LaghosROM includes Sedov blast, Gresho vortex, Taylor-Green vortex, triple-point, and Rayleigh-Taylor instability problems. Below are command line options for each problems and some numerical results. For each problem, four different phases need to be taken, i.e., the offline, hyper-reduction preprocessing, online, and restore phase. The online phase runs necessary full order model (FOM) to generate simulation data. libROM dynamically collects the data as the FOM simulation marches in time domain. In the hyper-reduction preprocessing phase, the libROM builds a library of reduced basis as well as hyper-reduction operators. The online phase runs the ROM and the restore phase projects the ROM solutions to the full order model dimension.","title":"Global pROM for Lagrangian hydrodynamics"},{"location":"examples.html#sedov-blast-problem","text":"Sedov blast problem is a three-dimensional standard shock hydrodynamic benchmark test. An initial delta source of internal energy deposited at the origin of a three-dimensional cube is considered. The computational domain is the unit cube $\\tilde{\\Omega} = [0,1]^3$ with wall boundary conditions on all surfaces, i.e., $v\\cdot n = 0$. The initial velocity is given by $v=0$. The initial density is given by $\\rho = 1$. The initial energy is given by a delta function at the origin. The adiabatic index in the ideal gas equations of state is set $\\gamma = 1.4$. The initial mesh is a uniform Catesian hexahedral mesh, which deforms over time. It can be seen that the radial symmetry is maintained in the shock wave propagation in both FOM and pROM simulations. One can reproduce the pROM numerical result, following the command line options described below: offline : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -offline -visit -romsvds -ef 0.9999 -writesol -romos -rostype load -romsns -nwinsamp 21 -sample-stages hyper-reduction preprocessing : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -online -romsvds -romos -rostype load -romhrprep -romsns -romgs -nwin 66 -sfacv 2 -sface 2 (-sopt) online : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -online -romsvds -romos -rostype load -romhr -romsns -romgs -nwin 66 -sfacv 2 -sface 2 restore : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -restore -soldiff -romsvds -romos -rostype load -romsns -romgs -nwin 66 FOM solution time ROM solution time Speed-up Velocity relative error (DEIM) Velocity relative error (SOPT) 191 sec 8.3 sec 22.8 2.2e-4 1.1e-4 One can also easily apply time-windowing DMD to Sedov blast problem easily. First, prepare tw_sedov3.csv file, which contains a sequence of time steps, {0.01, 0.02, $\\ldots$, 0.79, 0.8 } in a column. Then you can follow the command line options described below: offline : laghos -o dmd_sedov -p 4 -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -offline -visit -romsvds -ef 0.9999 -writesol -nwin 80 -tw tw_sedov3.csv -dmd -dmdnuf -met -no-romoffset online : laghos -o dmd_sedov -p 4 -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -restore -soldiff -romsvds -dmd -dmdnuf -no-romoffset FOM solution time DMD restoration time Speed-up Velocity relative error 30.4 sec 15.0. sec 2.0 0.0382461","title":"Sedov blast problem"},{"location":"examples.html#gresho-vortex-problem","text":"Gresho vortex problem is a two-dimensional benchmark test for the incompressible inviscid Navier-Stokes equations. The computational domain is the unit square $\\tilde\\Omega = [-0.5,0.5]^2$ with wall boundary conditions on all surfaces, i.e., $v\\dot n = 0$. Let $(r,\\phi)$ denote the polar coordinates of a particle $\\tilde{x} \\in \\tilde{\\Omega}$. The initial angular velocity is given by $$v_\\phi = \\cases{ \\displaystyle 5r & for 0 $\\leq$ r < 0.2 \\cr \\displaystyle 2-5r & for 0.2 $\\leq$ r < 0.4 \\cr \\displaystyle 0 i & for r $\\geq$ 0.4. }$$ The initial density if given by $\\rho=1$. The initial thermodynamic pressure is given by $$p = \\cases{ 5 + \\frac{25}{2} r^2 & for 0 $\\leq$ r < 0.2 \\cr 9 - 4 \\log(0.2) + \\frac{25}{2} - 20r + 4 \\log(r) & for 0.2 $\\leq$ r < 0.4 \\cr 3 + 4\\log(2) & for r $\\geq$ 0.4 }$$ offline : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -visit -writesol -offline -ef 0.9999 -romsvds -romos -rostype load -romsns -nwinsamp 21 -sample-stages hyper-reduction preprocessing : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -online -romhrprep -romsvds -romos -rostype load -romsns -romgs -nwin 152 -sfacv 2 -sface 2 online : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -online -romhr -romsvds -romos -rostype load -romsns -romgs -nwin 152 -sfacv 2 -sface 2 restore : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -soldiff -restore -romsvds -romos -rostype load -romsns -romgs -nwin 152 FOM solution time ROM solution time Speed-up Velocity relative error 218 sec 8.4 sec 25.9 2.1e-4","title":"Gresho vortex problem"},{"location":"examples.html#taylor-green-vortex","text":"Taylor-Green vortex problem is a three-dimensional benchmark test for the incompressible Navier-Stokes equasions. A manufactured smooth solution is considered by extending the steady state Taylor-Green vortex solution to the compressible Euler equations. The computational domain is the unit cube $\\tilde{\\Omega}=[0,1]^3$ with wall boundary conditions on all surfaces, i.e., $v\\cdot n = 0$. The initial velocity is given by $$ v = (\\sin{(\\pi x)} \\cos{(\\pi y)} \\cos{(\\pi z)}, -\\cos{(\\pi x)}\\sin{(\\pi y)}\\cos{(\\pi z)}, 0) $$ The initial density is given by $\\rho =1$. The initial thermodynamic pressure is given by $$ p = 100 + \\frac{(\\cos{(2\\pi x)} + \\cos{(2\\pi y))(\\cos{(2\\pi z)+2})-2}}{16} $$ The initial energy is related to the pressure and the density by the equation of state for the ideal gas, $p=(\\gamma-1)\\rho e$, with $\\gamma = 5/3$. The initial mesh is a uniform Cartesian hexahedral mesh, which deforms over time. The visualized solution is given on the right. One can reproduce the numerical result, following the command line options described below: offline : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -offline -visit -romsvds -ef 0.9999 -writesol -romos -rostype load -romsns -nwinsamp 21 -sdim 1000 -sample-stages hyper-reduction preprocessing : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -online -romsvds -romos -rostype load -romhrprep -romsns -romgs -nwin 82 -sfacv 2 -sface 2 online : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -online -romsvds -romos -rostype load -romhr -romsns -romgs -nwin 82 -sfacv 2 -sface 2 restore : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -restore -soldiff -romsvds -romos -rostype load -romsns -romgs -nwin 82 FOM solution time ROM solution time Speed-up Velocity relative error 170 sec 5.4 sec 31.2 1.1e-6","title":"Taylor-Green vortex"},{"location":"examples.html#triple-point-problem","text":"Triple-point problem is a three-dimensional shock test with two materials in three states. The computational domain is $\\tilde{\\Omega} = [0,7] \\times [0,3 ] \\times [0,1.5]$ with wall boundary conditions on all surfaces, i.e., $v\\cdot n = 0$. The initial velocity is given by $v=0$. The initial density is given by $$\\rho = \\cases{ \\displaystyle 1 & for x $\\leq$ 1 or y $\\leq$ 1.5, \\cr \\displaystyle 1/8 & for x $>$ 1 and y $>$ 1.5 }$$ The initial thermodynamic pressure is given for $$p = \\cases{ \\displaystyle 1 & for x $\\leq$ 1, \\cr \\displaystyle 0.1 & for x $>$ 1 }$$ The initial energy is related to the pressure and the density by the equation of state for the ideal gas, $p=(\\gamma-1)\\rho e$, with $$\\gamma = \\cases{ \\displaystyle 1.5 & for x $\\leq$ 1 or y $>$ 1.5\\cr \\displaystyle 1.4 & for x $>$ 1 and y $\\leq$ 1.5 }$$ The initial mesh is a uniform Cartesian hexahedral mesh, which deforms over time. The visualized solution is given on the right. One can reproduce the numerical result, following the command line options described below: offline : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -offline -writesol -visit -romsvds -romos -rostype load -romsns -nwinsamp 21 -ef 0.9999 -sdim 200 -sample-stages hyper-reduction preprocessing : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -online -romhrprep -romsvds -romos -rostype load -romgs -romsns -nwin 18 -sfacv 2 -sface 2 online : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -online -romhr -romsvds -romos -rostype load -romgs -romsns -nwin 18 -sfacv 2 -sface 2 restore : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -restore -soldiff -romsvds -romos -rostype load -romgs -romsns -nwin 18 FOM solution time ROM solution time Speed-up Velocity relative error 122 sec 1.4 sec 87.8 8.1e-4","title":"Triple-point problem"},{"location":"examples.html#rayleigh-taylor-instability-problem","text":"Rayleigh-Taylor instability problem offline : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -writesol -offline -romsns -sdim 200000 -romsvds -romos -romgs -nwinsamp 21 -ef 0.9999999999 -sample-stages hyper-reduction preprocessing : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -online -romsns -romos -romgs -nwin 187 -sfacv 2 -sface 2 -romhrprep online : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -online -romsns -romos -romgs -nwin 187 -sfacv 2 -sface 2 -romhr restore : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -restore -romsns -romos -romgs -soldiff -nwin 187 FOM solution time ROM solution time Speed-up Velocity relative error 127 sec 8.7 sec 14.6 7.8e-3 LaghosROM is an external miniapp, available at https://github.com/CEED/Laghos/tree/rom/rom .","title":"Rayleigh-Taylor instability problem"},{"location":"examples.html#global-prom-for-maxwell-equation","text":"This example builds a projection-based reduced-order model for an electromagnetic diffusion problem corresponding to the second order definite Maxwell equation $$ \\nabla \\times \\nabla \\times \\mathbf{E} + \\mathbf{E} = \\mathbf{f}.$$ The right-hand side function $\\mathbf{f}$ is first calculated from a given exact vector field $\\mathbf{E}$. We then try to reconstruct the true solution $\\mathbf{E}$, assuming that we only know the right-hand side function $\\mathbf{f}$. In 2D, we define $\\mathbf{E}$ as $$\\mathbf{E} = (\\sin ( \\kappa x_2 ), \\sin ( \\kappa x_1 ) )^\\top, $$ and in 3D we define $$\\mathbf{E} = (\\sin ( \\kappa x_2 ), \\sin ( \\kappa x_3 ), \\sin ( \\kappa x_1 ) )^\\top. $$ Here, $\\kappa$ is a parameter which controls the frequency of the sine wave. The 2D solution contour plot for $\\kappa= 1.15$ is shown in the figure on the right. For demonstration, we sample solutions at $\\kappa=1\\pi$, $1.1\\pi$, and $1.2\\pi$. We then build the ROM with a basis size of 3, which we use to predict the solution for $\\kappa = 1.15$. The ROM is nearly $4856$ faster than the full-order model, with a relative error of $4.42\\times10^{-4}$. One can follow the command line options to reproduce the numerical results summarized in the table below: offline1 : maxwell_global_rom -offline -f 1.0 -id 0 offline2 : maxwell_global_rom -offline -f 1.1 -id 1 offline3 : maxwell_global_rom -offline -f 1.2 -id 2 merge : maxwell_global_rom -merge -ns 3 reference FOM solution : maxwell_global_rom -fom -f 1.15 online : maxwell_global_rom -online -f 1.15 The command line option -f defines the value of $\\kappa$ which controls the frequency of the sinusoidal right hand side function. FOM solution time ROM solution time Speed-up Solution relative error 4.91e-1 sec 1.01e-4 sec 4855.93 4.42e-4 The code that generates the numerical results above can be found in maxwell_global_rom.cpp . The maxwell_global_rom.cpp is based on ex3p.cpp from MFEM. No examples or miniapps match your criteria. ","title":"Global pROM for Maxwell equation"},{"location":"features.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); Features The goal of libROM is to provide high-performance scalable library for data-driven reduced order modeling. Proper orthogonal decomposition One of the core features in libROM is the ability to extract important modes from given physical simulation data. The proper othogonal decomposition (POD) is a popular method for compressing physical simulation data to obtain optimal \"reduced\" bases in the following sense: $$\\boldsymbol{\\Phi} =\\underset{\\boldsymbol{A}\\in\\mathbb{R}^{n\\times r}, \\boldsymbol{A}^T\\boldsymbol{A} = \\boldsymbol{I}_{r\\times r} }{\\arg\\min} || \\boldsymbol{U} - \\boldsymbol{A}\\boldsymbol{A}^T\\boldsymbol{U} ||_F^2, $$ where $\\boldsymbol{U}\\in\\mathbb{R}^{n\\times m}$ is simulation data and $\\boldsymbol{I}_{r\\times r} \\in \\mathbb{R}^{r\\times r}$ denotes an identity matrix. That is, the POD tries to find the orthogonal matrix, $\\boldsymbol{\\Phi}$, whose span minimizes the projection error in the Frobenius norm. The POD modes can be obtained in two equivalent ways: (i) eigenvalue decomposition and (ii) singular value decomposition (SVD). We take the latter approach, i.e., let's say the thin SVD of $\\boldsymbol{U}$ is given by $$\\boldsymbol{U} = \\boldsymbol{W\\Sigma V}^T.$$ Then the solution of the POD is given by taking the first $r$ columns of the left singular matrix, i.e., $\\boldsymbol{\\Phi} = [\\boldsymbol{w}_{1},\\ldots ,\\boldsymbol{w}_r]$, where $\\boldsymbol{w}_k$ is $k$th left singular vector, assuming that the singular value is written in the decreasing order. Efficient data collection High-fidelity physical simulations generate intensive data in its size, which makes the data collection process daunting. Therefore, the libROM aims to ease the difficulty associated with the intensive data size. The libROM can be directly integrated to the physics solver that generates the intensive simulation data. For example, if the physical simulation is time dependent, then each time step solution data can be feed into the libROM incrementally so that the singular value decomposition is efficiently updated in parallel. This approach is incremental SVD . There are other types of SVDs which exploits efficiency. The libROM provides following four SVDs: Static SVD incremental SVD randomized SVD space-time SVD Static SVD The static SVD waits the libROM to collect all the simulation data. Once the snapshot matrix $\\boldsymbol{U}$ is formed, then the SVD is performed. Therefore, if the data size is big, this approach is not efficient and not recommended. However, because it gives the most accurate SVD results, it is ideal for a small problem. Incremental SVD Unlike the static SVD, the incremental SVD does not wait. Instead, as the data comes in, the SVD is performed right away. Because the incremental SVD only needs to find out the effect of one additional simulation data vector to the previous SVD, the update can be done very efficiently without requiring much memory. Therefore, it is useful for large-scale problems. For the detailed explanation about the incremental SVD, we refer to the following journal papers: M. Brand, Incremental singular value decomposition of uncertain data with missing values , In European Conference on Computer Vision , p707-720, 2002 G. Oxberry, T. Kostova-Vassilevska, W. Arrighi, K. Chand, Limited-memory adaptive snapshot selection for proper orthogonal decomposition , International Journal for Numerical Methods in Engineering , 109(2), p198-217, 2016 H. Fareed, J.R. Singler, Error Analysis of an Incremental Proper Orthogonal Decomposition Algorithm for PDE Simulation Data , Journal of Computational and Applied Mathematics , 368, 112525, 2020 Randomized SVD Randomization can bring computational efficiency in computing SVDs. For example, consider that one needs to extract $p$ dominant modes from $n \\times m$ tall dense matrix, using SVD. The randomized SVD requires $\\mathcal{O}(nm\\log(p))$ floating-point operations, while the static SVD algorithm requires $\\mathcal{O}(nmp)$ flops. The randomized SVD that is implemented in libROM can be found in the following journal paper: N. Halko, P.G. Martinsson, J.A. Tropp, Finding structure with randomness: Probabilistic algorithms for constructing approximate matrix decompositions . SIAM review , 53(2), p217-288, 2011 Space-time SVD For time dependent problems, one can reduce not only the spatial degrees of freedom, but also the temporal degrees of freedom by representing the space-time solution as a linear combination of a space-time reduced basis. The space-time reduced basis can be mathematically written as a Kronecker product of temporal and spatial bases. Fortunately, one can extract temporal as well as spatial reduced bases from one single SVD. The procedure is schematically depicted in the figure below: For the detailed explanation about the incremental SVD, we refer to the following three journal papers: Y. Kim, K. Wang, Y. Choi, Efficient space\u2013time reduced order model for linear dynamical systems in Python using less than 120 lines of code . Mathematics , 9(14), 1690, 2021 Y. Choi, P. Brown, W. Arrighi, R. Anderson, K. Huynh, Space\u2013time reduced order model for large-scale linear dynamical systems with application to boltzmann transport problems . Journal of Computational Physics , 424, 109845, 2021 Y. Choi, K. Carlberg, Space-time least-squares Petrov-Galerkin projection for nonlinear model reduction , SIAM Journal on Scientific Computing , 41(1), A26-A58, 2019 Dynamic Mode Decomposition The dynamic mode decomposition (DMD) provides a great way of finding an approximate locally linear dynamical system, $$ \\frac{d\\boldsymbol{u}}{dt} = \\mathcal{A}\\boldsymbol{u},$$ for a given nonlinear dynamical system, $$ \\frac{d\\boldsymbol{u}}{dt} = \\boldsymbol{f}(\\boldsymbol{u},t;\\boldsymbol{\\mu}),$$ with initial condition, $\\boldsymbol{u}_0$. It takes non-intrusive approach, i.e., equation-free method, so it is applicable even if there is only data, but no $\\boldsymbol{f}(\\boldsymbol{u},t;\\boldsymbol{\\mu})$. For example, let's say the discrete-time data are given as: $$\\boldsymbol{U} = [\\boldsymbol{u}_1,\\ldots,\\boldsymbol{u}_m],$$ where $\\boldsymbol{u}_k\\in\\mathbb{R}^n$ denotes solution at $t=k\\Delta t$. The DMD is trying to find the best $\\boldsymbol{A}$ such that $$\\boldsymbol{U}^+ = \\boldsymbol{A}\\boldsymbol{U}^-,$$ where $\\boldsymbol{U}^+ = [\\boldsymbol{u}_2,\\ldots,\\boldsymbol{u}_m]$ and $\\boldsymbol{U}^- = [\\boldsymbol{u}_1, \\ldots, \\boldsymbol{u}_{m-1}]$. The following procedure is taken to find the best $\\boldsymbol{A}$. Take the singular value decomposition (SVD) of $\\boldsymbol{U}^-$ $$\\boldsymbol{U}^- \\approx \\boldsymbol{W}\\boldsymbol{\\Omega}\\boldsymbol{V}^*,$$ where $*$ denotes the conjugate transpose, $\\boldsymbol{W}\\in\\mathbb{C}^{n\\times r}$, $\\boldsymbol{\\Omega}\\in\\mathbb{C}^{r\\times r}$, $\\boldsymbol{V}\\in\\mathbb{C}^{m\\times r}$, and $r \\leq m$. Because $\\boldsymbol{U}^+ = \\boldsymbol{A}\\boldsymbol{U}^-$, using the pseudo-inverse of the approximate $\\boldsymbol{U}^-$, we have $$\\boldsymbol{A} \\approx \\tilde{\\boldsymbol{A}} = \\boldsymbol{U}^+\\boldsymbol{V}\\boldsymbol{\\Omega}^{-1}\\boldsymbol{W}^*$$ It is easier to deal with the reduced operator $\\tilde{\\boldsymbol{A}}_r$, which relates the discrete-time dynamic of reduced states: $$\\tilde{\\boldsymbol{u}}_{k+1} = \\tilde{\\boldsymbol{A}}_r\\tilde{\\boldsymbol{u}}_k,$$ where $\\boldsymbol{u}_k = \\boldsymbol{W} \\tilde{\\boldsymbol{u}}_k$ and $\\tilde{\\boldsymbol{A}}_r$ is defined as $$\\tilde{\\boldsymbol{A}}_r=\\boldsymbol{W}^*\\tilde{\\boldsymbol{A}}\\boldsymbol{W}$$ $$\\tilde{\\boldsymbol{A}}_r=\\boldsymbol{W}^*\\boldsymbol{U}^+\\boldsymbol{V}\\boldsymbol{\\Omega}^{-1}$$ Let the eigen-decomposition of $\\tilde{\\boldsymbol{A}}_r$ to be $$\\tilde{\\boldsymbol{A}}_r \\boldsymbol{X} = \\boldsymbol{X}\\boldsymbol{\\Lambda}$$ and set either $\\boldsymbol{\\Phi} = \\boldsymbol{W}\\boldsymbol{X}$ or $\\boldsymbol{\\Phi} = \\boldsymbol{U}^+ \\boldsymbol{V} \\boldsymbol{\\Omega}^{-1}\\boldsymbol{X}$, then the DMD solution at time, $t$, can be found as $$\\boldsymbol{u}(t) = \\boldsymbol{\\Phi}\\boldsymbol{\\Lambda}^{t/\\Delta t} \\boldsymbol{b}_0,$$ where $\\boldsymbol{b}_0 = \\boldsymbol{\\Phi}^\\dagger \\boldsymbol{u}_0$. For the detailed explanation about the DMD, we refer to the following book: J.N. Kutz, S.L. Brunton, B.W. Brunton, J.L. Proctor, Dynamic mode decomposition: data-driven modeling of complex systems . Society for Industrial and Applied Mathematics , 2016 Projection-based reduced order model In contrast to the DMD, the projection-based reduced order model (pROM) takes an intrusive approach, that is, it is NOT equation-free. The pROM first represents the solution as a linear combincation of reduced basis. The reduced basis can be obtained by the POD, for example. Let's denote the reduced basis as $\\boldsymbol{\\Phi}\\in\\mathbb{R}^{n\\times r}$ and express the solution, $\\boldsymbol{u}\\in\\mathbb{R}^n$ as $$\\boldsymbol{u} = \\boldsymbol{u}_{\\text{ref}}+\\boldsymbol{\\Phi}\\hat{\\boldsymbol{u}},$$ where $\\hat{\\boldsymbol{u}} \\in \\mathbb{R}^r$ denotes the generalized coordinates with respect to the reduced basis. Then we substitute $\\boldsymbol{u}$ in the governing equation, say a nonlinear dynamical system governed by the following ordinary differential equations, $$\\frac{d\\boldsymbol{u}}{dt} = \\boldsymbol{f}(\\boldsymbol{u},t;\\boldsymbol{\\mu}),$$ to obtain the over-determined system, i.e., $$\\boldsymbol{\\Phi}\\frac{d\\hat{\\boldsymbol{u}}}{dt} = \\boldsymbol{f}(\\boldsymbol{u}_{\\text{ref}}+\\boldsymbol{\\Phi}\\hat{\\boldsymbol{u}},t;\\boldsymbol{\\mu}),$$ which has more equations than unknowns. Therefore, the system needs to be closed by a projection. Galerkin and Petrov-Galerking projections are popular. For example, the Galerkin projection multiplies both sides by $\\boldsymbol{\\Phi}^T$ and the system of equations become $$\\frac{d\\hat{\\boldsymbol{u}}}{dt} = \\boldsymbol{\\Phi}^T \\boldsymbol{f}(\\boldsymbol{u}_{\\text{ref}}+\\boldsymbol{\\Phi}\\hat{\\boldsymbol{u}},t;\\boldsymbol{\\mu})$$ By the way, the nonlinear term $\\boldsymbol{f}$ still scales with the full order model size and it needs to be updated every time its argument changes due to Newton step updates, for example. The hyper-reduction provides an efficient way of computing nonlinear terms by sampling an important subset. By the way, if $\\boldsymbol{f}$ is linear, then $\\boldsymbol{\\Phi}^T\\boldsymbol{f}$ can be pre-computed, so the hyper-reduction is not necessary. Hyper-reduction Hyper-reduction is essential to reduce the complexity of nonlinear terms in pROM. The most popular hyper-reduction technique is the discrete empirical interpolation method (DEIM). The DEIM approximates the nonlinear term with a gappy POD, i.e., it expresses the nonlinear term with a linear combination of the nonlinear term reduced basis, $\\boldsymbol{\\Phi}_{f}\\in\\mathbb{R}^{n\\times f}$: $$\\boldsymbol{f} \\approx \\boldsymbol{\\Phi}_f \\hat{\\boldsymbol{f}},$$ where $\\hat{\\boldsymbol{f}}\\in\\mathbb{R}^{f}$ is a generalized coordinate for the nonlinear term. The usual data for the nonlinear term basis, $\\boldsymbol{\\Phi}_{f}$ is snapshot of nonlinear term itself. Alternatively, it can be replaced by the solution basis (i.e., $\\boldsymbol{\\Phi}$ or slight modification of it) via the SNS method introduced in the following journal paper: Y. Choi, D. Coombs, R. Anderson, SNS: a solution-based nonlinear subspace method for time-dependent model order reduction . SIAM Journal on Scientific Computing , 42(2), A1116\u2013A1146, 2020 Then, we introduce a sampling matrix (in order words, a collocation matrix), $\\boldsymbol{Z}\\in\\mathbb{R}^{n\\times z}$, which selects a subset of the nonliear term, $\\boldsymbol{F}$. That is, each column of $\\boldsymbol{Z}$ is a column of the identity matrix, $\\boldsymbol{I} \\in \\mathbb{R}^{n\\times n}$. Combining the collocation matrix and the nonlinear basis, we solve the following least-squares problem to solve for the generalized coordinate, $\\hat{\\boldsymbol{f}}$: $$\\hat{\\boldsymbol{f}} = \\underset{\\boldsymbol{y}\\in{\\mathbb{R}^{f}}}{\\arg\\min} \\hspace{3pt} || \\boldsymbol{Z}^T\\boldsymbol{f} - \\boldsymbol{Z}^T\\boldsymbol{\\Phi}_f \\boldsymbol{y} ||_2^2$$ The solution to the least-squares problem is known to be $$\\hat{\\boldsymbol{f}} = (\\boldsymbol{Z}^T\\boldsymbol{\\Phi}_{f})^\\dagger \\boldsymbol{Z}^T\\boldsymbol{f}.$$ Note that $(\\boldsymbol{Z}^T\\boldsymbol{\\Phi}_{f})^\\dagger$ can be pre-computed once the indices for $\\boldsymbol{Z}$ and $\\boldsymbol{\\Phi}_f$ are known. Note also that you do not need to construct $\\boldsymbol{Z}$. You only need to sample selected rows of $\\boldsymbol{\\Phi}_f$ and do the pseudo-inversion. This is what we do in libROM. Also note that we only need to evaluate a subset of $\\boldsymbol{f}$ because of $\\boldsymbol{Z}^T$ in front of $\\boldsymbol{f}$. Parametric ROMs Whether it is intrusive or non-intrusive ROM, if the ROM can only reproduce the full order model simulation data with high accuracy, it is useless because the full order model solution is already available. In order for any ROMs to be useful, they must be able to predict the solution which is not generated yet. We call such a ROM parametric because it is able to predict the solution for a new parameter value. Two extreme types of parametric ROMs are global and local ROMs. Global ROMs The global ROMs collect simulation data over several sampled points in a given parameter space and use all of them as a whole, building a global reduced basis. The size of the reduced basis becomes larger as the number of samples increases. Therefore, the global ROM is only effective when a small number of samples are used. Local ROMs A local ROM is built with the simulation data corresponding only to one specific sample. Usually, several local ROMs are built for several sample points and either interpolation or trust-region is used to predict the solution at points which were not sampled. Greedy sampling algorithm The greedy sampling algorithm is a physics-informed sampling strategy to build a parametric ROM . The parametric ROM can be used to predict the solution of a new parameter point that has not been seen in the training phase. The greey algorithms follow the general procedure below: Define a parameter space Pick an initial point in the parameter space to build a ROM there (a good cancidiate initla point is either the centroid or one of end points) Evaluate error indicator of the current ROM (either global or local ROM) at $N$ random points within the parameter space Check if the maximum error indicator value is less than the desirable accuracy threshold If the answer to Step 4 is yes, then terminate the greedy process. If the answer to Step 4 is no, then collect the full order model simulation data at the maximum error indicator point and add them to update the ROM Go to Step 3. The success of the greedy algorithm depends on the error indicator . The error indicator must satisfy the following two criteria: Its value must have positive correlation with the relative error measure The evaluation of the error indicator must be computationally efficient Note that the error indicator plays a role of a proxy for the accuracy of the ROM. The most popular error indicator is residual-based, which we recommend you to use for your physical simulations. The general framework of the greedy algorithm is implemented in libROM. The example of the libROM usage case can be found for the Poisson problem at poisson_greedy.cpp . The corresponding tutorial page can be found here . Several variants of the greedy procedure described above is possible. For more detailed explanation about the greedy algorithm, we refer to the following jounral paper, where the greedy algorithm is described for the interpolated ROM in a matrix manifold: Y. Choi, G. Boncoraglio, S. Anderson, D. Amsallem, C. Farhat, Gradient-based constrained optimization using a database of linear reduced order models . Journal of Computational Physics , 423, 109787, 2020 We recommend another excellent paper for the greedy algorithm: A. Paul-Dubois-Taine, D. Amsallem, An adaptive and efficient greedy procedure for the optimal training of parametric reduced-order models . International Journal for Numerical Methods in Engineering , 102, p1262-1292, 2014 Latent Space Dynamics Identification Latent Space Dynamics Identification (LaSDI) is a reduced order model framework that follows three distinct steps: compression , identification , and prediction . For compression, LaSDI employs both linear and nonlinear techniques. For identification, it uses sparse regression methods, such as SINDy and weak-form SINDy, or adopts a fixed form, like the neural network version of GENERIC formalism (i.e., GFINN). We recommend the followin excellent papers for LaSDI framework: W.D. Fries, X. He, and Y. Choi, Lasdi: Parametric latent space dynamics identification . Computer Methods in Applied Mechanics and Engineering , 399, p.115436, 2022 X. He, Y. Choi, W.D. Fries, J.L. Belof, J.S. Chen, gLaSDI: Parametric physics-informed greedy latent space dynamics identification . Journal of Computational Physics , 489, p.112267. 2023 C. Bonneville, Y. Choi, D. Ghosh, J.L. Belof, GPLaSDI: Gaussian process-based interpretable latent space dynamics identification through deep autoencoder . Computer Methods in Applied Mechanics and Engineering , 418, p.116535, 2024 A. Tran, X. He, D.A. Messenger, Y. Choi, D.M. Bortz, Weak-form latent space dynamics identification . Computer Methods in Applied Mechanics and Engineering , 427, p.116998, 2024 J.S.R. Park, S.W. Cheung, Y. Choi, Y. Shin, tLaSDI: Thermodynamics-informed latent space dynamics identification . arXiv preprint arXiv:2403.05848, 2024 C. Bonneville, X. He, A. Tran, J.S. Park, W. Fries, D.A. Messenger, S.W. Cheung, Y. Shin, D.M. Bortz, D. Ghosh, J.S. Chen, A Comprehensive Review of Latent Space Dynamics Identification Algorithms for Intrusive and Non-Intrusive Reduced-Order-Modeling . arXiv preprint arXiv:2403.10748, 2024 Domain Decomposition Nonlinear Manifold Reduced Order Model Domain Decomposition Nonlinear Manifold Reduced Order Model (DD-NM-ROM) constructs local nonlinear manifold reduced order models in space to mitigate the high computational cost of neural network training caused by large-scale data as the full order model size increases. This approach maintains the expressive power offered by nonlinear manifold solution representation. We recommend the followin excellent paper for DD-NM-ROM: A.N. Diaz, Y. Choi, M. Heinkenschloss, A fast and accurate domain decomposition nonlinear manifold reduced order model . Computer Methods in Applied Mechanics and Engineering , 425, p.116943, 2024 Open Source libROM is an open-source software, and can be freely used under the terms of the MIT and APACHE license.","title":"Features"},{"location":"features.html#features","text":"The goal of libROM is to provide high-performance scalable library for data-driven reduced order modeling.","title":"Features"},{"location":"features.html#proper-orthogonal-decomposition","text":"One of the core features in libROM is the ability to extract important modes from given physical simulation data. The proper othogonal decomposition (POD) is a popular method for compressing physical simulation data to obtain optimal \"reduced\" bases in the following sense: $$\\boldsymbol{\\Phi} =\\underset{\\boldsymbol{A}\\in\\mathbb{R}^{n\\times r}, \\boldsymbol{A}^T\\boldsymbol{A} = \\boldsymbol{I}_{r\\times r} }{\\arg\\min} || \\boldsymbol{U} - \\boldsymbol{A}\\boldsymbol{A}^T\\boldsymbol{U} ||_F^2, $$ where $\\boldsymbol{U}\\in\\mathbb{R}^{n\\times m}$ is simulation data and $\\boldsymbol{I}_{r\\times r} \\in \\mathbb{R}^{r\\times r}$ denotes an identity matrix. That is, the POD tries to find the orthogonal matrix, $\\boldsymbol{\\Phi}$, whose span minimizes the projection error in the Frobenius norm. The POD modes can be obtained in two equivalent ways: (i) eigenvalue decomposition and (ii) singular value decomposition (SVD). We take the latter approach, i.e., let's say the thin SVD of $\\boldsymbol{U}$ is given by $$\\boldsymbol{U} = \\boldsymbol{W\\Sigma V}^T.$$ Then the solution of the POD is given by taking the first $r$ columns of the left singular matrix, i.e., $\\boldsymbol{\\Phi} = [\\boldsymbol{w}_{1},\\ldots ,\\boldsymbol{w}_r]$, where $\\boldsymbol{w}_k$ is $k$th left singular vector, assuming that the singular value is written in the decreasing order.","title":"Proper orthogonal decomposition"},{"location":"features.html#efficient-data-collection","text":"High-fidelity physical simulations generate intensive data in its size, which makes the data collection process daunting. Therefore, the libROM aims to ease the difficulty associated with the intensive data size. The libROM can be directly integrated to the physics solver that generates the intensive simulation data. For example, if the physical simulation is time dependent, then each time step solution data can be feed into the libROM incrementally so that the singular value decomposition is efficiently updated in parallel. This approach is incremental SVD . There are other types of SVDs which exploits efficiency. The libROM provides following four SVDs: Static SVD incremental SVD randomized SVD space-time SVD","title":"Efficient data collection"},{"location":"features.html#static-svd","text":"The static SVD waits the libROM to collect all the simulation data. Once the snapshot matrix $\\boldsymbol{U}$ is formed, then the SVD is performed. Therefore, if the data size is big, this approach is not efficient and not recommended. However, because it gives the most accurate SVD results, it is ideal for a small problem.","title":"Static SVD"},{"location":"features.html#incremental-svd","text":"Unlike the static SVD, the incremental SVD does not wait. Instead, as the data comes in, the SVD is performed right away. Because the incremental SVD only needs to find out the effect of one additional simulation data vector to the previous SVD, the update can be done very efficiently without requiring much memory. Therefore, it is useful for large-scale problems. For the detailed explanation about the incremental SVD, we refer to the following journal papers: M. Brand, Incremental singular value decomposition of uncertain data with missing values , In European Conference on Computer Vision , p707-720, 2002 G. Oxberry, T. Kostova-Vassilevska, W. Arrighi, K. Chand, Limited-memory adaptive snapshot selection for proper orthogonal decomposition , International Journal for Numerical Methods in Engineering , 109(2), p198-217, 2016 H. Fareed, J.R. Singler, Error Analysis of an Incremental Proper Orthogonal Decomposition Algorithm for PDE Simulation Data , Journal of Computational and Applied Mathematics , 368, 112525, 2020","title":"Incremental SVD"},{"location":"features.html#randomized-svd","text":"Randomization can bring computational efficiency in computing SVDs. For example, consider that one needs to extract $p$ dominant modes from $n \\times m$ tall dense matrix, using SVD. The randomized SVD requires $\\mathcal{O}(nm\\log(p))$ floating-point operations, while the static SVD algorithm requires $\\mathcal{O}(nmp)$ flops. The randomized SVD that is implemented in libROM can be found in the following journal paper: N. Halko, P.G. Martinsson, J.A. Tropp, Finding structure with randomness: Probabilistic algorithms for constructing approximate matrix decompositions . SIAM review , 53(2), p217-288, 2011","title":"Randomized SVD"},{"location":"features.html#space-time-svd","text":"For time dependent problems, one can reduce not only the spatial degrees of freedom, but also the temporal degrees of freedom by representing the space-time solution as a linear combination of a space-time reduced basis. The space-time reduced basis can be mathematically written as a Kronecker product of temporal and spatial bases. Fortunately, one can extract temporal as well as spatial reduced bases from one single SVD. The procedure is schematically depicted in the figure below: For the detailed explanation about the incremental SVD, we refer to the following three journal papers: Y. Kim, K. Wang, Y. Choi, Efficient space\u2013time reduced order model for linear dynamical systems in Python using less than 120 lines of code . Mathematics , 9(14), 1690, 2021 Y. Choi, P. Brown, W. Arrighi, R. Anderson, K. Huynh, Space\u2013time reduced order model for large-scale linear dynamical systems with application to boltzmann transport problems . Journal of Computational Physics , 424, 109845, 2021 Y. Choi, K. Carlberg, Space-time least-squares Petrov-Galerkin projection for nonlinear model reduction , SIAM Journal on Scientific Computing , 41(1), A26-A58, 2019","title":"Space-time SVD"},{"location":"features.html#dynamic-mode-decomposition","text":"The dynamic mode decomposition (DMD) provides a great way of finding an approximate locally linear dynamical system, $$ \\frac{d\\boldsymbol{u}}{dt} = \\mathcal{A}\\boldsymbol{u},$$ for a given nonlinear dynamical system, $$ \\frac{d\\boldsymbol{u}}{dt} = \\boldsymbol{f}(\\boldsymbol{u},t;\\boldsymbol{\\mu}),$$ with initial condition, $\\boldsymbol{u}_0$. It takes non-intrusive approach, i.e., equation-free method, so it is applicable even if there is only data, but no $\\boldsymbol{f}(\\boldsymbol{u},t;\\boldsymbol{\\mu})$. For example, let's say the discrete-time data are given as: $$\\boldsymbol{U} = [\\boldsymbol{u}_1,\\ldots,\\boldsymbol{u}_m],$$ where $\\boldsymbol{u}_k\\in\\mathbb{R}^n$ denotes solution at $t=k\\Delta t$. The DMD is trying to find the best $\\boldsymbol{A}$ such that $$\\boldsymbol{U}^+ = \\boldsymbol{A}\\boldsymbol{U}^-,$$ where $\\boldsymbol{U}^+ = [\\boldsymbol{u}_2,\\ldots,\\boldsymbol{u}_m]$ and $\\boldsymbol{U}^- = [\\boldsymbol{u}_1, \\ldots, \\boldsymbol{u}_{m-1}]$. The following procedure is taken to find the best $\\boldsymbol{A}$. Take the singular value decomposition (SVD) of $\\boldsymbol{U}^-$ $$\\boldsymbol{U}^- \\approx \\boldsymbol{W}\\boldsymbol{\\Omega}\\boldsymbol{V}^*,$$ where $*$ denotes the conjugate transpose, $\\boldsymbol{W}\\in\\mathbb{C}^{n\\times r}$, $\\boldsymbol{\\Omega}\\in\\mathbb{C}^{r\\times r}$, $\\boldsymbol{V}\\in\\mathbb{C}^{m\\times r}$, and $r \\leq m$. Because $\\boldsymbol{U}^+ = \\boldsymbol{A}\\boldsymbol{U}^-$, using the pseudo-inverse of the approximate $\\boldsymbol{U}^-$, we have $$\\boldsymbol{A} \\approx \\tilde{\\boldsymbol{A}} = \\boldsymbol{U}^+\\boldsymbol{V}\\boldsymbol{\\Omega}^{-1}\\boldsymbol{W}^*$$ It is easier to deal with the reduced operator $\\tilde{\\boldsymbol{A}}_r$, which relates the discrete-time dynamic of reduced states: $$\\tilde{\\boldsymbol{u}}_{k+1} = \\tilde{\\boldsymbol{A}}_r\\tilde{\\boldsymbol{u}}_k,$$ where $\\boldsymbol{u}_k = \\boldsymbol{W} \\tilde{\\boldsymbol{u}}_k$ and $\\tilde{\\boldsymbol{A}}_r$ is defined as $$\\tilde{\\boldsymbol{A}}_r=\\boldsymbol{W}^*\\tilde{\\boldsymbol{A}}\\boldsymbol{W}$$ $$\\tilde{\\boldsymbol{A}}_r=\\boldsymbol{W}^*\\boldsymbol{U}^+\\boldsymbol{V}\\boldsymbol{\\Omega}^{-1}$$ Let the eigen-decomposition of $\\tilde{\\boldsymbol{A}}_r$ to be $$\\tilde{\\boldsymbol{A}}_r \\boldsymbol{X} = \\boldsymbol{X}\\boldsymbol{\\Lambda}$$ and set either $\\boldsymbol{\\Phi} = \\boldsymbol{W}\\boldsymbol{X}$ or $\\boldsymbol{\\Phi} = \\boldsymbol{U}^+ \\boldsymbol{V} \\boldsymbol{\\Omega}^{-1}\\boldsymbol{X}$, then the DMD solution at time, $t$, can be found as $$\\boldsymbol{u}(t) = \\boldsymbol{\\Phi}\\boldsymbol{\\Lambda}^{t/\\Delta t} \\boldsymbol{b}_0,$$ where $\\boldsymbol{b}_0 = \\boldsymbol{\\Phi}^\\dagger \\boldsymbol{u}_0$. For the detailed explanation about the DMD, we refer to the following book: J.N. Kutz, S.L. Brunton, B.W. Brunton, J.L. Proctor, Dynamic mode decomposition: data-driven modeling of complex systems . Society for Industrial and Applied Mathematics , 2016","title":"Dynamic Mode Decomposition"},{"location":"features.html#projection-based-reduced-order-model","text":"In contrast to the DMD, the projection-based reduced order model (pROM) takes an intrusive approach, that is, it is NOT equation-free. The pROM first represents the solution as a linear combincation of reduced basis. The reduced basis can be obtained by the POD, for example. Let's denote the reduced basis as $\\boldsymbol{\\Phi}\\in\\mathbb{R}^{n\\times r}$ and express the solution, $\\boldsymbol{u}\\in\\mathbb{R}^n$ as $$\\boldsymbol{u} = \\boldsymbol{u}_{\\text{ref}}+\\boldsymbol{\\Phi}\\hat{\\boldsymbol{u}},$$ where $\\hat{\\boldsymbol{u}} \\in \\mathbb{R}^r$ denotes the generalized coordinates with respect to the reduced basis. Then we substitute $\\boldsymbol{u}$ in the governing equation, say a nonlinear dynamical system governed by the following ordinary differential equations, $$\\frac{d\\boldsymbol{u}}{dt} = \\boldsymbol{f}(\\boldsymbol{u},t;\\boldsymbol{\\mu}),$$ to obtain the over-determined system, i.e., $$\\boldsymbol{\\Phi}\\frac{d\\hat{\\boldsymbol{u}}}{dt} = \\boldsymbol{f}(\\boldsymbol{u}_{\\text{ref}}+\\boldsymbol{\\Phi}\\hat{\\boldsymbol{u}},t;\\boldsymbol{\\mu}),$$ which has more equations than unknowns. Therefore, the system needs to be closed by a projection. Galerkin and Petrov-Galerking projections are popular. For example, the Galerkin projection multiplies both sides by $\\boldsymbol{\\Phi}^T$ and the system of equations become $$\\frac{d\\hat{\\boldsymbol{u}}}{dt} = \\boldsymbol{\\Phi}^T \\boldsymbol{f}(\\boldsymbol{u}_{\\text{ref}}+\\boldsymbol{\\Phi}\\hat{\\boldsymbol{u}},t;\\boldsymbol{\\mu})$$ By the way, the nonlinear term $\\boldsymbol{f}$ still scales with the full order model size and it needs to be updated every time its argument changes due to Newton step updates, for example. The hyper-reduction provides an efficient way of computing nonlinear terms by sampling an important subset. By the way, if $\\boldsymbol{f}$ is linear, then $\\boldsymbol{\\Phi}^T\\boldsymbol{f}$ can be pre-computed, so the hyper-reduction is not necessary.","title":"Projection-based reduced order model"},{"location":"features.html#hyper-reduction","text":"Hyper-reduction is essential to reduce the complexity of nonlinear terms in pROM. The most popular hyper-reduction technique is the discrete empirical interpolation method (DEIM). The DEIM approximates the nonlinear term with a gappy POD, i.e., it expresses the nonlinear term with a linear combination of the nonlinear term reduced basis, $\\boldsymbol{\\Phi}_{f}\\in\\mathbb{R}^{n\\times f}$: $$\\boldsymbol{f} \\approx \\boldsymbol{\\Phi}_f \\hat{\\boldsymbol{f}},$$ where $\\hat{\\boldsymbol{f}}\\in\\mathbb{R}^{f}$ is a generalized coordinate for the nonlinear term. The usual data for the nonlinear term basis, $\\boldsymbol{\\Phi}_{f}$ is snapshot of nonlinear term itself. Alternatively, it can be replaced by the solution basis (i.e., $\\boldsymbol{\\Phi}$ or slight modification of it) via the SNS method introduced in the following journal paper: Y. Choi, D. Coombs, R. Anderson, SNS: a solution-based nonlinear subspace method for time-dependent model order reduction . SIAM Journal on Scientific Computing , 42(2), A1116\u2013A1146, 2020 Then, we introduce a sampling matrix (in order words, a collocation matrix), $\\boldsymbol{Z}\\in\\mathbb{R}^{n\\times z}$, which selects a subset of the nonliear term, $\\boldsymbol{F}$. That is, each column of $\\boldsymbol{Z}$ is a column of the identity matrix, $\\boldsymbol{I} \\in \\mathbb{R}^{n\\times n}$. Combining the collocation matrix and the nonlinear basis, we solve the following least-squares problem to solve for the generalized coordinate, $\\hat{\\boldsymbol{f}}$: $$\\hat{\\boldsymbol{f}} = \\underset{\\boldsymbol{y}\\in{\\mathbb{R}^{f}}}{\\arg\\min} \\hspace{3pt} || \\boldsymbol{Z}^T\\boldsymbol{f} - \\boldsymbol{Z}^T\\boldsymbol{\\Phi}_f \\boldsymbol{y} ||_2^2$$ The solution to the least-squares problem is known to be $$\\hat{\\boldsymbol{f}} = (\\boldsymbol{Z}^T\\boldsymbol{\\Phi}_{f})^\\dagger \\boldsymbol{Z}^T\\boldsymbol{f}.$$ Note that $(\\boldsymbol{Z}^T\\boldsymbol{\\Phi}_{f})^\\dagger$ can be pre-computed once the indices for $\\boldsymbol{Z}$ and $\\boldsymbol{\\Phi}_f$ are known. Note also that you do not need to construct $\\boldsymbol{Z}$. You only need to sample selected rows of $\\boldsymbol{\\Phi}_f$ and do the pseudo-inversion. This is what we do in libROM. Also note that we only need to evaluate a subset of $\\boldsymbol{f}$ because of $\\boldsymbol{Z}^T$ in front of $\\boldsymbol{f}$.","title":"Hyper-reduction"},{"location":"features.html#parametric-roms","text":"Whether it is intrusive or non-intrusive ROM, if the ROM can only reproduce the full order model simulation data with high accuracy, it is useless because the full order model solution is already available. In order for any ROMs to be useful, they must be able to predict the solution which is not generated yet. We call such a ROM parametric because it is able to predict the solution for a new parameter value. Two extreme types of parametric ROMs are global and local ROMs.","title":"Parametric ROMs"},{"location":"features.html#global-roms","text":"The global ROMs collect simulation data over several sampled points in a given parameter space and use all of them as a whole, building a global reduced basis. The size of the reduced basis becomes larger as the number of samples increases. Therefore, the global ROM is only effective when a small number of samples are used.","title":"Global ROMs"},{"location":"features.html#local-roms","text":"A local ROM is built with the simulation data corresponding only to one specific sample. Usually, several local ROMs are built for several sample points and either interpolation or trust-region is used to predict the solution at points which were not sampled.","title":"Local ROMs"},{"location":"features.html#greedy-sampling-algorithm","text":"The greedy sampling algorithm is a physics-informed sampling strategy to build a parametric ROM . The parametric ROM can be used to predict the solution of a new parameter point that has not been seen in the training phase. The greey algorithms follow the general procedure below: Define a parameter space Pick an initial point in the parameter space to build a ROM there (a good cancidiate initla point is either the centroid or one of end points) Evaluate error indicator of the current ROM (either global or local ROM) at $N$ random points within the parameter space Check if the maximum error indicator value is less than the desirable accuracy threshold If the answer to Step 4 is yes, then terminate the greedy process. If the answer to Step 4 is no, then collect the full order model simulation data at the maximum error indicator point and add them to update the ROM Go to Step 3. The success of the greedy algorithm depends on the error indicator . The error indicator must satisfy the following two criteria: Its value must have positive correlation with the relative error measure The evaluation of the error indicator must be computationally efficient Note that the error indicator plays a role of a proxy for the accuracy of the ROM. The most popular error indicator is residual-based, which we recommend you to use for your physical simulations. The general framework of the greedy algorithm is implemented in libROM. The example of the libROM usage case can be found for the Poisson problem at poisson_greedy.cpp . The corresponding tutorial page can be found here . Several variants of the greedy procedure described above is possible. For more detailed explanation about the greedy algorithm, we refer to the following jounral paper, where the greedy algorithm is described for the interpolated ROM in a matrix manifold: Y. Choi, G. Boncoraglio, S. Anderson, D. Amsallem, C. Farhat, Gradient-based constrained optimization using a database of linear reduced order models . Journal of Computational Physics , 423, 109787, 2020 We recommend another excellent paper for the greedy algorithm: A. Paul-Dubois-Taine, D. Amsallem, An adaptive and efficient greedy procedure for the optimal training of parametric reduced-order models . International Journal for Numerical Methods in Engineering , 102, p1262-1292, 2014","title":"Greedy sampling algorithm"},{"location":"features.html#latent-space-dynamics-identification","text":"Latent Space Dynamics Identification (LaSDI) is a reduced order model framework that follows three distinct steps: compression , identification , and prediction . For compression, LaSDI employs both linear and nonlinear techniques. For identification, it uses sparse regression methods, such as SINDy and weak-form SINDy, or adopts a fixed form, like the neural network version of GENERIC formalism (i.e., GFINN). We recommend the followin excellent papers for LaSDI framework: W.D. Fries, X. He, and Y. Choi, Lasdi: Parametric latent space dynamics identification . Computer Methods in Applied Mechanics and Engineering , 399, p.115436, 2022 X. He, Y. Choi, W.D. Fries, J.L. Belof, J.S. Chen, gLaSDI: Parametric physics-informed greedy latent space dynamics identification . Journal of Computational Physics , 489, p.112267. 2023 C. Bonneville, Y. Choi, D. Ghosh, J.L. Belof, GPLaSDI: Gaussian process-based interpretable latent space dynamics identification through deep autoencoder . Computer Methods in Applied Mechanics and Engineering , 418, p.116535, 2024 A. Tran, X. He, D.A. Messenger, Y. Choi, D.M. Bortz, Weak-form latent space dynamics identification . Computer Methods in Applied Mechanics and Engineering , 427, p.116998, 2024 J.S.R. Park, S.W. Cheung, Y. Choi, Y. Shin, tLaSDI: Thermodynamics-informed latent space dynamics identification . arXiv preprint arXiv:2403.05848, 2024 C. Bonneville, X. He, A. Tran, J.S. Park, W. Fries, D.A. Messenger, S.W. Cheung, Y. Shin, D.M. Bortz, D. Ghosh, J.S. Chen, A Comprehensive Review of Latent Space Dynamics Identification Algorithms for Intrusive and Non-Intrusive Reduced-Order-Modeling . arXiv preprint arXiv:2403.10748, 2024","title":"Latent Space Dynamics Identification"},{"location":"features.html#domain-decomposition-nonlinear-manifold-reduced-order-model","text":"Domain Decomposition Nonlinear Manifold Reduced Order Model (DD-NM-ROM) constructs local nonlinear manifold reduced order models in space to mitigate the high computational cost of neural network training caused by large-scale data as the full order model size increases. This approach maintains the expressive power offered by nonlinear manifold solution representation. We recommend the followin excellent paper for DD-NM-ROM: A.N. Diaz, Y. Choi, M. Heinkenschloss, A fast and accurate domain decomposition nonlinear manifold reduced order model . Computer Methods in Applied Mechanics and Engineering , 425, p.116943, 2024","title":"Domain Decomposition Nonlinear Manifold Reduced Order Model"},{"location":"features.html#open-source","text":"libROM is an open-source software, and can be freely used under the terms of the MIT and APACHE license.","title":"Open Source"},{"location":"gallery.html","text":"Gallery This page collects screenshots from various ROM simulations based on libROM. Sedov blast simulated with Laghos and accelerated by libROM . Visualization with VisIt . 2D Gresho vortex simulated with Laghos and accelerated by libROM . Visualization with VisIt . 2D Nonlinear diffusion problem simulated with MFEM and accelerated by libROM . Visualization with VisIt . 3D Crooked pipe for nonlinear radiation diffusion problem simulated with BLAST and accelerated by libROM . Visualization with VisIt . 2D Rayleigh-Taylor instability problem simulated with Laghos and accelerated by libROM . Visualization with VisIt . 1D1V two stream instability problem simulated with HyPar and accelerated by libROM DMD and GPLaSDI . Visualization with VisIt . Triple-point problem simulated with Laghos and accelerated by libROM . Visualization with VisIt . An optimal design for the wind turbine blade solved with LiDO and accelerated by libROM . Visualization with VisIt . 3D Boltzmann particle transport problem solved with ARDRA and accelerated by libROM . Visualization with VisIt . 3D Boltzmann particle transport problem solved with ARDRA and accelerated by libROM . Visualization with VisIt . Pore collapse simulated with ALE3D and accelerated by libROM . Visualization with VisIt . Taylor-Green vortex problem simulated with Laghos and accelerated by libROM . Visualization with VisIt . Stress-constrained optimal L-bracket problem solved by LiDO and accelerated by libROM . Visualization with VisIt . 3D cantilever beam problem solved by LiDO and accelerated by libROM . Visualization with VisIt . 2D vortex shedding cylinder problem solved by SU2 and its reduced basis by libROM below. Click image below for zoomed-in picture. Visualization with ParaView . 2D NACA0012 airfoil problem solved by SU2 and its reduced basis by libROM . Click image above for zoomed-in picture. Visualization with MATLAB . 2D steady Navier-Stokes porous media problem solved by ScaleupROM . Visualization with ParaView .","title":"Gallery"},{"location":"gallery.html#gallery","text":"This page collects screenshots from various ROM simulations based on libROM. Sedov blast simulated with Laghos and accelerated by libROM . Visualization with VisIt . 2D Gresho vortex simulated with Laghos and accelerated by libROM . Visualization with VisIt . 2D Nonlinear diffusion problem simulated with MFEM and accelerated by libROM . Visualization with VisIt . 3D Crooked pipe for nonlinear radiation diffusion problem simulated with BLAST and accelerated by libROM . Visualization with VisIt . 2D Rayleigh-Taylor instability problem simulated with Laghos and accelerated by libROM . Visualization with VisIt . 1D1V two stream instability problem simulated with HyPar and accelerated by libROM DMD and GPLaSDI . Visualization with VisIt . Triple-point problem simulated with Laghos and accelerated by libROM . Visualization with VisIt . An optimal design for the wind turbine blade solved with LiDO and accelerated by libROM . Visualization with VisIt . 3D Boltzmann particle transport problem solved with ARDRA and accelerated by libROM . Visualization with VisIt . 3D Boltzmann particle transport problem solved with ARDRA and accelerated by libROM . Visualization with VisIt . Pore collapse simulated with ALE3D and accelerated by libROM . Visualization with VisIt . Taylor-Green vortex problem simulated with Laghos and accelerated by libROM . Visualization with VisIt . Stress-constrained optimal L-bracket problem solved by LiDO and accelerated by libROM . Visualization with VisIt . 3D cantilever beam problem solved by LiDO and accelerated by libROM . Visualization with VisIt . 2D vortex shedding cylinder problem solved by SU2 and its reduced basis by libROM below. Click image below for zoomed-in picture. Visualization with ParaView . 2D NACA0012 airfoil problem solved by SU2 and its reduced basis by libROM . Click image above for zoomed-in picture. Visualization with MATLAB . 2D steady Navier-Stokes porous media problem solved by ScaleupROM . Visualization with ParaView .","title":"Gallery"},{"location":"hlcs.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); HLCS Webinar ( in California time ) HLCS stands for Hartree-Livermore joint seminar series on Computational Science. We hold a webinar roughly once a month at 8:30 AM on Tuesday in California time. It is sponsored by the Hartree Centre and the Lawrence Livermore National Laboratory ( LLNL ). It is intended to spur collaboration with industry through discussions on computational science, high performance computing (HPC) and data science. Scheduled Talks in 2022 When Speaker Institution Title WebEx or Zoom Past Talks in 2022 Date Speaker Institution Title YouTube Nov. 8 Erik Draeger and David Beckingsale LLNL RADIUSS and the HPCIC: Outreach through open-source software link Sept. 13 Jony Castagna and Francesca Schiavello Hartree Centre Style Eddy Simulation link July 5 Youngsoo Choi LLNL Interpretable and Explainable Data-Driven Methods for Physical Simulations link May 24 Michael Gleaves and Vassil Alexandrov Hartree Centre Industrial engagement and research highlights at the Hartree Center link","title":"HLCS"},{"location":"hlcs.html#hlcs-webinar-in-california-time","text":"HLCS stands for Hartree-Livermore joint seminar series on Computational Science. We hold a webinar roughly once a month at 8:30 AM on Tuesday in California time. It is sponsored by the Hartree Centre and the Lawrence Livermore National Laboratory ( LLNL ). It is intended to spur collaboration with industry through discussions on computational science, high performance computing (HPC) and data science.","title":"HLCS Webinar (in California time)"},{"location":"hlcs.html#scheduled-talks-in-2022","text":"When Speaker Institution Title WebEx or Zoom","title":"Scheduled Talks in 2022"},{"location":"hlcs.html#past-talks-in-2022","text":"Date Speaker Institution Title YouTube Nov. 8 Erik Draeger and David Beckingsale LLNL RADIUSS and the HPCIC: Outreach through open-source software link Sept. 13 Jony Castagna and Francesca Schiavello Hartree Centre Style Eddy Simulation link July 5 Youngsoo Choi LLNL Interpretable and Explainable Data-Driven Methods for Physical Simulations link May 24 Michael Gleaves and Vassil Alexandrov Hartree Centre Industrial engagement and research highlights at the Hartree Center link","title":"Past Talks in 2022"},{"location":"news.html","text":"All News Updates News in 2024 Date Message Sep 1, 2024 tLaSDI paper is published in CMAME Aug 1, 2024 S-OPT paper is published in SISC July 13, 2024 Data-scarce paper is published in Shock Waves July 8, 2024 Progressive paper is published in Scientific Reports May 17, 2024 DD-NM-ROM open source code is available in gitHub May 15, 2024 DDFEM paper is published in CMAME Apr 29, 2024 wLaSDI paper is published in CMAME Apr 10, 2024 Gappy AE paper is published in CMAME Mar 25, 2024 DD-NM-ROM paper is published in CMAME Mar 22, 2024 tLaSDI arXiv paper is available Mar 16, 2024 LaSDI book chapter arXiv paper is available Jan 1, 2024 GPLaSDI paper is published in CMAME News in 2023 Date Message Dec 15, 2023 Alejandro Diaz presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Aaron Brown presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Christophe Bonneville presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster Dec 15, 2023 Seung Whan Chung presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster Dec 15, 2023 Tianshu Wen presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Ping-Hsuan Tsai presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Seung Won Suh presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 13, 2023 Gappy auto-encoder arXiv paper is available Dec 6, 2023 Youngsoo Choi gave a talk at CHaRMNET annual meeting Nov 20, 2023 WLaSDI arXiv paper is available Nov 20, 2023 Youngsoo Choi gave a keynote talk at Second Workshop on Physics Enhancing Machine Learning in Applied Mechanics Nov 16, 2023 Youngsoo Choi gave an invited talk at Committee on Solid Earth Geophysics Fall 2023 meeting , Note Youngsoo's talk starts at 2:50:00 Nov 7, 2023 Youngsoo Choi gave FEM@LLNL Seminar Talk Oct 6, 2023 Youngsoo Choi gave CRLC Seminar Talk Oct 4, 2023 ProgressiveROM arXiv paper is available Sep 18, 2023 Youngsoo Choi gave Applied and Computational Mathematics Seminar talk Sep 13, 2023 Youngsoo Choi gave Numerial Analysis Seminar talk at the University of Hong Kong Aug 26, 2023 Siu Wun Cheung presented at ICIAM2023 Aug 26, 2023 Youngsoo Choi presented at ICIAM2023 Aug 15, 2023 Youngsoo Choi gave DarkStar seminar talk Aug 11, 2023 Energy-Conservation-ROM technical report is available Aug 10, 2023 GPLaSDI arXiv paper is available Aug 8, 2023 pylibROM open source code is available in gitHub Jul 30, 2023 GPLaSDI open source code is available in gitHub Jul 26, 2023 Siu Wun Cheung presented at USNCCM17 Jul 25, 2023 Saad Khairallah presented at USNCCM17 Jul 25, 2023 Eric Chin presented at USNCCM17 Jul 25, 2023 Youngsoo Choi presented at USNCCM17 Jul 24, 2023 Dylan Copeland presented at USNCCM17 Jun 22, 2023 Uncertainty-aware Barlow twins ROM paper is published in IEEE Access Jun 21, 2023 gLaSDI paper is published in JCP Jun 3, 2023 Youngsoo Choi presented at SIAM OP23 Jun 2, 2023 Time Windowing DMD preprint is available in arXiv May 24, 2023 DD-NMROM preprint is available in arXiv Apr 7, 2023 Youngsoo Choi presented at TAMIDS DTL/SciML Lab Seminar Mar 29, 2023 AAAI Spring Symposium was organized Mar 10, 2023 gLaSDI open source code is available in gitHub. Mar 10, 2023 Youngsoo Choi presented at Applied Math Seminar , at UC Santa Barbara Mar 6, 2023 LaSDI open source code is available in gitHub. Feb 15, 2023 parametric DMD paper is published in JCP. Feb 3, 2023 Youngsoo Choi presented at CRLC Seminar , at UC San Diego Jan 1, 2023 Rayleigh-Taylor instability ROM paper is published in JCP. News in 2022 Date Message Dec 3, 2022 Certified auto-encoder simulator paper for Machine Learning and the Physical Sciences workshop, NeurIPS, 2022, is available. Nov 30, 2022 Barlow twins ROM paper is published in Nature Scientific Reports. Nov 29, 2022 Component-wise ROM US patent is issued. Oct 15, 2022 ccGAN ROM paper is published in Computers and Geosciences Oct 1, 2022 CWROM stress lattice paper is published in CMAME. Sep 30, 2022 Youngsoo Choi presented ``Efficient Nonlinear Manifold Reduced Order Models with Shallow Sparse Neural Network\" at SIAM MDS22 Sep 28, 2022 Dylan Copeland presented ``Reduced Order Models for Multi-Material ALE Hydrodynamics\" at SIAM MDS22 Sep 1, 2022 LaSDI paper is published in CMAME Sep 27, 2022 Siu Wun Cheung presented ``Accelerating Hydrodyanmics Simulation with Reduced Order Models\" at SIAM MDS22 Jul 19, 2022 Conservative Deep Learning Richtmyer-Meshkov Instability Model preprint is available in arXiv. Apr 26, 2022 gLaSDI preprint is available in arXiv. Mar 29, 2022 S-OPT preprint is available in arXiv. Feb 15, 2022 NM-ROM paper is published in JCP. Feb 1, 2022 Nonintrusive ROM for porous media paper is published in Advances in Water Resources. News in 2021 Date Message Dec 20, 2021 cGAN ROM is published at Nature Computational Science Nov 10, 2021 Laghos ROM is published at CMAME. Oct 1, 2021 Domain decomposition ROM paper is published at CMAME Sep 27, 2021 First version of libROM webpage is launched Aug 1, 2021 Component-wise ROM paper is published at CMAME July 19, 2021 Space time ROM-Python paper is published in Mathematics Jan 1, 2021 Space time ROM paper is published in Journal of Computational Physics News in 2020 Date Message Dec 15, 2020 local ROM for PDE-constrained optimization paper is published in JCP. Dec 12, 2020 NM-ROM paper for Machine Learning for Engineering Modeling Simulation and Design Workshop, NeurIPS, 2020, is available Apr 13, 2020 SNS hyper-reduced ROM paper is published in SISC News in 2019 Date Message Oct 17, 2019 libROM open source library becomes available in github repo","title":"_News"},{"location":"news.html#all-news-updates","text":"","title":"All News Updates"},{"location":"news.html#news-in-2024","text":"Date Message Sep 1, 2024 tLaSDI paper is published in CMAME Aug 1, 2024 S-OPT paper is published in SISC July 13, 2024 Data-scarce paper is published in Shock Waves July 8, 2024 Progressive paper is published in Scientific Reports May 17, 2024 DD-NM-ROM open source code is available in gitHub May 15, 2024 DDFEM paper is published in CMAME Apr 29, 2024 wLaSDI paper is published in CMAME Apr 10, 2024 Gappy AE paper is published in CMAME Mar 25, 2024 DD-NM-ROM paper is published in CMAME Mar 22, 2024 tLaSDI arXiv paper is available Mar 16, 2024 LaSDI book chapter arXiv paper is available Jan 1, 2024 GPLaSDI paper is published in CMAME","title":"News in 2024"},{"location":"news.html#news-in-2023","text":"Date Message Dec 15, 2023 Alejandro Diaz presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Aaron Brown presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Christophe Bonneville presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster Dec 15, 2023 Seung Whan Chung presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster Dec 15, 2023 Tianshu Wen presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Ping-Hsuan Tsai presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Seung Won Suh presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 13, 2023 Gappy auto-encoder arXiv paper is available Dec 6, 2023 Youngsoo Choi gave a talk at CHaRMNET annual meeting Nov 20, 2023 WLaSDI arXiv paper is available Nov 20, 2023 Youngsoo Choi gave a keynote talk at Second Workshop on Physics Enhancing Machine Learning in Applied Mechanics Nov 16, 2023 Youngsoo Choi gave an invited talk at Committee on Solid Earth Geophysics Fall 2023 meeting , Note Youngsoo's talk starts at 2:50:00 Nov 7, 2023 Youngsoo Choi gave FEM@LLNL Seminar Talk Oct 6, 2023 Youngsoo Choi gave CRLC Seminar Talk Oct 4, 2023 ProgressiveROM arXiv paper is available Sep 18, 2023 Youngsoo Choi gave Applied and Computational Mathematics Seminar talk Sep 13, 2023 Youngsoo Choi gave Numerial Analysis Seminar talk at the University of Hong Kong Aug 26, 2023 Siu Wun Cheung presented at ICIAM2023 Aug 26, 2023 Youngsoo Choi presented at ICIAM2023 Aug 15, 2023 Youngsoo Choi gave DarkStar seminar talk Aug 11, 2023 Energy-Conservation-ROM technical report is available Aug 10, 2023 GPLaSDI arXiv paper is available Aug 8, 2023 pylibROM open source code is available in gitHub Jul 30, 2023 GPLaSDI open source code is available in gitHub Jul 26, 2023 Siu Wun Cheung presented at USNCCM17 Jul 25, 2023 Saad Khairallah presented at USNCCM17 Jul 25, 2023 Eric Chin presented at USNCCM17 Jul 25, 2023 Youngsoo Choi presented at USNCCM17 Jul 24, 2023 Dylan Copeland presented at USNCCM17 Jun 22, 2023 Uncertainty-aware Barlow twins ROM paper is published in IEEE Access Jun 21, 2023 gLaSDI paper is published in JCP Jun 3, 2023 Youngsoo Choi presented at SIAM OP23 Jun 2, 2023 Time Windowing DMD preprint is available in arXiv May 24, 2023 DD-NMROM preprint is available in arXiv Apr 7, 2023 Youngsoo Choi presented at TAMIDS DTL/SciML Lab Seminar Mar 29, 2023 AAAI Spring Symposium was organized Mar 10, 2023 gLaSDI open source code is available in gitHub. Mar 10, 2023 Youngsoo Choi presented at Applied Math Seminar , at UC Santa Barbara Mar 6, 2023 LaSDI open source code is available in gitHub. Feb 15, 2023 parametric DMD paper is published in JCP. Feb 3, 2023 Youngsoo Choi presented at CRLC Seminar , at UC San Diego Jan 1, 2023 Rayleigh-Taylor instability ROM paper is published in JCP.","title":"News in 2023"},{"location":"news.html#news-in-2022","text":"Date Message Dec 3, 2022 Certified auto-encoder simulator paper for Machine Learning and the Physical Sciences workshop, NeurIPS, 2022, is available. Nov 30, 2022 Barlow twins ROM paper is published in Nature Scientific Reports. Nov 29, 2022 Component-wise ROM US patent is issued. Oct 15, 2022 ccGAN ROM paper is published in Computers and Geosciences Oct 1, 2022 CWROM stress lattice paper is published in CMAME. Sep 30, 2022 Youngsoo Choi presented ``Efficient Nonlinear Manifold Reduced Order Models with Shallow Sparse Neural Network\" at SIAM MDS22 Sep 28, 2022 Dylan Copeland presented ``Reduced Order Models for Multi-Material ALE Hydrodynamics\" at SIAM MDS22 Sep 1, 2022 LaSDI paper is published in CMAME Sep 27, 2022 Siu Wun Cheung presented ``Accelerating Hydrodyanmics Simulation with Reduced Order Models\" at SIAM MDS22 Jul 19, 2022 Conservative Deep Learning Richtmyer-Meshkov Instability Model preprint is available in arXiv. Apr 26, 2022 gLaSDI preprint is available in arXiv. Mar 29, 2022 S-OPT preprint is available in arXiv. Feb 15, 2022 NM-ROM paper is published in JCP. Feb 1, 2022 Nonintrusive ROM for porous media paper is published in Advances in Water Resources.","title":"News in 2022"},{"location":"news.html#news-in-2021","text":"Date Message Dec 20, 2021 cGAN ROM is published at Nature Computational Science Nov 10, 2021 Laghos ROM is published at CMAME. Oct 1, 2021 Domain decomposition ROM paper is published at CMAME Sep 27, 2021 First version of libROM webpage is launched Aug 1, 2021 Component-wise ROM paper is published at CMAME July 19, 2021 Space time ROM-Python paper is published in Mathematics Jan 1, 2021 Space time ROM paper is published in Journal of Computational Physics","title":"News in 2021"},{"location":"news.html#news-in-2020","text":"Date Message Dec 15, 2020 local ROM for PDE-constrained optimization paper is published in JCP. Dec 12, 2020 NM-ROM paper for Machine Learning for Engineering Modeling Simulation and Design Workshop, NeurIPS, 2020, is available Apr 13, 2020 SNS hyper-reduced ROM paper is published in SISC","title":"News in 2020"},{"location":"news.html#news-in-2019","text":"Date Message Oct 17, 2019 libROM open source library becomes available in github repo","title":"News in 2019"},{"location":"poisson.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); Poisson equation The main code for this tutorial can be found in poisson_global_rom.cpp , which accelerates the Poisson problem $$-\\Delta u = f$$ with homogeneous Dirichlet boundary conditions. The numerical results can be found in Poisson Problem . libROM assumes that you have a physics code, such as MFEM , SU2 , and Laghos . Then, libROM can be integrated into the physics code to build ROM to accelerate physics simulation. For example, see numerical results in Examples and Gallery . This tutorial illustrates how various libROM objects and functions can be used to collect simulation data, build reduced basis, and construct reduced order model operator to accelerate and predict a target physics simulation. The following tutorials are available: Tutorial 1 : offline , Take and write simulation data with libROM. Tutorial 2 : merge , Collect simulation data and build a reduced basis. Tutorial 3 : online , Build a ROM operator, solve the ROM system, and restore the full order state. Building Follow the building page to build the libROM library. You must build it with -m option to build MFEM library together. ~/libROM> ./scripts/compile.sh -m Tutorial 1 This tutorial demonstrates how to collect simulation data with libROM. The important object is BasisGenerator , which collects simulation data and computes reduced basis, using various singular value decomposition ( SVD ) algorithms, e.g., incremental SVD and static SVD . The incremental SVD is useful for time-dependent problems. Because the Poisson problem is a time-independent problem, we will focus on the usage of the static SVD. The definition of BasisGenerator class can be found in BasisGenerator.h . You must include BasisGenerator.h in your physics code where the simulation data is generated. For example, BasisGenerator.h is included in Line 32 of poisson_global_rom.cpp for Poisson Problem . #include \"BasisGenerator.h\" A BasisGenerator pointer is defined in Line 234 of poisson_global_rom.cpp and the pointer is initiated in Line 243 of poisson_global_rom.cpp . The BasisGenerator requires four inputs to initialize, i.e., Options , boolean variable, string, and Database::formats. The object, Options, sets various options for the BasisGenerator, such as the basis dimension and singular value tolerance. The boolean variable determines if the incremental or static SVD will be used. For this tutorial, we choose the static SVD, so the boolean variable must be false. Finally, the string input specifies the name of the basis file and Database::formats specifies the file format for the basis file. The default format is Database::HDF5. The detailed description for inputs for Options and BasisGenerator can be found in Options.h and BasisGenerator.h . The specific inputs used for the Poisson problem can be found in Lines 227--232 of poisson_global_rom.cpp . Now, the instantiated BasisGenerator, i.e., generator , collects the simulation data once it is available. The Poisson problem generates the solution, $X$, in Line 338 of poisson_global_rom.cpp and it is collected in the generator in Line 345 of poisson_global_rom.cpp . The member function, writeSnapshot on Line 346 of poisson_global_rom.cpp simply writes the solution data in the specified HDF5 file. Make sure that the pointers, generator and options , are deleted after done with sampling. This completes the libROM data collection implementation, which corresponds to the offline phase in the Poisson problem . If you execute the following command: poisson_global_rom -offline -f 1.0 -id 0 then you should see the HDF5 snapshot output file, i.e., basis0_snapshot.000000 . The command line options above include -offline that indicates the offline phase, -f 1.0 sets the frequency variable $\\kappa=1.0$ (see the Poisson problem for the description of the frequency variable), and -id 0 labels the snapshot index. The visualization of the solution can be done either with VisIt or GLVis. For example, the VisIt shows the following solution contour for this specific simulation: Please execute the following commands: poisson_global_rom -offline -f 1.1 -id 1 poisson_global_rom -offline -f 1.2 -id 2 whose solution contour corresponds, respectively, to: Tutorial 2 Once the simulation data are collected within libROM basis files, they can be merged to form a reduced basis. This process is called the merge phase . It is implemented in Lines 249--270 of poisson_global_rom.cpp . As in Tutorial 1 , the objects, Options and BasisGenerator must be defined (see Lines 251--253 of poisson_global_rom.cpp . The generator iterates over the individual HDF5 snapshot file and loads them all (see Lines 254--259 of poisson_global_rom.cpp . The member function endSamples in Line 260 of poisson_global_rom.cpp computes the reduced basis. Again make sure to delete the pointers, i.e., generator and options . For exammple, the following command line option runs the merge phase: poisson_global_rom -merge -ns 3 The command line option, -merge , invokes the merges phase and -ns 3 option indicates that there are three different snapshot files. The merge phase reads the three snapshot files, i.e., basis0_snapshot.000000 , basis1_snapshot.000000 , and basis2_snapshot.000000 , which were generated in Tutorial 1 , and forms a reduced basis and stores it in the HDF5 basis file, i.e., basis.000000 . Tutorial 3 The online phase builds ROM operators, solves the ROM system, and restores the full order states for a new parameter value. This tutorial demonstrates these three different actions for the frequency value, $\\kappa = 1.15$. Lines 356--357 of poisson_global_rom.cpp implements the step of reading a basis file. The BasisReader object reads the basis file, using member function, getSpatialBasis , which returns a Matrix object in libROM. The number of rows and columns of the reduced basis can be obtained through the member functions of the Matrix class, i.e., numRows and numColumns , respectively. Line 364 of poisson_global_rom.cpp defines a MFEM DenseMatrix that holds the transpose of the reduced basis matrix. This must be understood as the transpose because libROM stores the matrix row-wise. The MFEM matrix is defined to form a reduced system operator, whose process is implemented in Lines 368--375 of poisson_global_rom.cpp . Then the reduced system operator is inverted at Line 370 of poisson_global_rom.cpp . The reduced right-hand-side is formed by multiplying the reduced basis transpose to the full order model right-hand-side vector, $B$ at Line 374 of poisson_global_rom.cpp . Line 380 of poisson_global_rom.cpp solves the reduced system of equation. Line 384 of poisson_global_rom.cpp restores the corresponding full order state by multipling the reduced solution by the reduced basis. The command line options that executes the online phase described above are poisson_global_rom -online -f 1.15 where -online option invokes the online phase and -f 1.15 sets the frequency value $\\kappa = 1.15$. This particular example ROM accelerates the physics simulation by $7.5$ and achieves the relative error, $6.4e-4$, with respect to the corresponding full order model solution.","title":"Poisson equation"},{"location":"poisson.html#poisson-equation","text":"The main code for this tutorial can be found in poisson_global_rom.cpp , which accelerates the Poisson problem $$-\\Delta u = f$$ with homogeneous Dirichlet boundary conditions. The numerical results can be found in Poisson Problem . libROM assumes that you have a physics code, such as MFEM , SU2 , and Laghos . Then, libROM can be integrated into the physics code to build ROM to accelerate physics simulation. For example, see numerical results in Examples and Gallery . This tutorial illustrates how various libROM objects and functions can be used to collect simulation data, build reduced basis, and construct reduced order model operator to accelerate and predict a target physics simulation. The following tutorials are available: Tutorial 1 : offline , Take and write simulation data with libROM. Tutorial 2 : merge , Collect simulation data and build a reduced basis. Tutorial 3 : online , Build a ROM operator, solve the ROM system, and restore the full order state.","title":"Poisson equation"},{"location":"poisson.html#building","text":"Follow the building page to build the libROM library. You must build it with -m option to build MFEM library together. ~/libROM> ./scripts/compile.sh -m","title":"Building"},{"location":"poisson.html#tutorial-1","text":"This tutorial demonstrates how to collect simulation data with libROM. The important object is BasisGenerator , which collects simulation data and computes reduced basis, using various singular value decomposition ( SVD ) algorithms, e.g., incremental SVD and static SVD . The incremental SVD is useful for time-dependent problems. Because the Poisson problem is a time-independent problem, we will focus on the usage of the static SVD. The definition of BasisGenerator class can be found in BasisGenerator.h . You must include BasisGenerator.h in your physics code where the simulation data is generated. For example, BasisGenerator.h is included in Line 32 of poisson_global_rom.cpp for Poisson Problem . #include \"BasisGenerator.h\" A BasisGenerator pointer is defined in Line 234 of poisson_global_rom.cpp and the pointer is initiated in Line 243 of poisson_global_rom.cpp . The BasisGenerator requires four inputs to initialize, i.e., Options , boolean variable, string, and Database::formats. The object, Options, sets various options for the BasisGenerator, such as the basis dimension and singular value tolerance. The boolean variable determines if the incremental or static SVD will be used. For this tutorial, we choose the static SVD, so the boolean variable must be false. Finally, the string input specifies the name of the basis file and Database::formats specifies the file format for the basis file. The default format is Database::HDF5. The detailed description for inputs for Options and BasisGenerator can be found in Options.h and BasisGenerator.h . The specific inputs used for the Poisson problem can be found in Lines 227--232 of poisson_global_rom.cpp . Now, the instantiated BasisGenerator, i.e., generator , collects the simulation data once it is available. The Poisson problem generates the solution, $X$, in Line 338 of poisson_global_rom.cpp and it is collected in the generator in Line 345 of poisson_global_rom.cpp . The member function, writeSnapshot on Line 346 of poisson_global_rom.cpp simply writes the solution data in the specified HDF5 file. Make sure that the pointers, generator and options , are deleted after done with sampling. This completes the libROM data collection implementation, which corresponds to the offline phase in the Poisson problem . If you execute the following command: poisson_global_rom -offline -f 1.0 -id 0 then you should see the HDF5 snapshot output file, i.e., basis0_snapshot.000000 . The command line options above include -offline that indicates the offline phase, -f 1.0 sets the frequency variable $\\kappa=1.0$ (see the Poisson problem for the description of the frequency variable), and -id 0 labels the snapshot index. The visualization of the solution can be done either with VisIt or GLVis. For example, the VisIt shows the following solution contour for this specific simulation: Please execute the following commands: poisson_global_rom -offline -f 1.1 -id 1 poisson_global_rom -offline -f 1.2 -id 2 whose solution contour corresponds, respectively, to:","title":"Tutorial 1"},{"location":"poisson.html#tutorial-2","text":"Once the simulation data are collected within libROM basis files, they can be merged to form a reduced basis. This process is called the merge phase . It is implemented in Lines 249--270 of poisson_global_rom.cpp . As in Tutorial 1 , the objects, Options and BasisGenerator must be defined (see Lines 251--253 of poisson_global_rom.cpp . The generator iterates over the individual HDF5 snapshot file and loads them all (see Lines 254--259 of poisson_global_rom.cpp . The member function endSamples in Line 260 of poisson_global_rom.cpp computes the reduced basis. Again make sure to delete the pointers, i.e., generator and options . For exammple, the following command line option runs the merge phase: poisson_global_rom -merge -ns 3 The command line option, -merge , invokes the merges phase and -ns 3 option indicates that there are three different snapshot files. The merge phase reads the three snapshot files, i.e., basis0_snapshot.000000 , basis1_snapshot.000000 , and basis2_snapshot.000000 , which were generated in Tutorial 1 , and forms a reduced basis and stores it in the HDF5 basis file, i.e., basis.000000 .","title":"Tutorial 2"},{"location":"poisson.html#tutorial-3","text":"The online phase builds ROM operators, solves the ROM system, and restores the full order states for a new parameter value. This tutorial demonstrates these three different actions for the frequency value, $\\kappa = 1.15$. Lines 356--357 of poisson_global_rom.cpp implements the step of reading a basis file. The BasisReader object reads the basis file, using member function, getSpatialBasis , which returns a Matrix object in libROM. The number of rows and columns of the reduced basis can be obtained through the member functions of the Matrix class, i.e., numRows and numColumns , respectively. Line 364 of poisson_global_rom.cpp defines a MFEM DenseMatrix that holds the transpose of the reduced basis matrix. This must be understood as the transpose because libROM stores the matrix row-wise. The MFEM matrix is defined to form a reduced system operator, whose process is implemented in Lines 368--375 of poisson_global_rom.cpp . Then the reduced system operator is inverted at Line 370 of poisson_global_rom.cpp . The reduced right-hand-side is formed by multiplying the reduced basis transpose to the full order model right-hand-side vector, $B$ at Line 374 of poisson_global_rom.cpp . Line 380 of poisson_global_rom.cpp solves the reduced system of equation. Line 384 of poisson_global_rom.cpp restores the corresponding full order state by multipling the reduced solution by the reduced basis. The command line options that executes the online phase described above are poisson_global_rom -online -f 1.15 where -online option invokes the online phase and -f 1.15 sets the frequency value $\\kappa = 1.15$. This particular example ROM accelerates the physics simulation by $7.5$ and achieves the relative error, $6.4e-4$, with respect to the corresponding full order model solution.","title":"Tutorial 3"},{"location":"poisson_greedy.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); Greedy for Poisson equation The main code for this tutorial can be found at poisson_local_rom_greedy.cpp , which demonstrates how to use libROM to execute greedy procedure for the ROM of the Poisson problem introduced in the Poisson equation tutorial . For the recap, the general procedure of the greedy algorithm follows: Define a parameter space Pick an initial point in the parameter space to build a ROM there (a good cancidiate initla point is either the centroid or one of end points) Evaluate error indicator of the current ROM (either global or local ROM) at $N$ random points within the parameter space Check if the maximum error indicator value is less than the desirable accuracy threshold If the answer to Step 4 is yes, then terminate the greedy process. If the answer to Step 4 is no, then collect the full order model simulation data at the maximum error indicator point and add them to update the ROM Go to Step 3. As in the Poisson equation tutorial , we choose to vary the frequency $\\kappa$ as parameter. First, we define the parameter space to be from $0.5$ to $3$, which is larger than the one used in Poisson equation tutorial . You can try the following command line options to run the greedy procedure: ./poisson_local_rom_greedy -build_database -greedy-param-min 0.5 -greedy-param-max 3 -greedy-param-size 40 -greedysubsize 10 -greedyconvsize 20 -greedyrelerrortol 0.01 The lower and upper bounds of the parameter are determined by the options, -greedy-param-min and -greedy-param-max , respectively. The option -greedy-param-size specifies the total number of random sample points within the parameter space for the whole greedy procedure. The option -greedysubsize sets the number of sub-sample points, where the error indicator is evaluated at every greedy iterations. The option -greedyconvsize sets the number of convergence-sample points on which the error indicator is checked and the termination of the greedy algorithm is determined if the error indicators are below the convergence threshold after the error indicator tests on the sub-sample points have been passed. Finally, -greedyrelerrortol sets the desirable relative error for the greedy algorithm to achieve. The core class of the libROM for the greedy procedure is GreedySampler , which is defined on Line 126 of poisson_local_rom_greedy.cpp The GreedySampler generates sampling points within a given parameter space. The class has two sub-classes, i.e., GreedyCustomSampler and GreedyRandomSampler . The GreedyCustomSampler generates pre-defined sampling points, e.g., a tensor product sampling points, while the GreedyRandomSampler generates random sampling points, e.g., Latin hyper-cube sampling points. The GreedySampler also does book-keeping job of at which sampling point to evaluate the error indicator, when to move onto the next greedy step, and which sampling point has the maximum error indicator value. Just to be clear, the libROM does not do everything for you. For example, the error indicator must be defined in the physics solver. For the Poisson example, the residual-based error indicator is defined at Lines 529-535 of poisson_loca_rom_greedy.cpp . Once the greedy procedure completes, the log file, called poisson_greedy_algorithm_log.txt , is generated to show the progress of the greedy procedure and the final parameter points on which the global ROM was built. For example, you will see the following block at the end of the file, indicating the final parameter points on which the global ROM is built. Sampled Parameter Points [ 0.591166 ] [ 0.844964 ] [ 1.066678 ] [ 1.353370 ] [ 1.710334 ] [ 1.992794 ] [ 2.568171 ] [ 2.985638 ] Because we set the -greedyrelerrortol to be 0.01, the global ROM built through the greedy procedure must be able to predict a solution with a relative error less than 1$\\%$ for any points in the parameter space. Indeed, let's try to predict the solution at $\\kappa = 2.2$, which was not one of the final parameter points. Let's first generate the full order model solution with the following command line option: ./poisson_local_rom_greedy -offline -f 2.2 This full order model solution will be used to compute the relative error for the ROM solution. The ROM solution can be obtained by the following command line option: ./poisson_local_rom_greedy -use_database -online -f 2.2 Indeed, the relative error of 0.00167671 is achieved","title":"Greedy for Poisson"},{"location":"poisson_greedy.html#greedy-for-poisson-equation","text":"The main code for this tutorial can be found at poisson_local_rom_greedy.cpp , which demonstrates how to use libROM to execute greedy procedure for the ROM of the Poisson problem introduced in the Poisson equation tutorial . For the recap, the general procedure of the greedy algorithm follows: Define a parameter space Pick an initial point in the parameter space to build a ROM there (a good cancidiate initla point is either the centroid or one of end points) Evaluate error indicator of the current ROM (either global or local ROM) at $N$ random points within the parameter space Check if the maximum error indicator value is less than the desirable accuracy threshold If the answer to Step 4 is yes, then terminate the greedy process. If the answer to Step 4 is no, then collect the full order model simulation data at the maximum error indicator point and add them to update the ROM Go to Step 3. As in the Poisson equation tutorial , we choose to vary the frequency $\\kappa$ as parameter. First, we define the parameter space to be from $0.5$ to $3$, which is larger than the one used in Poisson equation tutorial . You can try the following command line options to run the greedy procedure: ./poisson_local_rom_greedy -build_database -greedy-param-min 0.5 -greedy-param-max 3 -greedy-param-size 40 -greedysubsize 10 -greedyconvsize 20 -greedyrelerrortol 0.01 The lower and upper bounds of the parameter are determined by the options, -greedy-param-min and -greedy-param-max , respectively. The option -greedy-param-size specifies the total number of random sample points within the parameter space for the whole greedy procedure. The option -greedysubsize sets the number of sub-sample points, where the error indicator is evaluated at every greedy iterations. The option -greedyconvsize sets the number of convergence-sample points on which the error indicator is checked and the termination of the greedy algorithm is determined if the error indicators are below the convergence threshold after the error indicator tests on the sub-sample points have been passed. Finally, -greedyrelerrortol sets the desirable relative error for the greedy algorithm to achieve. The core class of the libROM for the greedy procedure is GreedySampler , which is defined on Line 126 of poisson_local_rom_greedy.cpp The GreedySampler generates sampling points within a given parameter space. The class has two sub-classes, i.e., GreedyCustomSampler and GreedyRandomSampler . The GreedyCustomSampler generates pre-defined sampling points, e.g., a tensor product sampling points, while the GreedyRandomSampler generates random sampling points, e.g., Latin hyper-cube sampling points. The GreedySampler also does book-keeping job of at which sampling point to evaluate the error indicator, when to move onto the next greedy step, and which sampling point has the maximum error indicator value. Just to be clear, the libROM does not do everything for you. For example, the error indicator must be defined in the physics solver. For the Poisson example, the residual-based error indicator is defined at Lines 529-535 of poisson_loca_rom_greedy.cpp . Once the greedy procedure completes, the log file, called poisson_greedy_algorithm_log.txt , is generated to show the progress of the greedy procedure and the final parameter points on which the global ROM was built. For example, you will see the following block at the end of the file, indicating the final parameter points on which the global ROM is built. Sampled Parameter Points [ 0.591166 ] [ 0.844964 ] [ 1.066678 ] [ 1.353370 ] [ 1.710334 ] [ 1.992794 ] [ 2.568171 ] [ 2.985638 ] Because we set the -greedyrelerrortol to be 0.01, the global ROM built through the greedy procedure must be able to predict a solution with a relative error less than 1$\\%$ for any points in the parameter space. Indeed, let's try to predict the solution at $\\kappa = 2.2$, which was not one of the final parameter points. Let's first generate the full order model solution with the following command line option: ./poisson_local_rom_greedy -offline -f 2.2 This full order model solution will be used to compute the relative error for the ROM solution. The ROM solution can be obtained by the following command line option: ./poisson_local_rom_greedy -use_database -online -f 2.2 Indeed, the relative error of 0.00167671 is achieved","title":"Greedy for Poisson equation"},{"location":"publications.html","text":"Publications 2024 T. Moore, A. A. Wong, B. Giera, D. I. Oyarzun, A. E. Gongora, T. Y. Lin, W. Li, T. Owens, D. Nguyen, V. M. Ehlinger, A. Prajapati, S. W. Chung, Pratanu Roy, Joshua DeOtte, Nicholas R. Cross, A. Aui, Y. Choi, M. Goldman, H. Y. Jeong, C. Ye, A. Sarkar, E. B. Duoss, C. Hahn, S. E. Baker, Accelerating Climate Technologies Through the Science of Scale-up , Nature Chemical Engineering 2024 Cheung, S.W., Choi, Y., Chung, S.W., Fattebert, J.L., Kendrick, C., and Osei-Kuffuor, D. Theory and numerics of subspace approximation of eigenvalue problems , arXiv preprint , arXiv:2412.08891 2024 He, X., Tran, A., Bortz, D.M., and Choi, Y. Physics-Informed Active Learning With Simultaneous Weak-Form Latent Space Dynamics Identification , International Journal for Numerical Methods in Engineering 2024 Kim, M., Wen, T., Lee, K., and Choi, Y. Physics-informed reduced order model with conditional neural fields , arXiv preprint , arXiv:2412.05233 2024 Deo I.K., Choi, Y., Khairallah, S.A., Reikher, A., and Strantza, M. Data-Driven, Parameterized Reduced-order Models for Predicting Distortion in Metal 3D Printing , arXiv preprint , arXiv:2412.04577 2024 Zanardi, I., Diaz, A.N., Chung, S.W., Panesi, M., and Choi, Y. Scalable nonlinear manifold reduced order model for dynamical systems , arXiv preprint , arXiv:2412.00507 2024 S. W. Chung, Y. Choi, P. Roy, T., Roy, T. Y. Lin, D. T. Nguyen, C. Hahn, E. B. Duoss, S. E. Baker, Scalable physics-guided data-driven component model reduction for steady Navier-Stokes flow , arXiv preprint , arXiv:2410.21583 2024 S. W. Chung, Y. Choi, P. Roy, T., Roy, T. Y. Lin, D. T. Nguyen, C. Hahn, E. B. Duoss, S. E. Baker, Scaled-up prediction of steady Navier-Stokes equation with component reduced order modeling , arXiv preprint , arXiv:2410.21534 2024 M. Juhasz, E. Chin, Y. Choi, J. T., McKeown, S. Khairallah, Data-driven Virtual Test-bed of the Blown Powder Directed Energy Deposition Process , arXiv preprint , arXiv:2409.09092 2024 J. S. R. Park, S. W. Cheung, Y. Choi, and Y. Shin, tLaSDI: Thermodynamics-informed latent space dynamics identification , Computer Methods in Applied Mechanics and Engineering 429, p117144 2024 J.T. Lauzon, S.W. Cheung, Y. Shin, Y. Choi, D. M. Copeland, K. Huynh, S-OPT: a points selection algorithm for hyper-reduction in reduced order models , SIAM Journal on Scientific Computing , 46, 4, 2024 S.W. Cheung, Y. Choi, H.K. Springer, T. Kadeethum, Data-scarce surrogate modeling of shock-induced pore collapse process , Shock Waves , 34, p237--256, 2024 T. Kadeethum, D. O'Malley, Y. Choi, H.S. Viswanathan, H. Yoon Progressive transfer learning for advancing machine learning-based reduced-order modeling , Scientific Reports , 14, 15731 2024 S. Chung, Y. Choi, P. Roy, T. Moore, T. Roy, T. Y. Lin, D. T. Nguyen, C. Hahn, E. B. Duoss, S. E. Baker Train small, model big: Scalable physics simulators via reduced order modeling and domain decomposition , Computer Methods in Applied Mechanics and Engineering , 427, 117041, 2024 A. Tran, X. He, D. A. Messenger, Y. Choi, D. M. Bortz, Weak-form latent space dynamics identification , Computer Methods in Applied Mechanics and Engineering , 427, 116998, 2024 X. He, A. Tran, D. M. Bortz, Y. Choi, Physics-informed active learning with simultaneous weak-form latent space dynamics identification , arXiv preprint , arXiv:2407.00337, 2024 Y. Kim, Y. Choi, B. Yoo, Gappy AE: A nonlinear approach for Gappy data reconstruction using auto-encoder , Computer Methods in Applied Mechanics and Engineering , 426, 116978, 2024 A. N. Diaz, Y. Choi, M. Heinkenschloss A fast and accurate domain decomposition nonlinear manifold reduced order model , Computer Methods in Applied Mechanics and Engineering , 425, 116943, 2024 C. Bonneville, X. He, A. Tran, J. S. Park, W. Fries, D. A. Messenger, S. W. Cheung, D. M. Bortz, D. Ghosh, J. S. Chen, A Comprehensive Review of Latent Space Dynamics Identification Algorithms for Intrusive and Non-Intrusive Reduced-Order-Modeling , arXiv preprint arXiv:2403.10748 2024 C. Bonneville, Y. Choi, D. Ghosh, J.L. Belof, GPLaSDI: Gaussian Process-based Interpretable Latent Space Dynamics Identification through Deep Autoencoder , Computer Methods in Applied Mechanics and Engineering , 418, 116535, 2024 2023 Y. Kim, Y. Choi, B. Yoo, Gappy data reconstruction using unsupervised learning for digital twin , arXiv preprint , arXiv:2312.07902 2023 S.W. Chung, Y. Choi, P. Roy, T. Moore, T. Roy, T.Y. Lin, D.T. Nguyen, C. Hahn, E.B. Duoss, S.E., Baker, Train small, model big: Scalable physics simulations via reduced order modeling and domain decomposition , arXiv preprint , arXiv:2401.10245 2023 C. Bonneville, Y. Choi, D. Ghosh, J.L. Belof Data-driven autoencoder numerical solver with uncertainty quantification for fast physical simulations , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 A.N. Diaz, Y. Choi, M. Heinkenschloss Nonlinear-manifold reduced order models with domain decomposition , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 S.W. Suh, S.W. Chung, P.T. Bremer, Y. Choi Accelerating flow simulations using online dynamic mode decomposition , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 A.L. Brown, E.B. Chin, Y. Choi, S.A. Khairallah, J.T. McKeown A data-driven, non-linear, parameterized reduced order model of metal 3D printing , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 T. Wen, K. Lee, Y. Choi Reduced-order modeling for parameterized PDEs via implicit neural representations , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 A. Tran, X. He, D.A. Messenger, Y. Choi, D.M. Bortz Weak-form latent space dynamics identification , arXiv preprint , arXiv:2311.12880 2023 P.H. Tsai, S.W. Chung, D. Ghosh, J. Loffeld, Y. Choi, J.L. Belof Accelerating kinetic simulations of electrostatic plasmas with reduced-order modeling , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 T. Kadeethum, D. O'Malley, Y. Choi, H.S. Viswanathan, H. Yoon Progressive reduced order modeling: empowering data-driven modeling with selective knowledge transfer , arXiv preprint , arXiv:2310.03770 2023 C. Vales, Y. Choi, D.M. Copeland, S.W. Cheung Energy conserving quadrature based dimensionality reduction for nonlinear hydrodynamics problems , Technical Report , LLNL-TR-853055 2023 T. Kadeethum, J.D. Jakeman, Y. Choi, N. Bouklas, H. Yoon, Epistemic uncertainty-aware Barlow twins reduced order modeling for nonlinear contact problems , IEEE Access , 2023 X. He, Y. Choi, W. Fries, J. Belof, J.S. Chen, gLaSDI: Parametric physics-informed greedy latent space dynamics identification , Journal of Computational Physics , 489, 112267, 2023 A.N. Diaz, Y. Choi, M. Heinkenschloss, A fast and accurate domain-decomposition nonlinear manifold reduced order model , arXiv preprint , arXiv:2305.15163, 2023 Q.A. Huhn, M.E. Tano, J.C. Ragusa, Y. Choi, Parametric dynamic mode decomposition for reduced order modeling , Journal of Computational Physics , 475, 111852, 2023 C. G. Petra, M. Salazar De Troya, N. Petra, Y. Choi, G. M. Oxberry, D. Tortorelli, On the implementation of a quasi-Newton interior-point method for PDE-constrained optimization using finite element discretizations , Optimization Methods and Software , 1-32, 2023 S.W Cheung, Y. Choi, D. Copeland, K. Huynh, Local Lagrangian reduced-order modeling for Rayleigh-Taylor instability by solution manifold decomposition , Journal of Computational Physics , 472, 111655, 2023 2022 T. Kadeethum, F. Ballarin, D. O'Malley, Y. Choi, N. Bouklas, H. Yoon, Reduced order modeling for flow and transport problems with Barlow Twins self-supervised learning , Scientific Reports , 12(1), 2022 X. He, Y. Choi, W. Fries, J. Belof, J.S. Chen, Certified data-driven physics-informed greedy auto-encoder simulator , arXiv preprint , arXiv:2211.13698, 2022 S. McBane, Y. Choi, K. Willcox, Stress-constrained topology optimization of lattice-like structures using component-wise reduced order models , Computer Methods in Applied Mechanics and Engineering , 400, 115525, 2022 T. Kadeethum, D. O'Malley, Y. Choi, H.S. Viswanathan, N. Bouklas, and H. Yoon, Continuous conditional generative adversarial networks for data-driven solutions of poroelasticity with heterogeneous material properties , Computers & Geosciences , Volume 167, 105212, 2022 W. Fries, X. He, Y. Choi, LaSDI: Parametric latent space dynamics identification , Computer Methods in Applied Mechanics and Engineering , volume 399, 115436, 2022 , Also available as arXiv:2203.02076 . C.F. Jekel, D.M. Sterbentz, S. Aubry, Y. Choi, D.A. White, J.L. Belof, Using Conservation Laws to Infer Deep Learning Model Accuracy of Richtmyer-Meshkov Instabilities arXiv preprint , arXiv:2208.11477, 2022 Y. Kim, Y. Choi, D. Widemann, T. Zohdi, A fast and accurate physics-informed neural network reduced order model with shallow masked autoencoder , Journal of Computational Physics , 451, 110841, 2022 . Also available as arXiv:2009.11990 . T. Kadeethum, F. Ballarin, D. O'Malley, Y. Choi, N. Bouklas, H. Yoon, Reduced order modeling with Barlow Twins self-supervised learning: Navigating the space between linear and nonlinear solution manifolds , arXiv preprint , arXiv:2202.05460, 2022 D. Copeland, S.W. Cheung, K. Huynh, Y. Choi, Reduced order models for Lagrangian hydrodynamics , Computer Methods in Applied Mechanics and Engineering , Volume 388, 114259, 2022 . Also available as arXiv:2104.11404 . T. Kadeethum, F. Ballarin, Y. Choi, D. O'Malley, H. Yoon, N. Bouklas, Non-intrusive reduced order modeling of natural convection in porous media using convolutional autoencoders: Comparison with linear subspace techniques , Advances in Water Resources , Volume 160, 104098, 2022 2021 T. Kadeethum, D. O'Malley, J.N. Fuhg, Y. Choi, J. Lee, H.S. Viswanathan, N. Bouklas, A framework for data-driven solution and parameter estimation of PDEs using conditional generative adversarial networks , Nature Computational Science , 1, 819-829, 2021 C. Hoang, Y. Choi, K. Carlberg, Domain-decomposition least-squares Petrov-Galerkin (DD-LSPG) nonlinear model reduction , Computer Methods in Applied Mechanics and Engineering , Volume 384, 113997, 2021 S. McBane, Y. Choi, Component-wise reduced order model lattice-type structure design , Computer Methods in Applied Mechanics and Engineering , 381, 113813, 2021 Y. Kim, K.M. Wang, Y. Choi, Efficient space-time reduced order model for linear dynamical systems in Python using less than 120 lines of code , Mathematics , 9(14), 1690, 2021 Y. Choi, P. Brown, W. Arrighi, R. Anderson, K. Huynh, Space-time reduced order model for large-scale linear dynamical systems with application to Boltzmann transport problems , Journal of Computational Physics , 424, 109845, 2021 . Also available as arXiv:1910.01260 . 2020 Y. Choi, D. Coombs, R. Anderson, SNS: A Solution-based nonlinear subspace method for time-dependent model order reduction , SIAM Journal on Scientific Computing , 42(2), A1116-A1147, 2020 Y. Choi, G. Boncoraglio, S. Anderson, D. Amsallem, C. Farhat Gradient-based constrained optimization using a database of linear reduced order models , Journal of Computational Physics , 423, 109787, 2020 . Also available as arXiv:1506.07849 . Y. Kim, Y. Choi, D. Widemann, T. Zohdi, Efficient nonlinear manifold reduced order model Workshop on machine learning for engineering modeling, simulation and design @ NeurIPS 2020 , 2020 . Also available as arXiv:2011.07727 2019 and earlier Y. Choi, K. Carlberg, Space-time least-squares Petrov-Galerkin projection for nonlinear model reduction , SIAM Journal on Scientific Computing , 41(1), A26-A58, 2019 Y. Choi, G. Oxberry, D. Whit, T. Kirchdoerfer, Accelerating design optimization using reduced order models , arXiv preprint , arXiv:1909.11320, 2019 K. Carlberg, Y. Choi, S. Sargsyan, Conservative model reduction for finite-volume models , Journal of Computational Physics , 371, p280-314, 2018 G. Oxberry, T. Kostova-Vassilevska, W. Arrighi, K. Chand, Limited-memory adaptive snapshot selection for proper orthogonal decomposition , International Journal of Numerical Methods in Engineering , 109(2), p198-217, 2016 D. Amsallem, M. Zahr, Y. Choi, C. Farhat, Design optimization using hyper-reduced-order models , Structural and Multidisciplinary Optimization , 51, p919-940, 2015 MathJax.Hub.Config({TeX: {equationNumbers: {autoNumber: \"all\"}}, tex2jax: {inlineMath: [['$','$']]}});","title":"Publications"},{"location":"publications.html#publications","text":"","title":"Publications"},{"location":"publications.html#2024","text":"T. Moore, A. A. Wong, B. Giera, D. I. Oyarzun, A. E. Gongora, T. Y. Lin, W. Li, T. Owens, D. Nguyen, V. M. Ehlinger, A. Prajapati, S. W. Chung, Pratanu Roy, Joshua DeOtte, Nicholas R. Cross, A. Aui, Y. Choi, M. Goldman, H. Y. Jeong, C. Ye, A. Sarkar, E. B. Duoss, C. Hahn, S. E. Baker, Accelerating Climate Technologies Through the Science of Scale-up , Nature Chemical Engineering 2024 Cheung, S.W., Choi, Y., Chung, S.W., Fattebert, J.L., Kendrick, C., and Osei-Kuffuor, D. Theory and numerics of subspace approximation of eigenvalue problems , arXiv preprint , arXiv:2412.08891 2024 He, X., Tran, A., Bortz, D.M., and Choi, Y. Physics-Informed Active Learning With Simultaneous Weak-Form Latent Space Dynamics Identification , International Journal for Numerical Methods in Engineering 2024 Kim, M., Wen, T., Lee, K., and Choi, Y. Physics-informed reduced order model with conditional neural fields , arXiv preprint , arXiv:2412.05233 2024 Deo I.K., Choi, Y., Khairallah, S.A., Reikher, A., and Strantza, M. Data-Driven, Parameterized Reduced-order Models for Predicting Distortion in Metal 3D Printing , arXiv preprint , arXiv:2412.04577 2024 Zanardi, I., Diaz, A.N., Chung, S.W., Panesi, M., and Choi, Y. Scalable nonlinear manifold reduced order model for dynamical systems , arXiv preprint , arXiv:2412.00507 2024 S. W. Chung, Y. Choi, P. Roy, T., Roy, T. Y. Lin, D. T. Nguyen, C. Hahn, E. B. Duoss, S. E. Baker, Scalable physics-guided data-driven component model reduction for steady Navier-Stokes flow , arXiv preprint , arXiv:2410.21583 2024 S. W. Chung, Y. Choi, P. Roy, T., Roy, T. Y. Lin, D. T. Nguyen, C. Hahn, E. B. Duoss, S. E. Baker, Scaled-up prediction of steady Navier-Stokes equation with component reduced order modeling , arXiv preprint , arXiv:2410.21534 2024 M. Juhasz, E. Chin, Y. Choi, J. T., McKeown, S. Khairallah, Data-driven Virtual Test-bed of the Blown Powder Directed Energy Deposition Process , arXiv preprint , arXiv:2409.09092 2024 J. S. R. Park, S. W. Cheung, Y. Choi, and Y. Shin, tLaSDI: Thermodynamics-informed latent space dynamics identification , Computer Methods in Applied Mechanics and Engineering 429, p117144 2024 J.T. Lauzon, S.W. Cheung, Y. Shin, Y. Choi, D. M. Copeland, K. Huynh, S-OPT: a points selection algorithm for hyper-reduction in reduced order models , SIAM Journal on Scientific Computing , 46, 4, 2024 S.W. Cheung, Y. Choi, H.K. Springer, T. Kadeethum, Data-scarce surrogate modeling of shock-induced pore collapse process , Shock Waves , 34, p237--256, 2024 T. Kadeethum, D. O'Malley, Y. Choi, H.S. Viswanathan, H. Yoon Progressive transfer learning for advancing machine learning-based reduced-order modeling , Scientific Reports , 14, 15731 2024 S. Chung, Y. Choi, P. Roy, T. Moore, T. Roy, T. Y. Lin, D. T. Nguyen, C. Hahn, E. B. Duoss, S. E. Baker Train small, model big: Scalable physics simulators via reduced order modeling and domain decomposition , Computer Methods in Applied Mechanics and Engineering , 427, 117041, 2024 A. Tran, X. He, D. A. Messenger, Y. Choi, D. M. Bortz, Weak-form latent space dynamics identification , Computer Methods in Applied Mechanics and Engineering , 427, 116998, 2024 X. He, A. Tran, D. M. Bortz, Y. Choi, Physics-informed active learning with simultaneous weak-form latent space dynamics identification , arXiv preprint , arXiv:2407.00337, 2024 Y. Kim, Y. Choi, B. Yoo, Gappy AE: A nonlinear approach for Gappy data reconstruction using auto-encoder , Computer Methods in Applied Mechanics and Engineering , 426, 116978, 2024 A. N. Diaz, Y. Choi, M. Heinkenschloss A fast and accurate domain decomposition nonlinear manifold reduced order model , Computer Methods in Applied Mechanics and Engineering , 425, 116943, 2024 C. Bonneville, X. He, A. Tran, J. S. Park, W. Fries, D. A. Messenger, S. W. Cheung, D. M. Bortz, D. Ghosh, J. S. Chen, A Comprehensive Review of Latent Space Dynamics Identification Algorithms for Intrusive and Non-Intrusive Reduced-Order-Modeling , arXiv preprint arXiv:2403.10748 2024 C. Bonneville, Y. Choi, D. Ghosh, J.L. Belof, GPLaSDI: Gaussian Process-based Interpretable Latent Space Dynamics Identification through Deep Autoencoder , Computer Methods in Applied Mechanics and Engineering , 418, 116535, 2024","title":"2024"},{"location":"publications.html#2023","text":"Y. Kim, Y. Choi, B. Yoo, Gappy data reconstruction using unsupervised learning for digital twin , arXiv preprint , arXiv:2312.07902 2023 S.W. Chung, Y. Choi, P. Roy, T. Moore, T. Roy, T.Y. Lin, D.T. Nguyen, C. Hahn, E.B. Duoss, S.E., Baker, Train small, model big: Scalable physics simulations via reduced order modeling and domain decomposition , arXiv preprint , arXiv:2401.10245 2023 C. Bonneville, Y. Choi, D. Ghosh, J.L. Belof Data-driven autoencoder numerical solver with uncertainty quantification for fast physical simulations , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 A.N. Diaz, Y. Choi, M. Heinkenschloss Nonlinear-manifold reduced order models with domain decomposition , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 S.W. Suh, S.W. Chung, P.T. Bremer, Y. Choi Accelerating flow simulations using online dynamic mode decomposition , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 A.L. Brown, E.B. Chin, Y. Choi, S.A. Khairallah, J.T. McKeown A data-driven, non-linear, parameterized reduced order model of metal 3D printing , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 T. Wen, K. Lee, Y. Choi Reduced-order modeling for parameterized PDEs via implicit neural representations , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 A. Tran, X. He, D.A. Messenger, Y. Choi, D.M. Bortz Weak-form latent space dynamics identification , arXiv preprint , arXiv:2311.12880 2023 P.H. Tsai, S.W. Chung, D. Ghosh, J. Loffeld, Y. Choi, J.L. Belof Accelerating kinetic simulations of electrostatic plasmas with reduced-order modeling , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 T. Kadeethum, D. O'Malley, Y. Choi, H.S. Viswanathan, H. Yoon Progressive reduced order modeling: empowering data-driven modeling with selective knowledge transfer , arXiv preprint , arXiv:2310.03770 2023 C. Vales, Y. Choi, D.M. Copeland, S.W. Cheung Energy conserving quadrature based dimensionality reduction for nonlinear hydrodynamics problems , Technical Report , LLNL-TR-853055 2023 T. Kadeethum, J.D. Jakeman, Y. Choi, N. Bouklas, H. Yoon, Epistemic uncertainty-aware Barlow twins reduced order modeling for nonlinear contact problems , IEEE Access , 2023 X. He, Y. Choi, W. Fries, J. Belof, J.S. Chen, gLaSDI: Parametric physics-informed greedy latent space dynamics identification , Journal of Computational Physics , 489, 112267, 2023 A.N. Diaz, Y. Choi, M. Heinkenschloss, A fast and accurate domain-decomposition nonlinear manifold reduced order model , arXiv preprint , arXiv:2305.15163, 2023 Q.A. Huhn, M.E. Tano, J.C. Ragusa, Y. Choi, Parametric dynamic mode decomposition for reduced order modeling , Journal of Computational Physics , 475, 111852, 2023 C. G. Petra, M. Salazar De Troya, N. Petra, Y. Choi, G. M. Oxberry, D. Tortorelli, On the implementation of a quasi-Newton interior-point method for PDE-constrained optimization using finite element discretizations , Optimization Methods and Software , 1-32, 2023 S.W Cheung, Y. Choi, D. Copeland, K. Huynh, Local Lagrangian reduced-order modeling for Rayleigh-Taylor instability by solution manifold decomposition , Journal of Computational Physics , 472, 111655, 2023","title":"2023"},{"location":"publications.html#2022","text":"T. Kadeethum, F. Ballarin, D. O'Malley, Y. Choi, N. Bouklas, H. Yoon, Reduced order modeling for flow and transport problems with Barlow Twins self-supervised learning , Scientific Reports , 12(1), 2022 X. He, Y. Choi, W. Fries, J. Belof, J.S. Chen, Certified data-driven physics-informed greedy auto-encoder simulator , arXiv preprint , arXiv:2211.13698, 2022 S. McBane, Y. Choi, K. Willcox, Stress-constrained topology optimization of lattice-like structures using component-wise reduced order models , Computer Methods in Applied Mechanics and Engineering , 400, 115525, 2022 T. Kadeethum, D. O'Malley, Y. Choi, H.S. Viswanathan, N. Bouklas, and H. Yoon, Continuous conditional generative adversarial networks for data-driven solutions of poroelasticity with heterogeneous material properties , Computers & Geosciences , Volume 167, 105212, 2022 W. Fries, X. He, Y. Choi, LaSDI: Parametric latent space dynamics identification , Computer Methods in Applied Mechanics and Engineering , volume 399, 115436, 2022 , Also available as arXiv:2203.02076 . C.F. Jekel, D.M. Sterbentz, S. Aubry, Y. Choi, D.A. White, J.L. Belof, Using Conservation Laws to Infer Deep Learning Model Accuracy of Richtmyer-Meshkov Instabilities arXiv preprint , arXiv:2208.11477, 2022 Y. Kim, Y. Choi, D. Widemann, T. Zohdi, A fast and accurate physics-informed neural network reduced order model with shallow masked autoencoder , Journal of Computational Physics , 451, 110841, 2022 . Also available as arXiv:2009.11990 . T. Kadeethum, F. Ballarin, D. O'Malley, Y. Choi, N. Bouklas, H. Yoon, Reduced order modeling with Barlow Twins self-supervised learning: Navigating the space between linear and nonlinear solution manifolds , arXiv preprint , arXiv:2202.05460, 2022 D. Copeland, S.W. Cheung, K. Huynh, Y. Choi, Reduced order models for Lagrangian hydrodynamics , Computer Methods in Applied Mechanics and Engineering , Volume 388, 114259, 2022 . Also available as arXiv:2104.11404 . T. Kadeethum, F. Ballarin, Y. Choi, D. O'Malley, H. Yoon, N. Bouklas, Non-intrusive reduced order modeling of natural convection in porous media using convolutional autoencoders: Comparison with linear subspace techniques , Advances in Water Resources , Volume 160, 104098, 2022","title":"2022"},{"location":"publications.html#2021","text":"T. Kadeethum, D. O'Malley, J.N. Fuhg, Y. Choi, J. Lee, H.S. Viswanathan, N. Bouklas, A framework for data-driven solution and parameter estimation of PDEs using conditional generative adversarial networks , Nature Computational Science , 1, 819-829, 2021 C. Hoang, Y. Choi, K. Carlberg, Domain-decomposition least-squares Petrov-Galerkin (DD-LSPG) nonlinear model reduction , Computer Methods in Applied Mechanics and Engineering , Volume 384, 113997, 2021 S. McBane, Y. Choi, Component-wise reduced order model lattice-type structure design , Computer Methods in Applied Mechanics and Engineering , 381, 113813, 2021 Y. Kim, K.M. Wang, Y. Choi, Efficient space-time reduced order model for linear dynamical systems in Python using less than 120 lines of code , Mathematics , 9(14), 1690, 2021 Y. Choi, P. Brown, W. Arrighi, R. Anderson, K. Huynh, Space-time reduced order model for large-scale linear dynamical systems with application to Boltzmann transport problems , Journal of Computational Physics , 424, 109845, 2021 . Also available as arXiv:1910.01260 .","title":"2021"},{"location":"publications.html#2020","text":"Y. Choi, D. Coombs, R. Anderson, SNS: A Solution-based nonlinear subspace method for time-dependent model order reduction , SIAM Journal on Scientific Computing , 42(2), A1116-A1147, 2020 Y. Choi, G. Boncoraglio, S. Anderson, D. Amsallem, C. Farhat Gradient-based constrained optimization using a database of linear reduced order models , Journal of Computational Physics , 423, 109787, 2020 . Also available as arXiv:1506.07849 . Y. Kim, Y. Choi, D. Widemann, T. Zohdi, Efficient nonlinear manifold reduced order model Workshop on machine learning for engineering modeling, simulation and design @ NeurIPS 2020 , 2020 . Also available as arXiv:2011.07727","title":"2020"},{"location":"publications.html#2019-and-earlier","text":"Y. Choi, K. Carlberg, Space-time least-squares Petrov-Galerkin projection for nonlinear model reduction , SIAM Journal on Scientific Computing , 41(1), A26-A58, 2019 Y. Choi, G. Oxberry, D. Whit, T. Kirchdoerfer, Accelerating design optimization using reduced order models , arXiv preprint , arXiv:1909.11320, 2019 K. Carlberg, Y. Choi, S. Sargsyan, Conservative model reduction for finite-volume models , Journal of Computational Physics , 371, p280-314, 2018 G. Oxberry, T. Kostova-Vassilevska, W. Arrighi, K. Chand, Limited-memory adaptive snapshot selection for proper orthogonal decomposition , International Journal of Numerical Methods in Engineering , 109(2), p198-217, 2016 D. Amsallem, M. Zahr, Y. Choi, C. Farhat, Design optimization using hyper-reduced-order models , Structural and Multidisciplinary Optimization , 51, p919-940, 2015 MathJax.Hub.Config({TeX: {equationNumbers: {autoNumber: \"all\"}}, tex2jax: {inlineMath: [['$','$']]}});","title":"2019 and earlier"},{"location":"rom.html","text":"Projection-based Reduced Order Model The reduced order models are achieved by applying data-driven model order reduction techniques to high-fidelity physics models, typically represented by partial differential equations (PDEs). There is a large body of literature on reduced order models, including the following excellent books: Certified reduced basis methods for parametrized partial differential equations by Jan S. Hesthaven and Gianluigi Rozza and Benjamin Stamm Model reduction of parametrized systems by Peter Benner and Mario Ohlberger and Anthony T. Patera and Gianluigi Rozza and Karsten Urban Reduced-order modeling (ROM) for simulation and optimization by Winfried Keiper and Anja Milde and Stefan Volkwein Approximation of large-scale dynamical systems by Athanasios C. Antoulas Machine learning, low-rank approximations and reduced order modeling in computational mechanics by Felix Fritzen and David Ryckelynck Machine learning for model order reduction by Khaled Salah Mohamed Reduced order methods for modeling and computational reduction by Alfio Quarteroni and Gianluigi Rozza The successful reduced order model development depends on many factors: Good quality and quantity of data Optimal and scalable data reduction schemes Optimal projection methods Efficient hyper-reduction for nonlinear reduction Sampling algorithms The libROM is designed to provide useful and scalable identify the low-rank approximation be lightweight, general and highly scalable reduced order model toolkit that provides the building blocks for developing finite element algorithms in a manner similar to that of MATLAB for linear algebra methods. The success measure for a reduced order model: speed-up accuracy differentiability verifiability predictability Some of the C++ classes for the finite element realizations of these PDE-level concepts in libROM are described below.","title":"Projection-based Reduced Order Model"},{"location":"rom.html#projection-based-reduced-order-model","text":"The reduced order models are achieved by applying data-driven model order reduction techniques to high-fidelity physics models, typically represented by partial differential equations (PDEs). There is a large body of literature on reduced order models, including the following excellent books: Certified reduced basis methods for parametrized partial differential equations by Jan S. Hesthaven and Gianluigi Rozza and Benjamin Stamm Model reduction of parametrized systems by Peter Benner and Mario Ohlberger and Anthony T. Patera and Gianluigi Rozza and Karsten Urban Reduced-order modeling (ROM) for simulation and optimization by Winfried Keiper and Anja Milde and Stefan Volkwein Approximation of large-scale dynamical systems by Athanasios C. Antoulas Machine learning, low-rank approximations and reduced order modeling in computational mechanics by Felix Fritzen and David Ryckelynck Machine learning for model order reduction by Khaled Salah Mohamed Reduced order methods for modeling and computational reduction by Alfio Quarteroni and Gianluigi Rozza The successful reduced order model development depends on many factors: Good quality and quantity of data Optimal and scalable data reduction schemes Optimal projection methods Efficient hyper-reduction for nonlinear reduction Sampling algorithms The libROM is designed to provide useful and scalable identify the low-rank approximation be lightweight, general and highly scalable reduced order model toolkit that provides the building blocks for developing finite element algorithms in a manner similar to that of MATLAB for linear algebra methods. The success measure for a reduced order model: speed-up accuracy differentiability verifiability predictability Some of the C++ classes for the finite element realizations of these PDE-level concepts in libROM are described below.","title":"Projection-based Reduced Order Model"},{"location":"scaleup.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); ScaleupROM This page provides a list of ScaleupROM example applications. ScaleupROM is a projection-based reduced order model code with discontinuous Galerkin domain decomposition (DG-DD) using libROM and MFEM. It aims to create a robust and efficient large-scale ROM that is trained only from small scale component samples which can be used to solve a variety of physics PDEs. For more information, refer to the ScaleupROM repo and online wiki . Select from the categories below to display examples that contain the respective feature. All examples support (arbitrarily) high-order meshes and finite element spaces . The numerical results from the example codes can be visualized using the GLVis or VisIt visualization tools. See the GLVis and VisIt websites for more details. Application (PDE) All Stokes flow Reduced order model type All pROM Assembly All Discontinuous Galerkin Hyper-reduction All No hyper-reduction Physics code All MFEM Stokes flow This example demonstrates the use of ScaleupROM to create a reduced order model for the Stokes flow problem discretized using Taylor-Hood elements. The governing equation for Stokes flow is defined as $$ - \\nu \\nabla^2 \\mathbf{\\tilde{u}} + \\nabla \\mathit{\\widetilde{p}} = 0 $$ $$ \\nabla \\cdot \\mathbf{\\tilde{u}} = 0 $$ with boundary conditions $$ \\mathbf{\\tilde{u}} = \\mathbf{g}_{di} $$ $$ \\mathbf{n} \\cdot ( - \\nu \\nabla \\mathbf{\\tilde{u}} + \\mathit{\\widetilde{p}} \\mathbf{I}) = \\mathbf{g}_{ne} $$ where $\\mathbf{u}$ and $p$ denote the velocity and pressure field respectively, and $\\nu \\equiv \\frac{\\mu}{\\mu_0} = 1.1$ is the non-dimensionalized dynamic viscosity with respect to a reference value. The global-scale system is constructed using a random arrangement from five different reference components: empty, circle, triangle, square, and star. In this example, the fluid flows past an array of these components. Sample snapshots for basis training are generated on 2x2 component domains to better capture downstream flow. A total of 1400 sample snapshots were taken for this example. On each sample domain, the inflow velocity Dirichlet boundary condition is parameterized as $$ \\mathbf{g}_{di} = (g_1 + \\Delta g_1 \\sin 2\\pi (\\mathbf{k}_1 \\cdot x + \\theta_1),\\ g_2 + \\Delta g_2 \\sin 2\\pi (\\mathbf{k}_2 \\cdot x + \\theta_2)) $$ where the parameters are chosen from a uniform random distribution, $$ g_1, g_2 \\sim U[-1, 1] $$ $$ \\Delta g_1, \\Delta g_2 \\sim U[-0.1, 0.1] $$ $$ \\mathbf{k}_1, \\mathbf{k}_2 \\sim U[-0.5, 0.5]^2 $$ $$ \\theta_1, \\theta_2 \\sim U[0, 1] $$ Boundaries at the surface of the object inside the domain have a no-slip wall boundary $g_{di} = 0$ and boundaries on interior interfaces have a homogeneous Neumann boundary $g_{ne} = 0$. The figure above shows the ROM prediction for $\\mathbf{u}$ on a 8x8 system composed of random components with parameter values $g_1 = 1.5, g_2 = -0.8, \\Delta g_1 = \\Delta g_2 = 0$. One can follow the command line options below to reproduce the numerical results summarized in the table below: Generate Meshes : cd build/examples/stokes mkdir snapshots basis paraview rom-system ./setup_stokes.sh Sample Generation : ../../bin/main -i stokes.sampling.yml ROM Training : ../../bin/main -i stokes.sampling.yml -f main/mode=train_rom ROM Building : ../../bin/main -i stokes.sampling.yml -f main/mode=build_rom:main/use_rom=true ROM Prediction : ../../bin/main -i array.8.yml The table below shows the ROM performance for the 8x8 system. FOM Solution time ROM Solution time Speed-up $\\mathbf{u}$ relative error $p$ relative error 0.08298 sec 0.00408 sec 20.34 4.193e-3 3.030e-3 The code that generates the numerical results above can be found in ( stokes_flow ) No examples or miniapps match your criteria. ","title":"ScaleupROM"},{"location":"scaleup.html#scaleuprom","text":"This page provides a list of ScaleupROM example applications. ScaleupROM is a projection-based reduced order model code with discontinuous Galerkin domain decomposition (DG-DD) using libROM and MFEM. It aims to create a robust and efficient large-scale ROM that is trained only from small scale component samples which can be used to solve a variety of physics PDEs. For more information, refer to the ScaleupROM repo and online wiki . Select from the categories below to display examples that contain the respective feature. All examples support (arbitrarily) high-order meshes and finite element spaces . The numerical results from the example codes can be visualized using the GLVis or VisIt visualization tools. See the GLVis and VisIt websites for more details.","title":"ScaleupROM"},{"location":"scaleup.html#application-pde","text":"All Stokes flow","title":"Application (PDE)"},{"location":"scaleup.html#reduced-order-model-type","text":"All pROM","title":"Reduced order model type"},{"location":"scaleup.html#assembly","text":"All Discontinuous Galerkin","title":"Assembly"},{"location":"scaleup.html#hyper-reduction","text":"All No hyper-reduction","title":"Hyper-reduction"},{"location":"scaleup.html#physics-code","text":"All MFEM","title":"Physics code"},{"location":"scaleup.html#stokes-flow","text":"This example demonstrates the use of ScaleupROM to create a reduced order model for the Stokes flow problem discretized using Taylor-Hood elements. The governing equation for Stokes flow is defined as $$ - \\nu \\nabla^2 \\mathbf{\\tilde{u}} + \\nabla \\mathit{\\widetilde{p}} = 0 $$ $$ \\nabla \\cdot \\mathbf{\\tilde{u}} = 0 $$ with boundary conditions $$ \\mathbf{\\tilde{u}} = \\mathbf{g}_{di} $$ $$ \\mathbf{n} \\cdot ( - \\nu \\nabla \\mathbf{\\tilde{u}} + \\mathit{\\widetilde{p}} \\mathbf{I}) = \\mathbf{g}_{ne} $$ where $\\mathbf{u}$ and $p$ denote the velocity and pressure field respectively, and $\\nu \\equiv \\frac{\\mu}{\\mu_0} = 1.1$ is the non-dimensionalized dynamic viscosity with respect to a reference value. The global-scale system is constructed using a random arrangement from five different reference components: empty, circle, triangle, square, and star. In this example, the fluid flows past an array of these components. Sample snapshots for basis training are generated on 2x2 component domains to better capture downstream flow. A total of 1400 sample snapshots were taken for this example. On each sample domain, the inflow velocity Dirichlet boundary condition is parameterized as $$ \\mathbf{g}_{di} = (g_1 + \\Delta g_1 \\sin 2\\pi (\\mathbf{k}_1 \\cdot x + \\theta_1),\\ g_2 + \\Delta g_2 \\sin 2\\pi (\\mathbf{k}_2 \\cdot x + \\theta_2)) $$ where the parameters are chosen from a uniform random distribution, $$ g_1, g_2 \\sim U[-1, 1] $$ $$ \\Delta g_1, \\Delta g_2 \\sim U[-0.1, 0.1] $$ $$ \\mathbf{k}_1, \\mathbf{k}_2 \\sim U[-0.5, 0.5]^2 $$ $$ \\theta_1, \\theta_2 \\sim U[0, 1] $$ Boundaries at the surface of the object inside the domain have a no-slip wall boundary $g_{di} = 0$ and boundaries on interior interfaces have a homogeneous Neumann boundary $g_{ne} = 0$. The figure above shows the ROM prediction for $\\mathbf{u}$ on a 8x8 system composed of random components with parameter values $g_1 = 1.5, g_2 = -0.8, \\Delta g_1 = \\Delta g_2 = 0$. One can follow the command line options below to reproduce the numerical results summarized in the table below: Generate Meshes : cd build/examples/stokes mkdir snapshots basis paraview rom-system ./setup_stokes.sh Sample Generation : ../../bin/main -i stokes.sampling.yml ROM Training : ../../bin/main -i stokes.sampling.yml -f main/mode=train_rom ROM Building : ../../bin/main -i stokes.sampling.yml -f main/mode=build_rom:main/use_rom=true ROM Prediction : ../../bin/main -i array.8.yml The table below shows the ROM performance for the 8x8 system. FOM Solution time ROM Solution time Speed-up $\\mathbf{u}$ relative error $p$ relative error 0.08298 sec 0.00408 sec 20.34 4.193e-3 3.030e-3 The code that generates the numerical results above can be found in ( stokes_flow ) No examples or miniapps match your criteria. ","title":"Stokes flow"}]}
\ No newline at end of file
+{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"index.html","text":"libROM is a free , lightweight , scalable C++ library for data-driven physical simulation methods. It is the main tool box that the reduced order modeling team at LLNL uses to develop efficient model order reduction techniques and physics-constrained data-driven methods . We try to collect any useful reduced order model routines, which are separable to the high-fidelity physics solvers, into libROM. Plus, libROM is open source, so anyone is welcome to suggest new ideas or contribute to the development. Let's work together for better data-driven technology! Features Proper Orthogonal Decomposition ( libROM , pylibROM ) Dynamic mode decomposition ( libROM , pylibROM ) Projection-based reduced order models ( libROM , pylibROM ) Hyper-reduction ( libROM , pylibROM ) Greedy algorithm ( libROM , pylibROM ) Latent space dynamics identification ( LaSDI , gLaSDI , GPLaSDI ) Domain decomposition nonlinear manifold reduced order model ( DD-NM-ROM ) Many more features will be available soon. Stay tuned! libROM is used in many projects, including BLAST , ARDRA , Laghos , SU2 , ALE3D and HyPar . Many MFEM -based ROM examples can be found in Examples . See also our Gallery , Publications and News pages. Recent News Date Message Sep 1, 2024 tLaSDI paper is published in CMAME Aug 1, 2024 S-OPT paper is published in SISC July 13, 2024 Data-scarce paper is published in Shock Waves July 8, 2024 Progressive paper is published in Scientific Reports May 17, 2024 DD-NM-ROM open source code is available in gitHub May 15, 2024 DDFEM paper is published in CMAME Apr 29, 2024 wLaSDI paper is published in CMAME Apr 10, 2024 Gappy AE paper is published in CMAME Mar 25, 2024 DD-NM-ROM paper is published in CMAME Mar 16, 2024 LaSDI book chapter arXiv paper is available libROM tutorials in YouTube Date Title July 22, 2021 Poisson equation & its finite element discretization Sep. 1, 2021 Poisson equation & its reduced order model Sep. 23, 2021 Physics-informed sampling procedure for reduced order models Sep. 11, 2022 Local reduced order models and interpolation-based parameterization Sep. 23, 2022 Projection-based reduced order model for nonlinear system Aug. 23, 2023 Complete derivation of dynamic mode decomposition Latest Release Examples \u250a Code documentation \u250a libROM Sources \u250a pylibROM Sources \u250a LaghosROM Sources \u250a ScaleupROM \u250a LaSDI Sources \u250a gLaSDI Sources \u250a GPLaSDI Sources \u250a DD-NM-ROM Sources \u250a NM-ROM Sources \u250a WLaSDI \u250a tLaSDI \u250a gappyAE Download libROM-master.zip Documentation Building libROM \u250a Poisson equation \u250a Greedy for Poisson New users should start by examining the example codes and tutorials . We also recommend using GLVis or VisIt for visualization. Contact Use the GitHub issue tracker to report bugs or post questions or comments . See the About page for citation information.","title":"Home"},{"location":"index.html#features","text":"Proper Orthogonal Decomposition ( libROM , pylibROM ) Dynamic mode decomposition ( libROM , pylibROM ) Projection-based reduced order models ( libROM , pylibROM ) Hyper-reduction ( libROM , pylibROM ) Greedy algorithm ( libROM , pylibROM ) Latent space dynamics identification ( LaSDI , gLaSDI , GPLaSDI ) Domain decomposition nonlinear manifold reduced order model ( DD-NM-ROM ) Many more features will be available soon. Stay tuned! libROM is used in many projects, including BLAST , ARDRA , Laghos , SU2 , ALE3D and HyPar . Many MFEM -based ROM examples can be found in Examples . See also our Gallery , Publications and News pages.","title":"Features"},{"location":"index.html#recent-news","text":"Date Message Sep 1, 2024 tLaSDI paper is published in CMAME Aug 1, 2024 S-OPT paper is published in SISC July 13, 2024 Data-scarce paper is published in Shock Waves July 8, 2024 Progressive paper is published in Scientific Reports May 17, 2024 DD-NM-ROM open source code is available in gitHub May 15, 2024 DDFEM paper is published in CMAME Apr 29, 2024 wLaSDI paper is published in CMAME Apr 10, 2024 Gappy AE paper is published in CMAME Mar 25, 2024 DD-NM-ROM paper is published in CMAME Mar 16, 2024 LaSDI book chapter arXiv paper is available","title":"Recent News"},{"location":"index.html#librom-tutorials-in-youtube","text":"Date Title July 22, 2021 Poisson equation & its finite element discretization Sep. 1, 2021 Poisson equation & its reduced order model Sep. 23, 2021 Physics-informed sampling procedure for reduced order models Sep. 11, 2022 Local reduced order models and interpolation-based parameterization Sep. 23, 2022 Projection-based reduced order model for nonlinear system Aug. 23, 2023 Complete derivation of dynamic mode decomposition","title":"libROM tutorials in YouTube"},{"location":"index.html#latest-release","text":"Examples \u250a Code documentation \u250a libROM Sources \u250a pylibROM Sources \u250a LaghosROM Sources \u250a ScaleupROM \u250a LaSDI Sources \u250a gLaSDI Sources \u250a GPLaSDI Sources \u250a DD-NM-ROM Sources \u250a NM-ROM Sources \u250a WLaSDI \u250a tLaSDI \u250a gappyAE Download libROM-master.zip","title":"Latest Release"},{"location":"index.html#documentation","text":"Building libROM \u250a Poisson equation \u250a Greedy for Poisson New users should start by examining the example codes and tutorials . We also recommend using GLVis or VisIt for visualization.","title":"Documentation"},{"location":"index.html#contact","text":"Use the GitHub issue tracker to report bugs or post questions or comments . See the About page for citation information.","title":"Contact"},{"location":"about.html","text":"About libROM Please cite with: @misc{ doecode_24508, title = {libROM}, author = {Choi, Youngsoo and Arrighi, William J. and Copeland, Dylan M. and Anderson, Robert W. and Oxberry, Geoffrey M.}, abstractNote = {libROM is a collection of C++ classes that compute reduced order models and hyperreduced order models for systems of ordinary differential equations. libROM includes parallel, adaptive methods for proper orthogonal decomposition, and parallel, non-adaptive methods for hyperreduction using the discrete empirical interpolation method.}, doi = {10.11578/dc.20190408.3}, url = {https://doi.org/10.11578/dc.20190408.3}, howpublished = {[Computer Software] \\url{https://doi.org/10.11578/dc.20190408.3}}, year = {2019}, month = {oct} } Contributors Bob Anderson William Michael Anderson William Arrighi Suparno Bhattacharyya Christophe Bonneville David Bortz Kyle Chand Siu Wun Cheung Eric Chin Youngsoo Choi \"Kevin\" Seung Whan Chung Dylan Copeland Pravija Danda Alejandro Diaz William Fries Debojyoti Ghosh Xiaolong He Kevin Huynh Coleman James Kendrick Tanya Kostova-Vassilevska Minji Kim Axel Larsson Jessica Lauzon Dan Messenger Sean McBane Geoffrey Oxberry Jun Sur Richard Park Pratanu Roy Yeonjong Shin Jian Tao April Tran Paul Jeffrey Tranquilli License MIT license Apache license This work performed under the auspices of the U.S. Department of Energy by Lawrence Livermore Laboratory under Contract DE-AC52-07NA27344. Software release number: LLNL-CODE-766763. DOI: 10.11578/dc.20190408.3 . Disclaimer This document was prepared as an account of work sponsored by an agency of the United States government. Neither the United States government nor Lawrence Livermore National Security, LLC, nor any of their employees makes any warranty, expressed or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents 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 United States government or Lawrence Livermore National Security, LLC. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States government or Lawrence Livermore National Security, LLC, and shall not be used for advertising or product endorsement purposes. Website built with MkDocs , Bootstrap and Bootswatch . Hosted on GitHub .","title":"About"},{"location":"about.html#about-librom","text":"Please cite with: @misc{ doecode_24508, title = {libROM}, author = {Choi, Youngsoo and Arrighi, William J. and Copeland, Dylan M. and Anderson, Robert W. and Oxberry, Geoffrey M.}, abstractNote = {libROM is a collection of C++ classes that compute reduced order models and hyperreduced order models for systems of ordinary differential equations. libROM includes parallel, adaptive methods for proper orthogonal decomposition, and parallel, non-adaptive methods for hyperreduction using the discrete empirical interpolation method.}, doi = {10.11578/dc.20190408.3}, url = {https://doi.org/10.11578/dc.20190408.3}, howpublished = {[Computer Software] \\url{https://doi.org/10.11578/dc.20190408.3}}, year = {2019}, month = {oct} }","title":"About libROM"},{"location":"about.html#contributors","text":"Bob Anderson William Michael Anderson William Arrighi Suparno Bhattacharyya Christophe Bonneville David Bortz Kyle Chand Siu Wun Cheung Eric Chin Youngsoo Choi \"Kevin\" Seung Whan Chung Dylan Copeland Pravija Danda Alejandro Diaz William Fries Debojyoti Ghosh Xiaolong He Kevin Huynh Coleman James Kendrick Tanya Kostova-Vassilevska Minji Kim Axel Larsson Jessica Lauzon Dan Messenger Sean McBane Geoffrey Oxberry Jun Sur Richard Park Pratanu Roy Yeonjong Shin Jian Tao April Tran Paul Jeffrey Tranquilli","title":"Contributors"},{"location":"about.html#license","text":"MIT license Apache license This work performed under the auspices of the U.S. Department of Energy by Lawrence Livermore Laboratory under Contract DE-AC52-07NA27344. Software release number: LLNL-CODE-766763. DOI: 10.11578/dc.20190408.3 .","title":"License"},{"location":"about.html#disclaimer","text":"This document was prepared as an account of work sponsored by an agency of the United States government. Neither the United States government nor Lawrence Livermore National Security, LLC, nor any of their employees makes any warranty, expressed or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents 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 United States government or Lawrence Livermore National Security, LLC. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States government or Lawrence Livermore National Security, LLC, and shall not be used for advertising or product endorsement purposes. Website built with MkDocs , Bootstrap and Bootswatch . Hosted on GitHub .","title":"Disclaimer"},{"location":"building.html","text":"Building libROM A simple tutorial on how to build and run libROM. For more details, see the README file. Clone libROM https://github.com/LLNL/libROM General Installation To compile libROM with default build settings (Mac and LLNL LC Machines): ./scripts/compile.sh To compile libROM for Ardra (LLNL LC Machines only): ./scripts/ardra_compile.sh To compile libROM using a different toolchain within cmake/toolchains (Mac and LLNL LC Machines): ./scripts/toolchain_compile.sh toolchain.cmake Compilation options: -a: Compile a special build for the LLNL codebase: Ardra -d: Compile in debug mode. -m: Compile with MFEM (required to run the libROM examples) -t: Use your own cmake/toolchain -u: Update all of libROM's dependencies. Using Docker container Probably the most reliable way is to use docker container. You can find the instruction on how to use docker container to install libROM in your machine is described at Using Docker container wiki page. Compiling on LC Machines libROM provides several CMake toolchains which can be used to compile on LLNL LC machines. For more information on installing and using libROM on specific LC machines, refer to the libROM wiki page . Spack In addition to the build system described above, libROM packages are also available in Spack: Spack","title":"Building libROM"},{"location":"building.html#building-librom","text":"A simple tutorial on how to build and run libROM. For more details, see the README file.","title":"Building libROM"},{"location":"building.html#clone-librom","text":"https://github.com/LLNL/libROM","title":"Clone libROM"},{"location":"building.html#general-installation","text":"To compile libROM with default build settings (Mac and LLNL LC Machines): ./scripts/compile.sh To compile libROM for Ardra (LLNL LC Machines only): ./scripts/ardra_compile.sh To compile libROM using a different toolchain within cmake/toolchains (Mac and LLNL LC Machines): ./scripts/toolchain_compile.sh toolchain.cmake Compilation options: -a: Compile a special build for the LLNL codebase: Ardra -d: Compile in debug mode. -m: Compile with MFEM (required to run the libROM examples) -t: Use your own cmake/toolchain -u: Update all of libROM's dependencies.","title":"General Installation"},{"location":"building.html#using-docker-container","text":"Probably the most reliable way is to use docker container. You can find the instruction on how to use docker container to install libROM in your machine is described at Using Docker container wiki page.","title":"Using Docker container"},{"location":"building.html#compiling-on-lc-machines","text":"libROM provides several CMake toolchains which can be used to compile on LLNL LC machines. For more information on installing and using libROM on specific LC machines, refer to the libROM wiki page .","title":"Compiling on LC Machines"},{"location":"building.html#spack","text":"In addition to the build system described above, libROM packages are also available in Spack: Spack","title":"Spack"},{"location":"ddps.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); DDPS Webinar ( in California time ) DDPS stands for data-driven physical simulation. We hold weekly webinar, in average, either on Thursday or Friday at Lawrence Livermore National Laboratory. If you are interested in giving a webinar talk or would like to recommend a speaker, please send an email to choi15@llnl.gov. If you are interested in being included in DDPS email list, please also send an email to choi15@llnl.gov. Scheduled Talks in 2025 When Speaker Institution Title WebEx Jan 24th, 10 AM Max Welling University of Amsterdam TBD link Jan 31st, 10 AM Soledad Le Clainche Universidad Politecnica de Madrid Hybrid reduced order models: from exploiting physical principles to novel machine learning approaches link Feb 20th, 4 PM Youngjoon Hong KAIST Operator Networks Based on Numerical Analysis link Mar 28th, 10 AM Kunihiko Taira UCLA TBD link Apr 3rd, 10 AM Johannes Brandstetter Johannes Kepler University Linz TBD link Apr 18th, 10 AM Sung Ha Kang GeorgiaTech TBD link Past Talks in 2024 Date Speaker Institution Title YouTube Dec 13th Hamid Sadjadpour UCSC Everlasting Information-theoretic Encryption in the Era of Quantum Computing and AI link Nov 22nd David Bortz University of Colorado Boulder The weak form is stronger than you think link Nov 15th Yasaman Bahri Google DeepMind A first-principles approach to understanding deep learning link Nov 1st Annalisa Quaini University of Houston Reducing the cost of ocean modeling with a data-driven ROM and LES link Oct 25th Marius Zeinhofer University Hospital Freiburg Infinite Dimensional Optimization for Scientific Machine Learning link Oct 18th Ching-Yao Lai Stanford Machine-Precision Neural Networks for Multiscale Dynamics link Sep 27th Akhil Nekkanti CalTech Data-driven techniques for analysis of turbulent flows link Sep 20th Jian-Xun Wang University of Notre Dame Neural Differentiable Physics: Unifying Numerical PDEs and Deep Learning for Data-Augmented Computational Physics link Aug 23rd Aditi Krishnapriyan UC Berkeley Bringing numerical methods and deep learning with physics-constrained differentiable solvers link Aug 2nd Elizabeth Qian Georgia Tech Multi-fidelity linear regression for scientific machine learning from scarce data link July 19th Alberto Padovan University of Illinois, Urbana-Champaign Data-driven model reduction via non-intrusive optimization of projection operators and reduced-order dynamics link July 12th Francesco Romor Weierstrass Instititute Intrusive model order reduction of parametric PDEs using neural networks approximants of the solution manifold and adaptive hyper-reduction link Jun 28th Doug James Stanford Recent progress in reduced-order modeling for computer graphics and sound link Jun 21st Gianluca Iaccarino Stanford AutoEncoders for Aerodynamic Predictions link Jun 14th Fabio Giampaolo University of Naples Federico II Learning paradigms for neural networks: The locally backpropagated forward-forward algorithm link May 10th Yexiang Xue Purdue University Vertical reasoning enhanced learning, generation and scientific discovery link Apr 12th Burcu Beykal University of Connecticut A Data-Driven Process Systems Engineering Approach for Supply Chain Management and Enterprise-Wide Optimization link Apr 5th Yanlai Chen UMass Dartmouth GPT-PINN and TGPT-PINN: Generative Pre-Trained Physics-Informed Neural Networks toward non-intrusive Meta-learning of parametric PDEs link Feb 22nd Francesco Ballarin Universit\u00e0 Cattolica del Sacro Cuore Regularized reduced order models for control of Navier--Stokes equations link Feb 16th George Bollas The University of Connecticut Physics Informed Machine Learning through Symbolic Regression link Feb 8th Zhiwen Zhang The University of Hong Kong DeepParticle: learning invariant measure by a deep neural network minimizing Wasserstein distance on data generated from an interacting particle method link Jan 26th Boris Kramer UCSD Structure-Preserving Learning of High-Dimensional Lagrangian and Hamiltonian Systems link Jan 19th Jan Christoph UCSF Predicting Heart Rhythm Disorders from Spatio-Temporal Imaging Data using Artificial Intelligence link Jan 12th Guang Lin Purdue University Towards Third Wave AI: Interpretable, Robust Trustworthy Machine Learning for Diverse Applications in Science and Engineering link Past Talks in 2023 Date Speaker Institution Title YouTube Dec 15th Dimitrios Giannakis Dartmouth College Quantum information and data science for modeling classical dynamics link Dec 8th Nicolas Boulle The University of Cambridge Elliptic PDE learning is provably data-efficient link Nov 17th Mengwu Guo University of Twente Probabilistic Methods for Data-Driven Reduced-Order Modeling link Nov 3rd Michael E. Glinsky BNZ Energy Inc. A physics-based Reduced Order Model capturing the topology of dynamical manifolds link Nov 3rd Elnaz Rezaian University of Michigan Data-driven balancing transformation for predictive model order reduction link Oct 20th Christopher Rackauckas MIT Generalizing Scientific Machine Learning and Differentiable Simulation Beyond Continuous Models link Oct 13th Jinlong Wu University of Wisconsin-Madison Data-Driven Closure Modeling Using Derivative-free Kalman Methods link Sep 29th Krishna Garikipati University of Michigan Fokker-Planck-Inverse Reinforcement Learning: A physics-constrained approach to Markov Decision Process models with applications to cancer cell dynamics link Sep 22nd Alice Cicirello University of Cambridge Challenges and opportunities for integrating physics-knowledge in machine learning strategies: friction identification case study link Sep 8th Lu Lu Yale Deep neural operators with reliable extrapolation for multiphysics, multiscale & multifidelity problems link Sep 1st Eleni Chatzi ETH Z\u00fcrich Twinning and Model Discovery for Engineered Systems link Aug 25th Khalid Jawed UCLA Reduced Order Modeling and Inverse Design of Flexible Structures by Machine Learning link Aug 18th Amir Arzani University of Utah A flexible and generalizable XAI framework for scientific deep learning link July 21st Thomas Beckers Vanderbilt University Physics-enhanced Gaussian Processes for Learning of Electromechanical Systems link July 14th H.S. Udaykumar University of Iowa Data-driven multi-scale simulations for materials-by-design of energetic materials link July 7th Alvaro Coutinho Federal University of Rio de Janeiro Enhancing data-driven workflows for complex simulations link June 30th Peng Chen Georgia Institute of Technology Derivative-informed neural operators link June 9th Dongbin Xiu The Ohio State University Data-driven Modeling of Unknown Systems with Deep Neural Networks link May 26th Yexiang Xue Purdue University Scaling Up AI-driven Scientific Discovery via Embedding Physics Modeling into End-to-end Learning and Harnessing Random Projection link May 19th Eduardo Gildin TAMU Guided Deep Learning Manifold Linearization of Porous Media Flow Equations for Digital Twins Operations link May 12th Ying Liang Purdue University Data-assisted Algorithms for Inverse Random Source Scattering Problems link May 5th Lori Brady Johns Hopkins University ML-driven Models for Material Microstructure and Mechanical Behavior link May 4th Anima Anandkumar CalTech ML for Solving PDEs: Neural Operators on Function Spaces link Apr. 27th Paul Atzberger UC Santa Barbara Generative Machine Learning Approaches for Data-Driven Modeling and Reductions of Non-Linear Dynamics in Scientific Simulation link Apr. 14th Ameya Jagtap Brown University Scientific Machine Learning through the Lens of Physics-Informed Neural Networks link Apr. 7th Matthias Chung Emory University Big Data Inverse Problems \u2014 Promoting Sparsity and Learning to Regularize link Mar. 31st Jian Cao Northwestern University Physics-based AI-assisted Design and Control in Flexible Manufacturing link Mar. 10th Hessam Babaee University of Pittsburgh CUR Matrix Decomposition for Scalable Reduced-Order Modeling of Nonlinear Partial Differential Equations using Time-Dependent Bases link Feb. 24th Victor M. Zavala University of Wisconsin-Madison Bayesian Optimization: Exploiting Machine Learning Models, Physics, and High-Throughput Experiments link Feb. 10th Soledad Villar Johns Hopkins University The Passive Symmetries of Machine Learning link Jan. 27th Spencer H. Bryngelson GeorgiaTech Competitive Physics Informed Networks link Jan. 20th Ajay B. Harish University of Manchester Uncertainty quantification and deep learning for storm-surge prediction link Past Talks in 2022 Date Speaker Institution Title YouTube Dec. 16th Ralph Smith North Carolina State University Parameter Subset Selection and Active Subspace Techniques for Engineering and Biological Models link Nov. 17th Andrea Manzoni Politecnico di Milano Deep learning for reduced order modeling link Nov. 11th Michael Brenner Harvard University Scientific Uses of Automatic Differentiation link Nov. 4th, 12 PM Sorin Mitran University of North Carolina Data-driven information geometry approach to stochastic model reduction link Oct. 21st Eric de Sturler Virginia Tech Cheap and robust adaptive reduced order models for nonlinear inversion and design link Oct. 7th Jan Drgona PNNL Differentiable Programming for Modeling and Control of Dynamical Systems link Sept. 16 Benjamin Sanderse CWI Amsterdam Structure-preserving learning of embedded, discrete closure models link Aug. 25 Benjamin Erichson University of Pittsburgh Continuous Networks for Sequential Predictions link Aug. 18 Santi Adavani RocketML Industrial Grade Scientific Machine Learning: Challenges and Opportunities link July 21 Ricardo Vinuesa KTH Modeling and controlling turbulent flows through deep learning link July 1 Dirk Hartmann Siemens Machine Learning and Physics-based Simulations \u2013 Yin and Yang of Industrial Digital Twins link June 23 Molei Tao Georgia Institute of Technology Trustworthy learning of mechanical systems, and Stiefel optimization with applications to transformer and optimal transport link June 3 Tailin Wu Stanford University Learning to accelerate large-scale physical simulations in fluid and plasma physics link May 13 Ishan Khurjekar University of Florida Uncertainty-aware guided wave structural health monitoring using ensemble learning link Apr. 28 Benjamin Peherstorfer New York University Neural Galerkin schemes with active learning for high-dimensional evolution equations link Apr. 22 Petros Koumoutsakos Harvard University Artificial Intelligence and Scientific Computing for Fluid Mechanics link Apr. 8 Daniel Floryan University of Houston Charting dynamics from data link Mar. 25 Weinan E Princeton University Machine Learning and Multi-scale Modeling link Mar. 17 Yannis Kevrekidis Johns Hopkins University No equations, no variables, no space, no time: Old and new results on data and the modeling of complex systems link Mar. 11 Alice Cicirello TU Delft Interpretable, explainable and non-intrusive uncertainty propagation through expensive-to-evaluate models via ML-optimization link Mar. 3 Ming Zhong TAMU Machine Learning of Self Organization from Observation link Feb. 25 Lexing Ying Stanford Prony's method, analytic continuation, and quantum signal processing link Feb. 18 Kaushik Bhattacharya Caltech Multi-scale modeling and neural operators link Feb. 11 Sergei Tretiak LANL Machine Learning for materials and chemical dynamics link Feb. 4 Serkan Gugercin Virginia Tech Data-driven modeling of dynamical systems: A systems theoretic perspective link Jan. 28 Ashesh Chattopadhyay Rice University Deep learning meets data assimilation: On physically-consistent architectures and hybrid ensemble Kalman filters for weather forecasting link Jan. 20 Pat Langley Stanford University Computational Scientific Discovery: Heuristic Search for Communicable Laws and Models link Jan. 14 Greg Beroza Stanford University Towards Complete Machine-Learning-Based Earthquake Monitoring Workflows link Jan. 6 Miles Cranmer Princeton University The Problem with Deep Learning in Physics (and how to fix it) link Past Talks in 2021 Date Speaker Institution Title YouTube Dec. 3rd Igor Mezic UC Santa Barbara Koopman operator theory for dynamical systems, control and data analytics link Nov. 18th Michael Mahoney UC Berkeley Toward combining principled scientific models and principled machine learning models link Nov. 12th WaiChing Sun Columbia University Data-driven constitutive updates: from model-free poroelasticity to level set plasticity trained by neural networks link Nov. 4th Misha Khodak CMU Towards automatic architecture design for emerging machine learning tasks link Oct. 28th Masayuki Yano U. of Toronto Towards reliable, efficient, and automated model reduction of parametrized nonlinear PDEs: error estimation, adaptivity, and application to aerodynamics link Oct. 7th Youngsoo Choi LLNL libROM: Library for physics-constrained data-driven physical simulations link Sep. 30th Peter Benner Max Planck Identification of Nonlinear Dynamical Systems from Noisy Measurements link Sep. 2nd Ionut-Gabriel Farcas Oden Institute Learning hierarchies of reduced-dimension and context-aware low-fidelity models for multi-fidelity Monte Carlo sampling link Aug. 26th Jesse Capecelatro U. of Michagan Turbulent disperse two-phase flows: simulations and data-driven modeling link Aug. 19th Christopher J. Earls Cornell U. Gaining mechanistic insight through learning Green's functions: Uncovering the solutions to hidden PDEs link Aug. 13th Dmitriy Anistratov North Carolina State U. Reduced order models for thermal radiative transfer problems based on moment equations and POD/DMD of Eddington tensor link Aug. 5th Luca Magri Imperial College, London Physics-aware reservoir-computing for turbulence and chaotic learning NA Jul. 30th Marta D'Elia Sandia Data-driven learning of nonlocal models: bridging scales and design of new neural networks link Jul. 22nd Hannah Lu Stanford U. Dynamic model decomposition for reduced order modeling in flow and transport problems NA Jul. 15th Yeonjong Shin KAIST Towards a mathematical understanding of modern machine learning: theory, algorithms, and applications link Jul. 9th Rui Wang UC, San Diego Physics-guided deep learning for dynamics for forecasting link Jul. 1st Tan Bui UT, Austin Model-constrained deep learning approaches for inference, control, and uncertainty quantification link Jun. 24th Matthew Zahr U. of Notre Dame Model reduction of convection-dominated partial differential equations via optimization-based implicit feature tracking link Jun. 10th David Ryckelynck Mines ParisTech Model order reduction assisted by deep neural networks (ROM-net) link Jun. 3rd Harbir Antil George Mason U. Applications of Fractional Operators from Optimal Control to Machine Learning link May 27th Romit Maulik Argonne Neural architecture search for surrogate modeling link May 20th Tobias Pfaff , Alvaro Sanchez-Gonzalez DeepMind Learning physical simulation with Graph Network link May 14th George Karniadakis Brown U. Approximating functions, functionals, and operators using deep neural networks for diverse applications link Apr. 29th Traian Iliescu Virginia Tech. Large Eddy Simulation Reduced Order Models (LES-ROMs) link Apr. 15th Tommaso Taddei Inria Registration-based model reduction of parameterized advection-dominated PDEs link Apr. 7th Francisco Chinesta ENSAM ParisTech Empowering Hybrid Twins from Physics-Informed Artificial Intelligence link Apr. 1st Priya Donti Carnegie Mellon U. Incorporating power system physics into deep learning via implicit layers link Mar. 25th Mario Ohlberger U. Munster Model reduction with adaptive enrichment for large scale PDE-constrained optimization link Mar. 18th Karthik Duraisamy U. of Michigan Towards Robust, Accurate and Tractable Reduced Order Models for Multi-scale, Multi-physics Problems link Mar. 10th Pawan Goyal Max Planck Physics-informed learning for nonlinear dynamical systems: a deep learning approach to operator inference link Feb. 18th Nils Thuerey Technische Universitat Munchen Differentiable Physics Simulations for Deep Learning link Jan. 27th Alfio Quarteroni EPFL The mathematical heart: a computational model for the simulation of the heart function link Jan. 21th Steven Brunton U. of Washington Interpretable and Generalizable Machine Learning for Fluid Mechanics link Jan. 7th Irina Tezaur Sandia The Schwarz alternating methods as a means for concurrent multiscale coupling in solid mechanics link Past Talks in 2020 Date Speaker Institution Title YouTube Dec. 17th Jan Hesthaven EPFL Non-intrusive reduced order models using physics informed neural networks link Dec. 10th Jesse Chan Rice U. Entropy stable schemes for nonlinear conservation laws: high order discontinuous Galerkin methods and reduced order modeling link Nov. 18th Paris Perdikaris UPenn When and why physics-informed neural networks fail to train: A neural tangent kernel perspective link Nov. 12th Donsub Rim Courant Institute Distilling nonlinear shock waves: Nonlinear model reduction for transport dominated problems using deep neural networks link Oct. 29th Byungsoo Kim ETH Zurich Data-Driven Methods for Fluid Simulations in Computer Graphics link Oct. 15th Youngkyu Kim UC Berkeley A fast and accurate physics-informed neural network reduced order model with shallow masked autoencoder link","title":"DDPS"},{"location":"ddps.html#ddps-webinar-in-california-time","text":"DDPS stands for data-driven physical simulation. We hold weekly webinar, in average, either on Thursday or Friday at Lawrence Livermore National Laboratory. If you are interested in giving a webinar talk or would like to recommend a speaker, please send an email to choi15@llnl.gov. If you are interested in being included in DDPS email list, please also send an email to choi15@llnl.gov.","title":"DDPS Webinar (in California time)"},{"location":"ddps.html#scheduled-talks-in-2025","text":"When Speaker Institution Title WebEx Jan 24th, 10 AM Max Welling University of Amsterdam TBD link Jan 31st, 10 AM Soledad Le Clainche Universidad Politecnica de Madrid Hybrid reduced order models: from exploiting physical principles to novel machine learning approaches link Feb 20th, 4 PM Youngjoon Hong KAIST Operator Networks Based on Numerical Analysis link Mar 28th, 10 AM Kunihiko Taira UCLA TBD link Apr 3rd, 10 AM Johannes Brandstetter Johannes Kepler University Linz TBD link Apr 18th, 10 AM Sung Ha Kang GeorgiaTech TBD link","title":"Scheduled Talks in 2025"},{"location":"ddps.html#past-talks-in-2024","text":"Date Speaker Institution Title YouTube Dec 13th Hamid Sadjadpour UCSC Everlasting Information-theoretic Encryption in the Era of Quantum Computing and AI link Nov 22nd David Bortz University of Colorado Boulder The weak form is stronger than you think link Nov 15th Yasaman Bahri Google DeepMind A first-principles approach to understanding deep learning link Nov 1st Annalisa Quaini University of Houston Reducing the cost of ocean modeling with a data-driven ROM and LES link Oct 25th Marius Zeinhofer University Hospital Freiburg Infinite Dimensional Optimization for Scientific Machine Learning link Oct 18th Ching-Yao Lai Stanford Machine-Precision Neural Networks for Multiscale Dynamics link Sep 27th Akhil Nekkanti CalTech Data-driven techniques for analysis of turbulent flows link Sep 20th Jian-Xun Wang University of Notre Dame Neural Differentiable Physics: Unifying Numerical PDEs and Deep Learning for Data-Augmented Computational Physics link Aug 23rd Aditi Krishnapriyan UC Berkeley Bringing numerical methods and deep learning with physics-constrained differentiable solvers link Aug 2nd Elizabeth Qian Georgia Tech Multi-fidelity linear regression for scientific machine learning from scarce data link July 19th Alberto Padovan University of Illinois, Urbana-Champaign Data-driven model reduction via non-intrusive optimization of projection operators and reduced-order dynamics link July 12th Francesco Romor Weierstrass Instititute Intrusive model order reduction of parametric PDEs using neural networks approximants of the solution manifold and adaptive hyper-reduction link Jun 28th Doug James Stanford Recent progress in reduced-order modeling for computer graphics and sound link Jun 21st Gianluca Iaccarino Stanford AutoEncoders for Aerodynamic Predictions link Jun 14th Fabio Giampaolo University of Naples Federico II Learning paradigms for neural networks: The locally backpropagated forward-forward algorithm link May 10th Yexiang Xue Purdue University Vertical reasoning enhanced learning, generation and scientific discovery link Apr 12th Burcu Beykal University of Connecticut A Data-Driven Process Systems Engineering Approach for Supply Chain Management and Enterprise-Wide Optimization link Apr 5th Yanlai Chen UMass Dartmouth GPT-PINN and TGPT-PINN: Generative Pre-Trained Physics-Informed Neural Networks toward non-intrusive Meta-learning of parametric PDEs link Feb 22nd Francesco Ballarin Universit\u00e0 Cattolica del Sacro Cuore Regularized reduced order models for control of Navier--Stokes equations link Feb 16th George Bollas The University of Connecticut Physics Informed Machine Learning through Symbolic Regression link Feb 8th Zhiwen Zhang The University of Hong Kong DeepParticle: learning invariant measure by a deep neural network minimizing Wasserstein distance on data generated from an interacting particle method link Jan 26th Boris Kramer UCSD Structure-Preserving Learning of High-Dimensional Lagrangian and Hamiltonian Systems link Jan 19th Jan Christoph UCSF Predicting Heart Rhythm Disorders from Spatio-Temporal Imaging Data using Artificial Intelligence link Jan 12th Guang Lin Purdue University Towards Third Wave AI: Interpretable, Robust Trustworthy Machine Learning for Diverse Applications in Science and Engineering link","title":"Past Talks in 2024"},{"location":"ddps.html#past-talks-in-2023","text":"Date Speaker Institution Title YouTube Dec 15th Dimitrios Giannakis Dartmouth College Quantum information and data science for modeling classical dynamics link Dec 8th Nicolas Boulle The University of Cambridge Elliptic PDE learning is provably data-efficient link Nov 17th Mengwu Guo University of Twente Probabilistic Methods for Data-Driven Reduced-Order Modeling link Nov 3rd Michael E. Glinsky BNZ Energy Inc. A physics-based Reduced Order Model capturing the topology of dynamical manifolds link Nov 3rd Elnaz Rezaian University of Michigan Data-driven balancing transformation for predictive model order reduction link Oct 20th Christopher Rackauckas MIT Generalizing Scientific Machine Learning and Differentiable Simulation Beyond Continuous Models link Oct 13th Jinlong Wu University of Wisconsin-Madison Data-Driven Closure Modeling Using Derivative-free Kalman Methods link Sep 29th Krishna Garikipati University of Michigan Fokker-Planck-Inverse Reinforcement Learning: A physics-constrained approach to Markov Decision Process models with applications to cancer cell dynamics link Sep 22nd Alice Cicirello University of Cambridge Challenges and opportunities for integrating physics-knowledge in machine learning strategies: friction identification case study link Sep 8th Lu Lu Yale Deep neural operators with reliable extrapolation for multiphysics, multiscale & multifidelity problems link Sep 1st Eleni Chatzi ETH Z\u00fcrich Twinning and Model Discovery for Engineered Systems link Aug 25th Khalid Jawed UCLA Reduced Order Modeling and Inverse Design of Flexible Structures by Machine Learning link Aug 18th Amir Arzani University of Utah A flexible and generalizable XAI framework for scientific deep learning link July 21st Thomas Beckers Vanderbilt University Physics-enhanced Gaussian Processes for Learning of Electromechanical Systems link July 14th H.S. Udaykumar University of Iowa Data-driven multi-scale simulations for materials-by-design of energetic materials link July 7th Alvaro Coutinho Federal University of Rio de Janeiro Enhancing data-driven workflows for complex simulations link June 30th Peng Chen Georgia Institute of Technology Derivative-informed neural operators link June 9th Dongbin Xiu The Ohio State University Data-driven Modeling of Unknown Systems with Deep Neural Networks link May 26th Yexiang Xue Purdue University Scaling Up AI-driven Scientific Discovery via Embedding Physics Modeling into End-to-end Learning and Harnessing Random Projection link May 19th Eduardo Gildin TAMU Guided Deep Learning Manifold Linearization of Porous Media Flow Equations for Digital Twins Operations link May 12th Ying Liang Purdue University Data-assisted Algorithms for Inverse Random Source Scattering Problems link May 5th Lori Brady Johns Hopkins University ML-driven Models for Material Microstructure and Mechanical Behavior link May 4th Anima Anandkumar CalTech ML for Solving PDEs: Neural Operators on Function Spaces link Apr. 27th Paul Atzberger UC Santa Barbara Generative Machine Learning Approaches for Data-Driven Modeling and Reductions of Non-Linear Dynamics in Scientific Simulation link Apr. 14th Ameya Jagtap Brown University Scientific Machine Learning through the Lens of Physics-Informed Neural Networks link Apr. 7th Matthias Chung Emory University Big Data Inverse Problems \u2014 Promoting Sparsity and Learning to Regularize link Mar. 31st Jian Cao Northwestern University Physics-based AI-assisted Design and Control in Flexible Manufacturing link Mar. 10th Hessam Babaee University of Pittsburgh CUR Matrix Decomposition for Scalable Reduced-Order Modeling of Nonlinear Partial Differential Equations using Time-Dependent Bases link Feb. 24th Victor M. Zavala University of Wisconsin-Madison Bayesian Optimization: Exploiting Machine Learning Models, Physics, and High-Throughput Experiments link Feb. 10th Soledad Villar Johns Hopkins University The Passive Symmetries of Machine Learning link Jan. 27th Spencer H. Bryngelson GeorgiaTech Competitive Physics Informed Networks link Jan. 20th Ajay B. Harish University of Manchester Uncertainty quantification and deep learning for storm-surge prediction link","title":"Past Talks in 2023"},{"location":"ddps.html#past-talks-in-2022","text":"Date Speaker Institution Title YouTube Dec. 16th Ralph Smith North Carolina State University Parameter Subset Selection and Active Subspace Techniques for Engineering and Biological Models link Nov. 17th Andrea Manzoni Politecnico di Milano Deep learning for reduced order modeling link Nov. 11th Michael Brenner Harvard University Scientific Uses of Automatic Differentiation link Nov. 4th, 12 PM Sorin Mitran University of North Carolina Data-driven information geometry approach to stochastic model reduction link Oct. 21st Eric de Sturler Virginia Tech Cheap and robust adaptive reduced order models for nonlinear inversion and design link Oct. 7th Jan Drgona PNNL Differentiable Programming for Modeling and Control of Dynamical Systems link Sept. 16 Benjamin Sanderse CWI Amsterdam Structure-preserving learning of embedded, discrete closure models link Aug. 25 Benjamin Erichson University of Pittsburgh Continuous Networks for Sequential Predictions link Aug. 18 Santi Adavani RocketML Industrial Grade Scientific Machine Learning: Challenges and Opportunities link July 21 Ricardo Vinuesa KTH Modeling and controlling turbulent flows through deep learning link July 1 Dirk Hartmann Siemens Machine Learning and Physics-based Simulations \u2013 Yin and Yang of Industrial Digital Twins link June 23 Molei Tao Georgia Institute of Technology Trustworthy learning of mechanical systems, and Stiefel optimization with applications to transformer and optimal transport link June 3 Tailin Wu Stanford University Learning to accelerate large-scale physical simulations in fluid and plasma physics link May 13 Ishan Khurjekar University of Florida Uncertainty-aware guided wave structural health monitoring using ensemble learning link Apr. 28 Benjamin Peherstorfer New York University Neural Galerkin schemes with active learning for high-dimensional evolution equations link Apr. 22 Petros Koumoutsakos Harvard University Artificial Intelligence and Scientific Computing for Fluid Mechanics link Apr. 8 Daniel Floryan University of Houston Charting dynamics from data link Mar. 25 Weinan E Princeton University Machine Learning and Multi-scale Modeling link Mar. 17 Yannis Kevrekidis Johns Hopkins University No equations, no variables, no space, no time: Old and new results on data and the modeling of complex systems link Mar. 11 Alice Cicirello TU Delft Interpretable, explainable and non-intrusive uncertainty propagation through expensive-to-evaluate models via ML-optimization link Mar. 3 Ming Zhong TAMU Machine Learning of Self Organization from Observation link Feb. 25 Lexing Ying Stanford Prony's method, analytic continuation, and quantum signal processing link Feb. 18 Kaushik Bhattacharya Caltech Multi-scale modeling and neural operators link Feb. 11 Sergei Tretiak LANL Machine Learning for materials and chemical dynamics link Feb. 4 Serkan Gugercin Virginia Tech Data-driven modeling of dynamical systems: A systems theoretic perspective link Jan. 28 Ashesh Chattopadhyay Rice University Deep learning meets data assimilation: On physically-consistent architectures and hybrid ensemble Kalman filters for weather forecasting link Jan. 20 Pat Langley Stanford University Computational Scientific Discovery: Heuristic Search for Communicable Laws and Models link Jan. 14 Greg Beroza Stanford University Towards Complete Machine-Learning-Based Earthquake Monitoring Workflows link Jan. 6 Miles Cranmer Princeton University The Problem with Deep Learning in Physics (and how to fix it) link","title":"Past Talks in 2022"},{"location":"ddps.html#past-talks-in-2021","text":"Date Speaker Institution Title YouTube Dec. 3rd Igor Mezic UC Santa Barbara Koopman operator theory for dynamical systems, control and data analytics link Nov. 18th Michael Mahoney UC Berkeley Toward combining principled scientific models and principled machine learning models link Nov. 12th WaiChing Sun Columbia University Data-driven constitutive updates: from model-free poroelasticity to level set plasticity trained by neural networks link Nov. 4th Misha Khodak CMU Towards automatic architecture design for emerging machine learning tasks link Oct. 28th Masayuki Yano U. of Toronto Towards reliable, efficient, and automated model reduction of parametrized nonlinear PDEs: error estimation, adaptivity, and application to aerodynamics link Oct. 7th Youngsoo Choi LLNL libROM: Library for physics-constrained data-driven physical simulations link Sep. 30th Peter Benner Max Planck Identification of Nonlinear Dynamical Systems from Noisy Measurements link Sep. 2nd Ionut-Gabriel Farcas Oden Institute Learning hierarchies of reduced-dimension and context-aware low-fidelity models for multi-fidelity Monte Carlo sampling link Aug. 26th Jesse Capecelatro U. of Michagan Turbulent disperse two-phase flows: simulations and data-driven modeling link Aug. 19th Christopher J. Earls Cornell U. Gaining mechanistic insight through learning Green's functions: Uncovering the solutions to hidden PDEs link Aug. 13th Dmitriy Anistratov North Carolina State U. Reduced order models for thermal radiative transfer problems based on moment equations and POD/DMD of Eddington tensor link Aug. 5th Luca Magri Imperial College, London Physics-aware reservoir-computing for turbulence and chaotic learning NA Jul. 30th Marta D'Elia Sandia Data-driven learning of nonlocal models: bridging scales and design of new neural networks link Jul. 22nd Hannah Lu Stanford U. Dynamic model decomposition for reduced order modeling in flow and transport problems NA Jul. 15th Yeonjong Shin KAIST Towards a mathematical understanding of modern machine learning: theory, algorithms, and applications link Jul. 9th Rui Wang UC, San Diego Physics-guided deep learning for dynamics for forecasting link Jul. 1st Tan Bui UT, Austin Model-constrained deep learning approaches for inference, control, and uncertainty quantification link Jun. 24th Matthew Zahr U. of Notre Dame Model reduction of convection-dominated partial differential equations via optimization-based implicit feature tracking link Jun. 10th David Ryckelynck Mines ParisTech Model order reduction assisted by deep neural networks (ROM-net) link Jun. 3rd Harbir Antil George Mason U. Applications of Fractional Operators from Optimal Control to Machine Learning link May 27th Romit Maulik Argonne Neural architecture search for surrogate modeling link May 20th Tobias Pfaff , Alvaro Sanchez-Gonzalez DeepMind Learning physical simulation with Graph Network link May 14th George Karniadakis Brown U. Approximating functions, functionals, and operators using deep neural networks for diverse applications link Apr. 29th Traian Iliescu Virginia Tech. Large Eddy Simulation Reduced Order Models (LES-ROMs) link Apr. 15th Tommaso Taddei Inria Registration-based model reduction of parameterized advection-dominated PDEs link Apr. 7th Francisco Chinesta ENSAM ParisTech Empowering Hybrid Twins from Physics-Informed Artificial Intelligence link Apr. 1st Priya Donti Carnegie Mellon U. Incorporating power system physics into deep learning via implicit layers link Mar. 25th Mario Ohlberger U. Munster Model reduction with adaptive enrichment for large scale PDE-constrained optimization link Mar. 18th Karthik Duraisamy U. of Michigan Towards Robust, Accurate and Tractable Reduced Order Models for Multi-scale, Multi-physics Problems link Mar. 10th Pawan Goyal Max Planck Physics-informed learning for nonlinear dynamical systems: a deep learning approach to operator inference link Feb. 18th Nils Thuerey Technische Universitat Munchen Differentiable Physics Simulations for Deep Learning link Jan. 27th Alfio Quarteroni EPFL The mathematical heart: a computational model for the simulation of the heart function link Jan. 21th Steven Brunton U. of Washington Interpretable and Generalizable Machine Learning for Fluid Mechanics link Jan. 7th Irina Tezaur Sandia The Schwarz alternating methods as a means for concurrent multiscale coupling in solid mechanics link","title":"Past Talks in 2021"},{"location":"ddps.html#past-talks-in-2020","text":"Date Speaker Institution Title YouTube Dec. 17th Jan Hesthaven EPFL Non-intrusive reduced order models using physics informed neural networks link Dec. 10th Jesse Chan Rice U. Entropy stable schemes for nonlinear conservation laws: high order discontinuous Galerkin methods and reduced order modeling link Nov. 18th Paris Perdikaris UPenn When and why physics-informed neural networks fail to train: A neural tangent kernel perspective link Nov. 12th Donsub Rim Courant Institute Distilling nonlinear shock waves: Nonlinear model reduction for transport dominated problems using deep neural networks link Oct. 29th Byungsoo Kim ETH Zurich Data-Driven Methods for Fluid Simulations in Computer Graphics link Oct. 15th Youngkyu Kim UC Berkeley A fast and accurate physics-informed neural network reduced order model with shallow masked autoencoder link","title":"Past Talks in 2020"},{"location":"download.html","text":"Latest Release Code documentation \u250a Sources Download libROM-master.zip Please use the GitHub issue tracker to report bugs or post questions or comments . All Releases Filename Version Release Date Size CLOC Notes libROM-master.zip v1.0 Sep 2021 160K 22K initial release","title":"Download"},{"location":"download.html#latest-release","text":"Code documentation \u250a Sources Download libROM-master.zip Please use the GitHub issue tracker to report bugs or post questions or comments .","title":"Latest Release"},{"location":"download.html#all-releases","text":"Filename Version Release Date Size CLOC Notes libROM-master.zip v1.0 Sep 2021 160K 22K initial release","title":"All Releases"},{"location":"examples.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); Example Applications This page provides a list of libROM example applications. For detailed documentation of the libROM sources, including the examples, see the online Doxygen documentation or the doc directory in the distribution. The goal of the example codes is to provide a step-by-step introduction to libROM in simple model settings. Select from the categories below to display examples and miniapps that contain the respective feature. All examples support (arbitrarily) high-order meshes and finite element spaces . The numerical results from the example codes can be visualized using the GLVis or VisIt visualization tools. See the GLVis and VisIt websites for more details. Users are encouraged to submit any example codes and miniapps that they have created and would like to share. Contact a member of the libROM team to report bugs or post questions or comments . **Application (PDE)** All Diffusion Elasticity Wave Navier-Stokes Advection Euler Vlasov Maxwell Grad-div Eigenproblem **Reduced order models type** All pROM DMD **Parameterization type** All Trust region Interpolation Global Reproductive **hyper-reduction** All Hyper-reduction No hyper-reduction **Physics code** All MFEM Laghos HyPar **Optimization solver** All No optimizer Differential evolution Global pROM for Poisson problem This example code demonstrates the use of libROM and MFEM to define a reduced order model for a simple isoparametric finite element discretization of the Poisson problem $$-\\Delta u = f$$ with homogeneous Dirichlet boundary conditions. The related tutorial YouTube video can be found here . The example parameterizes the righthand side with frequency variable, $\\kappa$: $$f = \\cases{ \\displaystyle \\sin(\\kappa (x_0+x_1+x_2)) & for 3D \\cr \\displaystyle \\sin(\\kappa (x_0+x_1)) & for 2D }$$ The 2D solution contour plot for $\\kappa=\\pi$ is shown in the figure on the right to show the effect of $\\kappa$. For demonstration, we sample solutions at $\\kappa=\\pi$, $1.1\\pi$, and $1.2\\pi$. Then a ROM is build with basis size of 3, which is used to predict the solution for $\\kappa = 1.15\\pi$. The ROM is able to achieve a speedup of $7.5$ with a relative error of $6.4\\times10^{-4}$. One can follow the command line options below to reproduce the numerical results summarized in the table below: offline1 : poisson_global_rom -offline -f 1.0 -id 0 offline2 : poisson_global_rom -offline -f 1.1 -id 1 offline3 : poisson_global_rom -offline -f 1.2 -id 2 merge : poisson_global_rom -merge -ns 3 reference FOM solution : poisson_global_rom -fom -f 1.15 online : poisson_global_rom -online -f 1.15 The command line option -f defines a frequency $\\nu$ of the sinusoidal right hand side function. The relation between $\\kappa$ and the value $\\nu$ specified by -f is defined as $\\kappa = \\pi \\nu$. The table below shows the performance result for the testing case -f 1.15 . FOM solution time ROM solution time Speed-up Solution relative error 0.22 sec 0.029 sec 7.5 6.4e-4 The code that generates the numerical results above can be found in ( poisson_global_rom.cpp ) and the explanation of codes is provided in here . The poisson_global_rom.cpp is based on ex1p.cpp from MFEM with a modification on the right hand side function. Greedy pROM for Poisson problem This example code demonstrates physics-informed greedy sampling procedure of building local pROMs for the Poisson problem. $$-\\Delta u = f$$ with homogeneous Dirichlet boundary conditions. The example parameterizes the righthand side with frequency variable, $\\kappa$: $$f = \\cases{ \\displaystyle \\sin(\\kappa (x_0+x_1+x_2)) & for 3D \\cr \\displaystyle \\sin(\\kappa (x_0+x_1)) & for 2D }$$ A set of local ROMs are built for chosen parameter sample points. The parameter sample points are chosen through physics-informed greedy procedure, which is explained in detail by the tutorial YouTube video . Then the local ROMs are interpolated to build a tailored local ROM for a predictive case. Unlike the global ROM, the interpolated ROM has dimension that is the same as the individual local ROM. For example, one can follow the command line options below to reproduce the numerical results summarized in the table below: greedy step : poisson_local_rom_greedy -build_database -greedy-param-min 0.5 -greedy-param-max 3.0 -greedy-param-size 15 -greedysubsize 4 -greedyconvsize 6 -greedyrelerrortol 0.01 --mesh \"../../../dependencies/mfem/data/square-disc-nurbs.mesh\" This particular greedy step generates local pROMs at the following 8 parameter points, i.e., 0.521923, 0.743108, 1.322449, 1.754950, 2.011140, 2.281129, 2.587821, 2.950198. reference FOM solution : poisson_local_rom_greedy -fom --mesh \"../../../dependencies/mfem/data/square-disc-nurbs.mesh\" -f X.XX online : poisson_local_rom_greedy -use_database -online --mesh \"../../../dependencies/mfem/data/square-disc-nurbs.mesh\" -f X.XX You can replace X.XX with any value between 0.5 and 3.0. The table below shows the performance results for three different parameter points. X.XX FOM solution time ROM solution time Speed-up Solution relative error 1.0 0.0135 sec 2.38e-6 sec 5.7e3 9.99593e-5 2.4 0.0137 sec 2.48e-6 sec 5.5e3 0.0001269 2.8 0.0159 sec 2.92e-6 sec 5.4e3 0.00126 The code that generates the numerical results above can be found in ( poisson_local_rom_greedy.cpp ). The poisson_local_rom_greedy.cpp is based on ex1p.cpp from MFEM with a modification on the right hand side function. Global pROM for elliptic eigenproblem This example code demonstrates the use of libROM and MFEM to define a reduced order model for a finite element discretization of the eigenvalue problem $$-\\text{div}(\\kappa u) = \\lambda u$$ with homogeneous Dirichlet boundary conditions. The example parameterizes the diffusion operator on the left hand side with the amplitude, $\\alpha$: $$\\kappa(x) = \\cases{ \\displaystyle 1 + \\alpha & for $\\vert x_1 \\vert < 0.25$ and $\\vert x_2 \\vert < 0.25$ \\cr \\displaystyle 1 & otherwise }$$ The 2D solution contour plot for $\\alpha=0.5$ is shown in the figure on the right to show the effect of $\\alpha$. For demonstration, we sample solutions at $\\alpha=0$ and $1$. Then a ROM is build with basis size of 20, which is used to predict the solution for $\\alpha = 0.5$. The ROM is able to achieve a speedup of $375$ with a relative error of $6.7\\times10^{-5}$ in the first eigenvalue and $2.4 \\times 10^{-3}$ in the first eigenvector. One can follow the command line options below to reproduce the numerical results summarized in the table below: offline1 : elliptic_eigenproblem_global_rom -offline -p 2 -rs 2 -id 0 -a 0 -n 4 offline2 : elliptic_eigenproblem_global_rom -offline -p 2 -rs 2 -id 1 -a 1 -n 4 merge : elliptic_eigenproblem_global_rom -p 2 -rs 2 -ns 2 -n 4 reference FOM solution : elliptic_eigenproblem_global_rom -fom -p 2 -rs 2 -a 0.5 -n 4 online : elliptic_eigenproblem_global_rom -online -p 2 -rs 2 -a 0.5 -ef 1.0 -n 4 The command line option -a defines the amplitude of the conductivity $\\alpha$ in the contrast region of the diffusion operator on left hand side. The table below shows the performance result for the testing case -a 0.5 . FOM solution time ROM solution time Speed-up First eigenvalue relative error First eigenvector relative error 1.2e-1 sec 3.2e-4 sec 375 6.7e-5 2.4e-3 The code that generates the numerical results above can be found in ( elliptic_eigenproblem_global_rom.cpp ). The elliptic_eigenproblem_global_rom.cpp is based on ex11p.cpp from MFEM with a modification on the differential operator on the left hand side. DMD for heat conduction For a given initial condition, i.e., $u_0(x) = u(0,x)$, heat conduction solves a simple 2D/3D time dependent nonlinear heat conduction problem $$\\frac{\\partial u}{\\partial t} = \\nabla\\cdot (\\kappa + \\alpha u)\\nabla u,$$ with a natural insulating boundary condition $\\frac{du}{dn}=0$. We linearize the problem by using the temperature field $u$ from the previous time step to compute the conductivity coefficient. One can run the following command line options to reproduce the DMD results summarized in the table below: heat_conduction -s 3 -a 0.5 -k 0.5 -o 4 -tf 0.7 -vs 1 -visit FOM solution time DMD setup time DMD query time DMD relative error 4.8 sec 0.34 sec 1.4e-3 sec 8.2e-4 The code that generates the numerical results above can be found in ( heat_conduction.cpp ). The heat_conduction.cpp is based on ex16p.cpp from MFEM. Parametric DMD for heat conduction This example demonstrates the parametric DMD on the heat conduction problem . The initial condition, $u_0(x)$, is parameterized by the center of circle and the radius, i.e., $$u_0(x) = \\cases{ \\displaystyle 2 & for $|x-c| < r$ \\cr \\displaystyle 1 & for $|x-c| \\ge r$ }$$ One can run the following command line options to reproduce the parametric DMD results summarized in the table below: rm -rf parameters.txt parametric_heat_conduction -r 0.1 -cx 0.1 -cy 0.1 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.1 -cx 0.1 -cy 0.5 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.1 -cx 0.5 -cy 0.1 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.1 -cx 0.5 -cy 0.5 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.5 -cx 0.1 -cy 0.1 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.25 -cx 0.2 -cy 0.4 -o 4 -visit -online -predict parametric_heat_conduction -r 0.4 -cx 0.2 -cy 0.3 -o 4 -visit -online -predict where r, cx, and cy specify the radius, the x and y coordinates of circular initial conditions. r cx cy FOM solution time DMD setup time DMD query time DMD relative error 0.25 0.2 0.4 13.3 sec 0.34 sec 1.2 sec 7.0e-3 0.2 0.4 0.2 13.8 sec 0.32 sec 1.2 sec 3.9e-3 0.3 0.3 0.3 13.6 sec 0.33 sec 1.1 sec 1.3e-2 0.3 0.4 0.2 14.1 sec 0.34 sec 1.3 sec 8.4e-3 0.2 0.3 0.4 14.2 sec 0.34 sec 1.3 sec 7.9e-3 0.4 0.2 0.3 13.9 sec 0.36 sec 1.5 sec 9.0e-3 The code that generates the numerical results above can be found in ( parametric_heat_conduction.cpp ). The parametric_heat_conduction.cpp is based on ex16p.cpp from MFEM. Optimal control for heat conduction with DMD and differential evolution This example demonstrates the optimal control heat conduction problem with greedy parametric DMD and differential evolution. The initial condition, $u_0(x)$, is parameterized by the center of circle and the radius, i.e., $$u_0(x) = \\cases{ \\displaystyle 2 & for $|x-c| < r$ \\cr \\displaystyle 1 & for $|x-c| \\ge r$ }$$ The goal of the optimal control problem is to find an initial condition that achieves the target last time step temperature distribution. If it does not achieve the target, then it should be closest, given the initial condition parameterization. It is formulated mathematically as an optimization problem: $$ \\underset{c,r}{minimize} \\ || u_T(c,r) - u_{target} ||_2^2,$$ where $u_T$ denotes the last time step temperature and $u_{target}$ denotes the target temperature. Note that $u_T$ depends on the initial condition parameters, i.e., $c$ and $r$. It means that we obtain $u_T$ by solving a forward heat conduction problem. As you can imagine, it needs to explore the parameter space and try to find $c$ and $r$ that produces $u_T$ that best matches $u_{target}$. If each solution process of heat conduction problem is computationally expensive, the search for the optimal parameter can take a while. Therefore, we use our parametric DMD to expedite the process and the search algorithm is done by the differential evolution . Here are the steps to solve the optimal control problem. First, you must delete any post-processed files from the previous differential evolution run. For example, rm -rf parameters.txt rm -rf de_parametric_heat_conduction_greedy_* Then create parametric DMD using a greedy approach with physics-informed error indicator: de_parametric_heat_conduction_greedy -build_database -rdim 16 -greedy-param-size 20 -greedysubsize 10 -greedyconvsize 15 -greedyreldifftol 0.0001 Then you can generate target temperature field with a specific $r$ and $c$ values. Here we used $r=0.2$, $cx=0.2$, and $cy=0.2$ to generate a target temperature field. The target temperature field is shown in the picture above (the one on the left). Therefore, if DMD is good enough, the differential evolution should be able to find $c$ and $r$ values that are closed to these: de_parametric_heat_conduction_greedy -r 0.2 -cx 0.2 -cy 0.2 -visit (Compute target FOM) where r, cx, and cy specify the radius, the x and y coordinates of circular initial conditions. Now you can run the differential evolution using the parametric DMD: de_parametric_heat_conduction_greedy -r 0.2 -cx 0.2 -cy 0.2 -visit -de -de_f 0.9 -de_cr 0.9 -de_ps 50 -de_min_iter 10 -de_max_iter 100 -de_ct 0.001 (Run interpolative differential evolution to see if target FOM can be matched) The differential evolution should be able to find the following optimal control parameters, e.g., in Quartz: $r=0.2002090156652667$, $cx=0.2000936529076073$, and $cy=0.2316380936755735$, which are close to the true parameters that were used to generate the targer temperature field. The DMD temperature field at the last time step on this control parameters is shown in the picture above (the one on the right). The code that generates the numerical results above can be found in ( de_parametric_heat_conduction_greedy.cpp ). The de_parametric_heat_conduction_greedy.cpp is based on ex16p.cpp from MFEM. DMDc for heat conduction For a given initial condition, i.e., $u_0(x) = u(0,x)$, heat conduction_dmdc solves a simple 2D time dependent nonlinear heat conduction problem $$\\frac{\\partial u}{\\partial t} = \\nabla\\cdot (\\kappa + \\alpha u)\\nabla u + f,$$ with a natural insulating boundary condition $\\frac{du}{dn}=0$ and an external inlet-outlet source $$ f(x,t) = A_{+}(t) \\exp\\left(\\dfrac{-| x - x_{+} |^2}{2}\\right) - A_{-}(t) \\exp\\left(\\dfrac{-| x - x_{-} |^2}{2}\\right)), $$ where the source locations are $x_+ = (0, 0)$ and $x_- = (0.5, 0.5)$. The amplitude $A_+$ and $A_-$ are regarded as control variables. We linearize the problem by using the temperature field $u$ from the previous time step to compute the conductivity coefficient. One can run the following command line options to reproduce the DMDc results summarized in the table below: heat_conduction_dmdc -s 1 -a 0.0 -k 1.0 -rs 4 FOM solution time DMD setup time DMD query time DMD relative error 16.8 sec 5.2e-1 sec 1.2e-2 sec 2.4e-4 The code that generates the numerical results above can be found in ( heat_conduction_dmdc.cpp ). The heat_conduction_dmdc.cpp is based on ex16p.cpp from MFEM. pROM for mixed nonlinear diffusion For a given initial condition, i.e., $p_0(x) = p(0,x)$, mixed nonlinear diffusion problem solves a simple 2D/3D time dependent nonlinear problem: $$\\frac{\\partial p}{\\partial t} + \\nabla\\cdot \\boldsymbol{v} = f\\,, \\qquad \\nabla p = -a(p)\\boldsymbol{v},$$ with a natural insulating boundary condition $\\frac{\\partial v}{\\partial n}=0$. The $H(div)$-conforming Raviart-Thomas finite element space is used for the velocity function $\\boldsymbol{v}$, and the $L^2$ finite element space is used for pressure function, $p$. This example introduces how the hyper-reduction is implemented and how the reduced bases for two field varibles, $p$ and $\\boldsymbol{v}$. One can run the following command line options to reproduce the pROM results summarized in the table below: offline1 : mixed_nonlinear_diffusion -p 1 -offline -id 0 -sh 0.25 offline2 : mixed_nonlinear_diffusion -p 1 -offline -id 1 -sh 0.15 merge : mixed_nonlinear_diffusion -p 1 -merge -ns 2 reference FOM solution : mixed_nonlinear_diffusion -p 1 -offline -id 2 -sh 0.2 online (DEIM) : mixed_nonlinear_diffusion -p 1 -online -rrdim 8 -rwdim 8 -sh 0.2 -id 2 online (S-OPT) : mixed_nonlinear_diffusion -p 1 -online -rrdim 8 -rwdim 8 -sh 0.2 -id 2 -sopt online (EQP) : mixed_nonlinear_diffusion -p 1 -online -rrdim 8 -rwdim 8 -ns 2 -sh 0.2 -id 2 -eqp -maxnnls 30 FOM solution time Hyper-reduction ROM solution time Speed-up Solution relative error 68.59 sec DEIM/S-OPT 3.6 sec 19.1 1.6e-3 EQP 0.38 sec 180.5 1.8e-3 The code that generates the numerical results above can be found in ( mixed_nonlinear_diffusion.cpp ). The mixed_nonlinear_diffusion.cpp is based on ex16p.cpp from MFEM and modified to support mixed finite element approach. DMD for linear advection with discontinuous pulses For a given initial condition, i.e., $u(0,x) = u_0(x)$, 1D linear advection of the form $$\\frac{\\partial u}{\\partial t} + c\\frac{\\partial x}{\\partial t} = 0,$$ where $c$ is advection velocity. The initial condition, $u_0(x)$, is given by $$u_0(x) = \\cases{ \\displaystyle \\exp\\left (-\\log(2)\\frac{(x+7)^2}{0.0009}\\right ) & for $-0.8 \\le x \\le -0.6$ \\cr \\displaystyle 1 & for $-0.4 \\le x \\le -0.2$ \\cr \\displaystyle 1-|10(x-0.1)| & for $0 \\le x \\le -0.2$ \\cr \\displaystyle \\sqrt{1-100(x-0.5)^2} & for $0.4 \\le x \\le 0.6$ \\cr \\displaystyle 0 & \\text{otherwise} }$$ The DMD is applied to accelerate the advection simulation: FOM solution time DMD setup time DMD query time 3.85 sec 0.18 sec 0.027 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 1D Linear Advection-Discontinuous Waves. DMD for wave equation For a given initial condition, i.e., $u(0,x) = u_0(x)$, and the initial rate, i.e. $\\frac{\\partial u}{\\partial t}(0,x) = v_0(x)$, wave equation solves the time-dependent hyperbolic problem: $$\\frac{\\partial^2 u}{\\partial t^2} - c^2 \\Delta u = 0,$$ where $c$ is a given wave speed. The boundary conditions are either Dirichlet or Neumann. One can run the following command line options to reproduce the DMD results summarized in the table below: wave_equation -o 4 -tf 5 -nwinsamp 25 FOM solution time DMD setup time DMD query time DMD relative error 3.1 sec 6.9e-1 sec 2.5e-3 sec 3.0e-5 The code that generates the numerical results above can be found in ( wave_equation.cpp ). The wave_equation.cpp is based on ex23.cpp from MFEM. DMD for advection For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG advection solves the time-dependent advection problem: $$\\frac{\\partial u}{\\partial t} + v\\cdot\\nabla u = 0,$$ where $v$ is a given advection velocity. We choose velocity function so that the dynamics form a spiral advection. One can run the following command line options to reproduce the DMD results summarized in the table below: dg_advection -p 3 -rp 1 -dt 0.005 -tf 4 FOM solution time DMD setup time DMD query time DMD relative error 5.2 sec 30.6 sec 1.9e-2 sec 1.9e-4 The code that generates the numerical results above can be found in ( dg_advection.cpp ). The dg_advection.cpp is based on ex9p.cpp from MFEM. Optimal control for advection with DMD and differential evolution This example demonstrates optimal control for advection with the greedy parametric DMD and differential evolution. The initial condition, $u_0(x)$, is parameterized by the wavenumber $f$, so that $$ u_0(x,y) = \\sin(f \\cdot x) sin(f \\cdot y). $$ The goal of the optimal control problem is to find an initial condition that achieves the target last time step solution. If it does not achieve the target, then it should be closest, given the initial condition parameterization. It is formulated mathematically as an optimization problem: $$ \\underset{f}{minimize} \\ || u_T(f) - u_{target} ||_2^2,$$ where $u_T$ denotes the last time step solution and $u_{target}$ denotes the target solution. Note that $u_T$ depends on the initial condition parameter, $f$. It means that we obtain $u_T$ by solving a forward advection problem. In order to do so, it must explore the parameter space and try to find the $f$ that produces a $u_T$ that best matches $u_{target}$. If each advection simulation is computationally expensive, the search for the optimal parameter can take a very long time. Therefore, we use our parametric DMD to expedite the process and the search algorithm is done by differential evolution . Here are the steps to solve the optimal control problem. First, create a directory within which you will run the example, such as mkdir de_advection_greedy && cd de_advection_greedy Then create the parametric DMD using a greedy approach with a physics-informed error indicator: mpirun -n 8 ../de_dg_advection_greedy -p 3 -rp 1 -dt 0.005 -tf 1.0 -build_database -rdim 16 -greedyreldifftol 0.00000001 -greedy-param-f-factor-max 2. -greedy-param-f-factor-min 1. -greedy-param-size 20 -greedysubsize 5 -greedyconvsize 8 Now, generate the target solution with a specific $f$. Here we use $f = 1.6$. mpirun -n 8 ../de_dg_advection_greedy -p 3 -rp 1 -dt 0.005 -tf 1.0 -run_dmd -ff 1.6 -visit Finally, run the differential evolution using the parametric DMD as: srun -n8 -ppdebug greedy_advection -p 3 -rp 1 -dt 0.005 -tf 1.0 -de -ff 1.6 -de_min_ff 1.0 -de_max_ff 2.0 -de_f 0.9 -de_cr 0.9 -de_ps 50 -de_min_iter 1 -de_max_iter 100 -de_ct 0.001 The differential evolution should be able to find the following optimal control parameters, e.g., in Quartz: $f = 1.597618121565086$, which is very close to the true parameter that was used to generate the targer solution. The images above show the the target solution on the left, and the DMD solution at the differential evolution optimal parameter on the right. The code that generates the numerical results above can be found in ( de_dg_advection_greedy.cpp ). The de_dg_advection_greedy.cpp is based on ex9p.cpp from MFEM. Global pROM for advection For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG advection solves the time-dependent advection problem: $$\\frac{\\partial u}{\\partial t} + v\\cdot\\nabla u = 0,$$ where $v$ is a given advection velocity. We choose velocity function so that the dynamics form a spiral advection. One can run the following command line options to reproduce the pROM results summarized in the table below: offline1 : dg_advection_global_rom -offline -ff 1.0 -id 0 offline2 : dg_advection_global_rom -offline -ff 1.1 -id 1 offline3 : dg_advection_global_rom -offline -ff 1.2 -id 2 merge : dg_advection_global_rom -merge -ns 3 reference FOM solution : dg_advection_global_rom -fom -ff 1.15 online : dg_advection_global_rom -online -ff 1.15 FOM solution time pROM solution time pROM speed-up pROM relative error 1.49 sec 3.75e-3 sec 397.3 4.33e-4 The code that generates the numerical results above can be found in ( dg_advection_global_rom.cpp ). The dg_advection_global_rom.cpp is based on ex9p.cpp from MFEM. Local pROM for advection For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG advection solves the time-dependent advection problem: $$\\frac{\\partial u}{\\partial t} + v\\cdot\\nabla u = 0,$$ where $v$ is a given advection velocity. We choose velocity function so that the dynamics form a spiral advection. This example illustrates how a parametric pROM can be built through local ROM interpolation techniques. The following sequence of command lines will let you build such a parametric pROM, where the frequency of sinusoidal initial condition function is used as a parameter (its value is passed by a user through -ff command line option). Two local pROMs are constructed through -offline option with parameter values of 1.02 and 1.08, then the local pROM operators are interpolated to build a tailored local pROM at the frequency value of 1.05. Unlike the global ROM, the interpolated pROM has dimension that is the same as the individual pROM, i.e., 40 for this particular problem. rm -rf frequencies.txt dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -offline -rs 4 -ff 1.02 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -interp_prep -rs 4 -ff 1.02 -rdim 40 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -offline -rs 4 -ff 1.08 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -interp_prep -rs 4 -ff 1.08 -rdim 40 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -fom -rs 4 -ff 1.05 -visit dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -online_interp -rs 4 -ff 1.05 -rdim 40 FOM solution time pROM solution time pROM speed-up pROM relative error 39.38 sec 0.63 sec 62.5 1.19e-2 The code that generates the numerical results above can be found in ( dg_advection_local_rom_matrix_interp.cpp ). The dg_advection_local_rom_matrix_interp.cpp is based on ex9p.cpp from MFEM. Global pROM for Grad-div Problem This example code demonstrates the use of libROM and MFEM to define a reduced order model for a simple 2D/3D $H (\\text{div})$ diffusion problem corresponding to the second order definite equation $$- {\\rm grad} (\\alpha\\ {\\rm div} (F)) + \\beta F = f$$ with boundary condition $F \\cdot n = $ \"given normal field.\" The right-hand side $f$ is first calculated from the given exact solution $F$. We then try to reconstruct the true solution $F$ assuming only the right-hand side function $f$ is known. In 2D, the exact solution $F$ is defined as $$ F(x,y) = (\\cos(\\kappa x) \\sin(\\kappa y), \\cos(\\kappa y) \\sin(\\kappa x)) $$ where $\\kappa$ is a parameter controlling the frequency. The 2D solution contour plot for $\\kappa=1.15 \\pi$ is shown in the figure on the right to show the effect of $\\kappa$. For demonstration, we sample solutions at $\\kappa=\\pi$, $1.05\\pi$, $1.1 \\pi$, $1.2 \\pi$, $1.25\\pi$ and $1.3\\pi$. Then a ROM is built with basis size of 6, which is used to predict the solution for $\\kappa = 1.15\\pi$. The ROM is able to achieve a speedup of $2.95\\times10^5$ with a relative error of $4.98\\times10^{-8}$. One can follow the command line options below to reproduce the numerical results summarized in the table below: offline1 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.0 -id 0 offline2 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.05 -id 1 offline3 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.1 -id 2 offline4 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.2 -id 3 offline5 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.25 -id 4 offline6 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.30 -id 5 merge : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -merge -ns 6 reference FOM solution : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -fom -f 1.15 online : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -online -f 1.15 -visit The command line option -f defines the frequency of the sinusoidal right hand side function. The relation between $\\kappa$ and f is defined as $\\kappa = \\pi f$. FOM solution time ROM solution time Speed-up Solution relative error 2.57e-1 sec 8.75e-7 sec 2.94e5 4.98426e-8 The code that generates the numerical results above can be found in ( grad_div_global_rom.cpp ). The grad_div_global_rom.cpp is based on ex4p.cpp from MFEM. DMD for sod shock tube 1D Euler equations of the form $$ \\frac{\\partial \\rho}{\\partial t} + \\frac{\\partial \\rho u}{\\partial x} = 0$$ $$ \\frac{\\partial \\rho u}{\\partial t} + \\frac{\\partial \\rho u^2 + p}{\\partial x} = 0$$ $$ \\frac{\\partial e}{\\partial t} + \\frac{\\partial (e+p)u}{\\partial x} = 0$$ is solved with the initial condition given by $$ \\rho = 1, u = 0, p = 1 \\text{ for } 0 \\le x < 0.5$$ $$ \\rho = 0.125, u = 0, p = 0.1 \\text{ for } 0.5 \\le x \\le 1$$. The DMD is applied to accelerate the 1D Sod shock tube simulation: FOM solution time DMD setup time DMD query time 0.86 sec 0.13 sec 0.0027 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 1D Sod Shock Tube. DMD for isentropic vortex convection 2D Compressible Euler equations of the form $$ \\frac{\\partial \\rho}{\\partial t} + \\frac{\\partial \\rho u}{\\partial x} + \\frac{\\partial \\rho v}{\\partial y}= 0$$ $$ \\frac{\\partial \\rho u}{\\partial t} + \\frac{\\partial \\rho u^2 + p}{\\partial x} + \\frac{\\partial \\rho uv}{\\partial y} = 0$$ $$ \\frac{\\partial \\rho v}{\\partial t} + \\frac{\\partial \\rho uv}{\\partial x} + \\frac{\\partial \\rho v^2 + p}{\\partial y} = 0$$ $$ \\frac{\\partial e}{\\partial t} + \\frac{\\partial (e+p)u}{\\partial x} + \\frac{\\partial (e+v)p}{\\partial y} = 0$$ is solved with the free-stream condition given by $$ \\rho_\\infty = 1, u_\\infty = 0.1, v_\\infty = 0, p_\\infty = 1 $$ and a vortex is introduced by $$ \\rho = \\left ( 1-\\frac{(\\gamma-1)b^2}{8\\gamma \\pi^2} e^{1-r^2} \\right )^{\\frac{1}{r-1}}, p = \\rho^\\gamma$$ $$ u = u_\\infty - \\frac{b}{2\\pi} e^{\\frac{1}{2}(1-r^2)}(y-y_c)$$ $$ v = v_\\infty + \\frac{b}{2\\pi} e^{\\frac{1}{2}(1-r^2)}(x-x_c),$$ where $b=0.5$ is the vortex strength and $r = \\left ( (x-x_c)^2 + (y-y_c)^2 \\right )^{\\frac{1}{2}}$ is the distance from the vortex center $(x_c,y_c) = (5,5)$. The DMD is applied to accelerate the vortex convection simulation: FOM solution time DMD setup time DMD query time 5.85 sec 5.25 sec 0.28 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D Euler Equations - Isentropic Vortex Convection. DMD for Riemann problem 2D Compressible Euler equations of the form $$ \\frac{\\partial \\rho}{\\partial t} + \\frac{\\partial \\rho u}{\\partial x} + \\frac{\\partial \\rho v}{\\partial y}= 0$$ $$ \\frac{\\partial \\rho u}{\\partial t} + \\frac{\\partial \\rho u^2 + p}{\\partial x} + \\frac{\\partial \\rho uv}{\\partial y} = 0$$ $$ \\frac{\\partial \\rho v}{\\partial t} + \\frac{\\partial \\rho uv}{\\partial x} + \\frac{\\partial \\rho v^2 + p}{\\partial y} = 0$$ $$ \\frac{\\partial e}{\\partial t} + \\frac{\\partial (e+p)u}{\\partial x} + \\frac{\\partial (e+v)p}{\\partial y} = 0$$ is solved. The DMD is applied to accelerate the Riemann problem: FOM solution time DMD setup time DMD query time 111.1 sec 17.6 sec 1.4 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D Euler Equations - Riemann Problem Case 4 DMD for Euler equation For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG Euler solves the compressible Euler system of equation, i.e., a model nonlinear hyperbolic PDE: $$\\frac{\\partial u}{\\partial t} + \\nabla\\cdot \\boldsymbol{F}(u) = 0,$$ with a state vector $\\boldsymbol{u} = [\\rho,\\rho v_0, \\rho v_1, \\rho E]$, where $\\rho$ is the density, $v_i$ is the velocity in the $i$th direction, $E$ is the total specific energy, and $H = E + p/\\rho$ is the total specific enthalpy. The pressure, $p$ is computed through a simple equation of state (EOS) call. The conservative hydrodynamic flux $\\boldsymbol{F}$ in each direction $i$ is $$\\boldsymbol{F}_i = [\\rho v_i, \\rho v_0 v_i + p \\delta_{i,0}, \\rho v_1 v_{i,1} + p\\delta_{i,1}, \\rho v_i H]$$ One can run the following command line options to reproduce the DMD results summarized in the table below: dg_euler -p 2 -rs 2 -rp 1 -o 1 -s 3 -visit DMD rel.error FOM solution time DMD setup time DMD query time $\\rho$ $\\rho v_0$ $\\rho v_1$ $E$ 5.65 sec 38.9 sec 1.4e-3 sec 8.0e-7 1.2e-4 1.6e-3 2.6e-6 The code that generates the numerical results above can be found in ( dg_euler.cpp ). The dg_euler.cpp is based on ex18p.cpp from MFEM. DMD for lid-driven square cavity A lid-driven square cavity problem is solved. The two references for this problem are Erturk, E., Corke, T.C., and Gokcol, C., `` Numerical Solutions of 2-D Steady Incompressible Driven Cavity Flow at High Reynolds Numbers \", International Journal for Numerical Methods in Fluids, 48, 2005 Ghia, U., Ghia, K.N., Shin, C.T., `` High-Re Solutions for Incompressible Flow using the Navier-Stokes Equations and a Multigrid Method \", Journal of Computational Physics, 48, 1982 The DMD is applied to accelerate the cavity flow simulation: FOM solution time DMD setup time DMD query time 554.6 sec 58.6 sec 0.3 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D Navier-Stokes Equations - Lid-Driven Square Cavity DMD for two-stream instability The 1D-1V Vlasov equation is solved with the initial condition given by $$ f(x,v) = \\frac{4}{\\pi T} \\left ( 1+\\frac{1}{10} cos(2k\\pi\\frac{x}{L}) \\right ) \\left ( \\exp\\left( -\\frac{(v-2)^2}{2T} \\right) + \\exp\\left( -\\frac{(v+2)^2}{2T} \\right ) \\right ), k=1, T=1, L=2\\pi. $$ The DMD is applied to accelerate the cavity flow simulation: FOM solution time DMD setup time DMD query time 11.34 sec 2.30 sec 0.34 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D (1D-1V) Vlasov Equation. Global pROM for linear elasticity This example demonstrates how to apply projection-based ROM to a linear elasticity problem. The linear elasticity problem describes a multi-material cantilever beam. Specifically, the following weak form is solved: $$-\\text{div}(\\sigma(\\boldsymbol{u})) = 0$$ where $$\\sigma(\\boldsymbol{u}) = \\lambda \\text{div}(\\boldsymbol{u}) \\boldsymbol{I} + \\mu (\\nabla \\boldsymbol{u} + \\nabla \\boldsymbol{u}^T)$$ is the stress tensor corresponding to displacement field $\\boldsymbol{u}$, and $\\lambda$ and $\\mu$ are the material Lame constants. The Lame constants are related to Young's modulus ($E$) and Poisson's ratio ($\\nu$) as $$\\lambda = \\frac{E\\nu}{(1+\\nu)(1-2\\nu)}$$ $$\\mu = \\frac{E}{2(1+\\nu)}$$ The boundary condition are $\\boldsymbol{u}=\\boldsymbol{0}$ on the fixed part of the boundary with attribute 1, and $\\sigma(\\boldsymbol{u})\\cdot n = f$ on the remainder with f being a constant pull down vector on boundary elements with attribute 2, and zero otherwise. The geometry of the domain is assumed to be as follows: Three distinct steps are required, i.e., offline, merge, and online steps, to build global ROM for the linear elasticity problem. The general description of building a global ROM is explained in this YouTube tutorial video . We parameterized Poisson's ratio ($\\nu$) from 0.2 to 0.4. One can run the following command line options to reproduce the pROM results summarized in the table below: offline1 : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -offline -id 0 -nu 0.2 offline2 : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -offline -id 1 -nu 0.4 merge : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -merge -ns 2 reference FOM solution : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -offline -id 2 -nu 0.XX online : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -online -id 3 -nu 0.XX You can replace 0.XX with any value between 0.2 and 0.5. It must be strictly less than 0.5. Note that the global ROM is able to predict the point outside of the training region with high accuracy, i.e., $\\nu=0.45$. The table below shows the performance results for three different parameter points. Poisson's ratio ($\\nu$) FOM solution time ROM solving time Position relative error 0.25 4.96e-2 sec 3.54e-6 sec 0.00081 0.3 4.93e-2 sec 4.37e-6 sec 0.00133 0.35 5.96e-2 sec 4.60e-6 sec 0.00121 0.45 5.22e-2 sec 4.36e-6 sec 0.00321 The code that generates the numerical results above can be found in ( linear_elasticity_global_rom.cpp ). The linear_elasticity_global_rom.cpp is based on ex2p.cpp from MFEM. Global pROM for nonlinear elasticity For a given initial condition, i.e., $v_0(x) = v(0,x)$, nonlinear elasticity solves a time dependent nonlinear elasticity problem of the form $$\\frac{\\partial v}{\\partial t} = H(x) + Sv\\,, \\qquad \\frac{\\partial x}{\\partial t} = v,$$ where $H$ is a hyperelastic model and $S$ is a viscosity operator of Laplacian type. The initial displacement is set zero and the initial velocity is set as zero except the third component which is defined: $$v_3(0,x) = -\\frac{\\mu}{80}\\sin(\\mu x_1)$$ One can run the following command line options to build global ROM and reproduce the results summarizedin the table below. You can replace XXX in the fom and online phase to take any $\\mu$ value between 3.9 and 4.1: offline1 : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --offline -dt 0.01 -tf 5.0 -s 14 -vs 10 -sc 3.9 -id 0 offline2 : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --offline -dt 0.01 -tf 5.0 -s 14 -vs 10 -sc 4.1 -id 1 merge : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --merge -ns 2 -dt 0.01 -tf 5.0 reference FOM solution : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --offline -dt 0.01 -tf 5.0 -s 14 -vs 5 -sc XXX -id 2 online : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --online -dt 0.01 -tf 5.0 -s 14 -vs 5 -hyp -rvdim 40 -rxdim 10 -hdim 71 -nsr 200 -sc XXX $\\mu$ FOM solution time pROM online time Speed-up Position relative error 3.92 164.9 sec 20.5 sec 8.0 0.0053 3.94 169.2 sec 20.8 sec 8.1 0.0053 3.96 167.8 sec 20.9 sec 8.0 0.0057 3.98 162.7 sec 22.1 sec 7.4 0.0062 4.0 169.4 sec 21.1 sec 8.0 0.0067 4.02 168.4 sec 20.8 sec 8.1 0.0071 4.04 160.6 sec 22.8 sec 7.0 0.0073 4.06 173.4 sec 22.7 sec 7.6 0.0071 4.08 169.2 sec 20.0 sec 8.5 0.0066 The code that generates the numerical results above can be found in ( nonlinear_elasticity_global_rom.cpp ). The nonlinear_elasticity_global_rom.cpp is based on ex10p.cpp from MFEM. DMD for nonlinear elasticity For a given initial condition, i.e., $v_0(x) = v(0,x)$, nonlinear elasticity solves a time dependent nonlinear elasticity problem of the form $$\\frac{\\partial v}{\\partial t} = H(x) + Sv\\,, \\qquad \\frac{\\partial x}{\\partial t} = v,$$ where $H$ is a hyperelastic model and $S$ is a viscosity operator of Laplacian type. One can run the following command line options to reproduce the DMD results summarized in the table below: nonlinear_elasticity -s 2 -rs 1 -dt 0.01 -tf 5 -visit FOM solution time DMD setup time DMD query time Position relative error Velocity relative error 10.4 sec 2.9e-1 sec 1.1 sec 7.0e-5 1.4e-3 The code that generates the numerical results above can be found in ( nonlinear_elasticity.cpp ). The nonlinear_elasticity.cpp is based on ex10p.cpp from MFEM. Global pROM for Lagrangian hydrodynamics Laghos (LAGrangian High-Order Solver) is a miniapp that solves the time-dependent Euler equations of compressible gas dynamics in a moving Lagrangian frame using unstructured high-order finite element spatial discretization and explicit high-order time-stepping. LaghosROM introduces reduced order models of Laghos simulations. A list of example problems that you can solve with LaghosROM includes Sedov blast, Gresho vortex, Taylor-Green vortex, triple-point, and Rayleigh-Taylor instability problems. Below are command line options for each problems and some numerical results. For each problem, four different phases need to be taken, i.e., the offline, hyper-reduction preprocessing, online, and restore phase. The online phase runs necessary full order model (FOM) to generate simulation data. libROM dynamically collects the data as the FOM simulation marches in time domain. In the hyper-reduction preprocessing phase, the libROM builds a library of reduced basis as well as hyper-reduction operators. The online phase runs the ROM and the restore phase projects the ROM solutions to the full order model dimension. Sedov blast problem Sedov blast problem is a three-dimensional standard shock hydrodynamic benchmark test. An initial delta source of internal energy deposited at the origin of a three-dimensional cube is considered. The computational domain is the unit cube $\\tilde{\\Omega} = [0,1]^3$ with wall boundary conditions on all surfaces, i.e., $v\\cdot n = 0$. The initial velocity is given by $v=0$. The initial density is given by $\\rho = 1$. The initial energy is given by a delta function at the origin. The adiabatic index in the ideal gas equations of state is set $\\gamma = 1.4$. The initial mesh is a uniform Catesian hexahedral mesh, which deforms over time. It can be seen that the radial symmetry is maintained in the shock wave propagation in both FOM and pROM simulations. One can reproduce the pROM numerical result, following the command line options described below: offline : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -offline -visit -romsvds -ef 0.9999 -writesol -romos -rostype load -romsns -nwinsamp 21 -sample-stages hyper-reduction preprocessing : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -online -romsvds -romos -rostype load -romhrprep -romsns -romgs -nwin 66 -sfacv 2 -sface 2 (-sopt) online : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -online -romsvds -romos -rostype load -romhr -romsns -romgs -nwin 66 -sfacv 2 -sface 2 restore : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -restore -soldiff -romsvds -romos -rostype load -romsns -romgs -nwin 66 FOM solution time ROM solution time Speed-up Velocity relative error (DEIM) Velocity relative error (SOPT) 191 sec 8.3 sec 22.8 2.2e-4 1.1e-4 One can also easily apply time-windowing DMD to Sedov blast problem easily. First, prepare tw_sedov3.csv file, which contains a sequence of time steps, {0.01, 0.02, $\\ldots$, 0.79, 0.8 } in a column. Then you can follow the command line options described below: offline : laghos -o dmd_sedov -p 4 -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -offline -visit -romsvds -ef 0.9999 -writesol -nwin 80 -tw tw_sedov3.csv -dmd -dmdnuf -met -no-romoffset online : laghos -o dmd_sedov -p 4 -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -restore -soldiff -romsvds -dmd -dmdnuf -no-romoffset FOM solution time DMD restoration time Speed-up Velocity relative error 30.4 sec 15.0. sec 2.0 0.0382461 Gresho vortex problem Gresho vortex problem is a two-dimensional benchmark test for the incompressible inviscid Navier-Stokes equations. The computational domain is the unit square $\\tilde\\Omega = [-0.5,0.5]^2$ with wall boundary conditions on all surfaces, i.e., $v\\dot n = 0$. Let $(r,\\phi)$ denote the polar coordinates of a particle $\\tilde{x} \\in \\tilde{\\Omega}$. The initial angular velocity is given by $$v_\\phi = \\cases{ \\displaystyle 5r & for 0 $\\leq$ r < 0.2 \\cr \\displaystyle 2-5r & for 0.2 $\\leq$ r < 0.4 \\cr \\displaystyle 0 i & for r $\\geq$ 0.4. }$$ The initial density if given by $\\rho=1$. The initial thermodynamic pressure is given by $$p = \\cases{ 5 + \\frac{25}{2} r^2 & for 0 $\\leq$ r < 0.2 \\cr 9 - 4 \\log(0.2) + \\frac{25}{2} - 20r + 4 \\log(r) & for 0.2 $\\leq$ r < 0.4 \\cr 3 + 4\\log(2) & for r $\\geq$ 0.4 }$$ offline : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -visit -writesol -offline -ef 0.9999 -romsvds -romos -rostype load -romsns -nwinsamp 21 -sample-stages hyper-reduction preprocessing : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -online -romhrprep -romsvds -romos -rostype load -romsns -romgs -nwin 152 -sfacv 2 -sface 2 online : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -online -romhr -romsvds -romos -rostype load -romsns -romgs -nwin 152 -sfacv 2 -sface 2 restore : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -soldiff -restore -romsvds -romos -rostype load -romsns -romgs -nwin 152 FOM solution time ROM solution time Speed-up Velocity relative error 218 sec 8.4 sec 25.9 2.1e-4 Taylor-Green vortex Taylor-Green vortex problem is a three-dimensional benchmark test for the incompressible Navier-Stokes equasions. A manufactured smooth solution is considered by extending the steady state Taylor-Green vortex solution to the compressible Euler equations. The computational domain is the unit cube $\\tilde{\\Omega}=[0,1]^3$ with wall boundary conditions on all surfaces, i.e., $v\\cdot n = 0$. The initial velocity is given by $$ v = (\\sin{(\\pi x)} \\cos{(\\pi y)} \\cos{(\\pi z)}, -\\cos{(\\pi x)}\\sin{(\\pi y)}\\cos{(\\pi z)}, 0) $$ The initial density is given by $\\rho =1$. The initial thermodynamic pressure is given by $$ p = 100 + \\frac{(\\cos{(2\\pi x)} + \\cos{(2\\pi y))(\\cos{(2\\pi z)+2})-2}}{16} $$ The initial energy is related to the pressure and the density by the equation of state for the ideal gas, $p=(\\gamma-1)\\rho e$, with $\\gamma = 5/3$. The initial mesh is a uniform Cartesian hexahedral mesh, which deforms over time. The visualized solution is given on the right. One can reproduce the numerical result, following the command line options described below: offline : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -offline -visit -romsvds -ef 0.9999 -writesol -romos -rostype load -romsns -nwinsamp 21 -sdim 1000 -sample-stages hyper-reduction preprocessing : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -online -romsvds -romos -rostype load -romhrprep -romsns -romgs -nwin 82 -sfacv 2 -sface 2 online : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -online -romsvds -romos -rostype load -romhr -romsns -romgs -nwin 82 -sfacv 2 -sface 2 restore : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -restore -soldiff -romsvds -romos -rostype load -romsns -romgs -nwin 82 FOM solution time ROM solution time Speed-up Velocity relative error 170 sec 5.4 sec 31.2 1.1e-6 Triple-point problem Triple-point problem is a three-dimensional shock test with two materials in three states. The computational domain is $\\tilde{\\Omega} = [0,7] \\times [0,3 ] \\times [0,1.5]$ with wall boundary conditions on all surfaces, i.e., $v\\cdot n = 0$. The initial velocity is given by $v=0$. The initial density is given by $$\\rho = \\cases{ \\displaystyle 1 & for x $\\leq$ 1 or y $\\leq$ 1.5, \\cr \\displaystyle 1/8 & for x $>$ 1 and y $>$ 1.5 }$$ The initial thermodynamic pressure is given for $$p = \\cases{ \\displaystyle 1 & for x $\\leq$ 1, \\cr \\displaystyle 0.1 & for x $>$ 1 }$$ The initial energy is related to the pressure and the density by the equation of state for the ideal gas, $p=(\\gamma-1)\\rho e$, with $$\\gamma = \\cases{ \\displaystyle 1.5 & for x $\\leq$ 1 or y $>$ 1.5\\cr \\displaystyle 1.4 & for x $>$ 1 and y $\\leq$ 1.5 }$$ The initial mesh is a uniform Cartesian hexahedral mesh, which deforms over time. The visualized solution is given on the right. One can reproduce the numerical result, following the command line options described below: offline : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -offline -writesol -visit -romsvds -romos -rostype load -romsns -nwinsamp 21 -ef 0.9999 -sdim 200 -sample-stages hyper-reduction preprocessing : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -online -romhrprep -romsvds -romos -rostype load -romgs -romsns -nwin 18 -sfacv 2 -sface 2 online : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -online -romhr -romsvds -romos -rostype load -romgs -romsns -nwin 18 -sfacv 2 -sface 2 restore : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -restore -soldiff -romsvds -romos -rostype load -romgs -romsns -nwin 18 FOM solution time ROM solution time Speed-up Velocity relative error 122 sec 1.4 sec 87.8 8.1e-4 Rayleigh-Taylor instability problem Rayleigh-Taylor instability problem offline : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -writesol -offline -romsns -sdim 200000 -romsvds -romos -romgs -nwinsamp 21 -ef 0.9999999999 -sample-stages hyper-reduction preprocessing : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -online -romsns -romos -romgs -nwin 187 -sfacv 2 -sface 2 -romhrprep online : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -online -romsns -romos -romgs -nwin 187 -sfacv 2 -sface 2 -romhr restore : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -restore -romsns -romos -romgs -soldiff -nwin 187 FOM solution time ROM solution time Speed-up Velocity relative error 127 sec 8.7 sec 14.6 7.8e-3 LaghosROM is an external miniapp, available at https://github.com/CEED/Laghos/tree/rom/rom . Global pROM for Maxwell equation This example builds a projection-based reduced-order model for an electromagnetic diffusion problem corresponding to the second order definite Maxwell equation $$ \\nabla \\times \\nabla \\times \\mathbf{E} + \\mathbf{E} = \\mathbf{f}.$$ The right-hand side function $\\mathbf{f}$ is first calculated from a given exact vector field $\\mathbf{E}$. We then try to reconstruct the true solution $\\mathbf{E}$, assuming that we only know the right-hand side function $\\mathbf{f}$. In 2D, we define $\\mathbf{E}$ as $$\\mathbf{E} = (\\sin ( \\kappa x_2 ), \\sin ( \\kappa x_1 ) )^\\top, $$ and in 3D we define $$\\mathbf{E} = (\\sin ( \\kappa x_2 ), \\sin ( \\kappa x_3 ), \\sin ( \\kappa x_1 ) )^\\top. $$ Here, $\\kappa$ is a parameter which controls the frequency of the sine wave. The 2D solution contour plot for $\\kappa= 1.15$ is shown in the figure on the right. For demonstration, we sample solutions at $\\kappa=1\\pi$, $1.1\\pi$, and $1.2\\pi$. We then build the ROM with a basis size of 3, which we use to predict the solution for $\\kappa = 1.15$. The ROM is nearly $4856$ faster than the full-order model, with a relative error of $4.42\\times10^{-4}$. One can follow the command line options to reproduce the numerical results summarized in the table below: offline1 : maxwell_global_rom -offline -f 1.0 -id 0 offline2 : maxwell_global_rom -offline -f 1.1 -id 1 offline3 : maxwell_global_rom -offline -f 1.2 -id 2 merge : maxwell_global_rom -merge -ns 3 reference FOM solution : maxwell_global_rom -fom -f 1.15 online : maxwell_global_rom -online -f 1.15 The command line option -f defines the value of $\\kappa$ which controls the frequency of the sinusoidal right hand side function. FOM solution time ROM solution time Speed-up Solution relative error 4.91e-1 sec 1.01e-4 sec 4855.93 4.42e-4 The code that generates the numerical results above can be found in maxwell_global_rom.cpp . The maxwell_global_rom.cpp is based on ex3p.cpp from MFEM. No examples or miniapps match your criteria. ","title":"Examples"},{"location":"examples.html#example-applications","text":"This page provides a list of libROM example applications. For detailed documentation of the libROM sources, including the examples, see the online Doxygen documentation or the doc directory in the distribution. The goal of the example codes is to provide a step-by-step introduction to libROM in simple model settings. Select from the categories below to display examples and miniapps that contain the respective feature. All examples support (arbitrarily) high-order meshes and finite element spaces . The numerical results from the example codes can be visualized using the GLVis or VisIt visualization tools. See the GLVis and VisIt websites for more details. Users are encouraged to submit any example codes and miniapps that they have created and would like to share. Contact a member of the libROM team to report bugs or post questions or comments .","title":"Example Applications"},{"location":"examples.html#application-pde","text":"All Diffusion Elasticity Wave Navier-Stokes Advection Euler Vlasov Maxwell Grad-div Eigenproblem","title":"**Application (PDE)**"},{"location":"examples.html#reduced-order-models-type","text":"All pROM DMD","title":"**Reduced order models type**"},{"location":"examples.html#parameterization-type","text":"All Trust region Interpolation Global Reproductive","title":"**Parameterization type**"},{"location":"examples.html#hyper-reduction","text":"All Hyper-reduction No hyper-reduction","title":"**hyper-reduction**"},{"location":"examples.html#physics-code","text":"All MFEM Laghos HyPar","title":"**Physics code**"},{"location":"examples.html#optimization-solver","text":"All No optimizer Differential evolution","title":"**Optimization solver**"},{"location":"examples.html#global-prom-for-poisson-problem","text":"This example code demonstrates the use of libROM and MFEM to define a reduced order model for a simple isoparametric finite element discretization of the Poisson problem $$-\\Delta u = f$$ with homogeneous Dirichlet boundary conditions. The related tutorial YouTube video can be found here . The example parameterizes the righthand side with frequency variable, $\\kappa$: $$f = \\cases{ \\displaystyle \\sin(\\kappa (x_0+x_1+x_2)) & for 3D \\cr \\displaystyle \\sin(\\kappa (x_0+x_1)) & for 2D }$$ The 2D solution contour plot for $\\kappa=\\pi$ is shown in the figure on the right to show the effect of $\\kappa$. For demonstration, we sample solutions at $\\kappa=\\pi$, $1.1\\pi$, and $1.2\\pi$. Then a ROM is build with basis size of 3, which is used to predict the solution for $\\kappa = 1.15\\pi$. The ROM is able to achieve a speedup of $7.5$ with a relative error of $6.4\\times10^{-4}$. One can follow the command line options below to reproduce the numerical results summarized in the table below: offline1 : poisson_global_rom -offline -f 1.0 -id 0 offline2 : poisson_global_rom -offline -f 1.1 -id 1 offline3 : poisson_global_rom -offline -f 1.2 -id 2 merge : poisson_global_rom -merge -ns 3 reference FOM solution : poisson_global_rom -fom -f 1.15 online : poisson_global_rom -online -f 1.15 The command line option -f defines a frequency $\\nu$ of the sinusoidal right hand side function. The relation between $\\kappa$ and the value $\\nu$ specified by -f is defined as $\\kappa = \\pi \\nu$. The table below shows the performance result for the testing case -f 1.15 . FOM solution time ROM solution time Speed-up Solution relative error 0.22 sec 0.029 sec 7.5 6.4e-4 The code that generates the numerical results above can be found in ( poisson_global_rom.cpp ) and the explanation of codes is provided in here . The poisson_global_rom.cpp is based on ex1p.cpp from MFEM with a modification on the right hand side function.","title":"Global pROM for Poisson problem"},{"location":"examples.html#greedy-prom-for-poisson-problem","text":"This example code demonstrates physics-informed greedy sampling procedure of building local pROMs for the Poisson problem. $$-\\Delta u = f$$ with homogeneous Dirichlet boundary conditions. The example parameterizes the righthand side with frequency variable, $\\kappa$: $$f = \\cases{ \\displaystyle \\sin(\\kappa (x_0+x_1+x_2)) & for 3D \\cr \\displaystyle \\sin(\\kappa (x_0+x_1)) & for 2D }$$ A set of local ROMs are built for chosen parameter sample points. The parameter sample points are chosen through physics-informed greedy procedure, which is explained in detail by the tutorial YouTube video . Then the local ROMs are interpolated to build a tailored local ROM for a predictive case. Unlike the global ROM, the interpolated ROM has dimension that is the same as the individual local ROM. For example, one can follow the command line options below to reproduce the numerical results summarized in the table below: greedy step : poisson_local_rom_greedy -build_database -greedy-param-min 0.5 -greedy-param-max 3.0 -greedy-param-size 15 -greedysubsize 4 -greedyconvsize 6 -greedyrelerrortol 0.01 --mesh \"../../../dependencies/mfem/data/square-disc-nurbs.mesh\" This particular greedy step generates local pROMs at the following 8 parameter points, i.e., 0.521923, 0.743108, 1.322449, 1.754950, 2.011140, 2.281129, 2.587821, 2.950198. reference FOM solution : poisson_local_rom_greedy -fom --mesh \"../../../dependencies/mfem/data/square-disc-nurbs.mesh\" -f X.XX online : poisson_local_rom_greedy -use_database -online --mesh \"../../../dependencies/mfem/data/square-disc-nurbs.mesh\" -f X.XX You can replace X.XX with any value between 0.5 and 3.0. The table below shows the performance results for three different parameter points. X.XX FOM solution time ROM solution time Speed-up Solution relative error 1.0 0.0135 sec 2.38e-6 sec 5.7e3 9.99593e-5 2.4 0.0137 sec 2.48e-6 sec 5.5e3 0.0001269 2.8 0.0159 sec 2.92e-6 sec 5.4e3 0.00126 The code that generates the numerical results above can be found in ( poisson_local_rom_greedy.cpp ). The poisson_local_rom_greedy.cpp is based on ex1p.cpp from MFEM with a modification on the right hand side function.","title":"Greedy pROM for Poisson problem"},{"location":"examples.html#global-prom-for-elliptic-eigenproblem","text":"This example code demonstrates the use of libROM and MFEM to define a reduced order model for a finite element discretization of the eigenvalue problem $$-\\text{div}(\\kappa u) = \\lambda u$$ with homogeneous Dirichlet boundary conditions. The example parameterizes the diffusion operator on the left hand side with the amplitude, $\\alpha$: $$\\kappa(x) = \\cases{ \\displaystyle 1 + \\alpha & for $\\vert x_1 \\vert < 0.25$ and $\\vert x_2 \\vert < 0.25$ \\cr \\displaystyle 1 & otherwise }$$ The 2D solution contour plot for $\\alpha=0.5$ is shown in the figure on the right to show the effect of $\\alpha$. For demonstration, we sample solutions at $\\alpha=0$ and $1$. Then a ROM is build with basis size of 20, which is used to predict the solution for $\\alpha = 0.5$. The ROM is able to achieve a speedup of $375$ with a relative error of $6.7\\times10^{-5}$ in the first eigenvalue and $2.4 \\times 10^{-3}$ in the first eigenvector. One can follow the command line options below to reproduce the numerical results summarized in the table below: offline1 : elliptic_eigenproblem_global_rom -offline -p 2 -rs 2 -id 0 -a 0 -n 4 offline2 : elliptic_eigenproblem_global_rom -offline -p 2 -rs 2 -id 1 -a 1 -n 4 merge : elliptic_eigenproblem_global_rom -p 2 -rs 2 -ns 2 -n 4 reference FOM solution : elliptic_eigenproblem_global_rom -fom -p 2 -rs 2 -a 0.5 -n 4 online : elliptic_eigenproblem_global_rom -online -p 2 -rs 2 -a 0.5 -ef 1.0 -n 4 The command line option -a defines the amplitude of the conductivity $\\alpha$ in the contrast region of the diffusion operator on left hand side. The table below shows the performance result for the testing case -a 0.5 . FOM solution time ROM solution time Speed-up First eigenvalue relative error First eigenvector relative error 1.2e-1 sec 3.2e-4 sec 375 6.7e-5 2.4e-3 The code that generates the numerical results above can be found in ( elliptic_eigenproblem_global_rom.cpp ). The elliptic_eigenproblem_global_rom.cpp is based on ex11p.cpp from MFEM with a modification on the differential operator on the left hand side.","title":"Global pROM for elliptic eigenproblem"},{"location":"examples.html#dmd-for-heat-conduction","text":"For a given initial condition, i.e., $u_0(x) = u(0,x)$, heat conduction solves a simple 2D/3D time dependent nonlinear heat conduction problem $$\\frac{\\partial u}{\\partial t} = \\nabla\\cdot (\\kappa + \\alpha u)\\nabla u,$$ with a natural insulating boundary condition $\\frac{du}{dn}=0$. We linearize the problem by using the temperature field $u$ from the previous time step to compute the conductivity coefficient. One can run the following command line options to reproduce the DMD results summarized in the table below: heat_conduction -s 3 -a 0.5 -k 0.5 -o 4 -tf 0.7 -vs 1 -visit FOM solution time DMD setup time DMD query time DMD relative error 4.8 sec 0.34 sec 1.4e-3 sec 8.2e-4 The code that generates the numerical results above can be found in ( heat_conduction.cpp ). The heat_conduction.cpp is based on ex16p.cpp from MFEM.","title":"DMD for heat conduction"},{"location":"examples.html#parametric-dmd-for-heat-conduction","text":"This example demonstrates the parametric DMD on the heat conduction problem . The initial condition, $u_0(x)$, is parameterized by the center of circle and the radius, i.e., $$u_0(x) = \\cases{ \\displaystyle 2 & for $|x-c| < r$ \\cr \\displaystyle 1 & for $|x-c| \\ge r$ }$$ One can run the following command line options to reproduce the parametric DMD results summarized in the table below: rm -rf parameters.txt parametric_heat_conduction -r 0.1 -cx 0.1 -cy 0.1 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.1 -cx 0.1 -cy 0.5 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.1 -cx 0.5 -cy 0.1 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.1 -cx 0.5 -cy 0.5 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.5 -cx 0.1 -cy 0.1 -o 4 -visit -offline -rdim 16 parametric_heat_conduction -r 0.25 -cx 0.2 -cy 0.4 -o 4 -visit -online -predict parametric_heat_conduction -r 0.4 -cx 0.2 -cy 0.3 -o 4 -visit -online -predict where r, cx, and cy specify the radius, the x and y coordinates of circular initial conditions. r cx cy FOM solution time DMD setup time DMD query time DMD relative error 0.25 0.2 0.4 13.3 sec 0.34 sec 1.2 sec 7.0e-3 0.2 0.4 0.2 13.8 sec 0.32 sec 1.2 sec 3.9e-3 0.3 0.3 0.3 13.6 sec 0.33 sec 1.1 sec 1.3e-2 0.3 0.4 0.2 14.1 sec 0.34 sec 1.3 sec 8.4e-3 0.2 0.3 0.4 14.2 sec 0.34 sec 1.3 sec 7.9e-3 0.4 0.2 0.3 13.9 sec 0.36 sec 1.5 sec 9.0e-3 The code that generates the numerical results above can be found in ( parametric_heat_conduction.cpp ). The parametric_heat_conduction.cpp is based on ex16p.cpp from MFEM.","title":"Parametric DMD for heat conduction"},{"location":"examples.html#optimal-control-for-heat-conduction-with-dmd-and-differential-evolution","text":"This example demonstrates the optimal control heat conduction problem with greedy parametric DMD and differential evolution. The initial condition, $u_0(x)$, is parameterized by the center of circle and the radius, i.e., $$u_0(x) = \\cases{ \\displaystyle 2 & for $|x-c| < r$ \\cr \\displaystyle 1 & for $|x-c| \\ge r$ }$$ The goal of the optimal control problem is to find an initial condition that achieves the target last time step temperature distribution. If it does not achieve the target, then it should be closest, given the initial condition parameterization. It is formulated mathematically as an optimization problem: $$ \\underset{c,r}{minimize} \\ || u_T(c,r) - u_{target} ||_2^2,$$ where $u_T$ denotes the last time step temperature and $u_{target}$ denotes the target temperature. Note that $u_T$ depends on the initial condition parameters, i.e., $c$ and $r$. It means that we obtain $u_T$ by solving a forward heat conduction problem. As you can imagine, it needs to explore the parameter space and try to find $c$ and $r$ that produces $u_T$ that best matches $u_{target}$. If each solution process of heat conduction problem is computationally expensive, the search for the optimal parameter can take a while. Therefore, we use our parametric DMD to expedite the process and the search algorithm is done by the differential evolution . Here are the steps to solve the optimal control problem. First, you must delete any post-processed files from the previous differential evolution run. For example, rm -rf parameters.txt rm -rf de_parametric_heat_conduction_greedy_* Then create parametric DMD using a greedy approach with physics-informed error indicator: de_parametric_heat_conduction_greedy -build_database -rdim 16 -greedy-param-size 20 -greedysubsize 10 -greedyconvsize 15 -greedyreldifftol 0.0001 Then you can generate target temperature field with a specific $r$ and $c$ values. Here we used $r=0.2$, $cx=0.2$, and $cy=0.2$ to generate a target temperature field. The target temperature field is shown in the picture above (the one on the left). Therefore, if DMD is good enough, the differential evolution should be able to find $c$ and $r$ values that are closed to these: de_parametric_heat_conduction_greedy -r 0.2 -cx 0.2 -cy 0.2 -visit (Compute target FOM) where r, cx, and cy specify the radius, the x and y coordinates of circular initial conditions. Now you can run the differential evolution using the parametric DMD: de_parametric_heat_conduction_greedy -r 0.2 -cx 0.2 -cy 0.2 -visit -de -de_f 0.9 -de_cr 0.9 -de_ps 50 -de_min_iter 10 -de_max_iter 100 -de_ct 0.001 (Run interpolative differential evolution to see if target FOM can be matched) The differential evolution should be able to find the following optimal control parameters, e.g., in Quartz: $r=0.2002090156652667$, $cx=0.2000936529076073$, and $cy=0.2316380936755735$, which are close to the true parameters that were used to generate the targer temperature field. The DMD temperature field at the last time step on this control parameters is shown in the picture above (the one on the right). The code that generates the numerical results above can be found in ( de_parametric_heat_conduction_greedy.cpp ). The de_parametric_heat_conduction_greedy.cpp is based on ex16p.cpp from MFEM.","title":"Optimal control for heat conduction with DMD and differential evolution"},{"location":"examples.html#dmdc-for-heat-conduction","text":"For a given initial condition, i.e., $u_0(x) = u(0,x)$, heat conduction_dmdc solves a simple 2D time dependent nonlinear heat conduction problem $$\\frac{\\partial u}{\\partial t} = \\nabla\\cdot (\\kappa + \\alpha u)\\nabla u + f,$$ with a natural insulating boundary condition $\\frac{du}{dn}=0$ and an external inlet-outlet source $$ f(x,t) = A_{+}(t) \\exp\\left(\\dfrac{-| x - x_{+} |^2}{2}\\right) - A_{-}(t) \\exp\\left(\\dfrac{-| x - x_{-} |^2}{2}\\right)), $$ where the source locations are $x_+ = (0, 0)$ and $x_- = (0.5, 0.5)$. The amplitude $A_+$ and $A_-$ are regarded as control variables. We linearize the problem by using the temperature field $u$ from the previous time step to compute the conductivity coefficient. One can run the following command line options to reproduce the DMDc results summarized in the table below: heat_conduction_dmdc -s 1 -a 0.0 -k 1.0 -rs 4 FOM solution time DMD setup time DMD query time DMD relative error 16.8 sec 5.2e-1 sec 1.2e-2 sec 2.4e-4 The code that generates the numerical results above can be found in ( heat_conduction_dmdc.cpp ). The heat_conduction_dmdc.cpp is based on ex16p.cpp from MFEM.","title":"DMDc for heat conduction"},{"location":"examples.html#prom-for-mixed-nonlinear-diffusion","text":"For a given initial condition, i.e., $p_0(x) = p(0,x)$, mixed nonlinear diffusion problem solves a simple 2D/3D time dependent nonlinear problem: $$\\frac{\\partial p}{\\partial t} + \\nabla\\cdot \\boldsymbol{v} = f\\,, \\qquad \\nabla p = -a(p)\\boldsymbol{v},$$ with a natural insulating boundary condition $\\frac{\\partial v}{\\partial n}=0$. The $H(div)$-conforming Raviart-Thomas finite element space is used for the velocity function $\\boldsymbol{v}$, and the $L^2$ finite element space is used for pressure function, $p$. This example introduces how the hyper-reduction is implemented and how the reduced bases for two field varibles, $p$ and $\\boldsymbol{v}$. One can run the following command line options to reproduce the pROM results summarized in the table below: offline1 : mixed_nonlinear_diffusion -p 1 -offline -id 0 -sh 0.25 offline2 : mixed_nonlinear_diffusion -p 1 -offline -id 1 -sh 0.15 merge : mixed_nonlinear_diffusion -p 1 -merge -ns 2 reference FOM solution : mixed_nonlinear_diffusion -p 1 -offline -id 2 -sh 0.2 online (DEIM) : mixed_nonlinear_diffusion -p 1 -online -rrdim 8 -rwdim 8 -sh 0.2 -id 2 online (S-OPT) : mixed_nonlinear_diffusion -p 1 -online -rrdim 8 -rwdim 8 -sh 0.2 -id 2 -sopt online (EQP) : mixed_nonlinear_diffusion -p 1 -online -rrdim 8 -rwdim 8 -ns 2 -sh 0.2 -id 2 -eqp -maxnnls 30 FOM solution time Hyper-reduction ROM solution time Speed-up Solution relative error 68.59 sec DEIM/S-OPT 3.6 sec 19.1 1.6e-3 EQP 0.38 sec 180.5 1.8e-3 The code that generates the numerical results above can be found in ( mixed_nonlinear_diffusion.cpp ). The mixed_nonlinear_diffusion.cpp is based on ex16p.cpp from MFEM and modified to support mixed finite element approach.","title":"pROM for mixed nonlinear diffusion"},{"location":"examples.html#dmd-for-linear-advection-with-discontinuous-pulses","text":"For a given initial condition, i.e., $u(0,x) = u_0(x)$, 1D linear advection of the form $$\\frac{\\partial u}{\\partial t} + c\\frac{\\partial x}{\\partial t} = 0,$$ where $c$ is advection velocity. The initial condition, $u_0(x)$, is given by $$u_0(x) = \\cases{ \\displaystyle \\exp\\left (-\\log(2)\\frac{(x+7)^2}{0.0009}\\right ) & for $-0.8 \\le x \\le -0.6$ \\cr \\displaystyle 1 & for $-0.4 \\le x \\le -0.2$ \\cr \\displaystyle 1-|10(x-0.1)| & for $0 \\le x \\le -0.2$ \\cr \\displaystyle \\sqrt{1-100(x-0.5)^2} & for $0.4 \\le x \\le 0.6$ \\cr \\displaystyle 0 & \\text{otherwise} }$$ The DMD is applied to accelerate the advection simulation: FOM solution time DMD setup time DMD query time 3.85 sec 0.18 sec 0.027 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 1D Linear Advection-Discontinuous Waves.","title":"DMD for linear advection with discontinuous pulses"},{"location":"examples.html#dmd-for-wave-equation","text":"For a given initial condition, i.e., $u(0,x) = u_0(x)$, and the initial rate, i.e. $\\frac{\\partial u}{\\partial t}(0,x) = v_0(x)$, wave equation solves the time-dependent hyperbolic problem: $$\\frac{\\partial^2 u}{\\partial t^2} - c^2 \\Delta u = 0,$$ where $c$ is a given wave speed. The boundary conditions are either Dirichlet or Neumann. One can run the following command line options to reproduce the DMD results summarized in the table below: wave_equation -o 4 -tf 5 -nwinsamp 25 FOM solution time DMD setup time DMD query time DMD relative error 3.1 sec 6.9e-1 sec 2.5e-3 sec 3.0e-5 The code that generates the numerical results above can be found in ( wave_equation.cpp ). The wave_equation.cpp is based on ex23.cpp from MFEM.","title":"DMD for wave equation"},{"location":"examples.html#dmd-for-advection","text":"For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG advection solves the time-dependent advection problem: $$\\frac{\\partial u}{\\partial t} + v\\cdot\\nabla u = 0,$$ where $v$ is a given advection velocity. We choose velocity function so that the dynamics form a spiral advection. One can run the following command line options to reproduce the DMD results summarized in the table below: dg_advection -p 3 -rp 1 -dt 0.005 -tf 4 FOM solution time DMD setup time DMD query time DMD relative error 5.2 sec 30.6 sec 1.9e-2 sec 1.9e-4 The code that generates the numerical results above can be found in ( dg_advection.cpp ). The dg_advection.cpp is based on ex9p.cpp from MFEM.","title":"DMD for advection"},{"location":"examples.html#optimal-control-for-advection-with-dmd-and-differential-evolution","text":"This example demonstrates optimal control for advection with the greedy parametric DMD and differential evolution. The initial condition, $u_0(x)$, is parameterized by the wavenumber $f$, so that $$ u_0(x,y) = \\sin(f \\cdot x) sin(f \\cdot y). $$ The goal of the optimal control problem is to find an initial condition that achieves the target last time step solution. If it does not achieve the target, then it should be closest, given the initial condition parameterization. It is formulated mathematically as an optimization problem: $$ \\underset{f}{minimize} \\ || u_T(f) - u_{target} ||_2^2,$$ where $u_T$ denotes the last time step solution and $u_{target}$ denotes the target solution. Note that $u_T$ depends on the initial condition parameter, $f$. It means that we obtain $u_T$ by solving a forward advection problem. In order to do so, it must explore the parameter space and try to find the $f$ that produces a $u_T$ that best matches $u_{target}$. If each advection simulation is computationally expensive, the search for the optimal parameter can take a very long time. Therefore, we use our parametric DMD to expedite the process and the search algorithm is done by differential evolution . Here are the steps to solve the optimal control problem. First, create a directory within which you will run the example, such as mkdir de_advection_greedy && cd de_advection_greedy Then create the parametric DMD using a greedy approach with a physics-informed error indicator: mpirun -n 8 ../de_dg_advection_greedy -p 3 -rp 1 -dt 0.005 -tf 1.0 -build_database -rdim 16 -greedyreldifftol 0.00000001 -greedy-param-f-factor-max 2. -greedy-param-f-factor-min 1. -greedy-param-size 20 -greedysubsize 5 -greedyconvsize 8 Now, generate the target solution with a specific $f$. Here we use $f = 1.6$. mpirun -n 8 ../de_dg_advection_greedy -p 3 -rp 1 -dt 0.005 -tf 1.0 -run_dmd -ff 1.6 -visit Finally, run the differential evolution using the parametric DMD as: srun -n8 -ppdebug greedy_advection -p 3 -rp 1 -dt 0.005 -tf 1.0 -de -ff 1.6 -de_min_ff 1.0 -de_max_ff 2.0 -de_f 0.9 -de_cr 0.9 -de_ps 50 -de_min_iter 1 -de_max_iter 100 -de_ct 0.001 The differential evolution should be able to find the following optimal control parameters, e.g., in Quartz: $f = 1.597618121565086$, which is very close to the true parameter that was used to generate the targer solution. The images above show the the target solution on the left, and the DMD solution at the differential evolution optimal parameter on the right. The code that generates the numerical results above can be found in ( de_dg_advection_greedy.cpp ). The de_dg_advection_greedy.cpp is based on ex9p.cpp from MFEM.","title":"Optimal control for advection with DMD and differential evolution"},{"location":"examples.html#global-prom-for-advection","text":"For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG advection solves the time-dependent advection problem: $$\\frac{\\partial u}{\\partial t} + v\\cdot\\nabla u = 0,$$ where $v$ is a given advection velocity. We choose velocity function so that the dynamics form a spiral advection. One can run the following command line options to reproduce the pROM results summarized in the table below: offline1 : dg_advection_global_rom -offline -ff 1.0 -id 0 offline2 : dg_advection_global_rom -offline -ff 1.1 -id 1 offline3 : dg_advection_global_rom -offline -ff 1.2 -id 2 merge : dg_advection_global_rom -merge -ns 3 reference FOM solution : dg_advection_global_rom -fom -ff 1.15 online : dg_advection_global_rom -online -ff 1.15 FOM solution time pROM solution time pROM speed-up pROM relative error 1.49 sec 3.75e-3 sec 397.3 4.33e-4 The code that generates the numerical results above can be found in ( dg_advection_global_rom.cpp ). The dg_advection_global_rom.cpp is based on ex9p.cpp from MFEM.","title":"Global pROM for advection"},{"location":"examples.html#local-prom-for-advection","text":"For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG advection solves the time-dependent advection problem: $$\\frac{\\partial u}{\\partial t} + v\\cdot\\nabla u = 0,$$ where $v$ is a given advection velocity. We choose velocity function so that the dynamics form a spiral advection. This example illustrates how a parametric pROM can be built through local ROM interpolation techniques. The following sequence of command lines will let you build such a parametric pROM, where the frequency of sinusoidal initial condition function is used as a parameter (its value is passed by a user through -ff command line option). Two local pROMs are constructed through -offline option with parameter values of 1.02 and 1.08, then the local pROM operators are interpolated to build a tailored local pROM at the frequency value of 1.05. Unlike the global ROM, the interpolated pROM has dimension that is the same as the individual pROM, i.e., 40 for this particular problem. rm -rf frequencies.txt dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -offline -rs 4 -ff 1.02 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -interp_prep -rs 4 -ff 1.02 -rdim 40 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -offline -rs 4 -ff 1.08 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -interp_prep -rs 4 -ff 1.08 -rdim 40 dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -fom -rs 4 -ff 1.05 -visit dg_advection_local_rom_matrix_interp --mesh \"../data/periodic-square.mesh\" -online_interp -rs 4 -ff 1.05 -rdim 40 FOM solution time pROM solution time pROM speed-up pROM relative error 39.38 sec 0.63 sec 62.5 1.19e-2 The code that generates the numerical results above can be found in ( dg_advection_local_rom_matrix_interp.cpp ). The dg_advection_local_rom_matrix_interp.cpp is based on ex9p.cpp from MFEM.","title":"Local pROM for advection"},{"location":"examples.html#global-prom-for-grad-div-problem","text":"This example code demonstrates the use of libROM and MFEM to define a reduced order model for a simple 2D/3D $H (\\text{div})$ diffusion problem corresponding to the second order definite equation $$- {\\rm grad} (\\alpha\\ {\\rm div} (F)) + \\beta F = f$$ with boundary condition $F \\cdot n = $ \"given normal field.\" The right-hand side $f$ is first calculated from the given exact solution $F$. We then try to reconstruct the true solution $F$ assuming only the right-hand side function $f$ is known. In 2D, the exact solution $F$ is defined as $$ F(x,y) = (\\cos(\\kappa x) \\sin(\\kappa y), \\cos(\\kappa y) \\sin(\\kappa x)) $$ where $\\kappa$ is a parameter controlling the frequency. The 2D solution contour plot for $\\kappa=1.15 \\pi$ is shown in the figure on the right to show the effect of $\\kappa$. For demonstration, we sample solutions at $\\kappa=\\pi$, $1.05\\pi$, $1.1 \\pi$, $1.2 \\pi$, $1.25\\pi$ and $1.3\\pi$. Then a ROM is built with basis size of 6, which is used to predict the solution for $\\kappa = 1.15\\pi$. The ROM is able to achieve a speedup of $2.95\\times10^5$ with a relative error of $4.98\\times10^{-8}$. One can follow the command line options below to reproduce the numerical results summarized in the table below: offline1 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.0 -id 0 offline2 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.05 -id 1 offline3 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.1 -id 2 offline4 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.2 -id 3 offline5 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.25 -id 4 offline6 : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -offline -f 1.30 -id 5 merge : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -merge -ns 6 reference FOM solution : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -fom -f 1.15 online : grad_div_global_rom --mesh \"../../../dependencies/mfem/data/square-disc.mesh\" -online -f 1.15 -visit The command line option -f defines the frequency of the sinusoidal right hand side function. The relation between $\\kappa$ and f is defined as $\\kappa = \\pi f$. FOM solution time ROM solution time Speed-up Solution relative error 2.57e-1 sec 8.75e-7 sec 2.94e5 4.98426e-8 The code that generates the numerical results above can be found in ( grad_div_global_rom.cpp ). The grad_div_global_rom.cpp is based on ex4p.cpp from MFEM.","title":"Global pROM for Grad-div Problem"},{"location":"examples.html#dmd-for-sod-shock-tube","text":"1D Euler equations of the form $$ \\frac{\\partial \\rho}{\\partial t} + \\frac{\\partial \\rho u}{\\partial x} = 0$$ $$ \\frac{\\partial \\rho u}{\\partial t} + \\frac{\\partial \\rho u^2 + p}{\\partial x} = 0$$ $$ \\frac{\\partial e}{\\partial t} + \\frac{\\partial (e+p)u}{\\partial x} = 0$$ is solved with the initial condition given by $$ \\rho = 1, u = 0, p = 1 \\text{ for } 0 \\le x < 0.5$$ $$ \\rho = 0.125, u = 0, p = 0.1 \\text{ for } 0.5 \\le x \\le 1$$. The DMD is applied to accelerate the 1D Sod shock tube simulation: FOM solution time DMD setup time DMD query time 0.86 sec 0.13 sec 0.0027 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 1D Sod Shock Tube.","title":"DMD for sod shock tube"},{"location":"examples.html#dmd-for-isentropic-vortex-convection","text":"2D Compressible Euler equations of the form $$ \\frac{\\partial \\rho}{\\partial t} + \\frac{\\partial \\rho u}{\\partial x} + \\frac{\\partial \\rho v}{\\partial y}= 0$$ $$ \\frac{\\partial \\rho u}{\\partial t} + \\frac{\\partial \\rho u^2 + p}{\\partial x} + \\frac{\\partial \\rho uv}{\\partial y} = 0$$ $$ \\frac{\\partial \\rho v}{\\partial t} + \\frac{\\partial \\rho uv}{\\partial x} + \\frac{\\partial \\rho v^2 + p}{\\partial y} = 0$$ $$ \\frac{\\partial e}{\\partial t} + \\frac{\\partial (e+p)u}{\\partial x} + \\frac{\\partial (e+v)p}{\\partial y} = 0$$ is solved with the free-stream condition given by $$ \\rho_\\infty = 1, u_\\infty = 0.1, v_\\infty = 0, p_\\infty = 1 $$ and a vortex is introduced by $$ \\rho = \\left ( 1-\\frac{(\\gamma-1)b^2}{8\\gamma \\pi^2} e^{1-r^2} \\right )^{\\frac{1}{r-1}}, p = \\rho^\\gamma$$ $$ u = u_\\infty - \\frac{b}{2\\pi} e^{\\frac{1}{2}(1-r^2)}(y-y_c)$$ $$ v = v_\\infty + \\frac{b}{2\\pi} e^{\\frac{1}{2}(1-r^2)}(x-x_c),$$ where $b=0.5$ is the vortex strength and $r = \\left ( (x-x_c)^2 + (y-y_c)^2 \\right )^{\\frac{1}{2}}$ is the distance from the vortex center $(x_c,y_c) = (5,5)$. The DMD is applied to accelerate the vortex convection simulation: FOM solution time DMD setup time DMD query time 5.85 sec 5.25 sec 0.28 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D Euler Equations - Isentropic Vortex Convection.","title":"DMD for isentropic vortex convection"},{"location":"examples.html#dmd-for-riemann-problem","text":"2D Compressible Euler equations of the form $$ \\frac{\\partial \\rho}{\\partial t} + \\frac{\\partial \\rho u}{\\partial x} + \\frac{\\partial \\rho v}{\\partial y}= 0$$ $$ \\frac{\\partial \\rho u}{\\partial t} + \\frac{\\partial \\rho u^2 + p}{\\partial x} + \\frac{\\partial \\rho uv}{\\partial y} = 0$$ $$ \\frac{\\partial \\rho v}{\\partial t} + \\frac{\\partial \\rho uv}{\\partial x} + \\frac{\\partial \\rho v^2 + p}{\\partial y} = 0$$ $$ \\frac{\\partial e}{\\partial t} + \\frac{\\partial (e+p)u}{\\partial x} + \\frac{\\partial (e+v)p}{\\partial y} = 0$$ is solved. The DMD is applied to accelerate the Riemann problem: FOM solution time DMD setup time DMD query time 111.1 sec 17.6 sec 1.4 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D Euler Equations - Riemann Problem Case 4","title":"DMD for Riemann problem"},{"location":"examples.html#dmd-for-euler-equation","text":"For a given initial condition, i.e., $u_0(x) = u(0,x)$, DG Euler solves the compressible Euler system of equation, i.e., a model nonlinear hyperbolic PDE: $$\\frac{\\partial u}{\\partial t} + \\nabla\\cdot \\boldsymbol{F}(u) = 0,$$ with a state vector $\\boldsymbol{u} = [\\rho,\\rho v_0, \\rho v_1, \\rho E]$, where $\\rho$ is the density, $v_i$ is the velocity in the $i$th direction, $E$ is the total specific energy, and $H = E + p/\\rho$ is the total specific enthalpy. The pressure, $p$ is computed through a simple equation of state (EOS) call. The conservative hydrodynamic flux $\\boldsymbol{F}$ in each direction $i$ is $$\\boldsymbol{F}_i = [\\rho v_i, \\rho v_0 v_i + p \\delta_{i,0}, \\rho v_1 v_{i,1} + p\\delta_{i,1}, \\rho v_i H]$$ One can run the following command line options to reproduce the DMD results summarized in the table below: dg_euler -p 2 -rs 2 -rp 1 -o 1 -s 3 -visit DMD rel.error FOM solution time DMD setup time DMD query time $\\rho$ $\\rho v_0$ $\\rho v_1$ $E$ 5.65 sec 38.9 sec 1.4e-3 sec 8.0e-7 1.2e-4 1.6e-3 2.6e-6 The code that generates the numerical results above can be found in ( dg_euler.cpp ). The dg_euler.cpp is based on ex18p.cpp from MFEM.","title":"DMD for Euler equation"},{"location":"examples.html#dmd-for-lid-driven-square-cavity","text":"A lid-driven square cavity problem is solved. The two references for this problem are Erturk, E., Corke, T.C., and Gokcol, C., `` Numerical Solutions of 2-D Steady Incompressible Driven Cavity Flow at High Reynolds Numbers \", International Journal for Numerical Methods in Fluids, 48, 2005 Ghia, U., Ghia, K.N., Shin, C.T., `` High-Re Solutions for Incompressible Flow using the Navier-Stokes Equations and a Multigrid Method \", Journal of Computational Physics, 48, 1982 The DMD is applied to accelerate the cavity flow simulation: FOM solution time DMD setup time DMD query time 554.6 sec 58.6 sec 0.3 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D Navier-Stokes Equations - Lid-Driven Square Cavity","title":"DMD for lid-driven square cavity"},{"location":"examples.html#dmd-for-two-stream-instability","text":"The 1D-1V Vlasov equation is solved with the initial condition given by $$ f(x,v) = \\frac{4}{\\pi T} \\left ( 1+\\frac{1}{10} cos(2k\\pi\\frac{x}{L}) \\right ) \\left ( \\exp\\left( -\\frac{(v-2)^2}{2T} \\right) + \\exp\\left( -\\frac{(v+2)^2}{2T} \\right ) \\right ), k=1, T=1, L=2\\pi. $$ The DMD is applied to accelerate the cavity flow simulation: FOM solution time DMD setup time DMD query time 11.34 sec 2.30 sec 0.34 sec The instruction of running this simulation can be found at the HyPar page, e.g., go to Examples -> libROM Examples -> 2D (1D-1V) Vlasov Equation.","title":"DMD for two-stream instability"},{"location":"examples.html#global-prom-for-linear-elasticity","text":"This example demonstrates how to apply projection-based ROM to a linear elasticity problem. The linear elasticity problem describes a multi-material cantilever beam. Specifically, the following weak form is solved: $$-\\text{div}(\\sigma(\\boldsymbol{u})) = 0$$ where $$\\sigma(\\boldsymbol{u}) = \\lambda \\text{div}(\\boldsymbol{u}) \\boldsymbol{I} + \\mu (\\nabla \\boldsymbol{u} + \\nabla \\boldsymbol{u}^T)$$ is the stress tensor corresponding to displacement field $\\boldsymbol{u}$, and $\\lambda$ and $\\mu$ are the material Lame constants. The Lame constants are related to Young's modulus ($E$) and Poisson's ratio ($\\nu$) as $$\\lambda = \\frac{E\\nu}{(1+\\nu)(1-2\\nu)}$$ $$\\mu = \\frac{E}{2(1+\\nu)}$$ The boundary condition are $\\boldsymbol{u}=\\boldsymbol{0}$ on the fixed part of the boundary with attribute 1, and $\\sigma(\\boldsymbol{u})\\cdot n = f$ on the remainder with f being a constant pull down vector on boundary elements with attribute 2, and zero otherwise. The geometry of the domain is assumed to be as follows: Three distinct steps are required, i.e., offline, merge, and online steps, to build global ROM for the linear elasticity problem. The general description of building a global ROM is explained in this YouTube tutorial video . We parameterized Poisson's ratio ($\\nu$) from 0.2 to 0.4. One can run the following command line options to reproduce the pROM results summarized in the table below: offline1 : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -offline -id 0 -nu 0.2 offline2 : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -offline -id 1 -nu 0.4 merge : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -merge -ns 2 reference FOM solution : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -offline -id 2 -nu 0.XX online : linear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" -online -id 3 -nu 0.XX You can replace 0.XX with any value between 0.2 and 0.5. It must be strictly less than 0.5. Note that the global ROM is able to predict the point outside of the training region with high accuracy, i.e., $\\nu=0.45$. The table below shows the performance results for three different parameter points. Poisson's ratio ($\\nu$) FOM solution time ROM solving time Position relative error 0.25 4.96e-2 sec 3.54e-6 sec 0.00081 0.3 4.93e-2 sec 4.37e-6 sec 0.00133 0.35 5.96e-2 sec 4.60e-6 sec 0.00121 0.45 5.22e-2 sec 4.36e-6 sec 0.00321 The code that generates the numerical results above can be found in ( linear_elasticity_global_rom.cpp ). The linear_elasticity_global_rom.cpp is based on ex2p.cpp from MFEM.","title":"Global pROM for linear elasticity"},{"location":"examples.html#global-prom-for-nonlinear-elasticity","text":"For a given initial condition, i.e., $v_0(x) = v(0,x)$, nonlinear elasticity solves a time dependent nonlinear elasticity problem of the form $$\\frac{\\partial v}{\\partial t} = H(x) + Sv\\,, \\qquad \\frac{\\partial x}{\\partial t} = v,$$ where $H$ is a hyperelastic model and $S$ is a viscosity operator of Laplacian type. The initial displacement is set zero and the initial velocity is set as zero except the third component which is defined: $$v_3(0,x) = -\\frac{\\mu}{80}\\sin(\\mu x_1)$$ One can run the following command line options to build global ROM and reproduce the results summarizedin the table below. You can replace XXX in the fom and online phase to take any $\\mu$ value between 3.9 and 4.1: offline1 : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --offline -dt 0.01 -tf 5.0 -s 14 -vs 10 -sc 3.9 -id 0 offline2 : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --offline -dt 0.01 -tf 5.0 -s 14 -vs 10 -sc 4.1 -id 1 merge : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --merge -ns 2 -dt 0.01 -tf 5.0 reference FOM solution : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --offline -dt 0.01 -tf 5.0 -s 14 -vs 5 -sc XXX -id 2 online : nonlinear_elasticity_global_rom --mesh \"../../../dependencies/mfem/data/beam-hex-nurbs.mesh\" --online -dt 0.01 -tf 5.0 -s 14 -vs 5 -hyp -rvdim 40 -rxdim 10 -hdim 71 -nsr 200 -sc XXX $\\mu$ FOM solution time pROM online time Speed-up Position relative error 3.92 164.9 sec 20.5 sec 8.0 0.0053 3.94 169.2 sec 20.8 sec 8.1 0.0053 3.96 167.8 sec 20.9 sec 8.0 0.0057 3.98 162.7 sec 22.1 sec 7.4 0.0062 4.0 169.4 sec 21.1 sec 8.0 0.0067 4.02 168.4 sec 20.8 sec 8.1 0.0071 4.04 160.6 sec 22.8 sec 7.0 0.0073 4.06 173.4 sec 22.7 sec 7.6 0.0071 4.08 169.2 sec 20.0 sec 8.5 0.0066 The code that generates the numerical results above can be found in ( nonlinear_elasticity_global_rom.cpp ). The nonlinear_elasticity_global_rom.cpp is based on ex10p.cpp from MFEM.","title":"Global pROM for nonlinear elasticity"},{"location":"examples.html#dmd-for-nonlinear-elasticity","text":"For a given initial condition, i.e., $v_0(x) = v(0,x)$, nonlinear elasticity solves a time dependent nonlinear elasticity problem of the form $$\\frac{\\partial v}{\\partial t} = H(x) + Sv\\,, \\qquad \\frac{\\partial x}{\\partial t} = v,$$ where $H$ is a hyperelastic model and $S$ is a viscosity operator of Laplacian type. One can run the following command line options to reproduce the DMD results summarized in the table below: nonlinear_elasticity -s 2 -rs 1 -dt 0.01 -tf 5 -visit FOM solution time DMD setup time DMD query time Position relative error Velocity relative error 10.4 sec 2.9e-1 sec 1.1 sec 7.0e-5 1.4e-3 The code that generates the numerical results above can be found in ( nonlinear_elasticity.cpp ). The nonlinear_elasticity.cpp is based on ex10p.cpp from MFEM.","title":"DMD for nonlinear elasticity"},{"location":"examples.html#global-prom-for-lagrangian-hydrodynamics","text":"Laghos (LAGrangian High-Order Solver) is a miniapp that solves the time-dependent Euler equations of compressible gas dynamics in a moving Lagrangian frame using unstructured high-order finite element spatial discretization and explicit high-order time-stepping. LaghosROM introduces reduced order models of Laghos simulations. A list of example problems that you can solve with LaghosROM includes Sedov blast, Gresho vortex, Taylor-Green vortex, triple-point, and Rayleigh-Taylor instability problems. Below are command line options for each problems and some numerical results. For each problem, four different phases need to be taken, i.e., the offline, hyper-reduction preprocessing, online, and restore phase. The online phase runs necessary full order model (FOM) to generate simulation data. libROM dynamically collects the data as the FOM simulation marches in time domain. In the hyper-reduction preprocessing phase, the libROM builds a library of reduced basis as well as hyper-reduction operators. The online phase runs the ROM and the restore phase projects the ROM solutions to the full order model dimension.","title":"Global pROM for Lagrangian hydrodynamics"},{"location":"examples.html#sedov-blast-problem","text":"Sedov blast problem is a three-dimensional standard shock hydrodynamic benchmark test. An initial delta source of internal energy deposited at the origin of a three-dimensional cube is considered. The computational domain is the unit cube $\\tilde{\\Omega} = [0,1]^3$ with wall boundary conditions on all surfaces, i.e., $v\\cdot n = 0$. The initial velocity is given by $v=0$. The initial density is given by $\\rho = 1$. The initial energy is given by a delta function at the origin. The adiabatic index in the ideal gas equations of state is set $\\gamma = 1.4$. The initial mesh is a uniform Catesian hexahedral mesh, which deforms over time. It can be seen that the radial symmetry is maintained in the shock wave propagation in both FOM and pROM simulations. One can reproduce the pROM numerical result, following the command line options described below: offline : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -offline -visit -romsvds -ef 0.9999 -writesol -romos -rostype load -romsns -nwinsamp 21 -sample-stages hyper-reduction preprocessing : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -online -romsvds -romos -rostype load -romhrprep -romsns -romgs -nwin 66 -sfacv 2 -sface 2 (-sopt) online : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -online -romsvds -romos -rostype load -romhr -romsns -romgs -nwin 66 -sfacv 2 -sface 2 restore : laghos -o twp_sedov -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -restore -soldiff -romsvds -romos -rostype load -romsns -romgs -nwin 66 FOM solution time ROM solution time Speed-up Velocity relative error (DEIM) Velocity relative error (SOPT) 191 sec 8.3 sec 22.8 2.2e-4 1.1e-4 One can also easily apply time-windowing DMD to Sedov blast problem easily. First, prepare tw_sedov3.csv file, which contains a sequence of time steps, {0.01, 0.02, $\\ldots$, 0.79, 0.8 } in a column. Then you can follow the command line options described below: offline : laghos -o dmd_sedov -p 4 -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -offline -visit -romsvds -ef 0.9999 -writesol -nwin 80 -tw tw_sedov3.csv -dmd -dmdnuf -met -no-romoffset online : laghos -o dmd_sedov -p 4 -m ../data/cube01_hex.mesh -pt 211 -tf 0.8 -s 7 -pa -restore -soldiff -romsvds -dmd -dmdnuf -no-romoffset FOM solution time DMD restoration time Speed-up Velocity relative error 30.4 sec 15.0. sec 2.0 0.0382461","title":"Sedov blast problem"},{"location":"examples.html#gresho-vortex-problem","text":"Gresho vortex problem is a two-dimensional benchmark test for the incompressible inviscid Navier-Stokes equations. The computational domain is the unit square $\\tilde\\Omega = [-0.5,0.5]^2$ with wall boundary conditions on all surfaces, i.e., $v\\dot n = 0$. Let $(r,\\phi)$ denote the polar coordinates of a particle $\\tilde{x} \\in \\tilde{\\Omega}$. The initial angular velocity is given by $$v_\\phi = \\cases{ \\displaystyle 5r & for 0 $\\leq$ r < 0.2 \\cr \\displaystyle 2-5r & for 0.2 $\\leq$ r < 0.4 \\cr \\displaystyle 0 i & for r $\\geq$ 0.4. }$$ The initial density if given by $\\rho=1$. The initial thermodynamic pressure is given by $$p = \\cases{ 5 + \\frac{25}{2} r^2 & for 0 $\\leq$ r < 0.2 \\cr 9 - 4 \\log(0.2) + \\frac{25}{2} - 20r + 4 \\log(r) & for 0.2 $\\leq$ r < 0.4 \\cr 3 + 4\\log(2) & for r $\\geq$ 0.4 }$$ offline : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -visit -writesol -offline -ef 0.9999 -romsvds -romos -rostype load -romsns -nwinsamp 21 -sample-stages hyper-reduction preprocessing : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -online -romhrprep -romsvds -romos -rostype load -romsns -romgs -nwin 152 -sfacv 2 -sface 2 online : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -online -romhr -romsvds -romos -rostype load -romsns -romgs -nwin 152 -sfacv 2 -sface 2 restore : laghos -o twp_gresho -p 4 -m ../data/square_gresho.mesh -rs 4 -ok 3 -ot 2 -tf 0.62 -s 7 -soldiff -restore -romsvds -romos -rostype load -romsns -romgs -nwin 152 FOM solution time ROM solution time Speed-up Velocity relative error 218 sec 8.4 sec 25.9 2.1e-4","title":"Gresho vortex problem"},{"location":"examples.html#taylor-green-vortex","text":"Taylor-Green vortex problem is a three-dimensional benchmark test for the incompressible Navier-Stokes equasions. A manufactured smooth solution is considered by extending the steady state Taylor-Green vortex solution to the compressible Euler equations. The computational domain is the unit cube $\\tilde{\\Omega}=[0,1]^3$ with wall boundary conditions on all surfaces, i.e., $v\\cdot n = 0$. The initial velocity is given by $$ v = (\\sin{(\\pi x)} \\cos{(\\pi y)} \\cos{(\\pi z)}, -\\cos{(\\pi x)}\\sin{(\\pi y)}\\cos{(\\pi z)}, 0) $$ The initial density is given by $\\rho =1$. The initial thermodynamic pressure is given by $$ p = 100 + \\frac{(\\cos{(2\\pi x)} + \\cos{(2\\pi y))(\\cos{(2\\pi z)+2})-2}}{16} $$ The initial energy is related to the pressure and the density by the equation of state for the ideal gas, $p=(\\gamma-1)\\rho e$, with $\\gamma = 5/3$. The initial mesh is a uniform Cartesian hexahedral mesh, which deforms over time. The visualized solution is given on the right. One can reproduce the numerical result, following the command line options described below: offline : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -offline -visit -romsvds -ef 0.9999 -writesol -romos -rostype load -romsns -nwinsamp 21 -sdim 1000 -sample-stages hyper-reduction preprocessing : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -online -romsvds -romos -rostype load -romhrprep -romsns -romgs -nwin 82 -sfacv 2 -sface 2 online : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -online -romsvds -romos -rostype load -romhr -romsns -romgs -nwin 82 -sfacv 2 -sface 2 restore : laghos -o twp_taylor -m ../data/cube01_hex.mesh -p 0 -rs 2 -cfl 0.1 -tf 0.25 -s 7 -pa -restore -soldiff -romsvds -romos -rostype load -romsns -romgs -nwin 82 FOM solution time ROM solution time Speed-up Velocity relative error 170 sec 5.4 sec 31.2 1.1e-6","title":"Taylor-Green vortex"},{"location":"examples.html#triple-point-problem","text":"Triple-point problem is a three-dimensional shock test with two materials in three states. The computational domain is $\\tilde{\\Omega} = [0,7] \\times [0,3 ] \\times [0,1.5]$ with wall boundary conditions on all surfaces, i.e., $v\\cdot n = 0$. The initial velocity is given by $v=0$. The initial density is given by $$\\rho = \\cases{ \\displaystyle 1 & for x $\\leq$ 1 or y $\\leq$ 1.5, \\cr \\displaystyle 1/8 & for x $>$ 1 and y $>$ 1.5 }$$ The initial thermodynamic pressure is given for $$p = \\cases{ \\displaystyle 1 & for x $\\leq$ 1, \\cr \\displaystyle 0.1 & for x $>$ 1 }$$ The initial energy is related to the pressure and the density by the equation of state for the ideal gas, $p=(\\gamma-1)\\rho e$, with $$\\gamma = \\cases{ \\displaystyle 1.5 & for x $\\leq$ 1 or y $>$ 1.5\\cr \\displaystyle 1.4 & for x $>$ 1 and y $\\leq$ 1.5 }$$ The initial mesh is a uniform Cartesian hexahedral mesh, which deforms over time. The visualized solution is given on the right. One can reproduce the numerical result, following the command line options described below: offline : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -offline -writesol -visit -romsvds -romos -rostype load -romsns -nwinsamp 21 -ef 0.9999 -sdim 200 -sample-stages hyper-reduction preprocessing : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -online -romhrprep -romsvds -romos -rostype load -romgs -romsns -nwin 18 -sfacv 2 -sface 2 online : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -online -romhr -romsvds -romos -rostype load -romgs -romsns -nwin 18 -sfacv 2 -sface 2 restore : laghos -o twp_triple -p 3 -m ../data/box01_hex.mesh -rs 2 -tf 0.8 -s 7 -cfl 0.5 -pa -restore -soldiff -romsvds -romos -rostype load -romgs -romsns -nwin 18 FOM solution time ROM solution time Speed-up Velocity relative error 122 sec 1.4 sec 87.8 8.1e-4","title":"Triple-point problem"},{"location":"examples.html#rayleigh-taylor-instability-problem","text":"Rayleigh-Taylor instability problem offline : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -writesol -offline -romsns -sdim 200000 -romsvds -romos -romgs -nwinsamp 21 -ef 0.9999999999 -sample-stages hyper-reduction preprocessing : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -online -romsns -romos -romgs -nwin 187 -sfacv 2 -sface 2 -romhrprep online : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -online -romsns -romos -romgs -nwin 187 -sfacv 2 -sface 2 -romhr restore : laghos -p 7 -m ../data/rt2D.mesh -tf 1.5 -rs 4 -ok 2 -ot 1 -pa -o twp_rt -s 7 -restore -romsns -romos -romgs -soldiff -nwin 187 FOM solution time ROM solution time Speed-up Velocity relative error 127 sec 8.7 sec 14.6 7.8e-3 LaghosROM is an external miniapp, available at https://github.com/CEED/Laghos/tree/rom/rom .","title":"Rayleigh-Taylor instability problem"},{"location":"examples.html#global-prom-for-maxwell-equation","text":"This example builds a projection-based reduced-order model for an electromagnetic diffusion problem corresponding to the second order definite Maxwell equation $$ \\nabla \\times \\nabla \\times \\mathbf{E} + \\mathbf{E} = \\mathbf{f}.$$ The right-hand side function $\\mathbf{f}$ is first calculated from a given exact vector field $\\mathbf{E}$. We then try to reconstruct the true solution $\\mathbf{E}$, assuming that we only know the right-hand side function $\\mathbf{f}$. In 2D, we define $\\mathbf{E}$ as $$\\mathbf{E} = (\\sin ( \\kappa x_2 ), \\sin ( \\kappa x_1 ) )^\\top, $$ and in 3D we define $$\\mathbf{E} = (\\sin ( \\kappa x_2 ), \\sin ( \\kappa x_3 ), \\sin ( \\kappa x_1 ) )^\\top. $$ Here, $\\kappa$ is a parameter which controls the frequency of the sine wave. The 2D solution contour plot for $\\kappa= 1.15$ is shown in the figure on the right. For demonstration, we sample solutions at $\\kappa=1\\pi$, $1.1\\pi$, and $1.2\\pi$. We then build the ROM with a basis size of 3, which we use to predict the solution for $\\kappa = 1.15$. The ROM is nearly $4856$ faster than the full-order model, with a relative error of $4.42\\times10^{-4}$. One can follow the command line options to reproduce the numerical results summarized in the table below: offline1 : maxwell_global_rom -offline -f 1.0 -id 0 offline2 : maxwell_global_rom -offline -f 1.1 -id 1 offline3 : maxwell_global_rom -offline -f 1.2 -id 2 merge : maxwell_global_rom -merge -ns 3 reference FOM solution : maxwell_global_rom -fom -f 1.15 online : maxwell_global_rom -online -f 1.15 The command line option -f defines the value of $\\kappa$ which controls the frequency of the sinusoidal right hand side function. FOM solution time ROM solution time Speed-up Solution relative error 4.91e-1 sec 1.01e-4 sec 4855.93 4.42e-4 The code that generates the numerical results above can be found in maxwell_global_rom.cpp . The maxwell_global_rom.cpp is based on ex3p.cpp from MFEM. No examples or miniapps match your criteria. ","title":"Global pROM for Maxwell equation"},{"location":"features.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); Features The goal of libROM is to provide high-performance scalable library for data-driven reduced order modeling. Proper orthogonal decomposition One of the core features in libROM is the ability to extract important modes from given physical simulation data. The proper othogonal decomposition (POD) is a popular method for compressing physical simulation data to obtain optimal \"reduced\" bases in the following sense: $$\\boldsymbol{\\Phi} =\\underset{\\boldsymbol{A}\\in\\mathbb{R}^{n\\times r}, \\boldsymbol{A}^T\\boldsymbol{A} = \\boldsymbol{I}_{r\\times r} }{\\arg\\min} || \\boldsymbol{U} - \\boldsymbol{A}\\boldsymbol{A}^T\\boldsymbol{U} ||_F^2, $$ where $\\boldsymbol{U}\\in\\mathbb{R}^{n\\times m}$ is simulation data and $\\boldsymbol{I}_{r\\times r} \\in \\mathbb{R}^{r\\times r}$ denotes an identity matrix. That is, the POD tries to find the orthogonal matrix, $\\boldsymbol{\\Phi}$, whose span minimizes the projection error in the Frobenius norm. The POD modes can be obtained in two equivalent ways: (i) eigenvalue decomposition and (ii) singular value decomposition (SVD). We take the latter approach, i.e., let's say the thin SVD of $\\boldsymbol{U}$ is given by $$\\boldsymbol{U} = \\boldsymbol{W\\Sigma V}^T.$$ Then the solution of the POD is given by taking the first $r$ columns of the left singular matrix, i.e., $\\boldsymbol{\\Phi} = [\\boldsymbol{w}_{1},\\ldots ,\\boldsymbol{w}_r]$, where $\\boldsymbol{w}_k$ is $k$th left singular vector, assuming that the singular value is written in the decreasing order. Efficient data collection High-fidelity physical simulations generate intensive data in its size, which makes the data collection process daunting. Therefore, the libROM aims to ease the difficulty associated with the intensive data size. The libROM can be directly integrated to the physics solver that generates the intensive simulation data. For example, if the physical simulation is time dependent, then each time step solution data can be feed into the libROM incrementally so that the singular value decomposition is efficiently updated in parallel. This approach is incremental SVD . There are other types of SVDs which exploits efficiency. The libROM provides following four SVDs: Static SVD incremental SVD randomized SVD space-time SVD Static SVD The static SVD waits the libROM to collect all the simulation data. Once the snapshot matrix $\\boldsymbol{U}$ is formed, then the SVD is performed. Therefore, if the data size is big, this approach is not efficient and not recommended. However, because it gives the most accurate SVD results, it is ideal for a small problem. Incremental SVD Unlike the static SVD, the incremental SVD does not wait. Instead, as the data comes in, the SVD is performed right away. Because the incremental SVD only needs to find out the effect of one additional simulation data vector to the previous SVD, the update can be done very efficiently without requiring much memory. Therefore, it is useful for large-scale problems. For the detailed explanation about the incremental SVD, we refer to the following journal papers: M. Brand, Incremental singular value decomposition of uncertain data with missing values , In European Conference on Computer Vision , p707-720, 2002 G. Oxberry, T. Kostova-Vassilevska, W. Arrighi, K. Chand, Limited-memory adaptive snapshot selection for proper orthogonal decomposition , International Journal for Numerical Methods in Engineering , 109(2), p198-217, 2016 H. Fareed, J.R. Singler, Error Analysis of an Incremental Proper Orthogonal Decomposition Algorithm for PDE Simulation Data , Journal of Computational and Applied Mathematics , 368, 112525, 2020 Randomized SVD Randomization can bring computational efficiency in computing SVDs. For example, consider that one needs to extract $p$ dominant modes from $n \\times m$ tall dense matrix, using SVD. The randomized SVD requires $\\mathcal{O}(nm\\log(p))$ floating-point operations, while the static SVD algorithm requires $\\mathcal{O}(nmp)$ flops. The randomized SVD that is implemented in libROM can be found in the following journal paper: N. Halko, P.G. Martinsson, J.A. Tropp, Finding structure with randomness: Probabilistic algorithms for constructing approximate matrix decompositions . SIAM review , 53(2), p217-288, 2011 Space-time SVD For time dependent problems, one can reduce not only the spatial degrees of freedom, but also the temporal degrees of freedom by representing the space-time solution as a linear combination of a space-time reduced basis. The space-time reduced basis can be mathematically written as a Kronecker product of temporal and spatial bases. Fortunately, one can extract temporal as well as spatial reduced bases from one single SVD. The procedure is schematically depicted in the figure below: For the detailed explanation about the incremental SVD, we refer to the following three journal papers: Y. Kim, K. Wang, Y. Choi, Efficient space\u2013time reduced order model for linear dynamical systems in Python using less than 120 lines of code . Mathematics , 9(14), 1690, 2021 Y. Choi, P. Brown, W. Arrighi, R. Anderson, K. Huynh, Space\u2013time reduced order model for large-scale linear dynamical systems with application to boltzmann transport problems . Journal of Computational Physics , 424, 109845, 2021 Y. Choi, K. Carlberg, Space-time least-squares Petrov-Galerkin projection for nonlinear model reduction , SIAM Journal on Scientific Computing , 41(1), A26-A58, 2019 Dynamic Mode Decomposition The dynamic mode decomposition (DMD) provides a great way of finding an approximate locally linear dynamical system, $$ \\frac{d\\boldsymbol{u}}{dt} = \\mathcal{A}\\boldsymbol{u},$$ for a given nonlinear dynamical system, $$ \\frac{d\\boldsymbol{u}}{dt} = \\boldsymbol{f}(\\boldsymbol{u},t;\\boldsymbol{\\mu}),$$ with initial condition, $\\boldsymbol{u}_0$. It takes non-intrusive approach, i.e., equation-free method, so it is applicable even if there is only data, but no $\\boldsymbol{f}(\\boldsymbol{u},t;\\boldsymbol{\\mu})$. For example, let's say the discrete-time data are given as: $$\\boldsymbol{U} = [\\boldsymbol{u}_1,\\ldots,\\boldsymbol{u}_m],$$ where $\\boldsymbol{u}_k\\in\\mathbb{R}^n$ denotes solution at $t=k\\Delta t$. The DMD is trying to find the best $\\boldsymbol{A}$ such that $$\\boldsymbol{U}^+ = \\boldsymbol{A}\\boldsymbol{U}^-,$$ where $\\boldsymbol{U}^+ = [\\boldsymbol{u}_2,\\ldots,\\boldsymbol{u}_m]$ and $\\boldsymbol{U}^- = [\\boldsymbol{u}_1, \\ldots, \\boldsymbol{u}_{m-1}]$. The following procedure is taken to find the best $\\boldsymbol{A}$. Take the singular value decomposition (SVD) of $\\boldsymbol{U}^-$ $$\\boldsymbol{U}^- \\approx \\boldsymbol{W}\\boldsymbol{\\Omega}\\boldsymbol{V}^*,$$ where $*$ denotes the conjugate transpose, $\\boldsymbol{W}\\in\\mathbb{C}^{n\\times r}$, $\\boldsymbol{\\Omega}\\in\\mathbb{C}^{r\\times r}$, $\\boldsymbol{V}\\in\\mathbb{C}^{m\\times r}$, and $r \\leq m$. Because $\\boldsymbol{U}^+ = \\boldsymbol{A}\\boldsymbol{U}^-$, using the pseudo-inverse of the approximate $\\boldsymbol{U}^-$, we have $$\\boldsymbol{A} \\approx \\tilde{\\boldsymbol{A}} = \\boldsymbol{U}^+\\boldsymbol{V}\\boldsymbol{\\Omega}^{-1}\\boldsymbol{W}^*$$ It is easier to deal with the reduced operator $\\tilde{\\boldsymbol{A}}_r$, which relates the discrete-time dynamic of reduced states: $$\\tilde{\\boldsymbol{u}}_{k+1} = \\tilde{\\boldsymbol{A}}_r\\tilde{\\boldsymbol{u}}_k,$$ where $\\boldsymbol{u}_k = \\boldsymbol{W} \\tilde{\\boldsymbol{u}}_k$ and $\\tilde{\\boldsymbol{A}}_r$ is defined as $$\\tilde{\\boldsymbol{A}}_r=\\boldsymbol{W}^*\\tilde{\\boldsymbol{A}}\\boldsymbol{W}$$ $$\\tilde{\\boldsymbol{A}}_r=\\boldsymbol{W}^*\\boldsymbol{U}^+\\boldsymbol{V}\\boldsymbol{\\Omega}^{-1}$$ Let the eigen-decomposition of $\\tilde{\\boldsymbol{A}}_r$ to be $$\\tilde{\\boldsymbol{A}}_r \\boldsymbol{X} = \\boldsymbol{X}\\boldsymbol{\\Lambda}$$ and set either $\\boldsymbol{\\Phi} = \\boldsymbol{W}\\boldsymbol{X}$ or $\\boldsymbol{\\Phi} = \\boldsymbol{U}^+ \\boldsymbol{V} \\boldsymbol{\\Omega}^{-1}\\boldsymbol{X}$, then the DMD solution at time, $t$, can be found as $$\\boldsymbol{u}(t) = \\boldsymbol{\\Phi}\\boldsymbol{\\Lambda}^{t/\\Delta t} \\boldsymbol{b}_0,$$ where $\\boldsymbol{b}_0 = \\boldsymbol{\\Phi}^\\dagger \\boldsymbol{u}_0$. For the detailed explanation about the DMD, we refer to the following book: J.N. Kutz, S.L. Brunton, B.W. Brunton, J.L. Proctor, Dynamic mode decomposition: data-driven modeling of complex systems . Society for Industrial and Applied Mathematics , 2016 Projection-based reduced order model In contrast to the DMD, the projection-based reduced order model (pROM) takes an intrusive approach, that is, it is NOT equation-free. The pROM first represents the solution as a linear combincation of reduced basis. The reduced basis can be obtained by the POD, for example. Let's denote the reduced basis as $\\boldsymbol{\\Phi}\\in\\mathbb{R}^{n\\times r}$ and express the solution, $\\boldsymbol{u}\\in\\mathbb{R}^n$ as $$\\boldsymbol{u} = \\boldsymbol{u}_{\\text{ref}}+\\boldsymbol{\\Phi}\\hat{\\boldsymbol{u}},$$ where $\\hat{\\boldsymbol{u}} \\in \\mathbb{R}^r$ denotes the generalized coordinates with respect to the reduced basis. Then we substitute $\\boldsymbol{u}$ in the governing equation, say a nonlinear dynamical system governed by the following ordinary differential equations, $$\\frac{d\\boldsymbol{u}}{dt} = \\boldsymbol{f}(\\boldsymbol{u},t;\\boldsymbol{\\mu}),$$ to obtain the over-determined system, i.e., $$\\boldsymbol{\\Phi}\\frac{d\\hat{\\boldsymbol{u}}}{dt} = \\boldsymbol{f}(\\boldsymbol{u}_{\\text{ref}}+\\boldsymbol{\\Phi}\\hat{\\boldsymbol{u}},t;\\boldsymbol{\\mu}),$$ which has more equations than unknowns. Therefore, the system needs to be closed by a projection. Galerkin and Petrov-Galerking projections are popular. For example, the Galerkin projection multiplies both sides by $\\boldsymbol{\\Phi}^T$ and the system of equations become $$\\frac{d\\hat{\\boldsymbol{u}}}{dt} = \\boldsymbol{\\Phi}^T \\boldsymbol{f}(\\boldsymbol{u}_{\\text{ref}}+\\boldsymbol{\\Phi}\\hat{\\boldsymbol{u}},t;\\boldsymbol{\\mu})$$ By the way, the nonlinear term $\\boldsymbol{f}$ still scales with the full order model size and it needs to be updated every time its argument changes due to Newton step updates, for example. The hyper-reduction provides an efficient way of computing nonlinear terms by sampling an important subset. By the way, if $\\boldsymbol{f}$ is linear, then $\\boldsymbol{\\Phi}^T\\boldsymbol{f}$ can be pre-computed, so the hyper-reduction is not necessary. Hyper-reduction Hyper-reduction is essential to reduce the complexity of nonlinear terms in pROM. The most popular hyper-reduction technique is the discrete empirical interpolation method (DEIM). The DEIM approximates the nonlinear term with a gappy POD, i.e., it expresses the nonlinear term with a linear combination of the nonlinear term reduced basis, $\\boldsymbol{\\Phi}_{f}\\in\\mathbb{R}^{n\\times f}$: $$\\boldsymbol{f} \\approx \\boldsymbol{\\Phi}_f \\hat{\\boldsymbol{f}},$$ where $\\hat{\\boldsymbol{f}}\\in\\mathbb{R}^{f}$ is a generalized coordinate for the nonlinear term. The usual data for the nonlinear term basis, $\\boldsymbol{\\Phi}_{f}$ is snapshot of nonlinear term itself. Alternatively, it can be replaced by the solution basis (i.e., $\\boldsymbol{\\Phi}$ or slight modification of it) via the SNS method introduced in the following journal paper: Y. Choi, D. Coombs, R. Anderson, SNS: a solution-based nonlinear subspace method for time-dependent model order reduction . SIAM Journal on Scientific Computing , 42(2), A1116\u2013A1146, 2020 Then, we introduce a sampling matrix (in order words, a collocation matrix), $\\boldsymbol{Z}\\in\\mathbb{R}^{n\\times z}$, which selects a subset of the nonliear term, $\\boldsymbol{F}$. That is, each column of $\\boldsymbol{Z}$ is a column of the identity matrix, $\\boldsymbol{I} \\in \\mathbb{R}^{n\\times n}$. Combining the collocation matrix and the nonlinear basis, we solve the following least-squares problem to solve for the generalized coordinate, $\\hat{\\boldsymbol{f}}$: $$\\hat{\\boldsymbol{f}} = \\underset{\\boldsymbol{y}\\in{\\mathbb{R}^{f}}}{\\arg\\min} \\hspace{3pt} || \\boldsymbol{Z}^T\\boldsymbol{f} - \\boldsymbol{Z}^T\\boldsymbol{\\Phi}_f \\boldsymbol{y} ||_2^2$$ The solution to the least-squares problem is known to be $$\\hat{\\boldsymbol{f}} = (\\boldsymbol{Z}^T\\boldsymbol{\\Phi}_{f})^\\dagger \\boldsymbol{Z}^T\\boldsymbol{f}.$$ Note that $(\\boldsymbol{Z}^T\\boldsymbol{\\Phi}_{f})^\\dagger$ can be pre-computed once the indices for $\\boldsymbol{Z}$ and $\\boldsymbol{\\Phi}_f$ are known. Note also that you do not need to construct $\\boldsymbol{Z}$. You only need to sample selected rows of $\\boldsymbol{\\Phi}_f$ and do the pseudo-inversion. This is what we do in libROM. Also note that we only need to evaluate a subset of $\\boldsymbol{f}$ because of $\\boldsymbol{Z}^T$ in front of $\\boldsymbol{f}$. Parametric ROMs Whether it is intrusive or non-intrusive ROM, if the ROM can only reproduce the full order model simulation data with high accuracy, it is useless because the full order model solution is already available. In order for any ROMs to be useful, they must be able to predict the solution which is not generated yet. We call such a ROM parametric because it is able to predict the solution for a new parameter value. Two extreme types of parametric ROMs are global and local ROMs. Global ROMs The global ROMs collect simulation data over several sampled points in a given parameter space and use all of them as a whole, building a global reduced basis. The size of the reduced basis becomes larger as the number of samples increases. Therefore, the global ROM is only effective when a small number of samples are used. Local ROMs A local ROM is built with the simulation data corresponding only to one specific sample. Usually, several local ROMs are built for several sample points and either interpolation or trust-region is used to predict the solution at points which were not sampled. Greedy sampling algorithm The greedy sampling algorithm is a physics-informed sampling strategy to build a parametric ROM . The parametric ROM can be used to predict the solution of a new parameter point that has not been seen in the training phase. The greey algorithms follow the general procedure below: Define a parameter space Pick an initial point in the parameter space to build a ROM there (a good cancidiate initla point is either the centroid or one of end points) Evaluate error indicator of the current ROM (either global or local ROM) at $N$ random points within the parameter space Check if the maximum error indicator value is less than the desirable accuracy threshold If the answer to Step 4 is yes, then terminate the greedy process. If the answer to Step 4 is no, then collect the full order model simulation data at the maximum error indicator point and add them to update the ROM Go to Step 3. The success of the greedy algorithm depends on the error indicator . The error indicator must satisfy the following two criteria: Its value must have positive correlation with the relative error measure The evaluation of the error indicator must be computationally efficient Note that the error indicator plays a role of a proxy for the accuracy of the ROM. The most popular error indicator is residual-based, which we recommend you to use for your physical simulations. The general framework of the greedy algorithm is implemented in libROM. The example of the libROM usage case can be found for the Poisson problem at poisson_greedy.cpp . The corresponding tutorial page can be found here . Several variants of the greedy procedure described above is possible. For more detailed explanation about the greedy algorithm, we refer to the following jounral paper, where the greedy algorithm is described for the interpolated ROM in a matrix manifold: Y. Choi, G. Boncoraglio, S. Anderson, D. Amsallem, C. Farhat, Gradient-based constrained optimization using a database of linear reduced order models . Journal of Computational Physics , 423, 109787, 2020 We recommend another excellent paper for the greedy algorithm: A. Paul-Dubois-Taine, D. Amsallem, An adaptive and efficient greedy procedure for the optimal training of parametric reduced-order models . International Journal for Numerical Methods in Engineering , 102, p1262-1292, 2014 Latent Space Dynamics Identification Latent Space Dynamics Identification (LaSDI) is a reduced order model framework that follows three distinct steps: compression , identification , and prediction . For compression, LaSDI employs both linear and nonlinear techniques. For identification, it uses sparse regression methods, such as SINDy and weak-form SINDy, or adopts a fixed form, like the neural network version of GENERIC formalism (i.e., GFINN). We recommend the followin excellent papers for LaSDI framework: W.D. Fries, X. He, and Y. Choi, Lasdi: Parametric latent space dynamics identification . Computer Methods in Applied Mechanics and Engineering , 399, p.115436, 2022 X. He, Y. Choi, W.D. Fries, J.L. Belof, J.S. Chen, gLaSDI: Parametric physics-informed greedy latent space dynamics identification . Journal of Computational Physics , 489, p.112267. 2023 C. Bonneville, Y. Choi, D. Ghosh, J.L. Belof, GPLaSDI: Gaussian process-based interpretable latent space dynamics identification through deep autoencoder . Computer Methods in Applied Mechanics and Engineering , 418, p.116535, 2024 A. Tran, X. He, D.A. Messenger, Y. Choi, D.M. Bortz, Weak-form latent space dynamics identification . Computer Methods in Applied Mechanics and Engineering , 427, p.116998, 2024 J.S.R. Park, S.W. Cheung, Y. Choi, Y. Shin, tLaSDI: Thermodynamics-informed latent space dynamics identification . arXiv preprint arXiv:2403.05848, 2024 C. Bonneville, X. He, A. Tran, J.S. Park, W. Fries, D.A. Messenger, S.W. Cheung, Y. Shin, D.M. Bortz, D. Ghosh, J.S. Chen, A Comprehensive Review of Latent Space Dynamics Identification Algorithms for Intrusive and Non-Intrusive Reduced-Order-Modeling . arXiv preprint arXiv:2403.10748, 2024 Domain Decomposition Nonlinear Manifold Reduced Order Model Domain Decomposition Nonlinear Manifold Reduced Order Model (DD-NM-ROM) constructs local nonlinear manifold reduced order models in space to mitigate the high computational cost of neural network training caused by large-scale data as the full order model size increases. This approach maintains the expressive power offered by nonlinear manifold solution representation. We recommend the followin excellent paper for DD-NM-ROM: A.N. Diaz, Y. Choi, M. Heinkenschloss, A fast and accurate domain decomposition nonlinear manifold reduced order model . Computer Methods in Applied Mechanics and Engineering , 425, p.116943, 2024 Open Source libROM is an open-source software, and can be freely used under the terms of the MIT and APACHE license.","title":"Features"},{"location":"features.html#features","text":"The goal of libROM is to provide high-performance scalable library for data-driven reduced order modeling.","title":"Features"},{"location":"features.html#proper-orthogonal-decomposition","text":"One of the core features in libROM is the ability to extract important modes from given physical simulation data. The proper othogonal decomposition (POD) is a popular method for compressing physical simulation data to obtain optimal \"reduced\" bases in the following sense: $$\\boldsymbol{\\Phi} =\\underset{\\boldsymbol{A}\\in\\mathbb{R}^{n\\times r}, \\boldsymbol{A}^T\\boldsymbol{A} = \\boldsymbol{I}_{r\\times r} }{\\arg\\min} || \\boldsymbol{U} - \\boldsymbol{A}\\boldsymbol{A}^T\\boldsymbol{U} ||_F^2, $$ where $\\boldsymbol{U}\\in\\mathbb{R}^{n\\times m}$ is simulation data and $\\boldsymbol{I}_{r\\times r} \\in \\mathbb{R}^{r\\times r}$ denotes an identity matrix. That is, the POD tries to find the orthogonal matrix, $\\boldsymbol{\\Phi}$, whose span minimizes the projection error in the Frobenius norm. The POD modes can be obtained in two equivalent ways: (i) eigenvalue decomposition and (ii) singular value decomposition (SVD). We take the latter approach, i.e., let's say the thin SVD of $\\boldsymbol{U}$ is given by $$\\boldsymbol{U} = \\boldsymbol{W\\Sigma V}^T.$$ Then the solution of the POD is given by taking the first $r$ columns of the left singular matrix, i.e., $\\boldsymbol{\\Phi} = [\\boldsymbol{w}_{1},\\ldots ,\\boldsymbol{w}_r]$, where $\\boldsymbol{w}_k$ is $k$th left singular vector, assuming that the singular value is written in the decreasing order.","title":"Proper orthogonal decomposition"},{"location":"features.html#efficient-data-collection","text":"High-fidelity physical simulations generate intensive data in its size, which makes the data collection process daunting. Therefore, the libROM aims to ease the difficulty associated with the intensive data size. The libROM can be directly integrated to the physics solver that generates the intensive simulation data. For example, if the physical simulation is time dependent, then each time step solution data can be feed into the libROM incrementally so that the singular value decomposition is efficiently updated in parallel. This approach is incremental SVD . There are other types of SVDs which exploits efficiency. The libROM provides following four SVDs: Static SVD incremental SVD randomized SVD space-time SVD","title":"Efficient data collection"},{"location":"features.html#static-svd","text":"The static SVD waits the libROM to collect all the simulation data. Once the snapshot matrix $\\boldsymbol{U}$ is formed, then the SVD is performed. Therefore, if the data size is big, this approach is not efficient and not recommended. However, because it gives the most accurate SVD results, it is ideal for a small problem.","title":"Static SVD"},{"location":"features.html#incremental-svd","text":"Unlike the static SVD, the incremental SVD does not wait. Instead, as the data comes in, the SVD is performed right away. Because the incremental SVD only needs to find out the effect of one additional simulation data vector to the previous SVD, the update can be done very efficiently without requiring much memory. Therefore, it is useful for large-scale problems. For the detailed explanation about the incremental SVD, we refer to the following journal papers: M. Brand, Incremental singular value decomposition of uncertain data with missing values , In European Conference on Computer Vision , p707-720, 2002 G. Oxberry, T. Kostova-Vassilevska, W. Arrighi, K. Chand, Limited-memory adaptive snapshot selection for proper orthogonal decomposition , International Journal for Numerical Methods in Engineering , 109(2), p198-217, 2016 H. Fareed, J.R. Singler, Error Analysis of an Incremental Proper Orthogonal Decomposition Algorithm for PDE Simulation Data , Journal of Computational and Applied Mathematics , 368, 112525, 2020","title":"Incremental SVD"},{"location":"features.html#randomized-svd","text":"Randomization can bring computational efficiency in computing SVDs. For example, consider that one needs to extract $p$ dominant modes from $n \\times m$ tall dense matrix, using SVD. The randomized SVD requires $\\mathcal{O}(nm\\log(p))$ floating-point operations, while the static SVD algorithm requires $\\mathcal{O}(nmp)$ flops. The randomized SVD that is implemented in libROM can be found in the following journal paper: N. Halko, P.G. Martinsson, J.A. Tropp, Finding structure with randomness: Probabilistic algorithms for constructing approximate matrix decompositions . SIAM review , 53(2), p217-288, 2011","title":"Randomized SVD"},{"location":"features.html#space-time-svd","text":"For time dependent problems, one can reduce not only the spatial degrees of freedom, but also the temporal degrees of freedom by representing the space-time solution as a linear combination of a space-time reduced basis. The space-time reduced basis can be mathematically written as a Kronecker product of temporal and spatial bases. Fortunately, one can extract temporal as well as spatial reduced bases from one single SVD. The procedure is schematically depicted in the figure below: For the detailed explanation about the incremental SVD, we refer to the following three journal papers: Y. Kim, K. Wang, Y. Choi, Efficient space\u2013time reduced order model for linear dynamical systems in Python using less than 120 lines of code . Mathematics , 9(14), 1690, 2021 Y. Choi, P. Brown, W. Arrighi, R. Anderson, K. Huynh, Space\u2013time reduced order model for large-scale linear dynamical systems with application to boltzmann transport problems . Journal of Computational Physics , 424, 109845, 2021 Y. Choi, K. Carlberg, Space-time least-squares Petrov-Galerkin projection for nonlinear model reduction , SIAM Journal on Scientific Computing , 41(1), A26-A58, 2019","title":"Space-time SVD"},{"location":"features.html#dynamic-mode-decomposition","text":"The dynamic mode decomposition (DMD) provides a great way of finding an approximate locally linear dynamical system, $$ \\frac{d\\boldsymbol{u}}{dt} = \\mathcal{A}\\boldsymbol{u},$$ for a given nonlinear dynamical system, $$ \\frac{d\\boldsymbol{u}}{dt} = \\boldsymbol{f}(\\boldsymbol{u},t;\\boldsymbol{\\mu}),$$ with initial condition, $\\boldsymbol{u}_0$. It takes non-intrusive approach, i.e., equation-free method, so it is applicable even if there is only data, but no $\\boldsymbol{f}(\\boldsymbol{u},t;\\boldsymbol{\\mu})$. For example, let's say the discrete-time data are given as: $$\\boldsymbol{U} = [\\boldsymbol{u}_1,\\ldots,\\boldsymbol{u}_m],$$ where $\\boldsymbol{u}_k\\in\\mathbb{R}^n$ denotes solution at $t=k\\Delta t$. The DMD is trying to find the best $\\boldsymbol{A}$ such that $$\\boldsymbol{U}^+ = \\boldsymbol{A}\\boldsymbol{U}^-,$$ where $\\boldsymbol{U}^+ = [\\boldsymbol{u}_2,\\ldots,\\boldsymbol{u}_m]$ and $\\boldsymbol{U}^- = [\\boldsymbol{u}_1, \\ldots, \\boldsymbol{u}_{m-1}]$. The following procedure is taken to find the best $\\boldsymbol{A}$. Take the singular value decomposition (SVD) of $\\boldsymbol{U}^-$ $$\\boldsymbol{U}^- \\approx \\boldsymbol{W}\\boldsymbol{\\Omega}\\boldsymbol{V}^*,$$ where $*$ denotes the conjugate transpose, $\\boldsymbol{W}\\in\\mathbb{C}^{n\\times r}$, $\\boldsymbol{\\Omega}\\in\\mathbb{C}^{r\\times r}$, $\\boldsymbol{V}\\in\\mathbb{C}^{m\\times r}$, and $r \\leq m$. Because $\\boldsymbol{U}^+ = \\boldsymbol{A}\\boldsymbol{U}^-$, using the pseudo-inverse of the approximate $\\boldsymbol{U}^-$, we have $$\\boldsymbol{A} \\approx \\tilde{\\boldsymbol{A}} = \\boldsymbol{U}^+\\boldsymbol{V}\\boldsymbol{\\Omega}^{-1}\\boldsymbol{W}^*$$ It is easier to deal with the reduced operator $\\tilde{\\boldsymbol{A}}_r$, which relates the discrete-time dynamic of reduced states: $$\\tilde{\\boldsymbol{u}}_{k+1} = \\tilde{\\boldsymbol{A}}_r\\tilde{\\boldsymbol{u}}_k,$$ where $\\boldsymbol{u}_k = \\boldsymbol{W} \\tilde{\\boldsymbol{u}}_k$ and $\\tilde{\\boldsymbol{A}}_r$ is defined as $$\\tilde{\\boldsymbol{A}}_r=\\boldsymbol{W}^*\\tilde{\\boldsymbol{A}}\\boldsymbol{W}$$ $$\\tilde{\\boldsymbol{A}}_r=\\boldsymbol{W}^*\\boldsymbol{U}^+\\boldsymbol{V}\\boldsymbol{\\Omega}^{-1}$$ Let the eigen-decomposition of $\\tilde{\\boldsymbol{A}}_r$ to be $$\\tilde{\\boldsymbol{A}}_r \\boldsymbol{X} = \\boldsymbol{X}\\boldsymbol{\\Lambda}$$ and set either $\\boldsymbol{\\Phi} = \\boldsymbol{W}\\boldsymbol{X}$ or $\\boldsymbol{\\Phi} = \\boldsymbol{U}^+ \\boldsymbol{V} \\boldsymbol{\\Omega}^{-1}\\boldsymbol{X}$, then the DMD solution at time, $t$, can be found as $$\\boldsymbol{u}(t) = \\boldsymbol{\\Phi}\\boldsymbol{\\Lambda}^{t/\\Delta t} \\boldsymbol{b}_0,$$ where $\\boldsymbol{b}_0 = \\boldsymbol{\\Phi}^\\dagger \\boldsymbol{u}_0$. For the detailed explanation about the DMD, we refer to the following book: J.N. Kutz, S.L. Brunton, B.W. Brunton, J.L. Proctor, Dynamic mode decomposition: data-driven modeling of complex systems . Society for Industrial and Applied Mathematics , 2016","title":"Dynamic Mode Decomposition"},{"location":"features.html#projection-based-reduced-order-model","text":"In contrast to the DMD, the projection-based reduced order model (pROM) takes an intrusive approach, that is, it is NOT equation-free. The pROM first represents the solution as a linear combincation of reduced basis. The reduced basis can be obtained by the POD, for example. Let's denote the reduced basis as $\\boldsymbol{\\Phi}\\in\\mathbb{R}^{n\\times r}$ and express the solution, $\\boldsymbol{u}\\in\\mathbb{R}^n$ as $$\\boldsymbol{u} = \\boldsymbol{u}_{\\text{ref}}+\\boldsymbol{\\Phi}\\hat{\\boldsymbol{u}},$$ where $\\hat{\\boldsymbol{u}} \\in \\mathbb{R}^r$ denotes the generalized coordinates with respect to the reduced basis. Then we substitute $\\boldsymbol{u}$ in the governing equation, say a nonlinear dynamical system governed by the following ordinary differential equations, $$\\frac{d\\boldsymbol{u}}{dt} = \\boldsymbol{f}(\\boldsymbol{u},t;\\boldsymbol{\\mu}),$$ to obtain the over-determined system, i.e., $$\\boldsymbol{\\Phi}\\frac{d\\hat{\\boldsymbol{u}}}{dt} = \\boldsymbol{f}(\\boldsymbol{u}_{\\text{ref}}+\\boldsymbol{\\Phi}\\hat{\\boldsymbol{u}},t;\\boldsymbol{\\mu}),$$ which has more equations than unknowns. Therefore, the system needs to be closed by a projection. Galerkin and Petrov-Galerking projections are popular. For example, the Galerkin projection multiplies both sides by $\\boldsymbol{\\Phi}^T$ and the system of equations become $$\\frac{d\\hat{\\boldsymbol{u}}}{dt} = \\boldsymbol{\\Phi}^T \\boldsymbol{f}(\\boldsymbol{u}_{\\text{ref}}+\\boldsymbol{\\Phi}\\hat{\\boldsymbol{u}},t;\\boldsymbol{\\mu})$$ By the way, the nonlinear term $\\boldsymbol{f}$ still scales with the full order model size and it needs to be updated every time its argument changes due to Newton step updates, for example. The hyper-reduction provides an efficient way of computing nonlinear terms by sampling an important subset. By the way, if $\\boldsymbol{f}$ is linear, then $\\boldsymbol{\\Phi}^T\\boldsymbol{f}$ can be pre-computed, so the hyper-reduction is not necessary.","title":"Projection-based reduced order model"},{"location":"features.html#hyper-reduction","text":"Hyper-reduction is essential to reduce the complexity of nonlinear terms in pROM. The most popular hyper-reduction technique is the discrete empirical interpolation method (DEIM). The DEIM approximates the nonlinear term with a gappy POD, i.e., it expresses the nonlinear term with a linear combination of the nonlinear term reduced basis, $\\boldsymbol{\\Phi}_{f}\\in\\mathbb{R}^{n\\times f}$: $$\\boldsymbol{f} \\approx \\boldsymbol{\\Phi}_f \\hat{\\boldsymbol{f}},$$ where $\\hat{\\boldsymbol{f}}\\in\\mathbb{R}^{f}$ is a generalized coordinate for the nonlinear term. The usual data for the nonlinear term basis, $\\boldsymbol{\\Phi}_{f}$ is snapshot of nonlinear term itself. Alternatively, it can be replaced by the solution basis (i.e., $\\boldsymbol{\\Phi}$ or slight modification of it) via the SNS method introduced in the following journal paper: Y. Choi, D. Coombs, R. Anderson, SNS: a solution-based nonlinear subspace method for time-dependent model order reduction . SIAM Journal on Scientific Computing , 42(2), A1116\u2013A1146, 2020 Then, we introduce a sampling matrix (in order words, a collocation matrix), $\\boldsymbol{Z}\\in\\mathbb{R}^{n\\times z}$, which selects a subset of the nonliear term, $\\boldsymbol{F}$. That is, each column of $\\boldsymbol{Z}$ is a column of the identity matrix, $\\boldsymbol{I} \\in \\mathbb{R}^{n\\times n}$. Combining the collocation matrix and the nonlinear basis, we solve the following least-squares problem to solve for the generalized coordinate, $\\hat{\\boldsymbol{f}}$: $$\\hat{\\boldsymbol{f}} = \\underset{\\boldsymbol{y}\\in{\\mathbb{R}^{f}}}{\\arg\\min} \\hspace{3pt} || \\boldsymbol{Z}^T\\boldsymbol{f} - \\boldsymbol{Z}^T\\boldsymbol{\\Phi}_f \\boldsymbol{y} ||_2^2$$ The solution to the least-squares problem is known to be $$\\hat{\\boldsymbol{f}} = (\\boldsymbol{Z}^T\\boldsymbol{\\Phi}_{f})^\\dagger \\boldsymbol{Z}^T\\boldsymbol{f}.$$ Note that $(\\boldsymbol{Z}^T\\boldsymbol{\\Phi}_{f})^\\dagger$ can be pre-computed once the indices for $\\boldsymbol{Z}$ and $\\boldsymbol{\\Phi}_f$ are known. Note also that you do not need to construct $\\boldsymbol{Z}$. You only need to sample selected rows of $\\boldsymbol{\\Phi}_f$ and do the pseudo-inversion. This is what we do in libROM. Also note that we only need to evaluate a subset of $\\boldsymbol{f}$ because of $\\boldsymbol{Z}^T$ in front of $\\boldsymbol{f}$.","title":"Hyper-reduction"},{"location":"features.html#parametric-roms","text":"Whether it is intrusive or non-intrusive ROM, if the ROM can only reproduce the full order model simulation data with high accuracy, it is useless because the full order model solution is already available. In order for any ROMs to be useful, they must be able to predict the solution which is not generated yet. We call such a ROM parametric because it is able to predict the solution for a new parameter value. Two extreme types of parametric ROMs are global and local ROMs.","title":"Parametric ROMs"},{"location":"features.html#global-roms","text":"The global ROMs collect simulation data over several sampled points in a given parameter space and use all of them as a whole, building a global reduced basis. The size of the reduced basis becomes larger as the number of samples increases. Therefore, the global ROM is only effective when a small number of samples are used.","title":"Global ROMs"},{"location":"features.html#local-roms","text":"A local ROM is built with the simulation data corresponding only to one specific sample. Usually, several local ROMs are built for several sample points and either interpolation or trust-region is used to predict the solution at points which were not sampled.","title":"Local ROMs"},{"location":"features.html#greedy-sampling-algorithm","text":"The greedy sampling algorithm is a physics-informed sampling strategy to build a parametric ROM . The parametric ROM can be used to predict the solution of a new parameter point that has not been seen in the training phase. The greey algorithms follow the general procedure below: Define a parameter space Pick an initial point in the parameter space to build a ROM there (a good cancidiate initla point is either the centroid or one of end points) Evaluate error indicator of the current ROM (either global or local ROM) at $N$ random points within the parameter space Check if the maximum error indicator value is less than the desirable accuracy threshold If the answer to Step 4 is yes, then terminate the greedy process. If the answer to Step 4 is no, then collect the full order model simulation data at the maximum error indicator point and add them to update the ROM Go to Step 3. The success of the greedy algorithm depends on the error indicator . The error indicator must satisfy the following two criteria: Its value must have positive correlation with the relative error measure The evaluation of the error indicator must be computationally efficient Note that the error indicator plays a role of a proxy for the accuracy of the ROM. The most popular error indicator is residual-based, which we recommend you to use for your physical simulations. The general framework of the greedy algorithm is implemented in libROM. The example of the libROM usage case can be found for the Poisson problem at poisson_greedy.cpp . The corresponding tutorial page can be found here . Several variants of the greedy procedure described above is possible. For more detailed explanation about the greedy algorithm, we refer to the following jounral paper, where the greedy algorithm is described for the interpolated ROM in a matrix manifold: Y. Choi, G. Boncoraglio, S. Anderson, D. Amsallem, C. Farhat, Gradient-based constrained optimization using a database of linear reduced order models . Journal of Computational Physics , 423, 109787, 2020 We recommend another excellent paper for the greedy algorithm: A. Paul-Dubois-Taine, D. Amsallem, An adaptive and efficient greedy procedure for the optimal training of parametric reduced-order models . International Journal for Numerical Methods in Engineering , 102, p1262-1292, 2014","title":"Greedy sampling algorithm"},{"location":"features.html#latent-space-dynamics-identification","text":"Latent Space Dynamics Identification (LaSDI) is a reduced order model framework that follows three distinct steps: compression , identification , and prediction . For compression, LaSDI employs both linear and nonlinear techniques. For identification, it uses sparse regression methods, such as SINDy and weak-form SINDy, or adopts a fixed form, like the neural network version of GENERIC formalism (i.e., GFINN). We recommend the followin excellent papers for LaSDI framework: W.D. Fries, X. He, and Y. Choi, Lasdi: Parametric latent space dynamics identification . Computer Methods in Applied Mechanics and Engineering , 399, p.115436, 2022 X. He, Y. Choi, W.D. Fries, J.L. Belof, J.S. Chen, gLaSDI: Parametric physics-informed greedy latent space dynamics identification . Journal of Computational Physics , 489, p.112267. 2023 C. Bonneville, Y. Choi, D. Ghosh, J.L. Belof, GPLaSDI: Gaussian process-based interpretable latent space dynamics identification through deep autoencoder . Computer Methods in Applied Mechanics and Engineering , 418, p.116535, 2024 A. Tran, X. He, D.A. Messenger, Y. Choi, D.M. Bortz, Weak-form latent space dynamics identification . Computer Methods in Applied Mechanics and Engineering , 427, p.116998, 2024 J.S.R. Park, S.W. Cheung, Y. Choi, Y. Shin, tLaSDI: Thermodynamics-informed latent space dynamics identification . arXiv preprint arXiv:2403.05848, 2024 C. Bonneville, X. He, A. Tran, J.S. Park, W. Fries, D.A. Messenger, S.W. Cheung, Y. Shin, D.M. Bortz, D. Ghosh, J.S. Chen, A Comprehensive Review of Latent Space Dynamics Identification Algorithms for Intrusive and Non-Intrusive Reduced-Order-Modeling . arXiv preprint arXiv:2403.10748, 2024","title":"Latent Space Dynamics Identification"},{"location":"features.html#domain-decomposition-nonlinear-manifold-reduced-order-model","text":"Domain Decomposition Nonlinear Manifold Reduced Order Model (DD-NM-ROM) constructs local nonlinear manifold reduced order models in space to mitigate the high computational cost of neural network training caused by large-scale data as the full order model size increases. This approach maintains the expressive power offered by nonlinear manifold solution representation. We recommend the followin excellent paper for DD-NM-ROM: A.N. Diaz, Y. Choi, M. Heinkenschloss, A fast and accurate domain decomposition nonlinear manifold reduced order model . Computer Methods in Applied Mechanics and Engineering , 425, p.116943, 2024","title":"Domain Decomposition Nonlinear Manifold Reduced Order Model"},{"location":"features.html#open-source","text":"libROM is an open-source software, and can be freely used under the terms of the MIT and APACHE license.","title":"Open Source"},{"location":"gallery.html","text":"Gallery This page collects screenshots from various ROM simulations based on libROM. Sedov blast simulated with Laghos and accelerated by libROM . Visualization with VisIt . 2D Gresho vortex simulated with Laghos and accelerated by libROM . Visualization with VisIt . 2D Nonlinear diffusion problem simulated with MFEM and accelerated by libROM . Visualization with VisIt . 3D Crooked pipe for nonlinear radiation diffusion problem simulated with BLAST and accelerated by libROM . Visualization with VisIt . 2D Rayleigh-Taylor instability problem simulated with Laghos and accelerated by libROM . Visualization with VisIt . 1D1V two stream instability problem simulated with HyPar and accelerated by libROM DMD and GPLaSDI . Visualization with VisIt . Triple-point problem simulated with Laghos and accelerated by libROM . Visualization with VisIt . An optimal design for the wind turbine blade solved with LiDO and accelerated by libROM . Visualization with VisIt . 3D Boltzmann particle transport problem solved with ARDRA and accelerated by libROM . Visualization with VisIt . 3D Boltzmann particle transport problem solved with ARDRA and accelerated by libROM . Visualization with VisIt . Pore collapse simulated with ALE3D and accelerated by libROM . Visualization with VisIt . Taylor-Green vortex problem simulated with Laghos and accelerated by libROM . Visualization with VisIt . Stress-constrained optimal L-bracket problem solved by LiDO and accelerated by libROM . Visualization with VisIt . 3D cantilever beam problem solved by LiDO and accelerated by libROM . Visualization with VisIt . 2D vortex shedding cylinder problem solved by SU2 and its reduced basis by libROM below. Click image below for zoomed-in picture. Visualization with ParaView . 2D NACA0012 airfoil problem solved by SU2 and its reduced basis by libROM . Click image above for zoomed-in picture. Visualization with MATLAB . 2D steady Navier-Stokes porous media problem solved by ScaleupROM . Visualization with ParaView .","title":"Gallery"},{"location":"gallery.html#gallery","text":"This page collects screenshots from various ROM simulations based on libROM. Sedov blast simulated with Laghos and accelerated by libROM . Visualization with VisIt . 2D Gresho vortex simulated with Laghos and accelerated by libROM . Visualization with VisIt . 2D Nonlinear diffusion problem simulated with MFEM and accelerated by libROM . Visualization with VisIt . 3D Crooked pipe for nonlinear radiation diffusion problem simulated with BLAST and accelerated by libROM . Visualization with VisIt . 2D Rayleigh-Taylor instability problem simulated with Laghos and accelerated by libROM . Visualization with VisIt . 1D1V two stream instability problem simulated with HyPar and accelerated by libROM DMD and GPLaSDI . Visualization with VisIt . Triple-point problem simulated with Laghos and accelerated by libROM . Visualization with VisIt . An optimal design for the wind turbine blade solved with LiDO and accelerated by libROM . Visualization with VisIt . 3D Boltzmann particle transport problem solved with ARDRA and accelerated by libROM . Visualization with VisIt . 3D Boltzmann particle transport problem solved with ARDRA and accelerated by libROM . Visualization with VisIt . Pore collapse simulated with ALE3D and accelerated by libROM . Visualization with VisIt . Taylor-Green vortex problem simulated with Laghos and accelerated by libROM . Visualization with VisIt . Stress-constrained optimal L-bracket problem solved by LiDO and accelerated by libROM . Visualization with VisIt . 3D cantilever beam problem solved by LiDO and accelerated by libROM . Visualization with VisIt . 2D vortex shedding cylinder problem solved by SU2 and its reduced basis by libROM below. Click image below for zoomed-in picture. Visualization with ParaView . 2D NACA0012 airfoil problem solved by SU2 and its reduced basis by libROM . Click image above for zoomed-in picture. Visualization with MATLAB . 2D steady Navier-Stokes porous media problem solved by ScaleupROM . Visualization with ParaView .","title":"Gallery"},{"location":"hlcs.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); HLCS Webinar ( in California time ) HLCS stands for Hartree-Livermore joint seminar series on Computational Science. We hold a webinar roughly once a month at 8:30 AM on Tuesday in California time. It is sponsored by the Hartree Centre and the Lawrence Livermore National Laboratory ( LLNL ). It is intended to spur collaboration with industry through discussions on computational science, high performance computing (HPC) and data science. Scheduled Talks in 2022 When Speaker Institution Title WebEx or Zoom Past Talks in 2022 Date Speaker Institution Title YouTube Nov. 8 Erik Draeger and David Beckingsale LLNL RADIUSS and the HPCIC: Outreach through open-source software link Sept. 13 Jony Castagna and Francesca Schiavello Hartree Centre Style Eddy Simulation link July 5 Youngsoo Choi LLNL Interpretable and Explainable Data-Driven Methods for Physical Simulations link May 24 Michael Gleaves and Vassil Alexandrov Hartree Centre Industrial engagement and research highlights at the Hartree Center link","title":"HLCS"},{"location":"hlcs.html#hlcs-webinar-in-california-time","text":"HLCS stands for Hartree-Livermore joint seminar series on Computational Science. We hold a webinar roughly once a month at 8:30 AM on Tuesday in California time. It is sponsored by the Hartree Centre and the Lawrence Livermore National Laboratory ( LLNL ). It is intended to spur collaboration with industry through discussions on computational science, high performance computing (HPC) and data science.","title":"HLCS Webinar (in California time)"},{"location":"hlcs.html#scheduled-talks-in-2022","text":"When Speaker Institution Title WebEx or Zoom","title":"Scheduled Talks in 2022"},{"location":"hlcs.html#past-talks-in-2022","text":"Date Speaker Institution Title YouTube Nov. 8 Erik Draeger and David Beckingsale LLNL RADIUSS and the HPCIC: Outreach through open-source software link Sept. 13 Jony Castagna and Francesca Schiavello Hartree Centre Style Eddy Simulation link July 5 Youngsoo Choi LLNL Interpretable and Explainable Data-Driven Methods for Physical Simulations link May 24 Michael Gleaves and Vassil Alexandrov Hartree Centre Industrial engagement and research highlights at the Hartree Center link","title":"Past Talks in 2022"},{"location":"news.html","text":"All News Updates News in 2024 Date Message Sep 1, 2024 tLaSDI paper is published in CMAME Aug 1, 2024 S-OPT paper is published in SISC July 13, 2024 Data-scarce paper is published in Shock Waves July 8, 2024 Progressive paper is published in Scientific Reports May 17, 2024 DD-NM-ROM open source code is available in gitHub May 15, 2024 DDFEM paper is published in CMAME Apr 29, 2024 wLaSDI paper is published in CMAME Apr 10, 2024 Gappy AE paper is published in CMAME Mar 25, 2024 DD-NM-ROM paper is published in CMAME Mar 22, 2024 tLaSDI arXiv paper is available Mar 16, 2024 LaSDI book chapter arXiv paper is available Jan 1, 2024 GPLaSDI paper is published in CMAME News in 2023 Date Message Dec 15, 2023 Alejandro Diaz presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Aaron Brown presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Christophe Bonneville presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster Dec 15, 2023 Seung Whan Chung presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster Dec 15, 2023 Tianshu Wen presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Ping-Hsuan Tsai presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Seung Won Suh presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 13, 2023 Gappy auto-encoder arXiv paper is available Dec 6, 2023 Youngsoo Choi gave a talk at CHaRMNET annual meeting Nov 20, 2023 WLaSDI arXiv paper is available Nov 20, 2023 Youngsoo Choi gave a keynote talk at Second Workshop on Physics Enhancing Machine Learning in Applied Mechanics Nov 16, 2023 Youngsoo Choi gave an invited talk at Committee on Solid Earth Geophysics Fall 2023 meeting , Note Youngsoo's talk starts at 2:50:00 Nov 7, 2023 Youngsoo Choi gave FEM@LLNL Seminar Talk Oct 6, 2023 Youngsoo Choi gave CRLC Seminar Talk Oct 4, 2023 ProgressiveROM arXiv paper is available Sep 18, 2023 Youngsoo Choi gave Applied and Computational Mathematics Seminar talk Sep 13, 2023 Youngsoo Choi gave Numerial Analysis Seminar talk at the University of Hong Kong Aug 26, 2023 Siu Wun Cheung presented at ICIAM2023 Aug 26, 2023 Youngsoo Choi presented at ICIAM2023 Aug 15, 2023 Youngsoo Choi gave DarkStar seminar talk Aug 11, 2023 Energy-Conservation-ROM technical report is available Aug 10, 2023 GPLaSDI arXiv paper is available Aug 8, 2023 pylibROM open source code is available in gitHub Jul 30, 2023 GPLaSDI open source code is available in gitHub Jul 26, 2023 Siu Wun Cheung presented at USNCCM17 Jul 25, 2023 Saad Khairallah presented at USNCCM17 Jul 25, 2023 Eric Chin presented at USNCCM17 Jul 25, 2023 Youngsoo Choi presented at USNCCM17 Jul 24, 2023 Dylan Copeland presented at USNCCM17 Jun 22, 2023 Uncertainty-aware Barlow twins ROM paper is published in IEEE Access Jun 21, 2023 gLaSDI paper is published in JCP Jun 3, 2023 Youngsoo Choi presented at SIAM OP23 Jun 2, 2023 Time Windowing DMD preprint is available in arXiv May 24, 2023 DD-NMROM preprint is available in arXiv Apr 7, 2023 Youngsoo Choi presented at TAMIDS DTL/SciML Lab Seminar Mar 29, 2023 AAAI Spring Symposium was organized Mar 10, 2023 gLaSDI open source code is available in gitHub. Mar 10, 2023 Youngsoo Choi presented at Applied Math Seminar , at UC Santa Barbara Mar 6, 2023 LaSDI open source code is available in gitHub. Feb 15, 2023 parametric DMD paper is published in JCP. Feb 3, 2023 Youngsoo Choi presented at CRLC Seminar , at UC San Diego Jan 1, 2023 Rayleigh-Taylor instability ROM paper is published in JCP. News in 2022 Date Message Dec 3, 2022 Certified auto-encoder simulator paper for Machine Learning and the Physical Sciences workshop, NeurIPS, 2022, is available. Nov 30, 2022 Barlow twins ROM paper is published in Nature Scientific Reports. Nov 29, 2022 Component-wise ROM US patent is issued. Oct 15, 2022 ccGAN ROM paper is published in Computers and Geosciences Oct 1, 2022 CWROM stress lattice paper is published in CMAME. Sep 30, 2022 Youngsoo Choi presented ``Efficient Nonlinear Manifold Reduced Order Models with Shallow Sparse Neural Network\" at SIAM MDS22 Sep 28, 2022 Dylan Copeland presented ``Reduced Order Models for Multi-Material ALE Hydrodynamics\" at SIAM MDS22 Sep 1, 2022 LaSDI paper is published in CMAME Sep 27, 2022 Siu Wun Cheung presented ``Accelerating Hydrodyanmics Simulation with Reduced Order Models\" at SIAM MDS22 Jul 19, 2022 Conservative Deep Learning Richtmyer-Meshkov Instability Model preprint is available in arXiv. Apr 26, 2022 gLaSDI preprint is available in arXiv. Mar 29, 2022 S-OPT preprint is available in arXiv. Feb 15, 2022 NM-ROM paper is published in JCP. Feb 1, 2022 Nonintrusive ROM for porous media paper is published in Advances in Water Resources. News in 2021 Date Message Dec 20, 2021 cGAN ROM is published at Nature Computational Science Nov 10, 2021 Laghos ROM is published at CMAME. Oct 1, 2021 Domain decomposition ROM paper is published at CMAME Sep 27, 2021 First version of libROM webpage is launched Aug 1, 2021 Component-wise ROM paper is published at CMAME July 19, 2021 Space time ROM-Python paper is published in Mathematics Jan 1, 2021 Space time ROM paper is published in Journal of Computational Physics News in 2020 Date Message Dec 15, 2020 local ROM for PDE-constrained optimization paper is published in JCP. Dec 12, 2020 NM-ROM paper for Machine Learning for Engineering Modeling Simulation and Design Workshop, NeurIPS, 2020, is available Apr 13, 2020 SNS hyper-reduced ROM paper is published in SISC News in 2019 Date Message Oct 17, 2019 libROM open source library becomes available in github repo","title":"_News"},{"location":"news.html#all-news-updates","text":"","title":"All News Updates"},{"location":"news.html#news-in-2024","text":"Date Message Sep 1, 2024 tLaSDI paper is published in CMAME Aug 1, 2024 S-OPT paper is published in SISC July 13, 2024 Data-scarce paper is published in Shock Waves July 8, 2024 Progressive paper is published in Scientific Reports May 17, 2024 DD-NM-ROM open source code is available in gitHub May 15, 2024 DDFEM paper is published in CMAME Apr 29, 2024 wLaSDI paper is published in CMAME Apr 10, 2024 Gappy AE paper is published in CMAME Mar 25, 2024 DD-NM-ROM paper is published in CMAME Mar 22, 2024 tLaSDI arXiv paper is available Mar 16, 2024 LaSDI book chapter arXiv paper is available Jan 1, 2024 GPLaSDI paper is published in CMAME","title":"News in 2024"},{"location":"news.html#news-in-2023","text":"Date Message Dec 15, 2023 Alejandro Diaz presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Aaron Brown presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Christophe Bonneville presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster Dec 15, 2023 Seung Whan Chung presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster Dec 15, 2023 Tianshu Wen presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Ping-Hsuan Tsai presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 15, 2023 Seung Won Suh presented at Machine Learning and the Physical Sciences Workshop, NeurIPS 2023 . Paper ; Poster ; Video Dec 13, 2023 Gappy auto-encoder arXiv paper is available Dec 6, 2023 Youngsoo Choi gave a talk at CHaRMNET annual meeting Nov 20, 2023 WLaSDI arXiv paper is available Nov 20, 2023 Youngsoo Choi gave a keynote talk at Second Workshop on Physics Enhancing Machine Learning in Applied Mechanics Nov 16, 2023 Youngsoo Choi gave an invited talk at Committee on Solid Earth Geophysics Fall 2023 meeting , Note Youngsoo's talk starts at 2:50:00 Nov 7, 2023 Youngsoo Choi gave FEM@LLNL Seminar Talk Oct 6, 2023 Youngsoo Choi gave CRLC Seminar Talk Oct 4, 2023 ProgressiveROM arXiv paper is available Sep 18, 2023 Youngsoo Choi gave Applied and Computational Mathematics Seminar talk Sep 13, 2023 Youngsoo Choi gave Numerial Analysis Seminar talk at the University of Hong Kong Aug 26, 2023 Siu Wun Cheung presented at ICIAM2023 Aug 26, 2023 Youngsoo Choi presented at ICIAM2023 Aug 15, 2023 Youngsoo Choi gave DarkStar seminar talk Aug 11, 2023 Energy-Conservation-ROM technical report is available Aug 10, 2023 GPLaSDI arXiv paper is available Aug 8, 2023 pylibROM open source code is available in gitHub Jul 30, 2023 GPLaSDI open source code is available in gitHub Jul 26, 2023 Siu Wun Cheung presented at USNCCM17 Jul 25, 2023 Saad Khairallah presented at USNCCM17 Jul 25, 2023 Eric Chin presented at USNCCM17 Jul 25, 2023 Youngsoo Choi presented at USNCCM17 Jul 24, 2023 Dylan Copeland presented at USNCCM17 Jun 22, 2023 Uncertainty-aware Barlow twins ROM paper is published in IEEE Access Jun 21, 2023 gLaSDI paper is published in JCP Jun 3, 2023 Youngsoo Choi presented at SIAM OP23 Jun 2, 2023 Time Windowing DMD preprint is available in arXiv May 24, 2023 DD-NMROM preprint is available in arXiv Apr 7, 2023 Youngsoo Choi presented at TAMIDS DTL/SciML Lab Seminar Mar 29, 2023 AAAI Spring Symposium was organized Mar 10, 2023 gLaSDI open source code is available in gitHub. Mar 10, 2023 Youngsoo Choi presented at Applied Math Seminar , at UC Santa Barbara Mar 6, 2023 LaSDI open source code is available in gitHub. Feb 15, 2023 parametric DMD paper is published in JCP. Feb 3, 2023 Youngsoo Choi presented at CRLC Seminar , at UC San Diego Jan 1, 2023 Rayleigh-Taylor instability ROM paper is published in JCP.","title":"News in 2023"},{"location":"news.html#news-in-2022","text":"Date Message Dec 3, 2022 Certified auto-encoder simulator paper for Machine Learning and the Physical Sciences workshop, NeurIPS, 2022, is available. Nov 30, 2022 Barlow twins ROM paper is published in Nature Scientific Reports. Nov 29, 2022 Component-wise ROM US patent is issued. Oct 15, 2022 ccGAN ROM paper is published in Computers and Geosciences Oct 1, 2022 CWROM stress lattice paper is published in CMAME. Sep 30, 2022 Youngsoo Choi presented ``Efficient Nonlinear Manifold Reduced Order Models with Shallow Sparse Neural Network\" at SIAM MDS22 Sep 28, 2022 Dylan Copeland presented ``Reduced Order Models for Multi-Material ALE Hydrodynamics\" at SIAM MDS22 Sep 1, 2022 LaSDI paper is published in CMAME Sep 27, 2022 Siu Wun Cheung presented ``Accelerating Hydrodyanmics Simulation with Reduced Order Models\" at SIAM MDS22 Jul 19, 2022 Conservative Deep Learning Richtmyer-Meshkov Instability Model preprint is available in arXiv. Apr 26, 2022 gLaSDI preprint is available in arXiv. Mar 29, 2022 S-OPT preprint is available in arXiv. Feb 15, 2022 NM-ROM paper is published in JCP. Feb 1, 2022 Nonintrusive ROM for porous media paper is published in Advances in Water Resources.","title":"News in 2022"},{"location":"news.html#news-in-2021","text":"Date Message Dec 20, 2021 cGAN ROM is published at Nature Computational Science Nov 10, 2021 Laghos ROM is published at CMAME. Oct 1, 2021 Domain decomposition ROM paper is published at CMAME Sep 27, 2021 First version of libROM webpage is launched Aug 1, 2021 Component-wise ROM paper is published at CMAME July 19, 2021 Space time ROM-Python paper is published in Mathematics Jan 1, 2021 Space time ROM paper is published in Journal of Computational Physics","title":"News in 2021"},{"location":"news.html#news-in-2020","text":"Date Message Dec 15, 2020 local ROM for PDE-constrained optimization paper is published in JCP. Dec 12, 2020 NM-ROM paper for Machine Learning for Engineering Modeling Simulation and Design Workshop, NeurIPS, 2020, is available Apr 13, 2020 SNS hyper-reduced ROM paper is published in SISC","title":"News in 2020"},{"location":"news.html#news-in-2019","text":"Date Message Oct 17, 2019 libROM open source library becomes available in github repo","title":"News in 2019"},{"location":"poisson.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); Poisson equation The main code for this tutorial can be found in poisson_global_rom.cpp , which accelerates the Poisson problem $$-\\Delta u = f$$ with homogeneous Dirichlet boundary conditions. The numerical results can be found in Poisson Problem . libROM assumes that you have a physics code, such as MFEM , SU2 , and Laghos . Then, libROM can be integrated into the physics code to build ROM to accelerate physics simulation. For example, see numerical results in Examples and Gallery . This tutorial illustrates how various libROM objects and functions can be used to collect simulation data, build reduced basis, and construct reduced order model operator to accelerate and predict a target physics simulation. The following tutorials are available: Tutorial 1 : offline , Take and write simulation data with libROM. Tutorial 2 : merge , Collect simulation data and build a reduced basis. Tutorial 3 : online , Build a ROM operator, solve the ROM system, and restore the full order state. Building Follow the building page to build the libROM library. You must build it with -m option to build MFEM library together. ~/libROM> ./scripts/compile.sh -m Tutorial 1 This tutorial demonstrates how to collect simulation data with libROM. The important object is BasisGenerator , which collects simulation data and computes reduced basis, using various singular value decomposition ( SVD ) algorithms, e.g., incremental SVD and static SVD . The incremental SVD is useful for time-dependent problems. Because the Poisson problem is a time-independent problem, we will focus on the usage of the static SVD. The definition of BasisGenerator class can be found in BasisGenerator.h . You must include BasisGenerator.h in your physics code where the simulation data is generated. For example, BasisGenerator.h is included in Line 32 of poisson_global_rom.cpp for Poisson Problem . #include \"BasisGenerator.h\" A BasisGenerator pointer is defined in Line 234 of poisson_global_rom.cpp and the pointer is initiated in Line 243 of poisson_global_rom.cpp . The BasisGenerator requires four inputs to initialize, i.e., Options , boolean variable, string, and Database::formats. The object, Options, sets various options for the BasisGenerator, such as the basis dimension and singular value tolerance. The boolean variable determines if the incremental or static SVD will be used. For this tutorial, we choose the static SVD, so the boolean variable must be false. Finally, the string input specifies the name of the basis file and Database::formats specifies the file format for the basis file. The default format is Database::HDF5. The detailed description for inputs for Options and BasisGenerator can be found in Options.h and BasisGenerator.h . The specific inputs used for the Poisson problem can be found in Lines 227--232 of poisson_global_rom.cpp . Now, the instantiated BasisGenerator, i.e., generator , collects the simulation data once it is available. The Poisson problem generates the solution, $X$, in Line 338 of poisson_global_rom.cpp and it is collected in the generator in Line 345 of poisson_global_rom.cpp . The member function, writeSnapshot on Line 346 of poisson_global_rom.cpp simply writes the solution data in the specified HDF5 file. Make sure that the pointers, generator and options , are deleted after done with sampling. This completes the libROM data collection implementation, which corresponds to the offline phase in the Poisson problem . If you execute the following command: poisson_global_rom -offline -f 1.0 -id 0 then you should see the HDF5 snapshot output file, i.e., basis0_snapshot.000000 . The command line options above include -offline that indicates the offline phase, -f 1.0 sets the frequency variable $\\kappa=1.0$ (see the Poisson problem for the description of the frequency variable), and -id 0 labels the snapshot index. The visualization of the solution can be done either with VisIt or GLVis. For example, the VisIt shows the following solution contour for this specific simulation: Please execute the following commands: poisson_global_rom -offline -f 1.1 -id 1 poisson_global_rom -offline -f 1.2 -id 2 whose solution contour corresponds, respectively, to: Tutorial 2 Once the simulation data are collected within libROM basis files, they can be merged to form a reduced basis. This process is called the merge phase . It is implemented in Lines 249--270 of poisson_global_rom.cpp . As in Tutorial 1 , the objects, Options and BasisGenerator must be defined (see Lines 251--253 of poisson_global_rom.cpp . The generator iterates over the individual HDF5 snapshot file and loads them all (see Lines 254--259 of poisson_global_rom.cpp . The member function endSamples in Line 260 of poisson_global_rom.cpp computes the reduced basis. Again make sure to delete the pointers, i.e., generator and options . For exammple, the following command line option runs the merge phase: poisson_global_rom -merge -ns 3 The command line option, -merge , invokes the merges phase and -ns 3 option indicates that there are three different snapshot files. The merge phase reads the three snapshot files, i.e., basis0_snapshot.000000 , basis1_snapshot.000000 , and basis2_snapshot.000000 , which were generated in Tutorial 1 , and forms a reduced basis and stores it in the HDF5 basis file, i.e., basis.000000 . Tutorial 3 The online phase builds ROM operators, solves the ROM system, and restores the full order states for a new parameter value. This tutorial demonstrates these three different actions for the frequency value, $\\kappa = 1.15$. Lines 356--357 of poisson_global_rom.cpp implements the step of reading a basis file. The BasisReader object reads the basis file, using member function, getSpatialBasis , which returns a Matrix object in libROM. The number of rows and columns of the reduced basis can be obtained through the member functions of the Matrix class, i.e., numRows and numColumns , respectively. Line 364 of poisson_global_rom.cpp defines a MFEM DenseMatrix that holds the transpose of the reduced basis matrix. This must be understood as the transpose because libROM stores the matrix row-wise. The MFEM matrix is defined to form a reduced system operator, whose process is implemented in Lines 368--375 of poisson_global_rom.cpp . Then the reduced system operator is inverted at Line 370 of poisson_global_rom.cpp . The reduced right-hand-side is formed by multiplying the reduced basis transpose to the full order model right-hand-side vector, $B$ at Line 374 of poisson_global_rom.cpp . Line 380 of poisson_global_rom.cpp solves the reduced system of equation. Line 384 of poisson_global_rom.cpp restores the corresponding full order state by multipling the reduced solution by the reduced basis. The command line options that executes the online phase described above are poisson_global_rom -online -f 1.15 where -online option invokes the online phase and -f 1.15 sets the frequency value $\\kappa = 1.15$. This particular example ROM accelerates the physics simulation by $7.5$ and achieves the relative error, $6.4e-4$, with respect to the corresponding full order model solution.","title":"Poisson equation"},{"location":"poisson.html#poisson-equation","text":"The main code for this tutorial can be found in poisson_global_rom.cpp , which accelerates the Poisson problem $$-\\Delta u = f$$ with homogeneous Dirichlet boundary conditions. The numerical results can be found in Poisson Problem . libROM assumes that you have a physics code, such as MFEM , SU2 , and Laghos . Then, libROM can be integrated into the physics code to build ROM to accelerate physics simulation. For example, see numerical results in Examples and Gallery . This tutorial illustrates how various libROM objects and functions can be used to collect simulation data, build reduced basis, and construct reduced order model operator to accelerate and predict a target physics simulation. The following tutorials are available: Tutorial 1 : offline , Take and write simulation data with libROM. Tutorial 2 : merge , Collect simulation data and build a reduced basis. Tutorial 3 : online , Build a ROM operator, solve the ROM system, and restore the full order state.","title":"Poisson equation"},{"location":"poisson.html#building","text":"Follow the building page to build the libROM library. You must build it with -m option to build MFEM library together. ~/libROM> ./scripts/compile.sh -m","title":"Building"},{"location":"poisson.html#tutorial-1","text":"This tutorial demonstrates how to collect simulation data with libROM. The important object is BasisGenerator , which collects simulation data and computes reduced basis, using various singular value decomposition ( SVD ) algorithms, e.g., incremental SVD and static SVD . The incremental SVD is useful for time-dependent problems. Because the Poisson problem is a time-independent problem, we will focus on the usage of the static SVD. The definition of BasisGenerator class can be found in BasisGenerator.h . You must include BasisGenerator.h in your physics code where the simulation data is generated. For example, BasisGenerator.h is included in Line 32 of poisson_global_rom.cpp for Poisson Problem . #include \"BasisGenerator.h\" A BasisGenerator pointer is defined in Line 234 of poisson_global_rom.cpp and the pointer is initiated in Line 243 of poisson_global_rom.cpp . The BasisGenerator requires four inputs to initialize, i.e., Options , boolean variable, string, and Database::formats. The object, Options, sets various options for the BasisGenerator, such as the basis dimension and singular value tolerance. The boolean variable determines if the incremental or static SVD will be used. For this tutorial, we choose the static SVD, so the boolean variable must be false. Finally, the string input specifies the name of the basis file and Database::formats specifies the file format for the basis file. The default format is Database::HDF5. The detailed description for inputs for Options and BasisGenerator can be found in Options.h and BasisGenerator.h . The specific inputs used for the Poisson problem can be found in Lines 227--232 of poisson_global_rom.cpp . Now, the instantiated BasisGenerator, i.e., generator , collects the simulation data once it is available. The Poisson problem generates the solution, $X$, in Line 338 of poisson_global_rom.cpp and it is collected in the generator in Line 345 of poisson_global_rom.cpp . The member function, writeSnapshot on Line 346 of poisson_global_rom.cpp simply writes the solution data in the specified HDF5 file. Make sure that the pointers, generator and options , are deleted after done with sampling. This completes the libROM data collection implementation, which corresponds to the offline phase in the Poisson problem . If you execute the following command: poisson_global_rom -offline -f 1.0 -id 0 then you should see the HDF5 snapshot output file, i.e., basis0_snapshot.000000 . The command line options above include -offline that indicates the offline phase, -f 1.0 sets the frequency variable $\\kappa=1.0$ (see the Poisson problem for the description of the frequency variable), and -id 0 labels the snapshot index. The visualization of the solution can be done either with VisIt or GLVis. For example, the VisIt shows the following solution contour for this specific simulation: Please execute the following commands: poisson_global_rom -offline -f 1.1 -id 1 poisson_global_rom -offline -f 1.2 -id 2 whose solution contour corresponds, respectively, to:","title":"Tutorial 1"},{"location":"poisson.html#tutorial-2","text":"Once the simulation data are collected within libROM basis files, they can be merged to form a reduced basis. This process is called the merge phase . It is implemented in Lines 249--270 of poisson_global_rom.cpp . As in Tutorial 1 , the objects, Options and BasisGenerator must be defined (see Lines 251--253 of poisson_global_rom.cpp . The generator iterates over the individual HDF5 snapshot file and loads them all (see Lines 254--259 of poisson_global_rom.cpp . The member function endSamples in Line 260 of poisson_global_rom.cpp computes the reduced basis. Again make sure to delete the pointers, i.e., generator and options . For exammple, the following command line option runs the merge phase: poisson_global_rom -merge -ns 3 The command line option, -merge , invokes the merges phase and -ns 3 option indicates that there are three different snapshot files. The merge phase reads the three snapshot files, i.e., basis0_snapshot.000000 , basis1_snapshot.000000 , and basis2_snapshot.000000 , which were generated in Tutorial 1 , and forms a reduced basis and stores it in the HDF5 basis file, i.e., basis.000000 .","title":"Tutorial 2"},{"location":"poisson.html#tutorial-3","text":"The online phase builds ROM operators, solves the ROM system, and restores the full order states for a new parameter value. This tutorial demonstrates these three different actions for the frequency value, $\\kappa = 1.15$. Lines 356--357 of poisson_global_rom.cpp implements the step of reading a basis file. The BasisReader object reads the basis file, using member function, getSpatialBasis , which returns a Matrix object in libROM. The number of rows and columns of the reduced basis can be obtained through the member functions of the Matrix class, i.e., numRows and numColumns , respectively. Line 364 of poisson_global_rom.cpp defines a MFEM DenseMatrix that holds the transpose of the reduced basis matrix. This must be understood as the transpose because libROM stores the matrix row-wise. The MFEM matrix is defined to form a reduced system operator, whose process is implemented in Lines 368--375 of poisson_global_rom.cpp . Then the reduced system operator is inverted at Line 370 of poisson_global_rom.cpp . The reduced right-hand-side is formed by multiplying the reduced basis transpose to the full order model right-hand-side vector, $B$ at Line 374 of poisson_global_rom.cpp . Line 380 of poisson_global_rom.cpp solves the reduced system of equation. Line 384 of poisson_global_rom.cpp restores the corresponding full order state by multipling the reduced solution by the reduced basis. The command line options that executes the online phase described above are poisson_global_rom -online -f 1.15 where -online option invokes the online phase and -f 1.15 sets the frequency value $\\kappa = 1.15$. This particular example ROM accelerates the physics simulation by $7.5$ and achieves the relative error, $6.4e-4$, with respect to the corresponding full order model solution.","title":"Tutorial 3"},{"location":"poisson_greedy.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); Greedy for Poisson equation The main code for this tutorial can be found at poisson_local_rom_greedy.cpp , which demonstrates how to use libROM to execute greedy procedure for the ROM of the Poisson problem introduced in the Poisson equation tutorial . For the recap, the general procedure of the greedy algorithm follows: Define a parameter space Pick an initial point in the parameter space to build a ROM there (a good cancidiate initla point is either the centroid or one of end points) Evaluate error indicator of the current ROM (either global or local ROM) at $N$ random points within the parameter space Check if the maximum error indicator value is less than the desirable accuracy threshold If the answer to Step 4 is yes, then terminate the greedy process. If the answer to Step 4 is no, then collect the full order model simulation data at the maximum error indicator point and add them to update the ROM Go to Step 3. As in the Poisson equation tutorial , we choose to vary the frequency $\\kappa$ as parameter. First, we define the parameter space to be from $0.5$ to $3$, which is larger than the one used in Poisson equation tutorial . You can try the following command line options to run the greedy procedure: ./poisson_local_rom_greedy -build_database -greedy-param-min 0.5 -greedy-param-max 3 -greedy-param-size 40 -greedysubsize 10 -greedyconvsize 20 -greedyrelerrortol 0.01 The lower and upper bounds of the parameter are determined by the options, -greedy-param-min and -greedy-param-max , respectively. The option -greedy-param-size specifies the total number of random sample points within the parameter space for the whole greedy procedure. The option -greedysubsize sets the number of sub-sample points, where the error indicator is evaluated at every greedy iterations. The option -greedyconvsize sets the number of convergence-sample points on which the error indicator is checked and the termination of the greedy algorithm is determined if the error indicators are below the convergence threshold after the error indicator tests on the sub-sample points have been passed. Finally, -greedyrelerrortol sets the desirable relative error for the greedy algorithm to achieve. The core class of the libROM for the greedy procedure is GreedySampler , which is defined on Line 126 of poisson_local_rom_greedy.cpp The GreedySampler generates sampling points within a given parameter space. The class has two sub-classes, i.e., GreedyCustomSampler and GreedyRandomSampler . The GreedyCustomSampler generates pre-defined sampling points, e.g., a tensor product sampling points, while the GreedyRandomSampler generates random sampling points, e.g., Latin hyper-cube sampling points. The GreedySampler also does book-keeping job of at which sampling point to evaluate the error indicator, when to move onto the next greedy step, and which sampling point has the maximum error indicator value. Just to be clear, the libROM does not do everything for you. For example, the error indicator must be defined in the physics solver. For the Poisson example, the residual-based error indicator is defined at Lines 529-535 of poisson_loca_rom_greedy.cpp . Once the greedy procedure completes, the log file, called poisson_greedy_algorithm_log.txt , is generated to show the progress of the greedy procedure and the final parameter points on which the global ROM was built. For example, you will see the following block at the end of the file, indicating the final parameter points on which the global ROM is built. Sampled Parameter Points [ 0.591166 ] [ 0.844964 ] [ 1.066678 ] [ 1.353370 ] [ 1.710334 ] [ 1.992794 ] [ 2.568171 ] [ 2.985638 ] Because we set the -greedyrelerrortol to be 0.01, the global ROM built through the greedy procedure must be able to predict a solution with a relative error less than 1$\\%$ for any points in the parameter space. Indeed, let's try to predict the solution at $\\kappa = 2.2$, which was not one of the final parameter points. Let's first generate the full order model solution with the following command line option: ./poisson_local_rom_greedy -offline -f 2.2 This full order model solution will be used to compute the relative error for the ROM solution. The ROM solution can be obtained by the following command line option: ./poisson_local_rom_greedy -use_database -online -f 2.2 Indeed, the relative error of 0.00167671 is achieved","title":"Greedy for Poisson"},{"location":"poisson_greedy.html#greedy-for-poisson-equation","text":"The main code for this tutorial can be found at poisson_local_rom_greedy.cpp , which demonstrates how to use libROM to execute greedy procedure for the ROM of the Poisson problem introduced in the Poisson equation tutorial . For the recap, the general procedure of the greedy algorithm follows: Define a parameter space Pick an initial point in the parameter space to build a ROM there (a good cancidiate initla point is either the centroid or one of end points) Evaluate error indicator of the current ROM (either global or local ROM) at $N$ random points within the parameter space Check if the maximum error indicator value is less than the desirable accuracy threshold If the answer to Step 4 is yes, then terminate the greedy process. If the answer to Step 4 is no, then collect the full order model simulation data at the maximum error indicator point and add them to update the ROM Go to Step 3. As in the Poisson equation tutorial , we choose to vary the frequency $\\kappa$ as parameter. First, we define the parameter space to be from $0.5$ to $3$, which is larger than the one used in Poisson equation tutorial . You can try the following command line options to run the greedy procedure: ./poisson_local_rom_greedy -build_database -greedy-param-min 0.5 -greedy-param-max 3 -greedy-param-size 40 -greedysubsize 10 -greedyconvsize 20 -greedyrelerrortol 0.01 The lower and upper bounds of the parameter are determined by the options, -greedy-param-min and -greedy-param-max , respectively. The option -greedy-param-size specifies the total number of random sample points within the parameter space for the whole greedy procedure. The option -greedysubsize sets the number of sub-sample points, where the error indicator is evaluated at every greedy iterations. The option -greedyconvsize sets the number of convergence-sample points on which the error indicator is checked and the termination of the greedy algorithm is determined if the error indicators are below the convergence threshold after the error indicator tests on the sub-sample points have been passed. Finally, -greedyrelerrortol sets the desirable relative error for the greedy algorithm to achieve. The core class of the libROM for the greedy procedure is GreedySampler , which is defined on Line 126 of poisson_local_rom_greedy.cpp The GreedySampler generates sampling points within a given parameter space. The class has two sub-classes, i.e., GreedyCustomSampler and GreedyRandomSampler . The GreedyCustomSampler generates pre-defined sampling points, e.g., a tensor product sampling points, while the GreedyRandomSampler generates random sampling points, e.g., Latin hyper-cube sampling points. The GreedySampler also does book-keeping job of at which sampling point to evaluate the error indicator, when to move onto the next greedy step, and which sampling point has the maximum error indicator value. Just to be clear, the libROM does not do everything for you. For example, the error indicator must be defined in the physics solver. For the Poisson example, the residual-based error indicator is defined at Lines 529-535 of poisson_loca_rom_greedy.cpp . Once the greedy procedure completes, the log file, called poisson_greedy_algorithm_log.txt , is generated to show the progress of the greedy procedure and the final parameter points on which the global ROM was built. For example, you will see the following block at the end of the file, indicating the final parameter points on which the global ROM is built. Sampled Parameter Points [ 0.591166 ] [ 0.844964 ] [ 1.066678 ] [ 1.353370 ] [ 1.710334 ] [ 1.992794 ] [ 2.568171 ] [ 2.985638 ] Because we set the -greedyrelerrortol to be 0.01, the global ROM built through the greedy procedure must be able to predict a solution with a relative error less than 1$\\%$ for any points in the parameter space. Indeed, let's try to predict the solution at $\\kappa = 2.2$, which was not one of the final parameter points. Let's first generate the full order model solution with the following command line option: ./poisson_local_rom_greedy -offline -f 2.2 This full order model solution will be used to compute the relative error for the ROM solution. The ROM solution can be obtained by the following command line option: ./poisson_local_rom_greedy -use_database -online -f 2.2 Indeed, the relative error of 0.00167671 is achieved","title":"Greedy for Poisson equation"},{"location":"publications.html","text":"Publications 2024 T. Moore, A. A. Wong, B. Giera, D. I. Oyarzun, A. E. Gongora, T. Y. Lin, W. Li, T. Owens, D. Nguyen, V. M. Ehlinger, A. Prajapati, S. W. Chung, Pratanu Roy, Joshua DeOtte, Nicholas R. Cross, A. Aui, Y. Choi, M. Goldman, H. Y. Jeong, C. Ye, A. Sarkar, E. B. Duoss, C. Hahn, S. E. Baker, Accelerating Climate Technologies Through the Science of Scale-up , Nature Chemical Engineering 2024 Cheung, S.W., Choi, Y., Chung, S.W., Fattebert, J.L., Kendrick, C., and Osei-Kuffuor, D. Theory and numerics of subspace approximation of eigenvalue problems , arXiv preprint , arXiv:2412.08891 2024 He, X., Tran, A., Bortz, D.M., and Choi, Y. Physics-Informed Active Learning With Simultaneous Weak-Form Latent Space Dynamics Identification , International Journal for Numerical Methods in Engineering 2024 Kim, M., Wen, T., Lee, K., and Choi, Y. Physics-informed reduced order model with conditional neural fields , arXiv preprint , arXiv:2412.05233 2024 Deo I.K., Choi, Y., Khairallah, S.A., Reikher, A., and Strantza, M. Data-Driven, Parameterized Reduced-order Models for Predicting Distortion in Metal 3D Printing , arXiv preprint , arXiv:2412.04577 2024 Zanardi, I., Diaz, A.N., Chung, S.W., Panesi, M., and Choi, Y. Scalable nonlinear manifold reduced order model for dynamical systems , arXiv preprint , arXiv:2412.00507 2024 S. W. Chung, Y. Choi, P. Roy, T., Roy, T. Y. Lin, D. T. Nguyen, C. Hahn, E. B. Duoss, S. E. Baker, Scalable physics-guided data-driven component model reduction for steady Navier-Stokes flow , arXiv preprint , arXiv:2410.21583 2024 S. W. Chung, Y. Choi, P. Roy, T., Roy, T. Y. Lin, D. T. Nguyen, C. Hahn, E. B. Duoss, S. E. Baker, Scaled-up prediction of steady Navier-Stokes equation with component reduced order modeling , arXiv preprint , arXiv:2410.21534 2024 M. Juhasz, E. Chin, Y. Choi, J. T., McKeown, S. Khairallah, Data-driven Virtual Test-bed of the Blown Powder Directed Energy Deposition Process , arXiv preprint , arXiv:2409.09092 2024 J. S. R. Park, S. W. Cheung, Y. Choi, and Y. Shin, tLaSDI: Thermodynamics-informed latent space dynamics identification , Computer Methods in Applied Mechanics and Engineering 429, p117144 2024 J.T. Lauzon, S.W. Cheung, Y. Shin, Y. Choi, D. M. Copeland, K. Huynh, S-OPT: a points selection algorithm for hyper-reduction in reduced order models , SIAM Journal on Scientific Computing , 46, 4, 2024 S.W. Cheung, Y. Choi, H.K. Springer, T. Kadeethum, Data-scarce surrogate modeling of shock-induced pore collapse process , Shock Waves , 34, p237--256, 2024 T. Kadeethum, D. O'Malley, Y. Choi, H.S. Viswanathan, H. Yoon Progressive transfer learning for advancing machine learning-based reduced-order modeling , Scientific Reports , 14, 15731 2024 S. Chung, Y. Choi, P. Roy, T. Moore, T. Roy, T. Y. Lin, D. T. Nguyen, C. Hahn, E. B. Duoss, S. E. Baker Train small, model big: Scalable physics simulators via reduced order modeling and domain decomposition , Computer Methods in Applied Mechanics and Engineering , 427, 117041, 2024 A. Tran, X. He, D. A. Messenger, Y. Choi, D. M. Bortz, Weak-form latent space dynamics identification , Computer Methods in Applied Mechanics and Engineering , 427, 116998, 2024 X. He, A. Tran, D. M. Bortz, Y. Choi, Physics-informed active learning with simultaneous weak-form latent space dynamics identification , arXiv preprint , arXiv:2407.00337, 2024 Y. Kim, Y. Choi, B. Yoo, Gappy AE: A nonlinear approach for Gappy data reconstruction using auto-encoder , Computer Methods in Applied Mechanics and Engineering , 426, 116978, 2024 A. N. Diaz, Y. Choi, M. Heinkenschloss A fast and accurate domain decomposition nonlinear manifold reduced order model , Computer Methods in Applied Mechanics and Engineering , 425, 116943, 2024 C. Bonneville, X. He, A. Tran, J. S. Park, W. Fries, D. A. Messenger, S. W. Cheung, D. M. Bortz, D. Ghosh, J. S. Chen, A Comprehensive Review of Latent Space Dynamics Identification Algorithms for Intrusive and Non-Intrusive Reduced-Order-Modeling , arXiv preprint arXiv:2403.10748 2024 C. Bonneville, Y. Choi, D. Ghosh, J.L. Belof, GPLaSDI: Gaussian Process-based Interpretable Latent Space Dynamics Identification through Deep Autoencoder , Computer Methods in Applied Mechanics and Engineering , 418, 116535, 2024 2023 Y. Kim, Y. Choi, B. Yoo, Gappy data reconstruction using unsupervised learning for digital twin , arXiv preprint , arXiv:2312.07902 2023 S.W. Chung, Y. Choi, P. Roy, T. Moore, T. Roy, T.Y. Lin, D.T. Nguyen, C. Hahn, E.B. Duoss, S.E., Baker, Train small, model big: Scalable physics simulations via reduced order modeling and domain decomposition , arXiv preprint , arXiv:2401.10245 2023 C. Bonneville, Y. Choi, D. Ghosh, J.L. Belof Data-driven autoencoder numerical solver with uncertainty quantification for fast physical simulations , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 A.N. Diaz, Y. Choi, M. Heinkenschloss Nonlinear-manifold reduced order models with domain decomposition , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 S.W. Suh, S.W. Chung, P.T. Bremer, Y. Choi Accelerating flow simulations using online dynamic mode decomposition , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 A.L. Brown, E.B. Chin, Y. Choi, S.A. Khairallah, J.T. McKeown A data-driven, non-linear, parameterized reduced order model of metal 3D printing , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 T. Wen, K. Lee, Y. Choi Reduced-order modeling for parameterized PDEs via implicit neural representations , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 A. Tran, X. He, D.A. Messenger, Y. Choi, D.M. Bortz Weak-form latent space dynamics identification , arXiv preprint , arXiv:2311.12880 2023 P.H. Tsai, S.W. Chung, D. Ghosh, J. Loffeld, Y. Choi, J.L. Belof Accelerating kinetic simulations of electrostatic plasmas with reduced-order modeling , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 T. Kadeethum, D. O'Malley, Y. Choi, H.S. Viswanathan, H. Yoon Progressive reduced order modeling: empowering data-driven modeling with selective knowledge transfer , arXiv preprint , arXiv:2310.03770 2023 C. Vales, Y. Choi, D.M. Copeland, S.W. Cheung Energy conserving quadrature based dimensionality reduction for nonlinear hydrodynamics problems , Technical Report , LLNL-TR-853055 2023 T. Kadeethum, J.D. Jakeman, Y. Choi, N. Bouklas, H. Yoon, Epistemic uncertainty-aware Barlow twins reduced order modeling for nonlinear contact problems , IEEE Access , 2023 X. He, Y. Choi, W. Fries, J. Belof, J.S. Chen, gLaSDI: Parametric physics-informed greedy latent space dynamics identification , Journal of Computational Physics , 489, 112267, 2023 A.N. Diaz, Y. Choi, M. Heinkenschloss, A fast and accurate domain-decomposition nonlinear manifold reduced order model , arXiv preprint , arXiv:2305.15163, 2023 Q.A. Huhn, M.E. Tano, J.C. Ragusa, Y. Choi, Parametric dynamic mode decomposition for reduced order modeling , Journal of Computational Physics , 475, 111852, 2023 C. G. Petra, M. Salazar De Troya, N. Petra, Y. Choi, G. M. Oxberry, D. Tortorelli, On the implementation of a quasi-Newton interior-point method for PDE-constrained optimization using finite element discretizations , Optimization Methods and Software , 1-32, 2023 S.W Cheung, Y. Choi, D. Copeland, K. Huynh, Local Lagrangian reduced-order modeling for Rayleigh-Taylor instability by solution manifold decomposition , Journal of Computational Physics , 472, 111655, 2023 2022 T. Kadeethum, F. Ballarin, D. O'Malley, Y. Choi, N. Bouklas, H. Yoon, Reduced order modeling for flow and transport problems with Barlow Twins self-supervised learning , Scientific Reports , 12(1), 2022 X. He, Y. Choi, W. Fries, J. Belof, J.S. Chen, Certified data-driven physics-informed greedy auto-encoder simulator , arXiv preprint , arXiv:2211.13698, 2022 S. McBane, Y. Choi, K. Willcox, Stress-constrained topology optimization of lattice-like structures using component-wise reduced order models , Computer Methods in Applied Mechanics and Engineering , 400, 115525, 2022 T. Kadeethum, D. O'Malley, Y. Choi, H.S. Viswanathan, N. Bouklas, and H. Yoon, Continuous conditional generative adversarial networks for data-driven solutions of poroelasticity with heterogeneous material properties , Computers & Geosciences , Volume 167, 105212, 2022 W. Fries, X. He, Y. Choi, LaSDI: Parametric latent space dynamics identification , Computer Methods in Applied Mechanics and Engineering , volume 399, 115436, 2022 , Also available as arXiv:2203.02076 . C.F. Jekel, D.M. Sterbentz, S. Aubry, Y. Choi, D.A. White, J.L. Belof, Using Conservation Laws to Infer Deep Learning Model Accuracy of Richtmyer-Meshkov Instabilities arXiv preprint , arXiv:2208.11477, 2022 Y. Kim, Y. Choi, D. Widemann, T. Zohdi, A fast and accurate physics-informed neural network reduced order model with shallow masked autoencoder , Journal of Computational Physics , 451, 110841, 2022 . Also available as arXiv:2009.11990 . T. Kadeethum, F. Ballarin, D. O'Malley, Y. Choi, N. Bouklas, H. Yoon, Reduced order modeling with Barlow Twins self-supervised learning: Navigating the space between linear and nonlinear solution manifolds , arXiv preprint , arXiv:2202.05460, 2022 D. Copeland, S.W. Cheung, K. Huynh, Y. Choi, Reduced order models for Lagrangian hydrodynamics , Computer Methods in Applied Mechanics and Engineering , Volume 388, 114259, 2022 . Also available as arXiv:2104.11404 . T. Kadeethum, F. Ballarin, Y. Choi, D. O'Malley, H. Yoon, N. Bouklas, Non-intrusive reduced order modeling of natural convection in porous media using convolutional autoencoders: Comparison with linear subspace techniques , Advances in Water Resources , Volume 160, 104098, 2022 2021 T. Kadeethum, D. O'Malley, J.N. Fuhg, Y. Choi, J. Lee, H.S. Viswanathan, N. Bouklas, A framework for data-driven solution and parameter estimation of PDEs using conditional generative adversarial networks , Nature Computational Science , 1, 819-829, 2021 C. Hoang, Y. Choi, K. Carlberg, Domain-decomposition least-squares Petrov-Galerkin (DD-LSPG) nonlinear model reduction , Computer Methods in Applied Mechanics and Engineering , Volume 384, 113997, 2021 S. McBane, Y. Choi, Component-wise reduced order model lattice-type structure design , Computer Methods in Applied Mechanics and Engineering , 381, 113813, 2021 Y. Kim, K.M. Wang, Y. Choi, Efficient space-time reduced order model for linear dynamical systems in Python using less than 120 lines of code , Mathematics , 9(14), 1690, 2021 Y. Choi, P. Brown, W. Arrighi, R. Anderson, K. Huynh, Space-time reduced order model for large-scale linear dynamical systems with application to Boltzmann transport problems , Journal of Computational Physics , 424, 109845, 2021 . Also available as arXiv:1910.01260 . 2020 Y. Choi, D. Coombs, R. Anderson, SNS: A Solution-based nonlinear subspace method for time-dependent model order reduction , SIAM Journal on Scientific Computing , 42(2), A1116-A1147, 2020 Y. Choi, G. Boncoraglio, S. Anderson, D. Amsallem, C. Farhat Gradient-based constrained optimization using a database of linear reduced order models , Journal of Computational Physics , 423, 109787, 2020 . Also available as arXiv:1506.07849 . Y. Kim, Y. Choi, D. Widemann, T. Zohdi, Efficient nonlinear manifold reduced order model Workshop on machine learning for engineering modeling, simulation and design @ NeurIPS 2020 , 2020 . Also available as arXiv:2011.07727 2019 and earlier Y. Choi, K. Carlberg, Space-time least-squares Petrov-Galerkin projection for nonlinear model reduction , SIAM Journal on Scientific Computing , 41(1), A26-A58, 2019 Y. Choi, G. Oxberry, D. Whit, T. Kirchdoerfer, Accelerating design optimization using reduced order models , arXiv preprint , arXiv:1909.11320, 2019 K. Carlberg, Y. Choi, S. Sargsyan, Conservative model reduction for finite-volume models , Journal of Computational Physics , 371, p280-314, 2018 G. Oxberry, T. Kostova-Vassilevska, W. Arrighi, K. Chand, Limited-memory adaptive snapshot selection for proper orthogonal decomposition , International Journal of Numerical Methods in Engineering , 109(2), p198-217, 2016 D. Amsallem, M. Zahr, Y. Choi, C. Farhat, Design optimization using hyper-reduced-order models , Structural and Multidisciplinary Optimization , 51, p919-940, 2015 MathJax.Hub.Config({TeX: {equationNumbers: {autoNumber: \"all\"}}, tex2jax: {inlineMath: [['$','$']]}});","title":"Publications"},{"location":"publications.html#publications","text":"","title":"Publications"},{"location":"publications.html#2024","text":"T. Moore, A. A. Wong, B. Giera, D. I. Oyarzun, A. E. Gongora, T. Y. Lin, W. Li, T. Owens, D. Nguyen, V. M. Ehlinger, A. Prajapati, S. W. Chung, Pratanu Roy, Joshua DeOtte, Nicholas R. Cross, A. Aui, Y. Choi, M. Goldman, H. Y. Jeong, C. Ye, A. Sarkar, E. B. Duoss, C. Hahn, S. E. Baker, Accelerating Climate Technologies Through the Science of Scale-up , Nature Chemical Engineering 2024 Cheung, S.W., Choi, Y., Chung, S.W., Fattebert, J.L., Kendrick, C., and Osei-Kuffuor, D. Theory and numerics of subspace approximation of eigenvalue problems , arXiv preprint , arXiv:2412.08891 2024 He, X., Tran, A., Bortz, D.M., and Choi, Y. Physics-Informed Active Learning With Simultaneous Weak-Form Latent Space Dynamics Identification , International Journal for Numerical Methods in Engineering 2024 Kim, M., Wen, T., Lee, K., and Choi, Y. Physics-informed reduced order model with conditional neural fields , arXiv preprint , arXiv:2412.05233 2024 Deo I.K., Choi, Y., Khairallah, S.A., Reikher, A., and Strantza, M. Data-Driven, Parameterized Reduced-order Models for Predicting Distortion in Metal 3D Printing , arXiv preprint , arXiv:2412.04577 2024 Zanardi, I., Diaz, A.N., Chung, S.W., Panesi, M., and Choi, Y. Scalable nonlinear manifold reduced order model for dynamical systems , arXiv preprint , arXiv:2412.00507 2024 S. W. Chung, Y. Choi, P. Roy, T., Roy, T. Y. Lin, D. T. Nguyen, C. Hahn, E. B. Duoss, S. E. Baker, Scalable physics-guided data-driven component model reduction for steady Navier-Stokes flow , arXiv preprint , arXiv:2410.21583 2024 S. W. Chung, Y. Choi, P. Roy, T., Roy, T. Y. Lin, D. T. Nguyen, C. Hahn, E. B. Duoss, S. E. Baker, Scaled-up prediction of steady Navier-Stokes equation with component reduced order modeling , arXiv preprint , arXiv:2410.21534 2024 M. Juhasz, E. Chin, Y. Choi, J. T., McKeown, S. Khairallah, Data-driven Virtual Test-bed of the Blown Powder Directed Energy Deposition Process , arXiv preprint , arXiv:2409.09092 2024 J. S. R. Park, S. W. Cheung, Y. Choi, and Y. Shin, tLaSDI: Thermodynamics-informed latent space dynamics identification , Computer Methods in Applied Mechanics and Engineering 429, p117144 2024 J.T. Lauzon, S.W. Cheung, Y. Shin, Y. Choi, D. M. Copeland, K. Huynh, S-OPT: a points selection algorithm for hyper-reduction in reduced order models , SIAM Journal on Scientific Computing , 46, 4, 2024 S.W. Cheung, Y. Choi, H.K. Springer, T. Kadeethum, Data-scarce surrogate modeling of shock-induced pore collapse process , Shock Waves , 34, p237--256, 2024 T. Kadeethum, D. O'Malley, Y. Choi, H.S. Viswanathan, H. Yoon Progressive transfer learning for advancing machine learning-based reduced-order modeling , Scientific Reports , 14, 15731 2024 S. Chung, Y. Choi, P. Roy, T. Moore, T. Roy, T. Y. Lin, D. T. Nguyen, C. Hahn, E. B. Duoss, S. E. Baker Train small, model big: Scalable physics simulators via reduced order modeling and domain decomposition , Computer Methods in Applied Mechanics and Engineering , 427, 117041, 2024 A. Tran, X. He, D. A. Messenger, Y. Choi, D. M. Bortz, Weak-form latent space dynamics identification , Computer Methods in Applied Mechanics and Engineering , 427, 116998, 2024 X. He, A. Tran, D. M. Bortz, Y. Choi, Physics-informed active learning with simultaneous weak-form latent space dynamics identification , arXiv preprint , arXiv:2407.00337, 2024 Y. Kim, Y. Choi, B. Yoo, Gappy AE: A nonlinear approach for Gappy data reconstruction using auto-encoder , Computer Methods in Applied Mechanics and Engineering , 426, 116978, 2024 A. N. Diaz, Y. Choi, M. Heinkenschloss A fast and accurate domain decomposition nonlinear manifold reduced order model , Computer Methods in Applied Mechanics and Engineering , 425, 116943, 2024 C. Bonneville, X. He, A. Tran, J. S. Park, W. Fries, D. A. Messenger, S. W. Cheung, D. M. Bortz, D. Ghosh, J. S. Chen, A Comprehensive Review of Latent Space Dynamics Identification Algorithms for Intrusive and Non-Intrusive Reduced-Order-Modeling , arXiv preprint arXiv:2403.10748 2024 C. Bonneville, Y. Choi, D. Ghosh, J.L. Belof, GPLaSDI: Gaussian Process-based Interpretable Latent Space Dynamics Identification through Deep Autoencoder , Computer Methods in Applied Mechanics and Engineering , 418, 116535, 2024","title":"2024"},{"location":"publications.html#2023","text":"Y. Kim, Y. Choi, B. Yoo, Gappy data reconstruction using unsupervised learning for digital twin , arXiv preprint , arXiv:2312.07902 2023 S.W. Chung, Y. Choi, P. Roy, T. Moore, T. Roy, T.Y. Lin, D.T. Nguyen, C. Hahn, E.B. Duoss, S.E., Baker, Train small, model big: Scalable physics simulations via reduced order modeling and domain decomposition , arXiv preprint , arXiv:2401.10245 2023 C. Bonneville, Y. Choi, D. Ghosh, J.L. Belof Data-driven autoencoder numerical solver with uncertainty quantification for fast physical simulations , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 A.N. Diaz, Y. Choi, M. Heinkenschloss Nonlinear-manifold reduced order models with domain decomposition , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 S.W. Suh, S.W. Chung, P.T. Bremer, Y. Choi Accelerating flow simulations using online dynamic mode decomposition , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 A.L. Brown, E.B. Chin, Y. Choi, S.A. Khairallah, J.T. McKeown A data-driven, non-linear, parameterized reduced order model of metal 3D printing , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 T. Wen, K. Lee, Y. Choi Reduced-order modeling for parameterized PDEs via implicit neural representations , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 A. Tran, X. He, D.A. Messenger, Y. Choi, D.M. Bortz Weak-form latent space dynamics identification , arXiv preprint , arXiv:2311.12880 2023 P.H. Tsai, S.W. Chung, D. Ghosh, J. Loffeld, Y. Choi, J.L. Belof Accelerating kinetic simulations of electrostatic plasmas with reduced-order modeling , Machine Learning and the Physical Sciences Workshop, NeurIPS , 2023 T. Kadeethum, D. O'Malley, Y. Choi, H.S. Viswanathan, H. Yoon Progressive reduced order modeling: empowering data-driven modeling with selective knowledge transfer , arXiv preprint , arXiv:2310.03770 2023 C. Vales, Y. Choi, D.M. Copeland, S.W. Cheung Energy conserving quadrature based dimensionality reduction for nonlinear hydrodynamics problems , Technical Report , LLNL-TR-853055 2023 T. Kadeethum, J.D. Jakeman, Y. Choi, N. Bouklas, H. Yoon, Epistemic uncertainty-aware Barlow twins reduced order modeling for nonlinear contact problems , IEEE Access , 2023 X. He, Y. Choi, W. Fries, J. Belof, J.S. Chen, gLaSDI: Parametric physics-informed greedy latent space dynamics identification , Journal of Computational Physics , 489, 112267, 2023 A.N. Diaz, Y. Choi, M. Heinkenschloss, A fast and accurate domain-decomposition nonlinear manifold reduced order model , arXiv preprint , arXiv:2305.15163, 2023 Q.A. Huhn, M.E. Tano, J.C. Ragusa, Y. Choi, Parametric dynamic mode decomposition for reduced order modeling , Journal of Computational Physics , 475, 111852, 2023 C. G. Petra, M. Salazar De Troya, N. Petra, Y. Choi, G. M. Oxberry, D. Tortorelli, On the implementation of a quasi-Newton interior-point method for PDE-constrained optimization using finite element discretizations , Optimization Methods and Software , 1-32, 2023 S.W Cheung, Y. Choi, D. Copeland, K. Huynh, Local Lagrangian reduced-order modeling for Rayleigh-Taylor instability by solution manifold decomposition , Journal of Computational Physics , 472, 111655, 2023","title":"2023"},{"location":"publications.html#2022","text":"T. Kadeethum, F. Ballarin, D. O'Malley, Y. Choi, N. Bouklas, H. Yoon, Reduced order modeling for flow and transport problems with Barlow Twins self-supervised learning , Scientific Reports , 12(1), 2022 X. He, Y. Choi, W. Fries, J. Belof, J.S. Chen, Certified data-driven physics-informed greedy auto-encoder simulator , arXiv preprint , arXiv:2211.13698, 2022 S. McBane, Y. Choi, K. Willcox, Stress-constrained topology optimization of lattice-like structures using component-wise reduced order models , Computer Methods in Applied Mechanics and Engineering , 400, 115525, 2022 T. Kadeethum, D. O'Malley, Y. Choi, H.S. Viswanathan, N. Bouklas, and H. Yoon, Continuous conditional generative adversarial networks for data-driven solutions of poroelasticity with heterogeneous material properties , Computers & Geosciences , Volume 167, 105212, 2022 W. Fries, X. He, Y. Choi, LaSDI: Parametric latent space dynamics identification , Computer Methods in Applied Mechanics and Engineering , volume 399, 115436, 2022 , Also available as arXiv:2203.02076 . C.F. Jekel, D.M. Sterbentz, S. Aubry, Y. Choi, D.A. White, J.L. Belof, Using Conservation Laws to Infer Deep Learning Model Accuracy of Richtmyer-Meshkov Instabilities arXiv preprint , arXiv:2208.11477, 2022 Y. Kim, Y. Choi, D. Widemann, T. Zohdi, A fast and accurate physics-informed neural network reduced order model with shallow masked autoencoder , Journal of Computational Physics , 451, 110841, 2022 . Also available as arXiv:2009.11990 . T. Kadeethum, F. Ballarin, D. O'Malley, Y. Choi, N. Bouklas, H. Yoon, Reduced order modeling with Barlow Twins self-supervised learning: Navigating the space between linear and nonlinear solution manifolds , arXiv preprint , arXiv:2202.05460, 2022 D. Copeland, S.W. Cheung, K. Huynh, Y. Choi, Reduced order models for Lagrangian hydrodynamics , Computer Methods in Applied Mechanics and Engineering , Volume 388, 114259, 2022 . Also available as arXiv:2104.11404 . T. Kadeethum, F. Ballarin, Y. Choi, D. O'Malley, H. Yoon, N. Bouklas, Non-intrusive reduced order modeling of natural convection in porous media using convolutional autoencoders: Comparison with linear subspace techniques , Advances in Water Resources , Volume 160, 104098, 2022","title":"2022"},{"location":"publications.html#2021","text":"T. Kadeethum, D. O'Malley, J.N. Fuhg, Y. Choi, J. Lee, H.S. Viswanathan, N. Bouklas, A framework for data-driven solution and parameter estimation of PDEs using conditional generative adversarial networks , Nature Computational Science , 1, 819-829, 2021 C. Hoang, Y. Choi, K. Carlberg, Domain-decomposition least-squares Petrov-Galerkin (DD-LSPG) nonlinear model reduction , Computer Methods in Applied Mechanics and Engineering , Volume 384, 113997, 2021 S. McBane, Y. Choi, Component-wise reduced order model lattice-type structure design , Computer Methods in Applied Mechanics and Engineering , 381, 113813, 2021 Y. Kim, K.M. Wang, Y. Choi, Efficient space-time reduced order model for linear dynamical systems in Python using less than 120 lines of code , Mathematics , 9(14), 1690, 2021 Y. Choi, P. Brown, W. Arrighi, R. Anderson, K. Huynh, Space-time reduced order model for large-scale linear dynamical systems with application to Boltzmann transport problems , Journal of Computational Physics , 424, 109845, 2021 . Also available as arXiv:1910.01260 .","title":"2021"},{"location":"publications.html#2020","text":"Y. Choi, D. Coombs, R. Anderson, SNS: A Solution-based nonlinear subspace method for time-dependent model order reduction , SIAM Journal on Scientific Computing , 42(2), A1116-A1147, 2020 Y. Choi, G. Boncoraglio, S. Anderson, D. Amsallem, C. Farhat Gradient-based constrained optimization using a database of linear reduced order models , Journal of Computational Physics , 423, 109787, 2020 . Also available as arXiv:1506.07849 . Y. Kim, Y. Choi, D. Widemann, T. Zohdi, Efficient nonlinear manifold reduced order model Workshop on machine learning for engineering modeling, simulation and design @ NeurIPS 2020 , 2020 . Also available as arXiv:2011.07727","title":"2020"},{"location":"publications.html#2019-and-earlier","text":"Y. Choi, K. Carlberg, Space-time least-squares Petrov-Galerkin projection for nonlinear model reduction , SIAM Journal on Scientific Computing , 41(1), A26-A58, 2019 Y. Choi, G. Oxberry, D. Whit, T. Kirchdoerfer, Accelerating design optimization using reduced order models , arXiv preprint , arXiv:1909.11320, 2019 K. Carlberg, Y. Choi, S. Sargsyan, Conservative model reduction for finite-volume models , Journal of Computational Physics , 371, p280-314, 2018 G. Oxberry, T. Kostova-Vassilevska, W. Arrighi, K. Chand, Limited-memory adaptive snapshot selection for proper orthogonal decomposition , International Journal of Numerical Methods in Engineering , 109(2), p198-217, 2016 D. Amsallem, M. Zahr, Y. Choi, C. Farhat, Design optimization using hyper-reduced-order models , Structural and Multidisciplinary Optimization , 51, p919-940, 2015 MathJax.Hub.Config({TeX: {equationNumbers: {autoNumber: \"all\"}}, tex2jax: {inlineMath: [['$','$']]}});","title":"2019 and earlier"},{"location":"rom.html","text":"Projection-based Reduced Order Model The reduced order models are achieved by applying data-driven model order reduction techniques to high-fidelity physics models, typically represented by partial differential equations (PDEs). There is a large body of literature on reduced order models, including the following excellent books: Certified reduced basis methods for parametrized partial differential equations by Jan S. Hesthaven and Gianluigi Rozza and Benjamin Stamm Model reduction of parametrized systems by Peter Benner and Mario Ohlberger and Anthony T. Patera and Gianluigi Rozza and Karsten Urban Reduced-order modeling (ROM) for simulation and optimization by Winfried Keiper and Anja Milde and Stefan Volkwein Approximation of large-scale dynamical systems by Athanasios C. Antoulas Machine learning, low-rank approximations and reduced order modeling in computational mechanics by Felix Fritzen and David Ryckelynck Machine learning for model order reduction by Khaled Salah Mohamed Reduced order methods for modeling and computational reduction by Alfio Quarteroni and Gianluigi Rozza The successful reduced order model development depends on many factors: Good quality and quantity of data Optimal and scalable data reduction schemes Optimal projection methods Efficient hyper-reduction for nonlinear reduction Sampling algorithms The libROM is designed to provide useful and scalable identify the low-rank approximation be lightweight, general and highly scalable reduced order model toolkit that provides the building blocks for developing finite element algorithms in a manner similar to that of MATLAB for linear algebra methods. The success measure for a reduced order model: speed-up accuracy differentiability verifiability predictability Some of the C++ classes for the finite element realizations of these PDE-level concepts in libROM are described below.","title":"Projection-based Reduced Order Model"},{"location":"rom.html#projection-based-reduced-order-model","text":"The reduced order models are achieved by applying data-driven model order reduction techniques to high-fidelity physics models, typically represented by partial differential equations (PDEs). There is a large body of literature on reduced order models, including the following excellent books: Certified reduced basis methods for parametrized partial differential equations by Jan S. Hesthaven and Gianluigi Rozza and Benjamin Stamm Model reduction of parametrized systems by Peter Benner and Mario Ohlberger and Anthony T. Patera and Gianluigi Rozza and Karsten Urban Reduced-order modeling (ROM) for simulation and optimization by Winfried Keiper and Anja Milde and Stefan Volkwein Approximation of large-scale dynamical systems by Athanasios C. Antoulas Machine learning, low-rank approximations and reduced order modeling in computational mechanics by Felix Fritzen and David Ryckelynck Machine learning for model order reduction by Khaled Salah Mohamed Reduced order methods for modeling and computational reduction by Alfio Quarteroni and Gianluigi Rozza The successful reduced order model development depends on many factors: Good quality and quantity of data Optimal and scalable data reduction schemes Optimal projection methods Efficient hyper-reduction for nonlinear reduction Sampling algorithms The libROM is designed to provide useful and scalable identify the low-rank approximation be lightweight, general and highly scalable reduced order model toolkit that provides the building blocks for developing finite element algorithms in a manner similar to that of MATLAB for linear algebra methods. The success measure for a reduced order model: speed-up accuracy differentiability verifiability predictability Some of the C++ classes for the finite element realizations of these PDE-level concepts in libROM are described below.","title":"Projection-based Reduced Order Model"},{"location":"scaleup.html","text":"MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}}); ScaleupROM This page provides a list of ScaleupROM example applications. ScaleupROM is a projection-based reduced order model code with discontinuous Galerkin domain decomposition (DG-DD) using libROM and MFEM. It aims to create a robust and efficient large-scale ROM that is trained only from small scale component samples which can be used to solve a variety of physics PDEs. For more information, refer to the ScaleupROM repo and online wiki . Select from the categories below to display examples that contain the respective feature. All examples support (arbitrarily) high-order meshes and finite element spaces . The numerical results from the example codes can be visualized using the GLVis or VisIt visualization tools. See the GLVis and VisIt websites for more details. Application (PDE) All Stokes flow Reduced order model type All pROM Assembly All Discontinuous Galerkin Hyper-reduction All No hyper-reduction Physics code All MFEM Stokes flow This example demonstrates the use of ScaleupROM to create a reduced order model for the Stokes flow problem discretized using Taylor-Hood elements. The governing equation for Stokes flow is defined as $$ - \\nu \\nabla^2 \\mathbf{\\tilde{u}} + \\nabla \\mathit{\\widetilde{p}} = 0 $$ $$ \\nabla \\cdot \\mathbf{\\tilde{u}} = 0 $$ with boundary conditions $$ \\mathbf{\\tilde{u}} = \\mathbf{g}_{di} $$ $$ \\mathbf{n} \\cdot ( - \\nu \\nabla \\mathbf{\\tilde{u}} + \\mathit{\\widetilde{p}} \\mathbf{I}) = \\mathbf{g}_{ne} $$ where $\\mathbf{u}$ and $p$ denote the velocity and pressure field respectively, and $\\nu \\equiv \\frac{\\mu}{\\mu_0} = 1.1$ is the non-dimensionalized dynamic viscosity with respect to a reference value. The global-scale system is constructed using a random arrangement from five different reference components: empty, circle, triangle, square, and star. In this example, the fluid flows past an array of these components. Sample snapshots for basis training are generated on 2x2 component domains to better capture downstream flow. A total of 1400 sample snapshots were taken for this example. On each sample domain, the inflow velocity Dirichlet boundary condition is parameterized as $$ \\mathbf{g}_{di} = (g_1 + \\Delta g_1 \\sin 2\\pi (\\mathbf{k}_1 \\cdot x + \\theta_1),\\ g_2 + \\Delta g_2 \\sin 2\\pi (\\mathbf{k}_2 \\cdot x + \\theta_2)) $$ where the parameters are chosen from a uniform random distribution, $$ g_1, g_2 \\sim U[-1, 1] $$ $$ \\Delta g_1, \\Delta g_2 \\sim U[-0.1, 0.1] $$ $$ \\mathbf{k}_1, \\mathbf{k}_2 \\sim U[-0.5, 0.5]^2 $$ $$ \\theta_1, \\theta_2 \\sim U[0, 1] $$ Boundaries at the surface of the object inside the domain have a no-slip wall boundary $g_{di} = 0$ and boundaries on interior interfaces have a homogeneous Neumann boundary $g_{ne} = 0$. The figure above shows the ROM prediction for $\\mathbf{u}$ on a 8x8 system composed of random components with parameter values $g_1 = 1.5, g_2 = -0.8, \\Delta g_1 = \\Delta g_2 = 0$. One can follow the command line options below to reproduce the numerical results summarized in the table below: Generate Meshes : cd build/examples/stokes mkdir snapshots basis paraview rom-system ./setup_stokes.sh Sample Generation : ../../bin/main -i stokes.sampling.yml ROM Training : ../../bin/main -i stokes.sampling.yml -f main/mode=train_rom ROM Building : ../../bin/main -i stokes.sampling.yml -f main/mode=build_rom:main/use_rom=true ROM Prediction : ../../bin/main -i array.8.yml The table below shows the ROM performance for the 8x8 system. FOM Solution time ROM Solution time Speed-up $\\mathbf{u}$ relative error $p$ relative error 0.08298 sec 0.00408 sec 20.34 4.193e-3 3.030e-3 The code that generates the numerical results above can be found in ( stokes_flow ) No examples or miniapps match your criteria. ","title":"ScaleupROM"},{"location":"scaleup.html#scaleuprom","text":"This page provides a list of ScaleupROM example applications. ScaleupROM is a projection-based reduced order model code with discontinuous Galerkin domain decomposition (DG-DD) using libROM and MFEM. It aims to create a robust and efficient large-scale ROM that is trained only from small scale component samples which can be used to solve a variety of physics PDEs. For more information, refer to the ScaleupROM repo and online wiki . Select from the categories below to display examples that contain the respective feature. All examples support (arbitrarily) high-order meshes and finite element spaces . The numerical results from the example codes can be visualized using the GLVis or VisIt visualization tools. See the GLVis and VisIt websites for more details.","title":"ScaleupROM"},{"location":"scaleup.html#application-pde","text":"All Stokes flow","title":"Application (PDE)"},{"location":"scaleup.html#reduced-order-model-type","text":"All pROM","title":"Reduced order model type"},{"location":"scaleup.html#assembly","text":"All Discontinuous Galerkin","title":"Assembly"},{"location":"scaleup.html#hyper-reduction","text":"All No hyper-reduction","title":"Hyper-reduction"},{"location":"scaleup.html#physics-code","text":"All MFEM","title":"Physics code"},{"location":"scaleup.html#stokes-flow","text":"This example demonstrates the use of ScaleupROM to create a reduced order model for the Stokes flow problem discretized using Taylor-Hood elements. The governing equation for Stokes flow is defined as $$ - \\nu \\nabla^2 \\mathbf{\\tilde{u}} + \\nabla \\mathit{\\widetilde{p}} = 0 $$ $$ \\nabla \\cdot \\mathbf{\\tilde{u}} = 0 $$ with boundary conditions $$ \\mathbf{\\tilde{u}} = \\mathbf{g}_{di} $$ $$ \\mathbf{n} \\cdot ( - \\nu \\nabla \\mathbf{\\tilde{u}} + \\mathit{\\widetilde{p}} \\mathbf{I}) = \\mathbf{g}_{ne} $$ where $\\mathbf{u}$ and $p$ denote the velocity and pressure field respectively, and $\\nu \\equiv \\frac{\\mu}{\\mu_0} = 1.1$ is the non-dimensionalized dynamic viscosity with respect to a reference value. The global-scale system is constructed using a random arrangement from five different reference components: empty, circle, triangle, square, and star. In this example, the fluid flows past an array of these components. Sample snapshots for basis training are generated on 2x2 component domains to better capture downstream flow. A total of 1400 sample snapshots were taken for this example. On each sample domain, the inflow velocity Dirichlet boundary condition is parameterized as $$ \\mathbf{g}_{di} = (g_1 + \\Delta g_1 \\sin 2\\pi (\\mathbf{k}_1 \\cdot x + \\theta_1),\\ g_2 + \\Delta g_2 \\sin 2\\pi (\\mathbf{k}_2 \\cdot x + \\theta_2)) $$ where the parameters are chosen from a uniform random distribution, $$ g_1, g_2 \\sim U[-1, 1] $$ $$ \\Delta g_1, \\Delta g_2 \\sim U[-0.1, 0.1] $$ $$ \\mathbf{k}_1, \\mathbf{k}_2 \\sim U[-0.5, 0.5]^2 $$ $$ \\theta_1, \\theta_2 \\sim U[0, 1] $$ Boundaries at the surface of the object inside the domain have a no-slip wall boundary $g_{di} = 0$ and boundaries on interior interfaces have a homogeneous Neumann boundary $g_{ne} = 0$. The figure above shows the ROM prediction for $\\mathbf{u}$ on a 8x8 system composed of random components with parameter values $g_1 = 1.5, g_2 = -0.8, \\Delta g_1 = \\Delta g_2 = 0$. One can follow the command line options below to reproduce the numerical results summarized in the table below: Generate Meshes : cd build/examples/stokes mkdir snapshots basis paraview rom-system ./setup_stokes.sh Sample Generation : ../../bin/main -i stokes.sampling.yml ROM Training : ../../bin/main -i stokes.sampling.yml -f main/mode=train_rom ROM Building : ../../bin/main -i stokes.sampling.yml -f main/mode=build_rom:main/use_rom=true ROM Prediction : ../../bin/main -i array.8.yml The table below shows the ROM performance for the 8x8 system. FOM Solution time ROM Solution time Speed-up $\\mathbf{u}$ relative error $p$ relative error 0.08298 sec 0.00408 sec 20.34 4.193e-3 3.030e-3 The code that generates the numerical results above can be found in ( stokes_flow ) No examples or miniapps match your criteria. ","title":"Stokes flow"}]}
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index 07d689c..8d4d0f6 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,77 +2,77 @@
https://www.librom.net/index.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/about.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/building.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/ddps.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/download.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/examples.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/features.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/gallery.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/hlcs.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/news.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/poisson.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/poisson_greedy.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/publications.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/rom.html
- 2024-12-20
+ 2025-01-05
daily
https://www.librom.net/scaleup.html
- 2024-12-20
+ 2025-01-05
daily
\ No newline at end of file
diff --git a/sitemap.xml.gz b/sitemap.xml.gz
index 5474a46..e38686c 100644
Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ