ElemData
It is a data type for storing the element-data information.
The methods related to this data structure are in ElementDataMethods, BoundaryDataMethods, FacetDataMethods
TYPE :: ElemData_
INTEGER(I4B) :: globalElemNum = 0
INTEGER(I4B) :: localElemNum = 0
INTEGER(I4B) :: elementType = INTERNAL_ELEMENT
INTEGER(I4B), ALLOCATABLE :: globalNodes(:)
INTEGER(I4B), ALLOCATABLE :: globalElements(:)
INTEGER(I4B), ALLOCATABLE :: boundaryData(:)
CONTAINS
PROCEDURE, PUBLIC, PASS( obj ) :: Display => elemData_Display
END TYPE ElemData_
globalElemNum
global element numberlocalElemNum
local element numberelementType
following element types are defined:BOUNDARY_ELEMENT
: If the element contains the boundary node of the mesh, then it will be called the boundary elementINTERNAL_ELEMENT
: If the element does not contain the boundary node of the mesh, then it will be called the internal element
globalNodes
nodes contained in the element, i.e., connectivityglobalElements
contains the information about the elements surrounding an element. This is explained below:
Let us say that globalElem1
, globalElem2
, and globalElem3
surround a local element ielem
(its global element number is globalElem), then
globalElements( [1,2,3] )
containsglobalElem1
,pFace
,nFace
globalElements( [4,5,6] )
containsglobalElem2
,pFace
,nFace
globalElements( [7,8,9] )
containsglobalElem3
,pFace
,nFace
.
Here, pFace
is the local-facet-number of parent element, i.e., globalElem (ielem)
, which is connected to the nFace
(local-facet-number) of the neighboring element.
boundaryData
If an element contains the boundary node of the mesh, then it is considered as a boundary element. Ifiel
is a boundary element, thenboudnaryData
contains the local-facet-numbers ofiel
which coincides with the mesh boundary. It may happen that a boundary element has no boundary face (but only a single boundary node), in this caseboundaryData
will have zero size.