GetElemNum
This method returns the element numbers stored inside the mesh selection instance.
Interface
The following interface returns element number if isSelectionByElemNum
is true.
INTERFACE
MODULE FUNCTION meshSelect_getElemNum1(obj, dim) RESULT(Ans)
CLASS(MeshSelection_), INTENT(IN) :: obj
INTEGER(I4B), INTENT(IN) :: dim
INTEGER(I4B), ALLOCATABLE :: ans(:)
END FUNCTION meshSelect_getElemNum1
END INTERFACE
The following interface returns element number when
IsSelectionByElemNum
is true- or when
IsSelectionByMeshID
is true
TODO
IsSelectionByNodeNum
IsSelectionByBox
INTERFACE
MODULE FUNCTION meshSelect_getElemNum2(obj, dim, domain) RESULT(Ans)
CLASS(MeshSelection_), INTENT(IN) :: obj
INTEGER(I4B), INTENT(IN) :: dim
CLASS(Domain_), INTENT(IN) :: domain
INTEGER(I4B), ALLOCATABLE :: ans(:)
END FUNCTION meshSelect_getElemNum2
END INTERFACE
The following interface returns element of all dimensions.
INTERFACE
MODULE FUNCTION meshSelect_getElemNum3(obj) RESULT(Ans)
CLASS(MeshSelection_), INTENT(IN) :: obj
INTEGER(I4B), ALLOCATABLE :: ans(:)
END FUNCTION meshSelect_getElemNum3
END INTERFACE
INTERFACE
MODULE FUNCTION meshSelect_getElemNum4(obj, domain) RESULT(Ans)
CLASS(MeshSelection_), INTENT(IN) :: obj
CLASS(Domain_), INTENT(IN) :: domain
INTEGER(I4B), ALLOCATABLE :: ans(:)
END FUNCTION meshSelect_getElemNum4
END INTERFACE
Example 1
Click here to see the example
This example demonstrates the usage of getElemNum()
method.
PROGRAM main
USE easifemBase
USE easifemClasses
IMPLICIT NONE
TYPE( MeshSelection_ ) :: obj
TYPE(Domain_) :: dom
TYPE(HDF5File_) :: meshfile
TYPE(IntVector_) :: intvec
CALL meshfile%Initiate("./mesh.h5", mode="READ")
CALL meshfile%Open()
CALL dom%Initiate(meshfile, '')
CALL obj%Initiate( isSelectionByMeshID=.TRUE. )
CALL obj%Add( dim=2, meshID=[1])
CALL obj%Set()
intvec = obj%getElemNum(domain=dom, dim=2)
CALL Display(intvec, "getElemNum =", orient='row')
CALL obj%Deallocate()
CALL obj%Add(dim=1, meshID=[1,2])
CALL obj%Set()
intvec = obj%getElemNum(domain=dom, dim=1)
CALL Display(intvec, "getElemNum =", orient='row')
intvec = obj%getElemNum(domain=dom)
CALL Display(intvec, "getElemNum =", orient='row')
CALL obj%Deallocate()
END PROGRAM main