42 1 X ,V ,CANDN ,CANDE ,I_STOK ,
43 2 IXS ,IXS16 ,EMINXM ,NELES ,NELEM ,
44 3 ITASK ,A ,ITIED ,NINT ,EMINXS ,
45 4 STIFN ,FSKYI ,ISKY ,NME ,NSE ,
46 5 FROTM ,FROTS ,KM ,KS ,FRIC ,
47 6 FSAV ,FCONT ,MS ,NISKYFI ,LSKYI17 ,
60#include "implicit_f.inc"
73 COMMON /i17globi/ie_min,ies_min
74 COMMON /i17globr/vit_min
78 INTEGER I_STOK,ITASK,ITIED,NINT,NME,NSE,NISKYFI,LSKYI17,NOINT,
79 . CANDN(*),CANDE(*), ISKY(*),
80 . ixs(nixs,*),ixs16(8,*),neles(*) ,nelem(*)
83 . x(3,*),v(3,*),eminxm(6,*),eminxs(6,*),a(3,*),stifn(*),
84 . fskyi ,frotm(7,*),frots(7,*),km(*),ks(*),fric(*), fsav(*),
90 INTEGER I,J,K,,IE,IS,IC,NK,III(,17),LLT,NFT,LE,,LAST,
91 . ,LES,IES,IIIS(MVSIZ,16),LEL(MVSIZ),LESL(),
92 . IE_MIN,, IERR1, IERR2
94 . xx(mvsiz,17),yy(mvsiz,17),zz(mvsiz,17),
95 . xxs(mvsiz,16),yys(mvsiz,16),zzs(mvsiz,16),
105 IF(iparit/=0.AND.itask==0)
THEN
108 ALLOCATE(
iskyi17(lskyi17),stat=ierr2)
110 ALLOCATE(fskyi17(lskyi17,4),stat=ierr2)
113 ALLOCATE(
irskyi17(lskyi17),stat=ierr2)
115 ALLOCATE(frskyi17(4,lskyi17),stat=ierr2)
119 CALL ancmsg(msgid=88,anmode=aninfo,
127 first = 1 + i_stok * itask / nthread
128 last = i_stok*(itask+1) / nthread
140 IF(le >0.AND.les>0.AND.
141 . eminxs(4,les)>eminxm(1,le).AND.
142 . eminxs(5,les)>eminxm(2,le).AND.
143 . eminxs(6,les)>eminxm(3,le).AND.
144 . eminxs(1,les)<eminxm(4,le).AND.
145 . eminxs(2,les)<eminxm(5,le).AND.
146 . eminxs(3,les)<eminxm(6,le))
THEN
152 iii(llt,k) =ixs(k+1,ie)
153 iii(llt,k+4) =ixs(k+5,ie)
154 iii(llt,k+8) =ixs16(k,ie-numels8-numels10-numels20)
155 iii(llt,k+12)=ixs16(k+4,ie-numels8-numels10-numels20)
157 iiis(llt,k) =ixs(k+1,ies)
158 iiis(llt,k+8) =ixs(k+5,ies)
159 iiis(llt,k+4)=ixs16(k,ies-numels8-numels10-numels20)
160 iiis(llt,k+12)=ixs16(k+4,ies-numels8-numels10-numels20)
179 .
eminxfi(nint)%P(4,ies)>eminxm(1,le).AND.
180 .
eminxfi(nint)%P(5,ies)>eminxm(2,le).AND.
181 .
eminxfi(nint)%P(6,ies)>eminxm(3,le).AND.
182 .
eminxfi(nint)%P(1,ies)<eminxm(4,le).AND.
183 .
eminxfi(nint)%P(2,ies)<eminxm(5,le).AND.
184 .
eminxfi(nint)%P(3,ies)<eminxm(6,le))
THEN
188#include "mic_lockon.inc"
190#include "mic_lockoff.inc"
193 iii(llt,k) =ixs(k+1,ie)
194 iii(llt,k+4) =ixs(k+5,ie)
195 iii(llt,k+8) =ixs16(k,ie-numels8-numels10-numels20)
196 iii(llt,k+12)=ixs16(k+4,ie-numels8-numels10-numels20)
209 xxs(llt,k)=
xfi17(nint)%P(1,i,ies)
210 yys(llt,k)=
xfi17(nint)%P(2,i,ies)
211 zzs(llt,k)=
xfi17(nint)%P(3,i,ies)
220 1 llt ,v ,stifn ,xx ,fric ,
221 2 yy ,zz ,iii ,fskyi ,isky ,
222 3 a ,x ,itied ,nint ,
223 4 xxs ,yys ,zzs ,iiis ,vit_min ,
224 5 lel ,lesl ,ie_min ,ies_min ,itask ,
225 6 frotm ,frots ,km ,ks ,fsav ,
226 7 fcont ,ms ,niskyfi ,noint ,h3d_data )
235 1 llt ,v ,stifn ,xx ,fric ,
236 2 yy ,zz ,iii ,fskyi ,isky ,
237 3 a ,x ,itied ,nint ,
238 4 xxs ,yys ,zzs ,iiis ,vit_min ,
239 5 lel ,lesl ,ie_min ,ies_min ,itask ,
240 6 frotm ,frots ,km ,ks ,fsav ,
241 7 fcont ,ms ,niskyfi ,noint ,h3d_data )
251 2 frskyi17,nint ,lskyi17,noint)
281 . LLT ,V ,STIFN ,XX ,FRIC ,
282 2 YY ,ZZ ,III ,FSKYI ,ISKY ,
283 3 A ,X ,ITIED ,NINT ,
284 4 XXS ,YYS ,ZZS ,IIIS ,VIT_MIN,
285 5 LE ,LES ,IE_MIN ,IES_MIN ,ITASK ,
286 6 FROTM ,FROTS ,KM ,KS ,FSAV ,
287 7 FCONT ,MS ,NISKYFI ,NOINT ,H3D_DATA)
296#include "implicit_f.inc"
297#include "comlock.inc"
301#include
"mvsiz_p.inc"
305 INTEGER ,ITIED,NINT ,IE_MIN,IES_MIN,NISKYFI,NOINT
307 . III(MVSIZ,17),IIIS(MVSIZ,16),LE(*) ,LES(*), ISKY(*)
310 . V(3,*),A(3,*),KM(*),KS(*),FRIC(*), MS(*)
312 . XX(MVSIZ,17),YY(MVSIZ,17),ZZ(MVSIZ,17),X(3,*),
313 . XXS(MVSIZ,16) ,YYS(MVSIZ,16) ,ZZS(MVSIZ,16) ,VIT_MIN,
314 . STIFN(*) ,FSKYI ,FROTM(7,*),FROTS(7,*),FSAV(*) ,FCONT(3,*)
315 TYPE(H3D_DATABASE) :: H3D_DATA
319 INTEGER I,J,IK,NK,I1,I2,I3,I4,IAD,ICON,
322 . vx,vy,vz,vn,aa,vv,pene
324 . r_cm(mvsiz),t_cm(mvsiz),s_cm(mvsiz),si_s(mvsiz,8),
325 . ri_s(mvsiz,8),ti_s(mvsiz,8),
326 . nx(mvsiz), ny(mvsiz), nz(mvsiz),
327 . ni_m(mvsiz,17),ni_s(mvsiz,8) ,
328 . r_1s(mvsiz) ,r_2s(mvsiz) ,t_1s(mvsiz) ,t_2s(mvsiz),
329 . r_1m(mvsiz) ,r_2m(mvsiz) ,t_1m(mvsiz) ,t_2m(mvsiz),
330 . r_3m(mvsiz) ,r_4m(mvsiz) ,t_3m(mvsiz) ,t_4m(mvsiz),
331 . r_cs(mvsiz) ,s_cs(mvsiz) ,t_cs(mvsiz) ,vit(mvsiz),
332 . r_s(mvsiz) ,t_s(mvsiz) ,
area(mvsiz) ,area_tot(mvsiz),
340 xx(i,17) = half *(xxs(i,5) +xxs(i,6) +xxs(i,7) +xxs(i,8))
341 . - fourth*(xxs(i,1) +xxs(i,2) +xxs(i,3) +xxs(i,4))
342 yy(i,17) = half *(yys(i,5) +yys(i,6) +yys(i,7) +yys
343 . - fourth*(yys(i,1) +yys(i,2) +yys(i,3) +yys(i,4))
344 zz(i,17) = half *(zzs(i,5) +zzs(i,6) +zzs(i,7) +zzs(i,8))
345 . - fourth*(zzs(i,1) +zzs(i,2) +zzs(i,3) +zzs(i,4))
347 CALL i17rst(llt ,ri_s(1,1),si_s(1,1),ti_s(1,1),ni_m ,
354 . - fourth*(xxs(i,9) +xxs(i,10)+xxs(i,11)+xxs(i,12))
355 yy(i,17) = half *(yys(i,13)+yys(i,14)+yys(i,15)+yys(i,16))
356 . - fourth*(yys(i,9) +yys(i,10)+yys(i,11)+yys(i,12))
357 zz(i,17) = half *(zzs(i,13)+zzs(i,14)+zzs(i,15)+zzs(i,16))
358 . - fourth*(zzs(i,9) +zzs(i,10)+zzs(i,11)+zzs(i,12))
360 CALL i17rst(llt ,ri_s(1,2),si_s(1,2),ti_s(1,2),ni_m ,
366 IF(abs(si_s(i,1))<=abs(si_s(i,2)))
THEN
372 iiis(i,1) = iiis(i,12)
374 iiis(i,3) = iiis(i,10)
375 iiis(i,4) = iiis(i, 9)
376 iiis(i,5) = iiis(i,15)
377 iiis(i,6) = iiis(i,14)
378 iiis(i,7) = iiis(i,13)
379 iiis(i,8) = iiis(i,16)
437 1 llt ,r_cs ,s_cs ,t_cs ,ri_s ,si_s ,
438 2 ti_s ,ni_s ,xxs ,yys ,zzs ,xx ,
439 3 yy ,zz ,r_cm ,s_cm ,t_cm
440 4 ny ,nz ,r_1s ,r_2s ,t_1s ,t_2s ,
441 5 r_1m ,r_2m ,r_3m ,r_4m ,t_1m ,t_2m ,
442 6 t_3m ,t_4m ,icont ,
area ,area_tot,area_el)
466 1 llt ,nint ,v ,a ,iii ,iiis ,
467 2 ni_m ,ni_s ,nx ,ny ,nz ,vit ,
468 3 icont(1,1),r_cm ,t_cm ,r_cs ,t_cs ,s_cm ,
474 1 llt ,itied ,nint ,v ,a ,fric ,
475 3 iii ,iiis ,ni_m ,ni_s ,s_cm ,s_cs ,
476 4 nx ,ny ,nz ,vit ,le ,les ,
477 5 icont(1,1),r_cm ,t_cm ,r_cs ,t_cs ,xx ,
478 6 yy ,zz ,stifn ,fskyi ,isky ,
479 7 frotm ,frots ,
area ,area_tot,km ,ks ,
480 8 fsav ,fcont ,ms ,area_el ,niskyfi ,noint ,
496 1 LLT ,R_CS ,S_CS ,T_CS ,RI_S ,SI_S ,
497 2 TI_S ,NI_S ,XXS ,YYS ,ZZS ,XX ,
498 3 YY ,ZZ ,R_CM ,S_CM ,T_CM ,NX ,
499 4 NY ,NZ ,R_1S ,R_2S ,T_1S ,T_2S ,
500 5 R_1M ,R_2M ,R_3M ,R_4M ,T_1M ,T_2M ,
501 6 T_3M ,T_4M ,ICONT ,AREA,AREA_TOT,AREA_EL)
505#include "implicit_f.inc"
509#include "mvsiz_p.inc"
517 + si_s(mvsiz,*),ni_s(mvsiz,*),ri_s(mvsiz,*),ti_s(mvsiz,*),
518 + xxs(mvsiz,*) ,yys(mvsiz,*) ,zzs(mvsiz,*) ,
519 + xx(mvsiz,*) ,yy(mvsiz,*) ,zz(mvsiz,*) ,
520 + r_cm(mvsiz) ,s_cm(mvsiz) ,t_cm(mvsiz),
521 + r_cs(mvsiz) ,s_cs(mvsiz) ,t_cs(mvsiz),
522 + r_1s(mvsiz) ,r_2s(mvsiz) ,t_1s(mvsiz) ,t_2s(mvsiz),
523 + r_1m(mvsiz) ,r_2m(mvsiz) ,t_1m(mvsiz) ,t_2m(mvsiz),
524 + r_3m(mvsiz) ,r_4m(mvsiz) ,t_3m(mvsiz) ,t_4m(mvsiz),
525 + nx(mvsiz) ,ny(mvsiz) ,nz(mvsiz) ,
area(mvsiz) ,area_tot(mvsiz),
530 INTEGER I,ITER,NITERMAX,IR,IT
532 + A1(MVSIZ),A2(MVSIZ),A3(MVSIZ),A4(MVSIZ),A5(MVSIZ),
533 + b1(mvsiz),b2(mvsiz),b3(mvsiz),b4(mvsiz),b5(mvsiz),
534 + c1(mvsiz),c2(mvsiz),c3(mvsiz),azero(mvsiz),
535 + f1,f2,f3,f4,f5,f6,f7,f8,
537 + cc1,cc2,cc3,dd1,dd2,dd3,dd,d,
538 + a0,ab,ba,a4r,b4t,a5t,b5r,eps,
539 + xa,ya,za,xb,yb,zb,xc,yc,zc,aaa,unpeps,
540 + p,rm,tm,sm,pp,rr,tt,aa,rt(9),as(9)
541 DATA rt/-1.,-0.75,-0.5,-0.25,0.0,0.25,0.5,0.75,1./
542 DATA as/0.0625,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.0625/
683 d = si_s(i,1)*si_s(i,1)+si_s(i,2)*si_s(i,2)
684 + + si_s(i,3)*si_s(i,3)+si_s(i,4)*si_s(i,4)
685 + + si_s(i,5)*si_s(i,5)+si_s(i,6)*si_s(i,6)
686 + + si_s(i,7)*si_s(i,7)
687 d = 1./
max(em20,sqrt(d))
696 a0 = ( f1 + f2 + f3 + f4 )*half
702 a3(i) = ( f1 - f2 + f3 - f4 )*fourth
703 a4(i) = (-f1 + f2 + f3 - f4 )*half - ba
704 a5(i) = (-f1 - f2 + f3 + f4 )*fourth - a1(i)
709 b4(i) = (-f1 - f2 + f3 + f4 )*half + ab
710 b5(i) = (-f1 + f2 + f3 - f4 )*fourth - b1(i)
748 a4r = a4(i) * r_cs(i)
749 a5t = a5(i) * t_cs(i)
750 b4t = b4(i) * t_cs(i)
751 b5r = b5(i) * r_cs(i)
752 cc1 = a1(i) -(a4r + a5t) * t_cs
753 cc2 = a2(i) + a4(i) * t_cs(i)
754 cc3 = a3(i) + a4r + a5t + a5t
755 dd1 = b1(i) -(b4t + b5r
756 dd2 = b2(i) + b4t + b5r + b5r
757 dd3 = b3(i) + b4(i) * r_cs(i)
758 d = dd3 * cc2 - cc3 * dd2
762 d = dd3 * cc2 - cc3 * dd2
765 t_cs(i) = (dd2 * cc1 - cc2 * dd1) / d
766 r_cs(i) =
max(-one,
min(one,r_cs(i)))
767 t_cs(i) =
max(-one,
min(one,t_cs(i)))
788 CALL i17abc(llt ,si_s,r_cs,t_cs,
789 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
792 s_cm(i) = c1(i) + (c2(i) + c3(i)*t_cs(i))*t_cs(i)
793 s_cm(i) = b1(i) + (b2(i) + b3(i)*r_cs(i))*r_cs(i)
815 CALL i17surf(llt ,r_1s ,r_2s ,r_cs ,r_cs ,
816 2 t_cs ,t_cs ,t_1s ,t_2s ,area_tot,
817 3 xxs ,yys ,zzs ,azero )
822 xa = xxs(i,7)-xxs(i,5)
823 ya = yys(i,7)-yys(i,5)
824 za = zzs(i,7)-zzs(i,5)
825 xb = xxs(i,8)-xxs(i,6)
826 yb = yys(i,8)-yys(i,6)
827 zb = zzs(i,8)-zzs(i,6)
832 aaa = pi*fourth*sqrt(xc*xc+yc*yc+zc*zc)
834 area_tot(i) =
min(area_tot(i),aaa)
851 + bb1 ,bb2 ,bb3 ,cc1 ,cc2 ,cc3 )
852 rm = bb1 + (bb2 + bb3*rt(ir))*rt(ir)
853 IF(rm >= -unpeps.and.rm <= unpeps)
THEN
855 + bb1 ,bb2 ,bb3 ,cc1 ,cc2 ,cc3 )
856 tm = cc1 + (cc2 + cc3*rt(it))*rt(it)
857 IF(tm >= -unpeps.and.tm <= unpeps)
THEN
859 + bb1 ,bb2 ,bb3 ,cc1 ,cc2 ,cc3 )
860 sm = cc1 + (cc2 + cc3*rt(it))*rt(it)
863 aa = aa + as(ir)*as(it)
864 p = p * as(ir) * as(it)
878 + bb1 ,bb2 ,bb3 ,cc1 ,cc2 ,cc3 )
879 r_cm(i) = bb1 + (bb2 + bb3*r_cs(i))*r_cs(i)
881 + bb1 ,bb2 ,bb3 ,cc1 ,cc2 ,cc3 )
882 t_cm(i) = cc1 + (cc2 + cc3*t_cs(i))*t_cs(i)
884 + bb1 ,bb2 ,bb3 ,cc1 ,cc2 ,cc3 )
885 s_cm(i) = cc1 + (cc2 + cc3*t_cs(i))*t_cs(i)
886 IF(abs(s_cm(i)) < one)
THEN
888 area(i) =
min(area_el(i) * aa,area_tot(i))
896 IF(s_cm(i) < zero)
THEN
898 xa = xx(i,11)-xx(i,9)
899 ya = yy(i,11)-yy(i,9)
900 za = zz(i,11)-zz(i,9)
901 xb = xx(i,12)-xx(i,10)
902 yb = yy(i,12)-yy(i,10)
903 zb = zz(i,12)-zz(i,10)
906 xa = xx(i,15)-xx(i,13)
907 ya = yy(i,15)-yy(i,13)
908 za = zz(i,15)-zz(i,13)
909 xb = xx(i,16)-xx(i,14)
910 yb = yy(i,16)-yy(i,14)
911 zb = zz(i,16)-zz(i,14)
916 aaa = pi*fourth*sqrt(xc*xc+yc*yc+zc*zc)
917 area_el(i) =
min(area_el(i),aaa)
918 area_tot(i) =
min(area_tot(i),aaa)
919 IF(area_tot(i) == zero)area_tot(i) = area_el(i)
924 CALL i17norm(llt ,r_cs ,s_cs ,t_cs ,
925 2 nx ,ny ,nz ,xxs ,yys ,zzs )
1156 1 LLT ,R1 ,R2 ,R3 ,R4 ,
1157 2 T1 ,T2 ,T3 ,T4 ,AREA ,
1162#include "implicit_f.inc"
1166#include "mvsiz_p.inc"
1172 . r1(mvsiz),r2(mvsiz),r3(mvsiz),r4(mvsiz),
1173 . t1(mvsiz),t2(mvsiz),t3(mvsiz),t4(mvsiz),
1174 .
area(mvsiz),xx(mvsiz,*) ,yy(mvsiz,*),zz(mvsiz,*),sm(mvsiz)
1180 . u_m_r,u_p_r,u_m_s,u_p_s,u_m_t,u_p_t,
1181 . ums_umt,ums_upt,ups_umt,ups_upt,
1182 . umr_ums,umr_ups,upr_ums,upr_ups,
1183 . umt_umr,umt_upr,upt_umr,upt_upr,
1184 . a,b,r05,s05,t05,r,t,ni(8),
1185 . x1,x2,x3,y1,y2,y3,z1,z2,z3,pis4
1203 ni(1) = u_m_t * u_m_r * (-r-t-one)
1204 ni(2) = u_p_t * u_m_r * (-r+t-one)
1205 ni(3) = u_p_t * u_p_r * ( r+t-one)
1206 ni(4) = u_m_t * u_p_r * ( r-t-one)
1220 IF(sm(i) == zero)
THEN
1223 x1 = x1-ni(k)*xx(i,k)
1224 y1 = y1-ni(k)*yy(i,k)
1225 z1 = z1-ni(k)*zz(i,k)
1227 ELSEIF(sm(i) < zero)
THEN
1230 x1 = x1-ni(k)*xx(i,k)-ni(k+4)*xx(i,k+8)
1231 y1 = y1-ni(k)*yy(i,k)-ni(k+4)*yy(i,k+8)
1232 z1 = z1-ni(k)*zz(i,k)-ni(k+4)*zz(i,k+8)
1234 ELSEIF(sm(i) > zero)
THEN
1237 x1 = x1-ni(k)*xx(i,k+4)-ni(k+4)*xx(i,k+12)
1238 y1 = y1-ni(k)*yy(i,k+4)-ni(k+4)*yy(i,k+12)
1239 z1 = z1-ni(k)*zz(i,k+4)-ni(k+4)*zz(i,k+12)
1255 ni(1) = u_m_t * u_m_r * (-r-t-one)
1256 ni(2) = u_p_t * u_m_r * (-r+t-one)
1257 ni(3) = u_p_t * u_p_r * ( r+t-one)
1258 ni(4) = u_m_t * u_p_r * ( r-t-one)
1266 IF(sm(i) == zero)
THEN
1269 x1 = x1+ni(k)*xx(i,k)
1270 y1 = y1+ni(k)*yy(i,k)
1271 z1 = z1+ni(k)*zz(i,k)
1273 ELSEIF(sm(i) < zero)
THEN
1276 x1 = x1+ni(k)*xx(i,k)+ni(k+4)*xx(i,k+8)
1277 y1 = y1+ni(k)*yy(i,k)+ni(k+4)*yy(i,k+8)
1278 z1 = z1+ni(k)*zz(i,k)+ni(k+4)*zz(i,k+8)
1280 ELSEIF(sm(i) > zero)
THEN
1283 x1 = x1+ni(k)*xx(i,k+4)+ni(k+4)*xx(i,k+12)
1284 y1 = y1+ni(k)*yy(i,k+4)+ni(k+4)*yy(i,k+12)
1285 z1 = z1+ni(k)*zz(i,k+4)+ni(k+4)*zz(i,k+12)
1301 ni(1) = u_m_t * u_m_r * (-r-t-one)
1302 ni(2) = u_p_t * u_m_r * (-r+t-one)
1303 ni(3) = u_p_t * u_p_r * ( r+t-one)
1304 ni(4) = u_m_t * u_p_r * ( r-t-one)
1312 IF(sm(i) == zero)
THEN
1315 x2 = x2-ni(k)*xx(i,k)
1316 y2 = y2-ni(k)*yy(i,k)
1317 z2 = z2-ni(k)*zz(i,k)
1319 ELSEIF(sm(i) < zero)
THEN
1322 x2 = x2-ni(k)*xx(i,k)-ni(k+4)*xx(i,k+8)
1323 y2 = y2-ni(k)*yy(i,k)-ni(k+4)*yy(i,k+8)
1324 z2 = z2-ni(k)*zz(i,k)-ni(k+4)*zz(i,k+8)
1326 ELSEIF(sm(i) > zero)
THEN
1329 x2 = x2-ni(k)*xx(i,k+4)-ni(k+
1330 y2 = y2-ni(k)*yy(i,k+4)-ni(k+4)*yy(i,k+12)
1331 z2 = z2-ni(k)*zz(i,k+4)-ni(k+4)*zz(i,k+12)
1347 ni(1) = u_m_t * u_m_r * (-r-t-one)
1348 ni(2) = u_p_t * u_m_r * (-r+t-one)
1349 ni(3) = u_p_t * u_p_r * ( r+t-one)
1350 ni(4) = u_m_t * u_p_r * ( r-t-one)
1358 IF(sm(i) == zero)
THEN
1361 x2 = x2+ni(k)*xx(i,k)
1362 y2 = y2+ni(k)*yy(i,k)
1363 z2 = z2+ni(k)*zz(i,k)
1365 ELSEIF(sm(i) < zero)
THEN
1368 x2 = x2+ni(k)*xx(i,k)+ni(k+4)*xx(i,k+8)
1369 y2 = y2+ni(k)*yy(i,k)+ni(k+4)*yy(i,k+8)
1370 z2 = z2+ni(k)*zz(i,k)+ni(k+4)*zz(i,k+8)
1372 ELSEIF(sm(i) > zero)
THEN
1375 x2 = x2+ni(k)*xx(i,k+4)+ni(k+4)*xx(i,k+12)
1376 y2 = y2+ni(k)*yy(i,k+4)+ni(k+4)*yy(i,k+12)
1377 z2 = z2+ni(k)*zz(i,k+4)+ni(k+4)*zz(i,k+12)
1386 area(i) = pi*fourth*sqrt(x3*x3+y3*y3+z3*z3)
1401 1 LLT ,NINT ,V ,A ,III ,IIIS ,
1402 2 NI_M ,NI_S ,NX ,NY ,NZ ,VIT ,
1403 3 ICONT ,RM ,TM ,RS ,TS ,SM ,
1412#include "implicit_f.inc"
1416#include "mvsiz_p.inc"
1421 INTEGER III(MVSIZ,17),IIIS(MVSIZ,16),
1422 + ICONT(MVSIZ,4), LES(MVSIZ)
1425 . V(3,*),A(3,*),VIT(*)
1427 . (MVSIZ) ,RS(MVSIZ) ,TM(MVSIZ) ,TS(MVSIZ) ,SM(),
1428 . ni_m(mvsiz,*) ,ni_s(mvsiz,*),nx(mvsiz) ,ny(mvsiz) ,nz(mvsiz)
1432 INTEGER I,J,IK,NK,I1,I2,I3,I4,IES,
1438 CALL i17ni(llt,rm ,tm ,ni_m )
1442 CALL i17ni(llt,rs ,ts ,ni_s )
1450 IF(icont(i,1) /= 0)
THEN
1456 vx = vx - (v(1,iii(i,ik)))*ni_m(i,ik)
1457 vy = vy - (v(2,iii(i,ik)))*ni_m(i,ik)
1458 vz = vz - (v(3,iii(i,ik)))*ni_m(i,ik)
1459 vx = vx + (v(1,iiis(i,ik)))*ni_s(i,ik)
1460 vy = vy + (v(2,iiis(i,ik)))*ni_s(i,ik)
1461 vz = vz + (v(3,iiis(i,ik)))*ni_s(i,ik)
1466 vx = vx - v(1,iii(i,ik))*ni_m(i,ik)
1467 vy = vy - v(2,iii(i,ik))*ni_m(i,ik)
1468 vz = vz - v(3,iii(i,ik))*ni_m(i,ik)
1470 vx = vx +
vfi17(nint)%P(1,iis,ies)*ni_s(i,ik)
1471 vy = vy +
vfi17(nint)%P(2,iis,ies)*ni_s(i,ik)
1472 vz = vz +
vfi17(nint)%P(3,iis,ies)*ni_s(i,ik)
1476 vn = nx(i)*vx + ny(i)*vy + nz(i)*vz
1499 1 LLT ,ITIED ,NINT ,V ,A ,FRIC ,
1500 3 III ,IIIS ,NI_M ,NI_S ,S_CM ,S_CS ,
1501 4 NX ,NY ,NZ ,VIT ,LE ,LES ,
1502 5 ICONT ,RM ,TM ,RS ,TS ,XX ,
1503 6 YY ,ZZ ,STIFN ,FSKYI ,ISKY ,
1504 7 FROTM ,FROTS ,AREA ,AREA_TOT,KM ,KS ,
1505 8 FSAV ,FCONT ,MS ,AREA_EL ,NISKYFI ,NOINT ,
1518#include "implicit_f.inc"
1519#include "comlock.inc"
1523#include
"mvsiz_p.inc"
1527#include "scr07_c.inc"
1528#include "scr11_c.inc"
1529#include "scr14_c.inc"
1530#include "scr16_c.inc"
1531#include "com06_c.inc"
1532#include "com08_c.inc"
1533#include "parit_c.inc"
1537 INTEGER LLT,,NINT,NISKYFI,NOINT
1538 INTEGER III(MVSIZ,17),IIIS(MVSIZ,16),ICONT(MVSIZ), ISKY(*),
1542 . V(3,*),A(3,*),VIT(*), MS(*)
1544 . RM(MVSIZ) ,RS() ,TM(MVSIZ) ,TS(MVSIZ) ,
1545 . XX(MVSIZ,17),YY(MVSIZ,17),ZZ(MVSIZ,17),S_CM(MVSIZ),
1546 . s_cs(mvsiz), fsav(*),fcont(3,*),
1547 . ni_m(mvsiz,*) ,ni_s(mvsiz,*),nx(mvsiz) ,ny(mvsiz) ,nz(mvsiz),
1548 . stifn(*),fskyi(lskyi,nfskyi),frotm(7,*),frots(7,*),
1549 .
area(mvsiz),area_tot(mvsiz),area_el(mvsiz),km(2,*),ks(2,*),
1555 INTEGER I,J,IK,NK,I1,I2,I3,I4,IAD,NN,LEM,J1,J2,NISKYL,IES,IIS,
1558 . VX,VY,VZ,VN,AA,SURF,EP2,XE,YE,ZE,XA,YA,ZA,XB,YB,ZB,XC,YC,ZC,
1559 . F,STIF,PENE,SIGTMX,SIGTMY,SIGTMZ,SIGTSX,SIGTSY,SIGTSZ,BB,
1560 . FX,FY,FZ,FFX,FFY,FFZ,FF,FF2,MUF2,HTSQRTPI,MAS4,EP,VIS,
1561 . RHOM,RHOS,STIFV,,FFVX,FFVY,FFVZ,FFTX,FFTY,FFTZ,MUF,
1562 . FSAV1,FSAV2,FSAV3,FSAV4,FSAV5,FSAV6,ECONVT,ECONTT
1596 htsqrtpi = eight / (three*sqrt(pi))
1615 IF(icont(i)/=0 )
THEN
1696 xe = xe + xx(i,ik) *ni_m(i,ik)
1697 + + xx(i,ik+8) *ni_m(i,ik+4)
1698 + - xx(i,ik+4) *ni_m(i,ik)
1699 + - xx(i,ik+12)*ni_m(i,ik+4)
1700 ye = ye + yy(i,ik) *ni_m(i,ik)
1701 + + yy(i,ik+8) *ni_m(i,ik+4)
1702 + - yy(i,ik+4) *ni_m(i,ik)
1703 + - yy(i,ik+12)*ni_m(i,ik+4)
1704 ze = ze + zz(i,ik) *ni_m(i,ik)
1705 + + zz(i,ik+8) *ni_m(i,ik+4)
1706 + - zz(i,ik+4) *ni_m(i,ik)
1707 + - zz(i,ik+12)*ni_m(i,ik+4)
1709 ep = abs(xe*nx(i) + ye*ny(i) + ze*nz(i))
1710 pene = half*(one-abs(s_cm(i))) * ep
1722 vx = vx + (v(1,iiis(i,ik)))*ni_s(i,ik)
1723 . - (v(1,iii(i,ik))) *ni_m(i,ik)
1724 vy = vy + (v(2,iiis(i,ik)))*ni_s(i,ik)
1725 . - (v(2,iii(i,ik))) *ni_m(i,ik)
1726 vz = vz + (v(3,iiis(i,ik)))*ni_s(i,ik)
1727 . - (v(3,iii(i,ik))) *ni_m(i,ik)
1732 sigtmx = frotm(5,lem)
1733 sigtmy = frotm(6,lem)
1734 sigtmz = frotm(7,lem)
1735 sigtsx = frots(5,les(i))
1736 sigtsy = frots(6,les(i))
1737 sigtsz = frots(7,les(i))
1742 vx = vx +
vfi17(nint)%P(1,iis,ies)*ni_s(i,ik)
1743 . - v(1,iii(i,ik)) *ni_m(i,ik)
1744 vy = vy +
vfi17(nint)%P(2,iis,ies)*ni_s(i,ik)
1745 . - v(2,iii(i,ik)) *ni_m(i,ik)
1746 vz = vz +
vfi17(nint)%P(3,iis,ies)*ni_s(i,ik)
1747 . - v(3,iii(i,ik)) *ni_m(i,ik)
1749 ks1 =
ksfi(nint)%P(1,ies)
1750 ks2 =
ksfi(nint)%P(2,ies)
1752 sigtmx = frotm(5,lem)
1753 sigtmy = frotm(6,lem)
1754 sigtmz = frotm(7,lem)
1755 sigtsx =
frotsfi(nint)%P(5,ies)
1756 sigtsy =
frotsfi(nint)%P(6,ies)
1757 sigtsz =
frotsfi(nint)%P(7,ies)
1759 vn = nx(i)*vx + ny(i)*vy + nz(i)*vz
1765 stif = htsqrtpi*
area(i) /
1766 . ((km(1,lem)+ks1)*sqrt(area_tot(i)))
1773 mas4 = (rhom+rhos) *
area(i) *
min(ep,sqrt(
area(i)))
1775 vis = beta*sqrt(stif*mas4)
1797 ffx = aa*(sigtmx+sigtsx)+bb*vx
1798 ffy = aa*(sigtmy+sigtsy)+bb*vy
1799 ffz = aa*(sigtmz+sigtsz)+bb*vz
1806 ff = nx(i)*ffx + ny(i)*ffy + nz(i)*ffz
1807 ffx = ffx - ff*nx(i)
1808 ffy = ffy - ff*ny(i)
1809 ffz = ffz - ff*nz(i)
1810 ff = nx(i)*ffvx + ny(i)*ffvy + nz(i)*ffvz
1811 ffvx = ffvx - ff*nx(i)
1812 ffvy = ffvy - ff*ny(i)
1813 ffvz = ffvz - ff*nz(i)
1823 muf = fric(1)*
max(zero,f)
1832 ff2 = ffx*ffx + ffy*ffy + ffz*ffz
1834 aa = muf / sqrt(ff2)
1841#include "lockon.inc"
1842 frotm(1,lem) = frotm(1,lem) + ffx
1843 frotm(2,lem) = frotm(2,lem) + ffy
1844 frotm(3,lem) = frotm(3,lem) + ffz
1845 frotm(4,lem) = frotm(4,lem) +
area(i)
1848 frots(1,les(i)) = frots(1,les(i)) + ffx
1849 frots(2,les(i)) = frots(2,les(i)) + ffy
1850 frots(3,les(i)) = frots(3,les(i)) + ffz
1851 frots(4,les(i)) = frots(4,les(i)) +
area(i)
1875#include "lockoff.inc"
1893 . + vx*fx+vy*fy+vz*fz
1897#include "lockon.inc"
1900 a(1,j1) = a(1,j1) + ni_m(i,ik)*fx
1901 a(2,j1) = a(2,j1) + ni_m(i,ik)*fy
1902 a(3,j1) = a(3,j1) + ni_m(i,ik)*fz
1903 stifn(j1) = stifn(j1) + abs(ni_m(i,ik)*stif)
1906 a(1,j2) = a(1,j2) - ni_s(i,ik)*fx
1907 a(2,j2) = a(2,j2) - ni_s(i,ik)*fy
1908 a(3,j2) = a(3,j2) - ni_s(i,ik)*fz
1909 stifn(j2) = stifn(j2) + abs(ni_s(i,ik)*stif)
1911#include "lockoff.inc"
1913#include "lockon.inc"
1916#include "lockoff.inc"
1917 IF (niskyl > lskyi)
THEN
1918 CALL ancmsg(msgid=26,anmode=aninfo,
1924 fskyi(niskyl,1)=ni_m(i,ik)*fx
1925 fskyi(niskyl,2)=ni_m(i,ik)*fy
1926 fskyi(niskyl,3)=ni_m(i,ik)*fz
1927 fskyi(niskyl,4)=abs(ni_m(i,ik)*stif)
1928 isky(niskyl) = iii(i,ik)
1930 fskyi(niskyl,1)= - ni_s(i,ik)*fx
1931 fskyi(niskyl,2)= - ni_s(i,ik)*fy
1932 fskyi(niskyl,3)= - ni_s(i,ik)*fz
1933 fskyi(niskyl,4)= abs(ni_s(i,ik)*stif)
1934 isky(niskyl) = iiis(i,ik)
1938 IF(anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT >0.AND.
1939 . ((tt>=tanim .AND. tt<=tanim_stop).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP).OR.
1940 . (manim>=4.AND.manim<=15).OR. h3d_data%MH3D /= 0))
THEN
1941#include "lockon.inc"
1944 fcont(1,j1) =fcont(1,j1) + ni_m(i,ik)*fx
1945 fcont(2,j1) =fcont(2,j1) + ni_m(i,ik)*fy
1946 fcont(3,j1) =fcont(3,j1) + ni_m(i,ik)*fz
1949 fcont(1,j2) =fcont(1,j2) - ni_s(i,ik)*fx
1950 fcont(2,j2) =fcont(2,j2) - ni_s(i,ik)*fy
1951 fcont(3,j2) =fcont(3,j2) - ni_s(i,ik)*fz
1953#include "lockoff.inc"
1957#include "lockon.inc"
1960 a(1,j1) = a(1,j1) + ni_m(i,ik)*fx
1961 a(2,j1) = a(2,j1) + ni_m(i,ik)*fy
1962 a(3,j1) = a(3,j1) + ni_m(i,ik)*fz
1963 stifn(j1) = stifn(j1) + abs(ni_m(i,ik)*stif)
1966 afi17(nint)%P(1,j2,ies) =
afi17(nint)%P(1,j2,ies)
1968 afi17(nint)%P(2,j2,ies) =
afi17(nint)%P(2,j2,ies)
1970 afi17(nint)%P(3,j2,ies) =
afi17(nint)%P(3,j2,ies)
1973 + + abs(ni_s(i,ik)*stif)
1975#include "lockoff.inc"
1977#include "lockon.inc"
1982#include "lockoff.inc"
1983 iskyfi(nint)%P(niskyfil) = ies
1985 IF (niskyl > lskyi)
THEN
1986 CALL ancmsg(msgid=26,anmode=aninfo,
1990 IF (niskyfil >
nlskyfi(nint))
THEN
1991 CALL ancmsg(msgid=26,anmode=aninfo,
1998 fskyi(niskyl,1)=ni_m(i,ik)*fx
1999 fskyi(niskyl,2)=ni_m(i,ik)*fy
2000 fskyi(niskyl,3)=ni_m(i,ik)*fz
2001 fskyi(niskyl,4)=abs(ni_m(i,ik)*stif)
2002 isky(niskyl) = iii(i,ik)
2004 fskyfi(nint)%P(1+(ik-1)*5,niskyfil)= - ni_s(i,ik)*fx
2005 fskyfi(nint)%P(2+(ik-1)*5,niskyfil)= - ni_s(i,ik)*fy
2006 fskyfi(nint)%P(3+(ik-1)*5,niskyfil)= - ni_s(i,ik)*fz
2007 fskyfi(nint)%P(4+(ik-1)*5,niskyfil)= abs(ni_s(i,ik)*stif)
2008 fskyfi(nint)%P(5+(ik-1)*5,niskyfil)= iiis(i,ik)
2012 IF(anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT >0.AND.
2013 . ((tt>=tanim .AND. tt<=tanim_stop).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP).OR.
2014 . (manim>=4.AND.manim<=15).OR. h3d_data%MH3D /= 0))
THEN
2015#include "lockon.inc"
2018 fcont(1,j1) =fcont(1,j1) + ni_m(i,ik)*fx
2019 fcont(2,j1) =fcont(2,j1) + ni_m(i,ik)*fy
2020 fcont(3,j1) =fcont(3,j1) + ni_m(i,ik)*fz
2022#include "lockoff.inc"
2031#include "lockon.inc"
2032 fsav(1) = fsav(1) + fsav1*dt12
2033 fsav(2) = fsav(2) + fsav2*dt12
2034 fsav(3) = fsav(3) + fsav3*dt12
2035 fsav(4) = fsav(4) + fsav4*dt12
2036 fsav(5) = fsav(5) + fsav5*dt12
2037 fsav(6) = fsav(6) + fsav6*dt12
2038 econtv = econtv + dt1*econvt
2039 econt = econt + dt1*econtt
2040#include "lockoff.inc"
2057#include "implicit_f.inc"
2061 INTEGER NSKYI17, NMES, LSKYI17, ISKYI17(*)
2064 . fskyi17(lskyi17,4),frots(7,*)
2068 INTEGER I, J, JJ1, JJ2, K, KK, L, N, NN, IDIFF,
2071 . ff, fskyit(nskyi17) , bid
2079 adskyi(n) = adskyi(n)+1
2085 adskyi(nn) = adskyi(nn) + adskyi(n)
2092 adskyi(n) = adskyi(n) + 1
2098 fskyit(j) = fskyi17(i,l)
2101 fskyi17(i,l) = fskyit(i)
2111 idiff = adskyi(n)-adskyi(nn)
2114 frots(1,n) = frots(1,n) + fskyi17(k,1)
2115 frots(2,n) = frots(2,n) + fskyi17(k,2)
2116 frots(3,n) = frots(3,n) + fskyi17(k,3)
2117 frots(4,n) = frots(4,n) + fskyi17(k,4)
2118 ELSEIF(idiff>1.AND.idiff<20)
THEN
2124 IF(fskyi17(kk,l)>fskyi17(k,l))
THEN
2126 fskyi17(kk,l) = fskyi17(k,l)
2133 frots(1,n)= frots(1,n)+ fskyi17(k,1)
2134 frots(2,n)= frots(2,n)+ fskyi17(k,2)
2135 frots(3,n)= frots(3,n)+ fskyi17(k,3)
2136 frots(4,n)= frots(4,n)+ fskyi17(k,4)
2138 ELSEIF(idiff>=20)
THEN
2142 CALL ass2sort(fskyi17,jj1,jj2,fskyit,4)
2144 frots(1,n)= frots(1,n)+ fskyi17(k,1)
2145 frots(2,n)= frots(2,n)+ fskyi17(k,2)
2146 frots(3,n)= frots(3,n)+ fskyi17(k,3)
2147 frots(4,n)= frots(4,n)+ fskyi17(k,4)