41 real*8 shp(7,4),xs(3,7),xsi(2,3),xl(3,8),sh(3),xsj(3),xi,et,
44 intent(in) xi,et,xl,iflag
46 intent(out) shp,xs,xsj
60 shp(4,3)=xip*(etp)/4.d0
61 shp(4,4)=xim*(etp)/4.d0
88 xs(i,j)=xs(i,j)+xl(i,k)*shp(j,k)
95 xsj(1)=xs(2,1)*xs(3,2)-xs(3,1)*xs(2,2)
96 xsj(2)=xs(1,2)*xs(3,1)-xs(3,2)*xs(1,1)
97 xsj(3)=xs(1,1)*xs(2,2)-xs(2,1)*xs(1,2)
110 if(dabs(xsj(3)).gt.1.d-10)
then 111 xsi(1,1)=xs(2,2)/xsj(3)
112 xsi(2,2)=xs(1,1)/xsj(3)
113 xsi(1,2)=-xs(1,2)/xsj(3)
114 xsi(2,1)=-xs(2,1)/xsj(3)
115 if(dabs(xsj(2)).gt.1.d-10)
then 116 xsi(2,3)=xs(1,1)/(-xsj(2))
117 xsi(1,3)=-xs(1,2)/(-xsj(2))
118 elseif(dabs(xsj(1)).gt.1.d-10)
then 119 xsi(2,3)=xs(2,1)/xsj(1)
120 xsi(1,3)=-xs(2,2)/xsj(1)
125 elseif(dabs(xsj(2)).gt.1.d-10)
then 126 xsi(1,1)=xs(3,2)/(-xsj(2))
127 xsi(2,3)=xs(1,1)/(-xsj(2))
128 xsi(1,3)=-xs(1,2)/(-xsj(2))
129 xsi(2,1)=-xs(3,1)/(-xsj(2))
130 if(dabs(xsj(1)).gt.1.d-10)
then 131 xsi(1,2)=xs(3,2)/xsj(1)
132 xsi(2,2)=-xs(3,1)/xsj(1)
138 xsi(1,2)=xs(3,2)/xsj(1)
139 xsi(2,3)=xs(2,1)/xsj(1)
140 xsi(1,3)=-xs(2,2)/xsj(1)
141 xsi(2,2)=-xs(3,1)/xsj(1)
150 sh(j)=shp(1,k)*xsi(1,j)+shp(2,k)*xsi(2,j)
157 elseif(iflag.eq.4)
then 190 xs(i,6)=xs(i,6)+xl(i,k)*shp(6,k)