not needed

This commit is contained in:
Martin Diehl 2019-06-15 15:43:43 +02:00
parent 85e6885ea7
commit 9f35267470
1 changed files with 13 additions and 136 deletions

View File

@ -10,7 +10,7 @@ module element
private private
!--------------------------------------------------------------------------------------------------- !---------------------------------------------------------------------------------------------------
!> Properties of a single element (the element used in the mesh) !> Properties of a single element
!--------------------------------------------------------------------------------------------------- !---------------------------------------------------------------------------------------------------
type, public :: tElement type, public :: tElement
integer :: & integer :: &
@ -21,11 +21,9 @@ module element
Ncellnodes, & Ncellnodes, &
NcellnodesPerCell, & NcellnodesPerCell, &
nIPs, & nIPs, &
nIPneighbors, & ! ToDo: MD: Do all IPs in one element type have the same number of neighbors? nIPneighbors
maxNnodeAtIP
integer, dimension(:,:), allocatable :: & integer, dimension(:,:), allocatable :: &
Cell, & !< intra-element (cell) nodes that constitute a cell Cell, & !< intra-element (cell) nodes that constitute a cell
NnodeAtIP, &
IPneighbor, & IPneighbor, &
cellFace cellFace
integer, dimension(:,:), allocatable :: & integer, dimension(:,:), allocatable :: &
@ -163,114 +161,6 @@ module element
8 & ! 3D 8node 8 & ! 3D 8node
] !< number of cell nodes in a specific cell type ] !< number of cell nodes in a specific cell type
! --------------------------------------------------------------------------------------------------
! MD: probably not needed START
integer, dimension(maxNnodeAtIP(1),nIP(1)), parameter, private :: NnodeAtIP1 = &
reshape([&
1,2,3 &
],[maxNnodeAtIP(1),nIP(1)])
integer, dimension(maxNnodeAtIP(2),nIP(2)), parameter, private :: NnodeAtIP2 = &
reshape([&
1, &
2, &
3 &
],[maxNnodeAtIP(2),nIP(2)])
integer, dimension(maxNnodeAtIP(3),nIP(3)), parameter, private :: NnodeAtIP3 = &
reshape([&
1, &
2, &
4, &
3 &
],[maxNnodeAtIP(3),nIP(3)])
integer, dimension(maxNnodeAtIP(4),nIP(4)), parameter, private :: NnodeAtIP4 = &
reshape([&
1,0, &
1,2, &
2,0, &
1,4, &
0,0, &
2,3, &
4,0, &
3,4, &
3,0 &
],[maxNnodeAtIP(4),nIP(4)])
integer, dimension(maxNnodeAtIP(5),nIP(5)), parameter, private :: NnodeAtIP5 = &
reshape([&
1,2,3,4 &
],[maxNnodeAtIP(5),nIP(5)])
integer, dimension(maxNnodeAtIP(6),nIP(6)), parameter, private :: NnodeAtIP6 = &
reshape([&
1, &
2, &
3, &
4 &
],[maxNnodeAtIP(6),nIP(6)])
integer, dimension(maxNnodeAtIP(7),nIP(7)), parameter, private :: NnodeAtIP7 = &
reshape([&
1, &
2, &
3, &
4, &
5, &
6 &
],[maxNnodeAtIP(7),nIP(7)])
integer, dimension(maxNnodeAtIP(8),nIP(8)), parameter, private :: NnodeAtIP8 = &
reshape([&
1,2,3,4,5,6,7,8 &
],[maxNnodeAtIP(8),nIP(8)])
integer, dimension(maxNnodeAtIP(9),nIP(9)), parameter, private :: NnodeAtIP9 = &
reshape([&
1, &
2, &
4, &
3, &
5, &
6, &
8, &
7 &
],[maxNnodeAtIP(9),nIP(9)])
integer, dimension(maxNnodeAtIP(10),nIP(10)), parameter, private :: NnodeAtIP10 = &
reshape([&
1,0, 0,0, &
1,2, 0,0, &
2,0, 0,0, &
1,4, 0,0, &
1,3, 2,4, &
2,3, 0,0, &
4,0, 0,0, &
3,4, 0,0, &
3,0, 0,0, &
1,5, 0,0, &
1,6, 2,5, &
2,6, 0,0, &
1,8, 4,5, &
0,0, 0,0, &
2,7, 3,6, &
4,8, 0,0, &
3,8, 4,7, &
3,7, 0,0, &
5,0, 0,0, &
5,6, 0,0, &
6,0, 0,0, &
5,8, 0,0, &
5,7, 6,8, &
6,7, 0,0, &
8,0, 0,0, &
7,8, 0,0, &
7,0, 0,0 &
],[maxNnodeAtIP(10),nIP(10)])
! *** FE_ipNeighbor *** ! *** FE_ipNeighbor ***
! is a list of the neighborhood of each IP. ! is a list of the neighborhood of each IP.
! It is sorted in (local) +x,-x, +y,-y, +z,-z direction. ! It is sorted in (local) +x,-x, +y,-y, +z,-z direction.
@ -803,9 +693,9 @@ module element
],[NCELLNODEPERCELLFACE(4),NIPNEIGHBOR(4)]) !< 3D 8node, VTK_HEXAHEDRON (12) ],[NCELLNODEPERCELLFACE(4),NIPNEIGHBOR(4)]) !< 3D 8node, VTK_HEXAHEDRON (12)
contains contains
subroutine tElement_init(self,elemType) subroutine tElement_init(self,elemType)
class(tElement) :: self class(tElement) :: self
integer, intent(in) :: elemType integer, intent(in) :: elemType
@ -846,50 +736,38 @@ module element
self%NcellNodes = NcellNode (self%geomType) self%NcellNodes = NcellNode (self%geomType)
self%maxNnodeAtIP = maxNnodeAtIP (self%geomType)
self%nIPs = nIP (self%geomType) self%nIPs = nIP (self%geomType)
self%cellType = cellType (self%geomType) self%cellType = cellType (self%geomType)
select case (self%geomType) select case (self%geomType)
case(1) case(1)
self%NnodeAtIP = NnodeAtIP1
self%IPneighbor = IPneighbor1 self%IPneighbor = IPneighbor1
self%cell = CELL1 self%cell = CELL1
case(2) case(2)
self%NnodeAtIP = NnodeAtIP2
self%IPneighbor = IPneighbor2 self%IPneighbor = IPneighbor2
self%cell = CELL2 self%cell = CELL2
case(3) case(3)
self%NnodeAtIP = NnodeAtIP3
self%IPneighbor = IPneighbor3 self%IPneighbor = IPneighbor3
self%cell = CELL3 self%cell = CELL3
case(4) case(4)
self%NnodeAtIP = NnodeAtIP4
self%IPneighbor = IPneighbor4 self%IPneighbor = IPneighbor4
self%cell = CELL4 self%cell = CELL4
case(5) case(5)
self%NnodeAtIP = NnodeAtIP5
self%IPneighbor = IPneighbor5 self%IPneighbor = IPneighbor5
self%cell = CELL5 self%cell = CELL5
case(6) case(6)
self%NnodeAtIP = NnodeAtIP6
self%IPneighbor = IPneighbor6 self%IPneighbor = IPneighbor6
self%cell = CELL6 self%cell = CELL6
case(7) case(7)
self%NnodeAtIP = NnodeAtIP7
self%IPneighbor = IPneighbor7 self%IPneighbor = IPneighbor7
self%cell = CELL7 self%cell = CELL7
case(8) case(8)
self%NnodeAtIP = NnodeAtIP8
self%IPneighbor = IPneighbor8 self%IPneighbor = IPneighbor8
self%cell = CELL8 self%cell = CELL8
case(9) case(9)
self%NnodeAtIP = NnodeAtIP9
self%IPneighbor = IPneighbor9 self%IPneighbor = IPneighbor9
self%cell = CELL9 self%cell = CELL9
case(10) case(10)
self%NnodeAtIP = NnodeAtIP10
self%IPneighbor = IPneighbor10 self%IPneighbor = IPneighbor10
self%cell = CELL10 self%cell = CELL10
end select end select
@ -911,16 +789,15 @@ module element
write(6,'(/,a)') ' <<<+- element_init -+>>>' write(6,'(/,a)') ' <<<+- element_init -+>>>'
write(6,*)' element type: ',self%elemType write(6,*) ' element type: ',self%elemType
write(6,*)' geom type: ',self%geomType write(6,*) ' geom type: ',self%geomType
write(6,*)' cell type: ',self%cellType write(6,*) ' cell type: ',self%cellType
write(6,*)' # node: ',self%Nnodes write(6,*) ' # node: ',self%Nnodes
write(6,*)' # IP: ',self%nIPs write(6,*) ' # IP: ',self%nIPs
write(6,*)' # cellnode: ',self%Ncellnodes write(6,*) ' # cellnode: ',self%Ncellnodes
write(6,*)' # cellnode/cell: ',self%NcellnodesPerCell write(6,*) ' # cellnode/cell: ',self%NcellnodesPerCell
write(6,*)' # IP neighbor: ',self%nIPneighbors write(6,*) ' # IP neighbor: ',self%nIPneighbors
write(6,*)' max # node at IP: ',self%maxNnodeAtIP
end subroutine tElement_init end subroutine tElement_init
end module element end module element