61 1 ITASK ,NODFT ,NODLT ,NODII_SMS ,INDX2_SMS ,
62 2 NODXI_SMS,MS ,MS0 ,A ,ICODT ,
63 3 ICODR ,ISKEW ,SKEW ,JAD_SMS ,JDI_SMS ,
64 4 LT_SMS ,X_SMS ,P_SMS ,Z_SMS ,Y_SMS ,
65 5 PREC_SMS ,INDX1_SMS,DIAG_SMS ,IAD_ELEM ,FR_ELEM ,
66 6 WEIGHT ,NPBY ,LPBY ,
67 7 TAGSLV_RBY_SMS,LAD_SMS ,KAD_SMS ,JRB_SMS,IBFV ,
68 8 VEL ,NPC ,TF ,V ,X ,
69 9 D ,SENSOR_TAB,NSENSOR ,IFRAME ,XFRAME ,
70 A JADI_SMS ,JDII_SMS ,LTI_SMS ,FR_SMS ,FR_RMS ,
71 B ISKYI_SMS,MSKYI_SMS,RES_SMS ,IGRV ,AGRV ,
72 C LGRAV ,ILINK ,RLINK ,FR_RL ,FRL6 ,
73 D NNLINK ,LNLINK ,FR_LL ,FNL6 ,TAG_LNK_SMS,
74 E ITAB ,FSAV ,LJOINT ,IADCJ ,FR_CJ ,
75 F AM ,VR ,IN ,FRL ,FNL ,
76 G NPRW ,LPRW ,RWBUF ,RWSAV ,FOPT ,
77 H FR_WALL ,NRWL_SMS ,INTSTAMP ,KINET ,IXC ,
78 I IXTG ,SH4TREE ,SH3TREE ,CPTREAC ,NODREAC ,
79 J FTHREAC ,FRWL6 ,DIM ,TAGSLV_RBY,DAMPR ,
80 K DAMP ,IGRNOD ,DR ,RBY ,
81 L TAGMSR_RBY_SMS,JSM_SMS,IRBE2 ,LRBE2 ,
82 N IAD_RBE2 ,FR_RBE2M ,NMRBE2 ,R2SIZE ,IRBE3 ,
83 O LRBE3 ,FRBE3 ,IAD_RBE3M ,FR_RBE3M ,FR_RBE3MP,
84 P RRBE3 ,RRBE3_PON,PREC_SMS3 ,DIAG_SMS3,IAD_RBY ,
85 Q FR_RBY6 ,RBY6 ,R3SIZE ,BETATE ,IBCSCYC ,
86 R LBCSCYC ,MSKYI_FI_SMS, LIST_SMS,LIST_RMS,CJWORK ,
87 S FREA ,IRWL_WORK,VFI,sz_mw6,MW6,WFEXT,ams_work)
98 use python_funct_mod,
only : python_
102#include "implicit_f.inc"
103#include "comlock.inc"
107#include
"com01_c.inc"
108#include "com04_c.inc"
109#include "com06_c.inc"
110#include "com08_c.inc"
111#include "param_c.inc"
112#include "parit_c.inc"
113#include "remesh_c.inc"
114#include "scr03_c.inc"
116#include "tabsiz_c.inc"
118#include "timeri_c.inc"
119#include "units_c.inc"
121#include "stati_c.inc"
125 TYPE(timer_),
INTENT(INOUT) :: TIMERS
126 TYPE(python_),
INTENT(INOUT) :: PYTHON
127 INTEGER ITASK, NODFT,NSENSOR,NODLT, NODII_SMS(*), INDX2_SMS(*),
128 . NODXI_SMS(*), ICODT(*), ICODR(*),
129 . ISKEW(*), JAD_SMS(*), JDI_SMS(*), INDX1_SMS(*),
130 . IAD_ELEM(2,NSPMD+1) ,FR_ELEM(*), WEIGHT(*),
131 . NPBY(NNPBY,*), LPBY(*), TAGSLV_RBY_SMS(*), TAGSLV_RBY(*),
132 . LAD_SMS(*), KAD_SMS(*), JRB_SMS(*),
133 . NPC(*), IBFV(NIFV,*),IFRAME(LISKN,*),
134 . JADI_SMS(*), JDII_SMS(*),
135 . FR_RMS(NSPMD+1), FR_SMS(+1), ISKYI_SMS(LSKYI_SMS,*),
136 . IGRV(*),CPTREAC,NODREAC(*),
137 . ILINK(*),RLINK(*), FR_RL(NSPMD+2,*), NNLINK(10,*),
138 . LNLINK(*), FR_LL(NSPMD+2,*), TAG_LNK_SMS(*), ITAB(*),
139 . LJOINT(*), FR_CJ(*), IADCJ(*),
140 . NPRW(*), LPRW(*), FR_WALL(*), NRWL_SMS(*),
141 . KK, MAIN, KINET(*),
142 . IXC(NIXC,*), IXTG(NIXTG,*),
143 . SH4TREE(KSH4TREE,*), SH3TREE(KSH3TREE,*), DIM,
144 . TAGMSR_RBY_SMS(*), JSM_SMS(*),
145 . IRBE2(NRBE2L,*), LRBE2(*), IAD_RBE2(*),
146 . FR_RBE2M(*), NMRBE2, R2SIZE, IRBE3(NRBE3L,*), LRBE3(*),
147 . IAD_RBE3M(*) ,FR_RBE3M(*) ,FR_RBE3MP(*),
148 . FR_RBY6(*),IAD_RBY(*),R3SIZE,IBCSCYC(*),LBCSCYC(*)
150 . MS(*), MS0(*), A(3,*), DIAG_SMS(*),
151 . (LSKEW,*), LT_SMS(*),
152 . x_sms(3,*), p_sms(3,*), y_sms(3,*), z_sms
153 . v(3,*), x(3,*), d(3,*), tf(*), vel(lfxvelr,*),
154 . xframe(nxframe,*), lti_sms(*), mskyi_sms(*),
155 . res_sms(3,*), agrv(*),lgrav(*),
156 . fsav(nthvki,*), am(3,*), vr(3,*), in(*), frl(*), fnl(*),
157 . rwbuf(*), rwsav(*), fopt(*),fthreac(6,*),
158 . dampr(nrdamp,*), damp(dim,*), dr(3,*), rby(nrby,*),
159 . frbe3(*), rrbe3(*), prec_sms3(3,*), diag_sms3(3,*),betate
160 DOUBLE PRECISION FRL6(*), FNL6(*), FRWL6(*), RRBE3_PON(*)
161 DOUBLE PRECISION RBY6(8,6,NRBYKIN)
162 my_real,
dimension(fr_rms(nspmd+1)),
intent(inout) :: MSKYI_FI_SMS
163 integer,
dimension(fr_sms(nspmd+1)),
intent(inout) :: LIST_SMS
164 integer,
dimension(fr_rms(nspmd+1)),
intent(inout) :: LIST_RMS
165 my_real,
DIMENSION(18,NJOINT),
intent(inout):: CJWORK
166 my_real,
DIMENSION(3,NUMNOD),
intent(inout):: FREA
167 integer,
dimension(SLPRW),
intent(inout):: IRWL_WORK
168 my_real,
DIMENSION(3,FR_RMS(NSPMD+1)+FR_SMS(NSPMD+1) ),
intent(inout)::
169 integer,
intent(in) :: sz_mw6
170 DOUBLE PRECISION,
dimension(6,sz_mw6),
intent(inout) :: MW6
171 DOUBLE PRECISION,
INTENT(INOUT) :: WFEXT
173 TYPE(INTSTAMP_DATA) INTSTAMP(*)
174 TYPE (SENSOR_STR_) ,
DIMENSION(NSENSOR) ,
INTENT(IN) :: SENSOR_TAB
176 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
177 TYPE (AMS_WORK_) ,
INTENT(INOUT) :: AMS_WORK
181 INTEGER I, N, ISP, IT, IX, IERROR
182 INTEGER ICOUNT, J, K, L, NSN, IMOV, ITYP, ILAGM, IFLAG,
183 . N2, N3, N4, N5, N6, N7, ND, IGR, ISK,
184 . , IAD, MSR, KAD, KI, KJ, , NSR,
185 . LOC_PROC, P, NN, LENR, SIZE, NRBDIM
187 INTEGER NODFT2_SMS, NODLT2_SMS,NGR2USR
189 . vx,vy,vz, mvx, mvy, mvz,
190 . vxj, vyj, vzj, mas,wfextt, errtet, dw, dt15, dt25, rbid,
191 . omega, betasdt, dampt, factb, d_tstart, d_tstop, da, adt,
192 . p1, p2, p3, uomega, domega
194 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IMV
196 . ,
DIMENSION(:),
ALLOCATABLE :: mv
197 my_real,
DIMENSION(:,:),
ALLOCATABLE :: mvskw
198 my_real,
DIMENSION(:,:),
ALLOCATABLE :: vskw
199 my_real,
DIMENSION(:,:),
ALLOCATABLE :: rskw
200 my_real,
DIMENSION(:,:),
ALLOCATABLE :: dampskw
202 . ,
DIMENSION(:,:),
ALLOCATABLE :: mv6
205 CALL my_alloc(mvskw,3,numnod)
206 CALL my_alloc(vskw,3,numnod)
207 CALL my_alloc(rskw,3,numnod)
208 CALL my_alloc(dampskw,3,numnod)
210 frea(1:3,nodft:nodlt)=zero
214 ALLOCATE(imv(2*nisky_sms+fr_rms(nspmd+1)),
215 . mv(3*(2*nisky_sms+fr_rms(nspmd+1))),
216 . mv6(6,3*(2*nisky_sms+fr_rms(nspmd+1))),stat=ierror)
218 ALLOCATE(imv(numnod+nnz_sms+2*nisky_sms+fr_rms(nspmd+1)),
219 . mv(3*(numnod+nnz_sms+2*nisky_sms+fr_rms(nspmd+1))),
220 . mv6(6,3*(numnod+nnz_sms+2*nisky_sms+fr_rms(nspmd+1))),
225 CALL ancmsg(msgid=19,anmode=aninfo,
226 . c1=
'(/DT/.../AMS)')
233 CALL spmd_list_sms(iskyi_sms,fr_sms,fr_rms,list_sms,list_rms,
234 . npby ,tagslv_rby_sms)
249 1 iskyi_sms,fr_sms,fr_rms,list_rms,mskyi_sms,
256 2 v ,x ,skew ,ms ,sensor_tab,
257 3 weight,lgrav ,itask,tagslv_rby_sms,nsensor,wfext, python)
261 nodft1_sms=1+itask*nindx1_sms/nthread
262 nodlt1_sms=(itask+1)*nindx1_sms/nthread
264 nodft2_sms=1+itask*nindx2_sms/nthread
265 nodlt2_sms=(itask+1)*nindx2_sms/nthread
270 a(1,n)=a(1,n)+res_sms(1,n)
271 a(2,n)=a(2,n)+res_sms(2,n)
272 a(3,n)=a(3,n)+res_sms(3,n)
285 IF(ndamp/=0.OR.istat==1.OR.istat==3)
THEN
288 IF(nodxi_sms(n)==0)
THEN
289 z_sms(1,n)=ms(n)*v(1,n)
290 z_sms(2,n)=ms(n)*v(2,n)
291 z_sms(3,n)=ms(n)*v(3,n)
303 DO n=nodft1_sms,nodlt1_sms
308 x_sms(1,i)=x_sms(1,msr)
309 x_sms(2,i)=x_sms(2,msr)
310 x_sms(3,i)=x_sms(3,msr)
320 1 nodft ,nodlt ,numnod ,jad_sms ,jdi_sms ,
321 2 itask ,diag_sms,lt_sms,x_sms ,z_sms ,
322 3 nodft1_sms,nodlt1_sms,indx1_sms,nodxi_sms,iad_elem ,
323 4 fr_elem ,weight ,jadi_sms ,jdii_sms ,lti_sms ,
324 5 iskyi_sms ,mskyi_sms ,fr_sms ,fr_rms ,list_sms ,
325 6 list_rms ,mskyi_fi_sms ,vfi ,imv ,mv ,
326 7 mv6 ,mw6 ,nodft2_sms,nodlt2_sms,indx2_sms,
347 IF(tagmsr_rby_sms(msr) /= 0)
THEN
348 rby6(1,1,m)=z_sms(1,msr)*weight(msr)
349 rby6(2,1,m)=z_sms(2,msr)*weight(msr)
350 rby6(3,1,m)=z_sms(3,msr)*weight(msr)
361 IF(weight(i) /= 0)
THEN
362 rby6(1,1,m)=rby6(1,1,m)+z_sms(1,i)
363 rby6(2,1,m)=rby6(2,1,m)+z_sms(2,i)
364 rby6(3,1,m)=rby6(3,1,m)+z_sms(3,i)
377 1 nrbdim,iad_rby,fr_rby6,iad_rby(nspmd+1),rby6)
385 IF(tagmsr_rby_sms(msr) /= 0)
THEN
386 z_sms(1,msr)=rby6(1,1,m)
387 z_sms(2,msr)=rby6(2,1,m)
388 z_sms(3,msr)=rby6(3,1,m)
402 igr = nint(dampr(2,nd))
403 isk = nint(dampr(15,nd))
405 dampt =
min(dt1,dt2)*factb
406 d_tstart = dampr(17,nd)
407 d_tstop = dampr(18,nd)
408 IF (tt>=d_tstart .AND. tt<=d_tstop)
THEN
411 IF (dampr(19,nd)>0) cycle
414 betasdt= -
min(dampb,dampt)*dt1/
max(dt1*dt1,em30)
415 omega = one/ (one + half * dampa * dt1)
416 DO n=1,igrnod(igr)%NENTITY
417 i=igrnod(igr)%ENTITY(n)
418 IF(tagslv_rby(i)/=0) cycle
419 da=a(1,i)-dampa*z_sms(1,i)-betasdt *(a(1,i) - damp(1,i))
420 da = da * omega - a(1,i)
425 dw =dw+da*v(1,i)*dt12*weight(i)
429 betasdt= -
min(dampb,dampt)*dt1/
max(dt1*dt1,em30)
430 omega = one/ (one + half * dampa * dt1)
431 DO n=1,igrnod(igr)%NENTITY
432 i=igrnod(igr)%ENTITY(n)
433 IF(tagslv_rby(i)/=0) cycle
434 da=a(2,i)-dampa*z_sms(2,i)-betasdt *(a(2,i) - damp(2,i))
435 da = da * omega - a(2,i)
439 dw =dw+da*v(2,i)*dt12*weight(i)
443 betasdt= -
min(dampb,dampt)*dt1/
max(dt1*dt1,em30)
444 omega = one/ (one + half * dampa * dt1)
445 DO n=1,igrnod(igr)%NENTITY
446 i=igrnod(igr)%ENTITY(n)
447 IF(tagslv_rby(i)/=0) cycle
448 da=a(3,i)-dampa*z_sms(3,i)-betasdt *(a(3,i) - damp(3,i))
449 da = da * omega - a(3,i)
453 dw =dw+da*v(3,i)*dt12*weight(i)
456#include "vectorize.inc"
457 DO n=1,igrnod(igr)%NENTITY
458 i=igrnod(igr)%ENTITY(n)
459 IF(tagslv_rby(i)/=0) cycle
460 mvskw(1,i)= skew(1,isk)*z_sms(1,i)
461 . +skew(2,isk)*z_sms(2,i)
462 . +skew(3,isk)*z_sms(3,i)
463 mvskw(2,i)= skew(4,isk)*z_sms(1,i)
464 . +skew(5,isk)*z_sms(2,i)
465 . +skew(6,isk)*z_sms(3,i)
466 mvskw(3,i)= skew(7,isk)*z_sms(1,i)
467 . +skew(8,isk)*z_sms(2,i)
468 . +skew(9,isk)*z_sms(3,i)
469 vskw(1,i)= skew(1,isk)*v(1,i)
470 . +skew(2,isk)*v(2,i)
471 . +skew(3,isk)*v(3,i)
472 vskw(2,i)= skew(4,isk)*v(1,i)
473 . +skew(5,isk)*v(2,i)
474 . +skew(6,isk)*v(3,i)
475 vskw(3,i)= skew(7,isk)*v(1,i)
476 . +skew(8,isk)*v(2,i)
477 . +skew(9,isk)*v(3,i)
478 rskw(1,i)= skew(1,isk)*a(1,i)
479 . +skew(2,isk)*a(2,i)
480 . +skew(3,isk)*a(3,i)
481 rskw(2,i)= skew(4,isk)*a(1,i)
482 . +skew(5,isk)*a(2,i)
483 . +skew(6,isk)*a(3,i)
484 rskw(3,i)= skew(7,isk)*a(1,i)
485 . +skew(8,isk)*a(2,i)
486 . +skew(9,isk)*a(3,i)
487 dampskw(1,i)= skew(1,isk)*damp(1,i)
488 . +skew(2,isk)*damp(2,i)
489 . +skew(3,isk)*damp(3,i)
490 dampskw(2,i)= skew(4,isk)*damp(1,i)
491 . +skew(5,isk)*damp(2,i)
492 . +skew(6,isk)*damp(3,i)
493 dampskw(3,i)= skew(7,isk)*damp(1,i)
494 . +skew(8,isk)*damp(2,i)
495 . +skew(9,isk)*damp(3,i)
499 betasdt= -
min(dampb,dampt)*dt1/
max(dt1*dt1,em30)
500 omega = one/ (one + half * dampa * dt1)
501#include "vectorize.inc"
502 DO n=1,igrnod(igr)%NENTITY
503 i=igrnod(igr)%ENTITY(n)
504 IF(tagslv_rby(i)/=0) cycle
505 da = rskw(1,i) - dampa*mvskw(1,i)
506 . - betasdt *(rskw(1,i) - dampskw(1,i))
507 da = da * omega - rskw(1,i)
508 dampskw(1,i) = rskw(1,i)
509 rskw(1,i) = rskw(1,i) + da
511 dw =dw+da*vskw(1,i)*dt12*weight(i)
515 betasdt= -
min(dampb,dampt)*dt1/
max(dt1*dt1,em30)
516 omega = one/ (one + half * dampa * dt1)
517#include "vectorize.inc"
518 DO n=1,igrnod(igr)%NENTITY
519 i=igrnod(igr)%ENTITY(n)
520 IF(tagslv_rby(i)/=0) cycle
521 da = rskw(2,i) - dampa*mvskw(2,i)
522 . - betasdt *(rskw(2,i) - dampskw(2,i))
523 da = da * omega - rskw(2,i)
524 dampskw(2,i) = rskw(2,i)
525 rskw(2,i) = rskw(2,i) + da
527 dw =dw+da*vskw(2,i)*dt12*weight(i)
531 betasdt= -
min(dampb,dampt)*dt1/
max(dt1*dt1,em30)
532 omega = one/ (one + half * dampa * dt1)
533#include "vectorize.inc"
534 DO n=1,igrnod(igr)%NENTITY
536 IF(tagslv_rby(i)/=0) cycle
537 da = rskw(3,i) - dampa*mvskw(3,i)
538 . - betasdt *(rskw(3,i) - dampskw(3,i))
539 da = da * omega - rskw
540 dampskw(3,i) = rskw(3,i)
541 rskw(3,i) = rskw(3,i) + da
543 dw =dw+da*vskw(3,i)*dt12*weight(i)
545#include "vectorize.inc"
546 DO n=1,igrnod(igr)%NENTITY
547 i=igrnod(igr)%ENTITY(n)
548 IF(tagslv_rby(i)/=0) cycle
549 a(1,i)= skew(1,isk)*rskw(1,i)
550 . +skew(4,isk)*rskw(2,i)
551 . +skew(7,isk)*rskw(3,i)
552 a(2,i)= skew(2,isk)*rskw(1,i)
553 . +skew(5,isk)*rskw(2,i)
554 . +skew(8,isk)*rskw(3,i)
555 a(3,i)= skew(3,isk)*rskw(1,i)
556 . +skew(6,isk)*rskw(2,i)
557 . +skew(9,isk)*rskw(3,i)
558 damp(1,i)= skew(1,isk)*dampskw(1,i)
559 . +skew(4,isk)*dampskw(2,i)
560 . +skew(7,isk)*dampskw(3,i)
561 damp(2,i)= skew(2,isk)*dampskw(1,i)
562 . +skew(5,isk)*dampskw(2,i)
563 . +skew(8,isk)*dampskw(3,i)
564 damp(3,i)= skew(3,isk)*dampskw(1,i)
565 . +skew(6,isk)*dampskw(2,i)
566 . +skew(9,isk)*dampskw(3,i)
573#include "lockoff.inc"
579 IF (istat==1.OR.istat==3)
THEN
581 omega = betate * dt12
588 IF(tagslv_rby(i)/=0) cycle
590 a(j,i) = uomega*a(j,i) -domega*z_sms(j,i)
592 dw =dw+da*v(j,i)*dt12*weight(i)
597 istatg=ngr2usr(-istatg,igrnod,ngrnod)
600#include "vectorize.inc"
601 DO n=1,igrnod(istatg)%NENTITY
602 i=igrnod(istatg)%ENTITY(n)
603 IF(tagslv_rby(i)/=0) cycle
605 a(j,i) = uomega*a(j,i) -domega*z_sms(j,i)
607 dw =dw+da*v(j,i)*dt12*weight(i)
613#include "lockoff.inc"
624 IF (nrbe2>0.OR.r2size>0)
THEN
627 1 irbe2 ,lrbe2 ,x ,a ,am ,
628 1 ms ,in ,skew ,weight ,iad_rbe2,
641 1 irbe3 ,lrbe3 ,x ,a ,frbe3 ,
642 2 skew ,weight ,iad_rbe3m,fr_rbe3m,fr_rbe3mp,
643 3 rrbe3 ,rrbe3_pon ,r3size)
651 CALL sms_thbcs(nodft1_sms,nodlt1_sms,indx1_sms,icodt ,icodr ,
652 2 iskew ,skew ,a ,am ,fthreac ,
655 CALL sms_bcs(nodft1_sms,nodlt1_sms,indx1_sms,icodt ,iskew ,
656 2 skew ,a ,nodlt1_sms)
659 1
CALL sms_bcs(nodft1_sms,nodlt1_sms,indx1_sms,icodr ,iskew ,
660 2 skew ,am ,nodlt1_sms)
662 IF (nbcscyc>0)
CALL sms_bcscyc(ibcscyc,lbcscyc,skew,x,a)
669 prec_sms(nodft:nodlt)=diag_sms(nodft:nodlt)
684 IF(tagmsr_rby_sms(msr) /= 0)
THEN
685 rby6(1,1,m)=diag_sms(msr)*weight(msr)
696 IF(weight(i) /= 0)
THEN
697 rby6(1,1,m)=rby6(1,1,m)+diag_sms(i)
707 1 nrbdim,iad_rby,fr_rby6,iad_rby(nspmd+1),rby6)
718 IF(tagmsr_rby_sms(msr) /= 0)
THEN
719 prec_sms(msr)=rby6(1,1,m)
725 DO n=nodft1_sms,nodlt1_sms
730 prec_sms(i)=prec_sms(msr)
743 2 vel ,ms ,x ,skew ,sensor_tab,
744 3 weight ,d ,iframe ,xframe ,nsensor ,
745 4 it ,prec_sms,nodxi_sms,cptreac,nodreac,
746 5 fthreac,am ,vr ,dr ,in ,
756 2 fsav ,ljoint,ms,in,iadcj,
757 3 fr_cj,cjwork,tag_lnk_sms(nrlink+nlink+1),
774 CALL sms_pcg(timers, nodft ,nodlt ,nnz_sms,jad_sms ,
775 2 jdi_sms ,diag_sms ,lt_sms ,a ,isp ,
776 3 x_sms ,p_sms ,z_sms ,y_sms ,prec_sms ,
777 4 nodft1_sms,nodlt1_sms,indx1_sms,icodt ,icodr ,
778 5 iskew ,skew ,itask ,nodxi_sms,iad_elem,
779 6 fr_elem ,weight ,ibfv ,vel ,npc ,
780 7 tf ,v ,x ,d ,sensor_tab,
781 8 iframe ,xframe ,jadi_sms ,jdii_sms ,nsensor ,
782 9 lti_sms ,fr_sms ,fr_rms ,list_sms ,list_rms,
783 a mskyi_fi_sms,vfi ,iskyi_sms,mskyi_sms,
784 b res_sms ,ilink ,rlink ,fr_rl ,frl6 ,
785 c nnlink ,lnlink ,fr_ll ,fnl6 ,ms ,
786 d tag_lnk_sms,itab ,fsav ,ljoint ,iadcj ,
787 e fr_cj ,cjwork ,frl ,fnl ,nprw ,
788 f lprw ,rwbuf ,rwsav ,fopt ,fr_wall ,
789 g irwl_work,nrwl_sms,frea ,intstamp ,imv ,
790 h mv ,mv6 ,mw6 ,kinet ,ixc ,
791 i ixtg ,sh4tree ,sh3tree,cptreac ,nodreac ,
792 j fthreac ,frwl6 ,am ,vr ,
793 k dr ,in ,rby ,npby ,lpby ,
794 l tagmsr_rby_sms ,irbe2 ,lrbe2 ,iad_rbe2 ,fr_rbe2m,
795 m nmrbe2 ,r2size ,irbe3 ,lrbe3 ,frbe3 ,
796 n iad_rbe3m ,fr_rbe3m ,fr_rbe3mp,rrbe3,rrbe3_pon,
797 o prec_sms3,diag_sms3,iad_rby ,fr_rby6 ,rby6,
798 p tagslv_rby_sms,r3size,nodft2_sms,nodlt2_sms,indx2_sms,
799 q nodii_sms,ibcscyc ,lbcscyc ,wfext,ams_work )
829 2 ljoint,ms,in,iadcj,fr_cj,
830 3 cjwork,tag_lnk_sms(nrlink+nlink+1),itask)
837 DO n=nodft1_sms,nodlt1_sms
839 a(1,i) = a(1,i)*ms(i)
840 a(2,i) = a(2,i)*ms(i)
841 a(3,i) = a(3,i)*ms(i)
847 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)