LLNL / GPLaSDI

http://software.llnl.gov/GPLaSDI/
MIT License
32 stars 3 forks source link
math-physics pde

GPLaSDI

Numerically solving partial differential equations (PDEs) can be challenging and computationally expensive. This has led to the development of reduced-order models (ROMs) that are accurate but faster than full order models (FOMs). Recently, machine learning advances have enabled the creation of non-linear projection methods, such as Latent Space Dynamics Identification (LaSDI). LaSDI maps full-order PDE solutions to a latent space using autoencoders and learns the system of ODEs governing the latent space dynamics. By interpolating and solving the ODE system in the reduced latent space, fast and accurate ROM predictions can be made by feeding the predicted latent space dynamics into the decoder. In this paper, we introduce GPLaSDI, a novel LaSDI-based framework that relies on Gaussian process (GP) for latent space ODE interpolations. Using GPs offers two significant advantages. First, it enables the quantification of uncertainty over the ROM predictions. Second, leveraging this prediction uncertainty allows for efficient adaptive training through a greedy selection of additional training data points. This approach does not require prior knowledge of the underlying PDEs. Consequently, GPLaSDI is inherently non-intrusive and can be applied to problems without a known PDE or its residual. We demonstrate the effectiveness of our approach on the Burgers equation, Vlasov equation for plasma physics, and a rising thermal bubble problem. Our proposed method achieves between 200 and 100,000 times speed-up, with up to 7% relative error

Dependencies and Installation

Users can install the repository as a python package:

pip install .

This python package requires updated prerequistes:

"torch>=2.3.0",
"numpy>=1.26.4",
"scikit-learn>=1.4.2",
"scipy>=1.13.1",
"pyyaml>=6.0",
"matplotlib>=3.8.4",
"argparse>=1.4.0",
"h5py"

For LLNL LC Lassen users

The work-in-progress python package is compatiable with OpenCE-1.9.1. For installing GPLasDI on opence environment:

source /your/anaconda
conda activate /your/opence/environment

conda install scikit-learn
pip install argparse

pip install .

Examples

The example of Burgers 1D equation can be run:

cd examples
lasdi burgers1d.yml

Post-processing & visualization of the Burgers 1D equation can be seen in the jupyter notebook examples/burgers1d.ipynb.

TODO Support offline physics wrapper and Burgers 2D equation

To run the Vlasov equation and rising bubble example, HyPar also needs to be installed. It can be download and compiled by running:

git clone https://bitbucket.org/deboghosh/hypar.git
autoreconf -i
[CFLAGS="..."] [CXXFLAGS="..."] ./configure [options]
make
make install

Code Description

Core routines and classes are implemented in src/lasdi directory:

Citation

[Bonneville, C., Choi, Y., Ghosh, D., & Belof, J. L. (2023). GPLaSDI: Gaussian Process-based Interpretable Latent Space Dynamics Identification through Deep Autoencoder. arXiv preprint.]()

Acknowledgement

Y. Choi was supported for this work by the CHaRMNET Mathematical Multifaceted Integrated Capability Center (MMICC).

Licence

GPLaSDI is distributed under the terms of the MIT license. All new contributions must be made under the MIT. See LICENSE-MIT

LLNL Release Nubmer: LLNL-CODE-850536