trying to make the whole procedure understandable

This commit is contained in:
Martin Diehl 2020-01-26 14:18:16 +01:00
parent ffea69955e
commit 0eba4e39cc
1 changed files with 57 additions and 56 deletions

View File

@ -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.