Skip to main content

GetElemNum

Inheritence

This method is inherited from the AbstractMesh class.

GetElemNum

The GetElemNum method retrieves the element numbers (global or local) present in the mesh. It can return either all element numbers or those belonging to a specific mesh ID.

Interface

INTERFACE
MODULE FUNCTION GetElemNum1(obj, islocal) RESULT(ans)
CLASS(AbstractMesh_), INTENT(IN) :: obj
LOGICAL(LGT), OPTIONAL, INTENT(IN) :: islocal
INTEGER(I4B), ALLOCATABLE :: ans(:)
END FUNCTION GetElemNum1
END INTERFACE

INTERFACE
MODULE FUNCTION GetElemNum2(obj, meshid, islocal) RESULT(ans)
CLASS(AbstractMesh_), INTENT(IN) :: obj
INTEGER(I4B), INTENT(IN) :: meshid
LOGICAL(LGT), OPTIONAL, INTENT(IN) :: islocal
INTEGER(I4B), ALLOCATABLE :: ans(:)
END FUNCTION GetElemNum2
END INTERFACE

Syntax

! Get all element numbers
elemNumbers = mesh%GetElemNum([islocal])

! Get element numbers for a specific mesh ID
elemNumbers = mesh%GetElemNum(meshid, [islocal])

Parameters

ParameterTypeIntentDescription
objCLASS(AbstractMesh_)INThe mesh object
islocalLOGICAL(LGT)IN (optional)If true, return local element numbers instead of global
meshidINTEGER(I4B)INMesh ID to filter elements by

Return Value

TypeDescription
INTEGER(I4B), ALLOCATABLE(:)Array of element numbers

Description

GetElemNum returns an array of element numbers present in the mesh. The method has two versions:

  1. Return all element numbers in the mesh
  2. Return only element numbers that belong to a specific mesh ID

The islocal parameter determines whether the returned numbers are global (default) or local element numbers.

Example Usage

TYPE(Mesh_) :: mesh
INTEGER(I4B), ALLOCATABLE :: allElements(:), subdomainElements(:)

! Initialize mesh...

! Get all element numbers
allElements = mesh%GetElemNum()

! Get element numbers for a specific subdomain
subdomainElements = mesh%GetElemNum(meshid=2)

PRINT *, "Total elements:", SIZE(allElements)
PRINT *, "Subdomain elements:", SIZE(subdomainElements)