Software

Different software packages for model order reduction have evolved from our work:

  • RBmatlab: A MATLAB library containing all our reduced simulation approaches for linear and nonlinear, affine or arbitrarily parameter dependent evolution problems with finite element, finite volume or local discontinuous Galerkin discretizations. Further information can be found on the download and documentation page. The package is used and exemplified in the following reference:
    B. Haasdonk: Reduced Basis Methods for Parametrized PDEs -- A Tutorial
    Introduction for Stationary and Instationary Problems.
    Chapter to appear in in P. Benner, A. Cohen, M. Ohlberger and K. Willcox
    (eds.): "Model Reduction and Approximation: Theory and Algorithms", SIAM,
    Philadelphia, 2016.

    This is also available as preprint under this link.

  • pyMOR: pyMOR is a software library for building model order reduction applications with the Python programming language. Its main focus lies on the application of reduced basis methods to parameterized partial differential equations. All algorithms in pyMOR are formulated in terms of abstract interfaces for seamless integration with external high-dimensional PDE solvers. Moreover, pure Python implementations of finite element and finite volume discretizations using the NumPy/SciPy scientific computing stack are provided for getting started quickly. For more information, visit http://pymor.org
  • emgr: Empirical Gramian Framework. Empirical gramians can be computed for linear and nonlinear control systems for purposes of model order reduction, uncertainty quantification or system identification. The emgr framework is a compact open source toolbox for gramian-based model reduction and compatible with OCTAVE and MATLAB. More at: http://gramian.de
  • KerMor: An object-oriented MATLAB© library providing routines for model order reduction of nonlinear dynamical systems. Reduction can be achieved via subspace projection and approximation of nonlinearities via kernels methods or DEIM. Standard procedures like the POD-Greedy method are readily implemented as well as advanced a-posteriori error estimators for various system configurations. KerMor also includes several working examples and some demo files to quickly get familiarized with the provided functionality.
    More information can be found at http://www.morepas.org/software/kermor/
  • JaRMoS: JaRMoS stands for “Java Reduced Model Simulations” and aims to enable import and simulation of various reduced models from multiple sources on any java-capable platform. So far support for RBmatlabKerMor and rbMIT reduced models is present, where we can only import the rbMIT models that have previously been published with the rbAppMIT Android application. Extensions so far are a desktop-version to run reduced models and initial support for KerMor kernel-based reduced models is on the way.
    More information can be found at http://www.morepas.org/software/jarmos/
  • MORLAB: Model Order Reduction Laboratory. This toolbox is a collection of MATLAB/OCTAVE routines for model order reduction of linear dynamical systems based on the solution of matrix equations. The implementation is based on spectral projection methods, e.g., methods based on the matrix sign function and the matrix disk function. For more details on this software, see:
    https://www.mpi-magdeburg.mpg.de/projects/morlab
  • Dune-RB: A module for the Dune library (www.dune-project.orghttp://dune.mathematik.uni-freiburg.de), which realizes C++ template classes for use in snapshot generation and RB offline phases for various discretizations. Apart from single-core algorithms, the package also aims at using parallelization techniques for efficient snapshot generation. More at: http://users.dune-project.org/projects/dune-rb/wiki

Additionally, another small project has emerged in the context of creating documentation for MatLab projects.

  • mtoc++: A doxygen matlab-to-c++ filter. This small tool enables to convert .m-files to .c files, which in turn can be read by doxygen to generate documentation for matlab projects easily. Download links, installation and usage instructions can be found at http://www.morepas.org/software/mtocpp/docs/index.html