34 2 E ,MSR ,NSV ,IRTL ,STF ,
35 3 STFN ,IBC ,ICODT ,IMAST ,FSAV ,
36 4 IGIMP ,FSKYI ,ISKY ,FCONT ,H3D_DATA ,
37 5 N1 ,N2 ,N3 ,IX1 ,IX2 ,
39 7 THK ,H1 ,H2 ,H3 ,H4 ,
40 8 XFACE ,STIF ,FNI ,FXI ,FYI ,
41 9 FZI ,FX1 ,FX2 ,FX3 ,FX4 ,
42 1 FY1 ,FY2 ,FY3 ,FY4 ,FZ1 ,
52#include "implicit_f.inc"
71 INTEGER IBC, IMAST, IGIMP,LFT, LLT, NFT
72 INTEGER MSR(*), NSV(*), IRTL(*), ICODT(*), ISKY(*)
74 . E(*), STF(*), STFN(*), FSAV(*),FSKYI(LSKYI,NFSKYI),FCONT(3,*)
75 TYPE(H3D_DATABASE) :: H3D_DATA
76 INTEGER,
DIMENSION(MVSIZ),
INTENT(IN) :: IX1,IX2,IX3,IX4
77 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: N1,N2,N3
78 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: ANS,THK
79 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: H1,H2,H3,H4
80 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: XFACE,STIF
81 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: fni,fxi,fyi,fzi
82 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: fx1,fx2,fx3,fx4
83 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: fy1,fy2,fy3,fy4
84 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: fz1,fz2,fz3,fz4
88 INTEGER I, IL, L, J3, J2, J1, IG,
99 ans(i)=
min(zero,(ans(i)*xface(i)-thk(i)))
103 xface(i)=cvmgn(xface(i),zero,ans(i))
104 ans(i)=xface(i)*ans(i)
116 stif(i)=stf(l)*stfn(il) /
max(em20,(stf
120 fni(i)=ans(i)*stif(i)
130 fsav(1)=fsav(1)+fxi(i)*dtm
131 fsav(2)=fsav(2)+fyi(i)*dtm
132 fsav(3)=fsav(3)+fzi(i)*dtm
198 nisky = nisky + 5 * llt
199#include "lockoff.inc"
203 fskyi(niskyl,1)=fx1(i)
204 fskyi(niskyl,2)=fy1(i)
205 fskyi(niskyl,3)=fz1(i)
207 isky(niskyl) = ix1(i)
209 fskyi(niskyl,1)=fx2(i)
210 fskyi(niskyl,2)=fy2(i)
211 fskyi(niskyl,3)=fz2(i)
213 isky(niskyl) = ix2(i)
215 fskyi(niskyl,1)=fx3(i)
216 fskyi(niskyl,2)=fy3(i)
217 fskyi(niskyl,3)=fz3(i)
219 isky(niskyl) = ix3(i)
221 fskyi(niskyl,1)=fx4(i)
222 fskyi(niskyl,2)=fy4(i)
223 fskyi(niskyl,3)=fz4(i)
225 isky(niskyl) = ix4(i)
227 fskyi(niskyl,1)=-fxi(i)
228 fskyi(niskyl,2)=-fyi(i)
229 fskyi(niskyl,3)=-fzi(i)
232 isky(niskyl) = nsv(il)
237 fskyi(niskyl,1)=fx1(i)
238 fskyi(niskyl,2)=fy1(i)
239 fskyi(niskyl,3)=fz1(i)
242 isky(niskyl) = ix1(i)
244 fskyi(niskyl,1)=fx2(i)
245 fskyi(niskyl,2)=fy2(i)
246 fskyi(niskyl,3)=fz2(i)
249 isky(niskyl) = ix2(i)
251 fskyi(niskyl,1)=fx3(i)
252 fskyi(niskyl,2)=fy3(i)
253 fskyi(niskyl,3)=fz3(i)
256 isky(niskyl) = ix3(i)
258 fskyi(niskyl,1)=fx4(i)
259 fskyi(niskyl,2)=fy4(i)
260 fskyi(niskyl,3)=fz4(i)
263 isky(niskyl) = ix4(i)
265 fskyi(niskyl,1)=-fxi(i)
266 fskyi(niskyl,2)=-fyi(i)
267 fskyi(niskyl,3)=-fzi(i)
271 isky(niskyl) = nsv(il)
276 IF(anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT>0.AND.
277 . ((tt>=tanim .AND. tt<=tanim_stop).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP).OR.
278 . (manim>=4.AND.manim<=15).OR. h3d_data%MH3D /= 0))
THEN
281 fcont(1,ix1(i)) =fcont(1,ix1(i)) + fx1(i)
282 fcont(2,ix1(i)) =fcont(2,ix1(i)) + fy1(i)
283 fcont(3,ix1(i)) =fcont(3,ix1(i)) + fz1(i)
284 fcont(1,ix2(i)) =fcont(1,ix2(i)) + fx2(i)
285 fcont(2,ix2(i)) =fcont(2,ix2(i)) + fy2(i)
286 fcont(3,ix2(i)) =fcont(3,ix2(i)) + fz2(i)
287 fcont(1,ix3(i)) =fcont(1,ix3(i)) + fx3(i)
288 fcont(2,ix3(i)) =fcont(2,ix3(i)) + fy3(i)
289 fcont(3,ix3(i)) =fcont(3,ix3(i)) + fz3(i)
290 fcont(1,ix4(i)) =fcont(1,ix4(i)) + fx4(i)
291 fcont(2,ix4(i)) =fcont(2,ix4(i)) + fy4(i)
292 fcont(3,ix4(i)) =fcont(3,ix4(i)) + fz4(i)
293 fcont(1,nsv(i+nft))=fcont(1,nsv(i+nft))- fxi(i)
294 fcont(2,nsv(i+nft))=fcont(2,nsv(i+nft))- fyi(i)
295 fcont(3,nsv(i+nft))=fcont(3,nsv(i+nft))- fzi(i)
297#include "lockoff.inc"
302 IF(ibc==0.OR.xface(i)==zero)
GOTO 200
305 CALL ibcoff(ibc,icodt(ig))
subroutine i3for3(lft, llt, nft, e, msr, nsv, irtl, stf, stfn, ibc, icodt, imast, fsav, igimp, fskyi, isky, fcont, h3d_data, n1, n2, n3, ix1, ix2, ix3, ix4, ans, thk, h1, h2, h3, h4, xface, stif, fni, fxi, fyi, fzi, fx1, fx2, fx3, fx4, fy1, fy2, fy3, fy4, fz1, fz2, fz3, fz4)