diff --git a/trunk/mesh.f90 b/trunk/mesh.f90 index f8112ea9c..adf8a19ea 100644 --- a/trunk/mesh.f90 +++ b/trunk/mesh.f90 @@ -55,6 +55,11 @@ real(pReal), dimension(:,:,:), allocatable :: mesh_ipArea ! area of interface to neighboring IP real(pReal), dimension(:,:,:,:), allocatable :: mesh_ipAreaNormal ! area normal of interface to neighboring IP real(pReal), allocatable :: mesh_node (:,:) + + integer(pInt), dimension(:,:,:,:), allocatable :: FE_nodesAtIP + integer(pInt), dimension(:,:,:), allocatable :: FE_ipNeighbor + integer(pInt), dimension(:,:,:), allocatable :: FE_subNodeParent + integer(pInt), dimension(:,:,:,:), allocatable :: FE_subNodeOnIPFace integer(pInt) :: hypoelasticTableStyle = 0 integer(pInt) :: initialcondTableStyle = 0 @@ -104,9 +109,9 @@ (/19,& ! element 7 0, & ! element 134 5, & ! element 11 - 12, & ! element 27 + 12,& ! element 27 0, & ! element 157 - 0, & ! element 136 + 15,& ! element 136 56 & ! element 21 /) integer(pInt), dimension(FE_maxNipNeighbors,FE_Nelemtypes), parameter :: FE_NfaceNodes = & @@ -119,198 +124,6 @@ 3,4,4,4,3,0, & ! element 136 4,4,4,4,4,4 & ! element 21 /),(/FE_maxNipNeighbors,FE_Nelemtypes/)) - integer(pInt), dimension(2,2,FE_maxNips,FE_Nelemtypes), parameter :: FE_nodesAtIP = & - reshape((/& - 1,0, 0,0, & ! element 7 - 2,0, 0,0, & - 4,0, 0,0, & - 3,0, 0,0, & - 5,0, 0,0, & - 6,0, 0,0, & - 8,0, 0,0, & - 7,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 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,0, 0,0, & ! element 134 - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 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,0, 0,0, & ! element 11 - 2,0, 0,0, & - 4,0, 0,0, & - 3,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 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,0, 0,0, & ! element 27 - 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, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 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,0, 0,0, & ! element 157 - 2,0, 0,0, & - 3,0, 0,0, & - 4,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 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,0, 0,0, & ! element 136 - 2,0, 0,0, & - 3,0, 0,0, & - 4,0, 0,0, & - 5,0, 0,0, & - 6,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 0,0, 0,0, & - 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,0, 0,0, & ! element 21 - 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 & - /),(/2,2,FE_maxNips,FE_Nelemtypes/)) integer(pInt), dimension(FE_NipFaceNodes,FE_maxNipNeighbors,FE_Nelemtypes), parameter :: FE_nodeOnFace = & reshape((/& 1,2,3,4 , & ! element 7 @@ -356,1731 +169,7 @@ 4,1,5,8 , & 8,7,6,5 & /),(/FE_NipFaceNodes,FE_maxNipNeighbors,FE_Nelemtypes/)) - integer(pInt), dimension(FE_maxNipNeighbors,FE_maxNips,FE_Nelemtypes), parameter :: FE_ipNeighbor = & - reshape((/& - 2,-5, 3,-2, 5,-1 , & ! element 7 - -3, 1, 4,-2, 6,-1 , & - 4,-5,-4, 1, 7,-1 , & - -3, 3,-4, 2, 8,-1 , & - 6,-5, 7,-2,-6, 1 , & - -3, 5, 8,-2,-6, 2 , & - 8,-5,-4, 5,-6, 3 , & - -3, 7,-4, 6,-6, 4 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 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,-3,-4, 0, 0 , & ! element 134 - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 2,-4, 3,-1, 0, 0 , & ! element 11 - -2, 1, 4,-1, 0, 0 , & - 4,-4,-3, 1, 0, 0 , & - -2, 3,-3, 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, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 2,-4, 4,-1, 0, 0 , & ! element 27 - 3, 1, 5,-1, 0, 0 , & - -2, 2, 6,-1, 0, 0 , & - 5,-4, 7, 1, 0, 0 , & - 6, 4, 8, 2, 0, 0 , & - -2, 5, 9, 3, 0, 0 , & - 8,-4,-3, 4, 0, 0 , & - 9, 7,-3, 5, 0, 0 , & - -2, 8,-3, 6, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 2,-4, 3,-2, 4,-1 , & ! element 157 - 3,-2, 1,-3, 4,-1 , & - 1,-3, 2,-4, 4,-1 , & - 1,-3, 2,-4, 3,-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 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 2,-4, 3,-2, 4,-1 , & ! element 136 - -3, 1, 3,-2, 5,-1 , & - 2,-4,-3, 1, 6,-1 , & - 5,-4, 6,-2,-5, 1 , & - -3, 4, 6,-2,-5, 2 , & - 5,-4,-3, 4,-5, 3 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 0, 0, 0, 0, 0, 0 , & - 2,-5, 4,-2,10,-1 , & ! element 21 - 3, 1, 5,-2,11,-1 , & - -3, 2, 6,-2,12,-1 , & - 5,-5, 7, 1,13,-1 , & - 6, 4, 8, 2,14,-1 , & - -3, 5, 9, 3,15,-1 , & - 8,-5,-4, 4,16,-1 , & - 9, 7,-4, 5,17,-1 , & - -3, 8,-4, 6,18,-1 , & - 11,-5,13,-2,10, 1 , & - 12,10,14,-2,11, 2 , & - -3,11,15,-2,12, 3 , & - 14,-5,16,10,13, 4 , & - 15,13,17,11,14, 5 , & - -3,14,18,12,15, 6 , & - 17,-5,-4,13,16, 7 , & - 18,16,-4,14,17, 8 , & - -3,17,-4,15,18, 9 , & - 20,-5,22,-2,-6,10 , & - 21,19,23,-2,-6,11 , & - -3,20,24,-2,-6,12 , & - 23,-5,25,19,-6,13 , & - 24,22,26,20,-6,14 , & - -3,23,27,21,-6,15 , & - 26,-5,-4,22,-6,16 , & - 27,25,-4,23,-6,17 , & - -3,26,-4,24,-6,18 & - /),(/FE_maxNipNeighbors,FE_maxNips,FE_Nelemtypes/)) - integer(pInt), dimension(FE_maxNips,FE_maxNsubNodes,FE_Nelemtypes), parameter :: FE_subNodeParent = & - reshape((/& - 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, 0, & ! element 7 - 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 4, 1, 0, 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, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 2, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 8, 5, 0, 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, 3, 4, 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, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 2, 3, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 4, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 1, 4, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 5, 6, 7, 8, 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, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & ! element 134 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & ! element 11 - 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 4, 1, 0, 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, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 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, & ! element 27 - 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, & - 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 4, 1, 1, 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, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 2, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 4, 4, 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, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & ! element 157 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & ! element 136 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 0, 0, 0, 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, & ! element 21 - 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, & - 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 4, 1, 1, 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, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 2, 2, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 4, 4, 8, 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, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 2, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 4, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 5, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 5, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 6, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 6, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 8, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 8, 5, 5, 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, 1, 1, 2, 2, 4, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 2, 2, 2, 2, 1, 1, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 3, 3, 3, 2, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 4, 4, 4, 4, 1, 1, 3, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 1, 1, 1, 1, 2, 2, 5, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 2, 2, 2, 2, 1, 1, 6, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 2, 2, 2, 2, 3, 3, 6, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 3, 3, 3, 2, 2, 7, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 3, 3, 3, 3, 4, 4, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 4, 4, 4, 4, 3, 3, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 4, 4, 4, 4, 1, 1, 8, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 1, 1, 1, 1, 4, 4, 5, 5, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 5, 5, 5, 5, 1, 1, 6, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 6, 6, 6, 6, 2, 2, 5, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 6, 6, 6, 6, 2, 2, 7, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 7, 7, 7, 7, 3, 3, 6, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 7, 7, 7, 7, 3, 3, 8, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 8, 8, 8, 8, 4, 4, 7, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 8, 8, 8, 8, 4, 4, 5, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 5, 5, 5, 5, 1, 1, 8, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 5, 5, 5, 5, 6, 6, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 6, 6, 6, 6, 5, 5, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 7, 7, 7, 7, 6, 6, 8, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 8, 8, 8, 8, 5, 5, 7, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & - 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 5, 5, 5, 5, 3, 3, 6, 6, 8, 8, 7, & - 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 3, 3, 3, 3, 6, 6, 6, 6, 4, 4, 5, 5, 7, 7, 8, & - 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 4, 4, 4, 4, 7, 7, 7, 7, 1, 1, 6, 6, 8, 8, 5, & - 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 3, 3, 3, 3, 8, 8, 8, 8, 2, 2, 5, 5, 7, 7, 6, & - 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 6, 6, 6, 6, 8, 8, 8, 8, 2, 2, 4, 4, 7, 7, 3, & - 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, & - 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 & - /),(/FE_maxNips,FE_maxNsubNodes,FE_Nelemtypes/)) - integer(pInt), dimension(FE_NipFaceNodes,FE_maxNipNeighbors,FE_maxNips,FE_Nelemtypes), parameter :: FE_subNodeOnIPFace = & - reshape((/& - 9,21,27,22, & ! element 7 - 1,13,25,12, & - 12,25,27,21, & - 1, 9,22,13, & - 13,22,27,25, & - 1,12,21, 9, & - 2,10,23,14, & ! - 9,22,27,21, & - 10,21,27,23, & - 2,14,22, 9, & - 14,23,27,22, & - 2, 9,21,10, & - 11,24,27,21, & ! - 4,12,25,16, & - 4,16,24,11, & - 12,21,27,25, & - 16,25,27,24, & - 4,11,21,12, & - 3,15,23,10, & ! - 11,21,27,24, & - 3,11,24,15, & - 10,23,27,21, & - 15,24,27,23, & - 3,10,21,11, & - 17,22,27,26, & ! - 5,20,25,13, & - 20,26,27,25, & - 5,13,22,17, & - 5,17,26,20, & - 13,25,27,22, & - 6,14,23,18, & ! - 17,26,27,22, & - 18,23,27,26, & - 6,17,22,14, & - 6,18,26,17, & - 14,22,27,23, & - 19,26,27,24, & ! - 8,16,25,20, & - 8,19,24,16, & - 20,25,27,26, & - 8,20,26,19, & - 16,24,27,25, & - 7,18,23,15, & ! - 19,24,27,26, & - 7,15,24,19, & - 18,26,27,23, & - 7,19,26,18, & - 15,23,27,24, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 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, 3, 2, & ! element 134 - 1, 1, 2, 4, & - 2, 2, 3, 4, & - 1, 1, 4, 3, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 5, 9, 0, 0, & ! element 11 - 1, 8, 0, 0, & - 8, 9, 0, 0, & - 1, 5, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 2, 6, 0, 0, & ! - 5, 9, 0, 0, & - 6, 9, 0, 0, & - 2, 5, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 3, 6, 0, 0, & ! - 7, 9, 0, 0, & - 3, 7, 0, 0, & - 6, 9, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 7, 9, 0, 0, & ! - 4, 8, 0, 0, & - 4, 7, 0, 0, & - 8, 9, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 9,17, 0, 0, & ! element 27 - 1,16, 0, 0, & - 16,17, 0, 0, & - 1, 9, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 10,18, 0, 0, & ! - 9,17, 0, 0, & - 17,18, 0, 0, & - 9,10, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 2,11, 0, 0, & ! - 10,18, 0, 0, & - 11,18, 0, 0, & - 2,10, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 17,20, 0, 0, & ! - 15,16, 0, 0, & - 15,20, 0, 0, & - 16,17, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 18,19, 0, 0, & ! - 17,20, 0, 0, & - 19,20, 0, 0, & - 17,18, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 11,12, 0, 0, & ! - 18,19, 0, 0, & - 12,19, 0, 0, & - 11,18, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 14,20, 0, 0, & ! - 4,15, 0, 0, & - 4,14, 0, 0, & - 15,20, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 13,19, 0, 0, & ! - 14,20, 0, 0, & - 13,14, 0, 0, & - 19,20, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 3,12, 0, 0, & ! - 13,19, 0, 0, & - 3,13, 0, 0, & - 12,19, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! element 157 - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! element 136 - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & ! - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 0, 0, 0, 0, & - 9,33,57,37, & ! element 21 - 1,17,44,16, & - 33,16,44,57, & - 1, 9,37,17, & - 17,37,57,44, & - 1,16,33, 9, & - 10,34,58,38, & ! 2 - 9,37,57,33, & - 34,33,57,58, & - 9,10,38,37, & - 37,38,58,57, & - 9,33,34,10, & - 2,11,39,18, & ! 3 - 10,38,58,34, & - 11,34,58,39, & - 10, 2,18,38, & - 38,18,39,58, & - 10,34,11, 2, & - 33,36,60,57, & ! 4 - 16,44,43,15, & - 36,15,43,60, & - 16,33,57,44, & - 44,57,60,43, & - 16,15,36,33, & - 34,35,59,58, & ! 5 - 33,57,60,36, & - 35,36,60,59, & - 33,34,58,57, & - 57,58,59,60, & - 33,36,35,34, & - 11,12,40,39, & ! 6 - 34,58,59,35, & - 12,35,59,40, & - 34,11,39,58, & - 58,39,40,59, & - 34,35,12,11, & - 36,14,42,60, & ! 7 - 15,43,20, 4, & - 14, 4,20,42, & - 15,36,60,43, & - 43,60,42,20, & - 15, 4,14,36, & - 35,13,41,59, & ! 8 - 36,60,42,14, & - 13,14,42,41, & - 36,35,59,60, & - 60,59,41,42, & - 36,14,13,35, & - 12, 3,19,40, & ! 9 - 35,59,41,13, & - 3,13,41,19, & - 35,12,40,59, & - 59,40,19,41, & - 35,13, 3,12, & - 37,57,61,45, & ! 10 - 17,21,52,44, & - 57,44,52,61, & - 17,37,45,21, & - 21,45,61,52, & - 17,44,57,37, & - 38,58,62,46, & ! 11 - 37,45,61,57, & - 58,57,61,62, & - 37,38,46,45, & - 45,46,62,61, & - 37,57,58,38, & - 18,39,47,22, & ! 12 - 38,46,62,58, & - 39,58,62,47, & - 38,18,22,46, & - 46,22,47,62, & - 38,58,39,18, & - 57,60,64,61, & ! 13 - 44,52,51,43, & - 60,43,51,64, & - 44,57,61,52, & - 52,61,64,51, & - 44,43,60,57, & - 58,59,63,62, & ! 14 - 57,61,64,60, & - 59,60,64,63, & - 57,58,62,61, & - 61,62,63,64, & - 57,60,59,58, & - 39,40,48,47, & ! 15 - 58,62,63,59, & - 40,59,63,48, & - 58,39,47,62, & - 62,47,48,63, & - 58,59,40,39, & - 60,42,50,64, & ! 16 - 43,51,24,20, & - 42,20,24,50, & - 43,60,64,51, & - 51,64,50,24, & - 43,20,42,60, & - 59,41,49,63, & ! 17 - 60,64,50,42, & - 41,42,50,49, & - 60,59,63,64, & - 64,63,49,50, & - 60,42,41,59, & - 40,19,23,48, & ! 18 - 59,63,49,41, & - 19,41,49,23, & - 59,40,48,63, & - 63,48,23,49, & - 59,41,19,40, & - 45,61,53,25, & ! 19 - 21, 5,32,52, & - 61,52,32,53, & - 21,45,25, 5, & - 5,25,53,32, & - 21,52,61,45, & - 46,62,54,26, & ! 20 - 45,25,53,61, & - 62,61,53,54, & - 45,46,26,25, & - 25,26,54,53, & - 45,61,62,46, & - 22,47,27, 6, & ! 21 - 46,26,54,62, & - 47,62,54,27, & - 46,22, 6,26, & - 26, 6,27,54, & - 46,62,47,22, & - 61,64,56,53, & ! 22 - 52,32,31,51, & - 64,51,31,56, & - 52,61,53,32, & - 32,53,56,31, & - 52,51,64,61, & - 62,63,55,54, & ! 23 - 61,53,56,64, & - 63,64,56,55, & - 61,62,54,53, & - 53,54,55,56, & - 61,64,63,62, & - 47,48,28,27, & ! 24 - 62,54,55,63, & - 48,63,55,28, & - 62,47,27,54, & - 54,27,28,55, & - 62,63,48,47, & - 64,50,30,56, & ! 25 - 51,31, 8,24, & - 50,24, 8,30, & - 51,64,56,31, & - 31,56,30, 8, & - 51,24,50,64, & - 63,49,29,55, & ! 26 - 64,56,30,50, & - 49,50,30,29, & - 64,63,55,56, & - 56,55,29,30, & - 64,50,49,63, & - 48,23, 7,28, & ! 27 - 63,55,29,49, & - 23,49,29, 7, & - 63,48,28,55, & - 55,28, 7,29, & - 63,49,23,48 & - /),(/FE_NipFaceNodes,FE_maxNipNeighbors,FE_maxNips,FE_Nelemtypes/)) - + CONTAINS ! --------------------------- ! subroutine mesh_init() @@ -2112,8 +201,9 @@ mesh_maxNsubNodes = 0_pInt mesh_NelemSets = 0_pInt mesh_maxNelemInSet = 0_pInt - - + + ! get properties of the different types of elements + call mesh_get_FEdata() ! call to various subroutines to parse the stuff from the input file... if (IO_open_inputFile(fileUnit)) then @@ -2276,6 +366,649 @@ candidate: do i=1,minN ! iterate over lonelyNode's shared elements END FUNCTION + +!******************************************************************** +! get properties of different types of finite elements +! +! assign globals: +! FE_nodesAtIP, FE_ipNeighbor, FE_subNodeParent, FE_subNodeOnIPFace +!******************************************************************** + SUBROUTINE mesh_get_FEdata () + + use prec, only: pInt + implicit none + + allocate(FE_nodesAtIP(2,2,FE_maxNips,FE_Nelemtypes)) ; FE_nodesAtIP = 0_pInt + allocate(FE_ipNeighbor(FE_maxNipNeighbors,FE_maxNips,FE_Nelemtypes)) ; FE_ipNeighbor = 0_pInt + allocate(FE_subNodeParent(FE_maxNips,FE_maxNsubNodes,FE_Nelemtypes)) ; FE_subNodeParent = 0_pInt + allocate(FE_subNodeOnIPFace(FE_NipFaceNodes,FE_maxNipNeighbors,FE_maxNips,FE_Nelemtypes)) ; FE_subNodeOnIPFace = 0_pInt + + ! fill FE_nodesAtIP with data + FE_nodesAtIP(:,:,:FE_Nips(1),1) = & ! element 7 + reshape((/& + 1,0, 0,0, & + 2,0, 0,0, & + 4,0, 0,0, & + 3,0, 0,0, & + 5,0, 0,0, & + 6,0, 0,0, & + 8,0, 0,0, & + 7,0, 0,0 & + /),(/2,2,FE_Nips(1)/)) + FE_nodesAtIP(:,:,:FE_Nips(2),2) = & ! element 134 + reshape((/& + 1,0, 0,0 & + /),(/2,2,FE_Nips(2)/)) + FE_nodesAtIP(:,:,:FE_Nips(3),3) = & ! element 11 + reshape((/& + 1,0, 0,0, & + 2,0, 0,0, & + 4,0, 0,0, & + 3,0, 0,0 & + /),(/2,2,FE_Nips(3)/)) + FE_nodesAtIP(:,:,:FE_Nips(4),4) = & ! element 27 + 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 & + /),(/2,2,FE_Nips(4)/)) + FE_nodesAtIP(:,:,:FE_Nips(5),5) = & ! element 157 + reshape((/& + 1,0, 0,0, & + 2,0, 0,0, & + 3,0, 0,0, & + 4,0, 0,0 & + /),(/2,2,FE_Nips(5)/)) + FE_nodesAtIP(:,:,:FE_Nips(6),6) = & ! element 136 + reshape((/& + 1,0, 0,0, & + 2,0, 0,0, & + 3,0, 0,0, & + 4,0, 0,0, & + 5,0, 0,0, & + 6,0, 0,0 & + /),(/2,2,FE_Nips(6)/)) + FE_nodesAtIP(:,:,:FE_Nips(7),7) = & ! element 21 + 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 & + /),(/2,2,FE_Nips(7)/)) + + ! fill FE_ipNeighbor with data + FE_ipNeighbor(:FE_NipNeighbors(1),:FE_Nips(1),1) = & ! element 7 + reshape((/& + 2,-5, 3,-2, 5,-1, & + -3, 1, 4,-2, 6,-1, & + 4,-5,-4, 1, 7,-1, & + -3, 3,-4, 2, 8,-1, & + 6,-5, 7,-2,-6, 1, & + -3, 5, 8,-2,-6, 2, & + 8,-5,-4, 5,-6, 3, & + -3, 7,-4, 6,-6, 4 & + /),(/FE_NipNeighbors(1),FE_Nips(1)/)) + FE_ipNeighbor(:FE_NipNeighbors(2),:FE_Nips(2),2) = & ! element 134 + reshape((/& + -1,-2,-3,-4 & + /),(/FE_NipNeighbors(2),FE_Nips(2)/)) + FE_ipNeighbor(:FE_NipNeighbors(3),:FE_Nips(3),3) = & ! element 11 + reshape((/& + 2,-4, 3,-1, & + -2, 1, 4,-1, & + 4,-4,-3, 1, & + -2, 3,-3, 2 & + /),(/FE_NipNeighbors(3),FE_Nips(3)/)) + FE_ipNeighbor(:FE_NipNeighbors(4),:FE_Nips(4),4) = & ! element 27 + reshape((/& + 2,-4, 4,-1, & + 3, 1, 5,-1, & + -2, 2, 6,-1, & + 5,-4, 7, 1, & + 6, 4, 8, 2, & + -2, 5, 9, 3, & + 8,-4,-3, 4, & + 9, 7,-3, 5, & + -2, 8,-3, 6 & + /),(/FE_NipNeighbors(4),FE_Nips(4)/)) + FE_ipNeighbor(:FE_NipNeighbors(5),:FE_Nips(5),5) = & ! element 157 + reshape((/& + 2,-4, 3,-2, 4,-1, & + 3,-2, 1,-3, 4,-1, & + 1,-3, 2,-4, 4,-1, & + 1,-3, 2,-4, 3,-2 & + /),(/FE_NipNeighbors(5),FE_Nips(5)/)) + FE_ipNeighbor(:FE_NipNeighbors(6),:FE_Nips(6),6) = & ! element 136 + reshape((/& + 2,-4, 3,-2, 4,-1, & + -3, 1, 3,-2, 5,-1, & + 2,-4,-3, 1, 6,-1, & + 5,-4, 6,-2,-5, 1, & + -3, 4, 6,-2,-5, 2, & + 5,-4,-3, 4,-5, 3 & + /),(/FE_NipNeighbors(6),FE_Nips(6)/)) + FE_ipNeighbor(:FE_NipNeighbors(7),:FE_Nips(7),7) = & ! element 21 + reshape((/& + 2,-5, 4,-2,10,-1, & + 3, 1, 5,-2,11,-1, & + -3, 2, 6,-2,12,-1, & + 5,-5, 7, 1,13,-1, & + 6, 4, 8, 2,14,-1, & + -3, 5, 9, 3,15,-1, & + 8,-5,-4, 4,16,-1, & + 9, 7,-4, 5,17,-1, & + -3, 8,-4, 6,18,-1, & + 11,-5,13,-2,10, 1, & + 12,10,14,-2,11, 2, & + -3,11,15,-2,12, 3, & + 14,-5,16,10,13, 4, & + 15,13,17,11,14, 5, & + -3,14,18,12,15, 6, & + 17,-5,-4,13,16, 7, & + 18,16,-4,14,17, 8, & + -3,17,-4,15,18, 9, & + 20,-5,22,-2,-6,10, & + 21,19,23,-2,-6,11, & + -3,20,24,-2,-6,12, & + 23,-5,25,19,-6,13, & + 24,22,26,20,-6,14, & + -3,23,27,21,-6,15, & + 26,-5,-4,22,-6,16, & + 27,25,-4,23,-6,17, & + -3,26,-4,24,-6,18 & + /),(/FE_NipNeighbors(7),FE_Nips(7)/)) + + ! fill FE_subNodeParent with data + FE_subNodeParent(:FE_Nips(1),:FE_NsubNodes(1),1) = & ! element 7 + reshape((/& + 1, 2, 0, 0, 0, 0, 0, 0, & + 2, 3, 0, 0, 0, 0, 0, 0, & + 3, 4, 0, 0, 0, 0, 0, 0, & + 4, 1, 0, 0, 0, 0, 0, 0, & + 1, 5, 0, 0, 0, 0, 0, 0, & + 2, 6, 0, 0, 0, 0, 0, 0, & + 3, 7, 0, 0, 0, 0, 0, 0, & + 4, 8, 0, 0, 0, 0, 0, 0, & + 5, 6, 0, 0, 0, 0, 0, 0, & + 6, 7, 0, 0, 0, 0, 0, 0, & + 7, 8, 0, 0, 0, 0, 0, 0, & + 8, 5, 0, 0, 0, 0, 0, 0, & + 1, 2, 3, 4, 0, 0, 0, 0, & + 1, 2, 6, 5, 0, 0, 0, 0, & + 2, 3, 7, 6, 0, 0, 0, 0, & + 3, 4, 8, 7, 0, 0, 0, 0, & + 1, 4, 8, 5, 0, 0, 0, 0, & + 5, 6, 7, 8, 0, 0, 0, 0, & + 1, 2, 3, 4, 5, 6, 7, 8 & + /),(/FE_Nips(1),FE_NsubNodes(1)/)) + !FE_subNodeParent(:FE_Nips(2),:FE_NsubNodes(2),2) = & ! element 134 + ! reshape((/& + ! *still to be defined* + ! /),(/FE_Nips(2),FE_NsubNodes(2)/)) + FE_subNodeParent(:FE_Nips(3),:FE_NsubNodes(3),3) = & ! element 11 + reshape((/& + 1, 2, 0, 0, & + 2, 3, 0, 0, & + 3, 4, 0, 0, & + 4, 1, 0, 0, & + 1, 2, 3, 4 & + /),(/FE_Nips(3),FE_NsubNodes(3)/)) + FE_subNodeParent(:FE_Nips(4),:FE_NsubNodes(4),4) = & ! element 27 + reshape((/& + 1, 1, 2, 0, 0, 0, 0, 0, 0, & + 1, 2, 2, 0, 0, 0, 0, 0, 0, & + 2, 2, 3, 0, 0, 0, 0, 0, 0, & + 2, 3, 3, 0, 0, 0, 0, 0, 0, & + 3, 3, 4, 0, 0, 0, 0, 0, 0, & + 3, 4, 4, 0, 0, 0, 0, 0, 0, & + 4, 4, 1, 0, 0, 0, 0, 0, 0, & + 4, 1, 1, 0, 0, 0, 0, 0, 0, & + 1, 1, 1, 1, 2, 2, 4, 4, 3, & + 2, 2, 2, 2, 1, 1, 3, 3, 4, & + 3, 3, 3, 3, 2, 2, 4, 4, 1, & + 4, 4, 4, 4, 1, 1, 3, 3, 2 & + /),(/FE_Nips(4),FE_NsubNodes(4)/)) + !FE_subNodeParent(:FE_Nips(5),:FE_NsubNodes(5),5) = & ! element 157 + ! reshape((/& + ! *still to be defined* + ! /),(/FE_Nips(5),FE_NsubNodes(5)/)) + FE_subNodeParent(:FE_Nips(6),:FE_NsubNodes(6),6) = & ! element 136 + reshape((/& + 1, 2, 0, 0, 0, 0, & + 2, 3, 0, 0, 0, 0, & + 3, 1, 0, 0, 0, 0, & + 1, 4, 0, 0, 0, 0, & + 2, 5, 0, 0, 0, 0, & + 3, 6, 0, 0, 0, 0, & + 4, 5, 0, 0, 0, 0, & + 5, 6, 0, 0, 0, 0, & + 6, 4, 0, 0, 0, 0, & + 1, 2, 3, 0, 0, 0, & + 1, 2, 4, 5, 0, 0, & + 2, 3, 5, 6, 0, 0, & + 1, 3, 4, 6, 0, 0, & + 4, 5, 6, 0, 0, 0, & + 1, 2, 3, 4, 5, 6 & + /),(/FE_Nips(6),FE_NsubNodes(6)/)) + FE_subNodeParent(:FE_Nips(7),:FE_NsubNodes(7),7) = & ! element 21 + reshape((/& + 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, & + 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 3, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 4, 1, 1, 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, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 2, 2, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 3, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 4, 4, 8, 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, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 2, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 3, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 4, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 5, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 5, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 6, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 6, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 8, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 8, 5, 5, 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, 1, 1, 2, 2, 4, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 2, 2, 2, 2, 1, 1, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 3, 3, 3, 3, 2, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 4, 4, 4, 4, 1, 1, 3, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 1, 1, 1, 1, 2, 2, 5, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 2, 2, 2, 2, 1, 1, 6, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 2, 2, 2, 2, 3, 3, 6, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 3, 3, 3, 3, 2, 2, 7, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 3, 3, 3, 3, 4, 4, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 4, 4, 4, 4, 3, 3, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 4, 4, 4, 4, 1, 1, 8, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 1, 1, 1, 1, 4, 4, 5, 5, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 5, 5, 5, 5, 1, 1, 6, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 6, 6, 6, 6, 2, 2, 5, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 6, 6, 6, 6, 2, 2, 7, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 7, 7, 7, 7, 3, 3, 6, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 7, 7, 7, 7, 3, 3, 8, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 8, 8, 8, 8, 4, 4, 7, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 8, 8, 8, 8, 4, 4, 5, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 5, 5, 5, 5, 1, 1, 8, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 5, 5, 5, 5, 6, 6, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 6, 6, 6, 6, 5, 5, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 7, 7, 7, 7, 6, 6, 8, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 8, 8, 8, 8, 5, 5, 7, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, & + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 5, 5, 5, 5, 3, 3, 6, 6, 8, 8, 7, & + 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 3, 3, 3, 3, 6, 6, 6, 6, 4, 4, 5, 5, 7, 7, 8, & + 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 4, 4, 4, 4, 7, 7, 7, 7, 1, 1, 6, 6, 8, 8, 5, & + 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 3, 3, 3, 3, 8, 8, 8, 8, 2, 2, 5, 5, 7, 7, 6, & + 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 6, 6, 6, 6, 8, 8, 8, 8, 2, 2, 4, 4, 7, 7, 3, & + 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, & + 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 & + /),(/FE_Nips(7),FE_NsubNodes(7)/)) + + ! fill FE_subNodeOnIPFace with data + FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(1),:FE_Nips(1),1) = & ! element 7 + reshape((/& + 9,21,27,22, & ! 1 + 1,13,25,12, & + 12,25,27,21, & + 1, 9,22,13, & + 13,22,27,25, & + 1,12,21, 9, & + 2,10,23,14, & ! 2 + 9,22,27,21, & + 10,21,27,23, & + 2,14,22, 9, & + 14,23,27,22, & + 2, 9,21,10, & + 11,24,27,21, & ! 3 + 4,12,25,16, & + 4,16,24,11, & + 12,21,27,25, & + 16,25,27,24, & + 4,11,21,12, & + 3,15,23,10, & ! 4 + 11,21,27,24, & + 3,11,24,15, & + 10,23,27,21, & + 15,24,27,23, & + 3,10,21,11, & + 17,22,27,26, & ! 5 + 5,20,25,13, & + 20,26,27,25, & + 5,13,22,17, & + 5,17,26,20, & + 13,25,27,22, & + 6,14,23,18, & ! 6 + 17,26,27,22, & + 18,23,27,26, & + 6,17,22,14, & + 6,18,26,17, & + 14,22,27,23, & + 19,26,27,24, & ! 7 + 8,16,25,20, & + 8,19,24,16, & + 20,25,27,26, & + 8,20,26,19, & + 16,24,27,25, & + 7,18,23,15, & ! 8 + 19,24,27,26, & + 7,15,24,19, & + 18,26,27,23, & + 7,19,26,18, & + 15,23,27,24 & + /),(/FE_NipFaceNodes,FE_NipNeighbors(1),FE_Nips(1)/)) + FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(2),:FE_Nips(2),2) = & ! element 134 + reshape((/& + 1, 1, 3, 2, & ! 1 + 1, 1, 2, 4, & + 2, 2, 3, 4, & + 1, 1, 4, 3 & + /),(/FE_NipFaceNodes,FE_NipNeighbors(2),FE_Nips(2)/)) + FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(3),:FE_Nips(3),3) = & ! element 11 + reshape((/& + 5, 9, 0, 0, & ! 1 + 1, 8, 0, 0, & + 8, 9, 0, 0, & + 1, 5, 0, 0, & + 2, 6, 0, 0, & ! 2 + 5, 9, 0, 0, & + 6, 9, 0, 0, & + 2, 5, 0, 0, & + 3, 6, 0, 0, & ! 3 + 7, 9, 0, 0, & + 3, 7, 0, 0, & + 6, 9, 0, 0, & + 7, 9, 0, 0, & ! 4 + 4, 8, 0, 0, & + 4, 7, 0, 0, & + 8, 9, 0, 0 & + /),(/FE_NipFaceNodes,FE_NipNeighbors(3),FE_Nips(3)/)) + FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(4),:FE_Nips(4),4) = & ! element 27 + reshape((/& + 9,17, 0, 0, & ! 1 + 1,16, 0, 0, & + 16,17, 0, 0, & + 1, 9, 0, 0, & + 10,18, 0, 0, & ! 2 + 9,17, 0, 0, & + 17,18, 0, 0, & + 9,10, 0, 0, & + 2,11, 0, 0, & ! 3 + 10,18, 0, 0, & + 11,18, 0, 0, & + 2,10, 0, 0, & + 17,20, 0, 0, & ! 4 + 15,16, 0, 0, & + 15,20, 0, 0, & + 16,17, 0, 0, & + 18,19, 0, 0, & ! 5 + 17,20, 0, 0, & + 19,20, 0, 0, & + 17,18, 0, 0, & + 11,12, 0, 0, & ! 6 + 18,19, 0, 0, & + 12,19, 0, 0, & + 11,18, 0, 0, & + 14,20, 0, 0, & ! 7 + 4,15, 0, 0, & + 4,14, 0, 0, & + 15,20, 0, 0, & + 13,19, 0, 0, & ! 8 + 14,20, 0, 0, & + 13,14, 0, 0, & + 19,20, 0, 0, & + 3,12, 0, 0, & ! 9 + 13,19, 0, 0, & + 3,13, 0, 0, & + 12,19, 0, 0 & + /),(/FE_NipFaceNodes,FE_NipNeighbors(4),FE_Nips(4)/)) + !FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(5),:FE_Nips(5),5) = & ! element 157 + ! reshape((/& + ! *still to be defined* + ! /),(/FE_NipFaceNodes,FE_NipNeighbors(5),FE_Nips(5)/)) + FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(6),:FE_Nips(6),6) = & ! element 136 + reshape((/& + 7,16,21,17, & ! 1 + 1,10,19, 9, & + 9,19,21,16, & + 1, 7,17,10, & + 10,17,21,19, & + 1, 9,16, 7, & + 2, 8,18,11, & ! 2 + 7,17,21,16, & + 8,16,21,18, & + 2,11,17, 7, & + 11,18,21,17, & + 2, 7,16, 8, & + 8,18,21,16, & ! 3 + 3, 9,19,12, & + 3,12,18, 8, & + 9,16,21,19, & + 12,19,21,18, & + 3, 8,16, 9, & + 13,17,21,20, & ! 4 + 4,15,19,10, & + 15,20,21,19, & + 4,10,17,13, & + 4,13,20,15, & + 10,19,21,17, & + 5,11,18,14, & ! 5 + 13,20,21,17, & + 14,18,21,20, & + 5,13,17,11, & + 5,14,20,13, & + 11,17,21,18, & + 14,20,21,18, & ! 6 + 6,12,19,15, & + 6,14,18,12, & + 15,19,21,20, & + 6,15,20,14, & + 12,18,21,19 & + /),(/FE_NipFaceNodes,FE_NipNeighbors(6),FE_Nips(6)/)) + FE_subNodeOnIPFace(:FE_NipFaceNodes,:FE_NipNeighbors(7),:FE_Nips(7),7) = & ! element 21 + reshape((/& + 9,33,57,37, & ! 1 + 1,17,44,16, & + 33,16,44,57, & + 1, 9,37,17, & + 17,37,57,44, & + 1,16,33, 9, & + 10,34,58,38, & ! 2 + 9,37,57,33, & + 34,33,57,58, & + 9,10,38,37, & + 37,38,58,57, & + 9,33,34,10, & + 2,11,39,18, & ! 3 + 10,38,58,34, & + 11,34,58,39, & + 10, 2,18,38, & + 38,18,39,58, & + 10,34,11, 2, & + 33,36,60,57, & ! 4 + 16,44,43,15, & + 36,15,43,60, & + 16,33,57,44, & + 44,57,60,43, & + 16,15,36,33, & + 34,35,59,58, & ! 5 + 33,57,60,36, & + 35,36,60,59, & + 33,34,58,57, & + 57,58,59,60, & + 33,36,35,34, & + 11,12,40,39, & ! 6 + 34,58,59,35, & + 12,35,59,40, & + 34,11,39,58, & + 58,39,40,59, & + 34,35,12,11, & + 36,14,42,60, & ! 7 + 15,43,20, 4, & + 14, 4,20,42, & + 15,36,60,43, & + 43,60,42,20, & + 15, 4,14,36, & + 35,13,41,59, & ! 8 + 36,60,42,14, & + 13,14,42,41, & + 36,35,59,60, & + 60,59,41,42, & + 36,14,13,35, & + 12, 3,19,40, & ! 9 + 35,59,41,13, & + 3,13,41,19, & + 35,12,40,59, & + 59,40,19,41, & + 35,13, 3,12, & + 37,57,61,45, & ! 10 + 17,21,52,44, & + 57,44,52,61, & + 17,37,45,21, & + 21,45,61,52, & + 17,44,57,37, & + 38,58,62,46, & ! 11 + 37,45,61,57, & + 58,57,61,62, & + 37,38,46,45, & + 45,46,62,61, & + 37,57,58,38, & + 18,39,47,22, & ! 12 + 38,46,62,58, & + 39,58,62,47, & + 38,18,22,46, & + 46,22,47,62, & + 38,58,39,18, & + 57,60,64,61, & ! 13 + 44,52,51,43, & + 60,43,51,64, & + 44,57,61,52, & + 52,61,64,51, & + 44,43,60,57, & + 58,59,63,62, & ! 14 + 57,61,64,60, & + 59,60,64,63, & + 57,58,62,61, & + 61,62,63,64, & + 57,60,59,58, & + 39,40,48,47, & ! 15 + 58,62,63,59, & + 40,59,63,48, & + 58,39,47,62, & + 62,47,48,63, & + 58,59,40,39, & + 60,42,50,64, & ! 16 + 43,51,24,20, & + 42,20,24,50, & + 43,60,64,51, & + 51,64,50,24, & + 43,20,42,60, & + 59,41,49,63, & ! 17 + 60,64,50,42, & + 41,42,50,49, & + 60,59,63,64, & + 64,63,49,50, & + 60,42,41,59, & + 40,19,23,48, & ! 18 + 59,63,49,41, & + 19,41,49,23, & + 59,40,48,63, & + 63,48,23,49, & + 59,41,19,40, & + 45,61,53,25, & ! 19 + 21, 5,32,52, & + 61,52,32,53, & + 21,45,25, 5, & + 5,25,53,32, & + 21,52,61,45, & + 46,62,54,26, & ! 20 + 45,25,53,61, & + 62,61,53,54, & + 45,46,26,25, & + 25,26,54,53, & + 45,61,62,46, & + 22,47,27, 6, & ! 21 + 46,26,54,62, & + 47,62,54,27, & + 46,22, 6,26, & + 26, 6,27,54, & + 46,62,47,22, & + 61,64,56,53, & ! 22 + 52,32,31,51, & + 64,51,31,56, & + 52,61,53,32, & + 32,53,56,31, & + 52,51,64,61, & + 62,63,55,54, & ! 23 + 61,53,56,64, & + 63,64,56,55, & + 61,62,54,53, & + 53,54,55,56, & + 61,64,63,62, & + 47,48,28,27, & ! 24 + 62,54,55,63, & + 48,63,55,28, & + 62,47,27,54, & + 54,27,28,55, & + 62,63,48,47, & + 64,50,30,56, & ! 25 + 51,31, 8,24, & + 50,24, 8,30, & + 51,64,56,31, & + 31,56,30, 8, & + 51,24,50,64, & + 63,49,29,55, & ! 26 + 64,56,30,50, & + 49,50,30,29, & + 64,63,55,56, & + 56,55,29,30, & + 64,50,49,63, & + 48,23, 7,28, & ! 27 + 63,55,29,49, & + 23,49,29, 7, & + 63,48,28,55, & + 55,28, 7,29, & + 63,49,23,48 & + /),(/FE_NipFaceNodes,FE_NipNeighbors(7),FE_Nips(7)/)) + + return + + END SUBROUTINE + !******************************************************************** ! get count of elements, nodes, and cp elements in mesh @@ -2952,18 +1685,20 @@ SUBROUTINE mesh_get_nodeElemDimensions (unit) !$OMP CRITICAL (write2out) + !write (6,*) + !write (6,*) "Input Parser: IP NEIGHBORHOOD" + !write (6,*) + !write (6,"(a10,x,a10,x,a10,x,a3,x,a13,x,a13)") "elem","IP","neighbor","","elemNeighbor","ipNeighbor" + !do e = 1,mesh_NcpElems ! loop over cpElems + ! t = mesh_element(2,e) ! get elemType + ! do i = 1,FE_Nips(t) ! loop over IPs of elem + ! do n = 1,FE_NipNeighbors(t) ! loop over neighbors of IP + ! write (6,"(i10,x,i10,x,i10,x,a3,x,i13,x,i13)") e,i,n,'-->',mesh_ipNeighborhood(1,n,i,e),mesh_ipNeighborhood(2,n,i,e) + ! enddo + ! enddo + !enddo write (6,*) - write (6,*) "Input Parser: IP NEIGHBORHOOD" - write (6,*) - write (6,"(a10,x,a10,x,a10,x,a3,x,a13,x,a13)") "elem","IP","neighbor","","elemNeighbor","ipNeighbor" - do e = 1,mesh_NcpElems ! loop over cpElems - t = mesh_element(2,e) ! get elemType - do i = 1,FE_Nips(t) ! loop over IPs of elem - do n = 1,FE_NipNeighbors(t) ! loop over neighbors of IP - write (6,"(i10,x,i10,x,i10,x,a3,x,i13,x,i13)") e,i,n,'-->',mesh_ipNeighborhood(1,n,i,e),mesh_ipNeighborhood(2,n,i,e) - enddo - enddo - enddo + write (6,*) "Input Parser: ELEMENT VOLUME" write (6,*) write (6,"(a13,x,e15.8)") "total volume", sum(mesh_ipVolume) write (6,*) @@ -2971,12 +1706,14 @@ SUBROUTINE mesh_get_nodeElemDimensions (unit) do e = 1,mesh_NcpElems do i = 1,FE_Nips(mesh_element(2,e)) write (6,"(i5,x,i5,x,e15.8)") e,i,mesh_IPvolume(i,e) - do f = 1,FE_NipNeighbors(mesh_element(2,e)) - write (6,"(i33,x,e15.8,x,3(f6.3,x))") f,mesh_ipArea(f,i,e),mesh_ipAreaNormal(:,f,i,e) - end do + ! do f = 1,FE_NipNeighbors(mesh_element(2,e)) + ! write (6,"(i33,x,e15.8,x,3(f6.3,x))") f,mesh_ipArea(f,i,e),mesh_ipAreaNormal(:,f,i,e) + ! end do end do end do - write (6,*) + !write (6,*) + !write (6,*) "Input Parser: SUBNODE COORDINATES" + !write (6,*) !write(6,'(a5,x,a5,x,a15,x,a15,x,a20,3(x,a8))') 'elem','IP','IP neighbor','IPFaceNodes','subNodeOnIPFace','x','y','z' !do e = 1,mesh_NcpElems ! loop over cpElems ! t = mesh_element(2,e) ! get elemType