Metadata-Version: 2.1
Name: pyLowOrder
Version: 2.0.1
Summary: High-performance low-order modeling with Python
Home-page: https://github.com/ArnauMiro/pyLowOrder
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>
Maintainer: Benet Eiximeno, Arnau Miro
Maintainer-email: Benet Eiximeno <benet.eiximeno@bsc.es>, Arnau Miro <arnau.mirojane@bsc.es>
License: MIT License
        
        Copyright (c) Python Low Order Modelling Library
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://ArnauMiro@github.com/ArnauMiro/pyLowOrder
Project-URL: Bug Reports, https://ArnauMiro@github.com/ArnauMiro/pyLowOrder/issues
Project-URL: Source, https://ArnauMiro@github.com/ArnauMiro/pyLowOrder
Keywords: low-order,modeling,POD,DMD
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: cython>=3.0.0
Requires-Dist: mpi4py
Requires-Dist: matplotlib
Requires-Dist: h5py>=3.0.0
Requires-Dist: nfft
Provides-Extra: nn
Requires-Dist: torch>=2.3.0; extra == "nn"
Requires-Dist: torchvision; extra == "nn"
Requires-Dist: torchsummary; extra == "nn"
Requires-Dist: tensorflow; extra == "nn"
Requires-Dist: optuna; extra == "nn"
Provides-Extra: optionals
Requires-Dist: ensight-reader; extra == "optionals"
Requires-Dist: pyvista; extra == "optionals"

[![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)
[![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

This tool is a port of the POD/DMD of the tools from UPM in MATLAB to C/C++ using a python interface. So far POD, DMD and sPOD are fully implemented and work is being done to bring hoDMD and VAEs inside the tool.
Please check the [wiki](https://github.com/ArnauMiro/pyLowOrder/wiki) for instructions on how to deploy the tool.

## Cite the repo!
If you find this repository useful, please cite it:
```
@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},
}
```
The POD formulation used in this tool can be found in the following papers:

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

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

<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{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},
}
```
	
</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.
