37 real*8 shp(4,23),xs(3,3),xsi(3,3),xl(3,23),sh(3),xsi0(3,3)
39 real*8 xi,et,ze,xsj,omg,omh,omr,opg,oph,opr
41 intent(in) xi,et,ze,xl,iflag
87 xs(i,j)=xs(i,j)+xl(i,k)*shp(j,k)
94 xsj=xs(1,1)*(xs(2,2)*xs(3,3)-xs(2,3)*xs(3,2))
95 & -xs(1,2)*(xs(2,1)*xs(3,3)-xs(2,3)*xs(3,1))
96 & +xs(1,3)*(xs(2,1)*xs(3,2)-xs(2,2)*xs(3,1))
101 xsi0(1,1)=(xs(2,2)*xs(3,3)-xs(3,2)*xs(2,3))/xsj
102 xsi0(1,2)=(xs(1,3)*xs(3,2)-xs(1,2)*xs(3,3))/xsj
103 xsi0(1,3)=(xs(1,2)*xs(2,3)-xs(2,2)*xs(1,3))/xsj
104 xsi0(2,1)=(xs(2,3)*xs(3,1)-xs(2,1)*xs(3,3))/xsj
105 xsi0(2,2)=(xs(1,1)*xs(3,3)-xs(3,1)*xs(1,3))/xsj
106 xsi0(2,3)=(xs(1,3)*xs(2,1)-xs(1,1)*xs(2,3))/xsj
107 xsi0(3,1)=(xs(2,1)*xs(3,2)-xs(3,1)*xs(2,2))/xsj
108 xsi0(3,2)=(xs(1,2)*xs(3,1)-xs(1,1)*xs(3,2))/xsj
109 xsi0(3,3)=(xs(1,1)*xs(2,2)-xs(2,1)*xs(1,2))/xsj
124 shp(4, 1)=omg*omh*omr/8.d0
125 shp(4, 2)=opg*omh*omr/8.d0
126 shp(4, 3)=opg*oph*omr/8.d0
127 shp(4, 4)=omg*oph*omr/8.d0
128 shp(4, 5)=omg*omh*opr/8.d0
129 shp(4, 6)=opg*omh*opr/8.d0
130 shp(4, 7)=opg*oph*opr/8.d0
131 shp(4, 8)=omg*oph*opr/8.d0
136 if(iflag.eq.1)
return 140 shp(1, 1)=-omh*omr/8.d0
141 shp(1, 2)=omh*omr/8.d0
142 shp(1, 3)=oph*omr/8.d0
143 shp(1, 4)=-oph*omr/8.d0
144 shp(1, 5)=-omh*opr/8.d0
145 shp(1, 6)=omh*opr/8.d0
146 shp(1, 7)=oph*opr/8.d0
147 shp(1, 8)=-oph*opr/8.d0
154 shp(2, 1)=-omg*omr/8.d0
155 shp(2, 2)=-opg*omr/8.d0
156 shp(2, 3)=opg*omr/8.d0
157 shp(2, 4)=omg*omr/8.d0
158 shp(2, 5)=-omg*opr/8.d0
159 shp(2, 6)=-opg*opr/8.d0
160 shp(2, 7)=opg*opr/8.d0
161 shp(2, 8)=omg*opr/8.d0
168 shp(3, 1)=-omg*omh/8.d0
169 shp(3, 2)=-opg*omh/8.d0
170 shp(3, 3)=-opg*oph/8.d0
171 shp(3, 4)=-omg*oph/8.d0
172 shp(3, 5)=omg*omh/8.d0
173 shp(3, 6)=opg*omh/8.d0
174 shp(3, 7)=opg*oph/8.d0
175 shp(3, 8)=omg*oph/8.d0
187 xs(i,j)=xs(i,j)+xl(i,k)*shp(j,k)
194 xsj=xs(1,1)*(xs(2,2)*xs(3,3)-xs(2,3)*xs(3,2))
195 & -xs(1,2)*(xs(2,1)*xs(3,3)-xs(2,3)*xs(3,1))
196 & +xs(1,3)*(xs(2,1)*xs(3,2)-xs(2,2)*xs(3,1))
198 if(iflag.eq.2)
return 203 xsi(1,1)=(xs(2,2)*xs(3,3)-xs(3,2)*xs(2,3))/xsj
204 xsi(1,2)=(xs(1,3)*xs(3,2)-xs(1,2)*xs(3,3))/xsj
205 xsi(1,3)=(xs(1,2)*xs(2,3)-xs(2,2)*xs(1,3))/xsj
206 xsi(2,1)=(xs(2,3)*xs(3,1)-xs(2,1)*xs(3,3))/xsj
207 xsi(2,2)=(xs(1,1)*xs(3,3)-xs(3,1)*xs(1,3))/xsj
208 xsi(2,3)=(xs(1,3)*xs(2,1)-xs(1,1)*xs(2,3))/xsj
209 xsi(3,1)=(xs(2,1)*xs(3,2)-xs(3,1)*xs(2,2))/xsj
210 xsi(3,2)=(xs(1,2)*xs(3,1)-xs(1,1)*xs(3,2))/xsj
211 xsi(3,3)=(xs(1,1)*xs(2,2)-xs(2,1)*xs(1,2))/xsj
217 sh(j)=shp(1,k)*xsi(1,j)+shp(2,k)*xsi(2,j)+shp(3,k)*xsi(3,j)
225 sh(j)=shp(1,k)*xsi0(1,j)+shp(2,k)*xsi0(2,j)+shp(3,k)*xsi0(3,j)