rbmatlab  1.13.10
 All Classes Namespaces Files Functions Variables Groups Pages
RBmatlab software

Introduction

RBmatlab is a MATLAB library for model order reduction with Reduced Basis Methods for various discretizations types and application settings.

The package comprises:

There are two different types of approaches, both are supported and serve different goals:

Contact

The package is jointly developed by the University of Stuttgart, the University of Muenster, the University of Ulm and the Sandia Lawrence Livermore National Research Laboratory.

The package is available via the website http:\www.morepas.org.

Please send remarks/comments/questions to rbmatlab developers mailing list: rbmat.nosp@m.lab@.nosp@m.lists.nosp@m.erv..nosp@m.uni-s.nosp@m.tutt.nosp@m.gart..nosp@m.de

Installation

After unpacking (or git checkout) of the package, you need to adjust matlab startup:

If your matlab installation supports the "setenv" command, installation is very simple:

Make sure, that the following code is executed during matlab startup, e.g. by putting it into the $HOME/matlab/startup.m file or by executing it every time you start matlab by cut'n paste. Of course replace the pathname by your local version. In particular you must set the path to the RBmatlab directory and choose the temporary-data directory, where some GB of space are available.

  %-------- start of init code ---------
  setenv('RBMATLABHOME','/u/bhaas_01/sync/matlab/RBmatlab');
  setenv('RBMATLABTEMP','/tmp/matlab');
  addpath(getenv('RBMATLABHOME'));
  startup_rbmatlab
  %-------- end of init code ---------

if your matlab installation does not support the setenv command:

  1. create an environment variable RBMATLABTEMP, which points to an existing directory, where RBmatlab can create subdirectories for storing temporary data. Large space, i.e. several gigabytes should be available.
  2. then create an environment variable RBMATLABHOME, which points to the rbmatlab-directory.
  3. Make sure, that the following code is executed during matlab startup, e.g. by putting it into the $HOME/matlab/startup.m file or by executing it every time you start matlab by cut'n paste.
      %-------- start of init code ---------
      addpath(getenv('RBMATLABTEMP'));
      startup_rbmatlab
      %-------- end of init code ---------
    

First Start

After starting matlab, have a look at the "demos" and start them one by one to get an impression of the package. In particular the following demos are suggested. View their source to see the use of the package's routines:

  1. Example of a detailed simulation (finite volume time evolution) demo_explicit_FV()
  2. Steps of model reduction (inspect source-code while executing!) demo_rb_steps()
  3. Interactive Gui demo_rb_gui()

Many further demos are available, see the corresponding directory or the script rbmatlabdemos().

Documentation

The documentation of the package is generated by Doxygen - an automatic documentation tool. Alt \ hough designed for C-like languages, Doxygen allows to pre-process the source code by a filter \ programm that makes Matlab-code parseable by Doxygen as well. This generates a browsable html documentation of the files, classes and dependencies. The corresponding starting file is doxygen/html/index.html or can simply be accessed by htdoc() in the matlab command window.

In order to extend and re-build this documentation by your own, you therefore

  1. need to download and install
    • a recent version of doxygen available from its website. and
    • the filter program mtoc++ currently available from here.
  2. you can execute the script make_docu.sh in the base directory of your RBmatlab installation.