62 1 ITASK ,NODFT ,NODLT ,NODII_SMS ,INDX2_SMS ,
63 2 NODXI_SMS,MS ,MS0 ,A ,ICODT ,
64 3 ICODR ,ISKEW ,SKEW ,JAD_SMS ,JDI_SMS ,
65 4 LT_SMS ,X_SMS ,P_SMS ,Z_SMS ,Y_SMS ,
66 5 PREC_SMS ,INDX1_SMS,DIAG_SMS ,IAD_ELEM ,FR_ELEM ,
67 6 WEIGHT ,NPBY ,LPBY ,
68 7 TAGSLV_RBY_SMS,LAD_SMS ,KAD_SMS ,JRB_SMS,IBFV ,
69 8 VEL ,NPC ,TF ,V ,X ,
70 9 D ,SENSOR_TAB,NSENSOR ,IFRAME ,XFRAME ,
71 A JADI_SMS ,JDII_SMS ,LTI_SMS ,FR_SMS ,FR_RMS ,
72 B ISKYI_SMS,MSKYI_SMS,RES_SMS ,IGRV ,AGRV ,
73 C LGRAV ,ILINK ,RLINK ,FR_RL ,FRL6 ,
74 D NNLINK ,LNLINK ,FR_LL ,FNL6 ,TAG_LNK_SMS,
75 E ITAB ,FSAV ,LJOINT ,IADCJ ,FR_CJ ,
76 F AM ,VR ,IN ,FRL ,FNL ,
77 G NPRW ,LPRW ,RWBUF ,RWSAV ,FOPT ,
78 H FR_WALL ,NRWL_SMS ,INTSTAMP ,KINET ,IXC ,
79 I IXTG ,SH4TREE ,SH3TREE ,CPTREAC ,NODREAC ,
80 J FTHREAC ,FRWL6 ,DIM ,TAGSLV_RBY,DAMPR ,
81 K DAMP ,IGRNOD ,DR ,RBY ,
82 L TAGMSR_RBY_SMS,JSM_SMS,IRBE2 ,LRBE2 ,
83 N IAD_RBE2 ,FR_RBE2M ,NMRBE2 ,R2SIZE ,IRBE3 ,
84 O LRBE3 ,FRBE3 ,IAD_RBE3M ,FR_RBE3M ,FR_RBE3MP,
85 P RRBE3 ,RRBE3_PON,PREC_SMS3 ,DIAG_SMS3,IAD_RBY ,
86 Q FR_RBY6 ,RBY6 ,R3SIZE ,BETATE ,IBCSCYC ,
87 R LBCSCYC ,MSKYI_FI_SMS, LIST_SMS,LIST_RMS,CJWORK ,
88 S FREA ,IRWL_WORK,VFI,sz_mw6,MW6,WFEXT,ams_work)
99 use python_funct_mod,
only : python_
100 use element_mod ,
only : nixc,nixtg
104#include "implicit_f.inc"
105#include "comlock.inc"
109#include "com01_c.inc"
110#include "com04_c.inc"
111#include "com06_c.inc"
112#include "com08_c.inc"
113#include "param_c.inc"
114#include "parit_c.inc"
115#include "remesh_c.inc"
116#include "scr03_c.inc"
118#include "tabsiz_c.inc"
120#include "timeri_c.inc"
121#include "units_c.inc"
123#include "stati_c.inc"
127 TYPE(timer_),
INTENT(INOUT) ::
128 TYPE(python_),
INTENT(INOUT) :: PYTHON
129 INTEGER ITASK, NODFT,NSENSOR,NODLT, NODII_SMS(*), INDX2_SMS(*),
130 . NODXI_SMS(*), ICODT(*), ICODR(*),
131 . ISKEW(*), JAD_SMS(*), JDI_SMS(*), INDX1_SMS(*),
132 . IAD_ELEM(2,NSPMD+1) ,FR_ELEM(*), WEIGHT(*),
133 . NPBY(NNPBY,*), LPBY(*), TAGSLV_RBY_SMS(*), TAGSLV_RBY(*),
134 . LAD_SMS(*), KAD_SMS(*), JRB_SMS(*),
135 . NPC(*), IBFV(NIFV,*),IFRAME(LISKN,*),
136 . JADI_SMS(*), JDII_SMS(*),
137 . (NSPMD+1), (NSPMD+1), ISKYI_SMS(LSKYI_SMS,*),
138 . IGRV(*),CPTREAC,NODREAC(*),
139 . ILINK(*),RLINK(*), FR_RL(NSPMD+2,*), NNLINK(10,*),
140 . LNLINK(*), FR_LL(NSPMD+2,*), TAG_LNK_SMS(*), ITAB(*),
141 . LJOINT(*), FR_CJ(*), IADCJ(*),
142 . NPRW(*), LPRW(*), FR_WALL(*), (*),
143 . KK, MAIN, KINET(*),
144 . IXC(NIXC,*), IXTG(NIXTG,*),
145 . SH4TREE(KSH4TREE,*), SH3TREE(KSH3TREE,*), DIM,
146 . TAGMSR_RBY_SMS(*), JSM_SMS(*),
147 . IRBE2(NRBE2L,*), LRBE2(*), IAD_RBE2(*),
148 . FR_RBE2M(*), NMRBE2, R2SIZE, IRBE3(NRBE3L,*), LRBE3(*),
149 . IAD_RBE3M(*) ,FR_RBE3M(*) ,FR_RBE3MP(*),
150 . FR_RBY6(*),IAD_RBY(*),R3SIZE,IBCSCYC(*),LBCSCYC(*)
152 . MS(*), MS0(*), A(3,*), DIAG_SMS(*),
153 . SKEW(LSKEW,*), LT_SMS(*),
154 . x_sms(3,*), p_sms(3,*), y_sms(3,*), z_sms(3,*), prec_sms(*),
155 . v(3,*), x(3,*), d(3,*), tf(*), vel(lfxvelr,*),
156 . xframe(nxframe,*), lti_sms(*), mskyi_sms(*),
157 . res_sms(3,*), agrv(*),lgrav(*),
158 . fsav(nthvki,*), am(3,*), vr(3,*), in(*), frl(*), fnl(*),
159 . rwbuf(*), rwsav(*), fopt(*),fthreac(6,*),
160 . dampr(nrdamp,*), damp(dim,*), dr(3,*), rby(nrby,*),
161 . frbe3(*), rrbe3(*), prec_sms3(3,*), diag_sms3(3,*),betate
162 DOUBLE PRECISION FRL6(*), FNL6(*), FRWL6(*), RRBE3_PON(*)
163 DOUBLE PRECISION RBY6(8,6,NRBYKIN)
164 my_real,
dimension(fr_rms(nspmd+1)),
intent(inout) :: MSKYI_FI_SMS
165 integer,
dimension(fr_sms(nspmd+1)),
intent(inout) :: LIST_SMS
166 integer,
dimension(fr_rms(nspmd+1)),
intent(inout) :: LIST_RMS
167 my_real,
DIMENSION(18,NJOINT),
intent(inout):: CJWORK
168 my_real,
DIMENSION(3,NUMNOD),
intent(inout):: FREA
169 integer,
dimension(SLPRW),
intent(inout):: IRWL_WORK
170 my_real,
DIMENSION(3,FR_RMS(NSPMD+1)+FR_SMS(NSPMD+1) ),
intent(inout):: VFI
171 integer,
intent(in) :: sz_mw6
172 DOUBLE PRECISION,
dimension(6,sz_mw6),
intent(inout) :: MW6
173 DOUBLE PRECISION,
INTENT(INOUT) :: WFEXT
175 TYPE(INTSTAMP_DATA) INTSTAMP(*)
176 TYPE (SENSOR_STR_) ,
DIMENSION(NSENSOR) ,
INTENT(IN) :: SENSOR_TAB
178 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
179 TYPE (AMS_WORK_) ,
INTENT(INOUT) :: AMS_WORK
183 INTEGER I, N, ISP, IT, IX, IERROR
184 INTEGER ICOUNT, J, K, L, NSN, IMOV, ITYP, ILAGM, IFLAG,
185 . N2, N3, N4, N5, N6, N7, ND, IGR, ISK,
186 . M, IAD, MSR, KAD, KI, KJ, JI, NSR,
187 . LOC_PROC, P, NN, LENR, SIZE, NRBDIM
188 INTEGER NODFT1_SMS, NODLT1_SMS
189 INTEGER NODFT2_SMS, NODLT2_SMS,NGR2USR
191 . vx,vy,vz, mvx, mvy, mvz,
192 . vxj, vyj, vzj, mas,wfextt, errtet, dw, dt15, dt25, rbid,
193 . omega, betasdt, dampt, factb, d_tstart, d_tstop, da, adt,
194 . p1, p2, p3, uomega, domega
196 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IMV
198 . ,
DIMENSION(:),
ALLOCATABLE :: mv
199 my_real,
DIMENSION(:,:),
ALLOCATABLE :: mvskw
200 my_real,
DIMENSION(:,:),
ALLOCATABLE :: vskw
201 my_real,
DIMENSION(:,:),
ALLOCATABLE :: rskw
202 my_real,
DIMENSION(:,:),
ALLOCATABLE :: dampskw
204 . ,
DIMENSION(:,:),
ALLOCATABLE :: mv6
207 CALL my_alloc(mvskw,3,numnod)
208 CALL my_alloc(vskw,3,numnod)
209 CALL my_alloc(rskw,3,numnod)
210 CALL my_alloc(dampskw,3,numnod)
212 frea(1:3,nodft:nodlt)=zero
216 ALLOCATE(imv(2*nisky_sms+fr_rms(nspmd+1)),
217 . mv(3*(2*nisky_sms+fr_rms(nspmd+1))),
218 . mv6(6,3*(2*nisky_sms+fr_rms(nspmd+1))),stat=ierror)
220 ALLOCATE(imv(numnod+nnz_sms+2*nisky_sms+fr_rms(nspmd+1)),
221 . mv(3*(numnod+nnz_sms+2*nisky_sms+fr_rms(nspmd+1))),
222 . mv6(6,3*(numnod+nnz_sms+2*nisky_sms+fr_rms(nspmd+1))),
227 CALL ancmsg(msgid=19,anmode=aninfo,
228 . c1=
'(/DT/.../AMS)')
235 CALL spmd_list_sms(iskyi_sms,fr_sms,fr_rms,list_sms,list_rms,
236 . npby ,tagslv_rby_sms)
251 1 iskyi_sms,fr_sms,fr_rms,list_rms,mskyi_sms,
258 2 v ,x ,skew ,ms ,sensor_tab,
259 3 weight,lgrav ,itask,tagslv_rby_sms,nsensor,wfext, python)
263 nodft1_sms=1+itask*nindx1_sms/nthread
264 nodlt1_sms=(itask+1)*nindx1_sms/nthread
266 nodft2_sms=1+itask*nindx2_sms/nthread
267 nodlt2_sms=(itask+1)*nindx2_sms/nthread
272 a(1,n)=a(1,n)+res_sms(1,n)
273 a(2,n)=a(2,n)+res_sms(2,n)
274 a(3,n)=a(3,n)+res_sms(3,n)
287 IF(ndamp/=0.OR.istat==1.OR.istat==3)
THEN
290 IF(nodxi_sms(n)==0)
THEN
291 z_sms(1,n)=ms(n)*v(1,n)
292 z_sms(2,n)=ms(n)*v(2,n)
293 z_sms(3,n)=ms(n)*v(3,n)
305 DO n=nodft1_sms,nodlt1_sms
310 x_sms(1,i)=x_sms(1,msr)
311 x_sms(2,i)=x_sms(2,msr)
312 x_sms(3,i)=x_sms(3,msr)
322 1 nodft ,nodlt ,numnod ,jad_sms ,jdi_sms ,
323 2 itask ,diag_sms,lt_sms,x_sms ,z_sms ,
324 3 nodft1_sms,nodlt1_sms,indx1_sms,nodxi_sms,iad_elem ,
325 4 fr_elem ,weight ,jadi_sms ,jdii_sms ,lti_sms ,
326 5 iskyi_sms ,mskyi_sms ,fr_sms ,fr_rms ,list_sms ,
327 6 list_rms ,mskyi_fi_sms ,vfi ,imv ,mv ,
328 7 mv6 ,mw6 ,nodft2_sms,nodlt2_sms,indx2_sms,
349 IF(tagmsr_rby_sms(msr) /= 0)
THEN
350 rby6(1,1,m)=z_sms(1,msr)*weight(msr)
351 rby6(2,1,m)=z_sms(2,msr)*weight(msr)
352 rby6(3,1,m)=z_sms(3,msr)*weight(msr)
363 IF(weight(i) /= 0)
THEN
364 rby6(1,1,m)=rby6(1,1,m)+z_sms(1,i)
365 rby6(2,1,m)=rby6(2,1,m)+z_sms(2,i)
366 rby6(3,1,m)=rby6(3,1,m)+z_sms(3,i)
379 1 nrbdim,iad_rby,fr_rby6,iad_rby(nspmd+1),rby6)
387 IF(tagmsr_rby_sms(msr) /= 0)
THEN
388 z_sms(1,msr)=rby6(1,1,m)
389 z_sms(2,msr)=rby6(2,1,m)
390 z_sms(3,msr)=rby6(3,1,m)
404 igr = nint(dampr(2,nd))
405 isk = nint(dampr(15,nd))
407 dampt =
min(dt1,dt2)*factb
408 d_tstart = dampr(17,nd)
409 d_tstop = dampr(18,nd)
410 IF (tt>=d_tstart .AND. tt<=d_tstop)
THEN
413 IF (dampr(19,nd)>0) cycle
416 betasdt= -
min(dampb,dampt)*dt1/
max(dt1*dt1,em30)
417 omega = one/ (one + half * dampa * dt1)
418 DO n=1,igrnod(igr)%NENTITY
419 i=igrnod(igr)%ENTITY(n)
420 IF(tagslv_rby(i)/=0) cycle
421 da=a(1,i)-dampa*z_sms(1,i)-betasdt *(a(1,i) - damp(1,i))
422 da = da * omega - a(1,i)
427 dw =dw+da*v(1,i)*dt12*weight(i)
431 betasdt= -
min(dampb,dampt)*dt1/
max(dt1*dt1,em30)
432 omega = one/ (one + half * dampa * dt1)
433 DO n=1,igrnod(igr)%NENTITY
434 i=igrnod(igr)%ENTITY(n)
435 IF(tagslv_rby(i)/=0) cycle
436 da=a(2,i)-dampa*z_sms(2,i)-betasdt *(a(2,i) - damp(2,i))
437 da = da * omega - a(2,i)
441 dw =dw+da*v(2,i)*dt12*weight(i)
445 betasdt= -
min(dampb,dampt)*dt1/
max(dt1*dt1,em30)
446 omega = one/ (one + half * dampa * dt1)
447 DO n=1,igrnod(igr)%NENTITY
448 i=igrnod(igr)%ENTITY(n)
449 IF(tagslv_rby(i)/=0) cycle
450 da=a(3,i)-dampa*z_sms(3,i)-betasdt *(a(3,i) - damp(3,i))
451 da = da * omega - a(3,i)
455 dw =dw+da*v(3,i)*dt12*weight(i)
458#include "vectorize.inc"
459 DO n=1,igrnod(igr)%NENTITY
460 i=igrnod(igr)%ENTITY(n)
461 IF(tagslv_rby(i)/=0) cycle
462 mvskw(1,i)= skew(1,isk)*z_sms(1,i)
463 . +skew(2,isk)*z_sms(2,i)
464 . +skew(3,isk)*z_sms(3,i)
465 mvskw(2,i)= skew(4,isk)*z_sms(1,i)
466 . +skew(5,isk)*z_sms(2,i)
467 . +skew(6,isk)*z_sms(3,i)
468 mvskw(3,i)= skew(7,isk)*z_sms(1,i)
469 . +skew(8,isk)*z_sms(2,i)
470 . +skew(9,isk)*z_sms(3,i)
471 vskw(1,i)= skew(1,isk)*v(1,i)
472 . +skew(2,isk)*v(2,i)
473 . +skew(3,isk)*v(3,i)
474 vskw(2,i)= skew(4,isk)*v(1,i)
475 . +skew(5,isk)*v(2,i)
476 . +skew(6,isk)*v(3,i)
477 vskw(3,i)= skew(7,isk)*v(1,i)
478 . +skew(8,isk)*v(2,i)
479 . +skew(9,isk)*v(3,i)
480 rskw(1,i)= skew(1,isk)*a(1,i)
481 . +skew(2,isk)*a(2,i)
482 . +skew(3,isk)*a(3,i)
483 rskw(2,i)= skew(4,isk)*a(1,i)
484 . +skew(5,isk)*a(2,i)
485 . +skew(6,isk)*a(3,i)
486 rskw(3,i)= skew(7,isk)*a(1,i)
487 . +skew(8,isk)*a(2,i)
488 . +skew(9,isk)*a(3,i)
489 dampskw(1,i)= skew(1,isk)*damp(1,i)
490 . +skew(2,isk)*damp(2,i)
491 . +skew(3,isk)*damp(3,i)
492 dampskw(2,i)= skew(4,isk)*damp(1,i)
493 . +skew(5,isk)*damp(2,i)
494 . +skew(6,isk)*damp(3,i)
495 dampskw(3,i)= skew(7,isk)*damp(1,i)
496 . +skew(8,isk)*damp(2,i)
497 . +skew(9,isk)*damp(3,i)
501 betasdt= -
min(dampb,dampt)*dt1/
max(dt1*dt1,em30)
502 omega = one/ (one + half * dampa * dt1)
503#include "vectorize.inc"
504 DO n=1,igrnod(igr)%NENTITY
505 i=igrnod(igr)%ENTITY(n)
506 IF(tagslv_rby(i)/=0) cycle
507 da = rskw(1,i) - dampa*mvskw(1,i)
508 . - betasdt *(rskw(1,i) - dampskw(1,i))
509 da = da * omega - rskw(1,i)
510 dampskw(1,i) = rskw(1,i)
511 rskw(1,i) = rskw(1,i) + da
513 dw =dw+da*vskw(1,i)*dt12*weight(i)
517 betasdt= -
min(dampb,dampt)*dt1/
max(dt1*dt1,em30)
518 omega = one/ (one + half * dampa * dt1)
519#include "vectorize.inc"
520 DO n=1,igrnod(igr)%NENTITY
521 i=igrnod(igr)%ENTITY(n)
522 IF(tagslv_rby(i)/=0) cycle
523 da = rskw(2,i) - dampa*mvskw(2,i)
524 . - betasdt *(rskw(2,i) - dampskw(2,i))
525 da = da * omega - rskw(2,i)
526 dampskw(2,i) = rskw(2,i)
527 rskw(2,i) = rskw(2,i) + da
529 dw =dw+da*vskw(2,i)*dt12*weight(i)
533 betasdt= -
min(dampb,dampt)*dt1/
max(dt1*dt1,em30)
534 omega = one/ (one + half * dampa * dt1)
535#include "vectorize.inc"
536 DO n=1,igrnod(igr)%NENTITY
537 i=igrnod(igr)%ENTITY(n)
538 IF(tagslv_rby(i)/=0) cycle
539 da = rskw(3,i) - dampa*mvskw(3,i)
540 . - betasdt *(rskw(3,i) - dampskw(3,i))
541 da = da * omega - rskw(3,i)
542 dampskw(3,i) = rskw(3,i)
543 rskw(3,i) = rskw(3,i) + da
545 dw =dw+da*vskw(3,i)*dt12*weight(i)
547#include "vectorize.inc"
548 DO n=1,igrnod(igr)%NENTITY
549 i=igrnod(igr)%ENTITY(n)
550 IF(tagslv_rby(i)/=0) cycle
551 a(1,i)= skew(1,isk)*rskw
552 . +skew(4,isk)*rskw(2,i)
553 . +skew(7,isk)*rskw(3,i)
554 a(2,i)= skew(2,isk)*rskw(1,i)
555 . +skew(5,isk)*rskw(2,i)
556 . +skew(8,isk)*rskw(3,i)
557 a(3,i)= skew(3,isk)*rskw(1,i)
558 . +skew(6,isk)*rskw(2,i)
559 . +skew(9,isk)*rskw(3,i)
560 damp(1,i)= skew(1,isk)*dampskw(1,i)
562 . +skew(7,isk)*dampskw(3,i)
563 damp(2,i)= skew(2,isk)*dampskw(1,i)
564 . +skew(5,isk)*dampskw(2,i)
565 . +skew(8,isk)*dampskw(3,i)
566 damp(3,i)= skew(3,isk)*dampskw(1,i)
567 . +skew(6,isk)*dampskw(2,i)
568 . +skew(9,isk)*dampskw(3,i)
575#include "lockoff.inc"
581 IF (istat==1.OR.istat==3)
THEN
583 omega = betate * dt12
590 IF(tagslv_rby(i)/=0) cycle
592 a(j,i) = uomega*a(j,i) -domega*z_sms(j,i)
594 dw =dw+da*v(j,i)*dt12*weight(i)
599 istatg=ngr2usr(-istatg,igrnod,ngrnod)
602#include "vectorize.inc"
603 DO n=1,igrnod(istatg)%NENTITY
604 i=igrnod(istatg)%ENTITY(n)
605 IF(tagslv_rby(i)/=0) cycle
607 a(j,i) = uomega*a(j,i) -domega*z_sms(j,i)
609 dw =dw+da*v(j,i)*dt12*weight(i)
615#include "lockoff.inc"
626 IF (nrbe2>0.OR.r2size>0)
THEN
630 1 ms ,in ,skew ,weight ,iad_rbe2,
643 1 irbe3 ,lrbe3 ,x ,a ,frbe3 ,
644 2 skew ,weight ,iad_rbe3m,fr_rbe3m,fr_rbe3mp,
645 3 rrbe3 ,rrbe3_pon ,r3size)
653 CALL sms_thbcs(nodft1_sms,nodlt1_sms,indx1_sms,icodt ,icodr ,
654 2 iskew ,skew ,a ,am ,fthreac ,
657 CALL sms_bcs(nodft1_sms,nodlt1_sms,indx1_sms,icodt ,iskew
658 2 skew ,a ,nodlt1_sms)
661 1
CALL sms_bcs(nodft1_sms,nodlt1_sms,indx1_sms,icodr ,iskew ,
662 2 skew ,am ,nodlt1_sms)
664 IF (nbcscyc>0)
CALL sms_bcscyc(ibcscyc,lbcscyc,skew,x,a)
671 prec_sms(nodft:nodlt)=diag_sms(nodft:nodlt)
686 IF(tagmsr_rby_sms(msr) /= 0)
THEN
687 rby6(1,1,m)=diag_sms(msr)*weight(msr)
698 IF(weight(i) /= 0)
THEN
699 rby6(1,1,m)=rby6(1,1,m)+diag_sms(i)
709 1 nrbdim,iad_rby,fr_rby6,iad_rby(nspmd+1),rby6)
720 IF(tagmsr_rby_sms(msr) /= 0)
THEN
721 prec_sms(msr)=rby6(1,1,m)
727 DO n=nodft1_sms,nodlt1_sms
732 prec_sms(i)=prec_sms(msr)
745 2 vel ,ms ,x ,skew ,sensor_tab,
746 3 weight ,d ,iframe ,xframe ,nsensor ,
747 4 it ,prec_sms,nodxi_sms,cptreac,nodreac,
748 5 fthreac,am ,vr ,dr ,in ,
758 2 fsav ,ljoint,ms,in,iadcj,
759 3 fr_cj,cjwork,tag_lnk_sms(nrlink+nlink+1),
776 CALL sms_pcg(timers, nodft ,nodlt ,nnz_sms,jad_sms ,
777 2 jdi_sms ,diag_sms ,lt_sms ,a ,isp ,
778 3 x_sms ,p_sms ,z_sms ,y_sms ,prec_sms ,
779 4 nodft1_sms,nodlt1_sms,indx1_sms,icodt ,icodr ,
780 5 iskew ,skew ,itask ,nodxi_sms,iad_elem,
781 6 fr_elem ,weight ,ibfv ,vel ,npc ,
782 7 tf ,v ,x ,d ,sensor_tab,
783 8 iframe ,xframe ,jadi_sms ,jdii_sms ,nsensor ,
784 9 lti_sms ,fr_sms ,fr_rms ,list_sms ,list_rms,
785 a mskyi_fi_sms,vfi ,iskyi_sms,mskyi_sms,
786 b res_sms ,ilink ,rlink ,fr_rl ,frl6 ,
787 c nnlink ,lnlink ,fr_ll ,fnl6 ,ms ,
788 d tag_lnk_sms,itab ,fsav ,ljoint ,iadcj ,
789 e fr_cj ,cjwork ,frl ,fnl ,nprw ,
790 f lprw ,rwbuf ,rwsav ,fopt ,fr_wall ,
791 g irwl_work,nrwl_sms,frea ,intstamp ,imv ,
792 h mv ,mv6 ,mw6 ,kinet ,ixc ,
793 i ixtg ,sh4tree ,sh3tree
794 j fthreac ,frwl6 ,am ,vr ,
795 k dr ,in ,rby ,npby ,lpby ,
796 l tagmsr_rby_sms ,irbe2 ,lrbe2 ,iad_rbe2 ,fr_rbe2m,
797 m nmrbe2 ,r2size ,irbe3 ,lrbe3 ,frbe3 ,
798 n iad_rbe3m ,fr_rbe3m ,fr_rbe3mp,rrbe3,rrbe3_pon,
799 o prec_sms3,diag_sms3,iad_rby ,fr_rby6 ,rby6,
800 p tagslv_rby_sms,r3size,nodft2_sms,nodlt2_sms,indx2_sms,
801 q nodii_sms,ibcscyc ,lbcscyc ,wfext,ams_work )
831 2 ljoint,ms,in,iadcj,fr_cj,
832 3 cjwork,tag_lnk_sms(nrlink+nlink+1),itask)
839 DO n=nodft1_sms,nodlt1_sms
841 a(1,i) = a(1,i)*ms(i)
842 a(2,i) = a(2,i)*ms(i)
843 a(3,i) = a(3,i)*ms(i)
849 DEALLOCATE(imv, mv, mv6)
subroutine sms_mass_scale_2(timers, python, itask, nodft, nodlt, nodii_sms, indx2_sms, nodxi_sms, ms, ms0, a, icodt, icodr, iskew, skew, jad_sms, jdi_sms, lt_sms, x_sms, p_sms, z_sms, y_sms, prec_sms, indx1_sms, diag_sms, iad_elem, fr_elem, weight, npby, lpby, tagslv_rby_sms, lad_sms, kad_sms, jrb_sms, ibfv, vel, npc, tf, v, x, d, sensor_tab, nsensor, iframe, xframe, jadi_sms, jdii_sms, lti_sms, fr_sms, fr_rms, iskyi_sms, mskyi_sms, res_sms, igrv, agrv, lgrav, ilink, rlink, fr_rl, frl6, nnlink, lnlink, fr_ll, fnl6, tag_lnk_sms, itab, fsav, ljoint, iadcj, fr_cj, am, vr, in, frl, fnl, nprw, lprw, rwbuf, rwsav, fopt, fr_wall, nrwl_sms, intstamp, kinet, ixc, ixtg, sh4tree, sh3tree, cptreac, nodreac, fthreac, frwl6, dim, tagslv_rby, dampr, damp, igrnod, dr, rby, tagmsr_rby_sms, jsm_sms, irbe2, lrbe2, iad_rbe2, fr_rbe2m, nmrbe2, r2size, irbe3, lrbe3, frbe3, iad_rbe3m, fr_rbe3m, fr_rbe3mp, rrbe3, rrbe3_pon, prec_sms3, diag_sms3, iad_rby, fr_rby6, rby6, r3size, betate, ibcscyc, lbcscyc, mskyi_fi_sms, list_sms, list_rms, cjwork, frea, irwl_work, vfi, sz_mw6, mw6, wfext, ams_work)
subroutine sms_pcg(timers, nodft, nodlt, nnz, iadk, jdik, diag_sms, lt_k, r, isp, x_sms, p_sms, z_sms, y_sms, prec_sms, nodft1_sms, nodlt1_sms, indx1_sms, icodt, icodr, iskew, skew, itask, nodnx_sms, iad_elem, fr_elem, weight, ibfv, vel, npc, tf, v, x, d, sensor_tab, iframe, xframe, jadi_sms, jdii_sms, nsensor, lti_sms, fr_sms, fr_rms, list_sms, list_rms, mskyi_fi_sms, vfi, iskyi_sms, mskyi_sms, res_sms, ilink, llink, fr_rl, frl6, nnlink, lnlink, fr_ll, fnl6, ms, tag_lnk_sms, itab, fsav, ljoint, iadcj, fr_cj, cjwork, frl, fnl, nprw, lprw, rwbuf, rwsav, fopt, fr_wall, irwl_work, nrwl_sms, frea, intstamp, imv, mv, mv6, mw6, kinet, ixc, ixtg, sh4tree, sh3tree, cptreac, nodreac, fthreac, frwl6, am, vr, dr, in, rby, npby, lpby, tagmsr_rby_sms, irbe2, lrbe2, iad_rbe2, fr_rbe2m, nmrbe2, r2size, irbe3, lrbe3, frbe3, iad_rbe3m, fr_rbe3m, fr_rbe3mp, rrbe3, rrbe3_pon, prec_sms3, diag_sms3, iad_rby, fr_rby6, rby6, tagslv_rby_sms, r3size, nodft2_sms, nodlt2_sms, indx2_sms, nodii_sms, ibcscyc, lbcscyc, wfext, ams_work)