33 SUBROUTINE i5for3(OUTPUT,LFT ,LLT ,NFT ,
34 2 E ,MSR ,NSV ,IRTL ,STF ,
35 3 STFN ,IBC ,ICODT ,FSAV ,IGIMP ,
36 4 FSKYI ,ISKY ,FCONT ,FNCONT,ICONTACT,
37 5 IBAG ,IADM ,H3D_DATA,
38 6 IX1 ,IX2 ,IX3 ,IX4 ,N1 ,
39 7 N2 ,N3 ,XFACE ,H1 ,H2 ,
40 8 H3 ,H4 ,THK ,ANS ,STIF ,
47 USE output_mod,
ONLY: output_
51#include "implicit_f.inc"
70 TYPE(output_),
INTENT(inout) :: OUTPUT
71 INTEGER IBC, IGIMP,LFT, LLT, NFT, IBAG, IADM
72 INTEGER MSR(*), (*), IRTL(*), ICODT(*), ISKY(*),
75 . E(*), STF(*), STFN(*), FSAV(*),FSKYI(LSKYI,4),FCONT(3,*),
77 TYPE(H3D_DATABASE) :: H3D_DATA
78 INTEGER,
DIMENSION(MVSIZ),
INTENT(IN) :: IX1,IX2,IX3,IX4
79 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: n1,n2,n3
80 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: h1,h2,h3,h4,thk
81 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: ans,stif,fni,xface
85 INTEGER I, IL, L, J3, J2, J1, IG,
89 . fxi(mvsiz), fyi(mvsiz), fzi(mvsiz), fx1(mvsiz), fx2(mvsiz), fx3(mvsiz), fx4(mvsiz),
90 . fy1(mvsiz), fy2(mvsiz), fy3(mvsiz), fy4(mvsiz), fz1(mvsiz), fz2(mvsiz), fz3(mvsiz), fz4(mvsiz)
94 ans(i)=
min(zero,(ans(i)*xface(i)-thk(i)))
99 IF(ans(i)==zero)xface(i)=zero
100 ans(i)=xface(i)*ans(i)
105 igimp=igimp+abs(xface(i))
116 fni(i)=ans(i)*stif(i)
125 fsav(1)=fsav(1)+fxi(i)*dt12
126 fsav(2)=fsav(2)+fyi(i)*dt12
127 fsav(3)=fsav(3)+fzi(i)*dt12
193 nisky = nisky + 5 * llt
194#include "lockoff.inc"
198 fskyi(niskyl,1)=fx1(i)
199 fskyi(niskyl,2)=fy1(i)
200 fskyi(niskyl,3)=fz1(i)
202 isky(niskyl) = ix1(i)
204 fskyi(niskyl,1)=fx2(i)
205 fskyi(niskyl,2)=fy2(i)
206 fskyi(niskyl,3)=fz2(i)
208 isky(niskyl) = ix2(i)
210 fskyi(niskyl,1)=fx3(i)
211 fskyi(niskyl,2)=fy3(i)
212 fskyi(niskyl,3)=fz3(i)
214 isky(niskyl) = ix3(i)
216 fskyi(niskyl,1)=fx4(i)
217 fskyi(niskyl,2)=fy4(i)
218 fskyi(niskyl,3)=fz4(i)
220 isky(niskyl) = ix4(i)
222 fskyi(niskyl,1)=-fxi(i)
223 fskyi(niskyl,2)=-fyi(i)
224 fskyi(niskyl,3)=-fzi(i)
227 isky(niskyl) = nsv(il)
232 IF(ibag/=0.OR.iadm/=0)
THEN
242#include
"lockoff.inc"
245 IF(anim_v(4)+outp_v(4)>0.AND.
246 . ((tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.tt>=toutp.OR.
247 . (manim>=4.AND.manim<=15)))
THEN
250 fcont(1,ix1(i)) =fcont(1,ix1(i)) + fx1(i)
251 fcont(2,ix1(i)) =fcont(2,ix1(i)) + fy1(i)
252 fcont(3,ix1(i)) =fcont(3,ix1(i)) + fz1(i)
253 fcont(1,ix2(i)) =fcont(1,ix2(i)) + fx2(i)
254 fcont(2,ix2(i)) =fcont(2,ix2(i)) + fy2(i)
255 fcont(3,ix2(i)) =fcont(3,ix2(i)) + fz2(i)
256 fcont(1,ix3(i)) =fcont(1,ix3(i)) + fx3(i)
257 fcont(2,ix3(i)) =fcont(2,ix3(i)) + fy3(i)
258 fcont(3,ix3(i)) =fcont(3,ix3(i)) + fz3(i)
259 fcont(1,ix4(i)) =fcont(1,ix4(i)) + fx4(i)
260 fcont(2,ix4(i)) =fcont(2,ix4(i)) + fy4(i)
261 fcont(3,ix4(i)) =fcont(3,ix4(i)) + fz4(i)
262 fcont(1,nsv(i+nft))=fcont(1,nsv
263 fcont(2,nsv(i+nft))=fcont(2,nsv(i+nft))- fyi(i)
264 fcont(3,nsv(i+nft))=fcont(3,nsv(i+nft))- fzi(i)
266#include "lockoff.inc"
269 IF(anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT>0.AND.
270 . ((tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP).OR.
271 . (manim>=4.AND.manim<=15).OR.h3d_data%MH3D/=0))
THEN
274 fncont(1,ix1(i)) =fncont(1,ix1(i)) + fx1(i)
275 fncont(2,ix1(i)) =fncont(2,ix1(i)) + fy1(i)
276 fncont(3,ix1(i)) =fncont(3,ix1(i)) + fz1(i)
277 fncont(1,ix2(i)) =fncont(1,ix2(i)) + fx2(i)
278 fncont(2,ix2(i)) =fncont(2,ix2(i)) + fy2(i)
279 fncont(3,ix2(i)) =fncont(3,ix2(i)) + fz2(i)
280 fncont(1,ix3(i)) =fncont(1,ix3(i)) + fx3(i)
281 fncont(2,ix3(i)) =fncont(2,ix3(i)) + fy3(i)
282 fncont(3,ix3(i)) =fncont(3,ix3(i)) + fz3(i)
283 fncont(1,ix4(i)) =fncont(1,ix4(i)) + fx4(i)
284 fncont(2,ix4(i)) =fncont(2,ix4(i)) + fy4(i)
285 fncont(3,ix4(i)) =fncont(3,ix4(i)) + fz4(i)
286 fncont(1,nsv(i+nft))=fncont(1,nsv(i+nft))- fxi(i)
287 fncont(2,nsv(i+nft))=fncont(2,nsv(i+nft))- fyi(i)
288 fncont(3,nsv(i+nft))=fncont(3,nsv(i+nft))- fzi(i)
290#include "lockoff.inc"
295 IF(ibc==0.OR.xface(i)==zero)
GOTO 200
298 CALL ibcoff(ibc,icodt(ig))
subroutine i5for3(output, lft, llt, nft, e, msr, nsv, irtl, stf, stfn, ibc, icodt, fsav, igimp, fskyi, isky, fcont, fncont, icontact, ibag, iadm, h3d_data, ix1, ix2, ix3, ix4, n1, n2, n3, xface, h1, h2, h3, h4, thk, ans, stif, fni)