GetMaxNodeNumber
The GetMaxNodeNumber method returns the maximum global node number present in the mesh. This is useful for determining the range of node numbers and for array sizing.
Interface
INTERFACE
MODULE FUNCTION GetMaxNodeNumber(obj) RESULT(ans)
CLASS(AbstractMesh_), INTENT(IN) :: obj
INTEGER(I4B) :: ans
END FUNCTION GetMaxNodeNumber
END INTERFACE
Syntax
maxNodeNum = mesh%GetMaxNodeNumber()
Parameters
| Parameter | Type | Intent | Description |
|---|---|---|---|
obj | CLASS(AbstractMesh_) | IN | The mesh object |
Return Value
| Type | Description |
|---|---|
INTEGER(I4B) | Maximum global node number in the mesh |
Description
GetMaxNodeNumber returns the maximum global node number present in the mesh. This value is useful for determining the range of node numbers and for array sizing, especially when creating arrays indexed by global node numbers.
The maximum node number is stored in the mesh object as maxNptrs and is typically determined during mesh construction or import.
Example Usage
TYPE(Mesh_) :: mesh
INTEGER(I4B) :: minNode, maxNode, nodeRange
LOGICAL(LGT), ALLOCATABLE :: nodeExists(:)
! Initialize mesh...
! Get the maximum node number
maxNode = mesh%GetMaxNodeNumber()
minNode = mesh%GetMinNodeNumber()
nodeRange = maxNode - minNode + 1
! Create a mask for node existence
ALLOCATE (nodeExists(maxNode))
nodeExists = .FALSE.
! Mark existing nodes
DO i = 1, mesh%GetTotalNodes()
globalNode = mesh%GetNptrs() (i)
nodeExists(globalNode) = .TRUE.
END DO
PRINT *, "Highest node number in mesh:", maxNode
PRINT *, "Number of gaps in node numbering:", nodeRange - mesh%GetTotalNodes()