Incorporate new approximated integration methods in GetFEM

A perl script automatically incorporates new cubature methods from a description file. You can see in the directory cubature such description files (with extension .IM) . For instance for IM_TETRAHEDRON(5) the following file describes the method:

NAME = IM_TETRAHEDRON(5)
N = 3
GEOTRANS = GT_PK(3,1)
NBPT = 4
0, 0.25, 0.25, 0.25, 0.008818342151675485
1, 0.31979362782962991, 0.31979362782962991, 0.31979362782962991, 0.011511367871045398
1, 0.091971078052723033, 0.091971078052723033, 0.091971078052723033, 0.01198951396316977
1, 0.056350832689629156, 0.056350832689629156, 0.44364916731037084, 0.008818342151675485
NBF = 4 IM_TRIANGLE(5)
IM_TRIANGLE(5)
IM_TRIANGLE(5)
IM_TRIANGLE(5)

where NAME is the name of the method in GetFEM (constant integer parameter are allowed), N is the dimension, GEOTRANS describes a valid geometric transformation of GetFEM. This geometric transformation just defines the reference element on which the integration method is described. NBPT is the number of integration node definitions. Integration node definitions include a symmetry definition such that the total number of integration nodes would be greater than NBPT.

Composition of the integration node definition:

  • an integer: 0 = no symmetry, 1 = full symmetric (x6 for a triangle, x4 for a quadrangle, x24 for a tetrahedron …),

  • the N coordinates of the integration node,

  • the load.

NBF is the number of faces of the reference element (should correspond to GEOTRANS). Then follows an already existing integration method for each face (each on a line). This is necessary to make integrations on boundaries.

The file format is inspired from [EncyclopCubature].