Logo
Finite Element Embedded Library and Language in C++
Feel++ Feel++ on Github Feel++ on Travis-CI Feel++ on Twitter Feel++ on YouTube Feel++ community
 All Classes Namespaces Files Functions Variables Typedefs Pages

Requirements

Before installing Feel++, you need to get these required packages:

  • g++ (4.7 or higher) OR Clang (3.3 or higher)
  • MPI: openmpi (preferred) or mpich
  • Boost (1.39 or higher)
  • Petsc (2.3.3 or higher)
  • Cmake (2.6 or higher)
  • Gmsh (2.8.3 or higher, can be found at http://www.geuz.org/gmsh)
  • Libxml2 It is assumed that all these packages are properly installed.

Building Feel++ from source on *nix

Feel++ is distributed as a tarball once in a while. The tarballs are available at

https://github.com/feelpp/feelpp/releases

Download the latest tarball. Then follow the steps and replace x, y, z with the corresponding numbers

  tar xzf feel-x.y.z.tar.gz
  cd feel-x.y.z

We define then the current directory as the source one, ie:

  export FeelppSrcDir=`pwd`

top


Compiling

Please note that 4 GBytes of RAM is a minimum to compile Feel++ with GCC. With Clang, the memory footprint is much lower.

In order to compile Feel++ and a test application, we create a new directory:

  mkdir build
  cd build
  export FeelppBuildDir=`pwd`


and then, we are able to compile our first application:

  cd $FeelppBuildDir
  $FeelppSrcDir/configure -r
  make -j4


This procedure will build the whole library (with Release configuration) and programs to solve

  • laplacian problems \(-\Delta u=1 \mbox{ in } \Omega,\ u=g \mbox{ on } \partial \Omega\)
  • a Stokes problem \(-\Delta \mathbf{u} + \nabla p = 0 \mbox{ in } \Omega,\ \mathbf{u}=\mathbf{0} \mbox{ on } \Gamma_\mathrm{wall}, \mathbf{u}=\mathbf{g} \mbox{ on } \Gamma_\mathrm{inlet}\) and free outflow \(\left(-p \mathbb{I} + \nabla \mathbf{u}\right) \cdot \mathbf{n} = \mathbf{0} \mbox{ on } \Gamma_\mathrm{outlet}\) on arbitrary geometries in 2D by default to present Feel++'s abilities.
Remarks
There is a procedure to install as a system library Feel++.
  make install
See page Building Feel++ for more details.