33 SUBROUTINE i3for3(OUTPUT,LFT ,LLT ,NFT ,
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 ,
48 USE output_mod,
ONLY: output_
52#include "implicit_f.inc"
71 TYPE(output_),
INTENT(inout) :: OUTPUT
72 INTEGER IBC, IMAST, IGIMP,LFT, LLT, NFT
73 INTEGER MSR(*), NSV(*), IRTL(*), ICODT(*), ISKY(*)
75 . E(*), STF(*), STFN(*), FSAV(*),FSKYI(LSKYI,NFSKYI),FCONT(3,*)
76 TYPE(H3D_DATABASE) :: H3D_DATA
77 INTEGER,
DIMENSION(MVSIZ),
INTENT(IN) :: IX1,IX2,IX3,IX4
78 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: N1,N2,N3
79 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: ANS,THK
80 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: H1,H2,H3,H4
81 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: xface,stif
82 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: fni,fxi,fyi,fzi
83 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: fx1,fx2,fx3,fx4
84 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: fy1,fy2,fy3,fy4
85 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: fz1,fz2,fz3,fz4
89 INTEGER I, IL, L, J3, J2, J1, IG,
100 ans(i)=
min(zero,(ans(i)*xface(i)-thk(i)))
104 xface(i)=cvmgn(xface(i),zero,ans(i))
105 ans(i)=xface(i)*ans(i)
110 igimp=igimp+abs(xface(i))
117 stif(i)=stf(l)*stfn(il) /
max(em20,(stf(l)+stfn(il)))
121 fni(i)=ans(i)*stif(i)
131 fsav(1)=fsav(1)+fxi(i)*dtm
132 fsav(2)=fsav(2)+fyi(i)*dtm
133 fsav(3)=fsav(3)+fzi(i)*dtm
199 nisky = nisky + 5 * llt
200#include "lockoff.inc"
204 fskyi(niskyl,1)=fx1(i)
205 fskyi(niskyl,2)=fy1(i)
206 fskyi(niskyl,3)=fz1(i)
208 isky(niskyl) = ix1(i)
210 fskyi(niskyl,1)=fx2(i)
211 fskyi(niskyl,2)=fy2(i)
212 fskyi(niskyl,3)=fz2(i)
214 isky(niskyl) = ix2(i)
216 fskyi(niskyl,1)=fx3(i)
217 fskyi(niskyl,2)=fy3(i)
218 fskyi(niskyl,3)=fz3(i)
220 isky(niskyl) = ix3(i)
222 fskyi(niskyl,1)=fx4(i)
223 fskyi(niskyl,2)=fy4(i)
224 fskyi(niskyl,3)=fz4(i)
226 isky(niskyl) = ix4(i)
228 fskyi(niskyl,1)=-fxi(i)
229 fskyi(niskyl,2)=-fyi(i)
230 fskyi(niskyl,3)=-fzi(i)
233 isky(niskyl) = nsv(il)
238 fskyi(niskyl,1)=fx1(i)
239 fskyi(niskyl,2)=fy1(i)
240 fskyi(niskyl,3)=fz1(i)
243 isky(niskyl) = ix1(i)
245 fskyi(niskyl,1)=fx2(i)
246 fskyi(niskyl,2)=fy2(i)
247 fskyi(niskyl,3)=fz2(i)
250 isky(niskyl) = ix2(i)
252 fskyi(niskyl,1)=fx3(i)
253 fskyi(niskyl,2)=fy3(i)
254 fskyi(niskyl,3)=fz3(i)
257 isky(niskyl) = ix3(i)
259 fskyi(niskyl,1)=fx4(i)
260 fskyi(niskyl,2)=fy4(i)
261 fskyi(niskyl,3)=fz4(i)
264 isky(niskyl) = ix4(i)
266 fskyi(niskyl,1)=-fxi(i)
267 fskyi(niskyl,2)=-fyi(i)
268 fskyi(niskyl,3)=-fzi(i)
272 isky(niskyl) = nsv(il)
277 IF(anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT>0.AND.
278 . ((tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP).OR.
279 . (manim>=4.AND.manim<=15).OR. h3d_data%MH3D /= 0))
THEN
282 fcont(1,ix1(i)) =fcont(1,ix1(i)) + fx1(i)
283 fcont(2,ix1(i)) =fcont(2,ix1(i)) + fy1(i)
284 fcont(3,ix1(i)) =fcont(3,ix1(i)) + fz1(i)
285 fcont(1,ix2(i)) =fcont(1,ix2(i)) + fx2(i)
286 fcont(2,ix2(i)) =fcont(2,ix2(i)) + fy2(i)
287 fcont(3,ix2(i)) =fcont(3,ix2(i)) + fz2(i)
288 fcont(1,ix3(i)) =fcont(1,ix3(i)) + fx3(i)
289 fcont(2,ix3(i)) =fcont(2,ix3(i)) + fy3(i)
290 fcont(3,ix3(i)) =fcont(3,ix3(i)) + fz3(i)
291 fcont(1,ix4(i)) =fcont(1,ix4(i)) + fx4(i)
292 fcont(2,ix4(i)) =fcont(2,ix4(i)) + fy4(i)
293 fcont(3,ix4(i)) =fcont(3,ix4(i)) + fz4(i)
294 fcont(1,nsv(i+nft))=fcont(1,nsv(i+nft))- fxi(i)
295 fcont(2,nsv(i+nft))=fcont(2,nsv(i+nft))- fyi(i)
296 fcont(3,nsv(i+nft))=fcont(3,nsv(i+nft))- fzi(i)
298#include "lockoff.inc"
303 IF(ibc==0.OR.xface(i)==zero)
GOTO 200
306 CALL ibcoff(ibc,icodt(ig))
subroutine i3for3(output, 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)