39 SUBROUTINE i25for3(OUTPUT, JLT ,A ,V ,IBCC ,ICODT ,
41 3 VISCF ,NOINT ,STFN ,ITAB ,CN_LOC ,
42 4 STIGLO ,STIFN ,STIF ,INACTI ,INDEX ,
43 5 N1 ,N2 ,N3 ,H1 ,H2 ,
44 6 H3 ,H4 ,FCONT ,PENE ,NRTM ,
45 7 IX1 ,IX2 ,IX3 ,IX4 ,NSVG ,
46 8 IVIS2 ,NELTST ,ITYPTST ,DT2T ,
47 A KINET ,NEWFRONT ,ISECIN ,NSTRF ,SECFCUM ,
48 B X ,IRECT ,CE_LOC ,MFROT ,IFQ ,
49 C SECND_FR ,ALPHA0 ,IBAG ,ICONTACT ,IRTLM ,
50 E VISCN ,VXI ,VYI ,VZI ,MSI ,
51 F KINI ,NIN ,NISUB ,LISUB ,ADDSUBS ,
52 G ADDSUBM ,LISUBS ,LISUBM ,INFLG_SUBS ,INFLG_SUBM,
53 H FSAVSUB ,ILAGM ,ICURV ,FNCONT ,FTCONT ,
55 J XI ,YI ,ZI ,ANGLMI ,PADM ,
56 K IADM ,RCURVI ,RCONTACT ,ACONTACT ,PCONTACT ,
57 N MSKYI_SMS ,ISKYI_SMS ,NSMS ,CAND_N_N ,PENE_OLD ,
58 O STIF_OLD ,MBINFLG ,ILEV ,IGSTI ,KMIN ,
59 P INTPLY ,NM1 ,NM2 ,NM3 ,
60 P MSEGTYP ,JTASK ,ISENSINT ,
61 T FSAVPARIT ,H3D_DATA ,FRICC ,VISCFFRIC ,FRIC_COEFS,
62 U GAPV ,VISCFLUID ,SIGMAXADH,VISCADHFACT, IF_ADH ,
63 V AREAS , BASE_ADH ,IORTHFRIC,FRIC_COEFS2,FRICC2 ,
64 W VISCFFRIC2 ,NFORTH ,NFISOT ,INDEXORTH , INDEXISOT,
65 B DIR1 ,DIR2 ,APINCH ,STIFPINCH ,FNI ,
66 C FX1 ,FY1 ,FZ1 ,FX2 ,FY2 ,
67 D FZ2 ,FX3 ,FY3 ,FZ3 ,FX4 ,
68 E FY4 ,FZ4 ,FXI ,FYI ,FZI ,
69 C INTTH ,DRAD ,FHEATS ,FHEATM ,QFRIC ,
70 D EFRICT ,TAGNCONT ,KLOADPINTER,LOADPINTER,LOADP_HYD_INTER,
71 E TYPSUB ,NCFIT ,NINLOADP ,DGAPLOADINT,S_LOADPINTER,
72 F DIST ,DGAPLOADPMAX,INTEREFRIC,INTCAREA,PARAMETERS)
85#include "implicit_f.inc"
100#include "scr11_c.inc"
101#include "scr14_c.inc"
102#include "scr16_c.inc"
103#include "scr18_c.inc"
105#include "param_c.inc"
106#include "impl1_c.inc"
110 TYPE(output_) ,
INTENT(INOUT) :: OUTPUT
111 INTEGER NELTST,ITYPTST,JLT,IBCC,IBCM,IBCS,IVIS2,INACTI,IBAG,NIN,
112 . nsn,iorthfric,nforth ,nfisot,
113 . icodt(*), itab(*), kinet(*),irtlm(4,nsn),
114 . mfrot, ifq, noint,newfront,isecin, nstrf(*),
115 . irect(4,*),icontact(*),
116 . kini(*),mbinflg(*),ilev,jtask,
118 . cand_n_n(*),intply,msegtyp(*),tagncont(nloadp_hyd_inter,numnod)
119 INTEGER IX1(), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
120 . CN_LOC(MVSIZ),CE_LOC(MVSIZ),INDEX(MVSIZ),NSVG(MVSIZ),
121 . NISUB, LISUB(*), ADDSUBS(*), ADDSUBM(*), LISUBS(*), LISUBM(*),
122 . (*), INFLG_SUBM(*), ILAGM, ICURV(3),
123 . ISKYI_SMS(*), NSMS(*),IGSTI,
124 . ISENSINT(*), IF_ADH(MVSIZ),
125 . INDEXORTH(MVSIZ) ,INDEXISOT(MVSIZ),TYPSUB(*),NCFIT
126 INTEGER ,
INTENT(IN) :: NINLOADP,S_LOADPINTER
127 INTEGER ,
INTENT(IN) :: KLOADPINTER(NINTER+1),LOADPINTER(S_LOADPINTER),
128 . LOADP_HYD_INTER(NLOADP_HYD)
129 INTEGER ,
INTENT(IN) :: INTEREFRIC, INTCAREA
132 . A(3,*), MS(*), V(3,*), FSAV(*),FCONT(3,*),
133 . SECND_FR(6,*),ALPHA0,
134 . VISC,VISCF,VIS,DT2T,STFN(*),STIFN(*),
135 . FSAVSUB(NTHVKI,*), FNCONT(3,*),FTCONT(3,*),
136 . MSKYI_SMS(*),KMIN, VISCFLUID, SIGMAXADH, VISCADHFACT,
137 . APINCH(3,*),STIFPINCH(*)
139 . FXI(MVSIZ), FYI(MVSIZ), FZI(MVSIZ), FNI(MVSIZ),
140 . FX1(MVSIZ), FX2(MVSIZ), FX3(), FX4(MVSIZ),
141 . FY1(MVSIZ), FY2(MVSIZ), FY3(MVSIZ), FY4(MVSIZ),
142 . FZ1(MVSIZ), FZ2(MVSIZ), FZ3(MVSIZ), FZ4(MVSIZ),
145 . secfcum(7,numnod,nsect),
148 . vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz),
149 . xx(mvsiz,5),yy(mvsiz,5),zz(mvsiz,5),
150 . xi(mvsiz),yi(mvsiz),zi(mvsiz),
151 . n1(mvsiz), n2(mvsiz), n3(mvsiz),
152 . h1(mvsiz), h2(mvsiz), h3(mvsiz), h4(mvsiz),
153 . nm1(mvsiz), nm2(mvsiz), nm3(mvsiz),
154 . fsavparit(nisub+1,11,*),fric_coefs(mvsiz,10), fricc(mvsiz),
155 . viscffric(mvsiz), gapv(mvsiz), areas(mvsiz), base_adh(mvsiz),
156 . fric_coefs2(mvsiz,10),fricc2(mvsiz),viscffric2(mvsiz), dir1(mvsiz,3),
157 . dir2(mvsiz,3), efrict(mvsiz) ,
158 . drad, fheats, fheatm, qfric
160 . rcurvi(*), rcontact(*), acontact(*),
161 . pcontact(*),padm, anglmi(*),
162 . pene_old(5,nsn),stif_old(2,nsn)
163 my_real ,
INTENT(IN) :: dgaploadpmax
164 my_real ,
INTENT(IN) :: dgaploadint(s_loadpinter)
165 my_real ,
INTENT(INOUT) :: dist(mvsiz)
167 TYPE (PARAMETERS_) ,
INTENT(IN):: PARAMETERS
171 INTEGER I, J1, IG, J, JG, K0, NBINTER, K1S, K, IE, NN,
173 . IGRN,ISS1,ISS2,IMS1,IMS2,PP,PPL,ITYPSUB
187 . VV,AX1,AX2,AY1,AY2,AZ1,AZ2,AX,AY,AZ,
188 . AREA,P,VV1,VV2,DMU ,
189 . CSA ,SNA ,ALPHAF ,FTT1 ,FTT2 ,QFRICT,
190 . (NFORTH) ,BN(NFORTH) ,NEP1 ,NEP2 ,NEP ,C11 , ,ANS ,EP,SIGNC
194 . st1(mvsiz),st2(mvsiz),st3(mvsiz),st4(mvsiz),stv(mvsiz),
195 . kt(mvsiz),c(mvsiz),cf(mvsiz),dpene(mvsiz),
196 . ks(mvsiz),k1(mvsiz),k2(mvsiz),k3(mvsiz),k4(mvsiz),
197 . cs(mvsiz),c1(mvsiz),c2(mvsiz),c3(mvsiz),c4(mvsiz),
199 . dtmini,stif0_imp(mvsiz),tiny,xmu2(mvsiz)
200 INTEGER JSUB,KSUB,JJ,KK,IN,NSUB
203 . FSAVSUB1(25,NISUB),IMPX,IMPY,IMPZ
205 . stifadh, factor , gapp, dgapload
232 efric_l(1:jlt) = zero
238 IF(pene(i) == zero.AND.intth == 0.AND.(ninloadp==0.OR.dgaploadpmax==zero))
THEN
244 ELSEIF(pene(i) == zero)
THEN
267 vx(i) = vxi(i) - h1(i)*v(1,ix1(i)) - h2(i)*v(1,ix2(i))
268 . - h3(i)*v(1,ix3(i)) - h4(i)*v(1,ix4(i))
269 vy(i) = vyi(i) - h1(i)*v(2,ix1(i)) - h2(i)*v(2,ix2(i))
270 . - h3(i)*v(2,ix3(i)) - h4(i)*v(2,ix4(i))
271 vz(i) = vzi(i) - h1(i)*v(3,ix1(i)) - h2(i)*v(3,ix2(i))
272 . - h3(i)*v(3,ix3(i)) - h4(i)*v(3,ix4(i))
273 vn(i) = n1(i)*vx(i) + n2(i)*vy(i) + n3(i)*vz(i)
283 IF(pene(i) == zero) cycle
285 dpene(i) =
max(zero,-vn(i)*dt1)
290 IF(pene(i) > pene_old(2,n) .AND.
291 . dpene(i) < pene(i)-pene_old(2,n))
THEN
292 stif(i) = (stif_old(2,n)*pene_old(2,n)+ stif(i)*dpene(i))
295 stif(i) = stif_old(2,n)
297 pene_old(1,n) = pene(i)
298 stif_old(1,n) = stif(i)
300 pene_old(1,n) =
max(pene_old(1,n),pene(i))
301 stif_old(1,n) =
max(stif_old(1,n),stif(i))
309 . dpene(i) < pene(i)-
pene_oldfi(nin)%P(2,jg))
THEN
311 . + stif(i)*dpene(i)) / pene(i)
332 IF(pene(i) == zero)cycle
334 IF(stiglo<=zero) stif(i) = half*stif(i)
335 fni(i)= -stif(i) * pene(i)
337 ELSEIF(ivis2/=-1)
THEN
339 IF(pene(i) == zero)cycle
341 stif(i) = half*stif(i)
342 ELSEIF(stif(i)/=zero)
THEN
345 fni(i)= -stif(i) * pene(i)
352 IF(pene(i) == zero) cycle
354 stif(i) = half*stif(i)
355 ELSEIF(stif(i)/=zero)
THEN
358 stifadh = sigmaxadh*areas(i)/
max(em30,base_adh(i))
359 IF(pene(i) < base_adh(i))
THEN
360 fni(i) = stifadh*if_adh(i)*(base_adh(i)-pene(i))
362 fni(i) = -stif(i)*(pene(i)-base_adh(i))
370 IF(pene(i) == zero)cycle
371 econtt = econtt+half*stif(i)*pene(i)**2
384 vis2(i) = two * stif(i) * msi(i)
387 IF(kdtint==0.AND.(idtmins
THEN
389 IF(pene(i) == zero)cycle
390 fac = stif(i) /
max(em30,stif(i))
392 ff(i) = fac * visc * vis
393 stif(i) = stif0(i) + ff(i) * dt1inv
394 stif(i) =
max(stif(i) ,fac*sqrt(viscffric(i))*vis*dt1inv)
395 ff(i) = ff(i) * vn(i)
396 fni(i) = fni(i) + ff(i)
400 IF(pene(i) == zero)cycle
401 fac = stif(i) /
max(em30,stif(i))
403 c(i)= fac * visc * vis
405 stif(i) = stif0(i) + c(i) * dt1inv
407 fni(i) = fni(i) + ff(i)
408 cf(i) = fac*sqrt(viscffric(i))*vis
409 stif(i) =
max(stif(i) ,cf(i)*dt1inv)
417 IF(pene(i) == zero)cycle
418 mas2 = ms(ix1(i))*h1(i)
422 vis2(i) = two* stif(i) * msi(i) * mas2 /
423 .
max(em30,msi(i)+mas2)
426 IF(kdtint==0.AND.(idtmins/=2.AND.idtmins_int==0))
THEN
428 IF(pene(i) == zero)cycle
429 fac = stif(i) /
max(em30
431 ff(i) = fac * visc * vis
432 stif(i) = stif0(i) + ff(i) * dt1inv
433 stif(i) =
max(stif(i) ,fac*sqrt(viscffric(i))*vis*dt1inv)
434 ff(i) = ff(i) * vn(i)
435 fni(i) = fni(i) + ff(i)
439 IF(pene(i) == zero)cycle
440 fac = stif(i) /
max(em30,stif(i))
444 stif(i) = stif(i) + c(i) * dt1inv
446 fni(i) = fni(i) + ff(i)
447 cf(i) = fac*sqrt(viscffric(i))*vis
448 stif(i) =
max(stif(i) ,cf(i)*dt1inv)
456 IF(pene(i) == zero)cycle
457 vis2(i) = two* stif(i) * msi(i)
458 fac = stif(i) /
max(em30,stif(i))
460 ff(i) = fac * visc * vis
461 stif(i) = stif0(i) + two * ff(i) * dt1inv
462 stif(i) =
max(stif(i) ,fac*sqrt(viscffric(i))*vis*dt1inv)
463 ff(i) = ff(i) * vn(i)
464 fni(i) = fni(i) + ff(i)
471 IF(pene(i) == zero)cycle
472 vis2(i) = two * stif(i) * msi(i)
473 fac = stif(i) /
max(em30,stif(i))
475 ff(i) = fac * visc * vis
476 stif(i) = stif0(i) + two* ff(i) * dt1inv
477 stif(i) =
max(stif(i) ,fac*sqrt(viscffric(i))*vis*dt1inv)
479 fni(i) = fni(i) + ff(i)
486 IF(pene(i) == zero)cycle
488 vis2(i) = two* stif(i) * msi(i)
490 stif(i) =
max(stif0(i) ,fac*sqrt(viscffric(i))*vis*dt1inv)
499 IF(pene(i) == zero)cycle
501 mas2 = ms(ix1(i))*h1(i)
505 vis2(i) = two* stif(i) * msi(i)
506 vis = 2. * visc * dt1inv * msi(i) * mas2 /
507 .
max(em30,msi(i)+mas2)
508 stif(i) =
max(stif0(i) ,fac*sqrt(viscffric(i)*vis2(i))*dt1inv)
509 ff(i) =
min(zero,ff(i)-fni(i))
510 fni(i) = fni(i)+ff(i)
512 ELSEIF(ivis2==-1)
THEN
517 IF(pene(i) == zero)cycle
518 mas2 = ms(ix1(i))*h1(i)
522 vis2(i) = two* stif(i) * msi(i) * mas2 /
523 .
max(em30,msi(i)+mas2)
526 IF(kdtint==0.AND.(idtmins/=2.AND.idtmins_int==0))
THEN
528 IF(pene(i) == zero)cycle
529 fac = stif(i) /
max(em30,stif(i))
531 stifadh = sigmaxadh*areas(i)/
max(em30,base_adh(i))
532 ff(i) = fac * visc * vis
533 stif(i) = stif0(i) + ff(i) * dt1inv
534 stif(i) =
max(stif(i), stifadh + ff(i) * dt1inv)
535 stif(i) =
max(stif(i),fac*viscadhfact*viscfluid
536 ff(i) = ff(i) * vn(i)
537 fni(i) = fni(i) + ff(i)
542 fac = stif(i) /
max(em30,stif(i))
544 stifadh = sigmaxadh*areas(i)/
max(em30,base_adh(i))
547 stif(i) = stif(i) + c(i) * dt1inv
549 fni(i) = fni(i) + ff(i)
550 cf(i) = fac*viscadhfact*viscfluid*two/gapv(i)*areas(i)
551 stif(i) =
max(stif(i), stifadh + c(i) * dt1inv)
552 stif(i) =
max(stif(i) ,cf(i)*dt1inv)
560 IF(viscffric(i)/=zero )
THEN
566 vis2(i) = two * stif(i) * msi(i)
569 IF(kdtint==0.AND.(idtmins/=2.AND.idtmins_int==0))
THEN
570 IF(pene(i) == zero)cycle
571 fac = stif(i) /
max(em30,stif(i))
573 ff(i) = fac * visc * vis
574 stif(i) = stif0(i) + ff(i) * dt1inv
575 stif(i) =
max(stif(i) ,fac*sqrt(viscffric(i))*vis*dt1inv)
576 ff(i) = ff(i) * vn(i)
577 fni(i) = fni(i) + ff(i)
579 IF(pene(i) == zero)cycle
580 fac = stif(i) /
max(em30,stif(i))
582 c(i)= fac * visc * vis
584 stif(i) = stif0(i) + c(i) * dt1inv
587 cf(i) = fac*sqrt(viscffric(i))*vis
588 stif(i) =
max(stif(i) ,cf(i)*dt1inv)
594 IF(pene(i) == zero)cycle
595 mas2 = ms(ix1(i))*h1(i)
599 vis2(i) = two* stif(i) * msi(i) * mas2 /
600 .
max(em30,msi(i)+mas2)
602 IF(kdtint==0.AND.(idtmins/=2.AND.idtmins_int==0))
THEN
603 IF(pene(i) == zero)cycle
604 fac = stif(i) /
max(em30,stif(i))
606 ff(i) = fac * visc * vis
607 stif(i) = stif0(i) + ff(i) * dt1inv
608 stif(i) =
max(stif(i) ,fac*sqrt(viscffric(i))*vis*dt1inv)
609 ff(i) = ff(i) * vn(i)
610 fni(i) = fni(i) + ff(i)
612 IF(pene(i) == zero)cycle
613 fac = stif(i) /
max(em30,stif(i))
615 c(i)= fac * visc * vis
617 stif(i) = stif(i) + c(i) * dt1inv
619 fni(i) = fni(i) + ff(i)
620 cf(i) = fac*sqrt(viscffric(i))*vis
621 stif(i) =
max(stif(i) ,cf(i)*dt1inv)
627 IF(pene(i) == zero)cycle
628 vis2(i) = two* stif(i) * msi(i)
629 fac = stif(i) /
max(em30,stif(i))
631 ff(i) = fac * visc * vis
632 stif(i) = stif0(i) + two * ff(i) * dt1inv
634 ff(i) = ff(i) * vn(i)
635 fni(i) = fni(i) + ff(i)
640 IF(pene(i) == zero)cycle
641 vis2(i) = two * stif(i) * msi(i)
642 fac = stif(i) /
max(em30,stif
644 ff(i) = fac * visc * vis
645 stif(i) = stif0(i) + two* ff(i) * dt1inv
646 stif(i) =
max(stif(i) ,fac*sqrt(viscffric(i))*vis*dt1inv)
647 ff(i) = ff(i) * vn(i)
648 fni(i) = fni(i) + ff(i)
653 IF(pene(i) == zero)cycle
654 fac = stif(i) /
max(em30,stif(i))
655 vis2(i) = two* stif(i) * msi(i)
657 stif(i) =
max(stif0(i) ,fac*sqrt(viscffric(i))*vis*dt1inv)
664 IF(pene(i) == zero)cycle
665 mas2 = ms(ix1(i))*h1(i)
669 vis2(i) = two* stif(i) * msi(i)
670 vis = 2. * visc * dt1inv * msi(i) * mas2 /
671 .
max(em30,msi(i)+mas2)
672 stif(i) =
max(stif0(i) ,fac*sqrt(viscffric(i)*vis2(i))*dt1inv)
674 ff(i) =
min(zero,ff(i)-fni(i))
675 fni(i) = fni(i)+ff(i)
690 IF(pene(i) == zero)cycle
694 econtdt = econtdt+pene_old(3,n)*vn(i)*dt1
695 pene_old(3,n) = half*ff(i)
696 econtdt = econtdt+pene_old(3,n)*vn(i)*dt1
699 econtdt = econtdt+
pene_oldfi(nin)%P(3,jg)*vn(i)*dt1
701 econtdt = econtdt+
pene_oldfi(nin)%P(3,jg)*vn(i)*dt1
716 IF(pene(i) == zero)cycle
718 ims2 = bitget(mbinflg(ie),1)
725 fsav8 =fsav8 +abs(impx)
726 fsav9 =fsav9 +abs(impy)
727 fsav10=fsav10+abs(impz)
732 fsav11=fsav11-fni(i)*dt12
737 fsav11=fsav11+fni(i)*dt12
739 IF(isensint(1)/=0)
THEN
741 fsavparit(1,1,i) = -fxi(i)
742 fsavparit(1,2,i) = -fyi(i)
743 fsavparit(1,3,i) = -fzi(i)
745 fsavparit(1,1,i) = fxi(i)
746 fsavparit(1,2,i) = fyi(i)
747 fsavparit(1,3,i) = fzi(i)
753 IF(pene(i) == zero)cycle
763 fsav8 =fsav8 +abs(impx)
764 fsav9 =fsav9 +abs(impy)
765 fsav10=fsav10+abs(impz)
766 fsav11=fsav11+fni(i)*dt12
767 IF(isensint(1)/=0)
THEN
768 fsavparit(1,1,i) = fxi(i)
769 fsavparit(1,2,i) = fyi(i)
770 fsavparit(1,3,i) = fzi(i)
775 fsav(1)=fsav(1)+fsav1
776 fsav(2)=fsav(2)+fsav2
777 fsav(3)=fsav(3)+fsav3
778 fsav(8)=fsav(8)+fsav8
779 fsav(9)=fsav(9)+fsav9
780 fsav(10)=fsav(10)+fsav10
781 fsav(11)=fsav(11)+fsav11
782#include "lockoff.inc"
785 IF((anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT>0.AND.
786 . ((tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP
787 . (manim>=4.AND.manim<=15).OR.h3d_data%MH3D/=0))
788 . .OR.h3d_data%N_VECT_PCONT_MAX>0)
THEN
792 IF(pene(i) == zero)cycle
793 fncont(1,ix1(i)) =fncont(1,ix1(i)) + fxi(i)*h1(i)
794 fncont(2,ix1(i)) =fncont(2,ix1(i)) + fyi(i)*h1(i)
796 fncont(1,ix2(i)) =fncont(1,ix2(i)) + fxi(i)*h2(i)
797 fncont(2,ix2(i)) =fncont(2,ix2(i)) + fyi(i)*h2(i)
798 fncont(3,ix2(i)) =fncont(3,ix2(i)) + fzi(i)*h2(i)
799 fncont(1,ix3(i)) =fncont(1,ix3(i)) + fxi(i)*h3(i)
800 fncont(2,ix3(i)) =fncont(2,ix3(i)) + fyi(i)*h3(i)
801 fncont(3,ix3(i)) =fncont(3,ix3(i)) + fzi(i)*h3(i)
802 fncont(1,ix4(i)) =fncont(1,ix4(i)) + fxi(i)*h4(i)
803 fncont(2,ix4(i)) =fncont(2,ix4(i)) + fyi(i)*h4(i)
804 fncont(3,ix4(i)) =fncont(3,ix4(i)) + fzi(i)*h4(i)
808 fncont(1,jg)=fncont(1,jg)- fxi(i)
809 fncont(2,jg)=fncont(2,jg)- fyi(i)
810 fncont(3,jg)=fncont(3,jg)- fzi(i)
818#include "lockoff.inc"
828 fsavsub1(j,jsub)=zero
832 IF(pene(i) == zero)cycle
837 IF (msegtyp(ce_loc(i)) < 0)
THEN
838 ie= - msegtyp(ce_loc(i))
842 IF(ie > nrtm) ie=ie-nrtm
846 DO WHILE(jj<addsubs(in+1))
849 itypsub = typsub(jsub)
850 IF(itypsub == 1 )
THEN
852 iss1 = bitget(inflg_subs(jj),0)
853 iss2 = bitget(inflg_subs(jj),1)
854 igrn = bitget(inflg_subs(jj),2)
856 DO WHILE((ksub<=jsub).AND.(kk<addsubm(ie+1)))
857 ims1 = bitget(inflg_subm(kk),0)
858 ims2 = bitget(inflg_subm(kk),1)
860 IF(.NOT.(((ims1 == 1 .OR. ims2 == 1) .AND. igrn == 1).OR.
861 . (ims1 == 1 .AND. iss2 == 1).OR.
862 . (ims2 == 1 .AND. iss1 == 1)))
THEN
872 fsavsub1(1,jsub)=fsavsub1(1,jsub)-impx
873 fsavsub1(2,jsub)=fsavsub1(2,jsub)-impy
874 fsavsub1(3,jsub)=fsavsub1(3,jsub)-impz
875 fsavsub1(11,jsub)=fsavsub1(11,jsub)-fni(i)*dt12
877 fsavsub1(1,jsub)=fsavsub1(1,jsub)+impx
878 fsavsub1(2,jsub)=fsavsub1(2,jsub)+impy
879 fsavsub1(3,jsub)=fsavsub1(3,jsub)+impz
880 fsavsub1(11,jsub)=fsavsub1(11,jsub)+fni(i)*dt12
883 IF(isensint(jsub+1)/=0)
THEN
885 fsavparit(jsub+1,1,i) = -fxi(i)
886 fsavparit(jsub+1,2,i) = -fyi(i)
887 fsavparit(jsub+1,3,i) = -fzi(i)
889 fsavparit(jsub+1,1,i) = fxi(i)
890 fsavparit(jsub+1,2,i) = fyi(i)
891 fsavparit(jsub+1,3,i) = fzi(i)
895 fsavsub1(8,jsub) =fsavsub1(8,jsub) +abs(impx)
896 fsavsub1(9,jsub) =fsavsub1(9,jsub) +abs(impy)
897 fsavsub1(10,jsub)=fsavsub1(10,jsub)+abs(impz)
905 ELSEIF(itypsub == 2 )
THEN
911 fsavsub1(1,jsub)=fsavsub1(1,jsub)+impx
912 fsavsub1(2,jsub)=fsavsub1(2,jsub)+impy
913 fsavsub1(3,jsub)=fsavsub1(3,jsub)+impz
915 fsavsub1(8,jsub) =fsavsub1(8,jsub) +abs(impx)
916 fsavsub1(9,jsub) =fsavsub1(9,jsub) +abs(impy)
917 fsavsub1(10,jsub)=fsavsub1(10,jsub)+abs(impz)
919 fsavsub1(11,jsub)=fsavsub1(11,jsub)+fni(i)*dt12
921 IF(isensint(jsub+1)/=0)
THEN
922 fsavparit(jsub+1,1,i) = fxi(i)
923 fsavparit(jsub+1,2,i) = fyi(i)
924 fsavparit(jsub+1,3,i) = fzi(i)
929 ELSEIF(itypsub == 3 )
THEN
931 iss2 = bitget(inflg_subs(jj),0)
932 iss1 = bitget(inflg_subs(jj),1)
934 DO WHILE((ksub<=jsub).AND.(kk<addsubm(ie+1)))
935 ims2 = bitget(inflg_subm(kk),0)
936 ims1 = bitget(inflg_subm(kk),1)
938 IF(.NOT.((ims1 == 1 .AND. iss2 == 1).OR.
939 . (ims2 == 1 .AND. iss1 == 1)))
THEN
951 fsavsub1(1,jsub)=fsavsub1(1,jsub)-impx
952 fsavsub1(2,jsub)=fsavsub1(2,jsub)-impy
953 fsavsub1(3,jsub)=fsavsub1(3,jsub)-impz
954 fsavsub1(11,jsub)=fsavsub1(11,jsub)-fni(i)*dt12
956 fsavsub1(1,jsub)=fsavsub1(1,jsub)+impx
957 fsavsub1(2,jsub)=fsavsub1(2,jsub)+impy
958 fsavsub1(3,jsub)=fsavsub1(3,jsub)+impz
959 fsavsub1(11,jsub)=fsavsub1(11,jsub)+fni(i)*dt12
962 fsavsub1(8,jsub) =fsavsub1(8,jsub) +abs(impx)
963 fsavsub1(9,jsub) =fsavsub1(9,jsub) +abs(impy)
964 fsavsub1(10,jsub)=fsavsub1(10,jsub)+abs(impz)
967 IF(isensint(jsub+1)/=0)
THEN
969 fsavparit(jsub+1,1,i) = -fxi(i)
970 fsavparit(jsub+1,2,i) = -fyi(i)
971 fsavparit(jsub+1,3,i) = -fzi(i)
973 fsavparit(jsub+1,1,i) = fxi(i)
974 fsavparit(jsub+1,2,i) = fyi(i)
975 fsavparit(jsub+1,3,i) = fzi(i)
990 IF (msegtyp(ce_loc(i)) < 0)
THEN
991 ie= - msegtyp(ce_loc(i))
995 IF(ie > nrtm) ie=ie-nrtm
998 DO WHILE(kk<addsubm(ie+1))
1001 itypsub = typsub(ksub)
1002 IF(itypsub == 2 )
THEN
1008 fsavsub1(1,ksub)=fsavsub1(1,ksub)+impx
1009 fsavsub1(2,ksub)=fsavsub1(2,ksub)+impy
1010 fsavsub1(3,ksub)=fsavsub1(3,ksub)+impz
1012 fsavsub1(8,ksub) =fsavsub1(8,ksub) +abs(impx)
1013 fsavsub1(9,ksub) =fsavsub1(9,ksub) +abs(impy)
1014 fsavsub1(10,ksub)=fsavsub1(10,ksub)+abs(impz)
1016 fsavsub1(11,ksub)=fsavsub1(11,ksub)-fni(i)*dt12
1018 IF(isensint(ksub+1)/=0)
THEN
1020 fsavparit(ksub+1,2,i) = -fyi(i)
1021 fsavparit(ksub+1,3,i) = -fzi(i)
1032 IF(pene(i) == zero)cycle
1037 IF (msegtyp(ce_loc(i)) < 0)
THEN
1038 ie= - msegtyp(ce_loc(i))
1042 IF(ie > nrtm) ie=ie-nrtm
1048 itypsub = typsub(jsub)
1049 IF(itypsub == 1 )
THEN
1055 DO WHILE((ksub<=jsub).AND.(kk<addsubm(ie+1)))
1056 ims1 = bitget(inflg_subm(kk),0)
1057 ims2 = bitget(inflg_subm(kk),1)
1059 IF(.NOT.(((ims1 == 1 .OR. ims2 == 1) .AND. igrn == 1).OR.
1060 . (ims1 == 1 .AND. iss2 == 1).OR.
1061 . (ims2 == 1 .AND. iss1 == 1)))
THEN
1071 fsavsub1(1,jsub)=fsavsub1(1,jsub)-impx
1072 fsavsub1(2,jsub)=fsavsub1(2,jsub)-impy
1073 fsavsub1(3,jsub)=fsavsub1(3,jsub)-impz
1074 fsavsub1(11,jsub)=fsavsub1(11,jsub)-fni(i)*dt12
1076 fsavsub1(1,jsub)=fsavsub1(1,jsub)+impx
1077 fsavsub1(2,jsub)=fsavsub1(2,jsub)+impy
1078 fsavsub1(3,jsub)=fsavsub1(3,jsub)+impz
1079 fsavsub1(11,jsub)=fsavsub1(11,jsub)+fni(i)*dt12
1082 IF(isensint(jsub+1)/=0)
THEN
1084 fsavparit(jsub+1,1,i) = -fxi(i)
1085 fsavparit(jsub+1,2,i) = -fyi(i)
1086 fsavparit(jsub+1,3,i) = -fzi(i)
1088 fsavparit(jsub+1,1,i) = fxi(i)
1089 fsavparit(jsub+1,2,i) = fyi(i)
1090 fsavparit(jsub+1,3,i) = fzi(i)
1094 fsavsub1(8,jsub) =fsavsub1(8,jsub) +abs(impx)
1095 fsavsub1(9,jsub) =fsavsub1(9,jsub) +abs(impy)
1096 fsavsub1(10,jsub)=fsavsub1(10,jsub)+abs(impz)
1104 ELSEIF(itypsub == 2 )
THEN
1110 fsavsub1(1,jsub)=fsavsub1(1,jsub)+impx
1111 fsavsub1(2,jsub)=fsavsub1(2,jsub)+impy
1112 fsavsub1(3,jsub)=fsavsub1(3,jsub)+impz
1114 fsavsub1(8,jsub) =fsavsub1(8,jsub) +abs(impx)
1115 fsavsub1(9,jsub) =fsavsub1(9,jsub) +abs(impy)
1116 fsavsub1(10,jsub)=fsavsub1(10,jsub)+abs(impz)
1118 fsavsub1(11,jsub)=fsavsub1(11,jsub)+fni(i)*dt12
1120 IF(isensint(jsub+1)/=0)
THEN
1121 fsavparit(jsub+1,1,i) = fxi(i)
1122 fsavparit(jsub+1,2,i) = fyi(i)
1123 fsavparit(jsub+1,3,i) = fzi(i)
1128 ELSEIF(itypsub == 3 )
THEN
1133 DO WHILE((ksub<=jsub).AND.(kk<addsubm(ie+1)))
1134 ims2 = bitget(inflg_subm(kk),0)
1135 ims1 = bitget(inflg_subm(kk),1)
1137 IF(.NOT.((ims1 == 1 .AND. iss2 == 1).OR.
1138 . (ims2 == 1 .AND. iss1 == 1)))
THEN
1149 fsavsub1(1,jsub)=fsavsub1(1,jsub)-impx
1150 fsavsub1(2,jsub)=fsavsub1(2,jsub)-impy
1151 fsavsub1(3,jsub)=fsavsub1(3,jsub)-impz
1152 fsavsub1(11,jsub)=fsavsub1(11,jsub)-fni(i)*dt12
1154 fsavsub1(1,jsub)=fsavsub1(1,jsub)+impx
1155 fsavsub1(2,jsub)=fsavsub1(2,jsub)+impy
1156 fsavsub1(3,jsub)=fsavsub1(3,jsub)+impz
1157 fsavsub1(11,jsub)=fsavsub1(11,jsub)+fni(i)*dt12
1160 IF(isensint(jsub+1)/=0)
THEN
1162 fsavparit(jsub+1,1,i) = -fxi(i)
1163 fsavparit(jsub+1,2,i) = -fyi(i)
1164 fsavparit(jsub+1,3,i) = -fzi(i)
1166 fsavparit(jsub+1,1,i) = fxi(i)
1167 fsavparit(jsub+1,2,i) = fyi(i)
1168 fsavparit(jsub+1,3,i) = fzi(i)
1172 fsavsub1(8,jsub) =fsavsub1(8,jsub) +abs(impx)
1173 fsavsub1(9,jsub) =fsavsub1(9,jsub) +abs(impy)
1174 fsavsub1(10,jsub)=fsavsub1(10,jsub)+abs(impz)
1191 IF(ninloadp > 0)
THEN
1192 DO k = kloadpinter(nin)+1, kloadpinter(nin+1)
1194 ppl = loadp_hyd_inter(pp)
1195 dgapload = dgaploadint(k)
1197 gapp= gapv(i) + dgapload
1198 IF(pene(i) > zero .OR.(dist(i) <= gapp))
THEN
1199 tagncont(ppl,ix1(i)) = 1
1200 tagncont(ppl,ix2(i)) = 1
1201 tagncont(ppl,ix3(i)) = 1
1202 tagncont(ppl,ix4(i)) = 1
1206 tagncont(ppl,jg) = 1
1223 IF(iorthfric == 0)
THEN
1231 ELSEIF (mfrot==1)
THEN
1235 IF(pene(i) == 0)
THEN
1239 aa = n1(i)*vx(i) + n2(i)*vy(i) + n3(i)*vz(i)
1240 v2 = (vx(i) - n1(i)*aa)**2
1241 . + (vy(i) - n2(i)*aa)**2
1242 . + (vz(i) - n3(i)*aa)**2
1243 vv = sqrt(
max(em30,v2))
1244 ax1 = x(1,irect(3,ie)) - x(1,irect(1,ie))
1245 ay1 = x(2,irect(3,ie)) - x(2,irect(1,ie))
1246 az1 = x(3,irect(3,ie)) - x(3,irect(1,ie))
1247 ax2 = x(1,irect(4,ie)) - x(1,irect(2,ie))
1248 ay2 = x(2,irect(4,ie)) - x(2,irect(2,ie))
1249 az2 = x(3,irect(4,ie)) - x(3,irect(2,ie))
1250 ax = ay1*az2 - az1*ay2
1251 ay = az1*ax2 - ax1*az2
1252 az = ax1*ay2 - ay1*ax2
1253 area = half*sqrt(ax*ax+ay*ay+az*az)
1255 xmu(i) = fricc(i) + (fric_coefs(i,1) + fric_coefs(i,4)*p ) * p
1256 . +(fric_coefs(i,2) + fric_coefs(i,3)*p) * vv + fric_coefs(i,5)*v2
1257 xmu(i) =
max(xmu(i),em30)
1259 ELSEIF(mfrot==2)
THEN
1263 IF(pene(i) == 0)
THEN
1267 aa = n1(i)*vx(i) + n2(i)*vy(i) + n3(i)*vz(i)
1268 v2 = (vx(i) - n1(i)*aa)**2
1269 . + (vy(i) - n2(i)*aa)**2
1270 . + (vz(i) - n3(i)*aa)**2
1271 vv = sqrt(
max(em30,v2))
1272 ax1 = x(1,irect(3,ie)) - x(1,irect(1,ie))
1273 ay1 = x(2,irect(3,ie)) - x(2,irect(1,ie))
1274 az1 = x(3,irect(3,ie)) - x(3,irect(1,ie))
1275 ax2 = x(1,irect(4,ie)) - x(1,irect(2,ie))
1276 ay2 = x(2,irect(4,ie)) - x(2,irect(2,ie))
1277 az2 = x(3,irect(4,ie)) - x(3,irect(2,ie))
1278 ax = ay1*az2 - az1*ay2
1279 ay = az1*ax2 - ax1*az2
1280 az = ax1*ay2 - ay1*ax2
1281 area = half*sqrt(ax*ax+ay*ay+az*az)
1284 . + fric_coefs(i,1)*exp(fric_coefs(i,2)*vv)*p*p
1285 . + fric_coefs(i,3)*exp(fric_coefs(i,4)*vv)*p
1286 . + fric_coefs(i,5)*exp(fric_coefs(i,6)*vv)
1287 xmu(i) =
max(xmu(i),em30)
1289 ELSEIF (mfrot==3)
THEN
1292 IF(pene(i) == 0)
THEN
1296 aa = n1(i)*vx(i) + n2(i)*vy(i) + n3(i)*vz(i)
1297 v2 = (vx(i) - n1(i)*aa)**2
1298 . + (vy(i) - n2(i)*aa)**2
1299 . + (vz(i) - n3(i)*aa)**2
1300 vv = sqrt(
max(em30,v2))
1301 IF(vv>=0.AND.vv<=fric_coefs(i,5))
THEN
1302 dmu = fric_coefs(i,3)-fric_coefs(i,1)
1303 vv1 = vv / fric_coefs(i,5)
1304 xmu(i) = fric_coefs(i,1)+ dmu*vv1*(two-vv1)
1305 ELSEIF(vv>fric_coefs(i,5).AND.vv<fric_coefs(i,6))
THEN
1306 dmu = fric_coefs(i,4)-fric_coefs(i,3)
1307 vv1 = (vv - fric_coefs(i,5))/(fric_coefs(i,6)-fric_coefs(i,5))
1308 xmu(i) = fric_coefs(i,3)+ dmu * (three-two*vv1)*vv1**2
1310 dmu = fric_coefs(i,2)-fric_coefs(i,4)
1311 vv2 = (vv - fric_coefs(i,6))**2
1312 xmu(i) = fric_coefs(i,2) - dmu / (one + dmu*vv2)
1314 xmu(i) =
max(xmu(i),em30)
1316 ELSEIF(mfrot==4)
THEN
1319 aa = n1(i)*vx(i) + n2(i)*vy(i) + n3(i)*vz(i)
1320 v2 = (vx(i) - n1(i)*aa)**2
1321 . + (vy(i) - n2(i)*aa)**2
1322 . + (vz(i) - n3(i)*aa)**2
1323 vv = sqrt(
max(em30,v2))
1324 xmu(i) = fric_coefs(i,1)
1325 . + (fricc(i)-fric_coefs(i,1))*exp(-fric_coefs(i,2)*vv)
1326 xmu(i) =
max(xmu(i),em30)
1335#include "vectorize.inc"
1340#include "vectorize.inc"
1345 IF(xmu(i)<=em30)
THEN
1353 IF(xmu2(i)<=em30)
THEN
1362 ELSEIF (mfrot==1)
THEN
1364#include "vectorize.inc"
1367 IF(pene(i) == 0)
THEN
1372 aa = n1(i)*vx(i) + n2(i)*vy(i) + n3(i)*vz(i)
1373 v2 = (vx(i) - n1(i)*aa)**2
1374 . + (vy(i) - n2(i)*aa)**2
1375 . + (vz(i) - n3(i)*aa)**2
1376 vv = sqrt(
max(em30,v2))
1378 ax1 = x(1,irect(3,ie)) - x(1,irect(1,ie))
1379 ay1 = x(2,irect(3,ie)) - x(2,irect(1,ie))
1380 az1 = x(3,irect(3,ie)) - x(3,irect(1,ie))
1381 ax2 = x(1,irect(4,ie)) - x(1,irect(2,ie))
1382 ay2 = x(2,irect(4,ie)) - x(2,irect(2,ie))
1383 az2 = x(3,irect(4,ie)) - x(3,irect(2,ie))
1384 ax = ay1*az2 - az1*ay2
1385 ay = az1*ax2 - ax1*az2
1386 az = ax1*ay2 - ay1*ax2
1387 area = half*sqrt(ax*ax+ay*ay+az*az)
1389 xmu(i) = fricc(i) + (fric_coefs(i,1) + fric_coefs(i,4)*p ) * p
1390 . +(fric_coefs(i,2) + fric_coefs(i,3)*p) * vv + fric_coefs(i,5)*v2
1392 xmu(i) =
max(xmu(i),em30)
1395#include "vectorize.inc"
1399 IF(pene(i) == 0)
THEN
1407 ax1 = x(1,irect(3,ie)) - x(1,irect(1,ie))
1408 ay1 = x(2,irect(3,ie)) - x(2,irect(1,ie))
1409 az1 = x(3,irect(3,ie)) - x(3,irect(1,ie))
1410 ax2 = x(1,irect(4,ie)) - x(1,irect(2,ie))
1411 ay2 = x(2,irect(4,ie)) - x(2,irect(2,ie))
1412 az2 = x(3,irect(4,ie)) - x(3,irect(2,ie))
1413 ax = ay1*az2 - az1*ay2
1414 ay = az1*ax2 - ax1*az2
1415 az = ax1*ay2 - ay1*ax2
1416 area = half*sqrt(ax*ax+ay*ay+az*az)
1419 v2 = vx(i)*dir1(k,1) +vy(i)*dir1(k,2)+vz(i)*dir1(k,3)
1421 xmu(i) = fricc(i) + (fric_coefs(i,1) + fric_coefs(i,4)*p ) * p
1422 . +(fric_coefs(i,2) + fric_coefs(i,3)*p) * vv + fric_coefs(i,5)*vv*vv
1424 v2 = vx(i)*dir2(k,1) +vy(i)*dir2(k,2)+vz(i)*dir2(k,3)
1426 xmu2(i) = fricc2(i) + (fric_coefs2(i,1) + fric_coefs2(i,4)*p ) * p
1427 . +(fric_coefs2(i,2) + fric_coefs2(i,3)*p) * vv + fric_coefs2(i,5)*vv*vv
1429 xmu(i) =
max(xmu(i),em30)
1430 xmu2(i) =
max(xmu2(i),em30)
1433#include "vectorize.inc"
1436 IF(xmu(i)<=em30)
THEN
1444 IF(xmu2(i)<=em30)
THEN
1454 ELSEIF(mfrot==2)
THEN
1456#include "vectorize.inc"
1459 IF(pene(i) == 0)
THEN
1465 aa = n1(i)*vx(i) + n2(i)*vy(i)
1466 v2 = (vx(i) - n1(i)*aa)**2
1467 . + (vy(i) - n2(i)*aa)**2
1468 . + (vz(i) - n3(i)*aa)**2
1469 vv = sqrt(
max(em30,v2))
1470 ax1 = x(1,irect(3,ie)) - x(1,irect(1,ie))
1471 ay1 = x(2,irect(3,ie)) - x(2,irect(1,ie))
1472 az1 = x(3,irect(3,ie)) - x(3,irect(1,ie))
1473 ax2 = x(1,irect(4,ie)) - x(1,irect(2,ie))
1474 ay2 = x(2,irect(4,ie)) - x(2,irect(2,ie))
1475 az2 = x(3,irect(4,ie)) - x(3,irect(2,ie))
1476 ax = ay1*az2 - az1*ay2
1477 ay = az1*ax2 - ax1*az2
1478 az = ax1*ay2 - ay1*ax2
1479 area = half*sqrt(ax*ax+ay*ay+az*az)
1482 . + fric_coefs(i,1)*exp(fric_coefs(i,2)*vv)*p*p
1483 . + fric_coefs(i,3)*exp(fric_coefs(i,4)*vv)*p
1484 . + fric_coefs(i,5)*exp(fric_coefs(i,6)*vv)
1485 xmu(i) =
max(xmu(i),em30)
1488#include "vectorize.inc"
1492 IF(pene(i) == 0)
THEN
1499 ax1 = x(1,irect(3,ie)) - x(1,irect(1,ie))
1500 ay1 = x(2,irect(3,ie)) - x(2,irect(1,ie))
1501 az1 = x(3,irect(3,ie)) - x(3,irect(1,ie))
1502 ax2 = x(1,irect(4,ie)) - x(1,irect(2,ie))
1503 ay2 = x(2,irect(4,ie)) - x(2,irect(2,ie))
1504 az2 = x(3,irect(4,ie)) - x(3,irect(2,ie))
1505 ax = ay1*az2 - az1*ay2
1506 ay = az1*ax2 - ax1*az2
1507 az = ax1*ay2 - ay1*ax2
1508 area = half*sqrt(ax*ax+ay*ay+az*az)
1511 v2 = vx(i)*dir1(k,1) +vy(i)*dir1(k,2)+vz(i)*dir1(k,3)
1514 . + fric_coefs(i,1)*exp(fric_coefs(i,2)*vv)*p*p
1515 . + fric_coefs(i,3)*exp(fric_coefs(i,4)*vv)*p
1516 . + fric_coefs(i,5)*exp(fric_coefs(i,6)*vv)
1518 v2 = vx(i)*dir2(k,1) +vy(i)*dir2(k,2)+vz(i)*dir2(k,3)
1521 . + fric_coefs2(i,1)*exp(fric_coefs2(i,2)*vv)*p*p
1522 . + fric_coefs2(i,3)*exp(fric_coefs2(i,4)*vv)*p
1523 . + fric_coefs2(i,5)*exp(fric_coefs2(i,6)*vv)
1525 xmu(i) =
max(xmu(i),em30)
1526 xmu2(i) =
max(xmu2(i),em30)
1529#include "vectorize.inc"
1532 IF(xmu(i)<=em30)
THEN
1540 IF(xmu2(i)<=em30)
THEN
1550 ELSEIF (mfrot==3)
THEN
1552#include "vectorize.inc"
1555 IF(pene(i) == 0)
THEN
1560 aa = n1(i)*vx(i) + n2(i)*vy(i) + n3(i)*vz(i)
1561 v2 = (vx(i) - n1(i)*aa)**2
1562 . + (vy(i) - n2(i)*aa)**2
1563 . + (vz(i) - n3(i)*aa)**2
1564 vv = sqrt(
max(em30,v2))
1565 IF(vv>=0.AND.vv<=fric_coefs(i,5))
THEN
1566 dmu = fric_coefs(i,3)-fric_coefs(i,1)
1567 vv1 = vv / fric_coefs(i,5)
1568 xmu(i) = fric_coefs(i,1)+ dmu*vv1*(two-vv1)
1569 ELSEIF(vv>fric_coefs(i,5).AND.vv<fric_coefs(i,6))
THEN
1570 dmu = fric_coefs(i,4)-fric_coefs(i,3)
1571 vv1 = (vv - fric_coefs(i,5))/(fric_coefs(i,6)-fric_coefs(i,5))
1572 xmu(i) = fric_coefs(i,3)+ dmu * (three-two*vv1)*vv1**2
1574 dmu = fric_coefs(i,2)-fric_coefs(i,4)
1575 vv2 = (vv - fric_coefs(i,6))**2
1576 xmu(i) = fric_coefs(i,2) - dmu / (one + dmu*vv2)
1578 xmu(i) =
max(xmu(i),em30)
1581#include "vectorize.inc"
1584 IF(pene(i) == 0)
THEN
1591 v2 = vx(i)*dir1(k,1) +vy(i)*dir1(k,2)+vz(i)*dir1(k,3)
1593 IF(vv>=0.AND.vv<=fric_coefs(i,5))
THEN
1594 dmu = fric_coefs(i,3)-fric_coefs(i,1)
1595 vv1 = vv / fric_coefs(i,5)
1596 xmu(i) = fric_coefs(i,1)+ dmu*vv1*(two-vv1)
1597 ELSEIF(vv>fric_coefs(i,5).AND.vv<fric_coefs(i,6))
THEN
1598 dmu = fric_coefs(i,4)-fric_coefs(i,3)
1599 vv1 = (vv - fric_coefs(i,5))/(fric_coefs(i,6)-fric_coefs(i,5))
1600 xmu(i) = fric_coefs(i,3)+ dmu * (three-two*vv1)*vv1**2
1602 dmu = fric_coefs(i,2)-fric_coefs(i,4)
1603 vv2 = (vv - fric_coefs(i,6))**2
1604 xmu(i) = fric_coefs(i,2) - dmu / (one + dmu*vv2)
1607 v2 = vx(i)*dir2(k,1) +vy(i)*dir2(k,2)+vz(i)*dir2(k,3)
1609 IF(vv>=0.AND.vv<=fric_coefs2(i,5))
THEN
1610 dmu = fric_coefs2(i,3)-fric_coefs2(i,1)
1611 vv1 = vv / fric_coefs2(i,5)
1612 xmu2(i) = fric_coefs2(i,1)+ dmu*vv1*(two-vv1)
1613 ELSEIF(vv>fric_coefs2(i,5).AND.vv<fric_coefs2(i,6))
THEN
1614 dmu = fric_coefs2(i,4)-fric_coefs2(i,3)
1615 vv1 = (vv - fric_coefs2(i,5))/(fric_coefs2(i,6)-fric_coefs2(i,5))
1616 xmu2(i) = fric_coefs2(i,3)+ dmu * (three-two*vv1)*vv1**2
1618 dmu = fric_coefs2(i,2)-fric_coefs2(i,4)
1619 vv2 = (vv - fric_coefs2(i,6))**2
1620 xmu2(i) = fric_coefs2(i,2) - dmu / (one + dmu*vv2)
1623 xmu(i) =
max(xmu(i),em30)
1624 xmu2(i) =
max(xmu2(i),em30)
1628#include "vectorize.inc"
1631 IF(xmu(i)<=em30)
THEN
1639 IF(xmu2(i)<=em30)
THEN
1649 ELSEIF(mfrot==4)
THEN
1651#include "vectorize.inc"
1654 IF(pene(i) == 0)
THEN
1659 aa = n1(i)*vx(i) + n2(i)*vy(i) + n3(i)*vz(i)
1660 v2 = (vx(i) - n1(i)*aa)**2
1661 . + (vy(i) - n2(i)*aa)**2
1662 . + (vz(i) - n3(i)*aa)**2
1663 vv = sqrt(
max(em30,v2))
1664 xmu(i) = fric_coefs(i,1)
1665 . + (fricc(i)-fric_coefs(i,1))*exp(-fric_coefs(i,2)*vv)
1666 xmu(i) =
max(xmu(i),em30)
1669#include "vectorize.inc"
1672 IF(pene(i) == 0)
THEN
1679 v2 = vx(i)*dir1(i,1) +vy(i)*dir1(i,2)+vz(i)*dir1(i,3)
1682 . + (fric_coefs(i,1)-fricc(i))*exp(-fric_coefs(i,2)*vv)
1684 v2 = vx(i)*dir2(i,1) +vy(i)*dir2(i,2)+vz(i)*dir2(i,3)
1686 xmu2(i) = fric_coefs2(i,1)
1687 . + (fricc2(i)-fric_coefs2(i,1))*exp(-fric_coefs2(i,2)*vv)
1688 xmu(i) =
max(xmu(i),em30)
1689 xmu2(i) =
max(xmu2(i),em30)
1692#include "vectorize.inc"
1695 IF(xmu(i)<=em30)
THEN
1703 IF(xmu2(i)<=em30)
THEN
1725 IF(pene(i)==zero)cycle
1733 factor = viscadhfact*viscfluid*two/gapv(i)*areas(i)
1734 fxt(i) = factor*vx(i)
1735 fyt(i) = factor*vy(i)
1736 fzt(i) = factor*vz(i)
1738 fxi(i) = fxi(i) + fxt(i)
1739 fyi(i) = fyi(i) + fyt(i)
1740 fzi(i) = fzi(i) + fzt(i)
1741 econtdt = econtdt + dt1*(vx(i)*fxt(i)+vy(i)*fyt(i)+vz(i)*fzt(i))
1749 alpha =
max(one,alpha0*dt12)
1754 IF(iorthfric ==0 )
THEN
1759 IF(pene(i) == zero)cycle
1760 fx = stif0(i)*vx(i)*dt12
1761 fy = stif0(i)*vy(i)*dt12
1762 fz = stif0(i)*vz(i)*dt12
1769 fx = secnd_fr(4,n) + alpha*fx
1770 fy = secnd_fr(5,n) + alpha*fy
1771 fz = secnd_fr(6,n) + alpha*fz
1772 ftn = fx*n1(i) + fy*n2(i) + fz*n3(i)
1776 ft = fx*fx + fy*fy + fz*fz
1778 fn = fxi(i)**2+fyi(i)**2+fzi(i)**2
1779 beta =
min(one,xmu(i)*sqrt(fn/ft))
1785 secnd_fr(1,n) = fxt(i)
1786 secnd_fr(2,n) = fyt(i)
1787 secnd_fr(3,n) = fzt(i)
1800 ftn = fx*n1(i) + fy*n2(i) + fz*n3(i)
1804 ft = fx*fx + fy*fy + fz*fz
1806 fn = fxi(i)**2+fyi(i)**2+fzi(i)**2
1807 beta =
min(one,xmu(i)*sqrt(fn/ft))
1820 fxi(i)=fxi(i) + fxt(i)
1821 fyi(i)=fyi(i) + fyt(i)
1822 fzi(i)=fzi(i) + fzt(i)
1824 IF( intth > 0 .AND.beta/=zero)
THEN
1825 efrict(i) = (fx-fxt(i))*fxt(i) + (fy-fyt(i))*fyt(i) +
1826 . (fz-fzt(i))*fzt(i)
1827 efrict(i) = efrict(i)/stif0(i)
1828 qfrict = qfrict + efrict(i)
1830 efric_l(i) = dt1*(vx(i)*fxt(i)+vy(i)*fyt(i)+vz(i)*fzt(i))
1831 econvt = econvt + efric_l(i)
1837 IF(pene(i) == zero)cycle
1838 fx = stif0(i)*vx(i)*dt12
1839 fy = stif0(i)*vy(i)*dt12
1840 fz = stif0(i)*vz(i)*dt12
1845 fx = secnd_fr(4,n) + alpha*fx
1846 fy = secnd_fr(5,n) + alpha*fy
1847 fz = secnd_fr(6,n) + alpha*fz
1848 ftn = fx*n1(i) + fy*n2(i) + fz*n3(i)
1852 ft = fx*fx + fy*fy + fz*fz
1854 fn = fxi(i)**2+fyi(i)**2+fzi(i)**2
1855 beta =
min(one,xmu(i)*sqrt(fn/ft))
1859 fxi(i)=fxi(i) + fxt(i)
1860 fyi(i)=fyi(i) + fyt(i)
1861 fzi(i)=fzi(i) + fzt(i)
1867 ftn = fx*n1(i) + fy*n2(i) + fz*n3(i)
1871 ft = fx*fx + fy*fy + fz*fz
1873 fn = fxi(i)**2+fyi(i)**2+fzi(i)**2
1874 beta =
min(one,xmu(i)*sqrt(fn/ft))
1878 fxi(i)=fxi(i) + fxt(i)
1879 fyi(i)=fyi(i) + fyt(i)
1880 fzi(i)=fzi(i) + fzt(i)
1891#include "vectorize.inc"
1894 IF(pene(i) == zero)cycle
1895 fx = stif0(i)*vx(i)*dt12
1896 fy = stif0(i)*vy(i)*dt12
1897 fz = stif0(i)*vz(i)*dt12
1904 fx = secnd_fr(4,n) + alpha*fx
1905 fy = secnd_fr(5,n) + alpha*fy
1906 fz = secnd_fr(6,n) + alpha*fz
1907 ftn = fx*n1(i) + fy*n2(i) + fz*n3(i)
1911 ft = fx*fx + fy*fy + fz*fz
1913 fn = fxi(i)**2+fyi(i)**2+fzi(i)**2
1914 beta =
min(one,xmu(i)*sqrt(fn/ft))
1919 secnd_fr(1,n) = fxt(i)
1920 secnd_fr(2,n) = fyt(i)
1921 secnd_fr(3,n) = fzt(i)
1933 ftn = fx*n1(i) + fy*n2(i) + fz*n3(i)
1937 ft = fx*fx + fy*fy + fz*fz
1939 fn = fxi(i)**2+fyi(i)**2+fzi(i)**2
1940 beta =
min(one,xmu(i)*sqrt(fn/ft))
1953 fxi(i)=fxi(i) + fxt(i)
1954 fyi(i)=fyi(i) + fyt(i)
1955 fzi(i)=fzi(i) + fzt(i)
1957 IF( intth > 0 .AND.beta/=zero)
THEN
1958 efrict(i) = (fx-fxt(i))*fxt(i) + (fy-fyt(i))*fyt(i) +
1959 . (fz-fzt(i))*fzt(i)
1960 efrict(i) = efrict(i)/stif0(i)
1961 qfrict = qfrict + efrict(i)
1963 efric_l(i) = dt1*(vx(i)*fxt(i)+vy(i)*fyt(i)+vz(i)*fzt(i))
1964 econvt = econvt + efric_l(i)
1968#include "vectorize.inc"
1971 IF(pene(i) == zero)cycle
1972 fx = stif0(i)*vx(i)*dt12
1973 fy = stif0(i)*vy(i)*dt12
1974 fz = stif0(i)*vz(i)*dt12
1981 fx = secnd_fr(4,n) + alpha*fx
1982 fy = secnd_fr(5,n) + alpha*fy
1983 fz = secnd_fr(6,n) + alpha*fz
1984 ftn = fx*n1(i) + fy*n2(i) + fz*n3(i)
1989 ftt1= fx*dir1(i,1) + fy*dir1(i,2) + fz*dir1(i,3)
1990 ftt2= fx*dir2(i,1) + fy*dir2(i,2) + fz*dir2(i,3)
1991 ft = ftt1*ftt1*an(k) + ftt2*ftt2*bn(k)
1993 fn = fxi(i)**2+fyi(i)**2+fzi(i)**2
2001 ELSEIF(beta > 1)
THEN
2011 nep =nep1*nep1+nep2*nep2
2014 ep=nep1*ftt1+nep2*ftt2
2016 ans=(ep-sqrt(ep))/
max(em20,nep)
2017 nep1 =nep1/
max(em20,nep)
2018 nep2 =nep2/
max(em20,nep)
2024 alphaf = atan(c22/c11)
2026 signc = ftt1/
max(em20,abs(ftt1))
2027 csa = signc*abs(cos(alphaf))
2028 signc = ftt2/
max(em20,abs(ftt2))
2029 sna = signc*abs(sin(alphaf))
2031 ft = sqrt(fn / (csa*csa*an(k) + sna*sna*bn(k)))
2035 fxt(i) = ftt1 * dir1(i,1) + ftt2 * dir2(i,1)
2036 fyt(i) = ftt1 * dir1(i,2) + ftt2 * dir2(i,2)
2037 fzt(i) = ftt1 * dir1(i,3) + ftt2 * dir2(i,3)
2041 secnd_fr(1,n) = fxt(i)
2042 secnd_fr(2,n) = fyt(i)
2043 secnd_fr(3,n) = fzt(i)
2055 ftn = fx*n1(i) + fy*n2(i) + fz*n3(i)
2060 ftt1= fx*dir1(i,1) + fy*dir1(i,2) + fz*dir1(i,3)
2061 ftt2= fx*dir2(i,1) + fy*dir2(i,2) + fz*dir2(i,3)
2062 ft = ftt1*ftt1*an(k) + ftt2*ftt2*bn(k)
2064 fn = fxi(i)**2+fyi(i)**2+fzi(i)**2
2072 ELSEIF(beta > 1)
THEN
2082 nep =nep1*nep1+nep2*nep2
2085 ep=nep1*ftt1+nep2*ftt2
2087 ans=(ep-sqrt(ep))/
max(em20,nep)
2088 nep1 =nep1/
max(em20,nep)
2089 nep2 =nep2/
max(em20,nep)
2095 alphaf = atan(c22/c11)
2097 signc = ftt1/
max(em20,abs(ftt1))
2098 csa = signc*abs(cos(alphaf))
2099 signc = ftt2/
max(em20,abs(ftt2))
2100 sna = signc*abs(sin(alphaf))
2102 ft = sqrt(fn / (csa*csa*an(k) + sna*sna*bn(k)))
2106 fxt(i) = ftt1 * dir1(i,1) + ftt2 * dir2(i,1)
2107 fyt(i) = ftt1 * dir1(i,2) + ftt2 * dir2(i,2)
2108 fzt(i) = ftt1 * dir1(i,3) + ftt2 * dir2(i,3)
2120 fxi(i)=fxi(i) + fxt(i)
2121 fyi(i)=fyi(i) + fyt(i)
2122 fzi(i)=fzi(i) + fzt(i)
2124 IF( intth > 0 .AND.beta/=zero)
THEN
2125 efrict(i) = (fx-fxt(i))*fxt(i) + (fy-fyt(i))*fyt(i) +
2126 . (fz-fzt(i))*fzt(i)
2127 efrict(i) = efrict(i)/stif0(i)
2128 qfrict = qfrict + efrict(i)
2130 efric_l(i) = dt1*(vx(i)*fxt(i)+vy(i)*fyt(i)+vz(i)*fzt(i))
2131 econvt = econvt + efric_l(i)
2136#include "vectorize.inc"
2139 IF(pene(i) == zero)cycle
2140 fx = stif0(i)*vx(i)*dt12
2141 fy = stif0(i)*vy(i)*dt12
2142 fz = stif0(i)*vz(i)*dt12
2147 fx = secnd_fr(4,n) + alpha*fx
2149 fz = secnd_fr(6,n) + alpha*fz
2150 ftn = fx*n1(i) + fy*n2(i) + fz*n3(i)
2154 ft = fx*fx + fy*fy + fz*fz
2156 fn = fxi(i)**2+fyi(i)**2+fzi(i)**2
2157 beta =
min(one,xmu(i)*sqrt(fn/ft))
2161 fxi(i)=fxi(i) + fxt(i)
2162 fyi(i)=fyi(i) + fyt(i)
2163 fzi(i)=fzi(i) + fzt(i)
2169 ftn = fx*n1(i) + fy*n2(i) + fz*n3(i)
2173 ft = fx*fx + fy*fy + fz*fz
2175 fn = fxi(i)**2+fyi(i)**2+fzi(i)**2
2176 beta =
min(one,xmu(i)*sqrt(fn/ft))
2180 fxi(i)=fxi(i) + fxt(i)
2181 fyi(i)=fyi(i) + fyt(i)
2182 fzi(i)=fzi(i) + fzt(i)
2187#include "vectorize.inc"
2190 IF(pene(i) == zero)cycle
2191 fx = stif0(i)*vx(i)*dt12
2192 fy = stif0(i)*vy(i)*dt12
2193 fz = stif0(i)*vz(i)*dt12
2198 fx = secnd_fr(4,n) + alpha*fx
2199 fy = secnd_fr(5,n) + alpha*fy
2200 fz = secnd_fr(6,n) + alpha*fz
2201 ftn = fx*n1(i) + fy*n2(i) + fz*n3(i)
2205 ftt1= fx*dir1(i,1) + fy*dir1(i,2) + fz*dir1(i,3)
2206 ftt2= fx*dir2(i,1) + fy*dir2(i,2) + fz*dir2(i,3)
2207 ft = ftt1*ftt1*an(k) + ftt2*ftt2*bn(k)
2209 fn = fxi(i)**2+fyi(i)**2+fzi(i)**2
2217 ELSEIF(beta > 1)
THEN
2227 nep =nep1*nep1+nep2*nep2
2230 ep=nep1*ftt1+nep2*ftt2
2232 ans=(ep-sqrt(ep))/
max(em20,nep)
2233 nep1 =nep1/
max(em20,nep)
2234 nep2 =nep2/
max(em20,nep)
2240 alphaf = atan(c22/c11)
2242 signc = ftt1/
max(em20,abs(ftt1))
2243 csa = signc*abs(cos(alphaf))
2244 signc = ftt2/
max(em20,abs(ftt2))
2245 sna = signc*abs(sin(alphaf))
2247 ft = sqrt(fn / (csa*csa*an(k) + sna*sna*bn(k)))
2251 fxt(i) = ftt1 * dir1(i,1) + ftt2 * dir2(i,1)
2252 fyt(i) = ftt1 * dir1(i,2) + ftt2 * dir2(i,2)
2253 fzt(i) = ftt1 * dir1(i,3) + ftt2 * dir2(i,3)
2256 fxi(i)=fxi(i) + fxt(i)
2257 fyi(i)=fyi(i) + fyt(i)
2258 fzi(i)=fzi(i) + fzt(i)
2264 ftn = fx*n1(i) + fy*n2(i) + fz*n3(i)
2268 ftt1= fx*dir1(i,1) + fy*dir1(i,2) + fz*dir1(i,3)
2269 ftt2= fx*dir2(i,1) + fy*dir2(i,2) + fz*dir2(i,3)
2270 ft = ftt1*ftt1*an(k) + ftt2*ftt2*bn(k)
2272 fn = fxi(i)**2+fyi(i)**2+fzi(i)**2
2280 ELSEIF(beta > 1)
THEN
2290 nep =nep1*nep1+nep2*nep2
2293 ep=nep1*ftt1+nep2*ftt2
2295 ans=(ep-sqrt(ep))/
max(em20,nep)
2296 nep1 =nep1/
max(em20,nep)
2297 nep2 =nep2/
max(em20,nep)
2303 alphaf = atan(c22/c11)
2305 signc = ftt1/
max(em20,abs(ftt1))
2306 csa = signc*abs(cos(alphaf))
2307 signc = ftt2/
max(em20,abs(ftt2))
2308 sna = signc*abs(sin(alphaf))
2310 ft = sqrt(fn / (csa*csa*an(k) + sna*sna*bn(k)))
2314 fxt(i) = ftt1 * dir1(i,1) + ftt2 * dir2(i,1)
2315 fyt(i) = ftt1 * dir1(i,2) + ftt2 * dir2(i,2)
2316 fzt(i) = ftt1 * dir1(i,3) + ftt2 * dir2(i,3)
2319 fxi(i)=fxi(i) + fxt(i)
2320 fyi(i)=fyi(i) + fyt(i)
2321 fzi(i)=fzi(i) + fzt(i)
2334 IF((anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT>0.AND.
2335 . ((tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP).OR.
2336 . (manim>=4.AND.manim<=15).OR.h3d_data%MH3D/=0))
2337 . .OR.h3d_data%N_VECT_PCONT_MAX>0)
THEN
2339#include "lockon.inc"
2341 IF(pene(i) == zero)cycle
2342 ftcont(1,ix1(i)) =ftcont(1,ix1(i)) + fxt(i)*h1(i)
2343 ftcont(2,ix1(i)) =ftcont(2,ix1(i)) + fyt(i)*h1(i)
2344 ftcont(3,ix1(i)) =ftcont(3,ix1(i)) + fzt(i)*h1(i)
2345 ftcont(1,ix2(i)) =ftcont(1,ix2(i)) + fxt(i)*h2(i)
2346 ftcont(2,ix2(i)) =ftcont(2,ix2(i)) + fyt(i)*h2(i)
2347 ftcont(3,ix2(i)) =ftcont(3,ix2(i)) + fzt(i)*h2(i)
2349 ftcont(2,ix3(i)) =ftcont(2,ix3(i)) + fyt(i)*h3(i)
2350 ftcont(3,ix3(i)) =ftcont(3,ix3(i)) + fzt(i)*h3(i)
2351 ftcont(1,ix4(i)) =ftcont(1,ix4(i)) + fxt(i)*h4(i)
2352 ftcont(2,ix4(i)) =ftcont(2,ix4(i)) + fyt(i)*h4(i)
2353 ftcont(3,ix4(i)) =ftcont(3,ix4(i)) + fzt(i)*h4(i)
2357 ftcont(1,jg)=ftcont(1,jg)- fxt(i)
2358 ftcont(2,jg)=ftcont(2,jg)- fyt(i)
2359 ftcont(3,jg)=ftcont(3,jg)- fzt(i)
2367#include "lockoff.inc"
2384 IF(pene(i) == zero)cycle
2394 fsav12=fsav12+abs(impx)
2395 fsav13=fsav13+abs(impy)
2396 fsav14=fsav14+abs(impz)
2397 fsav15=fsav15+sqrt(impx*impx+impy*impy+impz*impz)
2398 xp(i)=xi(i)+pene(i)*n1(i)
2399 yp(i)=yi(i)+pene(i)*n2(i)
2400 zp(i)=zi(i)+pene(i)*n3(i)
2401 fsav22=fsav22+yp(i)*impz-zp(i)*impy
2402 fsav23=fsav23+zp(i)*impx-xp(i)*impz
2403 fsav24=fsav24+xp(i)*impy-yp(i)*impx
2406 IF(intcarea > 0)
THEN
2408 IF(pene(i) == zero)cycle
2411 fsav29=fsav29+parameters%INTAREAN(jg)
2416#include "lockon.inc"
2417 fsav(4) = fsav(4) + fsav4
2418 fsav(5) = fsav(5) + fsav5
2419 fsav(6) = fsav(6) + fsav6
2420 fsav(12) = fsav(12) + fsav12
2421 fsav(13) = fsav(13) + fsav13
2422 fsav(14) = fsav(14) + fsav14
2423 fsav(15) = fsav(15) + fsav15
2424 fsav(22) = fsav(22) + fsav22
2425 fsav(23) = fsav(23) + fsav23
2426 fsav(24) = fsav(24) + fsav24
2427 fsav(25) = fsav(25) + (fheats+fheatm)*qfrict
2428 fsav(26) = fsav(26) + econtt
2429 fsav(27) = fsav(27) + econvt - (fheats+fheatm)*qfrict
2430 fsav(28) = fsav(28) + econtdt
2431 fsav(29) = fsav(29) + fsav29
2432#include "lockoff.inc"
2434 IF(isensint(1)/=0)
THEN
2436 IF(pene(i) == zero)cycle
2437 fsavparit(1,4,i) = fxt(i)
2438 fsavparit(1,5,i) = fyt(i)
2439 fsavparit(1,6,i) = fzt(i)
2448 IF(pene(i) == zero)cycle
2453 IF (msegtyp(ce_loc(i)) < 0)
THEN
2454 ie= - msegtyp(ce_loc(i))
2458 IF(ie > nrtm) ie=ie-nrtm
2463 DO WHILE(jj<addsubs(in+1))
2467 itypsub = typsub(jsub)
2468 IF(itypsub == 1 )
THEN
2471 iss1 = bitget(inflg_subs(jj),0)
2472 iss2 = bitget(inflg_subs(jj),1)
2473 igrn = bitget(inflg_subs(jj),2)
2475 DO WHILE((ksub<=jsub).AND.(kk<addsubm(ie+1)))
2476 ims1 = bitget(inflg_subm(kk),0)
2477 ims2 = bitget(inflg_subm(kk),1)
2480 IF(.NOT.(((ims1 == 1 .OR. ims2 == 1) .AND. igrn
2481 . (ims1 == 1 .AND. iss2 == 1).OR.
2482 . (ims2 == 1 .AND. iss1 == 1)))
THEN
2492 fsavsub1(5,jsub)=fsavsub1(5,jsub)+impy
2493 fsavsub1(6,jsub)=fsavsub1(6,jsub)+impz
2498 fsavsub1(12,jsub)=fsavsub1(12,jsub)+abs(impx)
2499 fsavsub1(13,jsub)=fsavsub1(13,jsub)+abs(impy)
2500 fsavsub1(14,jsub)=fsavsub1(14,jsub)+abs(impz)
2502 IF(isensint(jsub+1)/=0)
THEN
2503 fsavparit(jsub+1,4,i) = fxt(i)
2504 fsavparit(jsub+1,5,i) = fyt(i)
2505 fsavparit(jsub+1,6,i) = fzt(i)
2508 fsavsub1(15,jsub)= fsavsub1(15,jsub)
2509 . +sqrt(impx*impx+impy*impy+impz*impz)
2510 fsavsub1(22,jsub)=fsavsub1(22,jsub)
2511 . +yp(i)*impz-zp(i)*impy
2512 fsavsub1(23,jsub)=fsavsub1(23,jsub)
2513 . +zp(i)*impx-xp(i)*impz
2514 fsavsub1(24,jsub)=fsavsub1(24,jsub)
2515 . +xp(i)*impy-yp(i)*impx
2517 IF(parameters%INTCAREA > 0) fsavsub1(25,jsub) = fsavsub1(25,jsub
2525 ELSEIF(itypsub == 2 )
THEN
2531 fsavsub1(4,jsub)=fsavsub1(4,jsub)+impx
2532 fsavsub1(5,jsub)=fsavsub1(5,jsub)+impy
2533 fsavsub1(6,jsub)=fsavsub1(6,jsub)+impz
2538 fsavsub1(12,jsub)=fsavsub1(12,jsub)+abs(impx)
2539 fsavsub1(13,jsub)=fsavsub1(13,jsub)+abs(impy)
2540 fsavsub1(14,jsub)=fsavsub1(14,jsub)+abs(impz)
2542 IF(isensint(jsub+1)/=0)
THEN
2543 fsavparit(jsub+1,4,i) = fxt(i)
2544 fsavparit(jsub+1,5,i) = fyt(i)
2545 fsavparit(jsub+1,6,i) = fzt(i)
2548 fsavsub1(15,jsub)= fsavsub1(15,jsub)
2549 . +sqrt(impx*impx+impy*impy+impz*impz)
2550 fsavsub1(22,jsub)=fsavsub1(22,jsub)
2551 . +yp(i)*impz-zp(i)*impy
2552 fsavsub1(23,jsub)=fsavsub1(23,jsub)
2553 . +zp(i)*impx-xp(i)*impz
2554 fsavsub1(24,jsub)=fsavsub1(24,jsub)
2555 . +xp(i)*impy-yp(i)*impx
2557 IF(parameters%INTCAREA > 0) fsavsub1(25,jsub) = fsavsub1(25,jsub) + parameters%INTAREAN(nn)
2561 ELSEIF(itypsub == 3 )
THEN
2565 iss2 = bitget(inflg_subs(jj),0)
2566 iss1 = bitget(inflg_subs(jj),1)
2568 DO WHILE((ksub<=jsub).AND.(kk<addsubm(ie+1)))
2569 ims2 = bitget(inflg_subm(kk),0)
2570 ims1 = bitget(inflg_subm(kk),1)
2573 IF(.NOT.((ims1 == 1 .AND.
2574 . (ims2 == 1 .AND. iss1 == 1)))
THEN
2586 fsavsub1(4,jsub)=fsavsub1(4,jsub)-impx
2587 fsavsub1(5,jsub)=fsavsub1(5,jsub)-impy
2588 fsavsub1(6,jsub)=fsavsub1(6,jsub)-impz
2590 fsavsub1(4,jsub)=fsavsub1(4,jsub)+impx
2591 fsavsub1(5,jsub)=fsavsub1(5,jsub)+impy
2592 fsavsub1(6,jsub)=fsavsub1(6,jsub)+impz
2595 fsavsub1(12,jsub)=fsavsub1(12,jsub)+abs(impx
2596 fsavsub1(13,jsub)=fsavsub1(13,jsub)+abs(impy)
2597 fsavsub1(14,jsub)=fsavsub1(14,jsub)+abs(impz
2599 IF(isensint(jsub+1)/=0)
THEN
2601 fsavparit(jsub+1,4,i) = -fxt(i)
2602 fsavparit(jsub+1,5,i) = -fyt(i)
2603 fsavparit(jsub+1,6,i) = -fzt(i)
2605 fsavparit(jsub+1,4,i) = fxt(i)
2606 fsavparit(jsub+1,5,i) = fyt(i)
2607 fsavparit(jsub+1,6,i) =
2611 fsavsub1(15,jsub)= fsavsub1(15,jsub)
2612 . +sqrt(impx*impx+impy*impy
2613 fsavsub1(22,jsub)=fsavsub1(22,jsub)
2614 . +yp(i)*impz-zp(i)*impy
2615 fsavsub1(23,jsub)=fsavsub1(23,jsub)
2616 . +zp(i)*impx-xp(i)*impz
2617 fsavsub1(24,jsub)=fsavsub1(24,jsub)
2618 . +xp(i)*impy-yp(i)*impx
2620 IF(parameters%INTCAREA > 0) fsavsub1(25,jsub
2633 IF (msegtyp(ce_loc(i)) < 0)
THEN
2634 ie= - msegtyp(ce_loc(i))
2638 IF(ie > nrtm) ie=ie-nrtm
2641 DO WHILE(kk<addsubm(ie+1))
2645 itypsub = typsub(ksub)
2646 IF(itypsub == 2 )
THEN
2651 fsavsub1(4,ksub)=fsavsub1(4,ksub)+impx
2652 fsavsub1(5,ksub)=fsavsub1(5,ksub)+impy
2653 fsavsub1(6,ksub)=fsavsub1(6,ksub)+impz
2658 fsavsub1(12,ksub)=fsavsub1(12,ksub)+abs(impx)
2659 fsavsub1(13,ksub)=fsavsub1(13,ksub)+abs(impy)
2660 fsavsub1(14,ksub)=fsavsub1(14,ksub)+abs(impz)
2662 IF(isensint(ksub+1)/=0)
THEN
2663 fsavparit(ksub+1,4,i) = -fxt(i)
2664 fsavparit(ksub+1,5,i) = -fyt(i)
2665 fsavparit(ksub+1,6,i) = -fzt(i)
2668 fsavsub1(15,ksub)= fsavsub1(15,ksub)
2669 . +sqrt(impx*impx+impy*impy+impz*impz
2670 fsavsub1(22,ksub)=fsavsub1(22,ksub)
2671 . +yp(i)*impz-zp(i)*impy
2672 fsavsub1(23,ksub)=fsavsub1(23,ksub)
2673 . +zp(i)*impx-xp(i)*impz
2675 . +xp(i)*impy-yp(i)*impx
2677 IF(parameters%INTCAREA > 0)
THEN
2679 fsavsub1(25,ksub) = fsavsub1(25,ksub) + parameters%INTAREAN(nn)
2681 fsavsub1(25,ksub) = fsavsub1(25,ksub) +
intareanfi(nin)%P(-nn)
2694 IF(pene(i) == zero)cycle
2699 IF (msegtyp(ce_loc(i)) < 0)
THEN
2700 ie= - msegtyp(ce_loc(i))
2704 IF(ie > nrtm) ie=ie-nrtm
2710 itypsub = typsub(jsub)
2711 IF(itypsub == 1 )
THEN
2716 DO WHILE((ksub<=jsub).AND.(kk<addsubm(ie+1)))
2717 ims1 = bitget(inflg_subm(kk),0)
2718 ims2 = bitget(inflg_subm(kk),1)
2720 IF(.NOT.(((ims1 == 1 .OR. ims2 == 1) .AND. igrn == 1).OR.
2721 . (ims1 == 1 .AND. iss2 == 1).OR.
2722 . (ims2 == 1 .AND. iss1 == 1)))
THEN
2731 fsavsub1(4,jsub)=fsavsub1(4,jsub)+impx
2732 fsavsub1(5,jsub)=fsavsub1(5,jsub)+impy
2733 fsavsub1(6,jsub)=fsavsub1(6,jsub)+impz
2738 fsavsub1(12,jsub)=fsavsub1(12,jsub)+abs(impx)
2739 fsavsub1(13,jsub)=fsavsub1(13,jsub)+abs(impy)
2740 fsavsub1(14,jsub)=fsavsub1(14,jsub)+abs(impz)
2742 IF(isensint(jsub+1)/=0)
THEN
2743 fsavparit(jsub+1,4,i) = fxt(i)
2744 fsavparit(jsub+1,5,i) = fyt(i)
2745 fsavparit(jsub+1,6,i) = fzt(i)
2748 fsavsub1(15,jsub)= fsavsub1(15,jsub)
2749 . +sqrt(impx*impx+impy*impy+impz*impz)
2750 fsavsub1(22,jsub)=fsavsub1(22,jsub)
2751 . +yp(i)*impz-zp(i)*impy
2752 fsavsub1(23,jsub)=fsavsub1(23,jsub)
2753 . +zp(i)*impx-xp(i)*impz
2754 fsavsub1(24,jsub)=fsavsub1(24,jsub)
2755 . +xp(i)*impy-yp(i)*impx
2757 IF(parameters%INTCAREA > 0) fsavsub1(25,jsub) = fsavsub1(25,jsub) +
intareanfi(nin)%P(nn)
2765 ELSEIF(itypsub == 2 )
THEN
2771 fsavsub1(4,jsub)=fsavsub1
2772 fsavsub1(5,jsub)=fsavsub1(5,jsub
2773 fsavsub1(6,jsub)=fsavsub1(6,jsub)+impz
2778 fsavsub1(12,jsub)=fsavsub1(12,jsub)+abs(impx)
2779 fsavsub1(13,jsub)=fsavsub1(13,jsub)+abs(impy)
2780 fsavsub1(14,jsub)=fsavsub1(14,jsub)+abs(impz)
2782 IF(isensint(jsub+1)/=0)
THEN
2784 fsavparit(jsub+1,5,i) = fyt(i)
2785 fsavparit(jsub+1,6,i) = fzt(i)
2788 fsavsub1(15,jsub)= fsavsub1(15,jsub)
2789 . +sqrt(impx*impx+impy*impy+impz*impz)
2790 fsavsub1(22,jsub)=fsavsub1(22,jsub)
2792 fsavsub1(23,jsub)=fsavsub1(23,jsub)
2793 . +zp(i)*impx-xp(i)*impz
2794 fsavsub1(24,jsub)=fsavsub1(24,jsub)
2795 . +xp(i)*impy-yp(i)*impx
2797 IF(parameters%INTCAREA > 0) fsavsub1(25,jsub) = fsavsub1(25,jsub) +
intareanfi(nin)%P(nn)
2801 ELSEIF(itypsub == 3 )
THEN
2807 DO WHILE((ksub<=jsub).AND.(kk<addsubm(ie+1)))
2808 ims2 = bitget(inflg_subm(kk),0)
2809 ims1 = bitget(inflg_subm(kk),1)
2811 IF(.NOT.((ims1 == 1 .AND. iss2 == 1).OR.
2812 . (ims2 == 1 .AND. iss1 == 1)))
THEN
2823 fsavsub1(4,jsub)=fsavsub1(4,jsub)-impx
2824 fsavsub1(5,jsub)=fsavsub1(5,jsub)-impy
2825 fsavsub1(6,jsub)=fsavsub1(6,jsub)-impz
2827 fsavsub1(4,jsub)=fsavsub1(4,jsub)+impx
2828 fsavsub1(5,jsub)=fsavsub1(5,jsub)+impy
2829 fsavsub1(6,jsub)=fsavsub1(6,jsub)+impz
2836 fsavsub1(12,jsub)=fsavsub1(12,jsub)+abs(impx)
2837 fsavsub1(13,jsub)=fsavsub1(13,jsub)+abs(impy)
2838 fsavsub1(14,jsub)=fsavsub1(14,jsub)+abs(impz)
2840 IF(isensint(jsub+1)/=0)
THEN
2842 fsavparit(jsub+1,4,i) = -fxt(i)
2843 fsavparit(jsub+1,5,i) = -fyt(i)
2844 fsavparit(jsub+1,6,i) = -fzt(i)
2846 fsavparit(jsub+1,4,i) = fxt(i)
2847 fsavparit(jsub+1,5,i) = fyt(i)
2848 fsavparit(jsub+1,6,i) = fzt(i)
2852 fsavsub1(15,jsub)= fsavsub1(15,jsub)
2853 . +sqrt(impx*impx+impy*impy+impz*impz)
2854 fsavsub1(22,jsub)=fsavsub1(22,jsub)
2855 . +yp(i)*impz-zp(i)*impy
2856 fsavsub1(23,jsub)=fsavsub1(23,jsub)
2857 . +zp(i)*impx-xp(i)*impz
2858 fsavsub1(24,jsub)=fsavsub1(24,jsub)
2859 . +xp(i)*impy-yp(i)*impx
2861 IF(parameters%INTCAREA > 0) fsavsub1(25,jsub) = fsavsub1(25,jsub) +
intareanfi(nin)%P(nn)
2875#include "lockon.inc"
2879 fsavsub(j,nsub)=fsavsub(j,nsub)+fsavsub1(j,jsub)
2881 fsavsub(22,nsub)=fsavsub(22,nsub)+fsavsub1(22,jsub)
2882 fsavsub(23,nsub)=fsavsub(23,nsub)+fsavsub1(23,jsub)
2883 fsavsub(24,nsub)=fsavsub(24,nsub)+fsavsub1(24,jsub)
2884 IF(parameters%INTCAREA > 0) fsavsub(29,nsub)=fsavsub(29,nsub)+fsavsub1(25,jsub)
2886#include "lockoff.inc"
2889#include "lockon.inc"
2891 econtv = econtv + econvt
2892 econt = econt + econtt
2893 econtd = econtd + econtdt
2895 qfric = qfric + (fheats+fheatm)*qfrict
2896 econtv = econtv - (fheats+fheatm)*qfrict
2899#include "lockoff.inc"
2902 IF(interefric >0)
THEN
2904#include "lockon.inc"
2906 IF(pene(i) == zero)cycle
2907 efric_lm = half*efric_l(i)
2908 output%DATA%EFRIC(interefric,ix1(i)) = output%DATA%EFRIC(interefric,ix1(i)) + h1(i)*(efric_lm-fheatm*efrict(i))
2909 output%DATA%EFRIC(interefric,ix2(i)) = output%DATA%EFRIC(interefric,ix2(i)) + h2(i)*(efric_lm-fheatm*efrict(i))
2910 output%DATA%EFRIC(interefric,ix3(i)) = output%DATA%EFRIC(interefric,ix3(i)) + h3(i)*(efric_lm
2911 output%DATA%EFRIC(interefric,ix4(i)) = output%DATA%EFRIC(interefric,ix4(i)) + h4(i)*(efric_lm-fheatm*efrict(i))
2913 efric_ls = half*efric_l(i)
2915 output%DATA%EFRIC(interefric,jg) = output%DATA%EFRIC(interefric,jg) + (efric_ls-fheats*efrict(i))
2918 efricfi(nin)%P(jg)=
efricfi(nin)%P(jg)+ (efric_ls-fheats*efrict(i))
2921#include "lockoff.inc"
2925 IF(h3d_data%N_SCAL_CSE_FRIC >0)
THEN
2927#include "lockon.inc"
2929 IF(pene(i) == zero)cycle
2930 efric_lm = half*efric_l(i)
2931 output%DATA%EFRICG(ix1(i)) = output%DATA%EFRICG(ix1(i)) + h1(i)*(efric_lm-fheatm*efrict(i))
2932 output%DATA%EFRICG(ix2(i)) = output%DATA%EFRICG(ix2(i)) + h2(i)*(efric_lm-fheatm*efrict(i))
2933 output%DATA%EFRICG(ix3(i)) = output%DATA%EFRICG(ix3(i)) + h3(i)*(efric_lm-fheatm*efrict(i))
2934 output%DATA%EFRICG(ix4(i)) = output%DATA%EFRICG(ix4(i)) + h4(i)*(efric_lm-fheatm*efrict(i))
2936 efric_ls = half*efric_l(i)
2938 output%DATA%EFRICG(jg) = output%DATA%EFRICG(jg) + (efric_ls-fheats*efrict(i))
2944#include "lockoff.inc"
2950 . .AND.(ivis2==6.OR.ivis2==1))
THEN
2952 IF(pene(i) == zero)cycle
2955 IF(msi(i)==zero)
THEN
2961 cy = eight*msi(i)*kt(i)
2962 aux = sqrt(cx+cy)+two*c(i)
2963 stv(i)= kt(i)*aux*aux/
max(cy,em30)
2964 aux = two*cf(i)*cf(i)/
max(msi(i),em20)
2976 IF(ms(j1)==zero)
THEN
2981 k1(i)=kt(i)*abs(h1(i))
2982 c1(i)=c(i)*abs(h1(i))
2983 cx =four*c1(i)*c1(i)
2984 cy =eight*ms(j1)*k1(i)
2985 aux = sqrt(cx+cy)+two*c1(i)
2986 st1(i)= k1(i)*aux*aux/
max(cy,em30)
2987 cfi = cf(i)*abs(h1(i))
2988 aux = two*cfi*cfi/
max(ms(j1),em20)
2997 IF(ms(j1)==zero)
THEN
3002 k2(i)=kt(i)*abs(h2(i))
3003 c2(i)=c(i)*abs(h2(i))
3004 cx =four*c2(i)*c2(i)
3005 cy =eight*ms(j1)*k2(i)
3006 aux = sqrt(cx+cy)+two*c2(i)
3007 st2(i)= k2(i)*aux*aux/
max(cy,em30)
3008 cfi = cf(i)*abs(h2(i))
3009 aux = two*cfi*cfi/
max(ms(j1),em20)
3018 IF(ms(j1)==zero)
THEN
3023 k3(i)=kt(i)*abs(h3(i))
3024 c3(i)=c(i)*abs(h3(i))
3025 cx =four*c3(i)*c3(i)
3026 cy =eight*ms(j1)*k3(i)
3027 aux = sqrt(cx+cy)+two*c3(i)
3028 st3(i)= k3(i)*aux*aux/
max(cy,em30)
3029 cfi = cf(i)*abs(h3(i))
3030 aux = two*cfi*cfi/
max(ms(j1),em20)
3039 IF(ms(j1)==zero)
THEN
3045 c4(i)=c(i)*abs(h4(i))
3046 cx =four*c4(i)*c4(i)
3047 cy =eight*ms(j1)*k4(i)
3048 aux = sqrt(cx+cy)+two*c4(i)
3049 st4(i)= k4(i)*aux*aux/
max(cy,em30)
3050 cfi = cf(i)*abs(h4(i))
3051 aux = two*cfi*cfi/
max(ms(j1),em20)
3062 IF(viscffric(i)/=zero)
THEN
3063 IF(pene(i) == zero)cycle
3066 IF(msi(i)==zero)
THEN
3072 cy = eight*msi(i)*kt(i)
3073 aux = sqrt(cx+cy)+two*c(i)
3074 stv(i)= kt(i)*aux*aux/
max(cy,em30)
3075 aux = two*cf(i)*cf(i)/
max(msi(i),em20)
3087 IF(ms(j1)==zero)
THEN
3092 k1(i)=kt(i)*abs(h1(i))
3093 c1(i)=c(i)*abs(h1(i))
3095 cy =eight*ms(j1)*k1(i)
3096 aux = sqrt(cx+cy)+two*c1(i)
3097 st1(i)= k1(i)*aux*aux/
max(cy,em30)
3098 cfi = cf(i)*abs(h1(i))
3099 aux = two*cfi*cfi/
max(ms(j1),em20)
3108 IF(ms(j1)==zero)
THEN
3113 k2(i)=kt(i)*abs(h2(i))
3114 c2(i)=c(i)*abs(h2(i))
3115 cx =four*c2(i)*c2(i)
3116 cy =eight*ms(j1)*k2(i)
3117 aux = sqrt(cx+cy)+two*c2(i)
3118 st2(i)= k2(i)*aux*aux/
max(cy,em30)
3119 cfi = cf(i)*abs(h2(i))
3120 aux = two*cfi*cfi/
max(ms(j1),em20)
3129 IF(ms(j1)==zero)
THEN
3134 k3(i)=kt(i)*abs(h3(i))
3135 c3(i)=c(i)*abs(h3(i))
3136 cx =four*c3(i)*c3(i)
3137 cy =eight*ms(j1)*k3(i)
3138 aux = sqrt(cx+cy)+two*c3(i)
3139 st3(i)= k3(i)*aux*aux/
max(cy,em30)
3140 cfi = cf(i)*abs(h3(i))
3141 aux = two*cfi*cfi/
max(ms(j1),em20)
3150 IF(ms(j1)==zero)
THEN
3155 k4(i)=kt(i)*abs(h4(i))
3156 c4(i)=c(i)*abs(h4(i))
3157 cx =four*c4(i)*c4(i)
3158 cy =eight*ms(j1)*k4(i)
3159 aux = sqrt(cx+cy)+two*c4(i)
3160 st4(i)= k4(i)*aux*aux/
max(cy,em30)
3161 cfi = cf(i)*abs(h4(i))
3162 aux = two*cfi*cfi/
max(ms(j1),em20)
3172 IF(pene(i) == zero)cycle
3176 k1(i) =stif(i)*abs(h1(i))
3179 k2(i) =stif(i)*abs(h2(i))
3182 k3(i) =stif(i)*abs(h3(i))
3185 k4(i) =stif(i)*abs(h4(i))
3197 IF(pene(i) == zero)cycle
3221#include "mic_lockon.inc"
3224 IF(nn<0 .AND. h1(i)+h2(i)+h3(i)+h4(i)/=0)
THEN
3230#include "mic_lockoff.inc"
3233 IF(idtmins==2.OR.idtmins_int/=0)
THEN
3236 2 nsvg ,h1 ,h2 ,h3 ,h4 ,stif ,
3237 3 nin ,noint ,mskyi_sms, iskyi_sms,nsms ,
3238 4 kt ,c ,cf ,dtmini,dti )
3246 IF(idtmins_int/=0)
THEN
3254 IF(anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT>0)
THEN
3256#include "lockon.inc"
3258 IF(pene(i) == zero)cycle
3259 fcont(1,ix1(i)) =fcont(1,ix1(i)) + fx1(i)
3260 fcont(2,ix1(i)) =fcont(2,ix1(i)) + fy1(i)
3261 fcont(3,ix1(i)) =fcont(3,ix1(i)) + fz1(i)
3262 fcont(1,ix2(i)) =fcont(1,ix2(i)) + fx2(i)
3263 fcont(2,ix2(i)) =fcont(2,ix2(i)) + fy2(i)
3264 fcont(3,ix2(i)) =fcont(3,ix2(i)) + fz2(i)
3265 fcont(1,ix3(i)) =fcont(1,ix3(i)) + fx3(i)
3266 fcont(2,ix3(i)) =fcont(2,ix3(i)) + fy3(i)
3267 fcont(3,ix3(i)) =fcont(3,ix3(i)) + fz3(i)
3268 fcont(1,ix4(i)) =fcont(1,ix4(i)) + fx4(i)
3269 fcont(2,ix4(i)) =fcont(2,ix4(i)) + fy4(i)
3270 fcont(3,ix4(i)) =fcont(3,ix4(i)) + fz4(i)
3274 fcont(1,jg)=fcont(1,jg)- fxi(i)
3275 fcont(2,jg)=fcont(2,jg)- fyi(i)
3276 fcont(3,jg)=fcont(3,jg)- fzi(i)
3279#include "lockoff.inc"
3283 IF(isecin>0.AND.inconv==1)
THEN
3285 IF(nstrf(1)+nstrf(2)/=0)
THEN
3287 nbinter=nstrf(k0+14)
3290 IF(nstrf(k1s)==noint)
THEN
3292#include "lockon.inc"
3294 IF(pene(k) == zero)cycle
3297 IF(secfcum(4,ix1(k),i)==1.)
THEN
3298 secfcum(1,ix1(k),i)=secfcum(1,ix1(k),i)-fx1(k)
3299 secfcum(2,ix1(k),i)=secfcum(2,ix1(k),i)-fy1(k)
3300 secfcum(3,ix1(k),i)=secfcum(3,ix1(k),i)-fz1(k)
3302 IF(secfcum(4,ix2(k),i)==1.)
THEN
3303 secfcum(1,ix2(k),i)=secfcum(1,ix2(k),i)-fx2(k)
3304 secfcum(2,ix2(k),i)=secfcum(2,ix2(k),i)-fy2(k)
3305 secfcum(3,ix2(k),i)=secfcum(3,ix2(k),i)-fz2(k)
3307 IF(secfcum(4,ix3(k),i)==1.)
THEN
3308 secfcum(1,ix3(k),i)=secfcum(1,ix3(k),i)-fx3(k
3309 secfcum(2,ix3(k),i)=secfcum(2,ix3(k),i)-fy3(k)
3310 secfcum(3,ix3(k),i)=secfcum(3,ix3(k),i)-fz3(k)
3312 IF(secfcum(4,ix4(k),i)==1.)
THEN
3313 secfcum(1,ix4(k),i)=secfcum(1,ix4
3314 secfcum(2,ix4(k),i)=secfcum(2,ix4(k),i)-fy4(k)
3315 secfcum(3,ix4(k),i)=secfcum(3,ix4(k),i)-fz4(k)
3321 secfcum(1,jg,i)=secfcum(1,jg,i)+fxi(k)
3322 secfcum(2,jg,i)=secfcum(2,jg,i)+fyi(k)
3323 secfcum(3,jg,i)=secfcum(3,jg,i)+fzi(k)
3327#include "lockoff.inc"
3338 IF(ibag/=0.OR.iadm/=0)
THEN
3340 IF(pene(i) == zero)cycle
3363 IF(pene(i) == zero)cycle
3365 ibcs = ibcc - 8 * ibcm
3369 IF(ig>0.AND.ig<=numnod)
THEN
3371 CALL ibcoff(ibcs,icodt(ig))
3376 CALL ibcoff(ibcm,icodt(ig))
3378 CALL ibcoff(ibcm,icodt(ig
3380 CALL ibcoff(ibcm,icodt(ig))
3382 CALL ibcoff(ibcm,icodt(ig))