Skip to content

amir-cardiolab/Nonlinear-dimensionality-reduction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nonlinear-dimensionality-reduction

This repository contains the python codes and data files for the following paper:
Comparing different nonlinear dimensionality reduction techniques for data-driven unsteady fluid flow modeling
Hunor Csala, Scott T. M. Dawson, Amirhossein Arzani
Physics of Fluids: https://doi.org/10.1063/5.0127284

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Python codes

Python codes are provided for the different examples presented in the paper. Each dimensionality reduction method can be used with all 4 four data sets (flow over a cylinder, turbulent channel flow, ICA and MCA aneurysms). The test case choice can be selected. The manifold learning codes (LLE, KPCA, LEM, Isomap) can be used for both spatial and temporal reduction by changing a boolean variable, for the autoencoders separate codes are provided for spatial (AE and MDAE) and temporal reduction (T_AE). By default PCA and the manifold learning cases are set up for spatial reduction of the flow over a cylinder case with the corresponding hyperparameters (these can be found in Table A.1 in the paper). The autoencoder cases are set up for the ICA aneurysm case with a latent space size of 8.

  • PCA - Principal Component Analysis (POD)

  • LLE - Locally Linear Embedding

  • KPCA - Kernel PCA

  • LEM - Laplacian Eigenmaps

  • Isomap - Isometric mapping

  • AE - Autoencoder (spatial reduction)

  • MDAE - Mode-decomposing Autoencoder (spatial reduction)

  • T_AE - Autoencoder (temporal reduction)

Note that the hyperparameters in the code need to be changed manually for the different test cases and the spatial/temporal reduction cases. These can be found in Table A.1 in the appendix.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Installation:
The dimensionality reduction python codes requires the following packages to be installed before running the codes:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Data:

The datasets used for test cases are too large for Github, therefore they are provided with the following link:
https://1drv.ms/u/s!AuYkVS2by4myhe1r_TUO1fe0ncP7kA?e=xPprIV

They should be placed in the /data folder under the corresponding test case name. There is a zipped version of all four test cases, but the cases are also available for download separately.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages