1. NAME

feelpp_mesh_exporter - a tool to export data on a mesh for visualisation Feel++

2. SYNOPSIS

feelpp_mesh_exporter

3. DESCRIPTION

feelpp_mesh_exporter is an application which can

  • load a mesh

  • export the mesh into a visualisation format

  • export fields associated to the mesh such as

    • h: the minimum edge size

    • |J|: the determinant of the jacobian of the geometric transformation which accounts for the measure scaling of the element

    • emarker: the element marker

    • epid: the element process id

    • P: the field corresponding to the dof points coordinates

    • facemarker: the face markers

    • edgemarker: the edge markers in 3D

    • pointmarker: the point markers

  • export scalar and vectorial fields from expressions to be visualised

  • print some global information about the mesh

3.1. Options

feelpp_mesh_exporter requires some options.

Table 1. Table of command-line feelpp_mesh_exporter options
Name Description Default value

dim

dimension of the mesh

3

shape

shape of the mesh elements

Simplex

scalar_expr

scalar expression

`g

sin(x):x

nodal

element`

vectorial_expr

vectorial expression

`gv

{sin(2*pi*x),sin(2*pi*x),sin(2*pi*x)}:x

nodal

element`

Scalar and vectorial expressions are built using | as a separator to defined

  • the name of the expression

  • the expression itself

  • a list of representation, possible values are nodal, element or nodal|element

4. EXAMPLES

We support that you have either Feel++ available via Debian/Ubuntu packages or via Docker/Apptainer images.

Debian/Ubuntu packages

We support that you have installed the feelpp packages on your system, see the Feel++ Installation for more information.

Docker/Apptainer images

We are now using the ghcr.io/feelpp/feelpp:jammy docker image to demonstrate feelpp_mesh_exporter usage. We use the meshes in src/feelpp/data/gmsh/primitives in the docker image.

Starting the docker feelpp/feelpp-toolboxes:latest
docker run --rm -ti -v $HOME/feel:/feel ghcr.io/feelpp/feelpp:jammy

In the following examples, we use the tetrahedron.geo mesh file in GitHub repository feelpp/feelpp/ to display the mesh and the fields.

Example of a command line to export a mesh and some fields to visualise
feelpp_mesh_exporter \
  --scalar_expr="g1|sin(2*pi*x)*sin(2*pi*y)*cos(2*pi*z):x:y:z|nodal" \
  --scalar_expr="g2|sin(3*pi*x)*sin(4*pi*y)*cos(5*pi*z):x:y:z|nodal" \
  --gmsh.hsize 0.2 \
  --gmsh.filename="github:{repo:feelpp,path:feelpp/quickstart/laplacian/tetrahedron/tetrahedron.geo}"

Using --scalar-expr, you can accumulate as many scalar expressions as you want, the format is as follows:

--scalar_expr="name|expression:x:y:z|nodal"
--scalar_expr="name|expression:x:y:z|element"

The first one creates a field with the name name and the expression expression on the nodal representation. The second one creates a field with the name name and the expression expression on the element representation.

Using --vectorial-expr, you can accumulate as many vectorial expressions as you want, the format is as follows:

--vectorial_expr="name|expression:x:y:z|nodal"
--vectorial_expr="name|expression:x:y:z|element"

The first one creates a field with the name name and the expression expression on the nodal representation. The second one creates a field with the name name and the expression expression on the element representation.

The --gmsh.hsize option is used to set the mesh size, the --gmsh.filename option is used to set the mesh file to be used.

we have use here the remote data download feature Feel++ application to download data either from GitHub or Girder.

5. SEE ALSO

Feel++ Book: docs.feelpp.org

6. COPYING

Copyright (C) 2017-2024 Feel++ Consortium.
Free use of this software is granted under the terms of the GPLv3 License.