41 SUBROUTINE i23for3(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 INTEGER JLT, IBC, INACTI, IBAG, NIN, NOINT, INTTH,JTASK,
96 . MFROT, IFQ, ICURV(3),
97 . ICODT(*), ITAB(*) ,ICONTACT(*),
98 . NISKYFI, ISECIN, NSTRF(*),NEWFRONT, ISKY(*), ISKYI_SMS(*)
99 INTEGER NSVG(MVSIZ),CAND_N_N(), WEIGHT(*),
100 . IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
101 . CN_LOC(MVSIZ), CE_LOC(MVSIZ), INDEX(*), NSMS(MVSIZ),
104 . STIGLO, CAND_P(*), FROT_P(*), FSAV(*), (LSKYI,4),
105 . ALPHA0, GAP, FRIC, VISC, KMIN, KMAX, DT2T, MSKYI_SMS(*)
107 . STIF(MVSIZ), GAPV(MVSIZ),
108 . VXI(MVSIZ),VYI(MVSIZ),VZI(MVSIZ),MSI(MVSIZ),
109 . X1(MVSIZ),Y1(MVSIZ),Z1(MVSIZ),
110 . (MVSIZ),Y2(MVSIZ),Z2(MVSIZ),
111 . (MVSIZ),Y3(MVSIZ),Z3(MVSIZ),
112 . X4(),Y4(MVSIZ),Z4(MVSIZ),
113 . XI(MVSIZ),(MVSIZ),ZI(MVSIZ),
114 . h1(mvsiz), h2(mvsiz), h3(mvsiz), h4(mvsiz),
115 . nx(mvsiz),ny(mvsiz),nz(mvsiz),pene(mvsiz),
116 . vxm(mvsiz), vym(mvsiz), vzm(mvsiz),
117 . fxt(mvsiz), fyt(mvsiz), fzt(mvsiz)
119 . a(3,*), v(3,*), ms(*),
120 . fcont(3,*), fncont(3,*),ftcont(3,*), stifn(*), viscn(*),
121 . secfcum(7,numnod,nsect),
122 . cand_fx(*), cand_fy(*), cand_fz(*),fsavparit(nisub+1,11,*)
127 INTEGER I, J1, IG, J, JG , K0,NBINTER,K1S,K,IL,IE, NN, NI,IBID,
128 . IRB(0:511),IRB2(0:511),NA1,NA2,IBCM,IBCS
130 . FXI(MVSIZ), FYI(MVSIZ), FZI(MVSIZ),FNI(),
131 . FXN(MVSIZ), FYN(MVSIZ), FZN(MVSIZ),
132 . FX1(MVSIZ), (MVSIZ), FX3(MVSIZ), FX4(MVSIZ),
133 . FY1(MVSIZ), FY2(MVSIZ), FY3(MVSIZ), FY4(MVSIZ),
134 . FZ1(MVSIZ), FZ2(MVSIZ), FZ3(MVSIZ), FZ4(MVSIZ),
136 . VX(MVSIZ), VY(MVSIZ), VZ(MVSIZ), VN(MVSIZ),
137 . vnx, vny, vnz, aa, s2, dist, rdist, dti,
138 . v2, ff,
alpha, beta,
139 . fx, fy, fz, ft, fn, fmax, ftn,
140 . econtt, econvt,econtdt,
141 . fsav1, fsav2, fsav3, fsav4, fsav5, fsav6, fsav7, fsav8,
142 . fsav9, fsav10, fsav11, fsav12, fsav13, fsav14, fsav15,
143 . vv,ax1,ax2,ay1,ay2,az1,az2,ax,ay,az,
area,p,vv1,vv2,dmu,
150 . st1(mvsiz),st2(mvsiz),st3(mvsiz),st4(mvsiz),stv(mvsiz),
151 . kt(mvsiz),c(mvsiz),cf(mvsiz),
152 . ks(mvsiz),k1(mvsiz),k2(mvsiz),k3(mvsiz),k4(mvsiz),
153 . cs(mvsiz),c1(mvsiz),c2(mvsiz),c3(mvsiz),c4(mvsiz),
154 . cx,cy,cfi,aux,dtmini
174 cand_p(index(i))=
min(cand_p(index(i)),
175 . ( (one-fiveem2)*cand_p(index(i))
176 . +fiveem2*(pene(i)+fiveem2*
max(gapv(i)-pene(i),zero))) )
178 pene(i)=
max(zero,pene(i)-cand_p(index(i)))
179 IF( pene(i)==zero ) stif(i) = zero
184 cand_p(index(i))=
min(cand_p(index(i)),
185 . ((one-fiveem2)*cand_p(index(i))+fiveem2*pene(i)) )
187 pene(i)=
max(zero,pene(i)-cand_p(index(i)))
188 IF( pene(i)==zero ) stif(i) = zero
199 stif(i) = -stiglo*stif(i)
200 ELSEIF(stif(i)/=zero)
THEN
201 IF(stif(i)/=zero) stif(i) = stiglo
203 IF(stif(i)/=zero)stif(i)=
min(kmax,
max(kmin,stif(i)))
204 econtt = econtt + stif(i)*pene(i)**2
205 fni(i) = - stif(i) * pene(i)
215 vx(i) = vxi(i)-vxm(i)
216 vy(i) = vyi(i)-vym(i)
217 vz(i) = vzi(i)-vzm(i)
218 vn(i) = nx(i)*vx(i) + ny(i)*vy(i) + nz(i)*vz(i)
221 IF(kdtint==0.AND.(idtmins/=2.AND.idtmins_int==0))
THEN
223 vis = visc * sqrt(two * stif(i) * msi(i))
224 fni(i) = fni(i) + vis * vn(i)
225 econtdt = econtdt + vis * vn(i) * vn(i) * dt1
228 stif(i) = stif(i) + vis *dt1inv
232 c(i) = visc * sqrt(two * stif(i) * msi(i))
233 fni(i) = fni(i) + c(i) * vn(i)
234 econtdt= econtdt + c(i) * vn(i) * vn(i) * dt1
241 stif(i) = kt(i) + c(i) *dt1inv
269 fsav8 =fsav8 +abs(impx)
270 fsav9 =fsav9 +abs(impy)
271 fsav10=fsav10+abs(impz)
272 fsav11=fsav11+fni(i)*dt12
275 fsav(1)=fsav(1)+fsav1
276 fsav(2)=fsav(2)+fsav2
277 fsav(3)=fsav(3)+fsav3
278 fsav(8)=fsav(8)+fsav8
279 fsav(9)=fsav(9)+fsav9
280 fsav(10)=fsav(10)+fsav10
281 fsav(11)=fsav(11)+fsav11
282#include "lockoff.inc"
284 IF(isensint(1)/=0)
THEN
286 fsavparit(1,1,i+nft) = fxn(i)
287 fsavparit(1,2,i+nft) = fyn(i)
288 fsavparit(1,3,i+nft) = fzn(i)
292 IF((anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT>0.AND.
293 . ((tt>=tanim .AND. tt<=tanim_stop).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP).OR.
294 . (manim>=4.AND.manim<=15).OR.h3d_data%MH3D/=0))
295 . .OR.h3d_data%N_VECT_PCONT_MAX>0)
THEN
299 fncont(1,ix1(i)) =fncont(1,ix1(i)) + fxn(i)*h1(i)
300 fncont(2,ix1(i)) =fncont(2,ix1(i)) + fyn(i)*h1(i)
301 fncont(3,ix1(i)) =fncont(3,ix1(i)) + fzn(i)*h1(i)
302 fncont(1,ix2(i)) =fncont(1,ix2(i)) + fxn(i)*h2(i)
303 fncont(2,ix2(i)) =fncont(2,ix2(i)) + fyn(i)*h2(i)
304 fncont(3,ix2(i)) =fncont(3,ix2(i)) + fzn(i)*h2(i)
305 fncont(1,ix3(i)) =fncont(1,ix3(i)) + fxn(i)*h3(i)
306 fncont(2,ix3(i)) =fncont(2,ix3(i)) + fyn(i)*h3(i)
307 fncont(3,ix3(i)) =fncont(3,ix3(i)) + fzn(i)*h3(i)
308 fncont(1,ix4(i)) =fncont(1,ix4(i)) + fxn(i)*h4
309 fncont(2,ix4(i)) =fncont(2,ix4(i)) + fyn(i)*h4(i)
310 fncont(3,ix4(i)) =fncont(3,ix4(i)) + fzn(i)*h4(i)
314 fncont(1,jg)=fncont(1,jg)- fxn(i)
315 fncont(2,jg)=fncont(2,jg)- fyn(i)
316 fncont(3,jg)=fncont(3,jg)- fzn(i)
324#include "lockoff.inc"
335 ELSEIF (mfrot==1)
THEN
339 aa = nx(i)*vx(i) + ny(i)*vy(i) + nz(i)*vz(i)
340 v2 = (vx(i) - nx(i)*aa)**2
341 . + (vy(i) - ny(i)*aa)**2
342 . + (vz(i) - nz(i)*aa)**2
343 vv = sqrt(
max(em30,v2))
350 ax = ay1*az2 - az1*ay2
351 ay = az1*ax2 - ax1*az2
352 az = ax1*ay2 - ay1*ax2
353 area = half*sqrt(ax*ax+ay*ay+az*az)
355 xmu(i) = fric + (frot_p(1) + frot_p(4)*p ) * p
356 . +(frot_p(2) + frot_p(3)*p) * vv + frot_p(5)*v2
357 xmu(i) =
max(xmu(i),em30)
363 aa = nx(i)*vx(i) + ny(i)*vy(i) + nz(i)*vz(i)
364 v2 = (vx(i) - nx(i)*aa)**2
365 . + (vy(i) - ny(i)*aa)**2
366 . + (vz(i) - nz(i)*aa)**2
367 vv = sqrt(
max(em30,v2))
374 ax = ay1*az2 - az1*ay2
375 ay = az1*ax2 - ax1*az2
376 az = ax1*ay2 - ay1*ax2
377 area = half*sqrt(ax*ax+ay*ay+az*az)
380 . + frot_p(1)*exp(frot_p(2)*vv)*p*p
381 . + frot_p(3)*exp(frot_p(4)*vv)*p
382 . + frot_p(5)*exp(frot_p(6)*vv)
383 xmu(i) =
max(xmu(i),em30)
385 ELSEIF (mfrot==3)
THEN
389 aa = nx(i)*vx(i) + ny(i)*vy(i) + nz(i)*vz(i)
390 v2 = (vx(i) - nx(i)*aa)**2
391 . + (vy(i) - ny(i)*aa)**2
392 . + (vz(i) - nz(i)*aa)**2
393 vv = sqrt(
max(em30,v2))
394 IF(vv>=0.AND.vv<=frot_p(5))
THEN
395 dmu = frot_p(3)-frot_p(1)
397 xmu(i) = frot_p(1)+ dmu*vv1*(two-vv1)
398 ELSEIF(vv>frot_p(5).AND.vv<frot_p(6))
THEN
399 dmu = frot_p(4)-frot_p(3)
400 vv1 = (vv - frot_p(5))/(frot_p(6)-frot_p(5))
401 xmu(i) = frot_p(3)+ dmu * (three-two*vv1)*vv1**2
403 dmu = frot_p(2)-frot_p(4)
404 vv2 = (vv - frot_p(6))**2
405 xmu(i) = frot_p(2) - dmu / (one + dmu*vv2)
407 xmu(i) =
max(xmu(i),em30)
412 aa = nx(i)*vx(i) + ny(i)*vy(i) + nz(i)*vz(i)
413 v2 = (vx(i) - nx(i)*aa)**2
414 . + (vy(i) - ny(i)*aa)**2
415 . + (vz(i) - nz(i)*aa)**2
416 vv = sqrt(
max(em30,v2))
418 . + (fric-frot_p(1))*exp(-frot_p(2)*vv)
419 xmu(i) =
max(xmu(i),em30)
441 fx = stif0(i)*vx(i)*dt12
442 fy = stif0(i)*vy(i)*dt12
443 fz = stif0(i)*vz(i)*dt12
444 fx = fxt(i) +
alpha*fx
445 fy = fyt(i) +
alpha*fy
446 fz = fzt(i) +
alpha*fz
447 ftn = fx*nx(i) + fy*ny(i) + fz*nz(i)
451 ft = fx*fx + fy*fy + fz*fz
454 beta =
min(one,xmu(i)*sqrt(fn/ft))
458 cand_fx(index(i)) = fxt(i)
459 cand_fy(index(i)) = fyt(i)
460 cand_fz(index(i)) = fzt(i)
462 fxi(i)=fxn(i) + fxt(i)
463 fyi(i)=fyn(i) + fyt(i)
464 fzi(i)=fzn(i) + fzt(i)
467 . + dt1*(vx(i)*fxt(i)+vy(i)*fyt(i)+vz(i)*fzt(i))
471 IF((anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT>0.AND.
472 . ((tt>=tanim .AND. tt<=tanim_stop).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP).OR.
473 . (manim>=4.AND.manim<=15).OR.h3d_data%MH3D/=0))
474 . .OR.h3d_data%N_VECT_PCONT_MAX>0)
THEN
478 ftcont(1,ix1(i)) =ftcont(1,ix1(i)) + fxt(i)*h1(i)
479 ftcont(2,ix1(i)) =ftcont(2,ix1(i)) + fyt(i)*h1(i)
480 ftcont(3,ix1(i)) =ftcont(3,ix1(i)) + fzt(i)*h1(i)
481 ftcont(1,ix2(i)) =ftcont(1,ix2(i)) + fxt(i)*h2(i)
482 ftcont(2,ix2(i)) =ftcont(2,ix2(i)) + fyt(i)*h2(i)
483 ftcont(3,ix2(i)) =ftcont(3,ix2(i)) + fzt(i)*h2(i)
484 ftcont(1,ix3(i)) =ftcont(1,ix3(i)) + fxt(i)*h3(i)
485 ftcont(2,ix3(i)) =ftcont(2,ix3(i)) + fyt(i)*h3(i)
486 ftcont(3,ix3(i)) =ftcont(3,ix3(i)) + fzt(i)*h3(i)
487 ftcont(1,ix4(i)) =ftcont(1,ix4(i)) + fxt(i)*h4(i)
488 ftcont(2,ix4(i)) =ftcont(2,ix4(i)) + fyt(i)*h4(i)
489 ftcont(3,ix4(i)) =ftcont(3,ix4(i)) + fzt(i)*h4(i)
493 ftcont(1,jg)=ftcont(1,jg)- fxt(i)
494 ftcont(2,jg)=ftcont(2,jg)- fyt(i)
495 ftcont(3,jg)=ftcont(3,jg)- fzt(i)
503#include "lockoff.inc"
517 fsav12=fsav12+abs(impx)
518 fsav13=fsav13+abs(impy)
519 fsav14=fsav14+abs(impz)
520 fsav15=fsav15+sqrt(impx*impx+impy*impy+impz*impz)
523 fsav(4) = fsav(4) + fsav4
524 fsav(5) = fsav(5) + fsav5
525 fsav(6) = fsav(6) + fsav6
526 fsav(12) = fsav(12) + fsav12
527 fsav(13) = fsav(13) + fsav13
528 fsav(14) = fsav(14) + fsav14
529 fsav(15) = fsav(15) + fsav15
530 fsav(26) = fsav(26) + econtt
531 fsav(27) = fsav(27) + econvt
532 fsav(28) = fsav(28) + econtdt
533#include "lockoff.inc"
535 IF(isensint(1)/=0)
THEN
537 fsavparit(1,4,i+nft) = fxt(i)
538 fsavparit(1,5,i+nft) = fyt(i)
539 fsavparit(1,6,i+nft) = fzt(i)
545 econtv = econtv + econvt
546 econt = econt + econtt
547 econtd = econtd + econtdt
549#include "lockoff.inc"
562 cy = eight*msi(i)*kt(i)
563 aux = sqrt(cx+cy)+two*c(i)
564 stv(i)= kt(i)*aux*aux/
max(cy,em30)
575 k1(i)=kt(i)*abs(h1(i))
576 c1(i)=c(i)*abs(h1(i))
578 cy =eight*ms(j1)*k1(i)
579 aux = sqrt(cx+cy)+two*c1(i)
580 st1(i)= k1(i)*aux*aux/
max(cy,em30)
589 k2(i)=kt(i)*abs(h2(i))
590 c2(i)=c(i)*abs(h2(i))
592 cy =eight*ms(j1)*k2(i)
593 aux = sqrt(cx+cy)+two*c2(i)
594 st2(i)= k2(i)*aux*aux/
max(cy,em30)
603 k3(i)=kt(i)*abs(h3(i))
604 c3(i)=c(i)*abs(h3(i))
606 cy =eight*ms(j1)*k3(i)
607 aux = sqrt(cx+cy)+two*c3(i)
608 st3(i)= k3(i)*aux*aux/
max(cy,em30)
617 k4(i)=kt(i)*abs(h4(i))
618 c4(i)=c(i)*abs(h4(i))
620 cy =eight*ms(j1)*k4(i)
621 aux = sqrt(cx+cy)+two*c4(i)
622 st4(i)= k4(i)*aux*aux/
max(cy,em30)
631 k1(i) =stif(i)*abs(h1(i))
634 k2(i) =stif(i)*abs(h2(i))
637 k3(i) =stif(i)*abs(h3(i))
640 k4(i) =stif(i)*abs(h4(i))
670#include "mic_lockon.inc"
679#include "mic_lockoff.inc"
682 IF(idtmins==2.OR.idtmins_int/=0)
THEN
685 CALL i7sms2(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
686 2 nsvg ,h1 ,h2 ,h3 ,h4 ,stif ,
687 3 nin ,noint ,mskyi_sms, iskyi_sms,nsms ,
688 4 kt ,c ,cf ,dtmini,dti )
691 IF(idtmins_int/=0)
THEN
697 CALL i7ass3(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
698 2 nsvg ,h1 ,h2 ,h3 ,h4 ,stif ,
700 4 fx3 ,fy3 ,fz3 ,fx4 ,fy4 ,fz4 ,
701 5 fxi ,fyi ,fzi ,a ,stifn)
703 CALL i7ass35(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
704 2 nsvg ,h1 ,h2 ,h3 ,h4 ,stif ,
705 3 fx1 ,fy1 ,fz1 ,fx2 ,fy2 ,fz2 ,
706 4 fx3 ,fy3 ,fz3 ,fx4 ,fy4 ,fz4 ,
707 5 fxi ,fyi ,fzi ,a ,stifn,viscn,
708 6 ks ,k1 ,k2 ,k3 ,k4 ,cs ,
711 ELSEIF(iparit==0)
THEN
713 CALL i7ass0(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
714 2 nsvg ,h1 ,h2 ,h3 ,h4 ,stif ,
715 3 fx1 ,fy1 ,fz1 ,fx2 ,fy2 ,fz2 ,
716 4 fx3 ,fy3 ,fz3 ,fx4 ,fy4 ,fz4 ,
717 5 fxi ,fyi ,fzi ,a ,stifn ,nin ,
718 6 intth ,rbid ,rbid ,rbid ,rbid ,rbid ,
719 7 rbid ,rbid ,rbid ,jtask,ibid ,ibid )
723 CALL i7ass05(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
724 2 nsvg ,h1 ,h2 ,h3 ,h4 ,
725 3 fx1 ,fy1 ,fz1 ,fx2 ,fy2 ,fz2 ,
726 4 fx3 ,fy3 ,fz3 ,fx4 ,fy4 ,fz4 ,
727 5 fxi ,fyi ,fzi ,a ,stifn ,viscn ,
728 6 ks ,k1 ,k2 ,k3 ,k4 ,cs ,
729 7 c1 ,c2 ,c3 ,c4 ,nin ,intth ,
730 8 rbid ,rbid ,rbid ,rbid ,rbid ,rbid ,
731 9 jtask ,rbid ,rbid ,ibid ,ibid )
736 CALL i7ass2(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
737 2 nsvg ,h1 ,h2 ,h3 ,h4 ,stif ,
738 3 fx1 ,fy1 ,fz1 ,fx2 ,fy2 ,fz2 ,
739 4 fx3 ,fy3 ,fz3 ,fx4 ,fy4 ,fz4 ,
740 5 fxi ,fyi ,fzi ,fskyi,isky ,niskyfi,
741 6 nin ,noint ,intth,rbid ,rbid ,rbid ,
742 7 rbid ,rbid ,rbid ,rbid ,rbid ,
745 CALL i7ass25(jlt ,ix1 ,ix2 ,ix3 ,ix4 ,
746 2 nsvg ,h1 ,h2 ,h3 ,h4 ,
747 3 fx1 ,fy1 ,fz1 ,fx2 ,fy2 ,fz2 ,
748 4 fx3 ,fy3 ,fz3 ,fx4 ,fy4 ,fz4 ,
749 5 fxi ,fyi ,fzi ,fskyi,niskyfi,nin ,
750 6 ks ,k1 ,k2 ,k3 ,k4 ,cs ,
751 7 c1 ,c2 ,c3 ,c4 ,isky ,noint ,
752 8 intth ,rbid ,rbid ,rbid ,rbid ,rbid ,
753 9 rbid ,rbid ,rbid ,ibid ,ibid )
758 IF(anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT >0.AND.
759 . ((tt>=tanim .AND. tt<=tanim_stop).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP).OR.
760 . (manim>=4.AND.manim<=15).OR. h3d_data%MH3D /= 0))
THEN
764 fcont(1,ix1(i)) =fcont(1,ix1(i)) + fx1(i)
765 fcont(2,ix1(i)) =fcont(2,ix1(i)) + fy1(i)
766 fcont(3,ix1(i)) =fcont(3,ix1(i)) + fz1(i)
767 fcont(1,ix2(i)) =fcont(1,ix2(i)) + fx2(i)
768 fcont(2,ix2(i)) =fcont(2,ix2(i)) + fy2(i)
769 fcont(3,ix2(i)) =fcont(3,ix2(i)) + fz2(i)
770 fcont(1,ix3(i)) =fcont(1,ix3(i)) + fx3(i)
771 fcont(2,ix3(i)) =fcont(2,ix3(i)) + fy3(i)
772 fcont(3,ix3(i)) =fcont(3,ix3(i)) + fz3(i)
773 fcont(1,ix4(i)) =fcont(1,ix4(i)) + fx4(i)
774 fcont(2,ix4(i)) =fcont(2,ix4(i)) + fy4(i)
775 fcont(3,ix4(i)) =fcont(3,ix4(i)) + fz4(i)
779 fcont(1,jg)=fcont(1,jg)- fxi(i)
780 fcont(2,jg)=fcont(2,jg)- fyi(i)
781 fcont(3,jg)=fcont(3,jg)- fzi(i)
784#include "lockoff.inc"
788 IF(isecin>0.AND.inconv==1)
THEN
790 IF(nstrf(1)+nstrf(2)/=0)
THEN
795 IF(nstrf(k1s)==noint)
THEN
801 IF(secfcum(4,ix1(k),i)==1.)
THEN
802 secfcum(1,ix1(k),i)=secfcum(1,ix1(k),i)-fx1(k)
803 secfcum(2,ix1(k),i)=secfcum(2,ix1(k),i)-fy1(k)
804 secfcum(3,ix1(k),i)=secfcum(3,ix1(k),i)-fz1(k)
806 IF(secfcum(4,ix2(k),i)==1.)
THEN
807 secfcum(1,ix2(k),i)=secfcum(1,ix2(k),i)-fx2(k)
808 secfcum(2,ix2(k),i)=secfcum(2,ix2(k),i)-fy2(k)
809 secfcum(3,ix2(k),i)=secfcum(3,ix2(k),i)-fz2(k)
811 IF(secfcum(4,ix3(k),i)==1.)
THEN
812 secfcum(1,ix3(k),i)=secfcum(1,ix3(k),i)-fx3(k)
813 secfcum(2,ix3(k),i)=secfcum(2,ix3(k),i)-fy3(k)
814 secfcum(3,ix3(k),i)=secfcum(3,ix3(k),i)-fz3(k)
816 IF(secfcum(4,ix4(k),i)==1.)
THEN
817 secfcum(1,ix4(k),i)=secfcum(1,ix4(k),i)-fx4(k)
818 secfcum(2,ix4(k),i)=secfcum(2,ix4(k),i)-fy4(k)
819 secfcum(3,ix4(k),i)=secfcum(3,ix4(k),i)-fz4(k)
824 IF(secfcum(4,jg,i)==1.)
THEN
825 secfcum(1,jg,i)=secfcum(1,jg,i)+fxi(k)
826 secfcum(2,jg,i)=secfcum(2,jg,i)+fyi(k)
827 secfcum(3,jg,i)=secfcum(3,jg,i)+fzi(k)
831#include "lockoff.inc"
842 IF((ibag/=0).OR.(idamp_rdof/=0))
THEN
846 IF(fxi(i)/=zero.OR.fyi(i)/=zero.OR.fzi(i)/=zero)
THEN
863 IF(pene(i)==zero)
GOTO 400
865 ibcs = ibc - 8 * ibcm
870 CALL ibcoff(ibcs,icodt(ig))
875 CALL ibcoff(ibcm,icodt(ig))
877 CALL ibcoff(ibcm,icodt(ig))
879 CALL ibcoff(ibcm,icodt(ig))
881 CALL ibcoff(ibcm,icodt(ig))