FE-Project
Loading...
Searching...
No Matches
scale_element_hexahedral::hexahedralelement Type Reference

Derived type representing a hexahedral element. More...

Inheritance diagram for scale_element_hexahedral::hexahedralelement:
scale_element_base::elementbase3d scale_element_base::elementbase

Public Member Functions

procedure init (elem, elemorder_h, elemorder_v, lumpedmassmatflag)
 Initialize an object to manage a hexahedral element.
procedure final (elem)
 Finalize an object to manage a hexahedral element.
procedure genintgausslegendreintrpmat (this, intrppolyorder, intw_intrp, x_intrp, y_intrp, z_intrp)
Public Member Functions inherited from scale_element_base::elementbase
procedure islumpedmatrix (elem)
 Get a flag whether the lumped mass matrix is used.

Additional Inherited Members

Public Attributes inherited from scale_element_base::elementbase3d
integer polyorder_h
 Polynomial order with the horizontal direction.
integer nnode_h1d
 Number of nodes along the horizontal coordinate.
integer nfaces_h
 Number of nodes on an horizontal face of the reference element.
integer nfp_h
 Number of horizontal faces of the reference element.
integer, dimension(:,:), allocatable fmask_h
 Array saving indices to extract nodal values on the horizontal faces.
integer polyorder_v
 Polynomial order with the vertical direction.
integer nnode_v
 Number of nodes along the vertical coordinate.
integer nfaces_v
 Number of nodes on an vertical face of the reference element.
integer nfp_v
 Number of vertical faces of the reference element.
integer, dimension(:,:), allocatable fmask_v
 Number of vertical faces of the reference element.
integer, dimension(:,:), allocatable colmask
 Array saving indices to extract nodal values on the vertical columns.
integer, dimension(:,:), allocatable hslice
 Array saving indices to extract nodal values on the horizontal plane.
integer, dimension(:), allocatable indexh2dto3d
 Array saving indices to expand 2D horizontal nodal values into the 3D nodal values.
integer, dimension(:), allocatable indexh2dto3d_bnd
 Array saving indices to expand 2D horizontal nodal values into the 3D nodal values on element faces.
integer, dimension(:), allocatable indexz1dto3d
 Array saving indices to expand 1D vertical nodal values into the 3D nodal values.
real(rp), dimension(:), allocatable x1
 Array saving x1-coordinate of nodes within the reference element.
real(rp), dimension(:), allocatable x2
 Array saving x2-coordinate of nodes within the reference element.
real(rp), dimension(:), allocatable x3
 Array saving x3-coordinate of nodes within the reference element.
real(rp), dimension(:,:), allocatable dx1
 Elementwise differential matrix for the x1-coordinate direction (Dx1 = M^-1 Sx1)
real(rp), dimension(:,:), allocatable dx2
 Elementwise differential matrix for the x2-coordinate direction (Dx2 = M^-1 Sx2)
real(rp), dimension(:,:), allocatable dx3
 Elementwise differential matrix for the x3-coordinate direction (Dx3 = M^-1 Sx3)
real(rp), dimension(:,:), allocatable sx1
 Elementwise stiffness matrix for the x1-coordinate direction.
real(rp), dimension(:,:), allocatable sx2
 Elementwise stiffness matrix for the x2-coordinate direction.
real(rp), dimension(:,:), allocatable sx3
 Elementwise stiffness matrix for the x3-coordinate direction.
Public Attributes inherited from scale_element_base::elementbase
integer np
 Number of nodes within an element.
integer nfaces
 Number of faces.
integer nfptot
 Total number of nodes on faces.
integer nv
 Number of vertices with an element.
real(rp), dimension(:,:), allocatable v
 The Vandermonde matrix (V) whose size is Np x Np.
real(rp), dimension(:,:), allocatable invv
 Inversion of the Vandermonde matrix (V^-1) whose size is Np x Np.
real(rp), dimension(:,:), allocatable m
 Mass matrix (M) whose size is Np x Np.
real(rp), dimension(:,:), allocatable invm
 Inversion of the mass matrix (M^-1) whose size Np x NP.
real(rp), dimension(:,:), allocatable lift
 Lifting matrix with element boundary integrals whose size Np x NfpTot.
real(rp), dimension(:), allocatable intweight_lgl
 Weights of gaussian quadrature with the LGL nodes.

Detailed Description

Derived type representing a hexahedral element.

Definition at line 31 of file scale_element_hexahedral.F90.

Member Function/Subroutine Documentation

◆ init()

procedure scale_element_hexahedral::hexahedralelement::init ( class(hexahedralelement), intent(inout) elem,
integer, intent(in) elemorder_h,
integer, intent(in) elemorder_v,
logical, intent(in) lumpedmassmatflag )

Initialize an object to manage a hexahedral element.

Parameters
elemObject of finite element
elemOrder_hPolynomial order with 1D horizontal direction
elemOrder_vPolynomial order with vertical direction
LumpedMassMatFlagFlag whether mass lumping is considered

Definition at line 33 of file scale_element_hexahedral.F90.

◆ final()

procedure scale_element_hexahedral::hexahedralelement::final ( class(hexahedralelement), intent(inout) elem)

Finalize an object to manage a hexahedral element.

Parameters
elemObject of finite element

Definition at line 34 of file scale_element_hexahedral.F90.

◆ genintgausslegendreintrpmat()

procedure scale_element_hexahedral::hexahedralelement::genintgausslegendreintrpmat ( class(hexahedralelement), intent(in) this,
integer, intent(in) intrppolyorder,
real(rp), dimension(intrppolyorder**3), intent(out), optional intw_intrp,
real(rp), dimension(intrppolyorder**3), intent(out), optional x_intrp,
real(rp), dimension(intrppolyorder**3), intent(out), optional y_intrp,
real(rp), dimension(intrppolyorder**3), intent(out), optional z_intrp )

Definition at line 35 of file scale_element_hexahedral.F90.


The documentation for this type was generated from the following file: