Releases: mendezVKI/MODULO
Modulo v2.0.7
#########
RELEASE 2.0
#########
This version expands considerably the version v1 in "Old_Python_Implementation", for which a first tutorial was provided by L. Schena in https://www.youtube.com/watch?v=y2uSvdxAwHk.
The major updates are the following :
-
Faster EIG/SVD algorithms, using powerful randomized svd solvers from scikit_learn (see this and this ). It is now possible to select various options as "eig_solver" and "svd_solver", offering different trade-offs in terms of accuracy vs computational time.
-
In addition to the traditional POD computation using the K matrix (Sirovinch's method), it is now possible to compute the POD directly via SVD using any of the four "svd_solver" options.
This is generally faster but requires more memory. -
Faster subscale estimators for the mPOD: the previous version used the rank of the correlation matrix in each scale to define the number of modes to be computed in each portion of the splitting vector before assembling the full basis. This is computationally very demanding. This estimation has been replaced by a frequency-based threshold (i.e. based on the frequency bins within each portion) since one can show that the frequency-based estimator is always more "conservative" than the rank-based estimator.
-
Major improvement on the memory saving option: the previous version of modulo always required in input the matrix D. Then, if the memory saving option was active, the matrix was partitioned and stored locally to free the RAM before computing the correlation matrix (see this tutorial by D. Ninni). In the new version, it is possible to initialize a modulo object without the matrix D (see exercise 5 in the examples). Instead, one can create the partitions without loading the matrix D.
-
Implementation of Dynamic Mode Decomposition (DMD) from Schmid, P.J 2010.
-
Implementation of the two Spectral POD formulations, namely the one from Sieber et al 2016, and the one from Towne et al 2018
-
Implementation of a kernel version of the POD, in which the correlation matrix is replaced by a kernel matrix. This is described in Lecture 15 of the course Hands on Machine Learning for Fluid dynamics 2023. See also this.
-
Implementation of a formulation for non-uniform meshes, using a weighted matrix for all the relevant inner products. This is currently available only for POD and mPOD but allows for handling data produced from CFD simulation without resampling on a uniform grid (see exercise 4). It can be used both with and without the memory-saving option.
MODULO v1.1.1
NOTABLE CHANGES
-
This release allows running the source codes also on Unix systems (Linux or MacOS). However, in these systems, memory information will not be directly available in the dedicated panel "Memory Info".
-
When running on a Unix system, the software will not advise the user on the need to activate the Memory Saving option in case of high memory requests.
Matlab Toolboxes required to run the source codes:
- Statistics and Machine Learning Toolbox (version 11.6)
- Signal Processing Toolbox (version 8.3)
- Image Processing Toolbox (version 11.0)
For questions, remarks and bugs reporting, please contact davide.ninni@poliba.it or mendez@vki.ac.be
MODULO v1.1.0
NOTABLE CHANGES
- In this version, the Memory Saving option has been improved and speeded up.
- This version fixes various minor bugs in the use of the wait-bars.
For questions, remarks and bugs reporting, please contact davide.ninni@poliba.it or mendez@vki.ac.be
MODULO v1.0.1
NOTABLE CHANGES
- This version fixes a bug that did not allow to reset the RoI after canceling the reading of snapshots.
- Now the figures of the temporal structures do not present the unit [s].
For questions, remarks and bugs reporting, please contact davide.ninni@poliba.it or mendez@vki.ac.be