Skip to main content

tNodes

This method returns the total number of nodes in DOF object.

info

You can also use the generic method called SIZE

Calling examples:

Use .tNodes. operator to get the total number of nodes for DOF_.

ans=.tNodes. obj

This returns the size of DOF_ object. If you want to get the total nodes in a given degree of freedom then we can use the following.

ans=obj .tNodes. idof

If you want the size of several degrees of freedom then use

ans=obj .tNodes. [idof1, idof2, idof3]

If you want to know the size of a physical variable, then use the name of physical variable

ans= obj .tNodes. "U"

Interface 1​

INTERFACE
MODULE PURE FUNCTION Size(obj) RESULT(ans)
CLASS(DOF_), INTENT(IN) :: obj
INTEGER(I4B) :: ans
END FUNCTION Size
END INTERFACE
note

This method is also available as the generic method called SIZE

Interface 2​

INTERFACE
MODULE PURE FUNCTION Size(obj, idof) RESULT(ans)
CLASS(DOF_), INTENT(IN) :: obj
INTEGER(I4B), INTENT(IN) :: idof
INTEGER(I4B) :: ans
END FUNCTION Size
END INTERFACE
  • This function returns the total number of nodes for a given degree of freedom number idof
  • idof should be lesser than the total degree of freedom.
note

This method is also available as the generic method called SIZE

Interface 3​

INTERFACE
MODULE PURE FUNCTION Size(obj, varname) RESULT(ans)
CLASS(DOF_), INTENT(IN) :: obj
CHARACTER(*), INTENT(IN) :: varname
INTEGER(I4B) :: ans
END FUNCTION Size
END INTERFACE
  • This function returns the total number of nodes for a physical variable.
  • The physical variable is given by its name.
note

This method is also available as the generic method called SIZE

Interface 4​

INTERFACE
MODULE PURE FUNCTION Size(obj, idof) RESULT(ans)
CLASS(DOF_), INTENT(IN) :: obj
INTEGER(I4B), INTENT(IN) :: idof(:)
INTEGER(I4B) :: ans
END FUNCTION Size
END INTERFACE
  • This function returns the total number of nodes in multiple degrees of freedom number.
  • All degrees of freedom specified in idof should be lesser than the total degree of freedom.
note

This method is also available as the generic method called SIZE

Examples​

This example shows the usage of .tNodes. to get total number of nodes of degree of freedom.

PROGRAM main
USE easifemBase
IMPLICIT NONE
TYPE( DOF_ ) :: obj
CALL Initiate( obj, tNodes=[10], names=["U"], spaceCompo=[3], &
& timeCompo=[1], storageFMT = FMT_DOF )
CALL OK( (.tNodes. obj) .EQ. 30, '.tNodes. obj [30] : ' )
CALL OK( (obj .tNodes. 1) .EQ. 10, 'obj .tNodes. 1: ' )
CALL OK( (obj .tNodes. 2) .EQ. 10, 'obj .tNodes. 2: ' )
CALL OK( (obj .tNodes. 3) .EQ. 10, 'obj .tNodes. 3: ' )
CALL OK( (obj .tNodes. [1,2,3]) .EQ. 30, 'obj .tNodes. [1,2,3]: ' )
CALL Deallocate( obj )
END PROGRAM main