In this section, we will learn basic usage of Feel on the cluster. We
distinguish two cases, the first one uses the existing Feel module. You might
want to modify the Feel++ library itself, the second case will explain how to
proceed.

There are three main methods to use Feel++ from the simplest to the hardest:

Using containers: singularity (recommended), docker.

Compiling a Feel++ application using Feel++ library installed on the
system (Feel++ atlas module).

Now you are in the container, you should have the bash prompt looking like this:

Always use the -c option (equivalent to -B /home/user:/home/user) ?
to avoid sharing your home directory within the container!
Security reason, a container can perform some operation on home directory. Configurations
files on the host /home/user directory can create conflicts and produce unwanted behaviour.

This way is recommended if you only need to use the Feel++ library
without any modification.
Currently, a Feel++ module is provided for a nightly build version.

Load the Feel++ library via the module.

module load feelpp/nightly

{feel++} is now available in the system

the module set the environement variable FEELPP_DIR for the path to the Feel++ installation
echo ${FEELPP_DIR}.

Load a feel++ profile to have access to all Feel++ requirements for compiling
your application.

module load feelpp-clang_gcc610.profile

The profile should be the same used for the feel++ module to avoid
mismatch setup for the compilation

From here you can go to Quickstart section.

Place yourself in a directory and create a cmake file named
CMakeLists.txt containing the following code.

cmake_minimum_required(VERSION2.8)find_package(Feel++PATHS$ENV{FEELPP_DIR}/share/feel/cmake/modules/usr/share/feel/cmake/modules/usr/local/share/feel/cmake/modules/opt/share/feel/cmake/modules)if(NOTFEELPP_FOUND)message(FATAL_ERROR"Feel++ was not found on your system. Make sure to install it and specify the FEELPP_DIR to reference the installation directory.")endif()feelpp_add_application(youApplicationSRCSyourCode.cpp)

This file describes to cmake how to find the Feel++ library in the given directories.
By default, cmake will search in the system default path.

Create a C++ file named yourCode.cpp where you will write your first Feel++ code.

Generate the Makefiles with cmake or using the configure script.
/path/to/feelpp-sources/configure

Open a terminal and connect to atlas server. The paraview
Run the paraview server

module load paraview/5.1.0
pvserver

use pvserver --multi-clients to connect with several users at the same
time! See pvserver --help for all options.

On you machine, run paraview and connect to the server
[file]→[connect].
A should pop out. Configure the server
with the given address displayed in the terminal
where you run pvserver. It should looks like cs://irma-atlas:11111.

Feel++ provides paraview directly in the docker image.
First, you have to run a new container on atlas.
Don’t forget to mount the volume /feel for Feel++ applications.
We have to add an option to use the same network than irma-atlas
--network=host

On you machine, run paraview and connect to this server like explained in section
Distant connection (pvserver).
Connect to catalyst via paraview menu [catalyst]→[connect]. A prompt message
should inform you that paraview accept catalyst connections.
Set catalyst to pause [catalyst]→[pause] in the menu before launching a Feel++
application.

Now in the container, chose an application you wish to execute. For example,
let’s take ~/Testcases/FSI/wavepressure2d Run your application with insitu
options.