Elements

Overview

The elements of Muscat (Points, Bars, Square, Triangles, Tetrahedras…) are gathered under an enumeration called ElementType. This enum can be found in the file ElementsDescription.py/h. This description itself includes several information for each elements. As each element are represented by a unique number, bit masks are defined to provide more information about each element.

ElementType::Bar_2 & ElementType::MaskP1; // evaluate to true
ElementType::Quadrangle_4 & ElementType::MaskP2; // evaluate to false
ElementType::Tetrahedron_10 & ElementType::MaskD2; // evaluate to false
ElementType::Tetrahedron_4 & ElementType::MaskD3; // evaluate to true

Note

The name of the elements in the enum is made up with the geometrical support (example: Triangle) immediately followed by an ‘_’ and the number of node that compose the given element (example: 3). Therefore, several quadratic elements exist for some given geometric support, each differentiated by the number of node (example: Quadrangle_8 and Quadrangle_9)

Descriptions of the elements

A data structure mapping an ElementType to its ElementDescription object exists. This description of each elements involves:

  • name: the element name

  • geoSupport: the geometrical support of this element

  • dimension: the dimensionality (0,1,2,3)

  • numberOfNodes: number of nodes of this element

  • linear: true if the the jacobian matrix is constant in the elemen

  • degree: the higher degree of the polynomial