129 SUBROUTINE initia(IPARG ,ELBUF ,MS ,IN ,V ,
130 1 X ,IXS ,IXQ ,IXC ,IXT ,
131 2 IXP ,IXR ,DETONATORS ,GEO ,PM ,
132 3 RBY ,NPBY ,LPBY ,NPC ,NPTS ,
133 4 PLD ,VEUL ,ALE_CONNECTIVITY ,SKEW ,FILL ,
134 5 IPART ,ITAB ,SENSORS ,SKVOL ,
135 6 IXTG ,THK ,NLOC_DMG ,GROUP_PARAM_TAB,GLOB_THERM,
136 7 IGRNOD ,IGRSURF ,BUFSF ,VR ,
137 8 BUFMAT ,XLAS ,LAS ,DTELEM ,MSS ,
138 9 MSQ ,MSC ,MST ,MSP ,MSR ,
139 A MSTG ,PTG ,INC ,NOD2ELTG ,KNOD2ELTG ,
140 B INP ,INR ,INTG ,INDEX ,
141 C ITRI ,KXX ,IXX ,XELEMWA ,
142 E IWA ,NOD2ELQ ,KNOD2ELQ ,NOD2ELS ,KNOD2ELS ,
143 F KXSP ,IXSP ,NOD2SP ,ISPCOND ,ICODE ,
144 G ISKEW ,ISKN ,ISPSYM ,XFRAME ,ISPTAG ,
145 H SPBUF ,MSSX ,NSIGI ,
146 I NPBYL ,LPBYL ,RBYL ,MSNF ,MSSF ,
147 J NSIGSH ,IGEO ,IPM ,NSIGS ,
148 K NSIGSPH ,VNS ,VNSX ,STC ,STT ,
149 L STP ,STR ,STTG ,STUR ,BNS ,
150 M BNSX ,VOLNOD ,BVOLNOD ,ETNOD ,NSHNOD ,
151 N STIFINT ,FXBDEP ,FXBVIT ,FXBACC ,FXBIPM ,
152 O FXBRPM ,FXBELM ,FXBSIG ,FXBMOD ,INS ,
153 P PTSHEL ,PTSH3N ,PTSOL ,PTQUAD ,
154 Q WMA ,PTSPH ,FXBNOD ,MBUFEL ,MDEPL ,
155 R FXANI ,NUMEL ,NSIGRS ,
156 T SH4TREE ,SH3TREE ,MCP ,TEMP ,
157 U IMERGE2 ,IADMERGE2 ,
158 V SLNRBM ,NSLNRBM ,RMSTIFN ,RMSTIFR ,
159 U MS_LAYER ,ZI_LAYER ,ITAG ,ITAGEL ,MCPC ,
160 W MCPTG ,XREFC ,XREFTG ,XREFS ,MSSA ,
161 X MSRT ,IRBE2 ,LRBE2 ,INIVOL ,KVOL , NBSUBMAT,
162 Y IXS10 ,IXS16 ,IXS20 ,TOTADDMAS ,
163 Z IPMAS ,STIFN ,MSZ2 ,ITAGN ,SITAGE ,
164 1 ITAGE ,IXR_KJ ,ELBUF_TAB,
165 2 NOM_OPT ,PTR_NOPT_RBE2 ,PTR_NOPT_ADM ,PTR_NOPT_FUN ,
166 3 SOL2SPH ,IRST ,SH3TRIM ,XFEM_TAB ,
167 4 KXIG3D ,IXIG3D ,MSIG3D ,KNOT ,NCTRLMAX ,
169 7 RNOISE ,DRAPE ,SH4ANG ,SH3ANG ,
170 8 GEO_STACK ,IGEO_STACK ,STIFINTR ,STRC ,STRP ,
171 8 STRR ,STRTG ,PERTURB ,ITAGND ,NATIV_SMS ,
172 9 ILOADP ,FACLOAD ,PTSPRI ,NSIGBEAM ,
173 A PTBEAM ,NSIGTRUSS ,PTTRUSS ,
174 B MULTI_FVM ,SIGI ,SIGSH ,SIGSP ,
175 C SIGSPH ,SIGRS ,SIGBEAM ,SIGTRUSS ,STRSGLOB ,
176 D STRAGLOB ,ORTHOGLOB ,ISIGSH ,IYLDINI ,KSIGSH3 ,
177 E FAIL_INI ,IUSOLYLD ,IUSER ,IDDLEVEL ,INIMAP1D ,
178 F INIMAP2D ,FUNC2D ,FVM_INIVEL ,TAGPRT_SMS ,IGRBRIC ,
179 G IGRQUAD ,IGRSH4N ,IGRSH3N ,IGRPART ,TOTMAS ,
180 H KNOTLOCPC ,KNOTLOCEL ,VNIGE ,BNIGE ,FXBGLM ,
181 I FXBCPM ,FXBCPS ,FXBLM ,FXBFLS ,FXBDLS ,
182 J FXB_MATRIX ,FXB_MATRIX_ADD,FXB_LAST_ADRESS ,PTR_NOPT_FXB ,R_SKEW ,
183 K KNOD2EL1D ,NOD2EL1D ,EBCS_TAB ,RBY_INIAXIS ,ALEA ,
184 L KNOD2ELC ,NOD2ELC ,DR ,SLRBODY ,DRAPEG ,
185 M IPARI ,INTBUF_TAB ,INTERFACES ,MAT_PARAM ,NPRELOAD_A,
186 N PRELOAD_A ,FAIL_FRACTAL ,FAIL_BROKMANN ,DEFAULTS ,NDAMP_FREQ_RANGE,
187 L DAMPR ,IBEAM_VECTOR ,RBEAM_VECTOR ,IKINE)
212 USE init_seatbelt_rbodies_mod
215 USE random_walk_def_mod
219 USE multimat_param_mod ,
ONLY : m51_lc0max, m51_ssp0max, m51_tcp_ref, m51_lset_iflg6, m51_iflg6, m51_iloop_nrf
220 USE brokmann_random_def_mod
222 USE damping_range_init_mod
223 USE eikonal_solver_mod,
ONLY : eikonal_solver
224 USE detonation_times_printout_mod ,
ONLY : detonation_times_printout
228#include "implicit_f.inc"
232#include "mvsiz_p.inc"
236#include "com01_c.inc"
237#include "com08_c.inc"
238#include "com04_c.inc"
239#include "com_xfem1.inc"
241#include "vect01_c.inc"
242#include "units_c.inc"
243#include "param_c.inc"
244#include "scr03_c.inc"
245#include "scr14_c.inc"
246#include "scr17_c.inc"
247#include "scr23_c.inc"
248#include "tablen_c.inc"
249#include "lagmult.inc"
250#include "scr12_c.inc"
252#include "userlib.inc"
254#include "boltpr_c.inc"
256#include "tabsiz_c.inc"
260 INTEGER,
INTENT(IN) :: SKVOL
261 INTEGER IPARG(NPARG,NGROUP), IXS(NIXS,*), IXQ(NIXQ,*),IXC(NIXC,*),
262 . igeo(npropgi,*), ixt(nixt,*),ixp
263 . npby(nnpby,*),lpby(*),npbyl(nnpby,*),lpbyl(*),npc(*),
268 . icode(*),iskew(*),iskn(liskn,*), ipm(npropmi,*), nshnod(*),
269 . ptshel(*),ptsh3n(*),ptsol(*),ptquad(*),ptsph(*),
270 . ixs10(*) ,ixs20(*) ,ixs16(*), sh4tree(*), sh3tree(*),
271 . imerge2(numnod+1),iadmerge2(numnod+1),
272 . slnrbm(*) ,nslnrbm(*),itag(*),itagel(*),irbe2(*) ,lrbe2(*),
274 . ixr_kj(5,*), sol2sph(*), irst(*),sh3trim(*),kxig3d(nixig3d,*),
275 . ixig3d(*),igeo_stack(*),perturb(nperturb),
276 . nativ_sms(*),ptspri(*),ptbeam(*),pttruss(*),strsglob(*),
277 . straglob(*),orthoglob(*),isigsh,iyldini,ksigsh3,fail_ini(5),
278 . iusolyld,iuser,iddlevel,nbsubmat, tagprt_sms(*),sitage,fxb_matrix_add(4,*),
279 . fxb_last_adress(*),ptr_nopt_fxb,r_skew(*), npts,knod2el1d(*) ,nod2el1d(*),
280 . knod2elc(*),nod2elc(*)
281 TYPE(t_ebcs_tab),
INTENT(INOUT) :: EBCS_TAB
282 INTEGER,
TARGET :: ITAGE(*)
283 INTEGER,
POINTER :: ptr_ITAGE
284 INTEGER NSIGI,NSIGSH,
285 . NSIGS, NSIGSPH, FXBIPM(NBIPM,*), FXBELM(*),,
287 . NCTRLMAX,NSIGBEAM,NSIGTRUSS
288 INTEGER,
INTENT(IN) :: ILOADP(SIZLOADP,*),SLRBODY
289 INTEGER,
INTENT(IN) :: IPARI(,NINTER)
290 my_real,
INTENT(IN) :: FACLOAD(LFACLOAD,*)
292 . ELBUF(*), MS(*), IN(*), V(*), X(*), GEO(*),PM(NPROPM,*),
293 . RBY(NRBY,*),PLD(*),VEUL(*),SKEW(LSKEW,*),FILL(*),
294 . THK(*),BUFSF(*), (3,*),BUFMAT(*),PTG(3,*),XLAS(*),
295 . DTELEM(*),MSS(*), MSQ(*),MSC(*),MST(*),MSP(*),MSR(*),
296 . MSTG(*),INC(*),RBYL(NRBY,*),
297 . INP(*),INR(*),INTG(*),
299 . XFRAME(NXFRAME,*),SPBUF(*),MSSX(*),MSNF(*),
301 . VNS(*) ,VNSX(*) ,STC(*) ,STT(*) ,STP(*) ,STR(*) ,
302 . STTG(*) ,STUR(*) ,BNS(*) ,BNSX(*) ,
303 . VOLNOD(*) ,BVOLNOD(*) , ETNOD(*), STIFINT(*), FXBDEP(*),
304 . FXBVIT(*), FXBACC(*), FXBRPM(*), FXBSIG(*), FXBMOD(*),
305 . (*), MCP(*),TEMP(*),RMSTIFN(*), RMSTIFR(*),
306 . MS_LAYER(*),ZI_LAYER(*), MCPC(*), MCPTG(*),
307 . MBUFEL(LBUFEL,*), MDEPL(3*NUMNOD,*),
308 . XREFC(4,3,*),XREFTG(3,3,*),XREFS(8,3,*), MSSA(*), MSRT(*),
309 . KVOL(NBSUBMAT,*),TOTADDMAS,MSZ2(*),
310 . MSIG3D(*),KNOT(*),WIGE(*),RNOISE(*),
311 . SH4ANG(*),SH3ANG(*),GEO_STACK(*),STIFINTR(*),
312 . STRC(*),STRR(*),STRP(*),STRTG(*),SIGI(NSIGS,*),SIGSH(MAX(1,NSIGSH),*),
313 . SIGSP(NSIGI,*),SIGSPH(NSIGSPH,*),SIGRS(NSIGRS,*),SIGBEAM(NSIGBEAM,*),
314 . SIGTRUSS(NSIGTRUSS,*),TOTMAS, KNOTLOCPC(*),(*),VNIGE(*),BNIGE(*),
315 . FXBGLM(*),FXBCPM(*),FXBCPS(*),FXBLM(*),FXBFLS(*),FXBDLS(*),FXB_MATRIX(*),
316 . RBY_INIAXIS(7,*),ALEA(*),DR(SDR)
318 my_real,
DIMENSION(NUMNOD*2),
TARGET :: stifn
319 my_real ,
DIMENSION(:),
POINTER :: stifr
321 INTEGER NOM_OPT(LNOPT1,*),PTR_NOPT_RBE2,PTR_NOPT_ADM,PTR_NOPT_FUN,IOPT
322 INTEGER FXBNOD(*), FXANI(2,*),ITAGND(*)
323 INTEGER,
INTENT(IN) :: NPRELOAD_A
324 INTEGER,
INTENT(IN) :: NDAMP_FREQ_RANGE
325 my_real,
INTENT(IN) :: DAMPR(NRDAMP,NDAMP)
326 INTEGER,
INTENT(IN) :: IBEAM_VECTOR(NUMELP)
327 my_real,
INTENT(IN) :: RBEAM_VECTOR(3,NUMELP)
328 INTEGER,
INTENT(IN) :: IKINE(3*NUMNOD)
330 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
331 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP,NXEL) :: XFEM_TAB
332 TYPE (STACK_PLY) :: STACK
333 TYPE (MULTI_FVM_STRUCT) :: MULTI_FVM
334 TYPE (INIMAP1D_STRUCT),
DIMENSION(NINIMAP1D),
INTENT(INOUT) :: INIMAP1D
335 TYPE (INIMAP2D_STRUCT),
DIMENSION(NINIMAP2D),
INTENT(INOUT) :: INIMAP2D
336 TYPE (FUNC2D_STRUCT),
DIMENSION(NFUNC2D),
INTENT(IN) :: FUNC2D
337 TYPE (FVM_INIVEL_STRUCT),
INTENT(IN) :: FVM_INIVEL(*)
338 TYPE (NLOCAL_STR_) :: NLOC_DMG
339 TYPE (GROUP_PARAM_),
DIMENSION(NGROUP) :: GROUP_PARAM_TAB
340 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(INOUT) :: MAT_PARAM
342 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
343 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
344 TYPE (GROUP_) ,
DIMENSION(NGRQUAD) :: IGRQUAD
345 TYPE (GROUP_) ,
DIMENSION(NGRSHEL) :: IGRSH4N
346 TYPE () ,
DIMENSION(NGRSH3N) :: IGRSH3N
347 TYPE () ,
DIMENSION(NGRPART) :: IGRPART
348 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
349 TYPE (ADMAS_) ,
DIMENSION(NODMAS) :: IPMAS
350 TYPE (INIVOL_STRUCT_) ,
DIMENSION(NUM_INIVOL) :: INIVOL
351 TYPE (DETONATORS_STRUCT_) :: DETONATORS
352 TYPE (DRAPE_) ,
DIMENSION(NUMELC_DRAPE + NUMELTG_DRAPE):: DRAPE
353 TYPE (DRAPEG_) :: DRAPEG
354 TYPE (t_ale_connectivity),
INTENT(INOUT) :: ALE_CONNECTIVITY
355 TYPE (INTBUF_STRUCT_) ,
INTENT(IN ) :: INTBUF_TAB(NINTER)
356 TYPE (INTERFACES_) ,
INTENT(INOUT ) :: INTERFACES
357 TYPE (PREL1D_) ,
INTENT(IN) ,
DIMENSION(NPRELOAD_A) :: PRELOAD_A
358 TYPE (SENSORS_) ,
INTENT(IN) :: SENSORS
359 TYPE (FAIL_FRACTAL_) ,
INTENT(IN) :: FAIL_FRACTAL
360 TYPE (FAIL_BROKMANN_) ,
INTENT(IN) :: FAIL_BROKMANN
361 TYPE (DEFAULTS_) ,
INTENT(IN) :: DEFAULTS
362 type (glob_therm_) ,
intent(inout) :: glob_therm
368 INTEGER (KIND=8),
DIMENSION(:,:),
ALLOCATABLE :: I8MI
369 INTEGER NG, NEL, NVC, K, N, M, NSL, NN1, NN2, NN3, I, K0,NV46,
370 . ISPH, J, IG, OFFSET,ISOLNOD,IPROP,IGTYP,
371 . I15A,I15B,I15C,I15D,I15E,I15F,I15G,I15H,I15I,I15J,I15K,I15ATH,
372 . I15L,NC1_OLD, NC2_OLD, NC3_OLD, NC4_OLD,
373 . NC5_OLD, NC6_OLD, NC7_OLD, ,
374 . NC1, NC2, , NC4, NC5, NC6, NC7, NC8,
375 . IINT, ISENS,ITHK, IHBE, JHBE, ILEV,ISH3N,
376 . kk1, kk2, kk3,iaduix,iadux ,iaduv ,iaduvr,iadums,
377 . iaduin,iadusm,iadusr,iadumv,iadurv, nuvar,icnod, rbyid,
378 . adrrpm,alm,asig,nels,nelc,neltg,amod,nbno,nme,nml,arpm,lvsig,
379 . ifile,ircs,nelt,nelp,fxbid, anod, ircm, nsni, nsn, nmani, imin, imax,
380 . nelemr,cpt_eltens,ixfem,itg,isubstack,nctrl, itetra10, kk,px,py,pz,ipid
382 INTEGER SOLMAT(0:MAXLAW), COQMAT(0:MAXLAW), TRUMAT(0:MAXLAW),
383 . poumat(0:maxlaw),sphmat(0:maxlaw),
384 . resmat(0:maxlaw),respid(0:50), sphpid(0:50),
385 . solpid(0:50), coqpid(0:52), trupid(0:50), poupid(0:50)
386 INTEGER II,NINDX,FLAG_KJ
390 my_real,
DIMENSION(:),
ALLOCATABLE ::
391 . mbufel_tmp, mdepl_tmp,partsav,mcps,mcpsx,
392 . ms_layerc,zi_layerc, msz2c,zply,partsav1_pon
394 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IRIG_NODE, CONNEC
395 my_real,
DIMENSION(:),
ALLOCATABLE :: part_area,ele_area
397 my_real addedms(npart)
398 INTEGER ID,ISTOT, NF1,NNOD,NSROT,IDRAPE,ICPRE
399 CHARACTER(LEN=NCHARTITLE)::TITR
400 LOGICAL :: ERROR_THROWN
401 INTEGER,
INTENT(IN) :: NOD2ELTG(3*NUMELTG)
402 INTEGER,
INTENT(IN) :: NOD2ELQ(3*NUMELQ)
403 INTEGER,
INTENT(IN) :: NOD2ELS(3*NUMELS)
404 INTEGER,
INTENT(IN) :: KNOD2ELTG(NUMNOD+1)
405 INTEGER,
INTENT(IN) :: KNOD2ELQ(NUMNOD+1)
406 INTEGER,
INTENT(IN) :: KNOD2ELS(NUMNOD+1)
410 TYPE(g_bufel_) ,
POINTER :: GBUF
411 TYPE(buf_mat_) ,
POINTER :: MBUF
418 data i8_deuxp43 /
'80000000000'x/
419 r8_deuxm43 = 1.d00 / i8_deuxp43
422 DATA solpid/1,0,0,0,0,0,1,0,0,0,0,
423 1 0,0,0,1,1,0,0,0,0,1,
424 2 1,1,0,0,0,0,0,0,1,0,
425 3 0,0,0,0,0,0,0,0,0,0,
426 4 0,0,1,0,0,0,0,0,0,0/
427 DATA coqpid/1,1,0,0,0,0,0,1,0,1,1,
428 1 1,0,0,0,0,1,1,0,1,0,
429 2 0,0,0,0,0,0,0,0,0,0,
430 3 0,0,0,0,0,0,0,0,0,0,
431 4 0,0,0,0,0,0,0,0,0,0,
433 DATA trupid/0,0,1,0,0,0,0,0,0,0,0,
434 1 0,0,0,0,0,0,0,0,0,0,
435 2 0,0,0,0,0,0,0,0,0,0,
436 3 0,0,0,0,0,0,0,0,0,0,
437 4 0,0,0,0,0,0,0,0,0,0/
438 DATA poupid/0,0,0,1,0,0,0,0,0,0,0,
439 1 0,0,0,0,0,0,0,1,0,0,
440 2 0,0,0,0,0,0,0,0,0,0,
441 3 0,0,0,0,0,0,0,0,0,0,
442 4 0,0,0,0,0,0,0,0,0,0/
443 DATA respid/0,0,0,0,1,0,0,0,1,0,0,
444 1 0,1,1,0,0,0,0,0,0,0,
445 2 0,0,1,0,1,1,1,0,1,1,
446 3 1,1,1,0,1,1,0,0,0,0,
447 4 0,0,0,1,1,1,0,0,0,0/
448 DATA sphpid/0,0,0,0,0,0,0,0,0,0,0,
449 1 0,0,0,0,0,0,0,0,0,0,
450 2 0,0,0,0,0,0,0,0,0,0,
451 3 0,0,0,1,0,0,0,0,0,0,
452 4 0,0,0,0,0,0,0,0,0,0/
460 ALLOCATE (i8mi(6,numnod) ,stat=stat)
462 ALLOCATE (i8mi(6,1) ,stat=stat)
465 ALLOCATE (partsav(20*npart) ,stat=stat)
467 stifr => stifn(numnod+1:numnod*2)
468 ALLOCATE (partsav1_pon(npart) ,stat=stat)
470 IF(npreload > 0)
THEN
471 ALLOCATE (vpreload(7*numels) ,stat=stat)
474 IF (npart > 0) partsav= zero
475 IF (npart > 0) partsav1_pon=zero
476 IF (npreload > 0 .AND. numels > 0) vpreload = zero
479 IF(icrack3d > 0)itg = 1 + numelc
482 error_thrown = .false.
504 IF(irigid_mat > 0 )
THEN
505 nelemr = numelc + numels10 + numels8 + numeltg
506 ALLOCATE(irig_node(numnod
507 ALLOCATE(connec(nelemr*10))
511 ALLOCATE(connec(0),irig_node(0))
516 IF(iplyxfem> 0 )
THEN
517 ALLOCATE(ms_layerc(nplymax*numelc))
518 ALLOCATE(zi_layerc(nplymax*numelc))
519 ALLOCATE(msz2c(numelc))
520 ALLOCATE(zply(nplymax))
526 ALLOCATE(ms_layerc(0))
527 ALLOCATE(zi_layerc(0))
753 i15ath = 1+lipart1*npart+lipart1*nthpart
754 i15a = i15ath+2*9*npart+2*9*nthpart
765 i15l = i15k+numelig3d
770 CALL checkmp(numels,ixs,nixs,nixs-1,nixs,solmat,solpid,ipm,igeo,
'BRICK' ,ipart(i15a))
771 CALL checkmp(numelq,ixq,nixq,nixq-1,nixq,solmat,solpid,ipm,igeo,
'QUAD' ,ipart(i15b))
772 CALL checkmp(numelc,ixc,nixc,nixc-1,nixc,coqmat,coqpid,ipm,igeo,
'SHELL' ,ipart(i15c))
773 CALL checkmp(numeltg,ixtg,nixtg,nixtg-1,nixtg,coqmat,coqpid,ipm,igeo,
'SHELL3N',ipart(i15h))
774 CALL checkmp(numelt,ixt,nixt,nixt-1,nixt,trumat,trupid,ipm,igeo,
'TRUSS' ,ipart(i15d))
775 CALL checkmp(numelp,ixp,nixp,nixp-1,nixp,poumat,poupid,ipm,igeo,
'BEAM' ,ipart(i15e))
776 CALL checkmp(numelr,ixr,nixr, 1,nixr,-1 ,respid,ipm,igeo,
'SPRING' ,ipart(i15f))
777 CALL chekmp2(numsph,ipart ,ipart(i15j),kxsp,nisp,nisp,sphmat,sphpid,ipm,igeo,
'SPHCEL')
782 IF(bcs%NUM_WALL > 0)
THEN
783 CALL init_bcs_wall(igrnod,ngrnod,numnod,ale_connectivity,multi_fvm,
784 . ixs,nixs,numels, ixq,nixq,numelq, ixtg,nixtg,numeltg, n2d,
785 . ngroup,nparg,iparg,ipri)
790 IF (npreload > 0)
THEN
797 IF (numsph/=0.AND.nspcond/=0)
798 .
CALL inspcnd(ispcond ,igrnod ,kxsp ,ixsp ,
799 . nod2sp ,itab ,icode ,iskew ,iskn ,
800 . skew ,xframe ,x ,ispsym ,isptag ,
801 . pm ,geo ,ipart ,ipart(i15j))
805 IF (n_seatbelt > 0)
CALL ini_seatbelt(iparg,elbuf_tab,knod2el1d,nod2el1d,ixr,
806 . x,itab,ipm,alea,knod2elc,
815 IF (glob_therm%ITHERM_FE > 0 )
THEN
816 ALLOCATE(mcps(8*numels))
818 IF(numels10 > 0.OR.numels16 > 0 .OR.numels20 > 0)
THEN
819 ALLOCATE(mcpsx(12*numels))
822 ALLOCATE(mcpp(numelp))
825 ALLOCATE(mcpsx(0), mcps(0), mcpp(0))
828 IF ((imasadd > 0).OR.(nloc_dmg%IMOD > 0))
THEN
829 ALLOCATE(part_area(npart) ,stat=stat)
830 part_area(1:npart) = zero
831 ALLOCATE(ele_area(numelc+numeltg) ,stat=stat)
832 ele_area(1:numelc+numeltg) = zero
834 ALLOCATE(part_area(1),ele_area(1))
857 isolnod = iparg(28,ng)
858 user_grp_domain = iparg(32,ng)+1
861 isorth = iparg(42,ng)
863 idrape = iparg(92,ng)
864 IF(isolnod == 10) isrot = iparg(74,ng)
865 iexpan = iparg(49,ng)
866 ishxfem_ply = iparg(50,ng)
867 IF (icrack3d == 0)
THEN
871 isubstack = iparg(71,ng)
872 iboltp = iparg(72,ng)
873 iformdt = iparg(73,ng)
876 IF (ity==1.AND.(ismstr>=10.AND.ismstr<=12)) istot = 1
877 IF (ity == 3.OR.ity == 7)
THEN
883 ELSEIF (ity == 1)
THEN
893 IF((isolnod == 4 .AND.isrot==2).OR.
894 . (isolnod == 10.AND.isrot==1).OR.
895 . (isolnod == 10.AND.isrot==3))
THEN
900 IF((numels/=0) .AND. (n2d/=0))
THEN
901 CALL ancmsg(msgid=603, msgtype=msgerror, anmode=aninfo_blind_2)
908 IF ((mtn == 0 .AND. igtyp /= 52 .AND. igtyp /= 51) .or.
909 . (igtyp == 0 .and. (ity == 1 .or. ity == 3 .or. ity == 7)) )
THEN
914 isolnod = iparg(28,ng)
918 1 ixc ,ixs ,ixtg ,x ,v ,
919 2 pm ,geo ,ms ,in ,ptg ,
920 3 msc ,mss ,mstg ,inc ,intg ,
921 4 thk(1+nft) ,thk(1+nft+numelc),partsav,ipart(i15a),
922 5 ipart(i15c),ipart(i15h),veul ,dtelem ,ihbe ,
924 7 igeo ,etnod ,nshnod ,stc ,sttg ,
925 8 wma ,sh4tree ,sh3tree ,mcp ,mcpc ,
926 9 temp ,mcps ,xrefc ,xreftg ,xrefs ,
927 a mssa ,volnod ,bvolnod ,vns ,bns ,
928 b sh3trim ,isubstack ,stack ,rnoise ,perturb
929 c ele_area ,part_area ,ipart(i15d),ixt ,ipart(i15e),
930 d ixp ,mst ,msp ,stt ,stp ,
931 e strp ,inp ,stifint ,mcpp ,inr ,
932 f msr ,msrt ,str ,ipart(i15f),itab ,
933 g ixr , imerge2 ,iadmerge2 ,nel ,defaults ,
934 h glob_therm,ibeam_vector,rbeam_vector)
936 ELSEIF( mtn == 13)
THEN
942 isolnod = iparg(28,ng)
946 1 ixc ,ixs ,ixtg ,ixs10 ,x ,
947 2 v ,pm ,geo ,ms ,in ,
948 3 ptg ,msc ,mss ,mstg ,inc ,
949 4 intg ,thk(1+nft) ,thk(1+nft+numelc),partsav,ipart(i15a),
950 5 ipart(i15c),ipart(i15h),veul ,dtelem ,ihbe ,
951 6 isolnod ,nvc ,i8mi ,msnf ,mssf ,
952 7 igeo ,etnod ,nshnod ,stc ,sttg ,
953 8 wma ,sh4tree ,sh3tree ,mcp ,mcpc ,
954 9 temp ,mcps ,mssx ,mcpsx ,ins ,
955 a stifn ,stifr ,connec ,irig_node ,nelemr ,
956 b nindx ,xrefc ,xreftg ,xrefs ,mssa ,
957 c sh3trim ,isubstack ,bufmat ,ipm ,stack ,
958 d rnoise ,strc ,strtg ,perturb ,nel ,
959 e group_param_tab(ng) ,igtyp ,defaults ,glob_therm)
974 gbuf => elbuf_tab(ng)%GBUF
975 IF (iusolyld == 1 )
THEN
977 . elbuf_tab(ng), ixs , sigsp ,sigi , nsigi,
978 . nel ,lft , llt ,nft , nsigs,
981 IF (isolnod == 4.AND.(isrot==0.OR.isrot==3))
THEN
982 IF (multi_fvm%IS_USED)
THEN
984 . nel, nsigs, nsigi, ixs, igeo, ipm, iparg, ale_connectivity, ipart
985 . npc, ipart, iloadp,
986 . xrefs, geo, pm, facload, pld, skew, sigi, bufmat, x,
987 . wma, partsav, ms, v, mss, mssf, mssa, msnf, mcps, error_thrown, detonators,
988 . defaults, mat_param,glob_therm%NINTEMP)
991 CALL sgsavini(isolnod,x,ixs(1,nft+1),gbuf%SMSTR,nel)
993 CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
994 . gbuf%SMSTR,gbuf%OFF,nel)
998 1 elbuf_tab(ng),ms ,ixs ,pm ,x ,
999 2 detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1000 3 dtelem ,sigi ,nel ,skew ,igeo ,
1001 4 stifn ,partsav ,v ,ipart(i15a),mss ,
1002 5 ipart ,msnf ,iparg ,
1003 6 mssf ,ipm ,nsigs ,volnod ,bvolnod ,
1004 7 vns ,bns ,wma ,ptsol ,bufmat ,
1005 8 mcp ,mcps ,temp ,npc ,pld ,
1006 9 iuser ,sigsp ,nsigi ,mssa ,xrefs ,
1007 a strsglob(nf1),straglob(nf1),fail_ini ,spbuf ,sol2sph ,
1008 b iloadp ,facload ,rnoise ,perturb ,mat_param ,
1009 c defaults%SOLID,glob_therm%NINTEMP )
1010 IF (nxref > 0 .AND. jlag/=0 .AND. jsph==0)
THEN
1012 1 elbuf_tab(ng),ixs ,pm ,geo ,iparg(1,ng),
1013 2 ipm ,igeo ,skew ,x ,xrefs ,
1014 3 nel ,ipart(i15a),ipart ,bufmat ,mat_param ,
1015 4 npc ,pld ,nummat )
1017 IF (istot == 1)
THEN
1018 CALL sgsavref(isolnod,xrefs(1,1,nft+1),gbuf%SMSTR,nel)
1021 IF (nsigi > 0 )
THEN
1022 IF (nxref > 0 .OR. ismstr == 1)
1023 .
CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1024 . gbuf%SMSTR,gbuf%OFF,nel)
1027 ELSEIF(isolnod == 10 .OR.(isolnod == 4 .AND.isrot == 1))
THEN
1031 2 detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1032 3 dtelem ,sigi ,nel ,skew ,igeo ,
1033 4 stifn ,partsav ,v ,ipart(i15a),mss ,
1034 5 ixs10 ,ipart ,glob_therm,
1035 7 mssx ,sigsp ,nsigi ,ipm ,
1036 8 iuser ,nsigs ,volnod ,bvolnod ,vns ,
1037 9 bns ,vnsx ,bnsx ,ptsol ,bufmat ,
1038 a mcp ,mcps ,mcpsx ,temp ,npc ,
1039 b pld ,in ,stifr ,ins ,mssa ,
1040 c strsglob(nf1),straglob(nf1),fail_ini,iloadp ,facload ,
1041 d perturb ,rnoise ,mat_param,defaults%SOLID)
1042 IF (nsigi > 0 )
THEN
1045 IF(isolnod == 4 .AND.isrot == 1) nsrot = 4
1046 CALL sgsavinierefq(nnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1047 . gbuf%SMSTR,gbuf%OFF,ixs(1,nf1),dr,nsrot,nel)
1048 IF (ismstr==10.OR.ismstr==12)
1049 .
CALL s10jaci3(elbuf_tab(ng),gbuf%SMSTR,npt,nel)
1051 ELSEIF(ity==1.AND.isolnod==20)
THEN
1052 kk1=1+numels*nixs+numels10*6
1054 1 elbuf_tab(ng),ms ,ixs ,pm ,x ,
1055 2 detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1056 3 dtelem ,sigi ,nel ,skew ,igeo ,
1057 4 stifn ,partsav ,v ,ipart(i15a),mss ,
1058 5 ixs20 ,ipart ,mssx ,sigsp ,nsigi ,
1059 7 ipm , iuser ,nsigs ,volnod ,bvolnod ,
1060 8 vns ,bns ,vnsx ,bnsx ,ptsol
1061 9 bufmat ,mcp ,mcps ,mcpsx ,temp ,
1062 a npc ,pld ,strsglob(nf1),straglob(nf1),fail_ini ,
1063 b iloadp ,facload ,perturb,rnoise ,mat_param ,
1065 ELSEIF(ity==1.AND.isolnod==16)
THEN
1066 kk1=1+numels*nixs+numels10*6+numels20*12
1068 1 elbuf_tab(ng),ms ,ixs ,pm ,x ,
1069 2 detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1070 3 dtelem ,sigi ,nel ,skew ,igeo ,
1071 4 stifn ,partsav ,v ,ipart(i15a),mss ,
1073 6 ipm ,iuser ,nsigs ,volnod ,bvolnod
1074 7 vns ,bns ,vnsx ,bnsx ,ptsol ,
1075 8 bufmat ,mcp ,mcps ,mcpsx ,temp ,
1077 a iloadp ,facload ,perturb ,rnoise ,mat_param ,
1083 IF (jhbe==1.OR.jhbe==2.OR.jhbe==12.OR.jhbe==16)
THEN
1088 iprop = ixs(10,nft+1)
1089 igtyp = nint(geo(npropg*(iprop-1)+12))
1090 nuvar = nint(geo(npropg*(iprop-1)+25))
1091 istrain = iparg(44,ng)
1092 IF (jhbe == 15)
THEN
1094 IF (isolnod == 6)
THEN
1096 . elbuf_tab(ng),ms ,ixs ,pm ,x ,
1097 . detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1098 . dtelem ,sigi ,nel ,skew ,igeo ,
1099 . stifn ,partsav ,v ,ipart(i15a),mss,
1100 . ipart ,glob_therm,
1101 . sigsp ,nsigi ,ipm ,iuser ,nsigs ,
1102 . volnod ,bvolnod ,vns ,bns ,ptsol ,
1103 . bufmat ,mcp ,mcps ,mcpsx
1104 . npc ,pld ,strsglob(nf1),straglob(nf1),mssa ,
1105 . orthoglob ,fail_ini ,iloadp ,facload ,perturb ,
1106 . rnoise ,mat_param,defaults%SOLID)
1109 . ms ,ixs ,pm ,x ,mss ,
1110 . detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1111 . dtelem ,sigi ,nel ,skew ,igeo ,
1112 . stifn ,partsav ,v ,ipart(i15a) ,ipart ,
1113 . sigsp ,nsigi ,msnf ,mssf ,ipm ,
1114 . iuser ,nsigs ,volnod ,bvolnod ,vns ,
1116 . mcps ,temp ,npc ,pld ,mssa ,
1117 . strsglob(nf1),straglob(nf1),orthoglob ,fail_ini ,iloadp ,
1118 . facload ,rnoise ,perturb ,glob_therm)
1120 ELSEIF (jhbe == 14 .AND.
1121 . (igtyp == 20 .OR. igtyp == 21 .OR. igtyp == 22))
THEN
1123 gbuf => elbuf_tab(ng)%GBUF
1125 . elbuf_tab(ng),ms ,ixs ,pm ,x ,
1126 . detonators,geo ,veul ,ale_connectivity,iparg(1,ng),
1127 . dtelem ,sigi ,nel ,skew ,igeo ,
1128 . stifn ,partsav ,v ,ipart(i15a),mss,
1129 . ipart ,sigsp ,nsigi ,msnf ,mssf ,ipm ,
1130 . iuser ,nsigs ,volnod ,bvolnod ,vns ,
1131 . bns ,wma ,ptsol ,bufmat ,mcp ,
1132 . mcps ,temp ,npc ,pld ,xrefs ,
1133 . mssa ,strsglob,strsglob(nf1),straglob(nf1),fail_ini,
1134 . iloadp ,facload ,perturb ,rnoise ,mat_param,glob_therm)
1135 IF (istot == 1)
THEN
1136 CALL sgsavini(isolnod,x,ixs(1,nft+1),gbuf%SMSTR,nel)
1138 IF (nsigi > 0 )
THEN
1139 CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1140 . gbuf%SMSTR,gbuf%OFF,nel)
1142 ELSEIF (jhbe == 14 .OR. jhbe == 222 .OR. jhbe
THEN
1144 gbuf => elbuf_tab(ng)%GBUF
1145 IF (istot == 1)
THEN
1146 CALL sgsavini(isolnod,x,ixs(1,nft+1),gbuf%SMSTR,nel)
1147 IF (nsigi > 0 )
THEN
1148 CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1151 IF (nxref > 0 .AND. jhbe == 17 )
THEN
1153 1 elbuf_tab(ng),ixs ,pm ,geo ,iparg(1,ng),
1154 2 ipm ,igeo ,skew ,x ,xrefs ,
1155 3 nel ,ipart(i15a),ipart ,bufmat ,mat_param,
1156 6 npc ,pld ,nummat )
1157 CALL sgsavref(isolnod,xrefs(1,1,nft+1),gbuf%SMSTR,nel)
1161 . elbuf_tab(ng),ms ,ixs ,pm ,x ,
1162 . detonators,geo ,veul ,ale_connectivity,iparg(1,ng),
1163 . dtelem,sigi ,nel ,skew ,igeo ,
1164 . stifn ,partsav ,v ,ipart(i15a),mss,
1165 . ipart ,glob_therm,
1166 . sigsp ,nsigi ,msnf ,mssf ,ipm ,
1167 . iuser ,nsigs ,volnod ,bvolnod ,vns ,
1168 . bns ,wma ,ptsol ,bufmat ,mcp ,
1169 . mcps ,temp ,npc ,pld ,xrefs ,
1170 . mssa ,strsglob(nf1),straglob(nf1),fail_ini,spbuf ,
1172 . iloadp ,facload ,perturb ,rnoise ,mat_param)
1173 IF (nsigi > 0 .AND. ismstr == 1)
THEN
1174 CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1175 . gbuf%SMSTR,gbuf%OFF,nel)
1177 ELSEIF (igtyp>=29)
THEN
1178 CALL suinit3(elbuf_tab(ng),ms ,ixs ,pm ,x ,
1179 . detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1180 . dtelem,sigi ,nel ,skew ,igeo ,
1181 . stifn ,partsav ,v ,ipart(i15a),mss,
1182 . ipart ,sigsp ,glob_therm,temp ,
1183 . nsigi ,in ,vr ,ipm ,nsigs ,
1184 . volnod ,bvolnod ,vns ,bns ,ptsol ,
1185 . bufmat ,npc ,pld ,fail_ini ,ins ,
1186 . iloadp ,facload ,perturb,rnoise ,mat_param)
1188 gbuf => elbuf_tab(ng)%GBUF
1189 IF (npt == 1 .AND. istot == 1)
THEN
1190 CALL sgsavini(isolnod,x,ixs(1,nft+1),gbuf%SMSTR,nel)
1191 IF (nsigi > 0 )
THEN
1192 CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1193 . gbuf%SMSTR,gbuf%OFF,nel)
1196 IF (jmult == 0)
THEN
1198 1 elbuf_tab(ng),ms ,ixs ,pm ,x ,
1199 2 detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1200 3 dtelem ,sigi ,nel ,skew ,igeo ,
1201 4 stifn ,partsav ,v ,ipart(i15a),mss ,
1202 5 ipart ,sigsp ,ng ,iparg ,
1203 7 nsigi ,msnf ,nvc ,mssf ,ipm ,
1204 8 iuser ,nsigs ,volnod ,bvolnod ,vns ,
1205 9 bns ,in ,vr ,ins ,wma ,
1206 a ptsol ,bufmat ,mcp ,mcps ,temp ,
1207 b xrefs ,npc ,pld ,mssa ,strsglob(nf1),
1208 c straglob(nf1),fail_ini ,spbuf ,kxsp ,ipart(i15j),
1209 d nod2sp ,sol2sph ,irst ,iloadp ,facload ,
1210 e rnoise ,perturb ,mat_param,glob_therm)
1211 ELSE IF (jmult > 0 .AND. mtn == 151)
THEN
1214 1 elbuf_tab(ng),ms ,ixs ,pm ,x ,
1215 2 geo ,ale_connectivity ,iparg(1,ng),
1216 3 dtelem ,sigi ,nel ,skew ,igeo ,
1217 4 stifn ,partsav ,v ,ipart(i15a),mss ,
1218 5 ipart ,sigsp ,ng ,iparg ,glob_therm ,
1219 7 nsigi ,msnf ,nvc ,mssf ,ipm ,
1220 8 iuser ,nsigs ,volnod ,bvolnod ,vns ,
1221 9 bns ,in ,vr ,ins ,wma ,
1222 a ptsol ,bufmat ,mcp ,mcps ,temp ,
1223 b xrefs ,npc ,pld ,mssa ,strsglob(nf1),
1224 c straglob(nf1),fail_ini ,spbuf ,kxsp ,ipart(i15j),
1225 d nod2sp ,sol2sph ,irst ,iloadp ,facload ,
1226 e multi_fvm, error_thrown,detonators, mat_param)
1230 1 elbuf_tab(ng),ixs ,pm ,geo ,iparg(1,ng),
1231 2 ipm ,igeo ,skew ,x ,xrefs ,
1232 3 nel ,ipart(i15a),ipart
1233 6 npc ,pld ,nummat )
1236 IF (nxref > 0 .AND. (npt == 1 .AND. istot
THEN
1237 CALL sgsavref(isolnod,xrefs(1,1,nft+1),gbuf%SMSTR,nel)
1239 IF (nsigi > 0 )
THEN
1240 IF (nxref > 0 .OR. ismstr == 1 )
1241 .
CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1242 . gbuf%SMSTR,gbuf%OFF,nel)
1245 nc2 = (nvc-nc1*128) / 64
1246 nc3 = (nvc-nc1*128-nc2*64) / 32
1247 nc4 = (nvc-nc1*128-nc2*64-nc3*32)/16
1248 nc5 = (nvc-nc1*128-nc2*64-nc3*32-nc4*16)/8
1249 nc6 = (nvc-nc1*128-nc2*64-nc3*32-nc4*16-nc5*8)/4
1250 nc7 = (nvc-nc1*128-nc2*64-nc3*32-nc4*16-nc5*8-nc6*4)/2
1251 nc8 = (nvc-nc1*128-nc2*64-nc3*32-nc4*16-nc5*8-nc6*4-nc7*2)
1252 IF (nc1 == 1) nc1_old = 1
1253 IF (nc2 == 1) nc2_old = 1
1254 IF (nc3 == 1) nc3_old = 1
1255 IF (nc4 == 1) nc4_old = 1
1256 IF (nc5 == 1) nc5_old = 1
1257 IF (nc6 == 1) nc6_old = 1
1258 IF (nc7 == 1) nc7_old = 1
1259 IF (nc8 == 1) nc8_old = 1
1260 iparg(19,ng) = nc1_old*128+nc2_old*64+nc3_old*32+nc4_old*16+nc5_old*8+nc6_old*4+nc7_old*2+nc8
1266 ELSEIF(ity == 2)
THEN
1268 IF (jmult == 0)
THEN
1269 IF (ihbe == 17 .OR. (n2d == 1.AND.ihbe == 22))
THEN
1270 CALL q4init2(elbuf_tab(ng),ms ,ixq,pm,x,
1271 2 detonators,geo,veul,ale_connectivity
1272 3 dtelem,sigi,igeo ,
1273 4 nel ,skew , msq ,ipart ,ipart(i15b),
1274 5 ipm ,nsigs ,wma ,ptquad ,bufmat ,
1275 6 npc ,pld ,iparg ,iloadp ,facload ,
1279 . elbuf_tab(ng),ms,ixq ,pm ,x ,
1280 . detonators,geo,veul,ale_connectivity,iparg(1,ng),
1281 . dtelem,sigi,igeo ,
1282 . nel ,skew, msq, ipart, ipart(i15b),
1284 . wma ,ptquad ,bufmat ,npc ,pld,
1285 . iparg ,iloadp ,facload ,partsav,v)
1290 . elbuf_tab(ng),ms ,ixq ,pm ,x ,
1291 . detonators ,veul ,ale_connectivity ,iparg(1,ng) ,fill ,
1292 . sigi ,bufmat ,nel ,mat_param ,
1293 . skew ,msq ,ipart ,ipart(i15b) ,
1295 . nsigs ,wma ,ptquad ,npc ,pld ,
1296 . iparg ,iloadp ,facload ,partsav ,v )
1297 ELSE IF (mtn == 151)
THEN
1300 . iparg, ixq, ipm, ale_connectivity, igeo, ipart
1301 . ptquad, iloadp, x, pm,
1302 . geo, sigi, skew, pld, bufmat, facload, elbuf_tab(ng), error_thrown,detonators,
1311 ELSEIF (ity == 3)
THEN
1312 istrain =iparg(44,ng)
1318 IF (ihbe>10.AND.ihbe<29)
THEN
1320 IF (sitage>0) ptr_itage=>itage(1)
1323 2 ms ,in ,nvc ,dtelem,igrsh4n ,
1324 3 xrefc ,nel ,ithk ,ihbe ,igrsh3n ,
1325 4 thk(1+nft),isigsh,sigsh ,stifn ,stifr ,
1326 5 partsav ,v ,ipart(i15c) ,msc,inc ,
1327 6 skew ,i8mi ,nsigsh ,igeo ,
1328 7 ipm ,iuser ,etnod ,nshnod ,stc ,
1329 8 ptshel ,bufmat ,sh4tree ,mcp ,mcpc ,
1330 9 temp ,ms_layer, zi_layer ,itag ,itagel ,
1331 a iparg(1,ng),ms_layerc,zi_layerc,part_area,cpt_eltens,
1332 b msz2c ,zply ,itagn ,ptr_itage ,ixfem ,
1333 c npc ,pld ,xfem_tab,isubstack ,stack ,
1334 d rnoise ,drape ,sh4ang ,iddlevel,geo_stack,
1335 e igeo_stack ,strc ,perturb ,iyldini ,ele_area,
1336 f nloc_dmg ,ng ,group_param_tab(ng),idrape,drapeg,
1337 g mat_param ,fail_fractal,fail_brokmann,glob_therm)
1340 IF (sitage>0) ptr_itage => itage(1)
1341 CALL cinit3(elbuf_tab(ng),
1343 2 ms ,in ,nvc ,dtelem ,igrsh4n ,
1344 3 xrefc ,nel ,ithk ,ihbe ,igrsh3n ,
1345 4 thk(1+nft),isigsh ,sigsh ,stifn ,stifr ,
1346 5 partsav ,v ,ipart(i15c),msc ,inc ,
1347 8 skew ,iparg(1,ng),i8mi
1348 9 iuser ,etnod ,nshnod ,stc ,ptshel ,
1349 a ipm ,bufmat ,sh4tree ,mcp ,mcpc ,
1350 b temp ,cpt_eltens ,part_area ,itagn ,ptr_itage ,
1351 c ixfem ,npc ,pld ,xfem_tab,isubstack,
1352 d stack ,rnoise ,drape ,sh4ang ,iddlevel ,
1353 e geo_stack,igeo_stack ,strc ,perturb ,iyldini ,
1354 f ele_area ,ng ,group_param_tab(ng) ,nloc_dmg ,
1355 g idrape ,drapeg ,mat_param ,fail_fractal,fail_brokmann,
1359 nc2 = (nvc-nc1*8) / 4
1360 nc3 = (nvc-nc1*8-nc2*4) / 2
1361 nc4 = nvc-nc1*8-nc2*4-nc3*2
1362 IF (nc1 == 1) nc1_old = 1
1363 IF (nc2 == 1) nc2_old = 1
1364 IF (nc3 == 1) nc3_old = 1
1365 IF (nc4 == 1) nc4_old = 1
1366 iparg(19,ng)=nc1_old*8+nc2_old*4+nc3_old*2+nc4_old
1372 ELSEIF (ity == 4)
THEN
1373 CALL tinit3(elbuf_tab(ng),
1374 1 ixt ,pm ,x ,geo ,ms ,
1375 2 dtelem ,nft ,nel ,stifn ,partsav,
1376 3 v ,ipart(i15d),mst ,stifint,stt ,
1377 4 igeo ,nsigtruss ,sigtruss ,pttruss,
1378 5 preload_a,iboltp ,npreload_a )
1382 ELSEIF (ity == 5)
THEN
1383 CALL pinit3(elbuf_tab(ng),
1384 1 stp ,ixp ,pm ,x ,geo ,
1385 2 dtelem ,nft ,nel ,
1386 3 stifn ,stifr ,partsav ,v ,ipart(i15e),
1387 4 msp ,inp ,igeo ,strp ,
1388 5 nsigbeam ,sigbeam ,ptbeam ,iuser ,
1389 6 mcpp ,temp ,preload_a,iboltp ,npreload_a ,
1390 7 glob_therm ,ibeam_vector,rbeam_vector)
1394 ELSEIF (ity == 6)
THEN
1395 iopt = ptr_nopt_fun + 1
1396 CALL rinit3(elbuf_tab(ng),
1397 1 ixr ,x ,geo ,ms ,npc ,
1398 2 pld ,in ,skew ,dtelem ,nel ,
1399 3 stifn ,stifr ,partsav ,v ,ipart(i15f),
1401 5 inr ,stifint ,str(nft+1),igeo ,sigrs ,
1402 6 nsigrs ,imerge2 ,iadmerge2 ,msrt(nft+1),ixr_kj ,
1403 7 nom_opt(1,iopt),strr ,ptspri ,ipm , pm ,
1404 8 bufmat ,r_skew ,preload_a ,iboltp ,npreload_a,
1409 ELSEIF(ity == 7 .OR. ity == 8)
THEN
1410 istrain =iparg(44,ng)
1414 IF (ish3n == 30 .AND. icnod == 6) ish3n = 0
1417 IF (ish3n == 30)
THEN
1418 CALL cdkinit3(elbuf_tab(ng),group_param_tab(ng),
1419 1 ixtg ,pm ,x ,geo ,
1420 2 ms ,in ,nvc ,dtelem,
1421 3 xreftg ,offset,nel ,ithk ,thk(1+nft+numelc),
1422 4 isigsh ,sigsh(1,ksigsh3),stifn,stifr, partsav ,
1423 5 v ,ipart(i15h) ,mstg ,intg , ptg ,
1424 8 skew ,ish3n ,nsigsh ,igeo ,ipm ,
1425 9 iuser ,etnod ,nshnod ,sttg ,ptsh3n ,
1426 a bufmat ,sh3tree,mcp ,mcptg , temp ,
1427 b iparg(1,ng),cpt_eltens,part_area ,npc ,pld ,
1428 c sh3trim ,isubstack,stack ,rnoise,
1429 d drape,sh3ang ,geo_stack,igeo_stack,strtg,
1430 e perturb,iyldini ,ele_area,nloc_dmg,
1431 f idrape, drapeg,mat_param,glob_therm)
1432 ELSEIF (mtn == 151 .OR. n2d > 0)
THEN
1433 CALL multifluid_init2t(elbuf_tab(ng), nel, nsigs, nvc, iparg, ixtg, ale_connectivity,
1434 . igeo, ipart, ipart(i15h), ipm, ptsh3n, npc, iloadp,
1435 . x, pm, geo, sigi, skew, pld, bufmat, facload, multi_fvm, error_thrown, detonators,
1439 IF (sitage > 0) ptr_itage => itage(numelc+1)
1441 1 ixtg ,pm ,x ,geo ,igrsh4n,
1442 2 ms ,in ,nvc ,dtelem,igrsh3n ,
1443 3 xreftg ,offset,nel ,ithk ,thk(1+nft+numelc),
1444 4 isigsh ,sigsh(1,ksigsh3),stifn,stifr,partsav ,
1445 5 v ,ipart(i15h),mstg,intg ,ptg ,
1446 8 skew,iparg(1,ng) , nsigsh ,igeo,iuser ,
1447 9 etnod ,nshnod ,sttg ,ptsh3n ,ipm ,
1448 a bufmat ,sh3tree ,mcp ,mcptg , temp ,
1449 b cpt_eltens,part_area,ptr_itage,itagn,ixfem ,
1450 c npc ,pld ,sh3trim ,xfem_tab,
1451 d isubstack , stack,rnoise ,
1452 e drape ,sh3ang,iddlevel,geo_stack,igeo_stack,strtg,
1453 f perturb ,ish3n,iyldini ,ele_area,
1454 g nloc_dmg,ng,group_param_tab(ng),idrape,
1455 h drapeg,mat_param,fail_fractal,fail_brokmann,glob_therm)
1458 nc2 = (nvc-nc1*8) / 4
1459 nc3 = (nvc-nc1*8-nc2*4) / 2
1460 IF (nc1 == 1) nc1_old = 1
1461 IF (nc2 == 1) nc2_old = 1
1462 IF (nc3 == 1) nc3_old = 1
1463 iparg(19,ng)=nc1_old*8+nc2_old*4+nc3_old*2
1469 ELSEIF(ity == 51)
THEN
1472 isph2sol=iparg(69,ng)
1473 CALL spinit3(ity ,spbuf ,kxsp ,x ,geo ,
1474 2 ms ,npc ,pld ,in ,skew ,
1475 3 dtelem ,nel ,stifn ,stifr ,igeo ,
1476 4 partsav ,v ,ipart(i15j),bufmat,
1477 5 pm ,itab ,msr ,inr ,ixsp ,
1478 6 nod2sp ,iparg(1,ng),ale_connectivity ,detonators ,
1479 7 sigsph ,isptag ,ipart ,
1480 8 ipm ,nsigsph ,ptsph ,npc ,
1481 9 pld ,elbuf_tab(ng),mcp,temp ,iloadp
1482 a facload ,stifint ,i7stifs,glob_therm)
1486 ELSEIF(ity == 100)
THEN
1489 iaduv =iadux +3*maxnx
1490 iaduvr=iaduv +3*maxnx
1491 iadums=iaduvr+3*maxnx
1497 CALL xinit3(elbuf_tab(ng),kxx,ixx ,x ,v ,
1499 3 skew ,dtelem ,nel ,stifn ,stifr ,
1500 4 partsav ,ipart(i15i),geo ,
1501 5 itab ,xelemwa(iaduix) ,xelemwa(iadux) ,xelemwa(iaduv) ,
1502 6 xelemwa(iaduvr) ,xelemwa(iadums) ,xelemwa(iaduin) ,
1503 7 xelemwa(iadusm) ,xelemwa(iadusr) ,xelemwa(iadumv) ,
1504 8 xelemwa(iadurv) ,igeo, nft)
1509 ELSEIF (ity == 101)
THEN
1510 nctrl = iparg(75,ng)
1511 px = igeo(41,iparg(62,ng))
1512 py = igeo(42,iparg(62,ng
1513 pz = igeo(43,iparg(62,ng))
1514 CALL ig3dinit3(elbuf_tab(ng),ms ,kxig3d ,ixig3d ,pm ,x,
1515 . detonators ,geo ,veul ,ale_connectivity,iparg(1,ng),
1516 . dtelem,sigi ,nel ,skew ,igeo ,
1517 . stifn ,partsav ,v ,ipart(i15k),mss,
1519 . nsigi ,in ,vr ,ipm ,nsigs ,
1520 . vnige ,bnige ,ptsol ,
1521 . bufmat ,npc ,pld ,fail_ini,nctrl,
1522 . msig3d ,knot ,nctrlmax,wige ,px,py,pz,
1523 . knotlocpc,knotlocel)
1527 WRITE(iout,
'(A,I10,A,I5)')
' SHELL GROUP',ng,
' VECTORIZATION CODE =',iparg(19,ng)
1528 ELSEIF (ity == 7)
THEN
1529 WRITE(iout,
'(A,I10,A,I5)')
' TRIANGULAR SHELL GROUP',ng,
' VECTORIZATION CODE =',iparg(19,ng)
1530 ELSEIF (ity == 1)
THEN
1531 WRITE(iout,
'(A,I10,A,I5)')
' BRICK GROUP',ng
' VECTORIZATION CODE ='
1541 CALL eikonal_solver(ixq , nixq , numelq ,
1542 . ixs , nixs , numels ,
1543 . ixtg , nixtg , numeltg ,
1544 . x , numnod , titre(55),
1545 . elbuf_tab, ngroup , nparg ,
1546 . nod2eltg , knod2eltg,
1547 . nod2elq , knod2elq ,
1548 . nod2els , knod2els ,
1549 . iparg , ale_connectivity, npropm, nummat, pm, n2d, detonators,
1557 CALL detonation_times_printout(nparg,ngroup,iparg,n2d,ipri,elbuf_tab,
1558 . nixs,nixq,nixtg,numels,numelq,numeltg,ixs,ixq,ixtg)
1562 IF(m51_iflg6==1 .AND. m51_lset_iflg6==1)
THEN
1564 WRITE (iout,1001)m51_lc0max,m51_ssp0max,m51_tcp_ref
1569 .
' NON REFLECTING FRONTIERS (/MAT/LAW51) '/
1570 .
' ------------------------------------- '/
1571 & 5x,
'INITIALIZATION OF GLOBAL PARAMETERS ',/
1572 & 5x,
'CHARACTERISTIC LENGTH. . . . . . . . . .=',e12.4/
1573 & 5x,
'REFERENCE SOUND SPEED. . . . . . . . . =',e12.4/
1574 & 5x,
'CHARACTERISTIC TIME. . . . . . . . . . .=',e12.4//)
1577 CALL ancmsg(msgid=1228,msgtype=msgerror,anmode=aninfo_blind_1,prmod=msg_print)
1587 isolnod = iparg(28,ng)
1588 isrot = iparg(41,ng)
1589 icpre = iparg(10,ng)
1591 IF(iparg(8, ng) == 1) cycle
1592 IF(isolnod /= 4 .AND. isolnod /= 10) cycle
1593 IF(isolnod==4.AND.isrot == 3) isfem=1
1594 IF(icpre>0.AND.(isolnod==10.OR.(isolnod==4.AND.isrot == 1))) isfem=1
1599 IF (cpt_eltens /= 0)
THEN
1600 CALL ancmsg(msgid=863,msgtype=msgwarning,anmode=aninfo_blind_1,i1=cpt_eltens)
1605 addedms(1:npart) = zero
1608 1 ixs ,ixs10 ,ixs20 ,ixs16 ,ixq ,
1609 2 ixc ,ixt ,ixp ,ixr ,ixtg ,
1610 3 mss ,mssx ,msq ,msc ,
1611 4 mst ,msp ,msr ,mstg ,
1612 5 index ,itri ,geo ,partsav1_pon ,ipart(i15a) ,
1613 6 ipart(i15b),ipart(i15c),ipart(i15d),ipart(i15e) ,ipart(i15f) ,
1614 7 ipart(i15h),ipart )
1616 . part_area,pm,addedms,nom_opt(1,ptr_nopt_adm+1),
1619 1 ixs ,ixs10 ,ixs20 ,ixs16 ,ixq ,
1621 3 mss ,mssx ,msq ,msc ,
1622 4 mst ,msp ,msr ,mstg ,
1623 5 ptg ,ms ,index ,itri ,
1624 6 geo ,sh4tree ,sh3tree ,partsav ,ipmas ,
1625 7 ipart(i15a),ipart(i15b),ipart(i15c),ipart(i15d),
1626 8 ipart(i15e),ipart(i15f),ipart(i15h),totaddmas ,
1627 9 ipart ,thk ,pm ,part_area ,
1628 a addedms ,itab ,partsav1_pon,ele_area )
1637 1 ixs ,ixq ,ixc ,ixt ,ixp ,
1638 2 ixr ,ixtg ,mss ,msq ,
1639 3 msc ,mst ,msp ,msr ,mstg ,
1640 4 inc ,inp ,inr ,intg ,
1641 5 index ,itri ,ms ,in ,
1642 6 ptg ,geo ,ixs10 ,ixs20 ,
1643 7 ixs16 ,mssx ,msnf ,mssf ,vns ,
1645 9 sttg ,stur ,bns ,bnsx ,volnod ,
1646 a bvolnod ,etnod ,stifint ,ins ,mcpc ,
1647 b mcp ,mcps ,mcpsx ,mcptg,sh4tree,
1648 c sh3tree ,ms_layerc, zi_layerc , ms_layer,
1649 d zi_layer,msz2c, msz2,zply ,
1650 e kxig3d ,ixig3d ,msig3d,nctrlmax,strc ,
1652 g mcpp ,glob_therm%ITHERM_FE)
1653 IF(i7stifs/=0)
CALL asstifi(volnod,bvolnod,etnod,nshnod,stifint)
1658 IF(interfaces%PARAMETERS%ISTIF_DT > 0)
THEN
1659 CALL inintmass( ipari, intbuf_tab,ms , interfaces%PARAMETERS%ISTIF_DT )
1661 interfaces%PARAMETERS%DT_STIFINT = zero
1662 IF(interfaces%PARAMETERS%ISTIF_DT > 0)
THEN
1663 CALL dtnoda_stifint( ms ,stifn ,interfaces%PARAMETERS%DT_STIFINT)
1669 CALL laser10(las,xlas,x,ixq,iparg)
1675 IF(n2d == 0 .AND. imulti_fvm /= 1)
THEN
1679 IF(ity == 1 .AND. jeul /= 0 )
THEN
1692 CALL eporin3(ixs,veul,ale_connectivity,geo,nft,nel)
1699 CALL init_inivol(
num_inivol, inivol, nsurf, igrsurf,
1700 . nparg , ngroup, iparg, numnod, npart,
1701 . numels , nixs, ixs, igrnod, ngrnod,
1702 . numeltg , nixtg, ixtg,
1703 . numelq , nixq, ixq,
1704 . x , nbsubmat, kvol,
1705 . elbuf_tab, numels8, xrefs, glob_therm,
1706 . n2d ,multi_fvm, sipart, ipart ,
1707 . i15a ,i15b , i15h, sbufmat, bufmat,
1708 . npropmi ,nummat , ipm, sbufsf, bufsf,
1709 . npropg ,numgeo , geo, mvsiz , skvol,
1718 1 elbuf_tab , ipart , igrpart , iparg , ipart(i15h),
1719 2 ipart(i15a) , ipart(i15b), x , ixs , ixq ,
1720 3 ixtg , pm , ipm , bufmat , multi_fvm ,
1721 4 ale_connectivity, nv46 , igrsurf , itab , ebcs_tab ,
1722 5 npc , pld , mat_param)
1727 IF (ninimap1d > 0)
THEN
1728 WRITE(istdo,
'(A)') titre(53)
1729 CALL ini_inimap1d(inimap1d ,elbuf_tab ,ipart ,iparg ,ipart(i15a),
1730 . ipart(i15b) ,x ,v ,ixs ,ixq ,
1731 . ixtg ,pm ,ipm ,bufmat ,multi_fvm ,
1732 . pld ,npc ,igrbric ,igrquad ,igrsh3n ,
1733 . npts ,mat_param ,snpc ,stf)
1738 IF (ninimap2d > 0)
THEN
1739 WRITE(istdo,
'(A)') titre(53)
1740 CALL ini_inimap2d(inimap2d ,elbuf_tab ,ipart ,iparg ,ipart(i15a),
1741 . ipart(i15b) ,x ,v ,ixs ,ixq ,
1742 . ixtg ,pm ,ipm ,bufmat ,multi_fvm ,
1743 . func2d ,igrbric ,igrquad ,igrsh3n )
1748 IF (multi_fvm%IS_USED .AND. ninvel > 0)
THEN
1749 CALL ini_fvminivel(fvm_inivel ,multi_fvm ,igrbric ,igrquad ,igrsh3n)
1754 IF (isms_selec >= 1)
THEN
1756 . ixs ,ixq ,ixc ,ixt ,ixp ,
1757 . ixr ,ixtg ,ixs10 ,ixs16 ,ixs20 ,
1758 . ipart(i15a) ,ipart(i15b) ,ipart(i15c) ,ipart(i15d) ,ipart(i15e),
1759 . ipart(i15f) ,ipart(i15h) ,ipart(i15i) ,ipart ,
1760 . iparg ,elbuf_tab ,igeo ,iddlevel ,tagprt_sms )
1763 IF(ilag+iale+ieuler == 0)
THEN
1793 CALL fretitl2(titr,nom_opt(lnopt1-ltitr
1795 CALL inirby(n ,rby ,m ,lpby ,
1796 . ms,in ,x ,itab ,skew ,
1797 . b1,b2 ,b3 ,b5 ,b6 ,
1798 . b9,isph ,totmas ,xg ,yg ,
1799 . zg,stifn ,stifr ,npby ,rbyid ,
1800 . v ,vr ,id ,titr ,itagnd,
1816 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,n),ltitr)
1818 CALL inirbys(n ,rby ,m ,lpby ,
1819 . ms,in ,x ,itab ,skew,
1820 . b1,b2 ,b3 ,b5 ,b6 ,
1821 . b9,isph ,totmas ,xg ,yg ,
1822 . zg,npby ,iwa ,v ,vr ,
1823 . rbyid,id ,titr ,itagnd,rby_iniaxis)
1831 .
CALL lgmini_rby(npbyl ,lpbyl ,rbyl ,ms ,in ,x ,v ,vr ,itab ,nom_opt)
1835 IF (nrbmerge > 0)
THEN
1836 CALL retrirby(npby ,lpby ,rby ,nom_opt)
1841 IF (n_seatbelt > 0)
CALL init_seatbelt_rbodies(nnpby,nrbody,npby,slrbody,lpby,sicode,icode,nslipring)
1845 IF(irigid_mat > 0)
THEN
1846 CALL ininode_rm(connec ,irig_node, slnrbm , nslnrbm ,nrbym ,
1847 . ngslnrbym,stifn ,stifr,rmstifn, rmstifr ,
1853 CALL inisrf(x,v,vr,npby,rby,igrsurf,bufsf)
1858 . ms ,in ,itab ,igeo ,ipm ,
1859 . bufmat ,ipart ,ipart(i15f),npby ,lpby )
1868 . fxbcps, fxblm, fxbfls, fxbdls,fxbmod,
1869 . itab, x ,ms, in, fxb_matrix,
1870 . fxb_matrix_add,fxb_last_adress,icode,nom_opt(1,ptr_nopt_fxb+1))
1872 ALLOCATE(mbufel_tmp(lbufel), mdepl_tmp(3*numnod))
1880 CALL fxbvini(fxbipm, fxbvit, fxbrpm, v, vr)
1895 lvsig=nels*7+nelc*10+nelt*2+nelp*8+neltg*10
1897 IF (ifile == 0)
THEN
1898 amod=amod+nme*nbno*6
1899 ELSEIF (ifile == 1)
THEN
1900 amod=amod+nme*fxbipm(18,i)*6
1904 . fxbelm(alm) , fxbsig(asig), nels, nelc, neltg,
1905 . x , iparg , pm , fxbmod(amod), nml ,
1906 . nbno , ixs , ixc , ixtg , geo ,
1907 . fxbrpm(arpm), i , fxbipm(29,i), lvsig ,fxbipm(18,i),
1908 . nme , ircs, fxbipm(30,i), nelt, nelp ,
1909 . ixt , ixp ,ibeam_vector,rbeam_vector)
1913 fxbrpm(adrrpm+10)=zero
1914 fxbrpm(adrrpm+11)=zero
1917 IF (fxbipm(36,i) == 1)
THEN
1925 ircm=ircm+(nsn-nsni)*fxbipm(17,i)
1934 mbufel_tmp(k)=elbuf(k)
1938 . fxbnod(anod), fxbmod(amod), mdepl_tmp , ifile, ircm,
1943 . nelt, nelp, neltg, fxbrpm(arpm), lbufel,
1944 . asig , ifile, ircs , lvsig )
1946 IF (j>=imin.AND.j<=imax)
THEN
1948 fxani(1,nmani)=fxbid
1951 mdepl(k,nmani)=mdepl_tmp(k)
1954 mbufel(k,nmani)=mbufel_tmp(k)
1961 DEALLOCATE(mbufel_tmp, mdepl_tmp)
1966 CALL inirbe2(irbe2 ,lrbe2 ,itab ,x ,ms ,
1967 . in ,stifn ,stifr ,totmas,xg ,
1968 . yg ,zg ,b1 ,b2 ,b3 ,
1970 . nom_opt(1,ptr_nopt_rbe2+1),itagnd)
1984 igtyp = nint(geo(npropg*(iprop-1)+12))
1985 gbuf => elbuf_tab(ng)%GBUF
1987 nuvar = nint(geo(npropg*(iprop-1)+25))
1988 CALL rini33_rb(nel,nuvar,iprop,ixr,npby,
1989 . lpby,rby,stifr,gbuf%VAR,itab,
1990 . igeo(1,iprop),ixr_kj,gbuf%MASS)
1991 ELSEIF (igtyp==45)
THEN
1992 IF (flag_kj==0)
WRITE(iout,1500)
1994 nuvar = nint(geo(npropg*(iprop-1)+25))
1995 CALL rini45_rb(nel,nuvar,iprop,ixr,npby,
1996 . lpby,rby,stifr,gbuf%VAR,itab,
1997 . igeo(1,iprop),ixr_kj,gbuf%MASS,ms,in)
2004 IF (ndamp_freq_range > 0)
THEN
2005 call damping_range_init(ndamp,nrdamp,dampr,ngroup,nparg,iparg,elbuf_tab)
2011 WRITE(iout,
'(5(I10,1X,1PG20.13))') (itab(i),ms(i),i=1,numnod)
2012 IF (glob_therm%ITHERM_FE > 0)
THEN
2014 WRITE(iout,
'(5(I10,1X,1PG20.13))') (itab(i),temp(i),i=1,numnod)
2016 WRITE(iout,
'(5(I10,1X,1PG20.13))') (itab(i),mcp(i),i=1,numnod)
2022 CALL outpart(partsav,ipart,npart)
2026 CALL outpart5(group_param_tab,ipart,ipart(i15a),iparg,igeo,geo ,pm )
2033 . i8mi(1,n) + r8_deuxm43 * (
2034 . i8mi(2,n) + r8_deuxm43 * i8mi(3,n))
2039 . i8mi(4,n) + r8_deuxm43 * (
2040 . i8mi(5,n) + r8_deuxm43 * i8mi(6,n))
2049 IF (itagnd(n)/=0) cycle
2061 xy=(x(nn1))*(x(nn2))
2062 xz=(x(nn1))*(x(nn3))
2063 yz=(x(nn2))*(x(nn3))
2085 xy=(x(nn1))*(x(nn2))
2086 xz=(x(nn1))*(x(nn3))
2087 yz=(x(nn2))*(x(nn3))
2106 xg=xg/max(totmas,em20)
2108 zg=zg/max(totmas,em20)
2110 WRITE(iout,
'(5X,1PG20.13,3(1X,G20.13))')
2120 b1=b1-(yy+zz)*totmas
2121 b5=b5-(xx+zz)*totmas
2122 b9=b9-(xx+yy)*totmas
2127 WRITE(iout,
'(4X,3(1X,1PG20.13),3(1X,G20.13))')
2134 WRITE(iout,1400) totaddmas
2140 . ixs ,ixtg ,ele_area ,dtelem ,
2141 . numel ,ipm ,x ,xrefs ,
2142 . xrefc ,xreftg ,bufmat ,pm )
2146 IF (glob_therm%ITHERM_FE > 0 )
THEN
2147 DEALLOCATE(mcps,mcpp)
2148 IF(numels10 > 0.OR.numels16 > 0 .OR.numels20 > 0)
2152 DEALLOCATE (partsav)
2154 DEALLOCATE(ms_layerc,zi_layerc,msz2c,zply)
2155 DEALLOCATE (partsav1_pon)
2157 DEALLOCATE(connec,irig_node)
2158 IF(
ALLOCATED(part_area))
DEALLOCATE(part_area)
2160 IF(
ALLOCATED(vpreload))
DEALLOCATE (vpreload)
2161 IF(
ALLOCATED(ele_area))
DEALLOCATE(ele_area)
2166 . 5x,
'NODAL MASSES',/
2167 . 5x,
'------------',/
2168 . 5x,
' NODE MASS',22x,
'NODE MASS',22x,
'NODE MASS',22x,
'NODE MASS',
2171 . 5x,
'TOTAL MASS AND MASS CENTER',/
2172 . 5x,
'--------------------------',/
2173 . 5x,
' MASS',20x,
'X',20x,
'Y',20x,
'Z'/)
2175 . 5x,
'TOTAL INERTIA',/
2176 . 5x,
'-------------',/
2177 .22x,
'IXX',18x,
'IYY',18x,
'IZZ',18x,
'IXY',18x,
'IYZ',18x,
'IZX')
2179 . 5x,
' ADDED NODAL NON-STRUCTURAL MASSES ' /
2180 . 5x,
'-----------------------------------' /)
2181 1400
FORMAT(5x,
' TOTAL ADDED MASS = ',1pg20.13//)
2183 . 5x,
'KJOINT2 SPRING DEFINITION',/
2184 . 5x,
'------------------------'/)
2186 . 5x,
'INITIAL NODAL TEMPERATURES',/
2187 . 5x,
'--------------------------',/
2188 . 6x,5(
'NODE TEMPERATURE',15x),'node temperature
'/)
2190 . 5X,'initial nodal mcp
',/
2191 . 5X,'--------------------------
',/
2192 . 6X,5('node mcp
',15X),'node mcp
'/)