Skip to main content

Initiate

This subroutine initiate an instance of ReferenceHexahedron.

Interface

INTERFACE Initiate
MODULE PURE SUBROUTINE initiate_ref_Hexahedron(obj, NSD, xij)
CLASS(ReferenceHexahedron_), INTENT(INOUT) :: obj
INTEGER(I4B), INTENT(IN) :: NSD
REAL(DFP), INTENT(IN), OPTIONAL :: xij(:, :)
END SUBROUTINE initiate_ref_Hexahedron
END INTERFACE Initiate
NSD

number of spatial dimension, it should be 3.

xij

xij is the nodal coordinate of hexahedron.

  • total number of rows in xij should be 3 as each row denotes a spatial dimension.
  • total number of columns in xij should be 8 as each column denotes the node number.

Interface 2 (ReferenceHexahedron)

We can use ReferenceHexahedron function to construct an instance of ReferenceHexahedron.

INTERFACE ReferenceHexahedron
MODULE PURE FUNCTION reference_Hexahedron(NSD, xij) RESULT(obj)
INTEGER(I4B), INTENT(IN) :: NSD
REAL(DFP), INTENT(IN), OPTIONAL :: xij(:, :)
TYPE(ReferenceHexahedron_) :: obj
END FUNCTION reference_Hexahedron
END INTERFACE ReferenceHexahedron

Interface 3 (ReferenceHexahedron_Pointer)

The function ReferenceHexahedron_Pointer returns the pointer to newly created instance of ReferenceHexahedron.

INTERFACE ReferenceHexahedron_Pointer
MODULE PURE FUNCTION reference_Hexahedron_Pointer(NSD, xij) RESULT(obj)
INTEGER(I4B), INTENT(IN) :: NSD
REAL(DFP), INTENT(IN), OPTIONAL :: xij(:, :)
CLASS(ReferenceHexahedron_), POINTER :: obj
END FUNCTION reference_Hexahedron_Pointer
END INTERFACE ReferenceHexahedron_Pointer