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
203 INTEGER RCLEN, LB_L, NG, P, IAD_L(NGROUP), LBUFELI, ANOD_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)
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)
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)
subroutine ddsplit(p, cep, cel, igeo, mat_elem, ipm, icode, iskew, iskn, insel, ibcslag, ipart, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, iparttg, detonators, ipartx, npc, ixtg, group_param_tab, ixtg6, ixs, ixs10, ixs20, ixs16, ixq, ixc, ixt, ixp, ixr, itab, itabm1, gjbufi, nale, ale_connectivity, kxx, ixx, ibcl, ibfv, las, laccelm, nnlink, lllink, iparg, igrav, lgrav, ibvel, lbvel, iactiv, factiv, kinet, ipari, nprw, lprw, iexmad, npby, lpby, ixri, nstrf, ljoint, pornod, monvol, icontact, lagbuf, fr_iad, x, d, v, vr, dr, thke, dampr, damp, ms, in, tf, pm, skew, xframe, geo, eani, bufmat, bufgeo, bufsf, brmpc, gjbufr, w, veul, fill, dfill, wb, dsav, asav, msnf, spbuf, fac, vel, fsav, fzero, xlas, accelm, fbvel, gravfac, fr_wave, failwave, parts0, elbuf, rwl, rwsav, rby, rivet, secbuf, rvolu, rconx, nloc_dmg, fvmain, libagale, lenthg, lbufmat, lbufgeo, lbufsf, lenxlas, lnom_opt, lenlas, lenvolu, npts, cne, lcne, addcne, cni2, lcni2g, addcni2, cepi2, celi2, i2nsnt, probint, ddstat, pm1shf, dd_iad, kxsp, ixsp, nod2sp, cepsp, nthwa, nairwa, nmnt, l_mul_lag1, l_mul_lag, lwaspio, ipartsp, ispcond, pm1sph, wma, eigipm, eigibuf, eigrpm, iflow, rflow, memflow, iexlnk, fasolfr, iparth, fxbipm, fxbrpm, fxbnod, fxbmod, fxbglm, fxbcpm, fxbcps, fxblm, fxbfls, fxbdls, fxbdep, fxbvit, fxbacc, fxbelm, fxbsig, fxbgrvi, fxbgrvr, iadll, lll, ibmpc, lambda, lrbagale, iskwp, nskwp, isensp, nsensp, iaccp, naccp, ipart_state, mcp, temp, unitab, intstamp, iframe, clusters, partsav, ibft, fbft, ibcv, fconv, irbe3, lrbe3, frbe3, front_rm, rbym, irbym, lcrbym, inoise, fnoise, ms0, admsms, nom_sect, ispsym, sh4tree, sh3tree, ipadmesh, ibfflux, fbfflux, sh4trim, sh3trim, padmesh, msc, mstg, inc, intg, ptg, mcpc, mcptg, rcontact, acontact, pcontact, mscnd, incnd, mssa, mstr, msp, msrt, ibcr, fradia, dmelc, dmeltg, dmels, dmeltr, dmelp, dmelrt, res_sms, isphio, lprtsph, lonfsph, vsphio, sphveln, alph, ifill, ims, irbe2, lrbe2, ms_ply, zi_ply, inod_pxfem, iel_pxfem, icodply, iskwply, addcne_pxfem, cne_pxfem, cel_pxfem, ithvar, xdp, table, celsph, icfield, lcfield, cfield, msz2, itask, diag_sms, iloadp, lloadp, loadp, inod_crkxfem, iel_crkxfem, addcne_crkxfem, cne_crkxfem, cel_crkxfem, ibufssg_io, intercep, ibordnode, iedgesh, ibordedge, linale, nodedge, iedge, cep_crkxfem, iedge_tmp, crknodiad, elbuf_tab, nom_opt, lgauge, gauge, igaup, ngaup, nodlevxf, frontb_r2r, dflow, vflow, wflow, sph2sol, sol2sph, irst, elcutc, nodenr, kxfenod2elc, enrtag, intbuf_tab, i11flag, xfem_tab, lenthgr, rthbuf, ixig3d, kxig3d, knot, ipartig3d, wige, ncrkpart, indx_crk, crklvset, crkshell, crksky, crkavx, crkedge, sensors, stack, xfem_phantom, t8, tab_ump, poin_ump, sol2sph_typ, addcsrect, csrect, drape, loads, itagnd, icnds10, addcncnd, cepcnd, celcnd, cncnd, nativ_sms, i24maxnsne, multi_fvm, segquadfr, intbuf_fric_tab, subset, igrnod, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, igrpart, igrsurf, igrslin, poin_part_shell, poin_part_tri, poin_part_sol, mid_pid_shell, mid_pid_tri, mid_pid_sol, tag_nm, nindx_nm, indx_nm, tag_scratch, nindx_scrt, indx_scrt, flag_24_25, numnod_l, tag_skn, multiple_skew, igrsurf_proc, knotlocpc, knotlocel, ale_elm, size_ale_elm, pinch_data, tag_skins6, ibcscyc, lbcscyc, t_monvol, indx_s, indx_q, indx_tg, face_elm_s, face_elm_q, face_elm_tg, nbr_th_monvol, ebcs_tab, kloadpinter, loadpinter, dgaploadint, s_loadpinter, len_cep, dynain_data, drapeg, user_windows, output, interfaces, number_load_cyl, loads_per_proc, python, dpl0cld, vel0cld, names_and_titles, bcs_per_proc, constraint_struct, glob_therm, pblast)