pyLowOrder


NamepyLowOrder JSON
Version 3.2.0 PyPI version JSON
download
home_pagehttps://github.com/ArnauMiro/pyLowOrder
SummaryHigh-performance low-order modeling with Python
upload_time2025-10-27 08:47:52
maintainerBenet Eiximeno, Arnau Miro
docs_urlNone
authorBenet Eiximeno, Beka Begiashvili, Arnau Miro, Eusebio Valero, Oriol Lehmkuhl
requires_python>=3.9
licenseNone
keywords low-order modeling pod dmd
VCS
bugtrack_url
requirements setuptools numpy cython mpi4py matplotlib h5py nfft
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Build status](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions/workflows/build_intel.yml/badge.svg)](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions)
[![Build status](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions/workflows/build_gcc.yml/badge.svg)](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions)
[![Test-suite](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions/workflows/run_testsuite.yml/badge.svg)](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions)
[![Test-suite-NN](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions/workflows/run_testsuite_NN.yml/badge.svg)](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions)
[![License](https://img.shields.io/badge/license-MIT-orange)](https://opensource.org/licenses/mit)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10598565.svg)](https://doi.org/10.5281/zenodo.10598565)

# 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](https://github.com/ArnauMiro/pyLowOrder/wiki) for instructions on how to deploy and contribute to the tool. [Here](https://arnaumiro.github.io/pyLowOrder/) 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

<details><summary>Bibtex</summary>
<p>
	
```
@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}
}
```
</p>
</details>

## 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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ArnauMiro/pyLowOrder",
    "name": "pyLowOrder",
    "maintainer": "Benet Eiximeno, Arnau Miro",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Benet Eiximeno <benet.eiximeno@bsc.es>, Arnau Miro <arnau.mirojane@bsc.es>",
    "keywords": "low-order, modeling, POD, DMD",
    "author": "Benet Eiximeno, Beka Begiashvili, Arnau Miro, Eusebio Valero, Oriol Lehmkuhl",
    "author_email": "Benet Eiximeno <benet.eiximeno@bsc.es>, Beka Begiashvili <beka.begiashvili@alumnos.upm.es>, Arnau Miro <arnau.mirojane@bsc.es>, Eusebio Valero <eusebio.valero@upm.es>, Oriol Lehmkuhl <oriol.lehmkuhl@bsc.es>",
    "download_url": "https://files.pythonhosted.org/packages/92/8c/d4d8d7309951b18e4a94f4dd86696a731c8a0cd653efb974a79eab1387dc/pyloworder-3.2.0.tar.gz",
    "platform": null,
    "description": "[![Build status](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions/workflows/build_intel.yml/badge.svg)](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions)\n[![Build status](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions/workflows/build_gcc.yml/badge.svg)](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions)\n[![Test-suite](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions/workflows/run_testsuite.yml/badge.svg)](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions)\n[![Test-suite-NN](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions/workflows/run_testsuite_NN.yml/badge.svg)](https://github.com/ArnauMiro/UPM_BSC_LowOrder/actions)\n[![License](https://img.shields.io/badge/license-MIT-orange)](https://opensource.org/licenses/mit)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10598565.svg)](https://doi.org/10.5281/zenodo.10598565)\n\n# pyLOM\n\npyLOM 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.\nPlease check the [wiki](https://github.com/ArnauMiro/pyLowOrder/wiki) for instructions on how to deploy and contribute to the tool. [Here](https://arnaumiro.github.io/pyLowOrder/) you can find the code documentation and examples on every module.\n\n## Cite the repo!\nIf you find this repository useful, please cite it the source code as:\n```\n@misc{pyLOM,\n  author    = {Eiximeno, Benet and Begiashvili, Beka and Miro, Arnau and Valero, Eusebio and Lehmkuhl, Oriol},\n  title     = {pyLOM: Low order modelling in Python},\n  year      = {2022},\n  publisher = {Barcelona Supercomputing Center},\n  journal   = {GitHub repository},\n  url       = {https://github.com/ArnauMiro/UPM_BSC_LowOrder},\n}\n```\nAnd the following paper where the parallel implementation, validation and profiling of the POD, DMD and SPOD are done:\n\nEiximeno, B., Mir\u00f3, 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\n```\n@article{eiximeno_pylom_2025,\n\ttitle = {{PyLOM}: {A} {HPC} open source reduced order model suite for fluid dynamics applications},\n\tvolume = {308},\n\tissn = {00104655},\n\tdoi = {10.1016/j.cpc.2024.109459},\n\tjournal = {Computer Physics Communications},\n\tauthor = {Eiximeno, Benet and Mir\u00f3, Arnau and Begiashvili, Beka and Valero, Eusebio and Rodriguez, Ivette and Lehmkhul, Oriol},\n\tmonth = mar,\n\tyear = {2025},\n\tpages = {109459},\n}\n```\nThe following papers are application examples of some of the tools implemented in pyLOM such as the POD, DMD or variational autoencoders:\n\nEiximeno, B., Mir\u00f3, 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\n\nMir\u00f3, A., Eiximeno, B., Rodr\u00edguez, 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\n\nEiximeno, B., Tur-Mong\u00e9, C., Lehmkuhl, O., & Rodr\u00edguez, 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\n\nEiximeno, B., Mir\u00f3, A., Rodr\u00edguez, 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\n\n<details><summary>Bibtex</summary>\n<p>\n\t\n```\n@article{eiximeno_wake_2022,\n\ttitle = {On the {Wake} {Dynamics} of an {Oscillating} {Cylinder} via {Proper} {Orthogonal} {Decomposition}},\n\tvolume = {7},\n\tissn = {2311-5521},\n\tdoi = {10.3390/fluids7090292},\n\tnumber = {9},\n\tjournal = {Fluids},\n\tauthor = {Eiximeno, Benet and Mir\u00f3, Arnau and Cajas, Juan Carlos and Lehmkuhl, Oriol and Rodriguez, Ivette},\n\tyear = {2022},\n\tpages = {292},\n}\n\n@article{miro2024self,\n  title={Self-Induced large-scale motions in a three-dimensional diffuser},\n  author={Mir{\\'o}, Arnau and Eiximeno, Benet and Rodr{\\'\\i}guez, Ivette and Lehmkuhl, Oriol},\n  journal={Flow, Turbulence and Combustion},\n  volume={112},\n  number={1},\n  pages={303--320},\n  year={2024},\n  doi={https://doi.org/10.1007/s10494-023-00483-6},\n  publisher={Springer}\n}\n\n@article{eiximeno2023hybrid,\n  title={Hybrid computation of the aerodynamic noise radiated by the wake of a subsonic cylinder},\n  author={Eiximeno, Benet and Tur-Mong{\\'e}, Carlos and Lehmkuhl, Oriol and Rodr{\\'\\i}guez, Ivette},\n  journal={Fluids},\n  volume={8},\n  number={8},\n  pages={236},\n  year={2023},\n  doi={https://doi.org/10.3390/fluids8080236},\n  publisher={MDPI}\n}\n\n@article{eiximeno2024toward,\n  title={Toward the usage of deep learning surrogate models in ground vehicle aerodynamics},\n  author={Eiximeno, Benet and Mir{\\'o}, Arnau and Rodr{\\'\\i}guez, Ivette and Lehmkuhl, Oriol},\n  journal={Mathematics},\n  volume={12},\n  number={7},\n  pages={998},\n  year={2024},\n  doi={https://doi.org/10.3390/math12070998},\n  publisher={MDPI}\n}\n```\n</p>\n</details>\n\n## Acknowledgements\nThe 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\u2019s Horizon 2020 research and innovation programme and Spain, France, Germany.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "High-performance low-order modeling with Python",
    "version": "3.2.0",
    "project_urls": {
        "Bug Reports": "https://ArnauMiro@github.com/ArnauMiro/pyLowOrder/issues",
        "Homepage": "https://ArnauMiro@github.com/ArnauMiro/pyLowOrder",
        "Source": "https://ArnauMiro@github.com/ArnauMiro/pyLowOrder"
    },
    "split_keywords": [
        "low-order",
        " modeling",
        " pod",
        " dmd"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f08efb0e20e8c88012fd8a1be94359a92320c3dfe7a509843c41c22cc10ecf8d",
                "md5": "02b162e1a51dbd27e283d10f18c7c58c",
                "sha256": "b2a2563cf95b21512c5aa69edb887c1e6533cf11b3857722c01694560251780d"
            },
            "downloads": -1,
            "filename": "pyloworder-3.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "02b162e1a51dbd27e283d10f18c7c58c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 287064,
            "upload_time": "2025-10-27T08:47:50",
            "upload_time_iso_8601": "2025-10-27T08:47:50.961162Z",
            "url": "https://files.pythonhosted.org/packages/f0/8e/fb0e20e8c88012fd8a1be94359a92320c3dfe7a509843c41c22cc10ecf8d/pyloworder-3.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "928cd4d8d7309951b18e4a94f4dd86696a731c8a0cd653efb974a79eab1387dc",
                "md5": "e11ef59183297736b56ed26f19cdc0d4",
                "sha256": "58b3fa0a9c123d1cfbe4b33d1578fd990606bacc739d60b0c516a1dcdac83009"
            },
            "downloads": -1,
            "filename": "pyloworder-3.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e11ef59183297736b56ed26f19cdc0d4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 205536,
            "upload_time": "2025-10-27T08:47:52",
            "upload_time_iso_8601": "2025-10-27T08:47:52.070427Z",
            "url": "https://files.pythonhosted.org/packages/92/8c/d4d8d7309951b18e4a94f4dd86696a731c8a0cd653efb974a79eab1387dc/pyloworder-3.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-27 08:47:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ArnauMiro",
    "github_project": "pyLowOrder",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "setuptools",
            "specs": [
                [
                    ">=",
                    "77.0.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "cython",
            "specs": [
                [
                    ">=",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "mpi4py",
            "specs": [
                [
                    ">=",
                    "4.0.0"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": []
        },
        {
            "name": "h5py",
            "specs": [
                [
                    ">=",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "nfft",
            "specs": []
        }
    ],
    "lcname": "pyloworder"
}
        
Elapsed time: 1.55853s