Table 6.88 — DRM_Finite_Element_Mesh

Property

Description

Class

  • <DRM Finite Element Mesh>

Superclass

Subclass

  • None.

Definition

An instance of this DRM class specifies a tesselation of a surface into mesh faces, or of a solid into solid elements. Additional data may be associated with each vertex, mesh face, and / or solid element.

More specifically, a <DRM Finite Element Mesh> instance is comprised of

  1. an ordered list of <DRM Vertex> instances, which thus associates an index number to each <DRM Vertex> instance,


  2. a <DRM Mesh Face Table> instance, which defines the mesh faces in terms of <DRM Vertex> index numbers,


  3. optionally, <DRM Property Table> instances providing additional data (details given below).

Knowledge of which vertices form a mesh face (or solid) is important for various computations, such as interpolation.

Component <DRM Property Table> instances are optional; when present, they are used to define solid elements and to associate data with <DRM Vertex> instances, mesh faces, or solid elements.

Topological information may be optionally included in the <DRM Mesh Face Table>, or in an ECC_MESH_SOLID_SET <DRM Property Table>, depending on whether the <DRM Finite Element Mesh> instance is a surface or a solid. Surface mesh does not have any <DRM Property Table> instances classified as either ECC_MESH_SOLID_SET or ECC_MESH_SOLID_PROPERTY_SET, but may have surface topology in its component <DRM Mesh Face Table>.

A solid mesh shall have a ECC_MESH_SOLID_SET <DRM Property Table>, may have a ECC_MESH_SOLID_PROPERTY_SET <DRM Property Table>, and does not have surface topology in its component <DRM Mesh Face Table>.

The permitted <DRM Property Table> instances are the following.

  1. To define solid elements in terms of the mesh faces making up each face of a solid element, a <DRM Property Table> instance with the following constraints.

    <DRM Classification Data>'s tag = ECC_MESH_SOLID_SET

    First <DRM Axis> (a <DRM Regular Axis>):

    Field Value
    axis_type { INDEX, { SOLID_ELEMENT}}
    assigns an index value to each solid element.
    axis_value_count total number of solid elements in the table.
    value_unit EUC_UNITLESS
    value_scale ESC_UNI

    Second <DRM Axis> (a <DRM Regular Axis>):

    Field Value
    axis_type { INDEX, { SOLID_FACE}}
    axis_value_count Maximum number of faces on any one solid element.
    value_unit EUC_UNITLESS
    value_scale ESC_UNI

    First <DRM Table Property Description>:

    Field Value
    meaning { INDEX, {MESH_FACE}}

    This is an index into the <DRM Mesh Face Table>, the (i,j)-th cell of which represents the j-th face of the i-th solid. If j is greater than the number of the last face of solid i, the (i,j)-th cell contains zero (0).

    Optional Second <DRM Table Property Description>: Solid topology can be defined by providing a second <DRM Table Property Description>, which gives the index in this table of the solid element that is adjacent on this face (the value for the (i,j)-th cell is k if the j-th face of solid i is also a face of solid k). If the face is not shared, the value is 0.

    Note that the presence or absence of this particular component <DRM Property Table> instance determines whether the <DRM Finite Element Mesh> instance is a solid or a surface.

  2. To associate data with <DRM Vertex> instances, a <DRM Property Table> instance with

    <DRM Classification Data>'s tag = ECC_MESH_NODE_PROPERTY_SET

    First <DRM Axis> (<DRM Regular Axis>):

    Field Value
    axis_type { INDEX, { MESH_VERTEX}}
    an index into the ordered <DRM Vertex> list, identifying the <DRM Vertex> instance for which data is being provided
    axis_value_count total number of <DRM Vertex> instances
    value_unit EUC_UNITLESS
    value_scale ESC_UNI

    Additional <DRM Axes> - unconstrained

    <DRM Table Property Descriptions> - unconstrained

  3. To associate data with mesh faces, a <DRM Property Table> instance with

    <DRM Classification Data>'s tag = ECC_MESH_FACE_PROPERTY_SET

    First <DRM Axis> (<DRM Regular Axis>):

    Field Value
    axis_type { INDEX, { MESH_FACE}}
    the index from the <DRM Mesh Face Table>
    axis_value_count total number of mesh faces in the table
    value_unit EUC_UNITLESS
    value_scale ESC_UNI

    Additional <DRM Axes> - unconstrained

    <DRM Table Property Descriptions> - unconstrained

  4. To associate data with solid elements (given that a <DRM Property Table> instance ECC_MESH_SOLID_SET has been provided), a <DRM Property Table> instance with

    <DRM Classification Data>'s tag = ECC_MESH_SOLID_PROPERTY_SET

    First <DRM Axis> (<DRM Regular Axis>):

    Field Value
    axis_type { INDEX, { SOLID_ELEMENT}}
    the index from the ECC_MESH_SOLID_SET <DRM Property Table>
    axis_value_count total number of solids in the table
    value_unit EUC_UNITLESS
    value_scale ESC_UNI

    Additional <DRM Axes> - unconstrained

    <DRM Table Property Descriptions> - unconstrained

Class diagram

Figure 6.101 — DRM_Finite_Element_Mesh

Inherited field elements

Field name

Range

Field data type

None

   

Field elements

Field name

Range

Field data type

None

   

Associated to (one-way) (inherited)

  • None.

Associated to (one-way)

  • None.

Associated by (one-way) (inherited)

  • None.

Associated by (one-way)

  • None.

Associated with (two-way) (inherited)

  • None.

Associated with (two-way)

  • None.

Composed of (two-way) (inherited)

Composed of (two-way)

Composed of (two-way metadata) (inherited)

Composed of (two-way metadata)

  • None.

Component of (two-way) (inherited)

Component of (two-way)

  • None.

Constraints

Clarifications

1 A <DRM Primitive Geometry> contains a <DRM Union Of Primitive Geometry> instance as a component only when that <DRM Primitive Geometry> can be decomposed into nested <DRM Primitive Geometry>, as (for example) a <DRM Polygon> can be decomposed into subfaces.

2 This is an ECC_MESH_FACE_SET <DRM Data Table>.

3 Since a <DRM Vertex> shall have a <DRM Location>, this provides an enumerated collection of <DRM Location> instances.

Example(s)

  • In support of a rain run-off computational model, a ground surface area is triangulated. At each triangle vertex, the gradient, porosity, flow resistance, water capacity, and rain rate are measured.

    This data set is represented in a <DRM Finite Element Mesh> instance by

    1. an ordered list of <DRM Vertex> instances (one for each triangle vertex),
    2. a <DRM Mesh Face Table> to define the triangles, an ECC_MESH_FACE_PROPERTY_SET <DRM Property Table> for the gradient data, and
    3. an ECC_MESH_NODE_PROPERTY_SET <DRM Property Table> for the remaining properties.