Feel++ User Days 5.0

File formats and In-Situ Visualisation in Feel++

What do we export ?

  • Mesh

  • Scalar, vectorial, tensorial fields

  • Continuous, Discontinous fields

  • Possibly multiple timesteps

source example
auto e = exporter( _mesh = mesh );
e->add( "solution", u );
e->add( "exact", v );
e->save();

Feel++ Input

Feel++ options
--gmsh.filename  <file>
--<toolbox>.geofile  <file>
--<toolbox>.mshfile  <file>
  • Gmsh: .msh, .geo

  • Med : .med (salome format)

  • VTK file formats

  • HDF5: .h5 (gmsh, med, Feel++ custom)

  • Json: .json (Feel++ custom)

Feel++ Input

Actual&future
  • json data: (metadata sets)

  • databases (mongodb)

Feel++ Output

Feel++ options
--exporter.format=<theformat>
  • Gmsh: .msh file

  • Ensight, Ensight Gold/HPC (unlocked Ensight format)

  • HDF5 (data) + XDMF (description)

  • VTK (Unstructured Grid)

Visualization tools

  • Paraview/Paraweb (Open-Source, Free): Ensight, Ensight Gold, HDF5+XDMF.

  • Ensight (Closed source, from Free to paid):

    • Ensight

    • Ensight Gold,

    • HDF5+XDMF.

  • Gmsh (Open-Source, Free): Gmsh

Feel++ Paraview In-Situ / remote (demo)

insitu 1

Paraview remote: Docker

Run an interactive docker container using Feel++ toolbox image.

# Execute docker image
docker run -it --rm --network=host --name fud5 feelpp/feelpp-toolboxes

# To get container information
docker ps
docker inspect fud5

Paraview remote: Feel++

Run a Feel++ application

unset FEELPP_REPOSITORY
cd ~/Testcases/FSI/wavepressure3d
mpirun -np 4 feelpp_toolbox_fsi_3d --config-file wavepressure3d.cfg
To get exporter information
# any feel++ app
./feelpp_toolbox_fsi_3d --help | grep exporter

Paraview remote: Visu

Open Feel++ export file in paraview. (default exporter "EnsightGold").

In docker
cd ${HOME}
pvserver

To run the paraview server.

Paraview remote: Visu

On your machine
  • paraview

  • paraview→open

  • select "feel/applications/models/fsi/wavepressure3d/P2P1G1_P1G1_M1/np_4/fluid.exports/Export.case"

Paraview remote: Visu

Customize your visualization
  • Add warp by vector filter

  • Set filter scale to 20

  • Press play button

Paraview insitu: visu

Open paraview to configure remote insitu (catalyst).

In docker
pvserver

to establish a remote connection.

Paraview insitu: visu

On your machine
  • paraview

  • paraview→catalyst→connect choose port and press OK

  • paraview→catalyst→pause to pause simulation

You can already customize your visualization with filter

Paraview insitu: Feel++

Run a feel++ application using "VTK" exporter.

unset FEELPP_REPOSITORY
cd ~/Testcases/CSM/TurekHron/
mpirun -np 4 feelpp_toolbox_solid_2d    \
                         --config-file csm3.cfg     \
                         --exporter.vtk.insitu.enable 1     \
                         --exporter.format vtk


# Print all insitu options
feelpp_toolbox_solid_2d --help | grep insitu

Remote connection via singularity

Get a singularity image from the gitlab repository

wget https://gitlab.math.unistra.fr/feelpp/feelpp-singularity-images/raw/master/singularity_feelpp_feelpp-base-develop-v0.104.0-alpha.3-ubuntu-16.10.img

Then run an interactive shell session in the singularity image

singularity shell singularity_feelpp_feelpp-base-develop-v0.104.0-alpha.3-ubuntu-16.10.img

And that’s it! Get back to docker the steps.