trying to make the whole procedure understandable
This commit is contained in:
parent
ffea69955e
commit
0eba4e39cc
113
src/element.f90
113
src/element.f90
|
@ -43,38 +43,39 @@ module element
|
||||||
|
|
||||||
integer, dimension(NELEMTYPE), parameter :: NNODE = &
|
integer, dimension(NELEMTYPE), parameter :: NNODE = &
|
||||||
[ &
|
[ &
|
||||||
3, & ! 2D 3node 1ip
|
3, & ! 2D, 1 IP
|
||||||
6, & ! 2D 6node 3ip
|
6, & ! 2D, 3 IP
|
||||||
4, & ! 2D 4node 4ip
|
4, & ! 2D, 4 IP
|
||||||
8, & ! 2D 8node 9ip
|
8, & ! 2D, 9 IP
|
||||||
8, & ! 2D 8node 4ip
|
8, & ! 2D, 4 IP
|
||||||
!--------------------
|
!----------------------
|
||||||
4, & ! 3D 4node 1ip
|
4, & ! 3D, 1 IP
|
||||||
5, & ! 3D 5node 4ip
|
5, & ! 3D, 4 IP
|
||||||
10, & ! 3D 10node 4ip
|
10, & ! 3D, 4 IP
|
||||||
6, & ! 3D 6node 6ip
|
6, & ! 3D, 6 IP
|
||||||
8, & ! 3D 8node 1ip
|
8, & ! 3D, 1 IP
|
||||||
8, & ! 3D 8node 8ip
|
8, & ! 3D, 8 IP
|
||||||
20, & ! 3D 20node 8ip
|
20, & ! 3D, 8 IP
|
||||||
20 & ! 3D 20node 27ip
|
20 & ! 3D, 27 IP
|
||||||
] !< number of nodes that constitute a specific type of element
|
] !< number of nodes that constitute a specific type of element
|
||||||
|
|
||||||
integer, dimension(NELEMTYPE), parameter :: GEOMTYPE = &
|
integer, dimension(NELEMTYPE), parameter :: GEOMTYPE = &
|
||||||
[ &
|
[ &
|
||||||
1, &
|
1, & ! 1 triangle
|
||||||
2, &
|
2, & ! 3 quadrilaterals
|
||||||
3, &
|
3, & ! 4 quadrilaterals
|
||||||
4, &
|
4, & ! 9 quadrilaterals
|
||||||
3, &
|
3, & ! 4 quadrilaterals
|
||||||
5, &
|
!----------------------
|
||||||
6, &
|
5, & ! 1 tetrahedron
|
||||||
6, &
|
6, & ! 4 hexahedrons
|
||||||
7, &
|
6, & ! 4 hexahedrons
|
||||||
8, &
|
7, & ! 6 hexahedrons
|
||||||
9, &
|
8, & ! 1 hexahedron
|
||||||
9, &
|
9, & ! 8 hexahedrons
|
||||||
10 &
|
9, & ! 8 hexahedrons
|
||||||
] !< geometry type of particular element type
|
10 & ! 27 hexahedrons
|
||||||
|
] !< geometry type (same number of cell nodes and IPs)
|
||||||
|
|
||||||
integer, dimension(maxval(GEOMTYPE)), parameter :: NCELLNODE = &
|
integer, dimension(maxval(GEOMTYPE)), parameter :: NCELLNODE = &
|
||||||
[ &
|
[ &
|
||||||
|
@ -88,7 +89,7 @@ module element
|
||||||
8, &
|
8, &
|
||||||
27, &
|
27, &
|
||||||
64 &
|
64 &
|
||||||
] !< number of cell nodes in a specific geometry type
|
] !< number of cell nodes
|
||||||
|
|
||||||
integer, dimension(maxval(GEOMTYPE)), parameter :: NIP = &
|
integer, dimension(maxval(GEOMTYPE)), parameter :: NIP = &
|
||||||
[ &
|
[ &
|
||||||
|
@ -102,45 +103,45 @@ module element
|
||||||
1, &
|
1, &
|
||||||
8, &
|
8, &
|
||||||
27 &
|
27 &
|
||||||
] !< number of IPs in a specific geometry type
|
] !< number of IPs
|
||||||
|
|
||||||
integer, dimension(maxval(GEOMTYPE)), parameter :: CELLTYPE = &
|
integer, dimension(maxval(GEOMTYPE)), parameter :: CELLTYPE = &
|
||||||
[ &
|
[ &
|
||||||
1, & ! 2D 3node
|
1, & ! 2D, 3 node (Triangle)
|
||||||
2, & ! 2D 4node
|
2, & ! 2D, 4 node (Quadrilateral)
|
||||||
2, & ! 2D 4node
|
2, & ! - " -
|
||||||
2, & ! 2D 4node
|
2, & ! - " -
|
||||||
3, & ! 3D 4node
|
3, & ! 3D, 4 node (Tetrahedron)
|
||||||
4, & ! 3D 8node
|
4, & ! 3D, 4 node (Hexahedron)
|
||||||
4, & ! 3D 8node
|
4, & ! - " -
|
||||||
4, & ! 3D 8node
|
4, & ! - " -
|
||||||
4, & ! 3D 8node
|
4, & ! - " -
|
||||||
4 & ! 3D 8node
|
4 & ! - " -
|
||||||
] !< cell type that is used by each geometry type
|
] !< cell type
|
||||||
|
|
||||||
integer, dimension(maxval(CELLTYPE)), parameter :: NIPNEIGHBOR = &
|
integer, dimension(maxval(CELLTYPE)), parameter :: NIPNEIGHBOR = &
|
||||||
[ &
|
[ &
|
||||||
3, & ! 2D 3node
|
3, &
|
||||||
4, & ! 2D 4node
|
4, &
|
||||||
4, & ! 3D 4node
|
4, &
|
||||||
6 & ! 3D 8node
|
6 &
|
||||||
] !< number of ip neighbors / cell faces in a specific cell type
|
] !< number of ip neighbors / cell faces
|
||||||
|
|
||||||
integer, dimension(maxval(CELLTYPE)), parameter :: NCELLNODEPERCELLFACE = &
|
integer, dimension(maxval(CELLTYPE)), parameter :: NCELLNODEPERCELLFACE = &
|
||||||
[ &
|
[ &
|
||||||
2, & ! 2D 3node
|
2, &
|
||||||
2, & ! 2D 4node
|
2, &
|
||||||
3, & ! 3D 4node
|
3, &
|
||||||
4 & ! 3D 8node
|
4 &
|
||||||
] !< number of cell nodes in a specific cell type
|
] !< number of cell nodes per face
|
||||||
|
|
||||||
integer, dimension(maxval(CELLTYPE)), parameter :: NCELLNODEPERCELL = &
|
integer, dimension(maxval(CELLTYPE)), parameter :: NCELLNODEPERCELL = &
|
||||||
[ &
|
[ &
|
||||||
3, & ! 2D 3node
|
3, &
|
||||||
4, & ! 2D 4node
|
4, &
|
||||||
4, & ! 3D 4node
|
4, &
|
||||||
8 & ! 3D 8node
|
8 &
|
||||||
] !< number of cell nodes in a specific cell type
|
] !< number of total cell nodes
|
||||||
|
|
||||||
! *** IPneighbor ***
|
! *** IPneighbor ***
|
||||||
! list of the neighborhood of each IP.
|
! list of the neighborhood of each IP.
|
||||||
|
|
Loading…
Reference in New Issue