Python library for Rational Reduced Order Modeling
Recent Commits
Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|
0cbbfffdd8f5 | pradovera | Version 2.8.2 | Dec 16 2020 | ||||
c4bb375ec670 | pradovera | Bumped version to 2.8.2 | Dec 16 2020 | ||||
74dce5ca631d | pradovera | Implemented option for post-addition of samples for non-greedy approximants. | Dec 16 2020 | ||||
c733107bc5be | pradovera | Added pole removal routine for pole-matched pivoted approximant. Minor fixes to… | Dec 8 2020 | ||||
db0e167dfa97 | pradovera | Fixed broken tolerance for barycentric rational interpolation. Removed wrong… | Nov 30 2020 | ||||
0aef5f79535a | pradovera | Removed broken nodal optimization in rational approximants. Improved other… | Nov 19 2020 | ||||
01d0a587cfbf | pradovera | Improved correction of bad poles in pivoted pole-matching approximants with… | Nov 17 2020 | ||||
ca25fdbab062 | pradovera | Fixed bug in parameter initialization for pivoted approximation. Improved… | Nov 9 2020 | ||||
95a0fa983702 | pradovera | Improved pole correction, with added stability tolerance. Minor naming changes. | Nov 9 2020 | ||||
edf4e7c8a2a8 | pradovera | Fixed several chordal metric bugs. Introduced gramian for correct online… | Nov 3 2020 | ||||
7034ff3faee9 | pradovera | Added Riemann interpolation over marginal variables driven by chordalRadius… | Nov 2 2020 | ||||
b06ee2733912 | pradovera | Added conversion from pole-matched to not-matched pivoted trained models, and… | Oct 29 2020 | ||||
8236eba20c10 | pradovera | Added batch-processing for nearest-neighbor approximant evaluation. Made… | Oct 21 2020 | ||||
c257427ab793 | pradovera | Made pivoted no-matching approximants not rely on Heaviside form of rational… | Oct 21 2020 | ||||
258160e5dc1b | pradovera | Added quadratic output example. Minor miscellaneous tweaks. | Oct 15 2020 |
README.md
RROMPy -- Rational Reduced Order Modeling in Python
Module for the solution and rational model order reduction of parametric PDE-based problem. Coded in Python 3.
Prerequisites
RROMPy requires
- numpy and scipy;
- fenics and mshr;
- matplotlib;
- and other standard Python3 modules (os, typing, time, datetime, abc, pickle, traceback, itertools, ...).
Testing requires
- pytest.
Fenics
Most of the high fidelity problem engines already provided rely on FEniCS. If you do not have FEniCS installed, you may want to create an Anaconda3/Miniconda3 environment using the command
conda create -n fenicsenv -c conda-forge pytest pytest-runner scipy matplotlib fenics=2019.1.0=py38_9 mshr=2019.1.0=py38hf9f41d3_3
This will create an environment where FEniCS (and all other required modules) can be used. In order to use FEniCS, the environment must be activated through
conda activate fenicsenv
See the Anaconda documentation for more information.
Fenics and mshr versions
More recent versions of FEniCS and mshr may be preferred, but one should be careful of inconsistent dependencies. If the following code snippet runs successfully, then your environment *should* have been created correctly:
from mshr import *
Installing
Clone the repository
git clone http://c4science.ch/source/RROMPy.git
enter the main folder and install the package by typing
python setup.py install
The installation can be tested with
python setup.py test
License
This project is licensed under the GNU GENERAL PUBLIC LICENSE license - see the LICENSE file for details.
Acknowledgments
Part of the funding that made this module possible has been provided by the Swiss National Science Foundation through the FNS Research Project 182236.