42 real*8 shp(7,9),xs(3,7),xsi(2,3),xl(3,9),sh(3),xsj(3),xi,et,
43 & fxi1,fxi2,fxi3,fet1,fet2,fet3,dfxi1,dfxi2,dfxi3,dfet1,dfet2,
44 & dfet3,ddfxi1,ddfxi2,ddfxi3,ddfet1,ddfet2,ddfet3
46 intent(in) xi,et,xl,iflag
48 intent(out) shp,xs,xsj
55 fxi1=xi*(xi-1.d0)/2.d0
56 fxi2=(1.d0-xi)*(1.d0+xi)
57 fxi3=xi*(xi+1.d0)/2.d0
59 fet1=et*(et-1.d0)/2.d0
60 fet2=(1.d0-et)*(1.d0+et)
61 fet3=et*(et+1.d0)/2.d0
79 dfxi1=(2.d0*xi-1.d0)/2.d0
81 dfxi3=(2.d0*xi+1.d0)/2.d0
83 dfet1=(2.d0*et-1.d0)/2.d0
85 dfet3=(2.d0*et+1.d0)/2.d0
118 xs(i,j)=xs(i,j)+xl(i,k)*shp(j,k)
125 xsj(1)=xs(2,1)*xs(3,2)-xs(3,1)*xs(2,2)
126 xsj(2)=xs(1,2)*xs(3,1)-xs(3,2)*xs(1,1)
127 xsj(3)=xs(1,1)*xs(2,2)-xs(2,1)*xs(1,2)
134 if(dabs(xsj(3)).gt.1.d-10)
then 135 xsi(1,1)=xs(2,2)/xsj(3)
136 xsi(2,2)=xs(1,1)/xsj(3)
137 xsi(1,2)=-xs(1,2)/xsj(3)
138 xsi(2,1)=-xs(2,1)/xsj(3)
139 if(dabs(xsj(2)).gt.1.d-10)
then 140 xsi(2,3)=xs(1,1)/(-xsj(2))
141 xsi(1,3)=-xs(1,2)/(-xsj(2))
142 elseif(dabs(xsj(1)).gt.1.d-10)
then 143 xsi(2,3)=xs(2,1)/xsj(1)
144 xsi(1,3)=-xs(2,2)/xsj(1)
149 elseif(dabs(xsj(2)).gt.1.d-10)
then 150 xsi(1,1)=xs(3,2)/(-xsj(2))
151 xsi(2,3)=xs(1,1)/(-xsj(2))
152 xsi(1,3)=-xs(1,2)/(-xsj(2))
153 xsi(2,1)=-xs(3,1)/(-xsj(2))
154 if(dabs(xsj(1)).gt.1.d-10)
then 155 xsi(1,2)=xs(3,2)/xsj(1)
156 xsi(2,2)=-xs(3,1)/xsj(1)
162 xsi(1,2)=xs(3,2)/xsj(1)
163 xsi(2,3)=xs(2,1)/xsj(1)
164 xsi(1,3)=-xs(2,2)/xsj(1)
165 xsi(2,2)=-xs(3,1)/xsj(1)
174 sh(j)=shp(1,k)*xsi(1,j)+shp(2,k)*xsi(2,j)
181 elseif(iflag.eq.4)
then 236 xs(i,j)=xs(i,j)+xl(i,k)*shp(j,k)