GetFEM is freely distributed under the terms of the Gnu Lesser General Public License, either version 3 of the license or any later version along with the GCC Runtime Library Exception.

FormatPacked as .tar.gz
GetFEM stable getfem-5.4.1.tar.gz
Gmm++ standalone gmm-5.4.tar.gz

For older releases, look here.

Building a portable C++ library is not an easy task. We try to build it with many combinations of OS and compilers. The last stable version has been tested on the following configurations:

• Linux with g++ (versions 7.1 to 9.0)
• MacOS X (with the Python, Octave and Matlab interfaces)
• Windows with MinGW and MSys (GetFEM only -- see specific notes for the Matlab interface)

# Install GetFEM 5.4.1 on different plateforms

## Installation from sources

Since standard GNU tools are used, the installation of the GetFEM library is somewhat standard. From a general viewpoint, the installation from sources will require the following ingredients for any platform:
• A decently recent C/C++ compiler accepting C++ 14 standard (gcc/g++ >= 7.1 for instance).
• If you want to build binaries from git to get the latest changes, improvements, bugfixes, new bugs, etc. It requires a git client, automake, and libtool (otherwise, use the lastest stable package).
• By default, the Python Getfem interface is built. It requires the python development files (Python.h etc.) to be available (package python-all-dev in debian distribution), and also the Numpy and Scipy packages to be installed (package python-numpy and python-scipy in debian distribution). In case of troubles with a non-gnu compiler, gcc/g++ (>= 7.1) should be a safe solution (package build-essential in debian distribution). If you do not want to build the python interface, use the configure option ./configure --disable-python
• If you want to build the Octave interface, it requires a recent Octave version installed on your system and the associated mkoctfile command.
• If you want to build the Matlab interface, it requires a recent Matlab version installed on your system and the associated mex compiler correctly configured.
• If you want to build the Scilab interface, it requires a recent Scilab version installed on your system.
• If you want mesh generation and fictitious domain facilities (such as Xfem), it requires the package qhull installed on your system (package libqhull-dev in debian distribution).
• If you want to use MUMPS linear sparse solver instead of SUPERLU, you need to install the sequential version of MUMPS on your system (or the parallel one if you intend to use the parallel version of GetFEM).
Depending on the plateform, find some specific help here for the installation on Linux, MacOS X, or Windows.

## Installation from pre-compiled packages

### On a Debian/Ubuntu system

GetFEM packages are available in the official repositories of Debian and Ubuntu distributions. Information about the GetFEM versions available in different Debian releases can be found e.g. at https://packages.debian.org/source/sid/getfem++ and with respect to different Ubuntu releases at https://launchpad.net/ubuntu/+source/getfem++ GetFEM including its python interface can be installed from a terminal by executing aptitude update and aptitude install python-getfem++.

### On Windows (last release)

Installer of the GetFEM 5.4 interface for 64bits Windows and Python 3.7 of Anaconda 3 (furnished by J.-F. Barthelemy): getfem5.4win-amd64-py3.7.exe.

Note that you have to install first Anaconda 3.

### On Windows (old releases)

Installer of the GetFEM 5.3 interface for 64bits Windows and Python 2.7 of Anaconda 2 (furnished by J.-F. Barthelemy): getfem5.3win-amd64-py2.7.exe.

Note that you have to install first Anaconda 2.

Installer of the GetFEM 5.3 interface for 64bits Windows and Python 3.6 of Anaconda 3 (furnished by J.-F. Barthelemy): getfem5.3win-amd64-py3.6.exe.

Note that you have to install first Anaconda 3.

Installer of the GetFEM 5.3 interface for 64bits Windows and Python 3.7 of Anaconda 3 (furnished by J.-F. Barthelemy): getfem5.3win-amd64-py3.7.exe.

Note that you have to install first Anaconda 3.

Once installed, you can test under for instance command shell the Python tests programs (see interface/tests/python directory).

Installer of the GetFEM 5.2 interface for 64bits Windows and Matlab 2016: getfem5.2-matlab2016-interface-setup.exe.

IMPORTANT : Unfortunately, it seems that recent Matlab versions on Windows do not take properly into account the MATLABPATH environment variable (Matlab is unable to run correctly with a defined MATLABPATH variable). So, the installer do not set it and you have to add the install path specified on the installer yourself using Matlab (Click on "home" and "add path" in Matlab).

Once installed, you can test under Matlab the tests programs (see interface/tests/matlab directory).

Installer of the GetFEM 4.1 Scilab interface for 32bits Windows and Scilab 5.3 provided by Yann Colette (2011/11/18): sci_getfem-rev2914-scilab-5.3-setup.exe.

Binaries for the python-interface (python 2.4, 2.5 and 2.6) on Windows XP (2010/08/28) kindly provided by Yao Koutsawa: getfem_python-4.1.win32-py2.5.exe, getfem_python-4.1.win32-py2.6.exe, getfem_python-4.1.win32-py2.7.exe.

A binary for the matlab-interface for matlab 2010b on Windows for both 32 and 64 bits(2010/04/12) with some explanations here: getfem_matlab_toolbox_2010b_32-bit.zip.

A binary for the matlab-interface for matlab 2009 on Windows XP(2010/04/08): getfem-matlab-4.0_R2009_win32.tar.gz.

A binary for the matlab-interface for matlab-R14 on Windows XP(2006/04/18): getfem-matlab-2.0_R14_win32.zip (and some notes).

### On MacOS X

A binary for the matlab-interface for matlab-2009b on MacOS X (2010/03/10): getfem-4.0.0-matlab-toolbox-MACOSX-i386.tar.gz.