changed assumed arrays (:) to properly defined ones (gfortran 4.7 was complaining) and remove use statements that are not needed
This commit is contained in:
parent
8dc6e256c0
commit
87a83d82b7
192
code/mesh.f90
192
code/mesh.f90
|
@ -263,7 +263,7 @@
|
||||||
subroutine mesh_init (ip,element)
|
subroutine mesh_init (ip,element)
|
||||||
|
|
||||||
use DAMASK_interface
|
use DAMASK_interface
|
||||||
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment)
|
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment)
|
||||||
use prec, only: pInt
|
use prec, only: pInt
|
||||||
use IO, only: IO_error,IO_open_InputFile,IO_abaqus_hasNoPart
|
use IO, only: IO_error,IO_open_InputFile,IO_abaqus_hasNoPart
|
||||||
use FEsolving, only: parallelExecution, FEsolving_execElem, FEsolving_execIP, calcMode, lastMode, FEmodelGeometry
|
use FEsolving, only: parallelExecution, FEsolving_execElem, FEsolving_execIP, calcMode, lastMode, FEmodelGeometry
|
||||||
|
@ -564,7 +564,7 @@ endsubroutine
|
||||||
allocate(FE_subNodeOnIPFace(FE_NipFaceNodes,FE_maxNipNeighbors,FE_maxNips,FE_Nelemtypes)) ; FE_subNodeOnIPFace = 0_pInt
|
allocate(FE_subNodeOnIPFace(FE_NipFaceNodes,FE_maxNipNeighbors,FE_maxNips,FE_Nelemtypes)) ; FE_subNodeOnIPFace = 0_pInt
|
||||||
|
|
||||||
! fill FE_nodesAtIP with data
|
! fill FE_nodesAtIP with data
|
||||||
FE_nodesAtIP(:,:FE_Nips(1),1) = & ! element 7
|
FE_nodesAtIP(1:FE_maxNnodesAtIP(1),1:FE_Nips(1),1) = & ! element 7
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, &
|
1, &
|
||||||
2, &
|
2, &
|
||||||
|
@ -574,19 +574,22 @@ endsubroutine
|
||||||
6, &
|
6, &
|
||||||
8, &
|
8, &
|
||||||
7 &
|
7 &
|
||||||
],pInt),(/FE_maxNnodesAtIP(1),FE_Nips(1)/))
|
],pInt),[FE_maxNnodesAtIP(1),FE_Nips(1)])
|
||||||
FE_nodesAtIP(:,:FE_Nips(2),2) = & ! element 134
|
|
||||||
|
FE_nodesAtIP(1:FE_maxNnodesAtIP(2),1:FE_Nips(2),2) = & ! element 134
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1,2,3,4 &
|
1,2,3,4 &
|
||||||
],pInt),(/FE_maxNnodesAtIP(2),FE_Nips(2)/))
|
],pInt),[FE_maxNnodesAtIP(2),FE_Nips(2)])
|
||||||
FE_nodesAtIP(:,:FE_Nips(3),3) = & ! element 11
|
|
||||||
|
FE_nodesAtIP(1:FE_maxNnodesAtIP(3),1:FE_Nips(3),3) = & ! element 11
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, &
|
1, &
|
||||||
2, &
|
2, &
|
||||||
4, &
|
4, &
|
||||||
3 &
|
3 &
|
||||||
],pInt),(/FE_maxNnodesAtIP(3),FE_Nips(3)/))
|
],pInt),[FE_maxNnodesAtIP(3),FE_Nips(3)])
|
||||||
FE_nodesAtIP(:,:FE_Nips(4),4) = & ! element 27
|
|
||||||
|
FE_nodesAtIP(1:FE_maxNnodesAtIP(4),1:FE_Nips(4),4) = & ! element 27
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1,0, &
|
1,0, &
|
||||||
1,2, &
|
1,2, &
|
||||||
|
@ -597,15 +600,17 @@ endsubroutine
|
||||||
4,0, &
|
4,0, &
|
||||||
3,4, &
|
3,4, &
|
||||||
3,0 &
|
3,0 &
|
||||||
],pInt),(/FE_maxNnodesAtIP(4),FE_Nips(4)/))
|
],pInt),[FE_maxNnodesAtIP(4),FE_Nips(4)])
|
||||||
FE_nodesAtIP(:,:FE_Nips(5),5) = & ! element 157
|
|
||||||
|
FE_nodesAtIP(1:FE_maxNnodesAtIP(5),1:FE_Nips(5),5) = & ! element 157
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, &
|
1, &
|
||||||
2, &
|
2, &
|
||||||
3, &
|
3, &
|
||||||
4 &
|
4 &
|
||||||
],pInt),(/FE_maxNnodesAtIP(5),FE_Nips(5)/))
|
],pInt),[FE_maxNnodesAtIP(5),FE_Nips(5)])
|
||||||
FE_nodesAtIP(:,:FE_Nips(6),6) = & ! element 136
|
|
||||||
|
FE_nodesAtIP(1:FE_maxNnodesAtIP(6),1:FE_Nips(6),6) = & ! element 136
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, &
|
1, &
|
||||||
2, &
|
2, &
|
||||||
|
@ -613,8 +618,9 @@ endsubroutine
|
||||||
4, &
|
4, &
|
||||||
5, &
|
5, &
|
||||||
6 &
|
6 &
|
||||||
],pInt),(/FE_maxNnodesAtIP(6),FE_Nips(6)/))
|
],pInt),[FE_maxNnodesAtIP(6),FE_Nips(6)])
|
||||||
FE_nodesAtIP(:,:FE_Nips(7),7) = & ! element 21
|
|
||||||
|
FE_nodesAtIP(1:FE_maxNnodesAtIP(7),1:FE_Nips(7),7) = & ! element 21
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1,0, 0,0, &
|
1,0, 0,0, &
|
||||||
1,2, 0,0, &
|
1,2, 0,0, &
|
||||||
|
@ -643,12 +649,14 @@ endsubroutine
|
||||||
8,0, 0,0, &
|
8,0, 0,0, &
|
||||||
7,8, 0,0, &
|
7,8, 0,0, &
|
||||||
7,0, 0,0 &
|
7,0, 0,0 &
|
||||||
],pInt),(/FE_maxNnodesAtIP(7),FE_Nips(7)/))
|
],pInt),[FE_maxNnodesAtIP(7),FE_Nips(7)])
|
||||||
|
|
||||||
! FE_nodesAtIP(:,:FE_Nips(8),8) = & ! element 117 (c3d8r --> single IP per element, so no need for this mapping)
|
! FE_nodesAtIP(:,:FE_Nips(8),8) = & ! element 117 (c3d8r --> single IP per element, so no need for this mapping)
|
||||||
! reshape((/&
|
! reshape((/&
|
||||||
! 1,2,3,4,5,6,7,8 &
|
! 1,2,3,4,5,6,7,8 &
|
||||||
! /),(/FE_maxNnodesAtIP(8),FE_Nips(8)/))
|
! /),(/FE_maxNnodesAtIP(8),FE_Nips(8)/))
|
||||||
FE_nodesAtIP(:,:FE_Nips(9),9) = & ! element 57 (c3d20r == c3d8 --> copy of 7)
|
|
||||||
|
FE_nodesAtIP(1:FE_maxNnodesAtIP(9),1:FE_Nips(9),9) = & ! element 57 (c3d20r == c3d8 --> copy of 7)
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, &
|
1, &
|
||||||
2, &
|
2, &
|
||||||
|
@ -658,13 +666,14 @@ endsubroutine
|
||||||
6, &
|
6, &
|
||||||
8, &
|
8, &
|
||||||
7 &
|
7 &
|
||||||
],pInt),(/FE_maxNnodesAtIP(9),FE_Nips(9)/))
|
],pInt),[FE_maxNnodesAtIP(9),FE_Nips(9)])
|
||||||
FE_nodesAtIP(:,:FE_Nips(10),10) = & ! element 155, 125, 128
|
|
||||||
|
FE_nodesAtIP(1:FE_maxNnodesAtIP(10),1:FE_Nips(10),10) = & ! element 155, 125, 128
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, &
|
1, &
|
||||||
2, &
|
2, &
|
||||||
3 &
|
3 &
|
||||||
],pInt),(/FE_maxNnodesAtIP(10),FE_Nips(10)/))
|
],pInt),[FE_maxNnodesAtIP(10),FE_Nips(10)])
|
||||||
|
|
||||||
! *** FE_ipNeighbor ***
|
! *** FE_ipNeighbor ***
|
||||||
! is a list of the neighborhood of each IP.
|
! is a list of the neighborhood of each IP.
|
||||||
|
@ -672,7 +681,7 @@ endsubroutine
|
||||||
! Positive integers denote an intra-FE IP identifier.
|
! Positive integers denote an intra-FE IP identifier.
|
||||||
! Negative integers denote the interface behind which the neighboring (extra-FE) IP will be located.
|
! Negative integers denote the interface behind which the neighboring (extra-FE) IP will be located.
|
||||||
|
|
||||||
FE_ipNeighbor(:FE_NipNeighbors(1),:FE_Nips(1),1) = & ! element 7
|
FE_ipNeighbor(1:FE_NipNeighbors(1),1:FE_Nips(1),1) = & ! element 7
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
2,-5, 3,-2, 5,-1, &
|
2,-5, 3,-2, 5,-1, &
|
||||||
-3, 1, 4,-2, 6,-1, &
|
-3, 1, 4,-2, 6,-1, &
|
||||||
|
@ -682,19 +691,22 @@ endsubroutine
|
||||||
-3, 5, 8,-2,-6, 2, &
|
-3, 5, 8,-2,-6, 2, &
|
||||||
8,-5,-4, 5,-6, 3, &
|
8,-5,-4, 5,-6, 3, &
|
||||||
-3, 7,-4, 6,-6, 4 &
|
-3, 7,-4, 6,-6, 4 &
|
||||||
],pInt),(/FE_NipNeighbors(1),FE_Nips(1)/))
|
],pInt),[FE_NipNeighbors(1),FE_Nips(1)])
|
||||||
FE_ipNeighbor(:FE_NipNeighbors(2),:FE_Nips(2),2) = & ! element 134
|
|
||||||
|
FE_ipNeighbor(1:FE_NipNeighbors(2),1:FE_Nips(2),2) = & ! element 134
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
-1,-2,-3,-4 &
|
-1,-2,-3,-4 &
|
||||||
],pInt),(/FE_NipNeighbors(2),FE_Nips(2)/))
|
],pInt),[FE_NipNeighbors(2),FE_Nips(2)])
|
||||||
FE_ipNeighbor(:FE_NipNeighbors(3),:FE_Nips(3),3) = & ! element 11
|
|
||||||
|
FE_ipNeighbor(1:FE_NipNeighbors(3),1:FE_Nips(3),3) = & ! element 11
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
2,-4, 3,-1, &
|
2,-4, 3,-1, &
|
||||||
-2, 1, 4,-1, &
|
-2, 1, 4,-1, &
|
||||||
4,-4,-3, 1, &
|
4,-4,-3, 1, &
|
||||||
-2, 3,-3, 2 &
|
-2, 3,-3, 2 &
|
||||||
],pInt),(/FE_NipNeighbors(3),FE_Nips(3)/))
|
],pInt),[FE_NipNeighbors(3),FE_Nips(3)])
|
||||||
FE_ipNeighbor(:FE_NipNeighbors(4),:FE_Nips(4),4) = & ! element 27
|
|
||||||
|
FE_ipNeighbor(1:FE_NipNeighbors(4),1:FE_Nips(4),4) = & ! element 27
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
2,-4, 4,-1, &
|
2,-4, 4,-1, &
|
||||||
3, 1, 5,-1, &
|
3, 1, 5,-1, &
|
||||||
|
@ -705,15 +717,17 @@ endsubroutine
|
||||||
8,-4,-3, 4, &
|
8,-4,-3, 4, &
|
||||||
9, 7,-3, 5, &
|
9, 7,-3, 5, &
|
||||||
-2, 8,-3, 6 &
|
-2, 8,-3, 6 &
|
||||||
],pInt),(/FE_NipNeighbors(4),FE_Nips(4)/))
|
],pInt),[FE_NipNeighbors(4),FE_Nips(4)])
|
||||||
FE_ipNeighbor(:FE_NipNeighbors(5),:FE_Nips(5),5) = & ! element 157
|
|
||||||
|
FE_ipNeighbor(1:FE_NipNeighbors(5),1:FE_Nips(5),5) = & ! element 157
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
2,-4, 3,-2, 4,-1, &
|
2,-4, 3,-2, 4,-1, &
|
||||||
3,-2, 1,-3, 4,-1, &
|
3,-2, 1,-3, 4,-1, &
|
||||||
1,-3, 2,-4, 4,-1, &
|
1,-3, 2,-4, 4,-1, &
|
||||||
1,-3, 2,-4, 3,-2 &
|
1,-3, 2,-4, 3,-2 &
|
||||||
],pInt),(/FE_NipNeighbors(5),FE_Nips(5)/))
|
],pInt),[FE_NipNeighbors(5),FE_Nips(5)])
|
||||||
FE_ipNeighbor(:FE_NipNeighbors(6),:FE_Nips(6),6) = & ! element 136
|
|
||||||
|
FE_ipNeighbor(1:FE_NipNeighbors(6),1:FE_Nips(6),6) = & ! element 136
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
2,-4, 3,-2, 4,-1, &
|
2,-4, 3,-2, 4,-1, &
|
||||||
-3, 1, 3,-2, 5,-1, &
|
-3, 1, 3,-2, 5,-1, &
|
||||||
|
@ -721,8 +735,9 @@ endsubroutine
|
||||||
5,-4, 6,-2,-5, 1, &
|
5,-4, 6,-2,-5, 1, &
|
||||||
-3, 4, 6,-2,-5, 2, &
|
-3, 4, 6,-2,-5, 2, &
|
||||||
5,-4,-3, 4,-5, 3 &
|
5,-4,-3, 4,-5, 3 &
|
||||||
],pInt),(/FE_NipNeighbors(6),FE_Nips(6)/))
|
],pInt),[FE_NipNeighbors(6),FE_Nips(6)])
|
||||||
FE_ipNeighbor(:FE_NipNeighbors(7),:FE_Nips(7),7) = & ! element 21
|
|
||||||
|
FE_ipNeighbor(1:FE_NipNeighbors(7),1:FE_Nips(7),7) = & ! element 21
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
2,-5, 4,-2,10,-1, &
|
2,-5, 4,-2,10,-1, &
|
||||||
3, 1, 5,-2,11,-1, &
|
3, 1, 5,-2,11,-1, &
|
||||||
|
@ -751,12 +766,14 @@ endsubroutine
|
||||||
26,-5,-4,22,-6,16, &
|
26,-5,-4,22,-6,16, &
|
||||||
27,25,-4,23,-6,17, &
|
27,25,-4,23,-6,17, &
|
||||||
-3,26,-4,24,-6,18 &
|
-3,26,-4,24,-6,18 &
|
||||||
],pInt),(/FE_NipNeighbors(7),FE_Nips(7)/))
|
],pInt),[FE_NipNeighbors(7),FE_Nips(7)])
|
||||||
FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
|
||||||
|
FE_ipNeighbor(1:FE_NipNeighbors(8),1:FE_Nips(8),8) = & ! element 117
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
-3,-5,-4,-2,-6,-1 &
|
-3,-5,-4,-2,-6,-1 &
|
||||||
],pInt),(/FE_NipNeighbors(8),FE_Nips(8)/))
|
],pInt),[FE_NipNeighbors(8),FE_Nips(8)])
|
||||||
FE_ipNeighbor(:FE_NipNeighbors(9),:FE_Nips(9),9) = & ! element 57 (c3d20r == c3d8 --> copy of 7)
|
|
||||||
|
FE_ipNeighbor(1:FE_NipNeighbors(9),1:FE_Nips(9),9) = & ! element 57 (c3d20r == c3d8 --> copy of 7)
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
2,-5, 3,-2, 5,-1, &
|
2,-5, 3,-2, 5,-1, &
|
||||||
-3, 1, 4,-2, 6,-1, &
|
-3, 1, 4,-2, 6,-1, &
|
||||||
|
@ -766,13 +783,14 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
-3, 5, 8,-2,-6, 2, &
|
-3, 5, 8,-2,-6, 2, &
|
||||||
8,-5,-4, 5,-6, 3, &
|
8,-5,-4, 5,-6, 3, &
|
||||||
-3, 7,-4, 6,-6, 4 &
|
-3, 7,-4, 6,-6, 4 &
|
||||||
],pInt),(/FE_NipNeighbors(9),FE_Nips(9)/))
|
],pInt),[FE_NipNeighbors(9),FE_Nips(9)])
|
||||||
FE_ipNeighbor(:FE_NipNeighbors(10),:FE_Nips(10),10) = & ! element 155, 125, 128
|
|
||||||
|
FE_ipNeighbor(1:FE_NipNeighbors(10),1:FE_Nips(10),10) = & ! element 155, 125, 128
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
2,-3, 3,-1, &
|
2,-3, 3,-1, &
|
||||||
-2, 1, 3,-1, &
|
-2, 1, 3,-1, &
|
||||||
2,-3,-2, 1 &
|
2,-3,-2, 1 &
|
||||||
],pInt),(/FE_NipNeighbors(10),FE_Nips(10)/))
|
],pInt),[FE_NipNeighbors(10),FE_Nips(10)])
|
||||||
|
|
||||||
! *** FE_subNodeParent ***
|
! *** FE_subNodeParent ***
|
||||||
! lists the group of nodes for which the center of gravity
|
! lists the group of nodes for which the center of gravity
|
||||||
|
@ -781,7 +799,7 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
! e.g., a 8 IP grid, would be encoded:
|
! e.g., a 8 IP grid, would be encoded:
|
||||||
! 1, 2, 3, 4, 0, 0, 0, 0
|
! 1, 2, 3, 4, 0, 0, 0, 0
|
||||||
|
|
||||||
FE_subNodeParent(:FE_Nips(1),:FE_NsubNodes(1),1) = & ! element 7
|
FE_subNodeParent(1:FE_Nips(1),1:FE_NsubNodes(1),1) = & ! element 7
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, 2, 0, 0, 0, 0, 0, 0, &
|
1, 2, 0, 0, 0, 0, 0, 0, &
|
||||||
2, 3, 0, 0, 0, 0, 0, 0, &
|
2, 3, 0, 0, 0, 0, 0, 0, &
|
||||||
|
@ -803,16 +821,19 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
5, 6, 7, 8, 0, 0, 0, 0, &
|
5, 6, 7, 8, 0, 0, 0, 0, &
|
||||||
1, 2, 3, 4, 5, 6, 7, 8 &
|
1, 2, 3, 4, 5, 6, 7, 8 &
|
||||||
],pInt),(/FE_Nips(1),FE_NsubNodes(1)/))
|
],pInt),(/FE_Nips(1),FE_NsubNodes(1)/))
|
||||||
|
|
||||||
!FE_subNodeParent(:FE_Nips(2),:FE_NsubNodes(2),2) ! element 134 has no subnodes
|
!FE_subNodeParent(:FE_Nips(2),:FE_NsubNodes(2),2) ! element 134 has no subnodes
|
||||||
FE_subNodeParent(:FE_Nips(3),:FE_NsubNodes(3),3) = & ! element 11
|
|
||||||
|
FE_subNodeParent(1:FE_Nips(3),1:FE_NsubNodes(3),3) = & ! element 11
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, 2, 0, 0, &
|
1, 2, 0, 0, &
|
||||||
2, 3, 0, 0, &
|
2, 3, 0, 0, &
|
||||||
3, 4, 0, 0, &
|
3, 4, 0, 0, &
|
||||||
4, 1, 0, 0, &
|
4, 1, 0, 0, &
|
||||||
1, 2, 3, 4 &
|
1, 2, 3, 4 &
|
||||||
],pInt),(/FE_Nips(3),FE_NsubNodes(3)/))
|
],pInt),[FE_Nips(3),FE_NsubNodes(3)])
|
||||||
FE_subNodeParent(:FE_Nips(4),:FE_NsubNodes(4),4) = & ! element 27
|
|
||||||
|
FE_subNodeParent(1:FE_Nips(4),1:FE_NsubNodes(4),4) = & ! element 27
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, 1, 2, 0, 0, 0, 0, 0, 0, &
|
1, 1, 2, 0, 0, 0, 0, 0, 0, &
|
||||||
1, 2, 2, 0, 0, 0, 0, 0, 0, &
|
1, 2, 2, 0, 0, 0, 0, 0, 0, &
|
||||||
|
@ -826,12 +847,14 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
2, 2, 2, 2, 1, 1, 3, 3, 4, &
|
2, 2, 2, 2, 1, 1, 3, 3, 4, &
|
||||||
3, 3, 3, 3, 2, 2, 4, 4, 1, &
|
3, 3, 3, 3, 2, 2, 4, 4, 1, &
|
||||||
4, 4, 4, 4, 1, 1, 3, 3, 2 &
|
4, 4, 4, 4, 1, 1, 3, 3, 2 &
|
||||||
],pInt),(/FE_Nips(4),FE_NsubNodes(4)/))
|
],pInt),[FE_Nips(4),FE_NsubNodes(4)])
|
||||||
|
|
||||||
!FE_subNodeParent(:FE_Nips(5),:FE_NsubNodes(5),5) = & ! element 157
|
!FE_subNodeParent(:FE_Nips(5),:FE_NsubNodes(5),5) = & ! element 157
|
||||||
! reshape((/&
|
! reshape((/&
|
||||||
! *still to be defined*
|
! *still to be defined*
|
||||||
! ],pInt),(/FE_Nips(5),FE_NsubNodes(5)/))
|
! ],pInt),(/FE_Nips(5),FE_NsubNodes(5)/))
|
||||||
FE_subNodeParent(:FE_Nips(6),:FE_NsubNodes(6),6) = & ! element 136
|
|
||||||
|
FE_subNodeParent(1:FE_Nips(6),1:FE_NsubNodes(6),6) = & ! element 136
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, 2, 0, 0, 0, 0, &
|
1, 2, 0, 0, 0, 0, &
|
||||||
2, 3, 0, 0, 0, 0, &
|
2, 3, 0, 0, 0, 0, &
|
||||||
|
@ -848,8 +871,9 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
1, 3, 4, 6, 0, 0, &
|
1, 3, 4, 6, 0, 0, &
|
||||||
4, 5, 6, 0, 0, 0, &
|
4, 5, 6, 0, 0, 0, &
|
||||||
1, 2, 3, 4, 5, 6 &
|
1, 2, 3, 4, 5, 6 &
|
||||||
],pInt),(/FE_Nips(6),FE_NsubNodes(6)/))
|
],pInt),[FE_Nips(6),FE_NsubNodes(6)])
|
||||||
FE_subNodeParent(:FE_Nips(7),:FE_NsubNodes(7),7) = & ! element 21
|
|
||||||
|
FE_subNodeParent(1:FE_Nips(7),1:FE_NsubNodes(7),7) = & ! element 21
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, &
|
1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, &
|
||||||
1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, &
|
1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, &
|
||||||
|
@ -907,9 +931,11 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
6, 6, 6, 6, 6, 6, 6, 6, 2, 2, 2, 2, 5, 5, 5, 5, 7, 7, 7, 7, 1, 1, 3, 3, 8, 8, 4, &
|
6, 6, 6, 6, 6, 6, 6, 6, 2, 2, 2, 2, 5, 5, 5, 5, 7, 7, 7, 7, 1, 1, 3, 3, 8, 8, 4, &
|
||||||
7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, 6, 6, 6, 6, 8, 8, 8, 8, 2, 2, 4, 4, 5, 5, 1, &
|
7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, 6, 6, 6, 6, 8, 8, 8, 8, 2, 2, 4, 4, 5, 5, 1, &
|
||||||
8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 5, 5, 5, 5, 7, 7, 7, 7, 1, 1, 3, 3, 6, 6, 2 &
|
8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 5, 5, 5, 5, 7, 7, 7, 7, 1, 1, 3, 3, 6, 6, 2 &
|
||||||
],pInt),(/FE_Nips(7),FE_NsubNodes(7)/))
|
],pInt),[FE_Nips(7),FE_NsubNodes(7)])
|
||||||
|
|
||||||
!FE_subNodeParent(:FE_Nips(8),:FE_NsubNodes(8),8) ! element 117 has no subnodes
|
!FE_subNodeParent(:FE_Nips(8),:FE_NsubNodes(8),8) ! element 117 has no subnodes
|
||||||
FE_subNodeParent(:FE_Nips(9),:FE_NsubNodes(9),9) = & ! element 57 (c3d20r == c3d8 --> copy of 7)
|
|
||||||
|
FE_subNodeParent(1:FE_Nips(9),1:FE_NsubNodes(9),9) = & ! element 57 (c3d20r == c3d8 --> copy of 7)
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, 2, 0, 0, 0, 0, 0, 0, &
|
1, 2, 0, 0, 0, 0, 0, 0, &
|
||||||
2, 3, 0, 0, 0, 0, 0, 0, &
|
2, 3, 0, 0, 0, 0, 0, 0, &
|
||||||
|
@ -930,14 +956,15 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
1, 4, 8, 5, 0, 0, 0, 0, &
|
1, 4, 8, 5, 0, 0, 0, 0, &
|
||||||
5, 6, 7, 8, 0, 0, 0, 0, &
|
5, 6, 7, 8, 0, 0, 0, 0, &
|
||||||
1, 2, 3, 4, 5, 6, 7, 8 &
|
1, 2, 3, 4, 5, 6, 7, 8 &
|
||||||
],pInt),(/FE_Nips(9),FE_NsubNodes(9)/))
|
],pInt),[FE_Nips(9),FE_NsubNodes(9)])
|
||||||
FE_subNodeParent(:FE_Nips(10),:FE_NsubNodes(10),10) = & ! element 155, 125, 128
|
|
||||||
|
FE_subNodeParent(1:FE_Nips(10),1:FE_NsubNodes(10),10) = & ! element 155, 125, 128
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, 2, 0, &
|
1, 2, 0, &
|
||||||
2, 3, 0, &
|
2, 3, 0, &
|
||||||
3, 1, 0, &
|
3, 1, 0, &
|
||||||
1, 2, 3 &
|
1, 2, 3 &
|
||||||
],pInt),(/FE_Nips(10),FE_NsubNodes(10)/))
|
],pInt),[FE_Nips(10),FE_NsubNodes(10)])
|
||||||
|
|
||||||
! *** FE_subNodeOnIPFace ***
|
! *** FE_subNodeOnIPFace ***
|
||||||
! indicates which subnodes make up the interfaces enclosing the IP volume.
|
! indicates which subnodes make up the interfaces enclosing the IP volume.
|
||||||
|
@ -950,7 +977,7 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
! detrimental at the moment since non-local constitutive laws are
|
! detrimental at the moment since non-local constitutive laws are
|
||||||
! currently not foreseen in 2D cases.
|
! currently not foreseen in 2D cases.
|
||||||
|
|
||||||
FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(1),:FE_Nips(1),1) = & ! element 7
|
FE_subNodeOnIPFace(1:FE_NipFaceNodes,1:FE_NipNeighbors(1),1:FE_Nips(1),1) = & ! element 7
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
9,21,27,22, & ! 1
|
9,21,27,22, & ! 1
|
||||||
1,13,25,12, &
|
1,13,25,12, &
|
||||||
|
@ -1000,15 +1027,17 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
18,26,27,23, &
|
18,26,27,23, &
|
||||||
7,19,26,18, &
|
7,19,26,18, &
|
||||||
15,23,27,24 &
|
15,23,27,24 &
|
||||||
],pInt),(/FE_NipFaceNodes,FE_NipNeighbors(1),FE_Nips(1)/))
|
],pInt),[FE_NipFaceNodes,FE_NipNeighbors(1),FE_Nips(1)])
|
||||||
FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(2),:FE_Nips(2),2) = & ! element 134
|
|
||||||
|
FE_subNodeOnIPFace(1:FE_NipFaceNodes,1:FE_NipNeighbors(2),1:FE_Nips(2),2) = & ! element 134
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
1, 1, 3, 2, & ! 1
|
1, 1, 3, 2, & ! 1
|
||||||
1, 1, 2, 4, &
|
1, 1, 2, 4, &
|
||||||
2, 2, 3, 4, &
|
2, 2, 3, 4, &
|
||||||
1, 1, 4, 3 &
|
1, 1, 4, 3 &
|
||||||
],pInt),(/FE_NipFaceNodes,FE_NipNeighbors(2),FE_Nips(2)/))
|
],pInt),[FE_NipFaceNodes,FE_NipNeighbors(2),FE_Nips(2)])
|
||||||
FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(3),:FE_Nips(3),3) = & ! element 11
|
|
||||||
|
FE_subNodeOnIPFace(1:FE_NipFaceNodes,1:FE_NipNeighbors(3),1:FE_Nips(3),3) = & ! element 11
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
5, 9, 9, 5 , & ! 1
|
5, 9, 9, 5 , & ! 1
|
||||||
1, 8, 8, 1 , &
|
1, 8, 8, 1 , &
|
||||||
|
@ -1026,8 +1055,9 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
4, 8, 8, 4 , &
|
4, 8, 8, 4 , &
|
||||||
4, 7, 7, 4 , &
|
4, 7, 7, 4 , &
|
||||||
8, 9, 9, 8 &
|
8, 9, 9, 8 &
|
||||||
],pInt),(/FE_NipFaceNodes,FE_NipNeighbors(3),FE_Nips(3)/))
|
],pInt),[FE_NipFaceNodes,FE_NipNeighbors(3),FE_Nips(3)])
|
||||||
FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(4),:FE_Nips(4),4) = & ! element 27
|
|
||||||
|
FE_subNodeOnIPFace(1:FE_NipFaceNodes,1:FE_NipNeighbors(4),1:FE_Nips(4),4) = & ! element 27
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
9,17,17, 9 , & ! 1
|
9,17,17, 9 , & ! 1
|
||||||
1,16,16, 1 , &
|
1,16,16, 1 , &
|
||||||
|
@ -1065,12 +1095,14 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
13,19,19,13 , &
|
13,19,19,13 , &
|
||||||
3,13,13, 3 , &
|
3,13,13, 3 , &
|
||||||
12,19,19,12 &
|
12,19,19,12 &
|
||||||
],pInt),(/FE_NipFaceNodes,FE_NipNeighbors(4),FE_Nips(4)/))
|
],pInt),[FE_NipFaceNodes,FE_NipNeighbors(4),FE_Nips(4)])
|
||||||
|
|
||||||
!FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(5),:FE_Nips(5),5) = & ! element 157
|
!FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(5),:FE_Nips(5),5) = & ! element 157
|
||||||
! reshape((/&
|
! reshape((/&
|
||||||
! *still to be defined*
|
! *still to be defined*
|
||||||
! /),(/FE_NipFaceNodes,FE_NipNeighbors(5),FE_Nips(5)/))
|
! /),(/FE_NipFaceNodes,FE_NipNeighbors(5),FE_Nips(5)/))
|
||||||
FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(6),:FE_Nips(6),6) = & ! element 136
|
|
||||||
|
FE_subNodeOnIPFace(1:FE_NipFaceNodes,1:FE_NipNeighbors(6),1:FE_Nips(6),6) = & ! element 136
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
7,16,21,17, & ! 1
|
7,16,21,17, & ! 1
|
||||||
1,10,19, 9, &
|
1,10,19, 9, &
|
||||||
|
@ -1108,8 +1140,9 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
15,19,21,20, &
|
15,19,21,20, &
|
||||||
6,15,20,14, &
|
6,15,20,14, &
|
||||||
12,18,21,19 &
|
12,18,21,19 &
|
||||||
],pInt),(/FE_NipFaceNodes,FE_NipNeighbors(6),FE_Nips(6)/))
|
],pInt),[FE_NipFaceNodes,FE_NipNeighbors(6),FE_Nips(6)])
|
||||||
FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(7),:FE_Nips(7),7) = & ! element 21
|
|
||||||
|
FE_subNodeOnIPFace(1:FE_NipFaceNodes,1:FE_NipNeighbors(7),1:FE_Nips(7),7) = & ! element 21
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
9,33,57,37, & ! 1
|
9,33,57,37, & ! 1
|
||||||
1,17,44,16, &
|
1,17,44,16, &
|
||||||
|
@ -1273,8 +1306,9 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
63,48,28,55, &
|
63,48,28,55, &
|
||||||
55,28, 7,29, &
|
55,28, 7,29, &
|
||||||
63,49,23,48 &
|
63,49,23,48 &
|
||||||
],pInt),(/FE_NipFaceNodes,FE_NipNeighbors(7),FE_Nips(7)/))
|
],pInt),[FE_NipFaceNodes,FE_NipNeighbors(7),FE_Nips(7)])
|
||||||
FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
|
||||||
|
FE_subNodeOnIPFace(1:FE_NipFaceNodes,1:FE_NipNeighbors(8),1:FE_Nips(8),8) = & ! element 117
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
2, 3, 7, 6, & ! 1
|
2, 3, 7, 6, & ! 1
|
||||||
1, 5, 8, 4, &
|
1, 5, 8, 4, &
|
||||||
|
@ -1282,8 +1316,9 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
1, 2, 6, 5, &
|
1, 2, 6, 5, &
|
||||||
5, 6, 7, 8, &
|
5, 6, 7, 8, &
|
||||||
1, 4, 3, 2 &
|
1, 4, 3, 2 &
|
||||||
],pInt),(/FE_NipFaceNodes,FE_NipNeighbors(8),FE_Nips(8)/))
|
],pInt),[FE_NipFaceNodes,FE_NipNeighbors(8),FE_Nips(8)])
|
||||||
FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(9),:FE_Nips(9),9) = & ! element 57 (c3d20r == c3d8 --> copy of 7)
|
|
||||||
|
FE_subNodeOnIPFace(1:FE_NipFaceNodes,1:FE_NipNeighbors(9),1:FE_Nips(9),9) = & ! element 57 (c3d20r == c3d8 --> copy of 7)
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
9,21,27,22, & ! 1
|
9,21,27,22, & ! 1
|
||||||
1,13,25,12, &
|
1,13,25,12, &
|
||||||
|
@ -1333,8 +1368,9 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
18,26,27,23, &
|
18,26,27,23, &
|
||||||
7,19,26,18, &
|
7,19,26,18, &
|
||||||
15,23,27,24 &
|
15,23,27,24 &
|
||||||
],pInt),(/FE_NipFaceNodes,FE_NipNeighbors(9),FE_Nips(9)/))
|
],pInt),[FE_NipFaceNodes,FE_NipNeighbors(9),FE_Nips(9)])
|
||||||
FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(10),:FE_Nips(10),10) = & ! element 155, 125, 128
|
|
||||||
|
FE_subNodeOnIPFace(1:FE_NipFaceNodes,1:FE_NipNeighbors(10),1:FE_Nips(10),10) = & ! element 155, 125, 128
|
||||||
reshape(int([&
|
reshape(int([&
|
||||||
4, 7, 7, 4 , & ! 1
|
4, 7, 7, 4 , & ! 1
|
||||||
1, 6, 6, 1 , &
|
1, 6, 6, 1 , &
|
||||||
|
@ -1348,8 +1384,8 @@ FE_ipNeighbor(:FE_NipNeighbors(8),:FE_Nips(8),8) = & ! element 117
|
||||||
3, 6, 6, 3 , &
|
3, 6, 6, 3 , &
|
||||||
3, 5, 5, 3 , &
|
3, 5, 5, 3 , &
|
||||||
6, 7, 7, 6 &
|
6, 7, 7, 6 &
|
||||||
],pInt),(/FE_NipFaceNodes,FE_NipNeighbors(10),FE_Nips(10)/))
|
],pInt),[FE_NipFaceNodes,FE_NipNeighbors(10),FE_Nips(10)])
|
||||||
|
|
||||||
endsubroutine
|
endsubroutine
|
||||||
|
|
||||||
|
|
||||||
|
@ -1735,7 +1771,6 @@ enddo
|
||||||
!********************************************************************
|
!********************************************************************
|
||||||
subroutine mesh_spectral_count_cpElements ()
|
subroutine mesh_spectral_count_cpElements ()
|
||||||
|
|
||||||
use prec, only: pInt
|
|
||||||
implicit none
|
implicit none
|
||||||
|
|
||||||
mesh_NcpElems = mesh_Nelems
|
mesh_NcpElems = mesh_Nelems
|
||||||
|
@ -2595,7 +2630,8 @@ subroutine mesh_marc_count_cpSizes (myUnit)
|
||||||
|
|
||||||
integer(pInt), parameter :: maxNchunks = 7_pInt
|
integer(pInt), parameter :: maxNchunks = 7_pInt
|
||||||
integer(pInt), dimension (1_pInt+2_pInt*maxNchunks) :: myPos
|
integer(pInt), dimension (1_pInt+2_pInt*maxNchunks) :: myPos
|
||||||
integer(pInt) a,b,c,e,i,j,homog,headerLength,maxIntCount
|
integer(pInt) :: a = 1_pInt, b = 1_pInt, c = 1_pInt
|
||||||
|
integer(pInt) :: e, i, j, homog, headerLength, maxIntCount
|
||||||
integer(pInt), dimension(:), allocatable :: microstructures
|
integer(pInt), dimension(:), allocatable :: microstructures
|
||||||
integer(pInt), dimension(1,1) :: dummySet = 0_pInt
|
integer(pInt), dimension(1,1) :: dummySet = 0_pInt
|
||||||
|
|
||||||
|
@ -2603,10 +2639,6 @@ subroutine mesh_marc_count_cpSizes (myUnit)
|
||||||
character(len=65536) line,keyword
|
character(len=65536) line,keyword
|
||||||
character(len=64), dimension(1) :: dummyName = ''
|
character(len=64), dimension(1) :: dummyName = ''
|
||||||
|
|
||||||
a = 1_pInt
|
|
||||||
b = 1_pInt
|
|
||||||
c = 1_pInt
|
|
||||||
|
|
||||||
rewind(myUnit)
|
rewind(myUnit)
|
||||||
read(myUnit,'(a65536)') line
|
read(myUnit,'(a65536)') line
|
||||||
myPos = IO_stringPos(line,2_pInt)
|
myPos = IO_stringPos(line,2_pInt)
|
||||||
|
@ -2651,7 +2683,7 @@ subroutine mesh_marc_count_cpSizes (myUnit)
|
||||||
read(myUnit,'(a65536)') line
|
read(myUnit,'(a65536)') line
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
100 allocate (mesh_element (4_pInt+mesh_maxNnodes,mesh_NcpElems)) ; mesh_element = 0_pInt
|
allocate (mesh_element (4_pInt+mesh_maxNnodes,mesh_NcpElems)) ; mesh_element = 0_pInt
|
||||||
allocate (microstructures (1_pInt+maxIntCount)) ; microstructures = 2_pInt
|
allocate (microstructures (1_pInt+maxIntCount)) ; microstructures = 2_pInt
|
||||||
|
|
||||||
e = 0_pInt
|
e = 0_pInt
|
||||||
|
@ -2676,7 +2708,7 @@ subroutine mesh_marc_count_cpSizes (myUnit)
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
110 deallocate(microstructures)
|
deallocate(microstructures)
|
||||||
if (e /= mesh_NcpElems) call IO_error(880_pInt,e)
|
if (e /= mesh_NcpElems) call IO_error(880_pInt,e)
|
||||||
|
|
||||||
endsubroutine
|
endsubroutine
|
||||||
|
@ -3188,7 +3220,7 @@ endsubroutine
|
||||||
!***********************************************************
|
!***********************************************************
|
||||||
subroutine mesh_build_ipVolumes()
|
subroutine mesh_build_ipVolumes()
|
||||||
|
|
||||||
use prec, only: pInt, tol_gravityNodePos
|
use prec, only: pInt
|
||||||
use math, only: math_volTetrahedron
|
use math, only: math_volTetrahedron
|
||||||
implicit none
|
implicit none
|
||||||
|
|
||||||
|
|
|
@ -92,7 +92,7 @@ CONTAINS
|
||||||
!*******************************************
|
!*******************************************
|
||||||
subroutine numerics_init()
|
subroutine numerics_init()
|
||||||
|
|
||||||
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment)
|
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment)
|
||||||
!*** variables and functions from other modules ***!
|
!*** variables and functions from other modules ***!
|
||||||
use prec, only: pInt, &
|
use prec, only: pInt, &
|
||||||
pReal
|
pReal
|
||||||
|
@ -111,7 +111,7 @@ subroutine numerics_init()
|
||||||
!*** local variables ***!
|
!*** local variables ***!
|
||||||
integer(pInt), parameter :: fileunit = 300_pInt
|
integer(pInt), parameter :: fileunit = 300_pInt
|
||||||
integer(pInt), parameter :: maxNchunks = 2_pInt
|
integer(pInt), parameter :: maxNchunks = 2_pInt
|
||||||
integer :: gotDAMASK_NUM_THREADS = 1
|
!$ integer :: gotDAMASK_NUM_THREADS = 1
|
||||||
integer(pInt), dimension(1+2*maxNchunks) :: positions
|
integer(pInt), dimension(1+2*maxNchunks) :: positions
|
||||||
character(len=64) :: tag
|
character(len=64) :: tag
|
||||||
character(len=1024) :: line
|
character(len=1024) :: line
|
||||||
|
|
Loading…
Reference in New Issue