31 SUBROUTINE befil2(V,FILL,DFILL,IMS,X,
37#include "implicit_f.inc"
45#include "vect01_c.inc"
54 . v(3,*), fill(numnod,*), dfill(numnod,*),
56 . dalph1(*), dalph2(*)
60 INTEGER NC1(MVSIZ), NC2(), NC3(MVSIZ), NC4(MVSIZ), I, N1, N2, N3, N4,
64 . fi1(mvsiz), fi2(mvsiz), fi3(mvsiz), fi4(mvsiz),
65 . fa(mvsiz), vdy1(mvsiz), vdy2(mvsiz), vdy3(mvsiz), vdy4(mvsiz),
66 . vdz1(mvsiz), vdz2(mvsiz), vdz3(mvsiz), vdz4(mvsiz), vdy(mvsiz), vdz(mvsiz),
67 . abf, dn, p1, p2, p3, p4, pt, psy, psz, pty,
69 . df1(mvsiz), df2(mvsiz), df3(mvsiz), df4(mvsiz)
77 n1=nint(sign(one,fi1(i)))
78 n2=nint(sign(one,fi2(i)))
79 n3=nint(sign(one,fi3(i)))
80 n4=nint(sign(one,fi4(i)))
84 fa(i)=-dalph1(i)*abf/dn
115 vdy(i)=(vdy1(i)*p1+vdy2(i)*p2+vdy3(i)*p3+vdy4(i)*p4)/pt
116 vdz(i)=(vdz1(i)*p1+vdz2(i)*p2+vdz3(i)*p3+vdz4(i)*p4)/pt
120 psy=-x(2,nc1(i))+x(2,nc2(i))+x(2,nc3(i))-x(2,nc4(i))
121 psz=-x(3,nc1(i))+x(3,nc2(i))+x(3,nc3(i))-x(3,nc4(i))
122 pty=-x(2,nc1(i))-x(2,nc2(i))+x(2,nc3(i))+x(2,nc4(i))
123 ptz=-x(3,nc1(i))-x(3,nc2(i))+x(3,nc3(i))+x(3,nc4(i))
124 ps=sqrt(psy**2+psz**2)
125 pt=sqrt(pty**2+ptz**2)
128 ds0=-four*(pty*vdz(i)-ptz*vdy(i))/pts
129 dt0=-four*(psy*vdz(i)-psz*vdy(i))/pst
131 ds=-four*(pty*vdz1(i)-ptz*vdy1(i))/pts
132 dt=-four*(psy*vdz1(i)-psz*vdy1(i))/pst
140 df1(i)=fourth*((-two*ds-two*dt+ds*dt*dt1)*fi1(i)
141 . +( two*ds -ds*dt*dt1)*fi2(i)
142 . +( ds*dt*dt1)*fi3(i)
143 . +( two*dt-ds*dt*dt1)*fi4(i) )
145 ds=-four*(pty*vdz2(i)-ptz*vdy2(i))/pts
146 dt=-four*(psy*vdz2(i)-psz*vdy2(i))/pst
153 df2(i)=fourth*((-two*ds +ds*dt*dt1)*fi1(i)
154 . +( two*ds-two*dt-ds*dt*dt1)*fi2(i)
155 . +( +two*dt+ds*dt*dt1)*fi3(i)
156 . +( -ds*dt*dt1)*fi4(i) )
158 ds=-four*(pty*vdz3(i)-ptz*vdy3(i))/pts
159 dt=-four*(psy*vdz3(i)-psz*vdy3(i))/pst
166 df3(i)=fourth*(( +ds*dt*dt1)*fi1(i)
167 . +( -two*dt-ds*dt*dt1)*fi2(i)
168 . +(+two*ds+two*dt+ds*dt*dt1)*fi3(i)
169 . +(-two*ds -ds*dt*dt1)*fi4(i) )
171 ds=-four*(pty*vdz4(i)-ptz*vdy4(i))/pts
172 dt=-four*(psy*vdz4(i)-psz*vdy4(i))/pst
179 df4(i)=fourth*(( -two*dt+ds*dt*dt1)*fi1(i)
180 . +( -ds*dt*dt1)*fi2(i)
181 . +(+two*ds +ds*dt*dt1)*fi3(i)
182 . +(-two*ds+two*dt-ds*dt*dt1)*fi4(i) )
188 dfill(nc1(i),1)=dfill(nc1(i),1)+df1(i)-fa(i)
189 dfill(nc2(i),1)=dfill(nc2(i),1)+df2(i)-fa(i)
190 dfill(nc3(i),1)=dfill(nc3(i),1)+df3(i)-fa(i)
191 dfill(nc4(i),1)=dfill(nc4(i),1)+df4(i)-fa(i)
192 ims(nc1(i),1)=ims(nc1(i),1)+1
193 ims(nc2(i),1)=ims(nc2(i),1)+1
194 ims(nc3(i),1)=ims(nc3(i),1)+1
195 ims(nc4(i),1)=ims(nc4(i),1)+1
204 fi1(i)=fill(nc1(i),2)
205 fi2(i)=fill(nc2(i),2)
206 fi3(i)=fill(nc3(i),2)
207 fi4(i)=fill(nc4(i),2)
208 abf=abs(fi1(i))+abs(fi2(i))+abs(fi3(i))+abs(fi4(i))
209 n1=nint(sign(one,fi1(i)))
210 n2=nint(sign(one,fi2(i)))
211 n3=nint(sign(one,fi3(i)))
212 n4=nint(sign(one,fi4(i)))
216 fa(i)=-dalph2(i)*abf/dn
231 vdy(i)=(vdy1(i)*p1+vdy2(i)*p2+vdy3(i)*p3+vdy4(i)*p4)/pt
232 vdz(i)=(vdz1(i)*p1+vdz2(i)*p2+vdz3(i)*p3+vdz4(i)*p4)/pt
236 psy=-x(2,nc1(i))+x(2,nc2(i))+x(2,nc3(i))-x(2,nc4(i))
237 psz=-x(3,nc1(i))+x(3,nc2(i))+x(3,nc3(i))-x(3,nc4(i))
238 pty=-x(2,nc1(i))-x(2,nc2(i))+x(2,nc3(i))+x(2,nc4(i))
239 ptz=-x(3,nc1(i))-x(3,nc2(i))+x(3,nc3(i))+x(3,nc4(i))
240 ps=sqrt(psy**2+psz**2)
241 pt=sqrt(pty**2+ptz**2)
244 ds0=-four*(pty*vdz(i)-ptz*vdy(i))/pts
245 dt0=-four*(psy*vdz(i)-psz*vdy(i))/pst
247 ds=-four*(pty*vdz1(i)-ptz*vdy1(i))/pts
248 dt=-four*(psy*vdz1(i)-psz*vdy1(i))/pst
256 df1(i)=fourth*((-two*ds-two*dt+ds*dt*dt1)*fi1(i)
257 . + ( two*ds -ds*dt*dt1)*fi2(i)
258 . + ( ds*dt*dt1)*fi3(i)
259 . + ( two*dt-ds*dt*dt1)*fi4(i) )
261 ds=-four*(pty*vdz2(i)-ptz*vdy2(i))/pts
262 dt=-four*(psy*vdz2(i)-psz*vdy2(i))/pst
269 df2(i)=four*((-two*ds +ds*dt*dt1)*fi1(i)
270 . +( two*ds-two*dt-ds*dt*dt1)*fi2(i)
271 . +( +two*dt+ds*dt*dt1)*fi3(i)
272 . +( -ds*dt*dt1)*fi4(i) )
274 ds=-four*(pty*vdz3(i)-ptz*vdy3(i))/pts
275 dt=-four*(psy*vdz3(i)-psz*vdy3(i))/pst
282 df3(i)=fourth*(( +ds*dt*dt1)*fi1(i)
283 . +( -two*dt-ds*dt*dt1)*fi2(i)
284 . +(+two*ds+two*dt+ds*dt*dt1)*fi3(i)
285 . +(-two*ds -ds*dt*dt1)*fi4(i) )
287 ds=-four*(pty*vdz4(i)-ptz*vdy4(i))/pts
288 dt=-four*(psy*vdz4(i)-psz*vdy4(i))/pst
295 df4(i)=fourth*(( -two*dt+ds*dt*dt1)*fi1(i)
296 . +( -ds*dt*dt1)*fi2(i)
297 . +(+two*ds +ds*dt*dt1)*fi3(i)
298 . +(-two*ds+two*dt-ds*dt*dt1)*fi4(i) )
305 dfill(nc1(i),2)=dfill(nc1(i),2)+df1(i)-fa(i)
306 dfill(nc2(i),2)=dfill(nc2(i),2)+df2(i)-fa(i)
307 dfill(nc3(i),2)=dfill(nc3(i),2)+df3(i)-fa(i)
308 dfill(nc4(i),2)=dfill(nc4(i),2)+df4(i)-fa(i)
309 ims(nc1(i),2)=ims(nc1(i),2)+1
310 ims(nc2(i),2)=ims(nc2(i),2)+1
311 ims(nc3(i),2)=ims(nc3(i),2)+1
312 ims(nc4(i),2)=ims(nc4(i),2)+1