From e00044c0813eb5101fab9fd559a5fc2dfe252864 Mon Sep 17 00:00:00 2001 From: The Open Journals editorial robot <89919391+editorialbot@users.noreply.github.com> Date: Thu, 17 Oct 2024 17:39:48 +0100 Subject: [PATCH] Creating 10.21105.joss.06753.jats --- .../paper.jats/10.21105.joss.06753.jats | 447 ++++++++++++++++++ 1 file changed, 447 insertions(+) create mode 100644 joss.06753/paper.jats/10.21105.joss.06753.jats diff --git a/joss.06753/paper.jats/10.21105.joss.06753.jats b/joss.06753/paper.jats/10.21105.joss.06753.jats new file mode 100644 index 0000000000..babfd4d182 --- /dev/null +++ b/joss.06753/paper.jats/10.21105.joss.06753.jats @@ -0,0 +1,447 @@ + + +
+ + + + +Journal of Open Source Software +JOSS + +2475-9066 + +Open Journals + + + +6753 +10.21105/joss.06753 + +MODULO: A Python toolbox for data-driven modal +decomposition + + + +https://orcid.org/0000-0003-3566-6956 + +Poletti +R. + + + + + +https://orcid.org/0000-0002-7183-0242 + +Schena +L. + + + + + +https://orcid.org/0000-0002-7179-3322 + +Ninni +D. + + + + +https://orcid.org/0000-0002-1115-2187 + +Mendez +M. A. + + +* + + + +von Karman Insitute for Fluid Dynamics + + + + +University of Ghent, Belgium + + + + +Vrije Universiteit Brussel (VUB), Belgium + + + + +Politecnico di Bari, Italy + + + + +* E-mail: + + +5 +12 +2023 + +9 +102 +6753 + +Authors of papers retain copyright and release the +work under a Creative Commons Attribution 4.0 International License (CC +BY 4.0) +2022 +The article authors + +Authors of papers retain copyright and release the work under +a Creative Commons Attribution 4.0 International License (CC BY +4.0) + + + +Python +fluid dynamics +modal decomposition + + + + + + Summary +

Dimensionality reduction is an essential tool in processing large + datasets, enabling data compression, pattern recognition, and + reduced-order modeling. Many linear tools for dimensionality reduction + have been developed in fluid mechanics, where they have been + formulated to identify coherent structures and build reduced-order + models of turbulent flows + (Ranc + et al., 2014). This work proposes a major upgrade of the + software package MODULO (MODal mULtiscale pOd) + (Ninni + & Mendez, 2020), which was designed to perform Multiscale + Proper Orthogonal Decomposition (mPOD) + (Mendez + et al., 2019). In addition to implementing the classic Fourier + Transform (DFT) and Proper Orthogonal Decomposition (POD), MODULO now + also allows for computing Dynamic Mode Decomposition (DMD) + (Schmid, + 2010) as well as the Spectral POD by Sieber et al. + (2016), + the Spectral POD by Towne et al. + (2018) + and a generalized kernel-based decomposition akin to kernel PCA + (Mendez, + 2023). All algorithms are wrapped in a ‘SciKit’-like Python + API, which allows computing all decompositions in one line of code. + Documentation, exercises, and video tutorials are also provided to + offer a primer on data drive modal analysis.

+
+ + Statement of Need +

As extensively illustrated in recent reviews + (Mendez, + 2023; + Taira + et al., 2020), all modal decompositions can be considered as + special matrix factorizations. The matrix being factorized collects + (many) snapshots (samples) of a high-dimensional variable. The + factorization provides a basis for the matrix’s column and row spaces + to identify the most essential patterns (modes) according to a certain + criterion. In what follows, we will refer to common terminologies in + fluid dynamics. Nevertheless, it is worth stressing that these tools + can be applied to any high-dimensional dataset to identify patterns + and build reduced-order models + (Mendez + et al., 2019). In the common arrangement encountered in fluid + dynamics, the basis for the column space is a set of ‘spatial + structures’ while the basis for the row space is a set of `temporal + structures’. These are paired by a scalar, which defines their + relative importance. The POD, closely related to Principal Component + Analysis, yields modes with the highest energy (variance) content and, + in addition, guarantees their orthonormality by construction. In the + DFT, as implemented in MODULO, modes are defined to evolve as + orthonormal complex exponential in time. This implies that the + associated frequencies are integer multiples of a fundamental tone. + The DMD generalizes the DFT by releasing the orthogonality constraint + and considering complex frequencies, i.e., modes that can vanish or + explode. Both the constraint of energy optimality and harmonic modes + can lead to poor convergence and feature detection performances. This + motivated the development of hybrid methods such as the Spectral POD + by Towne et al. + (2018), + Spectral POD by Sieber et al. + (2016), + and Multiscale Proper Orthogonal Decomposition (mPOD) + (Mendez + et al., 2019). The first can be seen as an optimally averaged + DMD, while the second combines POD and DFT with a filtering operation. + Both SPODs assume statistically stationary data and are designed to + identify harmonic (or quasi-harmonic) modes. The mPOD combines POD + with Multi-resolution Analysis (MRA) to provide optimal modes within a + prescribed frequency band. The mPOD modes are thus spectrally less + narrow than those obtained by the SPODs, but this allows for + localizing them in time (i.e., potentially having compact support in + time). Finally, recent developments in nonlinear methods such as + kernel PCA and their applications to fluid dynamics (see Mendez + (2023)) + have motivated the interest in the connection between nonlinear + methods and the most general Karhunen-Loeve expansion (KL). This + generalizes the POD as the decomposition of data onto the + eigenfunction of a kernel function (the POD being a KL for the case of + linear kernel).

+

MODULO provides a unified tool to carry out different + decompositions with a shared API. This simplifies comparing different + techniques and streamlines their application to a given dataset + (problem). In addition, it is the only package that includes the mPOD + and the generalized KL with kernel functions interfacing with + SciKit-learn. For decomposition-specific packages, we refer the reader + to many excellent Python APIs that are available to compute the POD, + DMD, and both SPODs, for example + (Demo + et al., 2018; + Hatzissawidis + & Sieber, 2023; + Mengaldo + & Maulik, 2021; + Rogowski + et al., 2024).

+
+ + New Features +

This manuscript accompanies MODULO version 2.0. This version + features four new decompositions: the two SPODs, the DMD, and the + general KL. It also allows for different approaches to computing the + POD (interfacing with various SVD/EIG solvers from Scipy and + SciKit-learn) and a first implementation for nonuniform grids. The + memory-saving feature has been improved, and the software can now + handle 3D decompositions.

+
+ + Conclusions +

MODULO is a versatile and user-friendly toolbox for data-driven + modal decomposition. It provides a unified interface to various + decomposition methods, allowing for a straightforward comparison and + benchmarking. The package allows for modal decompositions in one line + of code. It is also designed to handle large datasets via the + so-called “memory saving” option and can handle nonuniformly sampled + data.

+
+ + Acknowledgements +

R. Poletti and L. Schena are supported by Fonds Wetenschappelijk + Onderzoek (FWO), grant numbers 1SD7823N and 1S75825N, + respectively.

+
+ + + + + + + + SieberMoritz + PaschereitC. Oliver + OberleithnerKilian + + Spectral proper orthogonal decomposition + Journal of Fluid Mechanics + Cambridge University Press + 2016 + 792 + 10.1017/jfm.2016.103 + 798 + 828 + + + + + + RancNicolas + BlancheAntoione + RyckelynckD. + ChrysochoosAndre + + POD preprocessing of IR thermal data to assess heat source distributions + Experimental Mechanics + 201404 + 55 + 10.1007/s11340-014-9858-2 + 725 + 739 + + + + + + NinniDavide + MendezMiguel A. + + MODULO: A software for multiscale proper orthogonal decomposition of data + SoftwareX + 202012 + 12 + 10.1016/j.softx.2020.100622 + 100622 + + + + + + + MendezMiguel A. + BalabaneM. + BuchlinJ.-M. + + Multi-scale proper orthogonal decomposition of complex fluid flows + Journal of Fluid Mechanics + Cambridge University Press + 2019 + 870 + 10.1017/jfm.2019.212 + 988 + 1036 + + + + + + SchmidPeter J. + + Dynamic mode decomposition of numerical and experimental data + Journal of Fluid Mechanics + Cambridge University Press + 2010 + 656 + 10.1017/S0022112010001217 + 5 + 28 + + + + + + TowneAaron + SchmidtOliver T. + ColoniusTim + + Spectral proper orthogonal decomposition and its relationship to dynamic mode decomposition and resolvent analysis + Journal of Fluid Mechanics + Cambridge University Press + 2018 + 847 + 10.1017/jfm.2018.283 + 821 + 867 + + + + + + MendezMiguel A. + + Linear and nonlinear dimensionality reduction from fluid mechanics to machine learning + Measurement Science and Technology + 202301 + 34 + 10.1088/1361-6501/acaffe + 042001 + + + + + + + TairaKunihiko + HematiMaziar S. + BruntonSteven L. + SunYiyang + DuraisamyKarthik + BagheriShervin + DawsonScott T. M. + YehChi-An + + Modal analysis of fluid flows: Applications and outlook + AIAA Journal + 2020 + 58 + 3 + https://doi.org/10.2514/1.J058462 + 10.2514/1.J058462 + 998 + 1022 + + + + + + DemoNicola + TezzeleMarco + RozzaGianluigi + + PyDMD: Python dynamic mode decomposition + Journal of Open Source Software + 2018 + 3 + 22 + 10.21105/joss.00530 + 530 + + + + + + + MengaldoGianmarco + MaulikRomit + + PySPOD: A Python package for Spectral Proper Orthogonal Decomposition (SPOD) + Journal of Open Source Software + The Open Journal + 2021 + 6 + 60 + https://doi.org/10.21105/joss.02862 + 10.21105/joss.02862 + 2862 + + + + + + + HatzissawidisGrigorios + SieberMoritz + + Spectral proper orthogonal decomposition + https://github.com/grigorishat/SPyOD + 2023 + + + + + + RogowskiMarcin + YeungBrandon C. Y. + SchmidtOliver T. + MaulikRomit + DalcinLisandro + ParsaniMatteo + MengaldoGianmarco + + Unlocking massively parallel spectral proper orthogonal decompositions in the PySPOD package + Computer Physics Communications + 2024 + 302 + 0010-4655 + https://www.sciencedirect.com/science/article/pii/S0010465524001693 + 10.1016/j.cpc.2024.109246 + 109246 + + + + + +