Python library for Rational Reduced Order Modeling

# Recent Commits

Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|

4fa12654f76e | pradovera | Version 2.8.3 | Aug 27 | ||||

72c4217648d0 | pradovera | Bumped version to 2.8.3 | Aug 27 | ||||

0d54be94a4db | pradovera | Minor bugfixes. | Aug 2 | ||||

f2c2c63950eb | pradovera | Added GPR support using sklearn. Minor fixes in polynomial degree checks. | Jun 9 | ||||

f5cc78603613 | pradovera | Added support for h-radial bases and radial basis derivatives. Removed… | May 31 | ||||

60c01f946691 | pradovera | Turned minimal barycentric into separate rational mode. Minor verbosity fixes. | Apr 26 | ||||

91808e80a175 | pradovera | Added heuristic multivariate greedy rational interpolation. Allowed different… | Mar 25 | ||||

03621764530a | pradovera | Fixed automatic degree reduction in RationalInterpolant. Improved bad pole… | Mar 19 | ||||

63e560ed3aca | pradovera | Added standard and output modes in rational approximation. Removed radial basis… | Mar 9 | ||||

f4c06ee21c33 | pradovera | Added mixed degree option to polynomial fitting and to multi-variate rational… | Feb 23 | ||||

9dc9eb5a8081 | pradovera | Fixed scaling and range in residue extraction. Fixed derivative order update in… | Feb 9 | ||||

3ed0e7470800 | pradovera | Allowed choice of N in greedy rational approximants. Extended boundary… | Feb 4 | ||||

5ee323687969 | pradovera | Added back (fixed) multivariate rational approximant. Renamed pivoted Match… | Jan 19 | ||||

3cd8a5f7ed4d | pradovera | Added rational-matching pivoted approach. Forced rational approximant to be… | Jan 8 | ||||

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.