Skip to main content

High-performance low-order modeling with Python

Project description

Build status Build status Test-suite Test-suite-NN License DOI

pyLOM

pyLOM is a high-performance-computing enabled tool for massively parallel reduced order modelling. This tool includes parallel algorithms for the proper orthogonal decomposition (POD), dynamic mode decomposition (DMD) and spectral proper orthogonal decomposition (SPOD) as well as a set of deep learning architectures for model order reduction and surrogate modelling such as variational autoencoders. All pyLOM modules are GPU-enabled. Please check the wiki for instructions on how to deploy and contribute to the tool. Here you can find the code documentation and examples on every module.

Cite the repo!

If you find this repository useful, please cite it the source code as:

@misc{pyLOM,
  author    = {Eiximeno, Benet and Begiashvili, Beka and Miro, Arnau and Valero, Eusebio and Lehmkuhl, Oriol},
  title     = {pyLOM: Low order modelling in Python},
  year      = {2022},
  publisher = {Barcelona Supercomputing Center},
  journal   = {GitHub repository},
  url       = {https://github.com/ArnauMiro/UPM_BSC_LowOrder},
}

And the following paper where the parallel implementation, validation and profiling of the POD, DMD and SPOD are done:

Eiximeno, B., Miró, A., Begiashvili, B., Valero, E., Rodriguez, I., Lehmkhul, O., 2025. PyLOM: A HPC open source reduced order model suite for fluid dynamics applications. Computer Physics Communications 308, 109459. https://doi.org/10.1016/j.cpc.2024.109459

@article{eiximeno_pylom_2025,
	title = {{PyLOM}: {A} {HPC} open source reduced order model suite for fluid dynamics applications},
	volume = {308},
	issn = {00104655},
	doi = {10.1016/j.cpc.2024.109459},
	journal = {Computer Physics Communications},
	author = {Eiximeno, Benet and Miró, Arnau and Begiashvili, Beka and Valero, Eusebio and Rodriguez, Ivette and Lehmkhul, Oriol},
	month = mar,
	year = {2025},
	pages = {109459},
}

The following papers are application examples of some of the tools implemented in pyLOM such as the POD, DMD or variational autoencoders:

Eiximeno, B., Miró, A., Cajas, J.C., Lehmkuhl, O., Rodriguez, I., 2022. On the Wake Dynamics of an Oscillating Cylinder via Proper Orthogonal Decomposition. Fluids 7, 292. https://doi.org/10.3390/fluids7090292

Miró, A., Eiximeno, B., Rodríguez, I., & Lehmkuhl, O. (2024). Self-Induced large-scale motions in a three-dimensional diffuser. Flow, Turbulence and Combustion, 112(1), 303-320. https://doi.org/10.1007/s10494-023-00483-6

Eiximeno, B., Tur-Mongé, C., Lehmkuhl, O., & Rodríguez, I. (2023). Hybrid computation of the aerodynamic noise radiated by the wake of a subsonic cylinder. Fluids, 8(8), 236. https://doi.org/10.3390/fluids8080236

Eiximeno, B., Miró, A., Rodríguez, I., & Lehmkuhl, O. (2024). Toward the usage of deep learning surrogate models in ground vehicle aerodynamics. Mathematics, 12(7), 998. https://doi.org/10.3390/math12070998

Bibtex

@article{eiximeno_wake_2022,
	title = {On the {Wake} {Dynamics} of an {Oscillating} {Cylinder} via {Proper} {Orthogonal} {Decomposition}},
	volume = {7},
	issn = {2311-5521},
	doi = {10.3390/fluids7090292},
	number = {9},
	journal = {Fluids},
	author = {Eiximeno, Benet and Miró, Arnau and Cajas, Juan Carlos and Lehmkuhl, Oriol and Rodriguez, Ivette},
	year = {2022},
	pages = {292},
}

@article{miro2024self,
  title={Self-Induced large-scale motions in a three-dimensional diffuser},
  author={Mir{\'o}, Arnau and Eiximeno, Benet and Rodr{\'\i}guez, Ivette and Lehmkuhl, Oriol},
  journal={Flow, Turbulence and Combustion},
  volume={112},
  number={1},
  pages={303--320},
  year={2024},
  doi={https://doi.org/10.1007/s10494-023-00483-6},
  publisher={Springer}
}

@article{eiximeno2023hybrid,
  title={Hybrid computation of the aerodynamic noise radiated by the wake of a subsonic cylinder},
  author={Eiximeno, Benet and Tur-Mong{\'e}, Carlos and Lehmkuhl, Oriol and Rodr{\'\i}guez, Ivette},
  journal={Fluids},
  volume={8},
  number={8},
  pages={236},
  year={2023},
  doi={https://doi.org/10.3390/fluids8080236},
  publisher={MDPI}
}

@article{eiximeno2024toward,
  title={Toward the usage of deep learning surrogate models in ground vehicle aerodynamics},
  author={Eiximeno, Benet and Mir{\'o}, Arnau and Rodr{\'\i}guez, Ivette and Lehmkuhl, Oriol},
  journal={Mathematics},
  volume={12},
  number={7},
  pages={998},
  year={2024},
  doi={https://doi.org/10.3390/math12070998},
  publisher={MDPI}
}

Acknowledgements

The research leading to this software has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 956104. The JU receives support from the European Union’s Horizon 2020 research and innovation programme and Spain, France, Germany.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyloworder-3.2.7.tar.gz (205.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyloworder-3.2.7-py3-none-any.whl (287.1 kB view details)

Uploaded Python 3

File details

Details for the file pyloworder-3.2.7.tar.gz.

File metadata

  • Download URL: pyloworder-3.2.7.tar.gz
  • Upload date:
  • Size: 205.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for pyloworder-3.2.7.tar.gz
Algorithm Hash digest
SHA256 6838964051c693d613f23d422b24e96c47de2bc2a27db8ad6875dbaafa5c4721
MD5 97e8bb8257c5b2401c8b5f53c29f58d0
BLAKE2b-256 ddd3d216174f7dc5e83cc090de6d0ba24ee0bc2fe646ffcdb50add18d960eef7

See more details on using hashes here.

File details

Details for the file pyloworder-3.2.7-py3-none-any.whl.

File metadata

  • Download URL: pyloworder-3.2.7-py3-none-any.whl
  • Upload date:
  • Size: 287.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for pyloworder-3.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 bb0c2b30f294175b159eef9b08bd10855d38996aadfdb1052f3e157eaa63c7b6
MD5 227ce2eddd52ec0c4da1f04ede8bb4ce
BLAKE2b-256 ab7bef7966aedbfd5486c83659de5963ca57d0325e9aa3baca127192cea8326c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page