31 1 IXS ,IXS10 ,IXS20 ,IXS16 ,IXQ ,
32 2 IXC ,IXT ,IXP ,IXR ,IXTG ,
33 3 MSS ,MSSX ,MSQ ,MSC ,
34 4 MST ,MSP ,MSR ,MSTG ,
35 5 PTG ,MS ,INDEX ,ITRI ,
36 6 GEO ,SH4TREE,SH3TREE,PARTSAV,IPMAS ,
37 7 IPARTS ,IPARTQ ,IPARTC ,IPARTT ,
38 8 IPARTP ,IPARTR ,IPARTTG,TOTADDMAS,
39 9 IPART ,THK ,PM ,PART_AREA,
40 A ADDEDMS,ITAB ,PARTSAV1_PON,ELE_AREA)
48#include "implicit_f.inc"
55#include "remesh_c.inc"
59 INTEGER IXS(NIXS,*),IXS10(6,*),IXS20(12,*),IXS16(
60(NIXQ,*),IXC(NIXC,*),IXT(NIXT(NIXP,*),IXR(NIXR,*),
61 . IXTG(6,*)(*),SH4TREE(KSH4TREE,*),
62 . SH3TREE(KSH3TREE,*),IPARTS(*),IPARTQ(*),(*),
63 . IPARTT(*),IPARTP(*),IPARTR(*),IPARTTG(*),
67 . MSS(8,*),MSSX(12,*),MSQ(*),MSC(*),MST(*),MSP(*),MSR(3,*),
68 . MSTG(*),PTG(3,*),MS(*),GEO(NPROPG,*),
69 . partsav(20,*),totaddmas,part_area(*),thk(*),
73 TYPE (ADMAS_) ,
DIMENSION(NODMAS) :: IPMAS
77 INTEGER I, J, K, N, II, , WORK(70000),,KAD,IGM,IPM,NMAS,
90 CALL my_orders(0,work,itri,index,numels8,1)
93 CALL my_orders(0,work,itri(ideb),index(ideb),numels10,1)
96 index(ideb+j-1) = index(ideb+j-1)+numels8
99 ideb = ideb + numels10
100 CALL my_orders(0,work,itri(ideb),index(ideb),numels20,1)
102 index(ideb+j-1) = index(ideb+j-1)+numels8+numels10
105 ideb = ideb + numels20
106 CALL my_orders(0,work,itri(ideb),index(ideb),numels16,1)
108 index(ideb+j-1) = index(ideb+j-1)+numels8+numels10+numels20
112 nmas = ipmas(igm)%NPART
114 ipm = ipmas(igm)%PARTID(ii)
122 kmass = mss(k,i) /
max(em20,partsav1_pon(ip))
123 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
125 totaddmas = totaddmas + mass
136 n = ixs10(k,i-numels8)
137 kmass = mssx(k,i) /
max(em20,partsav1_pon(ip))
138 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
141 totaddmas = totaddmas + mass
150 i = index(numels8+numels10+j)
154 n = ixs20(k,i-numels8-numels10)
155 kmass = mssx(k,i) /
max(em20,partsav1_pon(ip))
156 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
159 totaddmas = totaddmas + mass
168 i = index(numels8+numels10+numels20+j)
172 n = ixs16(k,i-numels8-numels10-numels20)
173 kmass = mssx(k,i) /
max(em20,partsav1_pon(ip))
174 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
177 totaddmas = totaddmas + mass
189 CALL my_orders(0,work,itri,index,numelq,1)
192 nmas = ipmas(igm)%NPART
194 ipm = ipmas(igm)%PARTID(ii)
199 kmass = msq(i) /
max(em20,partsav1_pon(ip))
200 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
204 totaddmas = totaddmas + mass
218 CALL my_orders(0,work,itri,index,numeltg,1)
223 area_el = ele_area(i+numelc)
224 part_area(ip) = part_area(ip) + area_el
229 CALL my_orders(0,work,itri,index,numelc,1)
234 area_el = ele_area(i)
235 part_area(ip) = part_area(ip) + area_el
240 nmas = ipmas(igm)%NPART
241 flag = ipmas(igm)%WEIGHT_FLAG
243 ipm = ipmas(igm)%PARTID(ii)
250 kmass = msc(i) /
max(em20,partsav1_pon(ip))
251 ELSE IF(flag == 1)
THEN
252 area_el = ele_area(i)*fourth
253 kmass = area_el /
max(em20,part_area(ip))
255 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
259 totaddmas = totaddmas + mass
268 IF(sh4tree(3,i) >= 0)
THEN
272 kmass = msc(i) /
max(em20,partsav1_pon(ip))
273 ELSE IF(flag == 1)
THEN
274 area_el = ele_area(i)*fourth
275 kmass = area_el /
max(em20,part_area(ip))
277 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
281 totaddmas = totaddmas + mass
289 IF(sh4tree(3,i) == 0 .OR. sh4tree(3,i) == -1)
THEN
293 kmass = msc(i) /
max(em20,partsav1_pon(ip))
294 ELSE IF(flag == 1)
THEN
295 area_el = ele_area(i)*fourth
296 kmass = area_el /
max(em20,part_area(ip))
298 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
302 totaddmas = totaddmas + mass
315 CALL my_orders(0,work,itri,index,numelt,1)
318 nmas = ipmas(igm)%NPART
320 ipm = ipmas(igm)%PARTID(ii)
325 kmass = mst(i) /
max(em20,partsav1_pon(ip))
326 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
330 totaddmas = totaddmas + mass
340 CALL my_orders(0,work,itri,index,numelp,1)
343 nmas = ipmas(igm)%NPART
345 ipm = ipmas(igm)%PARTID(ii)
354 totaddmas = totaddmas + mass
357 totaddmas = totaddmas + mass
366 CALL my_orders(0,work,itri,index,numelr,1)
369 nmas = ipmas(igm)%NPART
371 ipm = ipmas(igm)%PARTID(ii)
378 kmass = msr(k,i) /
max
379 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
381 totaddmas = totaddmas + mass
383 igtyp = nint(geo(12,ixr(1,i)))
386 kmass = msr(3,i) /
max(em20,partsav1_pon(ip))
387 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
389 totaddmas = totaddmas + mass
399 CALL my_orders(0,work,itri,index,numeltg,1)
402 nmas = ipmas(igm)%NPART
404 ipm = ipmas(igm)%PARTID(ii)
412 kmass = mstg(i) /
max(em20,partsav1_pon(ip))
413 ELSEIF(flag == 1)
THEN
414 area_el = ele_area(i+numelc)
415 kmass = area_el /
max(em20,part_area(ip))
417 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
421 ms(n) = ms(n) + mass*ptg(k,i)
430 IF(sh3tree(3,i) >= 0)
THEN
435 kmass = mstg(i) /
max(em20,partsav1_pon(ip))
436 ELSEIF(flag == 1)
THEN
437 area_el = ele_area(i+numelc)
438 kmass = area_el /
max(em20,part_area(ip))
440 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
444 ms(n) = ms(n) + mass*ptg(k,i)
445 totaddmas = totaddmas + mass*ptg(k,i)
453 IF(sh3tree(3,i) == 0 .OR. sh3tree(3,i) == -1)
THEN
458 kmass = mstg(i) /
max(em20,partsav1_pon(ip))
459 ELSEIF(flag == 1)
THEN
460 area_el = ele_area(i+numelc)
461 kmass = area_el /
max(em20,part_area(ip))
463 mass = kmass * ipmas(igm)%PART(ii)%RPMAS
467 ms(n) = ms(n) + mass*ptg(k,i)
468 totaddmas = totaddmas + mass*ptg(k,i)
479 IF(addedms(i) > zero)
THEN
480 partsav(1,i) = partsav(1,i) + addedms(i)
481 partsav1_pon(i) = partsav1_pon(i) + addedms(i)
494 1 IXS ,IXS10 ,IXS20 ,IXS16 ,IXQ ,
495 2 IXC ,IXT ,IXP ,IXR ,IXTG ,
496 3 MSS ,MSSX ,MSQ ,MSC ,
497 4 MST ,MSP ,MSR ,MSTG ,
498 5 INDEX ,ITRI ,GEO ,PARTSAV1_PON ,IPARTS ,
499 6 IPARTQ ,IPARTC ,IPARTT ,IPARTP ,IPARTR ,
504#include "implicit_f.inc"
508#include "com04_c.inc"
509#include "param_c.inc"
510#include "scr17_c.inc"
514 INTEGER IXS(NIXS,*),IXS10(6,*),IXS20(12,*),IXS16(8,*),
515 . IXQ(NIXQ,*),IXC(NIXC,*),IXT(NIXT,*),(NIXP,*),IXR(NIXR,*),
516 . IXTG(6,*),INDEX(*), ITRI(*),
517 . IPARTS(*),IPARTQ(*),IPARTC(*),
518 . IPARTT(*),IPARTP(*),IPARTR(*),IPARTTG(*),
522 . MSS(8,*),(12,*),MSQ(*),MSC(*),MST(*),MSP(*),MSR(3,*),
523 . MSTG(*),GEO(NPROPG,*),PARTSAV1_PON(NPART)
529 INTEGER I, J, K, N, II, IGTYP, WORK(700,IGM,IPM,NMAS,
533 partsav1_pon(1:npart)=zero
539 CALL my_orders(0,work,itri,index,numels8,1)
542 CALL my_orders(0,work,itri(ideb),index(ideb),numels10,1)
545 index(ideb+j-1) = index(ideb+j-1)+numels8
548 ideb = ideb + numels10
549 CALL my_orders(0,work,itri(ideb),index(ideb),numels20,1)
551 index(ideb+j-1) = index(ideb+j-1)+numels8+numels10
554 ideb = ideb + numels20
555 CALL my_orders(0,work,itri(ideb),index(ideb),numels16,1)
557 index(ideb+j-1) = index(ideb+j-1)+numels8+numels10+numels20
564 partsav1_pon(ip)=partsav1_pon(ip)+mss(k,i)
574 partsav1_pon(ip)=partsav1_pon(ip)+mssx(k,i)
581 i = index(numels8+numels10+j)
584 partsav1_pon(ip)=partsav1_pon(ip)+mssx(k,i)
591 i = index(numels8+numels10+numels20+j)
594 partsav1_pon(ip)=partsav1_pon(ip)+mssx(k,i)
603 CALL my_orders(0,work,itri,index,numelq,1)
608 partsav1_pon(ip)=partsav1_pon(ip)+ four * msq(i)
615 CALL my_orders(0,work,itri,index,numelc,1)
620 partsav1_pon(ip)=partsav1_pon(ip)+ four * msc(i)
627 CALL my_orders(0,work,itri,index,numelt,1)
632 partsav1_pon(ip)=partsav1_pon(ip)+ two
644 partsav1_pon(ip)=partsav1_pon(ip)+ two * msp(i)
651 CALL my_orders(0,work,itri,index,numelr,1)
656 igtyp = nint(geo(12,ixr(1,i)))
663 partsav1_pon(ip)=partsav1_pon(ip)+msr(ii,i)
671 CALL my_orders(0,work,itri,index,numeltg,1)
676 partsav1_pon(ip)=partsav1_pon(ip)+mstg(i)
subroutine initia(iparg, elbuf, ms, in, v, x, ixs, ixq, ixc, ixt, ixp, ixr, detonators, geo, pm, rby, npby, lpby, npc, npts, pld, veul, ale_connectivity, skew, fill, ipart, itab, sensors, skvol, ixtg, thk, nloc_dmg, group_param_tab, glob_therm, igrnod, igrsurf, bufsf, vr, bufmat, xlas, las, dtelem, mss, msq, msc, mst, msp, msr, mstg, ptg, inc, nod2eltg, knod2eltg, inp, inr, intg, index, itri, kxx, ixx, xelemwa, iwa, nod2elq, knod2elq, nod2els, knod2els, kxsp, ixsp, nod2sp, ispcond, icode, iskew, iskn, ispsym, xframe, isptag, spbuf, mssx, nsigi, npbyl, lpbyl, rbyl, msnf, mssf, nsigsh, igeo, ipm, nsigs, nsigsph, vns, vnsx, stc, stt, stp, str, sttg, stur, bns, bnsx, volnod, bvolnod, etnod, nshnod, stifint, fxbdep, fxbvit, fxbacc, fxbipm, fxbrpm, fxbelm, fxbsig, fxbmod, ins, ptshel, ptsh3n, ptsol, ptquad, wma, ptsph, fxbnod, mbufel, mdepl, fxani, numel, nsigrs, sh4tree, sh3tree, mcp, temp, imerge2, iadmerge2, slnrbm, nslnrbm, rmstifn, rmstifr, ms_layer, zi_layer, itag, itagel, mcpc, mcptg, xrefc, xreftg, xrefs, mssa, msrt, irbe2, lrbe2, inivol, kvol, nbsubmat, ixs10, ixs16, ixs20, totaddmas, ipmas, stifn, msz2, itagn, sitage, itage, ixr_kj, elbuf_tab, nom_opt, ptr_nopt_rbe2, ptr_nopt_adm, ptr_nopt_fun, sol2sph, irst, sh3trim, xfem_tab, kxig3d, ixig3d, msig3d, knot, nctrlmax, wige, stack, rnoise, drape, sh4ang, sh3ang, geo_stack, igeo_stack, stifintr, strc, strp, strr, strtg, perturb, itagnd, nativ_sms, iloadp, facload, ptspri, nsigbeam, ptbeam, nsigtruss, pttruss, multi_fvm, sigi, sigsh, sigsp, sigsph, sigrs, sigbeam, sigtruss, strsglob, straglob, orthoglob, isigsh, iyldini, ksigsh3, fail_ini, iusolyld, iuser, iddlevel, inimap1d, inimap2d, func2d, fvm_inivel, tagprt_sms, igrbric, igrquad, igrsh4n, igrsh3n, igrpart, totmas, knotlocpc, knotlocel, vnige, bnige, fxbglm, fxbcpm, fxbcps, fxblm, fxbfls, fxbdls, fxb_matrix, fxb_matrix_add, fxb_last_adress, ptr_nopt_fxb, r_skew, knod2el1d, nod2el1d, ebcs_tab, rby_iniaxis, alea, knod2elc, nod2elc, dr, slrbody, drapeg, ipari, intbuf_tab, interfaces, mat_param, npreload_a, preload_a, fail_fractal, fail_brokmann, defaults, ndamp_freq_range, dampr, ibeam_vector, rbeam_vector, ikine)