137 SUBROUTINE initia(IPARG ,ELBUF ,MS ,IN ,V ,
138 1 X ,IXS ,IXQ ,IXC ,IXT ,
139 2 IXP ,IXR ,DETONATORS ,GEO ,PM ,
140 3 RBY ,NPBY ,LPBY ,NPC ,NPTS ,
141 4 PLD ,VEUL ,ALE_CONNECTIVITY ,SKEW ,FILL ,
142 5 IPART ,ITAB ,SENSORS ,SKVOL ,
143 6 IXTG ,THK ,NLOC_DMG ,GROUP_PARAM_TAB,GLOB_THERM,
144 7 IGRNOD ,IGRSURF ,BUFSF ,VR ,
145 8 BUFMAT ,XLAS ,LAS ,DTELEM ,MSS ,
146 9 MSQ ,MSC ,MST ,MSP ,MSR ,
147 A MSTG ,PTG ,INC ,NOD2ELTG ,KNOD2ELTG ,
148 B INP ,INR ,INTG ,INDEX ,
149 C ITRI ,KXX ,IXX ,XELEMWA ,
150 E IWA ,NOD2ELQ ,KNOD2ELQ ,NOD2ELS ,KNOD2ELS ,
151 F KXSP ,IXSP ,NOD2SP ,ISPCOND ,ICODE ,
152 G ISKEW ,ISKN ,ISPSYM ,XFRAME ,ISPTAG ,
153 H SPBUF ,MSSX ,NSIGI ,
154 I NPBYL ,LPBYL ,RBYL ,MSNF ,MSSF ,
155 J NSIGSH ,IGEO ,IPM ,NSIGS ,
156 K NSIGSPH ,VNS ,VNSX ,STC ,STT ,
157 L STP ,STR ,STTG ,STUR ,BNS ,
158 M BNSX ,VOLNOD ,BVOLNOD ,ETNOD ,NSHNOD ,
159 N STIFINT ,FXBDEP ,FXBVIT ,FXBACC ,FXBIPM ,
160 O FXBRPM ,FXBELM ,FXBSIG ,FXBMOD ,INS ,
161 P PTSHEL ,PTSH3N ,PTSOL ,PTQUAD ,
162 Q WMA ,PTSPH ,FXBNOD ,MBUFEL ,MDEPL ,
163 R FXANI ,NUMEL ,NSIGRS ,
164 T SH4TREE ,SH3TREE ,MCP ,TEMP ,
165 U IMERGE2 ,IADMERGE2 ,
166 V SLNRBM ,NSLNRBM ,RMSTIFN ,RMSTIFR ,
167 U MS_LAYER ,ZI_LAYER ,ITAG ,ITAGEL ,MCPC ,
168 W MCPTG ,XREFC ,XREFTG ,XREFS ,MSSA ,
169 X MSRT ,IRBE2 ,LRBE2 ,INIVOL ,KVOL , NBSUBMAT,
170 Y IXS10 ,IXS16 ,IXS20 ,TOTADDMAS ,
171 Z IPMAS ,STIFN ,MSZ2 ,ITAGN ,SITAGE ,
172 1 ITAGE ,IXR_KJ ,ELBUF_TAB,
173 2 NOM_OPT ,PTR_NOPT_RBE2 ,PTR_NOPT_ADM ,PTR_NOPT_FUN ,
174 3 SOL2SPH ,IRST ,SH3TRIM ,XFEM_TAB ,
175 4 KXIG3D ,IXIG3D ,MSIG3D ,KNOT ,NCTRLMAX ,
177 7 RNOISE ,DRAPE ,SH4ANG ,SH3ANG ,
178 8 GEO_STACK ,IGEO_STACK ,STIFINTR ,STRC ,STRP ,
179 8 STRR ,STRTG ,PERTURB ,ITAGND ,NATIV_SMS ,
180 9 ILOADP ,FACLOAD ,PTSPRI ,NSIGBEAM ,
181 A PTBEAM ,NSIGTRUSS ,PTTRUSS ,
182 B MULTI_FVM ,SIGI ,SIGSH ,SIGSP ,
183 C SIGSPH ,SIGRS ,SIGBEAM ,SIGTRUSS ,STRSGLOB ,
184 D STRAGLOB ,ORTHOGLOB ,ISIGSH ,IYLDINI ,KSIGSH3 ,
185 E FAIL_INI ,IUSOLYLD ,IUSER ,IDDLEVEL ,INIMAP1D ,
186 F INIMAP2D ,FUNC2D ,FVM_INIVEL ,TAGPRT_SMS ,IGRBRIC ,
187 G IGRQUAD ,IGRSH4N ,IGRSH3N ,IGRPART ,TOTMAS ,
188 H KNOTLOCPC ,KNOTLOCEL ,VNIGE ,BNIGE ,FXBGLM ,
189 I FXBCPM ,FXBCPS ,FXBLM ,FXBFLS ,FXBDLS ,
190 J FXB_MATRIX ,FXB_MATRIX_ADD,FXB_LAST_ADRESS ,PTR_NOPT_FXB ,R_SKEW ,
191 K KNOD2EL1D ,NOD2EL1D ,EBCS_TAB ,RBY_INIAXIS ,ALEA ,
192 L KNOD2ELC ,NOD2ELC ,DR ,SLRBODY ,DRAPEG ,
193 M IPARI ,INTBUF_TAB ,INTERFACES ,MAT_PARAM ,NPRELOAD_A,
194 N PRELOAD_A ,FAIL_FRACTAL ,FAIL_BROKMANN ,DEFAULTS ,NDAMP_FREQ_RANGE,
195 O DAMPR ,IBEAM_VECTOR ,RBEAM_VECTOR ,IKINE ,LSIGI ,
196 P LSIGSP ,SRNOISE ,NPRW ,LPRW , RWSTIF_PEN,
222 USE init_seatbelt_rbodies_mod
225 USE random_walk_def_mod
229 USE multimat_param_mod ,
ONLY : m51_lc0max, m51_ssp0max, m51_tcp_ref, m51_lset_iflg6, m51_iflg6, m51_iloop_nrf
230 USE brokmann_random_def_mod
232 USE damping_range_init_mod
233 USE eikonal_solver_mod,
ONLY : eikonal_solver
234 USE detonation_times_printout_mod ,
ONLY : detonation_times_printout
236 USE init_bcs_wall_mod ,
ONLY : init_bcs_wall
237 USE init_bcs_nrf_mod ,
ONLY : init_bcs_nrf
238 use init_inivol_mod ,
only : init_inivol
239 use element_mod ,
only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
240 use init_rwall_penalty_mod ,
only : init_rwall_penalty
244#include "implicit_f.inc"
248#include "mvsiz_p.inc"
252#include "com01_c.inc"
253#include "com08_c.inc"
254#include "com04_c.inc"
255#include "com_xfem1.inc"
257#include "vect01_c.inc"
258#include "units_c.inc"
259#include "param_c.inc"
260#include "scr03_c.inc"
261#include "scr14_c.inc"
262#include "scr17_c.inc"
263#include "scr23_c.inc"
264#include "tablen_c.inc"
265#include "lagmult.inc"
266#include "scr12_c.inc"
268#include "userlib.inc"
270#include "boltpr_c.inc"
272#include "tabsiz_c.inc"
277 INTEGER,
INTENT(IN) :: SKVOL
278 INTEGER IPARG(NPARG,NGROUP), IXS(NIXS,*), IXQ(NIXQ,
280 . npby(nnpby,*),lpby(*),npbyl(nnpby,*),lpbyl(*),npc(*),
283 . ixtg(nixtg,*),index(*),itri(*),iwa(*),kxx(nixx,*),ixx(*),
284 . kxsp(*) ,ixsp(*) ,nod2sp(*),ispcond(*),ispsym(*),isptag(*),
285 . icode(*),iskew(*),iskn(liskn,*), ipm(npropmi,*), nshnod(*),
286 . ptshel(*),ptsh3n(*),ptsol(*),ptquad(*),ptsph(*),
287 . ixs10(*) ,ixs20(*) ,ixs16(*), sh4tree(*), sh3tree(*),
288 . imerge2(numnod+1),iadmerge2(numnod+1),
289 . slnrbm(*) ,nslnrbm(*),itag(*),itagel(*),irbe2(*) ,lrbe2(*),
291 . ixr_kj(5,*), sol2sph(*), irst(*),sh3trim(*),kxig3d(nixig3d,*),
292 . ixig3d(*),igeo_stack(*),perturb(nperturb),
293 . nativ_sms(*),ptspri(*),ptbeam(*),pttruss(*),strsglob(*),
294 . straglob(*),orthoglob(*),isigsh,iyldini,ksigsh3,fail_ini(5),
295 . iusolyld,iuser,iddlevel,nbsubmat, tagprt_sms(*),sitage,fxb_matrix_add(4,*),
296 . fxb_last_adress(*),ptr_nopt_fxb,r_skew(*), npts,knod2el1d(*) ,nod2el1d(*),
297 . knod2elc(*),nod2elc(*)
298 TYPE(t_ebcs_tab),
INTENT(INOUT) :: EBCS_TAB
299 INTEGER,
TARGET :: ITAGE(*)
300 INTEGER,
POINTER :: ptr_ITAGE
301 INTEGER NSIGI,NSIGSH,
302 . NSIGS, NSIGSPH, FXBIPM(NBIPM,*), FXBELM(*),NSIGRS,
304 . NCTRLMAX,NSIGBEAM,NSIGTRUSS
305 INTEGER,
INTENT(IN) :: ILOADP(SIZLOADP,*),SLRBODY
306 INTEGER,
INTENT(IN) :: IPARI(NPARI,NINTER)
307 my_real,
INTENT(IN) :: FACLOAD(LFACLOAD,*)
309 . ELBUF(*), MS(*), IN(*), V(*), X(*), GEO(*),PM(,*),
310 . RBY(NRBY,*),PLD(*),VEUL(*),SKEW(LSKEW,*),FILL(*),
311 . THK(*),BUFSF(*), VR(3,*),BUFMAT(*),PTG(3,*),XLAS(*),
312 . DTELEM(*),MSS(*), MSQ(*),MSC(*),MST(*),MSP(*),MSR(*),
313 . MSTG(*),INC(*),RBYL(NRBY,*),
314 . INP(*),INR(*),INTG(*),
316 . XFRAME(NXFRAME,*),SPBUF(*),MSSX(*),MSNF(*),
318 . VNS(*) ,VNSX(*) ,STC(*) ,STT(*) ,STP(*) ,STR(*) ,
319 . STTG(*) ,STUR(*) ,BNS(*) ,BNSX(*) ,
320 . VOLNOD(*) ,BVOLNOD(*) , ETNOD(*), STIFINT(*), FXBDEP(*),
321 . FXBVIT(*), FXBACC(*), FXBRPM(*), FXBSIG(*), FXBMOD(*),
322 . INS(*), MCP(*),TEMP(*),RMSTIFN(*), RMSTIFR(*),
323 . MS_LAYER(*),ZI_LAYER(*), MCPC(*), MCPTG(*),
324 . MBUFEL(LBUFEL,*), MDEPL(3*NUMNOD,*),
325 . XREFC(4,3,*),XREFTG(3,3,*),XREFS(8,3,*), MSSA(*), MSRT(*),
326 . KVOL(NBSUBMAT,*),TOTADDMAS,MSZ2(*),
327 . MSIG3D(*),KNOT(*),WIGE(*),RNOISE(*),
328 . SH4ANG(*),SH3ANG(*),GEO_STACK(*),STIFINTR(*),
329 . STRC(*),STRR(*),STRP(*),STRTG(*),SIGI(NSIGS,*),SIGSH(MAX(1,NSIGSH),*),
330 . SIGSP(NSIGI,*),SIGSPH(NSIGSPH,*),SIGRS(NSIGRS,*),SIGBEAM(NSIGBEAM,*),
331 . SIGTRUSS(NSIGTRUSS,*),, KNOTLOCPC(*),KNOTLOCEL(*),VNIGE(*),BNIGE(*),
332 . FXBGLM(*),FXBCPM(*),FXBCPS(*),FXBLM(
335DIMENSION(NUMNOD*2),
TARGET :: STIFN
336 my_real ,
DIMENSION(:),
POINTER ::
338 INTEGER NOM_OPT(LNOPT1,*),PTR_NOPT_RBE2,PTR_NOPT_ADM,PTR_NOPT_FUN,IOPT
339 INTEGER FXBNOD(*), FXANI(2,*),ITAGND(*)
340 INTEGER,
INTENT(IN) :: NPRELOAD_A
341 INTEGER,
INTENT(IN) :: NDAMP_FREQ_RANGE
342 my_real,
INTENT(IN) :: DAMPR(NRDAMP,NDAMP)
343 INTEGER,
INTENT(IN) :: IBEAM_VECTOR(NUMELP)
344 my_real,
INTENT(IN) :: (3,NUMELP)
345 INTEGER,
INTENT(IN) :: IKINE(3*NUMNOD)
346 INTEGER,
INTENT(IN) :: LSIGI
347 INTEGER,
INTENT(IN) :: LSIGSP
348 INTEGER,
INTENT(IN) :: SRNOISE
350 INTEGER,
INTENT(IN) :: SLN_PEN
351 INTEGER,
DIMENSION(NNPRW*NRWALL),
INTENT(IN) :: NPRW
352 INTEGER,
DIMENSION(SLPRW),
INTENT(IN) :: LPRW
353 my_real,
DIMENSION(SLN_PEN),
INTENT(INOUT) :: RWSTIF_PEN
355 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
356 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP,NXEL) :: XFEM_TAB
357 TYPE (STACK_PLY) :: STACK
358 TYPE (MULTI_FVM_STRUCT) :: MULTI_FVM
359 TYPE (INIMAP1D_STRUCT),
DIMENSION(NINIMAP1D),
INTENT(INOUT) :: INIMAP1D
360 TYPE (INIMAP2D_STRUCT),
DIMENSION(NINIMAP2D),
INTENT(INOUT) :: INIMAP2D
361 TYPE (FUNC2D_STRUCT),
DIMENSION(NFUNC2D),
INTENT(IN) :: FUNC2D
362 TYPE (FVM_INIVEL_STRUCT),
INTENT(IN) :: FVM_INIVEL(*)
363 TYPE (NLOCAL_STR_) :: NLOC_DMG
364 TYPE (GROUP_PARAM_),
DIMENSION(NGROUP) :: GROUP_PARAM_TAB
365 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(INOUT) :: MAT_PARAM
367 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
368 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
369 TYPE (GROUP_) ,
DIMENSION(NGRQUAD) :: IGRQUAD
370 TYPE (GROUP_) ,
DIMENSION(NGRSHEL) :: IGRSH4N
371 TYPE (GROUP_) ,
DIMENSION(NGRSH3N) :: IGRSH3N
372 TYPE (GROUP_) ,
DIMENSION(NGRPART) :: IGRPART
373 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
374 TYPE (ADMAS_) ,
DIMENSION(NODMAS) :: IPMAS
375 TYPE (INIVOL_STRUCT_) ,
DIMENSION(NUM_INIVOL) :: INIVOL
376 TYPE () :: DETONATORS
377 TYPE (DRAPE_) ,
DIMENSION(NUMELC_DRAPE + NUMELTG_DRAPE):: DRAPE
378 TYPE (DRAPEG_) :: DRAPEG
379 TYPE (t_ale_connectivity),
INTENT(INOUT) :: ALE_CONNECTIVITY
380 TYPE (INTBUF_STRUCT_) ,
INTENT(IN ) :: INTBUF_TAB(NINTER)
381 TYPE (INTERFACES_) ,
INTENT(INOUT ) :: INTERFACES
382 TYPE (PREL1D_) ,
INTENT(IN) ,
DIMENSION(NPRELOAD_A) :: PRELOAD_A
383 TYPE (SENSORS_) ,
INTENT(IN) :: SENSORS
384 TYPE (FAIL_FRACTAL_) ,
INTENT(IN) :: FAIL_FRACTAL
385 TYPE (FAIL_BROKMANN_) ,
INTENT(IN) :: FAIL_BROKMANN
386 TYPE (DEFAULTS_) ,
INTENT(IN) :: DEFAULTS
387 type (glob_therm_) ,
intent(inout) :: glob_therm
393 INTEGER (KIND=8),
DIMENSION(:,:),
ALLOCATABLE :: I8MI
394 INTEGER NG, NEL, NVC, K, N, M, NSL, NN1, NN2, NN3, I, K0,NV46,
395 . isph, j, ig, offset,isolnod,iprop,igtyp,
396 . i15a,i15b,i15c,i15d,i15e,i15f,i15g,i15h,i15i,i15j,i15k,i15ath,
397 . i15l,nc1_old, nc2_old, nc3_old, nc4_old,
398 . nc5_old, nc6_old, nc7_old, nc8_old,
399 . nc1, nc2, nc3, nc4, nc5, nc6, nc7
400 . iint, isens,ithk, ihbe, jhbe, ilev,ish3n,
401 . kk1, kk2, kk3,iaduix,iadux ,iaduv ,iaduvr,iadums,
402 . iaduin,iadusm,iadusr,iadumv,iadurv, nuvar,icnod, rbyid,
403 . adrrpm,alm,asig,nels,nelc,neltg,amod,nbno,nme,nml,arpm,lvsig,
404 . ifile,ircs,nelt,nelp,fxbid, anod, ircm, nsni, nsn, nmani, imin, imax,
405 . nelemr,cpt_eltens,ixfem,itg,isubstack,nctrl, itetra10, kk,px,py,pz,ipid
407 INTEGER SOLMAT(0:MAXLAW), COQMAT(0:MAXLAW), TRUMAT(0:MAXLAW),
408 . poumat(0:maxlaw),sphmat(0:maxlaw),
409 . resmat(0:maxlaw),respid(0:50), sphpid(0:50),
410 . solpid(0:50), coqpid(0:52), trupid(0:50), poupid(0:50)
411 INTEGER II,NINDX,FLAG_KJ
414 my_real DT2S, B1, B2, B3, B6, B5, B9, XG, YG, ZG, XX, YY, ZZ, XY, XZ, YZ,DTNODA,FILL_RATIO
415 my_real,
DIMENSION(:),
ALLOCATABLE ::
416 . mbufel_tmp, mdepl_tmp,partsav,mcps,mcpsx,
417 . ms_layerc,zi_layerc, msz2c,zply,partsav1_pon,mcpp
419 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IRIG_NODE, CONNEC
420 my_real,
DIMENSION(:),
ALLOCATABLE :: part_area,ele_area
422 my_real addedms(npart)
423 INTEGER ID,ISTOT, NF1,NNOD,NSROT,IDRAPE,ICPRE
424 CHARACTER(LEN=NCHARTITLE)::TITR
425 LOGICAL :: ERROR_THROWN
426 INTEGER,
INTENT(IN) :: NOD2ELTG(3*NUMELTG)
427 INTEGER,
INTENT(IN) :: NOD2ELQ(3*NUMELQ)
428 INTEGER,
INTENT(IN) :: NOD2ELS(3*NUMELS)
429 INTEGER,
INTENT(IN) :: KNOD2ELTG(NUMNOD+1)
430 INTEGER,
INTENT(IN) :: KNOD2ELQ(NUMNOD+1)
431 INTEGER,
INTENT(IN) :: KNOD2ELS(NUMNOD+1)
435 TYPE(g_bufel_) ,
POINTER :: GBUF
436 TYPE() ,
POINTER :: MBUF
443 data i8_deuxp43 /
'80000000000'x/
444 r8_deuxm43 = 1.d00 / i8_deuxp43
447 DATA solpid/1,0,0,0,0,0,1,0,0,0,0,
448 1 0,0,0,1,1,0,0,0,0,1,
449 2 1,1,0,0,0,0,0,0,1,0,
450 3 0,0,0,0,0,0,0,0,0,0,
451 4 0,0,1,0,0,0,0,0,0,0/
452 DATA coqpid/1,1,0,0,0,0,0,1,0,1,1,
453 1 1,0,0,0,0,1,1,0,1,0,
454 2 0,0,0,0,0,0,0,0,0,0,
455 3 0,0,0,0,0,0,0,0,0,0,
456 4 0,0,0,0,0,0,0,0,0,0,
458 DATA trupid/0,0,1,0,0,0,0,0,0,0,0,
459 1 0,0,0,0,0,0,0,0,0,0,
460 2 0,0,0,0,0,0,0,0,0,0,
461 3 0,0,0,0,0,0,0,0,0,0,
462 4 0,0,0,0,0,0,0,0,0,0/
463 DATA poupid/0,0,0,1,0,0,0,0,0,0,0,
464 1 0,0,0,0,0,0,0,1,0,0,
465 2 0,0,0,0,0,0,0,0,0,0,
466 3 0,0,0,0,0,0,0,0,0,0,
467 4 0,0,0,0,0,0,0,0,0,0/
468 DATA respid/0,0,0,0,1,0,0,0,1,0,0,
470 2 0,0,1,0,1,1,1,0,1,1,
471 3 1,1,1,0,1,1,0,0,0,0,
472 4 0,0,0,1,1,1,0,0,0,0/
473 DATA sphpid/0,0,0,0,0,0,0,0,0,0,0,
474 1 0,0,0,0,0,0,0,0,0,0,
475 2 0,0,0,0,0,0,0,0,0,0,
476 3 0,0,0,1,0,0,0,0,0,0,
477 4 0,0,0,0,0,0,0,0,0,0/
485 ALLOCATE (i8mi(6,numnod) ,stat=stat)
487 ALLOCATE (i8mi(6,1) ,stat=stat)
490 ALLOCATE (partsav(20*npart) ,stat=stat)
492 stifr => stifn(numnod+1:numnod*2)
493 ALLOCATE (partsav1_pon(npart) ,stat=stat)
495 IF(npreload > 0)
THEN
496 ALLOCATE (vpreload(7*numels) ,stat=stat)
499 IF (npart > 0) partsav= zero
500 IF (npart > 0) partsav1_pon=zero
501 IF (npreload > 0 .AND. numels > 0) vpreload = zero
504 IF(icrack3d > 0)itg = 1 + numelc
507 error_thrown = .false.
529 IF(irigid_mat > 0 )
THEN
530 nelemr = numelc + numels10 + numels8 + numeltg
531 ALLOCATE(irig_node(numnod))
532 ALLOCATE(connec(nelemr*10))
536 ALLOCATE(connec(0),irig_node(0))
541 IF(iplyxfem> 0 )
THEN
542 ALLOCATE(ms_layerc(nplymax*numelc))
543 ALLOCATE(zi_layerc(nplymax*numelc))
544 ALLOCATE(msz2c(numelc))
545 ALLOCATE(zply(nplymax))
551 ALLOCATE(ms_layerc(0))
552 ALLOCATE(zi_layerc(0))
778 i15ath = 1+lipart1*npart+lipart1*nthpart
779 i15a = i15ath+2*9*npart+2*9*nthpart
790 i15l = i15k+numelig3d
795 CALL checkmp(numels,ixs,nixs,nixs-1,nixs,solmat,solpid,ipm,igeo,
'BRICK' ,ipart(i15a))
796 CALL checkmp(numelq,ixq,nixq,nixq-1,nixq,solmat,solpid,ipm,igeo,
'QUAD' ,ipart(i15b))
797 CALL checkmp(numelc,ixc,nixc,nixc-1,nixc,coqmat,coqpid,ipm,igeo,
'SHELL' ,ipart(i15c))
798 CALL checkmp(numeltg,ixtg,nixtg,nixtg-1,nixtg,coqmat,coqpid,ipm,igeo,
'SHELL3N',ipart(i15h))
799 CALL checkmp(numelt,ixt,nixt,nixt-1,nixt,trumat,trupid,ipm,igeo,
'TRUSS' ,ipart(i15d))
800 CALL checkmp(numelp,ixp,nixp,nixp-1,nixp,poumat,poupid,ipm,igeo,
'BEAM' ,ipart(i15e))
801 CALL checkmp(numelr,ixr,nixr, 1,nixr,-1 ,respid,ipm,igeo,
'SPRING' ,ipart(i15f))
802 CALL chekmp2(numsph,ipart ,ipart(i15j),kxsp,nisp,nisp,sphmat,sphpid,ipm,igeo,
'SPHCEL')
807 IF(bcs%NUM_WALL > 0)
THEN
808 CALL init_bcs_wall(igrnod,ngrnod,numnod,ale_connectivity,multi_fvm,
809 . ixs,nixs,numels, ixq,nixq,numelq
810 . ngroup,nparg,iparg,ipri)
815 IF(bcs%NUM_NRF > 0)
THEN
816 CALL init_bcs_nrf(igrnod,ngrnod,numnod,multi_fvm,
817 . ixs,nixs,numels, ixq,nixq,numelq, ixtg,nixtg,numeltg, n2d,
818 . ngroup,nparg,iparg,ipri,itab,nummat, mat_param)
823 IF (npreload > 0)
THEN
830 IF (numsph/=0.AND.nspcond/=0)
831 .
CALL inspcnd(ispcond ,igrnod ,kxsp ,ixsp ,
832 . nod2sp ,itab ,icode ,iskew ,iskn ,
833 . skew ,xframe ,x ,ispsym ,isptag ,
834 . pm ,geo ,ipart ,ipart(i15j))
838 IF (n_seatbelt > 0)
CALL ini_seatbelt(iparg,elbuf_tab,knod2el1d,nod2el1d,ixr,
839 . x,itab,ipm,alea,knod2elc,
848 IF (glob_therm%ITHERM_FE > 0 )
THEN
849 ALLOCATE(mcps(8*numels))
851 IF(numels10 > 0.OR.numels16 > 0 .OR.numels20 > 0)
THEN
852 ALLOCATE(mcpsx(12*numels))
855 ALLOCATE(mcpp(numelp))
858 ALLOCATE(mcpsx(0), mcps(0), mcpp(0))
861 IF ((imasadd > 0).OR.(nloc_dmg%IMOD > 0))
THEN
862 ALLOCATE(part_area(npart) ,stat=stat)
863 part_area(1:npart) = zero
864 ALLOCATE(ele_area(numelc+numeltg) ,stat=stat)
865 ele_area(1:numelc+numeltg) = zero
867 ALLOCATE(part_area(1),ele_area(1))
890 isolnod = iparg(28,ng)
891 user_grp_domain = iparg(32,ng)+1
894 isorth = iparg(42,ng)
896 idrape = iparg(92,ng)
897 IF(isolnod == 10) isrot = iparg(74,ng)
898 iexpan = iparg(49,ng)
899 ishxfem_ply = iparg(50,ng)
900 IF (icrack3d == 0)
THEN
904 isubstack = iparg(71,ng)
905 iboltp = iparg(72,ng)
906 iformdt = iparg(73,ng)
909 IF (ity==1.AND.(ismstr>=10.AND.ismstr<=12)) istot
910 IF (ity == 3.OR.ity == 7)
THEN
916 ELSEIF (ity == 1)
THEN
926 IF((isolnod == 4 .AND.isrot==2).OR.
927 . (isolnod == 10.AND.isrot==1).OR.
928 . (isolnod == 10.AND.isrot==3))
THEN
933 IF((numels/=0) .AND. (n2d/=0))
THEN
934 CALL ancmsg(msgid=603, msgtype=msgerror, anmode=aninfo_blind_2)
941 IF ((mtn == 0 .AND. igtyp /= 52 .AND. igtyp /= 51) .or.
942 . (igtyp == 0 .and. (ity == 1 .or. ity == 3 .or. ity == 7)) )
THEN
947 isolnod = iparg(28,ng)
951 1 ixc ,ixs ,ixtg ,x ,v ,
952 2 pm ,geo ,ms ,in ,ptg ,
953 3 msc ,mss ,mstg ,inc ,intg ,
954 4 thk(1+nft) ,thk(1+nft+numelc),partsav,ipart(i15a),
955 5 ipart(i15c),ipart(i15h),veul ,dtelem ,ihbe ,
956 6 isolnod ,nvc ,i8mi ,msnf ,mssf ,
957 7 igeo ,etnod ,nshnod ,stc
958 8 wma ,sh4tree ,sh3tree ,mcp ,mcpc ,
959 9 temp ,mcps ,xrefc ,xreftg ,xrefs ,
960 a mssa ,volnod ,bvolnod ,vns ,bns ,
961 b sh3trim ,isubstack ,stack ,rnoise ,perturb ,
962 c ele_area ,part_area ,ipart(i15d),ixt ,ipart(i15e),
963 d ixp ,mst ,msp ,stt ,stp ,
964 e strp ,inp ,stifint ,mcpp ,inr ,
965 f msr ,msrt ,str ,ipart(i15f),itab ,
967 h glob_therm,ibeam_vector,rbeam_vector)
969 ELSEIF( mtn == 13)
THEN
975 isolnod = iparg(28,ng)
979 1 ixc ,ixs ,ixtg ,ixs10 ,x ,
980 2 v ,pm ,geo ,ms ,in ,
981 3 ptg ,msc ,mss ,mstg ,inc ,
982 4 intg ,thk(1+nft) ,thk(1+nft+numelc),partsav,ipart
983 5 ipart(i15c),ipart(i15h),veul ,dtelem ,ihbe ,
984 6 isolnod ,nvc ,i8mi ,msnf ,mssf ,
985 7 igeo ,etnod ,nshnod ,stc ,sttg ,
986 8 wma ,sh4tree ,sh3tree ,mcp ,mcpc ,
987 9 temp ,mcps ,mssx ,mcpsx ,ins ,
988 a stifn ,stifr ,connec ,irig_node ,nelemr ,
989 b nindx ,xrefc ,xreftg ,xrefs ,mssa ,
990 c sh3trim ,isubstack ,bufmat ,ipm ,stack ,
991 d rnoise ,strc ,strtg ,perturb ,nel ,
992 e group_param_tab(ng) ,igtyp ,defaults ,glob_therm)
1007 gbuf => elbuf_tab(ng)%GBUF
1008 IF (iusolyld == 1 )
THEN
1010 . elbuf_tab(ng), ixs , sigsp ,sigi , nsigi,
1011 . nel ,lft , llt ,nft , nsigs,
1014 IF (isolnod == 4.AND.(isrot==0.OR.isrot==3))
THEN
1015 IF (multi_fvm%IS_USED)
THEN
1017 . nel, nsigs, nsigi, ixs, igeo, ipm, iparg, ale_connectivity, ipart(i15a), ptsol,
1018 . npc, ipart, iloadp,
1019 . xrefs, geo, pm, facload
1020 . wma, partsav, ms, v, mss, mssf, mssa, msnf, mcps, error_thrown, detonators,
1021 . defaults, mat_param,glob_therm%NINTEMP)
1023 IF (istot == 1)
THEN
1024 CALL sgsavini(isolnod,x,ixs(1,nft+1),gbuf%SMSTR
1025 IF (nsigi > 0 )
THEN
1026 CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1027 . gbuf%SMSTR,gbuf%OFF
1031 1 elbuf_tab(ng),ms ,ixs ,pm ,x ,
1033 3 dtelem ,sigi ,nel ,skew ,igeo ,
1034 4 stifn ,partsav ,v ,ipart(i15a),mss ,
1035 5 ipart ,msnf ,iparg ,
1036 6 mssf ,ipm ,nsigs ,volnod ,bvolnod ,
1037 7 vns ,bns ,wma ,ptsol ,bufmat ,
1038 8 mcp ,mcps ,temp ,npc ,pld ,
1039 9 iuser ,sigsp ,nsigi ,mssa ,xrefs ,
1040 a strsglob(nf1),straglob(nf1),fail_ini ,spbuf ,sol2sph ,
1041 b iloadp ,facload ,rnoise ,perturb ,mat_param ,
1042 c defaults%SOLID,glob_therm%NINTEMP )
1043 IF (nxref > 0 .AND. jlag/=0 .AND. jsph==0)
THEN
1046 2 ipm ,igeo ,skew ,x ,xrefs ,
1047 3 nel ,ipart(i15a),ipart ,bufmat ,mat_param ,
1048 4 npc ,pld ,nummat )
1050 IF (istot == 1)
THEN
1051 CALL sgsavref(isolnod,xrefs(1,1,nft+1),gbuf%SMSTR,nel)
1054 IF (nsigi > 0 )
THEN
1055 IF (nxref > 0 .OR. ismstr == 1)
1056 .
CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1057 . gbuf%SMSTR,gbuf%OFF,nel)
1061 ELSEIF( (isolnod == 6) .AND. (igtyp == 14 .OR. igtyp == 6))
THEN
1065 iprop = ixs(10,nft+1)
1066 IF (jhbe /= 24)
THEN
1070 . anmode=aninfo_blind_1,
1072 . i2=ipart(lipart1*(ipart(i15a)-1)+4),
1076 . elbuf_tab(ng),nixs ,numels ,ixs ,numnod ,ms ,
1077 . npropm ,nummat ,pm ,x ,detonators,npropg ,
1078 . numgeo ,geo ,ale_connectivity ,nparg ,
1079 . iparg(1,ng),nel ,dtelem ,nsigs ,lsigi ,sigi ,
1080 . lskew ,numskw ,skew ,npropgi ,igeo ,stifn ,
1081 . npsav ,npart ,partsav ,v ,ipart(i15a),mss ,
1082 . lipart1 ,ipart ,glob_therm,nsigi ,lsigsp ,sigsp ,
1083 . npropmi ,ipm ,iuser ,volnod ,bvolnod ,vns ,
1084 . bns ,ptsol ,sbufmat ,bufmat ,mcp ,mcps ,
1085 . temp ,snpc ,npc ,stf ,pld ,strsglob(nf1),
1086 . straglob(nf1),mssa ,fail_ini ,sizloadp ,nloadp ,iloadp ,
1087 . lfacload ,facload ,nperturb ,srnoise ,rnoise ,perturb ,
1088 . mat_param,defaults%SOLID ,numsol ,i7stifs ,isorth ,
1089 . istrain ,jthe ,mtn ,nft
1090 ELSEIF(isolnod == 10 .OR.(isolnod == 4 .AND.isrot
THEN
1094 2 detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1095 3 dtelem ,sigi ,nel ,skew ,igeo ,
1096 4 stifn ,partsav ,v ,ipart(i15a),mss ,
1097 5 ixs10 ,ipart ,glob_therm
1098 7 mssx ,sigsp ,nsigi ,ipm ,
1099 8 iuser ,nsigs ,volnod ,bvolnod ,vns ,
1100 9 bns ,vnsx ,bnsx ,ptsol ,bufmat ,
1101 a mcp ,mcps ,mcpsx ,temp ,npc ,
1102 b pld ,in ,stifr ,ins ,mssa ,
1103 c strsglob(nf1),straglob(nf1),fail_ini,iloadp ,facload ,
1105 IF (nsigi > 0 )
THEN
1108 IF(isolnod == 4 .AND.isrot == 1) nsrot = 4
1110 . gbuf%SMSTR,gbuf%OFF,ixs(1,nf1),dr,nsrot,nel)
1111 IF (ismstr==10.OR.ismstr==12)
1112 .
CALL s10jaci3(elbuf_tab(ng),gbuf%SMSTR,npt,nel)
1114 ELSEIF(ity==1.AND.isolnod==20)
THEN
1115 kk1=1+numels*nixs+numels10*6
1117 1 elbuf_tab(ng),ms ,ixs ,pm ,x ,
1118 2 detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1119 3 dtelem ,sigi ,nel ,skew ,igeo ,
1120 4 stifn ,partsav ,v ,ipart(i15a),mss ,
1121 5 ixs20 ,ipart ,mssx ,sigsp ,nsigi ,
1122 7 ipm , iuser ,nsigs ,volnod ,bvolnod ,
1123 8 vns ,bns ,vnsx ,bnsx ,ptsol ,
1125 a npc ,pld ,strsglob(nf1),straglob(nf1),fail_ini ,
1126 b iloadp ,facload ,perturb,rnoise ,mat_param ,
1128 ELSEIF(ity==1.AND.isolnod==16)
THEN
1129 kk1=1+numels*nixs+numels10*6+numels20*12
1131 1 elbuf_tab(ng),ms ,ixs ,pm ,x ,
1132 2 detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1133 3 dtelem ,sigi ,nel ,skew ,igeo ,
1134 4 stifn ,partsav ,v ,ipart(i15a),mss ,
1135 5 ixs16 ,ipart ,mssx ,sigsp ,nsigi ,
1136 6 ipm ,iuser ,nsigs ,volnod ,bvolnod ,
1137 7 vns ,bns ,vnsx ,bnsx ,ptsol ,
1138 8 bufmat ,mcp ,mcps ,mcpsx
1139 9 npc ,pld ,strsglob(nf1),straglob(nf1),fail_ini ,
1140 a iloadp ,facload ,perturb ,rnoise ,mat_param ,
1146 IF (jhbe==1.OR.jhbe==2.OR.jhbe==12.OR.jhbe==16)
THEN
1151 iprop = ixs(10,nft+1)
1152 igtyp = nint(geo(npropg*(iprop-1)+12))
1153 nuvar = nint(geo(npropg*(iprop-1)+25))
1154 istrain = iparg(44,ng)
1155 IF (jhbe == 15)
THEN
1157 IF (isolnod == 6)
THEN
1159 . elbuf_tab(ng),ms ,ixs ,pm ,x ,
1160 . detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1161 . dtelem ,sigi ,nel ,skew ,igeo ,
1162 . stifn ,partsav ,v ,ipart(i15a),mss,
1163 . ipart ,glob_therm,
1164 . sigsp ,nsigi ,ipm ,iuser ,nsigs ,
1165 . volnod ,bvolnod ,vns ,bns ,ptsol ,
1166 . bufmat ,mcp ,mcps ,mcpsx ,temp ,
1168 . orthoglob ,fail_ini
1169 . rnoise ,mat_param,defaults%SOLID)
1172 . ms ,ixs ,pm ,x ,mss ,
1173 . detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1174 . dtelem ,sigi ,nel ,skew ,igeo ,
1175 . stifn ,partsav ,v ,ipart(i15a) ,ipart ,
1176 . sigsp ,nsigi ,msnf ,mssf ,ipm ,
1177 . iuser ,nsigs ,volnod ,bvolnod ,vns ,
1178 . bns ,wma ,ptsol ,bufmat ,mcp ,
1179 . mcps ,temp ,npc ,pld ,mssa ,
1180 . strsglob(nf1),straglob(nf1),orthoglob ,fail_ini ,iloadp ,
1181 . facload ,rnoise ,perturb ,glob_therm, mat_param)
1183 ELSEIF (jhbe == 14 .AND.
1184 . (igtyp == 20 .OR. igtyp == 21 .OR. igtyp == 22))
THEN
1186 gbuf => elbuf_tab(ng)%GBUF
1188 . elbuf_tab(ng),ms ,ixs ,pm ,x ,
1189 . detonators,geo ,veul ,ale_connectivity,iparg(1,ng),
1190 . dtelem ,sigi ,nel ,skew ,igeo ,
1191 . stifn ,partsav ,v ,ipart(i15a),mss,
1192 . ipart ,sigsp ,nsigi ,msnf ,mssf ,ipm ,
1193 . iuser ,nsigs ,volnod ,bvolnod ,vns ,
1194 . bns ,wma ,ptsol ,bufmat ,mcp ,
1195 . mcps ,temp ,npc ,pld ,xrefs ,
1196 . mssa ,strsglob,strsglob(nf1),straglob(nf1),fail_ini,
1197 . iloadp ,facload ,perturb ,rnoise ,mat_param,glob_therm)
1198 IF (istot == 1)
THEN
1199 CALL sgsavini(isolnod,x,ixs(1,nft+1),gbuf%SMSTR,nel)
1201 IF (nsigi > 0 )
THEN
1202 CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1203 . gbuf%SMSTR,gbuf%OFF,nel)
1205 ELSEIF (jhbe == 14 .OR. jhbe == 222 .OR. jhbe == 17)
THEN
1207 gbuf => elbuf_tab(ng)%GBUF
1208 IF (istot == 1)
THEN
1209 CALL sgsavini(isolnod,x,ixs(1,nft+1),gbuf%SMSTR,nel)
1210 IF (nsigi > 0 )
THEN
1211 CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1212 . gbuf%SMSTR,gbuf%OFF,nel)
1214 IF (nxref > 0 .AND. jhbe == 17 )
THEN
1216 1 elbuf_tab(ng),ixs ,pm ,geo ,iparg(1,ng),
1217 2 ipm ,igeo ,skew ,x ,xrefs ,
1218 3 nel ,ipart(i15a),ipart ,bufmat ,mat_param,
1219 6 npc ,pld ,nummat )
1220 CALL sgsavref(isolnod,xrefs(1,1,nft+1),gbuf%SMSTR,nel)
1224 . elbuf_tab(ng),ms ,ixs ,pm ,x ,
1225 . detonators,geo ,veul ,ale_connectivity,iparg(1,ng),
1227 . stifn ,partsav ,v ,ipart(i15a),mss,
1228 . ipart ,glob_therm,
1229 . sigsp ,nsigi ,msnf ,mssf ,ipm ,
1230 . iuser ,nsigs ,volnod ,bvolnod ,vns ,
1231 . bns ,wma ,ptsol ,bufmat ,mcp ,
1232 . mcps ,temp ,npc ,pld ,xrefs ,
1233 . mssa ,strsglob(nf1),straglob(nf1),fail_ini,spbuf ,
1234 . kxsp ,ipart(i15j) ,nod2sp ,sol2sph ,irst,
1235 . iloadp ,facload ,perturb ,rnoise ,mat_param)
1236 IF (nsigi > 0 .AND. ismstr == 1)
THEN
1237 CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1238 . gbuf%SMSTR,gbuf%OFF,nel)
1240 ELSEIF (igtyp>=29)
THEN
1241 CALL suinit3(elbuf_tab(ng),ms ,ixs ,pm ,x ,
1242 . detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1243 . dtelem,sigi ,nel ,skew ,igeo ,
1244 . stifn ,partsav ,v ,ipart(i15a),mss,
1245 . ipart ,sigsp ,glob_therm,temp ,
1246 . nsigi ,in ,vr ,ipm ,nsigs ,
1247 . volnod ,bvolnod ,vns ,bns ,ptsol ,
1248 . bufmat ,npc ,pld ,fail_ini ,ins ,
1249 . iloadp ,facload ,perturb,rnoise ,mat_param)
1251 gbuf => elbuf_tab(ng)%GBUF
1252 IF (npt == 1 .AND. istot == 1)
THEN
1253 CALL sgsavini(isolnod,x,ixs(1,nft+1),gbuf%SMSTR,nel)
1254 IF (nsigi > 0 )
THEN
1255 CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1256 . gbuf%SMSTR,gbuf%OFF,nel)
1259 IF (jmult == 0)
THEN
1261 1 elbuf_tab(ng),ms ,ixs ,pm ,x ,
1262 2 detonators ,geo ,veul ,ale_connectivity ,iparg(1,ng),
1263 3 dtelem ,sigi ,nel ,skew ,igeo ,
1264 4 stifn ,partsav ,v ,ipart(i15a),mss ,
1265 5 ipart ,sigsp ,ng ,iparg ,
1266 7 nsigi ,msnf ,nvc ,mssf ,ipm ,
1267 8 iuser ,nsigs ,volnod ,bvolnod ,vns ,
1268 9 bns ,in ,vr ,ins ,wma ,
1269 a ptsol ,bufmat ,mcp ,mcps ,temp ,
1270 b xrefs ,npc ,pld ,mssa ,strsglob(nf1),
1271 c straglob(nf1),fail_ini ,spbuf ,kxsp ,ipart(i15j),
1272 d nod2sp ,sol2sph ,irst ,iloadp ,facload ,
1273 e rnoise ,perturb ,mat_param
1274 ELSE IF (jmult > 0 .AND. mtn == 151)
THEN
1277 1 elbuf_tab(ng),ms ,ixs ,pm ,x ,
1278 2 geo ,ale_connectivity ,iparg
1280 4 stifn ,partsav ,v ,ipart(i15a),mss ,
1281 5 ipart ,sigsp ,ng ,iparg ,glob_therm ,
1282 7 nsigi ,msnf ,nvc ,mssf ,ipm ,
1283 8 iuser ,nsigs ,volnod ,bvolnod ,vns ,
1284 9 bns ,in ,vr ,ins ,wma ,
1285 a ptsol ,bufmat ,mcp ,mcps ,temp ,
1286 b xrefs ,npc ,pld ,mssa ,strsglob(nf1),
1287 c straglob(nf1),fail_ini ,spbuf ,kxsp ,ipart(i15j),
1288 d nod2sp ,sol2sph ,irst ,iloadp ,facload ,
1289 e multi_fvm, error_thrown,detonators, mat_param)
1293 1 elbuf_tab(ng),ixs ,pm ,geo ,iparg(1,ng),
1294 2 ipm ,igeo ,skew ,x ,xrefs ,
1295 3 nel ,ipart(i15a),ipart ,bufmat ,mat_param,
1296 6 npc ,pld ,nummat )
1299 IF (nxref > 0 .AND. (npt == 1 .AND. istot == 1) )
THEN
1300 CALL sgsavref(isolnod,xrefs(1,1,nft+1),gbuf%SMSTR,nel)
1302 IF (nsigi > 0 )
THEN
1303 IF (nxref > 0 .OR. ismstr == 1 )
1304 .
CALL sgsavinieref(isolnod,straglob(nf1),sigsp,nsigi,ptsol(nf1),
1305 . gbuf%SMSTR,gbuf%OFF,nel)
1308 nc2 = (nvc-nc1*128) / 64
1309 nc3 = (nvc-nc1*128-nc2*64) / 32
1310 nc4 = (nvc-nc1*128-nc2*64-nc3*32)/16
1311 nc5 = (nvc-nc1*128-nc2*64-nc3*32-nc4*16)/8
1312 nc6 = (nvc-nc1*128-nc2*64-nc3*32-nc4*16-nc5*8)/4
1313 nc7 = (nvc-nc1*128-nc2*64-nc3*32-nc4*16-nc5*8-nc6*4)/2
1314 nc8 = (nvc-nc1*128-nc2*64-nc3*32-nc4*16-nc5*8-nc6*4-nc7*2)
1315 IF (nc1 == 1) nc1_old = 1
1316 IF (nc2 == 1) nc2_old =
1317 IF (nc3 == 1) nc3_old = 1
1318 IF (nc4 == 1) nc4_old = 1
1319 IF (nc5 == 1) nc5_old = 1
1320 IF (nc6 == 1) nc6_old = 1
1321 IF (nc7 == 1) nc7_old = 1
1322 IF (nc8 == 1) nc8_old = 1
1323 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
1329 ELSEIF(ity == 2)
THEN
1331 IF (jmult == 0)
THEN
1332 IF (ihbe == 17 .OR. (n2d == 1.AND.ihbe == 22))
THEN
1333 CALL q4init2(elbuf_tab(ng),ms ,ixq,pm,x,
1334 2 detonators,geo,veul,ale_connectivity,iparg(1,ng),
1335 3 dtelem,sigi,igeo ,
1336 4 nel ,skew , msq ,ipart ,ipart(i15b),
1337 5 ipm ,nsigs ,wma ,ptquad ,bufmat ,
1338 6 npc ,pld ,iparg ,iloadp ,facload ,
1339 7 partsav,v ,mat_param)
1342 . elbuf_tab(ng),ms,ixq ,pm ,x ,
1343 . detonators,geo,veul
1345 . nel ,skew, msq, ipart, ipart(i15b),
1347 . wma ,ptquad ,bufmat ,npc ,pld,
1348 . iparg ,iloadp ,facload ,partsav,v, mat_param)
1353 . elbuf_tab(ng),ms ,ixq ,pm ,x ,
1354 . detonators ,veul ,ale_connectivity ,iparg(1,ng) ,fill ,
1355 . sigi ,bufmat ,nel ,mat_param ,
1356 . skew ,msq ,ipart ,ipart(i15b) ,
1358 . nsigs ,wma ,ptquad ,npc ,pld ,
1359 . iparg ,iloadp ,facload ,partsav ,v )
1360 ELSE IF (mtn == 151)
THEN
1363 . iparg, ixq, ipm, ale_connectivity, igeo, ipart, ipart(i15b), npc,
1364 . ptquad, iloadp, x, pm,
1365 . geo, sigi, skew, pld, bufmat, facload, elbuf_tab(ng), error_thrown,detonators,
1374 ELSEIF (ity == 3)
THEN
1375 istrain =iparg(44,ng)
1381 IF (ihbe>10.AND.ihbe<29)
THEN
1383 IF (sitage>0) ptr_itage=>itage(1)
1386 2 ms ,in ,nvc ,dtelem,igrsh4n ,
1387 3 xrefc ,nel ,ithk ,ihbe ,igrsh3n ,
1388 4 thk(1+nft),isigsh,sigsh ,stifn ,stifr ,
1389 5 partsav ,v ,ipart(i15c) ,msc,inc ,
1390 6 skew ,i8mi ,nsigsh ,igeo ,
1391 7 ipm ,iuser ,etnod ,nshnod ,stc ,
1392 8 ptshel ,bufmat ,sh4tree ,mcp ,mcpc ,
1393 9 temp ,ms_layer, zi_layer ,itag ,itagel ,
1396 c npc ,pld ,xfem_tab,isubstack ,stack ,
1397 d rnoise ,drape ,sh4ang ,iddlevel,geo_stack,
1398 e igeo_stack ,strc ,perturb ,iyldini ,ele_area,
1399 f nloc_dmg ,ng ,group_param_tab(ng),idrape,drapeg,
1400 g mat_param ,fail_fractal,fail_brokmann,glob_therm)
1403 IF (sitage>0) ptr_itage => itage(1)
1404 CALL cinit3(elbuf_tab(ng),
1407 3 xrefc ,nel ,ithk ,ihbe ,igrsh3n ,
1408 4 thk(1+nft),isigsh ,sigsh ,stifn ,stifr ,
1409 5 partsav ,v ,ipart(i15c),msc ,inc ,
1410 8 skew ,iparg(1,ng),i8mi ,nsigsh ,igeo ,
1411 9 iuser ,etnod ,nshnod ,stc ,ptshel ,
1412 a ipm ,bufmat ,sh4tree ,mcp ,mcpc ,
1413 b temp ,cpt_eltens ,part_area ,itagn ,ptr_itage ,
1414 c ixfem ,npc ,pld ,xfem_tab,isubstack,
1415 d stack ,rnoise ,drape ,sh4ang ,iddlevel ,
1416 e geo_stack,igeo_stack ,strc ,perturb ,iyldini ,
1417 f ele_area ,ng ,group_param_tab(ng) ,nloc_dmg ,
1418 g idrape ,drapeg ,mat_param ,fail_fractal,fail_brokmann,
1422 nc2 = (nvc-nc1*8) / 4
1423 nc3 = (nvc-nc1*8-nc2*4) / 2
1424 nc4 = nvc-nc1*8-nc2*4-nc3*2
1425 IF (nc1 == 1) nc1_old = 1
1426 IF (nc2 == 1) nc2_old = 1
1427 IF (nc3 == 1) nc3_old = 1
1428 IF (nc4 == 1) nc4_old = 1
1429 iparg(19,ng)=nc1_old*8+nc2_old*4+nc3_old
1435 ELSEIF (ity == 4)
THEN
1436 CALL tinit3(elbuf_tab(ng),
1437 1 ixt ,pm ,x ,geo ,ms ,
1438 2 dtelem ,nft ,nel ,stifn ,partsav,
1439 3 v ,ipart(i15d),mst ,stifint,stt ,
1440 4 igeo ,nsigtruss ,sigtruss ,pttruss,
1441 5 preload_a,iboltp ,npreload_a )
1445 ELSEIF (ity == 5)
THEN
1446 CALL pinit3(elbuf_tab(ng),
1447 1 stp ,ixp ,pm ,x ,geo ,
1448 2 dtelem ,nft ,nel ,
1449 3 stifn ,stifr ,partsav ,v ,ipart(i15e),
1451 5 nsigbeam ,sigbeam ,ptbeam ,iuser ,
1452 6 mcpp ,temp ,preload_a,iboltp ,npreload_a ,
1453 7 glob_therm ,ibeam_vector,rbeam_vector)
1457 ELSEIF (ity == 6)
THEN
1458 iopt = ptr_nopt_fun + 1
1459 CALL rinit3(elbuf_tab(ng),
1460 1 ixr ,x ,geo ,ms ,npc ,
1461 2 pld ,in ,skew ,dtelem ,nel ,
1462 3 stifn ,stifr ,partsav ,v ,ipart(i15f),
1464 5 inr ,stifint ,str(nft+1),igeo ,sigrs ,
1465 6 nsigrs ,imerge2 ,iadmerge2 ,msrt(nft+1),ixr_kj ,
1466 7 nom_opt(1,iopt),strr ,ptspri ,ipm , pm ,
1467 8 bufmat ,r_skew ,preload_a ,iboltp ,npreload_a,
1472 ELSEIF(ity == 7 .OR. ity == 8)
THEN
1473 istrain =iparg(44,ng)
1477 IF (ish3n == 30 .AND. icnod == 6) ish3n = 0
1480 IF (ish3n == 30)
THEN
1481 CALL cdkinit3(elbuf_tab(ng),group_param_tab(ng),
1482 1 ixtg ,pm ,x ,geo ,
1483 2 ms ,in ,nvc ,dtelem,
1484 3 xreftg ,offset,nel ,ithk ,thk(1+nft+numelc
1485 4 isigsh ,sigsh(1,ksigsh3
1486 5 v ,ipart(i15h) ,mstg ,intg , ptg ,
1487 8 skew ,ish3n ,nsigsh ,igeo ,ipm ,
1488 9 iuser ,etnod ,nshnod ,sttg ,ptsh3n ,
1489 a bufmat ,sh3tree,mcp ,mcptg , temp ,
1490 b iparg(1,ng),cpt_eltens,part_area ,npc ,pld ,
1491 c sh3trim ,isubstack,stack ,rnoise,
1492 d drape,sh3ang ,geo_stack,igeo_stack,strtg,
1493 e perturb,iyldini ,ele_area,nloc_dmg,
1494 f idrape, drapeg,mat_param,glob_therm)
1495 ELSEIF (mtn == 151 .OR. n2d > 0)
THEN
1496 CALL multifluid_init2t(elbuf_tab(ng), nel, nsigs, nvc, iparg, ixtg, ale_connectivity,
1497 . igeo, ipart, ipart(i15h), ipm, ptsh3n, npc, iloadp,
1498 . x, pm, geo, sigi, skew, pld, bufmat, facload, multi_fvm, error_thrown, detonators,
1502 IF (sitage > 0) ptr_itage => itage(numelc+1)
1504 1 ixtg ,pm ,x ,geo ,igrsh4n,
1505 2 ms ,in ,nvc ,dtelem,igrsh3n ,
1506 3 xreftg ,offset,nel ,ithk ,thk(1+nft+numelc
1507 4 isigsh ,sigsh(1,ksigsh3),stifn,stifr,partsav ,
1508 5 v ,ipart(i15h),mstg,intg ,ptg ,
1509 8 skew,iparg(1,ng) , nsigsh ,igeo,iuser ,
1510 9 etnod ,nshnod ,sttg ,ptsh3n ,ipm ,
1511 a bufmat ,sh3tree ,mcp ,mcptg , temp ,
1513 c npc ,pld ,sh3trim ,xfem_tab,
1514 d isubstack , stack,rnoise ,
1515 e drape ,sh3ang,iddlevel,geo_stack,igeo_stack,strtg,
1516 f perturb ,ish3n,iyldini ,ele_area,
1517 g nloc_dmg,ng,group_param_tab(ng),idrape,
1518 h drapeg,mat_param,fail_fractal,fail_brokmann,glob_therm
1521 nc2 = (nvc-nc1*8) / 4
1522 nc3 = (nvc-nc1*8-nc2*4) / 2
1523 IF (nc1 == 1) nc1_old = 1
1524 IF (nc2 == 1) nc2_old = 1
1525 IF (nc3 == 1) nc3_old = 1
1526 iparg(19,ng)=nc1_old*8+nc2_old*4+nc3_old*2
1532 ELSEIF(ity == 51)
THEN
1535 isph2sol=iparg(69,ng)
1536 CALL spinit3(ity ,spbuf ,kxsp ,x ,geo ,
1537 2 ms ,npc ,pld ,in ,skew ,
1538 3 dtelem ,nel ,stifn ,stifr ,igeo ,
1539 4 partsav ,v ,ipart(i15j),bufmat,
1540 5 pm ,itab ,msr ,inr ,ixsp ,
1541 6 nod2sp ,iparg(1,ng),ale_connectivity ,detonators ,
1542 7 sigsph ,isptag ,ipart ,
1543 8 ipm ,nsigsph ,ptsph ,npc ,
1544 9 pld ,elbuf_tab(ng),mcp,temp ,iloadp,
1549 ELSEIF(ity == 100)
THEN
1552 iaduv =iadux +3*maxnx
1553 iaduvr=iaduv +3*maxnx
1554 iadums=iaduvr+3*maxnx
1560 CALL xinit3(elbuf_tab(ng),kxx,ixx ,x ,v ,
1563 4 partsav ,ipart(i15i),geo ,
1564 5 itab ,xelemwa(iaduix) ,xelemwa(iadux) ,xelemwa(iaduv) ,
1565 6 xelemwa(iaduvr) ,xelemwa(iadums) ,xelemwa(iaduin) ,
1566 7 xelemwa(iadusm) ,xelemwa(iadusr) ,xelemwa(iadumv) ,
1567 8 xelemwa(iadurv) ,igeo, nft)
1572 ELSEIF (ity == 101)
THEN
1573 nctrl = iparg(75,ng)
1574 px = igeo(41,iparg(62,ng))
1575 py = igeo(42,iparg(62,ng))
1576 pz = igeo(43,iparg(62,ng))
1577 CALL ig3dinit3(elbuf_tab(ng),ms ,kxig3d ,ixig3d ,pm ,x,
1578 . detonators ,geo ,veul ,ale_connectivity,iparg(1,ng),
1579 . dtelem,sigi ,nel ,skew ,igeo ,
1580 . stifn ,partsav ,v ,ipart(i15k),mss,
1582 . nsigi ,in ,vr ,ipm ,nsigs ,
1583 . vnige ,bnige ,ptsol ,
1584 . bufmat ,npc ,pld ,fail_ini,nctrl,
1585 . msig3d ,knot ,nctrlmax,wige ,px
1586 . knotlocpc,knotlocel,mat_param)
1590 WRITE(iout,
'(A,I10,A,I5)')
' SHELL GROUP',ng,
' VECTORIZATION CODE =',iparg(19,ng)
1591 ELSEIF (ity == 7)
THEN
1592 WRITE(iout,
'(A,I10,A,I5)')
' TRIANGULAR SHELL GROUP',ng,
' VECTORIZATION CODE =',iparg(19,ng)
1593 ELSEIF (ity == 1)
THEN
1594 WRITE(iout,
'(A,I10,A,I5)')
' BRICK GROUP',ng,
' VECTORIZATION CODE =',iparg(19,ng)
1605 . anmode=aninfo_blind_1,
1612 CALL eikonal_solver(ixq , nixq , numelq ,
1613 . ixs , nixs , numels ,
1614 . ixtg , nixtg , numeltg ,
1615 . x , numnod , titre(55),
1616 . elbuf_tab, ngroup , nparg ,
1617 . nod2eltg , knod2eltg,
1618 . nod2elq , knod2elq ,
1619 . nod2els , knod2els ,
1620 . iparg , ale_connectivity, npropm, nummat, pm, n2d, detonators,
1628 CALL detonation_times_printout(nparg,ngroup,iparg,n2d,ipri,elbuf_tab,
1629 . nixs,nixq,nixtg,numels,numelq,numeltg,ixs,ixq,ixtg)
1633 IF(m51_iflg6==1 .AND. m51_lset_iflg6==1)
THEN
1635 WRITE (iout,1001)m51_lc0max,m51_ssp0max,m51_tcp_ref
1640 .
' NON REFLECTING FRONTIERS (/MAT/LAW51) '/
1641 .
' ------------------------------------- '/
1642 & 5x,
'INITIALIZATION OF GLOBAL PARAMETERS ',/
1643 & 5x,
'CHARACTERISTIC LENGTH. . . . . . . . . .=',e12.4/
1644 & 5x,
'REFERENCE SOUND SPEED. . . . . . . . . =',e12.4/
1645 & 5x,
'CHARACTERISTIC TIME. . . . . . . . . . .=',e12.4//)
1648 CALL ancmsg(msgid=1228,msgtype=msgerror,anmode=aninfo_blind_1,prmod=msg_print)
1658 isolnod = iparg(28,ng)
1659 isrot = iparg(41,ng)
1660 icpre = iparg(10,ng)
1662 IF(iparg(8, ng) == 1) cycle
1663 IF(isolnod /= 4 .AND. isolnod /= 10) cycle
1664 IF(isolnod==4.AND.isrot == 3) isfem=1
1665 IF(icpre>0.AND.(isolnod==10.OR.(isolnod==4.AND.isrot == 1))) isfem=1
1670 IF (cpt_eltens /= 0)
THEN
1671 CALL ancmsg(msgid=863,msgtype=msgwarning,anmode=aninfo_blind_1,i1=cpt_eltens)
1676 addedms(1:npart) = zero
1679 1 ixs ,ixs10 ,ixs20 ,ixs16 ,ixq ,
1680 2 ixc ,ixt ,ixp ,ixr ,ixtg ,
1681 3 mss ,mssx ,msq ,msc ,
1682 4 mst ,msp ,msr ,mstg ,
1683 5 index ,itri ,geo ,partsav1_pon ,ipart(i15a) ,
1684 6 ipart(i15b),ipart(i15c),ipart(i15d),ipart(i15e) ,ipart(i15f) ,
1685 7 ipart(i15h),ipart )
1687 . part_area,pm,addedms,nom_opt(1,ptr_nopt_adm+1),
1690 1 ixs ,ixs10 ,ixs20 ,ixs16 ,ixq ,
1691 2 ixc ,ixt ,ixp ,ixr ,ixtg ,
1692 3 mss ,mssx ,msq ,msc ,
1693 4 mst ,msp ,msr ,mstg ,
1694 5 ptg ,ms ,index ,itri ,
1695 6 geo ,sh4tree ,sh3tree ,partsav ,ipmas ,
1696 7 ipart(i15a),ipart(i15b),ipart(i15c),ipart(i15d),
1697 8 ipart(i15e),ipart(i15f),ipart(i15h),totaddmas ,
1698 9 ipart ,thk ,pm ,part_area ,
1699 a addedms ,itab ,partsav1_pon,ele_area )
1708 1 ixs ,ixq ,ixc ,ixt ,ixp ,
1709 2 ixr ,ixtg ,mss ,msq ,
1710 3 msc ,mst ,msp ,msr ,mstg ,
1711 4 inc ,inp ,inr ,intg ,
1712 5 index ,itri ,ms ,in ,
1713 6 ptg ,geo ,ixs10 ,ixs20 ,
1714 7 ixs16 ,mssx ,msnf ,mssf ,vns ,
1715 8 vnsx ,stc ,stt ,stp ,str ,
1716 9 sttg ,stur ,bns ,bnsx ,volnod ,
1717 a bvolnod ,etnod ,stifint ,ins ,mcpc ,
1718 b mcp ,mcps ,mcpsx ,mcptg,sh4tree,
1719 c sh3tree ,ms_layerc, zi_layerc , ms_layer,
1720 d zi_layer,msz2c, msz2,zply ,
1721 e kxig3d ,ixig3d ,msig3d,nctrlmax,strc ,
1722 f strp,strr,strtg,stifintr,nshnod,vnige,bnige,
1723 g mcpp ,glob_therm%ITHERM_FE)
1724 IF(i7stifs/=0)
CALL asstifi(volnod,bvolnod,etnod,nshnod,stifint)
1729 IF(interfaces%PARAMETERS%ISTIF_DT > 0)
THEN
1730 CALL inintmass( ipari, intbuf_tab,ms , interfaces%PARAMETERS%ISTIF_DT )
1732 interfaces%PARAMETERS%DT_STIFINT = zero
1733 IF(interfaces%PARAMETERS%ISTIF_DT > 0)
THEN
1734 CALL dtnoda_stifint( ms ,stifn ,interfaces%PARAMETERS%DT_STIFINT)
1740 CALL init_rwall_penalty(elbuf_tab,
1741 1 numnod, nparg, ngroup, iparg, nummat,
1742 2 nrwall, nnprw, nprw, lprw, slprw,
1743 3 numelc,numeltg, numels,numels8, numels10,
1744 4 numels16,numels20, ixc, ixtg, ixs,
1745 5 ixs10, ixs16, ixs20, ixt, ixp,
1746 6 ixr, numelt, numelp, numelr, stifn,
1747 7 mat_param,sln_pen,rwstif_pen)
1753 CALL laser10(las,xlas,x,ixq,iparg)
1759 IF(n2d == 0 .AND. imulti_fvm /= 1)
THEN
1763 IF(ity == 1 .AND. jeul /= 0 )
THEN
1776 CALL eporin3(ixs,veul,ale_connectivity,geo,nft,nel)
1783 CALL init_inivol(
num_inivol, inivol, nsurf, igrsurf,
1784 . nparg , ngroup, iparg, numnod, npart,
1785 . numels , nixs, ixs, igrnod, ngrnod,
1786 . numeltg , nixtg, ixtg,
1787 . numelq , nixq, ixq,
1788 . x , nbsubmat, kvol,
1789 . elbuf_tab, numels8, xrefs, glob_therm,
1790 . n2d ,multi_fvm, sipart, ipart ,
1791 . i15a ,i15b , i15h, sbufmat, bufmat,
1792 . npropmi ,nummat , ipm, sbufsf, bufsf,
1793 . npropg ,numgeo , geo, mvsiz , skvol,
1802 1 elbuf_tab , ipart , igrpart , iparg , ipart(i15h),
1803 2 ipart(i15a) , ipart(i15b), x , ixs , ixq ,
1804 3 ixtg , pm , ipm , bufmat , multi_fvm ,
1805 4 ale_connectivity, nv46 , igrsurf , itab , ebcs_tab ,
1806 5 npc , pld , mat_param)
1811 IF (ninimap1d > 0)
THEN
1812 WRITE(istdo,
'(A)') titre(53)
1813 CALL ini_inimap1d(inimap1d ,elbuf_tab ,ipart ,iparg ,ipart(i15a),
1814 . ipart(i15b) ,x ,v ,ixs ,ixq ,
1815 . ixtg ,pm ,ipm ,bufmat ,multi_fvm ,
1816 . pld ,npc ,igrbric ,igrquad ,igrsh3n ,
1817 . npts ,mat_param ,snpc ,stf)
1822 IF (ninimap2d > 0)
THEN
1823 WRITE(istdo,
'(A)') titre(53)
1824 CALL ini_inimap2d(inimap2d ,elbuf_tab ,ipart ,iparg ,ipart(i15a),
1825 . ipart(i15b) ,x ,v ,ixs ,ixq ,
1826 . ixtg ,pm ,ipm ,bufmat ,multi_fvm ,
1827 . func2d ,igrbric ,igrquad ,igrsh3n ,npc,
1833 IF (multi_fvm%IS_USED .AND. ninvel > 0)
THEN
1834 CALL ini_fvminivel(fvm_inivel ,multi_fvm ,igrbric ,igrquad ,igrsh3n)
1839 IF (isms_selec >= 1)
THEN
1841 . ixs ,ixq ,ixc ,ixt ,ixp ,
1842 . ixr ,ixtg ,ixs10 ,ixs16 ,ixs20 ,
1843 . ipart(i15a) ,ipart(i15b) ,ipart(i15c) ,ipart(i15d) ,ipart(i15e),
1848 IF(ilag+iale+ieuler == 0)
THEN
1878 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,n),ltitr)
1880 CALL inirby(n ,rby ,m ,lpby ,
1881 . ms,in ,x ,itab ,skew ,
1882 . b1,b2 ,b3 ,b5 ,b6 ,
1883 . b9,isph ,totmas ,xg ,yg ,
1884 . zg,stifn ,stifr ,npby ,rbyid ,
1885 . v ,vr ,id ,titr ,itagnd,
1901 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,n),ltitr)
1903 CALL inirbys(n ,rby ,m ,lpby ,
1904 . ms,in ,x ,itab ,skew,
1905 . b1,b2 ,b3 ,b5 ,b6 ,
1906 . b9,isph ,totmas ,xg ,yg ,
1907 . zg,npby ,iwa ,v ,vr ,
1908 . rbyid,id ,titr ,itagnd,rby_iniaxis)
1916 .
CALL lgmini_rby(npbyl ,lpbyl ,rbyl ,ms ,in ,x ,v ,vr ,itab ,nom_opt)
1920 IF (nrbmerge > 0)
THEN
1921 CALL retrirby(npby ,lpby ,rby ,nom_opt)
1926 IF (n_seatbelt > 0)
CALL init_seatbelt_rbodies(nnpby,nrbody,npby,slrbody,lpby,sicode,icode,nslipring)
1930 IF(irigid_mat > 0)
THEN
1931 CALL ininode_rm(connec ,irig_node, slnrbm , nslnrbm ,nrbym ,
1932 . ngslnrbym,stifn ,stifr,rmstifn, rmstifr ,
1938 CALL inisrf(x,v,vr,npby,rby,igrsurf,bufsf)
1943 . ms ,in ,itab ,igeo ,ipm ,
1944 . bufmat ,ipart ,ipart(i15f),npby ,lpby )
1952 CALL ini_fxbody(fxbipm, fxbrpm, fxbnod, fxbglm,fxbcpm,
1953 . fxbcps, fxblm, fxbfls, fxbdls,fxbmod,
1954 . itab, x ,ms, in, fxb_matrix,
1955 . fxb_matrix_add,fxb_last_adress,icode,nom_opt(1,ptr_nopt_fxb+1))
1957 ALLOCATE(mbufel_tmp(lbufel), mdepl_tmp(3*numnod))
1965 CALL fxbvini(fxbipm, fxbvit, fxbrpm, v, vr)
1980 lvsig=nels*7+nelc*10+nelt*2+nelp*8+neltg*10
1982 IF (ifile == 0)
THEN
1983 amod=amod+nme*nbno*6
1984 ELSEIF (ifile == 1)
THEN
1985 amod=amod+nme*fxbipm(18,i)*6
1989 . fxbelm(alm) , fxbsig(asig), nels, nelc, neltg,
1990 . x , iparg , pm , fxbmod(amod), nml ,
1991 . nbno , ixs , ixc , ixtg , geo ,
1992 . fxbrpm(arpm), i , fxbipm(29,i), lvsig ,fxbipm(18,i),
1993 . nme , ircs, fxbipm(30,i), nelt, nelp ,
1994 . ixt , ixp ,ibeam_vector,rbeam_vector)
1998 fxbrpm(adrrpm+10)=zero
1999 fxbrpm(adrrpm+11)=zero
2002 IF (fxbipm(36,i) == 1)
THEN
2010 ircm=ircm+(nsn-nsni)*fxbipm(17,i)
2019 mbufel_tmp(k)=elbuf(k)
2023 . fxbnod(anod), fxbmod(amod), mdepl_tmp , ifile, ircm,
2027 . fxbelm(alm), fxbsig(asig), mbufel_tmp, nels, nelc,
2028 . nelt, nelp, neltg, fxbrpm(arpm), lbufel,
2029 . asig , ifile, ircs , lvsig )
2031 IF (j>=imin.AND.j<=imax)
THEN
2033 fxani(1,nmani)=fxbid
2036 mdepl(k,nmani)=mdepl_tmp(k)
2039 mbufel(k,nmani)=mbufel_tmp(k)
2046 DEALLOCATE(mbufel_tmp, mdepl_tmp)
2051 CALL inirbe2(irbe2 ,lrbe2 ,itab ,x ,ms ,
2052 . in ,stifn ,stifr ,totmas,xg ,
2053 . yg ,zg ,b1 ,b2 ,b3 ,
2055 . nom_opt(1,ptr_nopt_rbe2+1),itagnd)
2069 igtyp = nint(geo(npropg*(iprop-1)+12))
2070 gbuf => elbuf_tab(ng)%GBUF
2072 nuvar = nint(geo(npropg*(iprop-1)+25))
2073 CALL rini33_rb(nel,nuvar,iprop,ixr,npby,
2074 . lpby,rby,stifr,gbuf%VAR,itab,
2075 . igeo(1,iprop),ixr_kj,gbuf%MASS)
2076 ELSEIF (igtyp==45)
THEN
2077 IF (flag_kj==0)
WRITE(iout,1500)
2079 nuvar = nint(geo(npropg*(iprop-1)+25))
2080 CALL rini45_rb(nel,nuvar,iprop,ixr,npby,
2081 . lpby,rby,stifr,gbuf%VAR,itab,
2082 . igeo(1,iprop),ixr_kj,gbuf%MASS,ms,in)
2089 IF (ndamp_freq_range > 0)
THEN
2090 call damping_range_init(ndamp,nrdamp
2096 WRITE(iout,
'(5(I10,1X,1PG20.13))') (itab(i),ms(i),i=1,numnod)
2097 IF (glob_therm%ITHERM_FE > 0)
THEN
2099 WRITE(iout,
'(5(I10,1X,1PG20.13))') (itab(i),temp(i),i=1,numnod)
2101 WRITE(iout,
'(5(I10,1X,1PG20.13))') (itab(i),mcp(i),i=1,numnod)
2107 CALL outpart(partsav,ipart,npart)
2111 CALL outpart5(group_param_tab,ipart,ipart(i15a),iparg,igeo,geo ,pm )
2118 . i8mi(1,n) + r8_deuxm43 * (
2119 . i8mi(2,n) + r8_deuxm43 * i8mi(3,n))
2124 . i8mi(4,n) + r8_deuxm43 * (
2125 . i8mi(5,n) + r8_deuxm43 * i8mi(6,n))
2134 IF (itagnd(n)/=0) cycle
2146 xy=(x(nn1))*(x(nn2))
2147 xz=(x(nn1))*(x(nn3))
2148 yz=(x(nn2))*(x(nn3))
2170 xy=(x(nn1))*(x(nn2))
2171 xz=(x(nn1))*(x(nn3))
2172 yz=(x(nn2))*(x(nn3))
2191 xg=xg/max(totmas,em20)
2192 yg=yg/max(totmas,em20)
2193 zg=zg/max(totmas,em20)
2195 WRITE(iout,
'(5X,1PG20.13,3(1X,G20.13))')
2205 b1=b1-(yy+zz)*totmas
2206 b5=b5-(xx+zz)*totmas
2207 b9=b9-(xx+yy)*totmas
2212 WRITE(iout,
'(4X,3(1X,1PG20.13),3(1X,G20.13))')
2219 WRITE(iout,1400) totaddmas
2225 . ixs ,ixtg ,ele_area
2226 . numel ,ipm ,x ,xrefs ,
2227 . xrefc ,xreftg ,mat_param)
2231 IF (glob_therm%ITHERM_FE > 0 )
THEN
2232 DEALLOCATE(mcps,mcpp)
2233 IF(numels10 > 0.OR.numels16 > 0 .OR.numels20 > 0)
2237 DEALLOCATE (partsav)
2239 DEALLOCATE(ms_layerc,zi_layerc,msz2c,zply)
2240 DEALLOCATE (partsav1_pon)
2242 DEALLOCATE(connec,irig_node)
2243 IF(
ALLOCATED(part_area))
DEALLOCATE(part_area)
2245 IF(
ALLOCATED(vpreload))
DEALLOCATE (vpreload)
2246 IF(
ALLOCATED(ele_area))
DEALLOCATE(ele_area)
2251 . 5x,
'NODAL MASSES',/
2252 . 5x,
'------------',/
2253 . 5x,
' NODE MASS',22x,
'NODE MASS',22x,
'NODE MASS',22x,
'NODE MASS',
2256 . 5x,
'TOTAL MASS AND MASS CENTER',/
2257 . 5x,'--------------------------
',/
2258 . 5X,' mass
',20X,'x
',20X,'y
',20X,'z
'/)
2260 . 5X,'total inertia
',/
2261 . 5X,'-------------
',/
2262 .22X,'ixx
',18X,'iyy
',18X,'izz
',18X,'ixy
',18X,'iyz
',18X,'izx
')
2264 . 5X,' added nodal non-structural masses
' /
2265 . 5X,'-----------------------------------
' /)
2266 1400 FORMAT(5X,' total added mass =
',1PG20.13//)
2268 . 5X,'kjoint2 spring definition
',/
2269 . 5X,'------------------------
'/)
2271 . 5X,'initial nodal temperatures
',/
2272 . 5X,'--------------------------
',/
2273 . 6X,5('node temperature
',15X),'node temperature
'/)
2275 . 5X,'initial nodal mcp
',/
2276 . 5X,'--------------------------
',/
2277 . 6X,5('node mcp
',15X),'node mcp
'/)