Python library for Rational Reduced Order Modeling
Recent Commits
Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|
4fa12654f76e | pradovera | Version 2.8.3 | Aug 27 2021 | ||||
72c4217648d0 | pradovera | Bumped version to 2.8.3 | Aug 27 2021 | ||||
0d54be94a4db | pradovera | Minor bugfixes. | Aug 2 2021 | ||||
f2c2c63950eb | pradovera | Added GPR support using sklearn. Minor fixes in polynomial degree checks. | Jun 9 2021 | ||||
f5cc78603613 | pradovera | Added support for h-radial bases and radial basis derivatives. Removed… | May 31 2021 | ||||
60c01f946691 | pradovera | Turned minimal barycentric into separate rational mode. Minor verbosity fixes. | Apr 26 2021 | ||||
91808e80a175 | pradovera | Added heuristic multivariate greedy rational interpolation. Allowed different… | Mar 25 2021 | ||||
03621764530a | pradovera | Fixed automatic degree reduction in RationalInterpolant. Improved bad pole… | Mar 19 2021 | ||||
63e560ed3aca | pradovera | Added standard and output modes in rational approximation. Removed radial basis… | Mar 9 2021 | ||||
f4c06ee21c33 | pradovera | Added mixed degree option to polynomial fitting and to multi-variate rational… | Feb 23 2021 | ||||
9dc9eb5a8081 | pradovera | Fixed scaling and range in residue extraction. Fixed derivative order update in… | Feb 9 2021 | ||||
3ed0e7470800 | pradovera | Allowed choice of N in greedy rational approximants. Extended boundary… | Feb 4 2021 | ||||
5ee323687969 | pradovera | Added back (fixed) multivariate rational approximant. Renamed pivoted Match… | Jan 19 2021 | ||||
3cd8a5f7ed4d | pradovera | Added rational-matching pivoted approach. Forced rational approximant to be… | Jan 8 2021 | ||||
0cbbfffdd8f5 | pradovera | Version 2.8.2 | Dec 16 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;
- scikit-learn;
- 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 scikit-learn 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.