40 real*8 shp(4,6),xs(3,3),xsi(3,3),xl(3,6),sh(3)
44 intent(in) xi,et,ze,xl,iflag
54 shp(4, 1)=0.5d0*a *(1.d0-ze)
55 shp(4, 2)=0.5d0*xi*(1.d0-ze)
56 shp(4, 3)=0.5d0*et*(1.d0-ze)
57 shp(4, 4)=0.5d0*a *(1.d0+ze)
58 shp(4, 5)=0.5d0*xi*(1.d0+ze)
59 shp(4, 6)=0.5d0*et*(1.d0+ze)
65 shp(1, 1)=-0.5d0*(1.d0-ze)
66 shp(1, 2)= 0.5d0*(1.d0-ze)
68 shp(1, 4)=-0.5d0*(1.d0+ze)
69 shp(1, 5)= 0.5d0*(1.d0+ze)
74 shp(2, 1)=-0.5d0*(1.d0-ze)
76 shp(2, 3)= 0.5d0*(1.d0-ze)
77 shp(2, 4)=-0.5d0*(1.d0+ze)
79 shp(2, 6)= 0.5d0*(1.d0+ze)
99 xs(i,j)=xs(i,j)+xl(i,k)*shp(j,k)
106 xsj=xs(1,1)*(xs(2,2)*xs(3,3)-xs(2,3)*xs(3,2))
107 & -xs(1,2)*(xs(2,1)*xs(3,3)-xs(2,3)*xs(3,1))
108 & +xs(1,3)*(xs(2,1)*xs(3,2)-xs(2,2)*xs(3,1))
110 if(iflag.eq.2)
return 115 xsi(1,1)=(xs(2,2)*xs(3,3)-xs(3,2)*xs(2,3))/xsj
116 xsi(1,2)=(xs(1,3)*xs(3,2)-xs(1,2)*xs(3,3))/xsj
117 xsi(1,3)=(xs(1,2)*xs(2,3)-xs(2,2)*xs(1,3))/xsj
118 xsi(2,1)=(xs(2,3)*xs(3,1)-xs(2,1)*xs(3,3))/xsj
119 xsi(2,2)=(xs(1,1)*xs(3,3)-xs(3,1)*xs(1,3))/xsj
120 xsi(2,3)=(xs(1,3)*xs(2,1)-xs(1,1)*xs(2,3))/xsj
121 xsi(3,1)=(xs(2,1)*xs(3,2)-xs(3,1)*xs(2,2))/xsj
122 xsi(3,2)=(xs(1,2)*xs(3,1)-xs(1,1)*xs(3,2))/xsj
123 xsi(3,3)=(xs(1,1)*xs(2,2)-xs(2,1)*xs(1,2))/xsj
129 sh(j)=shp(1,k)*xsi(1,j)+shp(2,k)*xsi(2,j)+shp(3,k)*xsi(3,j)