Incremental Proper Orthogonal Decomposition (iPOD) and its application to reduced order modeling (ROM)
This repository contains a straightforward prototype implementation of the incremental POD to demonstrate its use in reduced order modeling.
The implementation of the iPOD is based on our MORe DWR paper, which is mainly influenced by the work of Kühl et al. An excerpt of the algorithm is depicted below.
The general idea of the incremental basis enrichment is to update the reduced basis whenever a new solution snapshot is available. Thus, we do not need to store all snapshots to build a basis, but can to it gradually with only the latest snapshot available. Leveraging this, we additionally introduce adaptive basis size determination and bunch updates. The latter bundles multiple snapshots for one update to improve performance. For further information, we refer to our work Fischer et al. and to Kühl et al.. Especially for an in-depth discussion of the algorithm and its parallelization, we refer to the latter.
We demonstrate the capability of the iPOD for on-the-fly reduced basis generation on the example of the Navier-Stokes equations. We borrow the full-order model from the FEniCS Project's incompressible NSE tutorial.
The easiest way to run this Jupyter Notebook is to use Google Colab. To open the notebook in Google Colab you can click on "iPOD_RB_generation.ipynb" and replace the word 'github' in the url with 'githubtocolab' or you can click on this link.
For our incremental reduced order model we consider the heat equation problem from Section 5.2 from the MORe DWR paper.
We have the domain
and the right hand side function
with
The easiest way to run this Jupyter Notebook is to use Google Colab. To open the notebook in Google Colab you can click on "iPOD_ROM.ipynb" and replace the word 'github' in the url with 'githubtocolab' or you can click on this link.
We run this code from
We then see in the following video that our incremental reduced order solution is almost indistinguishable from the full order solution and the error is a few magnitudes smaller.
@article{kuhl2024incremental,
title = {An {I}ncremental {S}ingular {V}alue {D}ecomposition {A}pproach for {L}arge-{S}cale {S}patially {P}arallel \& {D}istributed but {T}emporally {S}erial {D}ata--{A}pplied to {T}echnical {F}lows},
journal = {Comput. Phys. Commun.},
volume = {296},
pages = {109022},
year = {2024},
issn = {0010-4655},
doi = {https://doi.org/10.1016/j.cpc.2023.109022},
author = {Niklas K{\"u}hl and Hendrik Fischer and Michael Hinze and Thomas Rung},
}
@article{FiRoWiChaFau2024,
title = {{MORe} {DWR}: {Space}-time goal-oriented error control for incremental {POD}-based {ROM} for time-averaged goal functionals},
journal = {J. Comput. Phys.},
volume = {504},
pages = {112863},
year = {2024},
issn = {0021-9991},
doi = {https://doi.org/10.1016/j.jcp.2024.112863},
author = {Hendrik Fischer and Julian Roth and Thomas Wick and Ludovic Chamoin and Amelie Fau},
}
Should you have any questions do not hesitate to send us an email at
This work arises from the Scientific Computing Group headed by Professor Thomas Wick at the Institute of Applied Mathematics at the Leibniz University Hannover. In addition to internal support and resources, we acknowledge the funding of the German Research Foundation (DFG) within the framework of the International Research Training Group on Computational Mechanics Techniques in High Dimensions GRK 2657 under Grant Number 433082294. In addition, Hendrik Fischer acknowledges the collaboration with the Institute for Fluid Dynamics and Ship Theory at the Hamburg University of Technology (TUHH).