FE-Project
Loading...
Searching...
No Matches
scale_element_hexahedral Module Reference

module FElib / Element / hexahedron More...

Data Types

type  hexahedralelement
 Derived type representing a hexahedral element. More...

Functions/Subroutines

subroutine hexhedralelement_init (elem, elemorder_h, elemorder_v, lumpedmassmatflag)
 Initialize an object to manage a hexahedral element.

Detailed Description

module FElib / Element / hexahedron

Description
A module for a hexahedral finite element
Author
Yuta Kawai, Team SCALE

Function/Subroutine Documentation

◆ hexhedralelement_init()

subroutine scale_element_hexahedral::hexhedralelement_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 52 of file scale_element_hexahedral.F90.

55 implicit none
56
57 class(HexahedralElement), intent(inout) :: elem
58 integer, intent(in) :: elemOrder_h
59 integer, intent(in) :: elemOrder_v
60 logical, intent(in) :: LumpedMassMatFlag
61
62 !-----------------------------------------------------------------------------
63
64 elem%PolyOrder_h = elemorder_h
65 elem%PolyOrder_v = elemorder_v
66 elem%Nnode_h1D = elemorder_h + 1
67 elem%Nnode_v = elemorder_v + 1
68
69 elem%Nv = 8
70 elem%Nfaces_h = 4
71 elem%Nfaces_v = 2
72 elem%Nfaces = elem%Nfaces_h + elem%Nfaces_v
73
74 elem%Nfp_h = elem%Nnode_h1D*elem%Nnode_v
75 elem%Nfp_v = elem%Nnode_h1D**2
76 elem%NfpTot = elem%Nfp_h*elem%Nfaces_h + elem%Nfp_v*elem%Nfaces_v
77
78 elem%Np = elem%Nfp_v * elem%Nnode_v
79
80 call elementbase3d_init(elem, lumpedmassmatflag)
81 call construct_element(elem)
82
83 return

References scale_element_base::elementbase3d_final(), scale_element_base::elementbase3d_init(), scale_element_base::elementbase_construct_liftmat(), scale_element_base::elementbase_construct_massmat(), scale_element_base::elementbase_construct_stiffmat(), scale_linalgebra::linalgebra_inv(), scale_polynominal::polynominal_gendlagrangepoly_lglpt(), scale_polynominal::polynominal_gendlegendrepoly(), scale_polynominal::polynominal_gengausslegendrept(), scale_polynominal::polynominal_gengausslegendreptintweight(), scale_polynominal::polynominal_gengausslobattopt(), scale_polynominal::polynominal_gengausslobattoptintweight(), scale_polynominal::polynominal_genlagrangepoly(), and scale_polynominal::polynominal_genlegendrepoly().