41 SUBROUTINE i23for3(OUTPUT, JLT ,NIN ,NOINT ,IBC ,ICODT ,
42 2 FSAV ,GAP ,STIGLO ,FRIC ,VISC ,
43 3 INACTI ,MFROT ,IFQ ,IBAG ,
44 4 ICURV ,STIF ,GAPV ,ITAB ,A ,
45 5 CAND_P ,FROT_P ,ALPHA0 ,V ,ICONTACT,
46 6 NISKYFI,NSVG ,X1 ,Y1 ,Z1 ,
47 7 X2 ,Y2 ,Z2 ,X3 ,Y3 ,
48 8 Z3 ,X4 ,Y4 ,Z4 ,XI ,
49 9 YI ,ZI ,VXI ,VYI ,VZI ,
50 A MSI ,VXM ,VYM ,VZM ,NX ,
51 B NY ,NZ ,PENE ,H1 ,H2 ,
52 C H3 ,H4 ,INDEX ,CAND_N_N, WEIGHT,
53 F FXT ,FYT ,FZT ,DT2T ,
54 G FCONT ,FNCONT ,FTCONT ,STIFN ,VISCN ,
55 H NEWFRONT ,ISECIN ,NSTRF ,SECFCUM,FSKYI ,
56 I ISKY ,INTTH ,MS ,IX1 ,IX2 ,
57 J IX3 ,IX4 ,CAND_FX,CAND_FY,CAND_FZ ,
58 K KMIN ,KMAX ,CN_LOC ,CE_LOC ,MSKYI_SMS ,
59 L ISKYI_SMS,NSMS ,JTASK,ISENSINT , FSAVPARIT,
60 M NISUB ,NFT ,H3D_DATA )
70#include "implicit_f.inc"
95 TYPE(output_),
INTENT(INOUT) :: OUTPUT
96 INTEGER JLT, IBC, INACTI, IBAG, NIN, NOINT, INTTH,JTASK
100INTEGER NSVG(MVSIZ),CAND_N_N(MVSIZ), WEIGHT(*),
101 . IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
102 . CN_LOC(MVSIZ), CE_LOC(MVSIZ), INDEX(*), NSMS(MVSIZ),
103 . ISENSINT(*),NISUB,NFT
105 . STIGLO, CAND_P(*), FROT_P(*), FSAV(*), FSKYI(LSKYI,4),
106 . ALPHA0, GAP, FRIC, VISC, KMIN, KMAX, DT2T, MSKYI_SMS(*)
108 . STIF(MVSIZ), GAPV(MVSIZ),
109 . VXI(MVSIZ),VYI(MVSIZ),VZI(MVSIZ),MSI(MVSIZ),
110 . X1(MVSIZ),Y1(MVSIZ),(MVSIZ),
111 . X2(MVSIZ),Y2(MVSIZ),Z2(MVSIZ),
112 . X3(MVSIZ),Y3(MVSIZ),Z3(MVSIZ),
113 . X4(MVSIZ),Y4(MVSIZ),Z4(MVSIZ),
114 . xi(mvsiz),yi(mvsiz),zi(mvsiz),
115 . h1(mvsiz), h2(mvsiz), h3(mvsiz), h4(mvsiz),
116 . nx(mvsiz),ny(mvsiz),nz(mvsiz),pene(mvsiz),
117 . vxm(mvsiz), vym(mvsiz), vzm(mvsiz),
118 . fxt(mvsiz), fyt(mvsiz), fzt(mvsiz)
120 . a(3,*), v(3,*), ms(*),
121 . fcont(3,*), fncont(3,*
122 . secfcum(7,numnod,nsect),
123 . cand_fx(*), cand_fy(*), cand_fz(*),fsavparit(nisub+1,11,*)
128 INTEGER I, J1, IG, J, JG , K0,NBINTER,K1S,K, NN,IBID,
131 . FXI(MVSIZ), FYI(MVSIZ), FZI(MVSIZ),FNI(MVSIZ),
132 . FXN(MVSIZ), FYN(MVSIZ), FZN(MVSIZ),
133 . FX1(MVSIZ), FX2(MVSIZ), FX3(MVSIZ), FX4(MVSIZ),
134 . FY1(MVSIZ), FY2(MVSIZ), FY3(MVSIZ), FY4(MVSIZ),
135 . FZ1(MVSIZ), FZ2(MVSIZ), FZ3(MVSIZ), FZ4(MVSIZ),
137 . VX(MVSIZ), VY(MVSIZ), VZ(MVSIZ), VN(MVSIZ),
140 . fx, fy, fz, ft, fn, ftn,
141 . econtt, econvt,econtdt,
142 . fsav1, fsav2, fsav3, fsav4, fsav5, fsav6, fsav8,
143 . fsav9, fsav10, fsav11, fsav12, fsav13, fsav14, fsav15,
144 . vv,ax1,ax2,ay1,ay2,az1,az2,ax,ay,az,
area,p,vv1,vv2,dmu,
151 . st1(mvsiz),st2(mvsiz),st3(mvsiz),st4(mvsiz),stv(mvsiz),
152 . kt(mvsiz),c(mvsiz),cf(mvsiz),
153 . ks(mvsiz),k1(mvsiz),k2(mvsiz),k3(mvsiz),k4(mvsiz),
154 . cs(mvsiz),c1(mvsiz),c2(mvsiz),c3(mvsiz),c4(mvsiz),
175 cand_p(index(i))=
min(cand_p(index(i)),
176 . ( (one-fiveem2)*cand_p(index(i))
177 . +fiveem2*(pene(i)+fiveem2*
max(gapv(i)-pene(i),zero))) )
179 pene(i)=
max(zero,pene(i)-cand_p(index(i)))
180 IF( pene(i)==zero ) stif(i) = zero
185 cand_p(index(i))=
min(cand_p(index(i)),
186 . ((one-fiveem2)*cand_p(index(i))+fiveem2*pene(i)) )
188 pene(i)=
max(zero,pene(i)-cand_p(index(i)))
189 IF( pene(i)==zero ) stif(i) = zero
200 stif(i) = -stiglo*stif(i)
201 ELSEIF(stif(i)/=zero)
THEN
202 IF(stif(i)/=zero) stif(i) = stiglo
204 IF(stif(i)/=zero)stif(i)=
min(kmax,
max(kmin,stif(i)))
205 econtt = econtt + stif(i)*pene(i)**2
206 fni(i) = - stif(i) * pene(i)
216 vx(i) = vxi(i)-vxm(i)
217 vy(i) = vyi(i)-vym(i)
218 vz(i) = vzi(i)-vzm(i)
219 vn(i) = nx(i)*vx(i) + ny(i)*vy(i) + nz(i)*vz(i)
222 IF(kdtint==0.AND.(idtmins/=2.AND.idtmins_int==0))
THEN
224 vis = visc * sqrt(two * stif(i) * msi(i))
225 fni(i) = fni(i) + vis * vn(i)
226 econtdt = econtdt + vis * vn(i) * vn(i) * dt1
229 stif(i) = stif(i) + vis *dt1inv
233 c(i) = visc * sqrt(two * stif(i) * msi(i))
234 fni(i) = fni(i) + c(i) * vn(i)
235 econtdt= econtdt + c(i) * vn(i) * vn(i) * dt1
242 stif(i) = kt(i) + c(i) *dt1inv
270 fsav8 =fsav8 +abs(impx)
271 fsav9 =fsav9 +abs(impy)
272 fsav10=fsav10+abs(impz)
273 fsav11=fsav11+fni(i)*dt12
276 fsav(1)=fsav(1)+fsav1
277 fsav(2)=fsav(2)+fsav2
278 fsav(3)=fsav(3)+fsav3
279 fsav(8)=fsav(8)+fsav8
280 fsav(9)=fsav(9)+fsav9
281 fsav(10)=fsav(10)+fsav10
282 fsav(11)=fsav(11)+fsav11
283#include "lockoff.inc"
285 IF(isensint(1)/=0)
THEN
287 fsavparit(1,1,i+nft) = fxn(i)
288 fsavparit(1,2,i+nft) = fyn(i)
289 fsavparit(1,3,i+nft) = fzn(i)
293 IF((anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT>0.AND.
294 . ((tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP).OR.
295 . (manim>=4.AND.manim<=15).OR.h3d_data%MH3D/=0))
296 . .OR.h3d_data%N_VECT_PCONT_MAX>0)
THEN
300 fncont(1,ix1(i)) =fncont(1,ix1(i)) + fxn(i)*h1(i)
301 fncont(2,ix1(i)) =fncont(2,ix1(i)) + fyn(i)*h1(i)
302 fncont(3,ix1(i)) =fncont(3,ix1(i)) + fzn(i)*h1(i)
303 fncont(1,ix2(i)) =fncont(1,ix2(i)) + fxn(i)*h2(i)
304 fncont(2,ix2(i)) =fncont(2,ix2(i)) + fyn(i)*h2(i)
305 fncont(3,ix2(i)) =fncont(3,ix2(i)) + fzn(i)*h2(i)
306 fncont(1,ix3(i)) =fncont(1,ix3(i)) + fxn(i)*h3(i)
307 fncont(2,ix3(i)) =fncont(2,ix3(i)) + fyn(i)*h3(i)
308 fncont(3,ix3(i)) =fncont(3,ix3(i)) + fzn(i)*h3(i)
309 fncont(1,ix4(i)) =fncont(1,ix4(i)) + fxn(i)*h4(i)
310 fncont(2,ix4(i)) =fncont(2,ix4(i)) + fyn(i)*h4(i)
311 fncont(3,ix4(i)) =fncont(3,ix4(i)) + fzn(i)*h4(i)
315 fncont(1,jg)=fncont(1,jg)- fxn(i)
316 fncont(2,jg)=fncont(2,jg)- fyn(i)
317 fncont(3,jg)=fncont(3,jg)- fzn(i)
325#include "lockoff.inc"
336 ELSEIF (mfrot==1)
THEN
340 aa = nx(i)*vx(i) + ny(i)*vy(i) + nz(i)*vz(i)
341 v2 = (vx(i) - nx(i)*aa)**2
342 . + (vy(i) - ny(i)*aa)**2
343 . + (vz(i) - nz(i)*aa)**2
344 vv = sqrt(
max(em30,v2))
351 ax = ay1*az2 - az1*ay2
352 ay = az1*ax2 - ax1*az2
353 az = ax1*ay2 - ay1*ax2
354 area = half*sqrt(ax*ax+ay*ay+az*az)
357 . +(frot_p(2) + frot_p(3)*p) * vv + frot_p(5)*v2
358 xmu(i) =
max(xmu(i),em30)
364 aa = nx(i)*vx(i) + ny(i)*vy(i) + nz(i)*vz(i)
365 v2 = (vx(i) - nx(i)*aa)**2
366 . + (vy(i) - ny(i)*aa)**2
367 . + (vz(i) - nz(i)*aa)**2
368 vv = sqrt(
max(em30,v2))
375 ax = ay1*az2 - az1*ay2
376 ay = az1*ax2 - ax1*az2
377 az = ax1*ay2 - ay1*ax2
378 area = half*sqrt(ax*ax+ay*ay+az*az)
381 . + frot_p(1)*exp(frot_p(2)*vv)*p*p
382 . + frot_p(3)*exp(frot_p(4)*vv)*p
383 . + frot_p(5)*exp(frot_p(6)*vv)
384 xmu(i) =
max(xmu(i),em30)
386 ELSEIF (mfrot==3)
THEN
390 aa = nx(i)*vx(i) + ny(i)*vy(i) + nz(i)*vz(i)
391 v2 = (vx(i) - nx(i)*aa)**2
392 . + (vy(i) - ny(i)*aa)**2
393 . + (vz(i) - nz(i)*aa)**2
394 vv = sqrt(
max(em30,v2))
395 IF(vv>=0.AND.vv<=frot_p(5))
THEN
396 dmu = frot_p(3)-frot_p(1)
398 xmu(i) = frot_p(1)+ dmu*vv1*(two-vv1)
399 ELSEIF(vv>frot_p(5).AND.vv<frot_p(6))
THEN
400 dmu = frot_p(4)-frot_p(3)
401 vv1 = (vv - frot_p(5))/(frot_p(6)-frot_p(5))
402 xmu(i) = frot_p(3)+ dmu * (three-two*vv1)*vv1**2
404 dmu = frot_p(2)-frot_p(4)
405 vv2 = (vv - frot_p(6))**2
406 xmu(i) = frot_p(2) - dmu / (one + dmu*vv2)
408 xmu(i) =
max(xmu(i),em30)
413 aa = nx(i)*vx(i) + ny(i)*vy(i) + nz(i)*vz(i)
414 v2 = (vx(i) - nx(i)*aa)**2
415 . + (vy(i) - ny(i)*aa)**2
416 . + (vz(i) - nz(i)*aa)**2
417 vv = sqrt(
max(em30,v2))
419 . + (fric-frot_p(1))*exp(-frot_p(2)*vv)
420 xmu(i) =
max(xmu(i),em30)
442 fx = stif0(i)*vx(i)*dt12
443 fy = stif0(i)*vy(i)*dt12
444 fz = stif0(i)*vz(i)*dt12
445 fx = fxt(i) +
alpha*fx
446 fy = fyt(i) +
alpha*fy
447 fz = fzt(i) +
alpha*fz
448 ftn = fx*nx(i) + fy*ny(i) + fz*nz(i)
452 ft = fx*fx + fy*fy + fz*fz
455 beta =
min(one,xmu(i)*sqrt(fn/ft))
459 cand_fx(index(i)) = fxt(i)
460 cand_fy(index(i)) = fyt(i)
461 cand_fz(index(i)) = fzt(i)
463 fxi(i)=fxn(i) + fxt(i)
464 fyi(i)=fyn(i) + fyt(i)
465 fzi(i)=fzn(i) + fzt(i)
468 . + dt1*(vx(i)*fxt(i)+vy(i)*fyt(i)+vz(i)*fzt(i))
472 IF((anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT>0.AND.
473 . ((tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP).OR.
474 . (manim>=4.AND.manim<=15).OR.h3d_data%MH3D/=0))
475 . .OR.h3d_data%N_VECT_PCONT_MAX>0)
THEN
479 ftcont(1,ix1(i)) =ftcont(1,ix1(i)) + fxt(i)*h1(i)
480 ftcont(2,ix1(i)) =ftcont(2,ix1(i)) + fyt(i)*h1(i)
481 ftcont(3,ix1(i)) =ftcont(3,ix1(i)) + fzt(i)*h1(i)
482 ftcont(1,ix2(i)) =ftcont(1,ix2(i)) + fxt(i)*h2(i)
483 ftcont(2,ix2(i)) =ftcont(2,ix2(i)) + fyt(i)*h2(i)
484 ftcont(3,ix2(i)) =ftcont(3,ix2(i)) + fzt(i)*h2(i)
485 ftcont(1,ix3(i)) =ftcont(1,ix3(i)) + fxt(i)*h3(i)
486 ftcont(2,ix3(i)) =ftcont(2,ix3(i)) + fyt(i)*h3(i)
487 ftcont(3,ix3(i)) =ftcont(3,ix3(i)) + fzt(i)*h3(i)
488 ftcont(1,ix4(i)) =ftcont(1,ix4(i)) + fxt(i)*h4(i)
489 ftcont(2,ix4(i)) =ftcont(2,ix4(i)) + fyt(i)*h4(i)
490 ftcont(3,ix4(i)) =ftcont(3,ix4(i)) + fzt(i)*h4(i)
494 ftcont(1,jg)=ftcont(1,jg)- fxt(i)
495 ftcont(2,jg)=ftcont(2,jg)- fyt(i)
496 ftcont(3,jg)=ftcont(3,jg)- fzt(i)
504#include "lockoff.inc"
518 fsav12=fsav12+abs(impx)
519 fsav13=fsav13+abs(impy)
520 fsav14=fsav14+abs(impz)
521 fsav15=fsav15+sqrt(impx*impx+impy*impy+impz*impz)
524 fsav(4) = fsav(4) + fsav4
525 fsav(5) = fsav(5) + fsav5
526 fsav(6) = fsav(6) + fsav6
527 fsav(12) = fsav(12) + fsav12
528 fsav(13) = fsav(13) + fsav13
529 fsav(14) = fsav(14) + fsav14
530 fsav(15) = fsav(15) + fsav15
531 fsav(26) = fsav(26) + econtt
532 fsav(27) = fsav(27) + econvt
533 fsav(28) = fsav(28) + econtdt
534#include "lockoff.inc"
536 IF(isensint(1)/=0)
THEN
538 fsavparit(1,4,i+nft) = fxt(i)
539 fsavparit(1,5,i+nft) = fyt(i)
540 fsavparit(1,6,i+nft) = fzt(i)
546 econtv = econtv + econvt
547 econt = econt + econtt
548 econtd = econtd + econtdt
550#include "lockoff.inc"
563 cy = eight*msi(i)*kt(i)
564 aux = sqrt(cx+cy)+two*c(i)
565 stv(i)= kt(i)*aux*aux/
max(cy,em30)
576 k1(i)=kt(i)*abs(h1(i))
577 c1(i)=c(i)*abs(h1(i))
579 cy =eight*ms(j1)*k1(i)
580 aux = sqrt(cx+cy)+two*c1(i)
581 st1(i)= k1(i)*aux*aux/
max(cy,em30)
590 k2(i)=kt(i)*abs(h2(i))
591 c2(i)=c(i)*abs(h2(i))
593 cy =eight*ms(j1)*k2(i)
594 aux = sqrt(cx+cy)+two*c2(i)
595 st2(i)= k2(i)*aux*aux/
max(cy,em30)
604 k3(i)=kt(i)*abs(h3(i))
605 c3(i)=c(i)*abs(h3(i))
607 cy =eight*ms(j1)*k3(i)
608 aux = sqrt(cx+cy)+two*c3(i)
609 st3(i)= k3(i)*aux*aux/
max(cy,em30)
618 k4(i)=kt(i)*abs(h4(i))
619 c4(i)=c(i)*abs(h4(i))
621 cy =eight*ms(j1)*k4(i)
622 aux = sqrt(cx+cy)+two*c4(i)
623 st4(i)= k4(i)*aux*aux/
max(cy,em30)
632 k1(i) =stif(i)*abs(h1(i))
635 k2(i) =stif(i)*abs(h2(i))
638 k3(i) =stif(i)*abs(h3(i))
641 k4(i) =stif(i)*abs(h4(i))
671#include "mic_lockon.inc"
680#include "mic_lockoff.inc"
683 IF(idtmins==2.OR.idtmins_int/=0)
THEN
686 CALL i7sms2(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
687 2 nsvg ,h1 ,h2 ,h3 ,h4 ,stif ,
688 3 nin ,noint ,mskyi_sms, iskyi_sms,nsms ,
689 4 kt ,c ,cf ,dtmini,dti )
692 IF(idtmins_int/=0)
THEN
698 CALL i7ass3(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
699 2 nsvg ,h1 ,h2 ,h3 ,h4 ,stif ,
700 3 fx1 ,fy1 ,fz1 ,fx2 ,fy2 ,fz2 ,
701 4 fx3 ,fy3 ,fz3 ,fx4 ,fy4 ,fz4 ,
702 5 fxi ,fyi ,fzi ,a ,stifn)
704 CALL i7ass35(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
705 2 nsvg ,h1 ,h2 ,h3 ,h4 ,stif ,
706 3 fx1 ,fy1 ,fz1 ,fx2 ,fy2 ,fz2 ,
707 4 fx3 ,fy3 ,fz3 ,fx4 ,fy4 ,fz4 ,
708 5 fxi ,fyi ,fzi ,a ,stifn,viscn,
709 6 ks ,k1 ,k2 ,k3 ,k4 ,cs ,
712 ELSEIF(iparit==0)
THEN
714 CALL i7ass0(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
715 2 nsvg ,h1 ,h2 ,h3 ,h4 ,stif ,
716 3 fx1 ,fy1 ,fz1 ,fx2 ,fy2 ,fz2 ,
717 4 fx3 ,fy3 ,fz3 ,fx4 ,fy4 ,fz4 ,
718 5 fxi ,fyi ,fzi ,a ,stifn ,nin ,
719 6 intth ,rbid ,rbid ,rbid ,rbid ,rbid ,
720 7 rbid ,rbid ,rbid ,jtask,ibid ,ibid )
724 CALL i7ass05(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
725 2 nsvg ,h1 ,h2 ,h3 ,h4 ,
726 3 fx1 ,fy1 ,fz1 ,fx2 ,fy2 ,fz2 ,
727 4 fx3 ,fy3 ,fz3 ,fx4 ,fy4 ,fz4 ,
728 5 fxi ,fyi ,fzi ,a ,stifn ,viscn ,
729 6 ks ,k1 ,k2 ,k3 ,k4 ,cs ,
730 7 c1 ,c2 ,c3 ,c4 ,nin ,intth ,
731 8 rbid ,rbid ,rbid ,rbid ,rbid ,rbid ,
732 9 jtask ,rbid ,rbid ,ibid ,ibid )
737 CALL i7ass2(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
738 2 nsvg ,h1 ,h2 ,h3 ,h4 ,stif ,
739 3 fx1 ,fy1 ,fz1 ,fx2 ,fy2 ,fz2 ,
740 4 fx3 ,fy3 ,fz3 ,fx4 ,fy4 ,fz4 ,
741 5 fxi ,fyi ,fzi ,fskyi,isky ,niskyfi,
742 6 nin ,noint ,intth,rbid ,rbid ,rbid ,
743 7 rbid ,rbid ,rbid ,rbid ,rbid ,
746 CALL i7ass25(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
747 2 nsvg ,h1 ,h2 ,h3 ,h4 ,
748 3 fx1 ,fy1 ,fz1 ,fx2 ,fy2 ,fz2 ,
749 4 fx3 ,fy3 ,fz3 ,fx4 ,fy4 ,fz4 ,
750 5 fxi ,fyi ,fzi ,fskyi,niskyfi,nin ,
751 6 ks ,k1 ,k2 ,k3 ,k4 ,cs ,
752 7 c1 ,c2 ,c3 ,c4 ,isky ,noint ,
753 8 intth ,rbid ,rbid ,rbid ,rbid ,rbid ,
754 9 rbid ,rbid ,rbid ,ibid ,ibid )
759 IF(anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT >0.AND.
760 . ((tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP).OR.
761 . (manim>=4.AND.manim<=15).OR. h3d_data%MH3D /= 0))
THEN
765 fcont(1,ix1(i)) =fcont(1,ix1(i)) + fx1(i)
766 fcont(2,ix1(i)) =fcont(2,ix1(i)) + fy1(i)
767 fcont(3,ix1(i)) =fcont(3,ix1(i)) + fz1(i)
768 fcont(1,ix2(i)) =fcont(1,ix2(i)) + fx2(i)
769 fcont(2,ix2(i)) =fcont(2,ix2(i)) + fy2(i)
770 fcont(3,ix2(i)) =fcont(3,ix2(i)) + fz2(i)
771 fcont(1,ix3(i)) =fcont(1,ix3(i)) + fx3(i)
772 fcont(2,ix3(i)) =fcont(2,ix3(i)) + fy3(i)
773 fcont(3,ix3(i)) =fcont(3,ix3(i)) + fz3(i)
774 fcont(1,ix4(i)) =fcont(1,ix4(i)) + fx4(i)
775 fcont(2,ix4(i)) =fcont(2,ix4(i)) + fy4(i)
776 fcont(3,ix4(i)) =fcont(3,ix4(i)) + fz4(i)
780 fcont(1,jg)=fcont(1,jg)- fxi(i)
781 fcont(2,jg)=fcont(2,jg)- fyi(i)
782 fcont(3,jg)=fcont(3,jg)- fzi(i)
785#include "lockoff.inc"
789 IF(isecin>0.AND.inconv==1)
THEN
791 IF(nstrf(1)+nstrf(2)/=0)
THEN
796 IF(nstrf(k1s)==noint)
THEN
802 IF(secfcum(4,ix1(k),i)==1.)
THEN
803 secfcum(1,ix1(k),i)=secfcum(1,ix1(k),i)-fx1(k)
804 secfcum(2,ix1(k),i)=secfcum(2,ix1(k),i)-fy1(k)
805 secfcum(3,ix1(k),i)=secfcum(3,ix1(k),i)-fz1(k)
807 IF(secfcum(4,ix2(k),i)==1.)
THEN
808 secfcum(1,ix2(k),i)=secfcum(1,ix2(k),i)-fx2(k)
809 secfcum(2,ix2(k),i)=secfcum(2,ix2(k),i)-fy2(k)
810 secfcum(3,ix2(k),i)=secfcum(3,ix2(k),i)-fz2(k)
812 IF(secfcum(4,ix3(k),i)==1.)
THEN
813 secfcum(1,ix3(k),i)=secfcum(1,ix3(k),i)-fx3(k)
814 secfcum(2,ix3(k),i)=secfcum(2,ix3(k),i)-fy3(k)
815 secfcum(3,ix3(k),i)=secfcum(3,ix3(k),i)-fz3(k)
817 IF(secfcum(4,ix4(k),i)==1.)
THEN
818 secfcum(1,ix4(k),i)=secfcum(1,ix4(k),i)-fx4(k)
819 secfcum(2,ix4(k),i)=secfcum(2,ix4(k),i)-fy4(k)
820 secfcum(3,ix4(k),i)=secfcum(3,ix4(k),i)-fz4(k)
825 IF(secfcum(4,jg,i)==1.)
THEN
826 secfcum(1,jg,i)=secfcum(1,jg,i)+fxi(k)
827 secfcum(2,jg,i)=secfcum(2,jg,i)+fyi(k)
828 secfcum(3,jg,i)=secfcum(3,jg,i)+fzi(k)
832#include "lockoff.inc"
843 IF((ibag/=0).OR.(idamp_rdof/=0))
THEN
847 IF(fxi(i)/=zero.OR.fyi(i)/=zero.OR.fzi(i)/=zero)
THEN
864 IF(pene(i)==zero)
GOTO 400
866 ibcs = ibc - 8 * ibcm
871 CALL ibcoff(ibcs,icodt(ig))
876 CALL ibcoff(ibcm,icodt(ig))
878 CALL ibcoff(ibcm,icodt(ig))
880 CALL ibcoff(ibcm,icodt(ig))
882 CALL ibcoff(ibcm,icodt(ig))