1. What is a Toolbox

Feel++ comes with toolboxes. What are they ?

Definition: A Feel++ Toolbox

For a given set of partial differential equations for a given physics (e.g. computational fluid dynamics) or set of physics (e.g. fluid structure interaction), a Feel++ toolbox provides:

  • the configuration the set of equations through one or several (.json) files and (.cfg) files

  • one or more solution strategies to solve the set of equations

Using the JSON and CFG, it is possible to configure and run models by defining the relevant physical quantities—such as material properties, loads, constraints, sources, and fluxes. The data analysis can be also described in these files.

In order to run a simulation with a toolbox, an exectuable is required. It is generally associated to one or several CFG files. The toolbox setup is applied through several options which are prefixed by a name associated to the toolbox. In the following table, we have listed for each toolbox the name of executable and the prefix used in CFG files :

Toolbox Executable Prefix

Heat Transfer



Computational Fluid Dynamics



Computational Solid Mechanics



Fluid Structure Interaction in 3d



Heat Fluid



Fluid Structure Interaction in 2d



Fluid Structure Interaction in 3d



1. Run an application

In this section, we describe the several possibilities to perform a simulation using a toolbox executable and a CFG file. In the following examples, we have used the executable of fluid mechanics toolbox called feelpp_toolbox_fluid.

From an executable, a cfg file must be given in the command line thanks to the config-file option :

mpirun -np 4 feelpp_toolbox_fluid --config-file myfile.cfg

Another way is to use the case option, where case represents a folder containing a cfg, json files and eventually a geometry or mesh file.

mpirun -np 4 feelpp_toolbox_fluid --case mydir

If the folder contains only one cfg, the programme use this one. Else it’s possible to specify the cfg file to choose by adding case.config-file option

mpirun -np 4 feelpp_toolbox_fluid --case mydir --case.config-file myfile.cfg
Case config file option
--case.config-file myfile.cfg

The case option can also define a folder which represents a remote data in a github repository.

mpirun -np 4 feelpp_toolbox_fluid --case "github:{path:toolboxes/fluid/TurekHron}" --case.config-file cfd2.cfg
Case option
--case "github:{path:toolboxes/fluid/TurekHron}"
Case config file option
--case.config-file cfd2.cfg

The remote data from github can be configured by several parameters :

Option Default value Description



the github organization



the github repository in organization


<default in github>

the branch in the git repository


<root of repository>

the path in the git repository


<no default value>

an authentication token

mpirun -np 4 feelpp_toolbox_fluid --case "github:{owner:feelpp,repo:feelpp,branch:develop,path:toolboxes/fluid/TurekHron,token:xxxxx}" --case.config-file cfd2.cfg
Case option
--case "github:{owner:feelpp,repo:feelpp,branch:develop,path:toolboxes/fluid/TurekHron,token:xxxxx}"
Case config file option
--case.config-file cfd2.cfg