Skip to main content

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

ParameterTypeIntentDescription
objCLASS(AbstractMesh_)INThe mesh object

Return Value

TypeDescription
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()