29 . FXBIPM , FXBNOD , NODLOCAL, IPARG , FXBELM,
30 . LENNOD_L , LENMOD_L, LENELM_L, LENSIG_L, PROC ,
31 . LENGRVI_L, FXBGRVI )
35#include "implicit_f.inc"
45 INTEGER FXBIPM(NBIPM,*), FXBNOD(*), NODLOCAL(*), IPARG(NPARG,*),
46 . FXBELM(*), LENNOD_L, LENMOD_L, LENELM_L, LENSIG_L, PROC,
47 . LENGRVI_L, FXBGRVI(*)
51 INTEGER NFX, NSN, NSNI, IFILE, ANOD, I, II, AELM, NELS, NELC,
52 . NELT, NELP, NELTG, NG, P, NSN_L, NSNI_L, NMOD, NME,
53 . NLG, AGRVI, IADG, IG, NNO, NNO_L
72 IF (nodlocal(ii)/=0)
THEN
79 IF (nodlocal(ii)/=0) nsn_l=nsn_l+1
81 lennod_l=lennod_l+nsn_l
83 lenmod_l=lenmod_l+nsn_l*(nme+nmod)
84 ELSEIF (ifile==1)
THEN
85 lenmod_l=lenmod_l+nsni_l*(nme+nmod)
99 IF (ifile==0) lensig_l=lensig_l+7*nmod
108 IF (ifile==0) lensig_l=lensig_l+10*nmod
117 IF (ifile==0) lensig_l=lensig_l+2*nmod
126 IF (ifile==0) lensig_l=lensig_l+8*nmod
135 IF (ifile==0) lensig_l=lensig_l+10*nmod
144 nno=fxbgrvi(agrvi+iadg+1)
147 ii=fxbgrvi(agrvi+iadg+i+1)
148 IF (nodlocal(ii)/=0) nno_l=nno_l+1
151 lengrvi_l=lengrvi_l+2+nno_l
165 . FXBIPM , FXBNOD , NODLOCAL, IPARG , FXBELM ,
166 . FXBNOD_L , FXBMOD_L, FXBELM_L, FXBSIG_L, PROC ,
167 . FXBMOD , FXBSIG , FXBIPM_L, FXBGRVI,
168 . FXBGRVI_L, LENNOD_L,ITASK)
175#include "implicit_f.inc"
179#include "com01_c.inc"
180#include "com04_c.inc"
181#include "scr15_c.inc"
182#include "param_c.inc"
183#include "units_c.inc"
184#include "units_fxbody_c.inc"
189 INTEGER FXBIPM(NBIPM,*), FXBNOD(*), NODLOCAL(*), IPARG(NPARG,*),
190 . FXBELM(*), FXBNOD_L(*), FXBELM_L(*), PROC,
191 . FXBIPM_L(NBIPM,*), FXBGRVI(*),
192 . FXBGRVI_L(*), LENNOD_L
194 . FXBMOD_L(*), FXBSIG_L(*), FXBMOD(*), FXBSIG(*)
203 INTEGER RCLEN, LB_L, NG, P, IAD_L(NGROUP), LBUFELI, ANOD_L,
204 . AMOD_L, IRCM_L, AELM_L, ASIG_L, IRCS_L, NFX, I, NSN,
205 . nsni, ifile, nmod, nme, ircm, anod, amod, nsn_l, nsni_l,
206 . ii, asig, ircs, nels, nelc, nelt, nelp, neltg, aelm,
207 . nels_l, nelc_l, nelt_l, nelp_l, neltg_l, j, k, elm(13),
208 . lvsig, iad, jj, asig2, asig_l2, lvsig2, nmax, pmain, pp,
209 . agrvi_l, nlg, agrvi, iadg, iadg_l, ig, nno, nno_l,
210 . ng_l(ngroup), iadfxb(lennod_l),itask
214 . ,
DIMENSION(:),
ALLOCATABLE :: vsig, vsig2
215 CHARACTER(LEN=4) :: CIT
216 CHARACTER(LEN=256) :: SCR_FILE_NAME,SCR_FILE_NAME2
218 INQUIRE(iolength=rclen) flrec6
230 WRITE(cit,
'(I4.4)')itask
231 scr_file_name =
'SCR_FXM_'//rootnam(1:rootlen)//
'_'//cit(1:4)//
'.scr'
232 scr_file_name2=
'SCR_FXS_'//rootnam(1:rootlen)//
'_'//cit(1:4)//
'.scr'
234 OPEN(unit=ifxm_l+itask,file=trim(scr_file_name),access=
'DIRECT',recl=rclen)
235 OPEN(unit=ifxs_l+itask,file=trim(scr_file_name2),access=
'DIRECT',recl=rclen)
246 lbufeli=iparg(4,ng+1)-iparg(4,ng)
248 lbufeli=lbufel+1-iparg(4,ng)
263 fxbipm_l(i,nfx)=fxbipm(i,nfx)
266 fxbipm_l(2,nfx)=nodlocal(fxbipm(2,nfx))
277 fxbipm_l(6,nfx)=anod_l+1
278 fxbipm_l(7,nfx)=amod_l+1
283 IF (nodlocal(ii)/=0)
THEN
287 fxbnod_l(anod_l)=nodlocal(ii)
293 IF (nodlocal(ii)/=0)
THEN
296 fxbnod_l(anod_l)=nodlocal(ii)
300 fxbipm_l(3,nfx)=nsn_l
301 fxbipm_l(18,nfx)=nsni_l
304 fxbnod_l(anod_l)=iadfxb(i)
306 fxbipm_l(30,nfx)=ircm_l
311 IF (nodlocal(jj)/=0)
THEN
313 fxbmod_l(amod_l+k)=fxbmod(amod-1+6*(j-1)+k)
320 ELSEIF (ifile==1)
THEN
324 IF (nodlocal(jj)/=0)
THEN
326 fxbmod_l(amod_l+k)=fxbmod(amod-1+6*(j-1)+k)
335 IF (nodlocal(jj)/=0)
THEN
337 READ(ifxm,rec=ircm) (var(k),k=1,6)
340 WRITE(ifxm_l+itask,rec=ircm_l) (var(k),k=1,6)
345 fxbipm_l(32,nfx)=ircm_l
356 fxbipm_l(19,nfx)=aelm_l+1
357 fxbipm_l(20,nfx)=asig_l+1
375 elm(k)=fxbelm(aelm+k-1)
378 elm(11)=elm(11)-iad+iad_l(ng)
379 elm(12)=elm(12)-iad+iad_l(ng)
381 fxbelm_l(aelm_l+k)=elm(k)
386 fxbsig_l(asig_l+k)=fxbsig(asig+k-1)
401 elm(k)=fxbelm(aelm+k-1)
404 elm(7)=elm(7)-iad+iad_l(ng)
405 elm(8)=elm(8)-iad+iad_l(ng)
406 elm(9)=elm(9)-iad+iad_l(ng)
408 fxbelm_l(aelm_l+k)=elm(k)
413 fxbsig_l(asig_l+k)=fxbsig(asig+k-1)
428 elm(k)=fxbelm(aelm+k-1)
431 elm(5)=elm(5)-iad+iad_l(ng)
432 elm(6)=elm(6)-iad+iad_l(ng)
434 fxbelm_l(aelm_l+k)=elm(k)
439 fxbsig_l(asig_l+k)=fxbsig(asig+k-1)
454 elm(k)=fxbelm(aelm+k-1)
457 elm(6)=elm(6)-iad+iad_l(ng)
458 elm(7)=elm(7)-iad+iad_l(ng)
459 elm(8)=elm(8)-iad+iad_l(ng)
461 fxbelm_l(aelm_l+k)=elm(k)
466 fxbsig_l(asig_l+k)=fxbsig(asig+k-1)
481 elm(k)=fxbelm(aelm+k-1)
484 elm(6)=elm(6)-iad+iad_l(ng)
485 elm(7)=elm(7)-iad+iad_l(ng)
486 elm(8)=elm(8)-iad+iad_l(ng)
488 fxbelm_l(aelm_l+k)=elm(k)
493 fxbsig_l(asig_l+k)=fxbsig(asig+k-1)
500 ELSEIF (ifile==1)
THEN
501 lvsig=nels*7+nelc*10+nelt*2+nelp*8+neltg*10
502 ALLOCATE(vsig(lvsig), vsig2(lvsig))
507 READ(ifxs,rec=ircs) (vsig(iad+k),k=1,6)
515 READ(ifxs,rec=ircs) (vsig(iad+k),k=1,jj)
529 elm(k)=fxbelm(aelm+k-1)
532 elm(11)=elm(11)-iad+iad_l(ng)
533 elm(12)=elm(12)-iad+iad_l(ng)
535 fxbelm_l(aelm_l+k)=elm(k)
540 vsig2(asig_l2+k)=vsig(asig2+k)
555 elm(k)=fxbelm(aelm+k-1)
558 elm(7)=elm(7)-iad+iad_l(ng)
559 elm(8)=elm(8)-iad+iad_l(ng)
560 elm(9)=elm(9)-iad+iad_l(ng)
562 fxbelm_l(aelm_l+k)=elm(k)
567 vsig2(asig_l2+k)=vsig(asig2+k)
582 elm(k)=fxbelm(aelm+k-1)
585 elm(5)=elm(5)-iad+iad_l(ng)
586 elm(6)=elm(6)-iad+iad_l(ng)
588 fxbelm_l(aelm_l+k)=elm(k)
593 vsig2(asig_l2+k)=vsig(asig2+k)
608 elm(k)=fxbelm(aelm+k-1)
611 elm(6)=elm(6)-iad+iad_l(ng)
612 elm(7)=elm(7)-iad+iad_l(ng)
613 elm(8)=elm(8)-iad+iad_l(ng)
615 fxbelm_l(aelm_l+k)=elm(k)
620 vsig2(asig_l2+k)=vsig(asig2+k)
635 elm(k)=fxbelm(aelm+k-1)
638 elm(6)=elm(6)-iad+iad_l(ng)
639 elm(7)=elm(7)-iad+iad_l(ng)
640 elm(8)=elm(8)-iad+iad_l(ng)
642 fxbelm_l(aelm_l+k)=elm(k)
647 vsig2(asig_l2+k)=vsig(asig2+k)
655 lvsig2=nels_l*7+nelc_l*10+nelt_l*2+nelp_l*8+neltg_l*10
659 WRITE(ifxs_l+itask,rec=ircs_l) (vsig2(iad+k),k=1,6)
662 jj=lvsig2-(lvsig2/6)*6
665 WRITE(ifxs_l+itask,rec=ircs_l) (vsig2(iad+k),k=1,jj)
667 DEALLOCATE(vsig, vsig2)
670 fxbipm_l(21,nfx)=nels_l
671 fxbipm_l(22,nfx)=nelc_l
672 fxbipm_l(34,nfx)=nelt_l
673 fxbipm_l(35,nfx)=nelp_l
674 fxbipm_l(23,nfx)=neltg_l
675 fxbipm_l(33,nfx)=ircs_l
679 fxbipm_l(26,nfx)=agrvi_l
683 fxbgrvi_l(agrvi_l+iadg_l)=fxbgrvi(agrvi+iadg)
684 nno=fxbgrvi(agrvi+iadg+1)
687 ii=fxbgrvi(agrvi+iadg+i+1)
688 IF (nodlocal(ii)/=0)
THEN
690 fxbgrvi_l(agrvi_l+iadg_l+nno_l+1)=nodlocal(ii)
694 fxbgrvi_l(agrvi_l+iadg_l+1)=nno_l
695 iadg_l=iadg_l+2+nno_l
697 agrvi_l=agrvi_l+iadg_l
705 IF(nlocal(ii,p)==1)
THEN
707 IF(nlocal(ii,pp)==1)
THEN
720 fxbipm_l(39,nfx)=pmain-1
721 fxbipm_l(40,nfx)=fxbipm(18,nfx)
733 . LENGLM_L, LENCP_L , LENLM_L , LENFLS_L, LENDLS_L,
734 . LENMCD_L, LENGRVR_L, FXBIPM_L, PROC )
738#include "implicit_f.inc"
742#include "com04_c.inc"
747 INTEGER LENGLM_L, LENCP_L, LENLM_L, LENFLS_L, LENDLS_L,
748 . LENMCD_L, LENGRVR_L, FXBIPM_L(NBIPM,*),
753 INTEGER NTR, NFX, NMOD, NMST, NME, NLG, PMAIN
769 pmain=fxbipm_l(39,nfx)
771 fxbipm_l(8 ,nfx)=lenglm_l+1
772 fxbipm_l(9 ,nfx)=lencp_l+1
773 fxbipm_l(10,nfx)=lenlm_l+1
774 fxbipm_l(11,nfx)=lenfls_l+1
775 fxbipm_l(12,nfx)=lendls_l+1
776 fxbipm_l(15,nfx)=lenmcd_l+1
777 fxbipm_l(27,nfx)=lengrvr_l+1
779 IF (pmain==proc)
THEN
780 lenglm_l =lenglm_l +nme*(nme+1)/2
781 lencp_l =lencp_l +ntr*nmod*nme
782 lenlm_l =lenlm_l +nmod
783 lenfls_l =lenfls_l +nmst*(2*nmod-nmst+1)/2
784 lendls_l =lendls_l +nmod-nmst
785 lenmcd_l =lenmcd_l +nme*nme
786 lengrvr_l=lengrvr_l+nme*nlg+nmod*9*nlg
798 . FXBGLM , FXBCPM , FXBCPS , FXBLM , FXBFLS ,
799 . FXBDLS , FXBGRVR , FXBIPM , PROC , FXBGLM_L,
800 . FXBCPM_L , FXBCPS_L, FXBLM_L , FXBFLS_L, FXBDLS_L,
801 . FXBGRVR_L, FXBIPM_L)
805#include "implicit_f.inc"
809#include "com04_c.inc"
814 INTEGER FXBIPM(NBIPM,*), FXBIPM_L(NBIPM,*), PROC
816 . FXBGLM(*), FXBCPM(*), FXBCPS(*), FXBLM(*), FXBFLS(*),
817 . FXBDLS(*), FXBGRVR(*), FXBGLM_L(*), FXBCPM_L(*),
818 . FXBCPS_L(*), FXBLM_L(*), FXBFLS_L(*), FXBDLS_L(*),
823 INTEGER NTR, , NMOD, NMST, NME, NLG, PMAIN, AGLM, ACP, ALM,
824 . AFLS, ADLS, AGRVR, AGLM_L, ACP_L, ALM_L, AFLS_L, ,
833 pmain=fxbipm_l(39,nfx)
841 aglm_l =fxbipm_l(8,nfx)
842 acp_l =fxbipm_l(9,nfx)
843 alm_l =fxbipm_l(10,nfx)
844 afls_l =fxbipm_l(11,nfx)
845 adls_l =fxbipm_l(12,nfx)
846 agrvr_l=fxbipm_l(27,nfx)
848 IF (pmain==proc)
THEN
850 fxbglm_l(aglm_l+i-1)=fxbglm(aglm+i-1)
853 fxbcpm_l(acp_l+i-1)=fxbcpm(acp+i-1)
854 fxbcps_l(acp_l+i-1)=fxbcps(acp+i-1)
857 fxblm_l(alm_l+i-1)=fxblm(alm+i-1)
859 DO i=1,nmst*(2*nmod-nmst+1)/2
860 fxbfls_l(afls_l+i-1)=fxbfls(afls+i-1)
863 fxbdls_l(adls_l+i-1)=fxbdls(adls+i-1)
865 DO i=1,nme*nlg+nmod*9*nlg
866 fxbgrvr_l(agrvr_l+i-1)=fxbgrvr(agrvr+i-1)
subroutine c_fxbody2(fxbipm, fxbnod, nodlocal, iparg, fxbelm, fxbnod_l, fxbmod_l, fxbelm_l, fxbsig_l, proc, fxbmod, fxbsig, fxbipm_l, fxbgrvi, fxbgrvi_l, lennod_l, itask)
subroutine c_fxbody4(fxbglm, fxbcpm, fxbcps, fxblm, fxbfls, fxbdls, fxbgrvr, fxbipm, proc, fxbglm_l, fxbcpm_l, fxbcps_l, fxblm_l, fxbfls_l, fxbdls_l, fxbgrvr_l, fxbipm_l)
subroutine c_fxbody1(fxbipm, fxbnod, nodlocal, iparg, fxbelm, lennod_l, lenmod_l, lenelm_l, lensig_l, proc, lengrvi_l, fxbgrvi)