29 1 NSN ,ITIED,MSR ,MS ,WEIGHT,
30 2 NIMPACT,IMPACT ,NSMS ,NRWL_SMS)
34#include "implicit_f.inc"
44 INTEGER NSN, ITIED, MSR, NIMPACT, NSMS
45 INTEGER NSW(*), WEIGHT(*), IMPACT(*), NRWL_SMS(*)
48 . x(*), a(*), v(*), rwl(*), ms(*)
52 INTEGER I, N, N3, N2, N1, K, J, M1, , M3
54 . ra2, xwl, ywl, zwl, vxw, vyw, vzw,
55 . vx, vy, vz, ux, uy, uz, xc, yc, zc, dd1, dd,
56 . dp, xt, yt, zt, xx, xn, yn, zn, dv, da, dvt,
103 dd1=xc**2+yc**2+zc**2
104 dd =xc*rwl(1)+yc*rwl(2)+zc*rwl(3)
111 IF(nimpact/=0.AND.itied==2)ifricw=1
121 1 (x ,a ,v ,rwl ,nsw ,
122 2 nsn ,itied ,msr ,ms ,weight ,
123 3 nimpact,impact ,nsms ,nrwl_sms,fsav ,
124 4 fopt ,res ,r ,frea )
128#include "implicit_f.inc"
129#include "comlock.inc"
133#include "com08_c.inc"
137 INTEGER NSN, ITIED, MSR, NIMPACT, NSMS
138 INTEGER NSW(*), WEIGHT(*), IMPACT(*), NRWL_SMS(*)
141 . x(*), a(*), v(*), rwl(*), ms(*), fsav(*),
142 . fopt(*), res(*), frea(*), r(*)
146 INTEGER I, N, N3, N2, N1, J, K, M1, M2, M3
150 . xwl, ywl, zwl, vxw, vyw, vzw,
152 . xc, yc, zc, dd1, dd, dp, xt, yt, zt, xx, xn, yn, zn,
154 . fnxn, fnyn, fnzn, fnxt, fnyt, fnzt, fndfn, ftdft, fric, fric2,
155 . fcoe, fac,
alpha, alphi, fxt, fyt, fzt
200 dd1=xc**2+yc**2+zc**2
201 dd =xc*rwl(1)+yc*rwl(2)+zc*rwl(3)
211 fn=res(n1)*xn+res(n2)*yn+res(n3)*zn
216 fnxt=res(n1)*dt12-fnxn
217 fnyt=res(n2)*dt12-fnyn
218 fnzt=res(n3)*dt12-fnzn
221 fndfn=fnxn**2+fnyn**2+fnzn**2
222 ftdft=fnxt**2+fnyt**2+fnzt**2
223 IF(ftdft <= fric2*fndfn)
THEN
227 fcoe=fric*sqrt(fndfn/ftdft)
257 1 (x ,a ,v ,rwl ,nsw ,
258 2 nsn ,itied ,msr ,ms ,weight ,
259 3 nimpact,impact ,nsms ,nrwl_sms)
263#include "implicit_f.inc"
264#include "comlock.inc"
268#include "com08_c.inc"
272 INTEGER NSN, ITIED, MSR, NIMPACT, NSMS
273 INTEGER NSW(*), WEIGHT(*), IMPACT(*), NRWL_SMS(*)
276 . x(*), a(*), v(*), rwl(*), ms(*)
280 INTEGER , N, N3, N2, N1, J, K, M1, M2, M3
284 . xwl, ywl, zwl, vxw, vyw, vzw,
286 . xc, yc, zc, dd1, dd, dp, xt, yt, zt, xx, xn, yn, zn,
328 dd1=xc**2+yc**2+zc**2
329 dd =xc*rwl(1)+yc*rwl(2)+zc*rwl(3)
338 dv=(v(n1)-vxw)*xn+(v(n2)-vyw)*yn+(v(n3)-vzw)*zn
339 da=a(n1)*xn+a(n2)*yn+a(n3)*zn
356 a(n1)=-(v(n1)-vxw)/dt12
357 a(n2)=-(v(n2)-vyw)/dt12
358 a(n3)=-(v(n3)-vzw)/dt12
374 dd1=xc**2+yc**2+zc**2
375 dd =xc*rwl(1)+yc*rwl(2)+zc*rwl(3)
384 dv=(v(n1)-vxw)*xn+(v(n2)-vyw)*yn+(v(n3)-vzw)*zn
385 da=a(n1)*xn+a(n2)*yn+a(n3)*zn
388 IF(impact(j) > 0)
THEN
390 a(n1)=-(v(n1)-vxw)/dt12
391 a(n2)=-(v(n2)-vyw)/dt12
392 a(n3)=-(v(n3)-vzw)/dt12
410 1 (x ,a ,v ,rwl ,nsw ,
411 2 nsn ,itied ,msr ,ms ,weight ,
412 3 nimpact,impact ,nsms ,nrwl_sms)
416#include "implicit_f.inc"
417#include "comlock.inc"
421#include "com08_c.inc"
425 INTEGER NSN, , MSR, NIMPACT, NSMS
426 INTEGER NSW(*), WEIGHT(*), IMPACT(*), NRWL_SMS(*)
429 . x(*), a(*), v(*), rwl(*), ms(*)
433 INTEGER I, N, N3, N2, N1, , M1, M2, M3
437 . xwl, ywl, zwl, vxw, vyw, vzw,
439 . xc, yc, zc, dd1, dd, dp, xt, yt, zt, xx, xn, yn, zn,
481 dd1=xc**2+yc**2+zc**2
482 dd =xc*rwl(1)+yc*rwl(2)+zc*rwl(3)
491 da =a(n1)*xn+a(n2)*yn+a(n3)*zn
524 dd1=xc**2+yc**2+zc**2
525 dd =xc*rwl(1)+yc*rwl(2)+zc*rwl(3)
534 da =a(n1)*xn+a(n2)*yn+a(n3)*zn
536 IF(impact(j) > 0)
THEN
560 1 (x ,frea ,v ,rwl ,nsw ,
561 2 nsn ,itied ,msr ,ms ,weight ,
562 3 nimpact,impact ,nsms ,nrwl_sms,fsav ,
563 4 fopt ,frwl6 ,a ,wfext )
567#include "implicit_f.inc"
568#include "comlock.inc"
572#include "com06_c.inc"
573#include "com08_c.inc"
577 INTEGER NSN, ITIED, MSR, NIMPACT, NSMS
578 INTEGER NSW(*), WEIGHT(*), IMPACT(*), NRWL_SMS(*)
581 . x(*), v(*), rwl(*), ms(*), fsav(*), frea(3,*),
583 DOUBLE PRECISION FRWL6(7,6)
584 DOUBLE PRECISION,
INTENT(INOUT) :: WFEXT
588 INTEGER I, N, N3, N2, N1, J, K, M1, M2, M3
591 . vxw, vyw, vzw, vx, vy, vz, xwl0, ywl0, zwl0,
592 . xc, yc, zc, dd1, dd, dp, xt, yt, zt, xx, xn, yn, zn,
594 . fnxn, fnyn, fnzn, fnxt, fnyt, fnzt, fn,
595 . fxn, fyn, fzn, fxt, fyt, fzt,
596 . f1(nsn), f2(nsn), f3(nsn), f4(nsn), f5(nsn), f6(nsn), f7(nsn)
611 vxw=v(m1)+half*a(m1)*dt12
612 vyw=v(m2)+half*a(m2)*dt12
613 vzw=v(m3)+half*a(m3)*dt12
633 dd1=xc**2+yc**2+zc**2
634 dd =xc*rwl(1)+yc*rwl(2)+zc*rwl(3)
644 fn=frea(1,n)*xn+frea(2,n)*yn+frea(3,n)*zn
677 dd1=xc**2+yc**2+zc**2
678 dd =xc*rwl(1)+yc*rwl(2)+zc*rwl(3)
688 fn=frea(1,n)*xn+frea(2,n)*yn+frea(3,n)*zn
699 vx=v(n1)+half*a(n1)*dt12
700 vy=v(n2)+half*a(n2)*dt12
701 vz=v(n3)+half*a(n3)*dt12
705 fxt=weight(n)*frea(1,n)-fxn
706 fyt=weight(n)*frea(2,n)-fyn
707 fzt=weight(n)*frea(3,n)-fzn
711 wfextt = wfextt -dt12*((vx-vxw)*fxt+(vy-vyw)*fyt+(vz-vzw)*fzt)
717#include "lockoff.inc"
subroutine sms_rgwalc_bilan(x, frea, v, rwl, nsw, nsn, itied, msr, ms, weight, nimpact, impact, nsms, nrwl_sms, fsav, fopt, frwl6, a, wfext)
subroutine sms_rgwalc_fric(x, a, v, rwl, nsw, nsn, itied, msr, ms, weight, nimpact, impact, nsms, nrwl_sms, fsav, fopt, res, r, frea)