86 SUBROUTINE lectur(ICODE ,ISKEW ,ISKWN ,IXTG ,IXS ,
87 2 IXQ ,IXC ,IXT ,IXP ,IXR ,
88 3 ITAB ,ITABM1,NPC ,IPARG ,IGRV ,
90 5 NPBY ,LPBY ,NNLINK ,LLINK ,LINALE,
91 6 NEFLSW ,NNFLSW,ICUT ,INOISE ,
94 9 WA ,CRFLSW,XCUT ,ANIN ,DAMPR ,
95 A IGRNOD ,KXSP ,WEIGHT ,FR_RBY2,FR_RL ,
97 C MONVOL ,VOLMON,IPART_STATE,GEO,TABLE ,
98 D IFRAME ,XFRAME,ELBUF_STR,IGEO ,INTBUF_TAB,
99 E IPM ,H3D_DATA, MULTI_FVM,
100 F IGRPART ,TAG_SKINS6,ICFIELD,LCFIELD,TAGSLV_RBY,
101 G MDS_LABEL,MDS_OUTPUT_TABLE,MDS_NMAT,MAX_DEPVAR,
102 H MDS_NDEPSVAR,STACK,IBCL,ILOADP,LLOADP,SENSORS,
103 I DYNAIN_DATA,DT ,LOADS ,OUTPUT,NAMES_AND_TITLES,
104 J MAT_PARAM,GLOB_THERM,PBLAST)
138#include "implicit_f.inc"
142#include "com01_c.inc"
143#include "com04_c.inc"
144#include "com06_c.inc"
145#include "com08_c.inc"
146#include "com09_c.inc"
147#include "param_c.inc"
149#include "scr02_c.inc"
150#include "scr03_c.inc"
151#include "scr05_c.inc"
152#include "scr06_c.inc"
153#include "scr07_c.inc"
154#include "scr14_c.inc"
155#include "scr16_c.inc"
156#include "scr17_c.inc"
157#include "scr18_c.inc"
158#include "cong1_c.inc"
159#include "cong2_c.inc"
160#include "scrfs_c.inc"
161#include "stati_c.inc"
162#include "statr_c.inc"
163#include "units_c.inc"
164#include "scrcut_c.inc"
165#include "scrnoi_c.inc"
166#include "parit_c.inc"
167#include "chara_c.inc"
170#include "impl1_c.inc"
171#include "tabsiz_c.inc"
172#include "remesh_c.inc"
174#include "rad2r_c.inc"
175#include "inter22.inc"
176#include "userlib.inc"
178#include "intstamp_c.inc"
179#include "couple_c.inc"
183 INTEGER IPARG(NPARG,NGROUP), IPARI(NPARI,*), IXS(NIXS,*),
184 . IXQ(NIXQ,*), IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*),
185 . IXR(NIXR,*), IXTG(NIXTG,*),ITAB(*), ITABM1(*),
186 . ISKWN(LISKN,*), NPBY(NNPBY,*),NNLINK(*) ,LLINK(*) ,LINALE(*),
187 . ICODE(*) ,ISKEW(*),NPC(*),NEFLSW(*),NNFLSW(*),ICUT(*),
188 . INOISE(*),IGRV(NIGRV,*),IBGR(*),
189 . LPBY(*),KXSP(NISP,*),WEIGHT(*),FR_RBY2(*),
191 . IPART(*), MONVOL(*), IPART_STATE(*),IFRAME(LISKN,*),
192 . IGEO(NPROPGI,*),IPM(NPROPMI,*),TAG_SKINS6(*),
193 . ICFIELD(SIZFIELD,*), LCFIELD(*), TAGSLV_RBY(*),
194 . MDS_OUTPUT_TABLE(MDS_NMAT*MAX_DEPVAR),MDS_NMAT,MAX_DEPVAR,
195 . MDS_NDEPSVAR(*),IBCL(*),ILOADP(*),LLOADP(*)
197 . SKEW(LSKEW,*),RBY(*),MS(*),IN(*),ANIN(*),
198 . X(*), V(*), VR(*),WA(*),PLD(*),CRFLSW(*),XCUT(*),
199 . DAMPR(NRDAMP,*), PARTSAV(*),PM(NPROPM,*),
200 . VOLMON(*),GEO(NPROPG,*),XFRAME(NXFRAME,*)
202 TYPE(ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_STR
203 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
205 TYPe (MULTI_FVM_STRUCT) :: MULTI_FVM
206 TYPE(GROUP_) ,
DIMENSION(NGRNOD) ::
207 TYPE(GROUP_) ,
DIMENSION(NGRPART) :: IGRPART
208 CHARACTER MDS_LABEL(1024,MDS_NMAT)
209 TYPE (STACK_PLY) :: STACK
210 TYPE (SENSORS_) ,
INTENT(INOUT) ,
TARGET :: SENSORS
211 TYPE (DYNAIN_DATABASE),
INTENT(INOUT) :: DYNAIN_DATA
212 TYPE (DT_),
INTENT(INOUT) :: DT
213 TYPE (LOADS_),
INTENT(IN) ::
214 TYPE(output_),
INTENT(INOUT) :: OUTPUT
215 TYPE(NAMES_AND_TITLES_),
INTENT(INOUT) ::
216 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(INOUT) :: MAT_PARAM
217 type (glob_therm_) ,
intent(inout) :: glob_therm
218 type (pblast_) ,
intent(inout) :: pblast
222 INTEGER NLEC(16), , NSLIOF, NELSOF, NELQOF, NDAMPN,
223 . nelcof, neltof, nelpof, nelrof, nintch, nubcsn, itfor0, irfe0,
224 . irfl0, k, nelof, nn, nbc, il, ii, j, klg, kug, nblk, ng,
225 . ity, nel, nft, iad, igof, k1, k2, n, i1, i2, i3, ir1, ir2, ir3,
226 . isk, ic, icr, m1, m2, im, noint, nsearch, jpri, npts,
227 . nrbyon, nrbyof, neltgof,niniv,nsliofn,nsliofs,kk,nty,
228 . nsn,nrts,nrtm,nmn,l,ncpri1,nrlink0,nalelk0,
229 . nsphof,iwiout,nlecsph(10),nfxinp
230 . naleof,neulerof,nthermof,nfvmesh,mlw,ll,isk1,isk2,
231 . nfvmodi,iok, alestrl(0:8), nalelink0, gr_id,
232 . nalelk_starter, uid, nalelk_removed
234 . stext1,multirest1,nlpri1,lowmach_opt,ierror,
235 . ninterskid,ivolu,ifv,ifv_type,istatg_p,
236 . k3,k4,k5,k6,k7,k8,k9,ninefricg,ns,ni,npartof,k10,k11
238 INTEGER :: NBPARTALEON, NBPARTALEOFF, PARTID, ISON, ION, IOFF, NBALEON_PART, NBALEOFF_PART
239 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ALEOFF_PARTIDS_TMP, ALEOFF_PARTIDS,
240 . aleon_partids_tmp, aleon_partids
241 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ALELIN_ON_OFF
243 . TFI, DTF, DTM, ALP, GAM,
244 . CV1, CV2, CV3, VOLM, TSTART, TFIN,DT_INPUT, DT_CRIT
245 CHARACTER*9 Label1,Label2,Label3,Label4,Label5,Label6,Label7,Label8
246 CHARACTER*16 ALEform(0:8),Cale1,Cale2,CHAR1,CHAR2,Label9
247 CHARACTER*3 :: LABEL_DEF,LABEL_ROT
248 CHARACTER(LEN=4),
DIMENSION(20) :: TITLE
249 my_real eta1,eta2,MIN_ASPECT,MIN_DEFV
250 my_real,
DIMENSION(:),
POINTER :: OFFG
251 TYPE (SENSOR_STR_) ,
DIMENSION(:) ,
POINTER :: SENSOR_TAB
252 LOGICAL IS_ALREADY_PRINTED
254 REAL(KIND=8),
DIMENSION(9) :: DTH1
255 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IPARTOF
259 INTEGER,
EXTERNAL :: NGR2USR
266 IF(ipari(15,i) == 0) ipari(15,i)=i
268 sensor_tab => sensors%SENSOR_TAB(1:sensors%NSENSOR)
272 READ (iin,
'(20A4)') title
273 READ (iin,
'(4F16.0,I8,I10,2I8)')tfi,dth,dtf,dtm,ncpri1,ncrst1,multirest1,nlpri1
274 READ (iin,
'(5F16.0)')(dth1(i),i=1,5)
275 READ (iin,
'(4F16.0)')(dth1(i+5),i=1,4)
276 READ (iin,
'(6F10.0)')alp,gam,cv1,cv2,cv3,volm
277 READ (iin,
'(I8)') lowmach_opt
278 READ (iin,
'(10I8)') nsliof,nelsof,nelqof,nelcof,neltof,nelpof,nelrof,neltgof,nsliofn,nsliofs
279 READ (iin,
'(I8)') nsphof
280 READ (iin,
'(4I8)') naleof,neulerof,nthermof,npartof
281 READ (iin,
'(2I8)') nrlink0,nalelk0
282 READ (iin,
'(2I8)') nalelink0
286 READ (iin,
'(I8, I8)') nbpartaleon, nbpartaleoff
297 READ (iin,
'(2I8)') nubcsn,niniv
298 READ (iin,
'(3I8)') nintch,nrbyon,nrbyof
299 READ (iin,
'(I8)') ndampn
300 READ(iin,
'(I8)') nfxinp
302 READ(iin,
'(2I8)') neigoff, neoff
303 READ(iin,
'(2I8)') nfvmesh, nfvmodi
305 IF(ncpri1 == 0) ncpri1=1
306 IF(mcheck == 0)ncpri = ncpri1
308 IF(mcheck == 0)nlpri = nlpri1
310 IF(ncrst1 == 0.AND.mcheck == 0) ncrst=10000000
311 IF(tfi /= 0.0) tstop=tfi
313 IF(toutp0 /= zero) toutp = toutp0
314 IF(dtoutp0 > zero) dtoutp= dtoutp0
315 IF(dtoutp<=zero) toutp = ep30
316 IF (toutp < tt-dt2.AND.dtoutp > zero)toutp = toutp
317 . + int((tt-dt2-toutp)/dtoutp)*dtoutp
318 IF (toutp < tt-dt2)toutp = toutp+dtoutp
321 IF(tstat0 /= zero) tstat = tstat0
322 IF(dtstat0 > zero) dtstat= dtstat0
323 IF(dtstat<=zero) tstat = ep30
324 IF (tstat < tt-dt2.AND.dtstat > zero)tstat = tstat
325 . + int((tt-dt2-tstat)/dtstat)*dtstat
326 IF (tstat < tt-dt2)tstat = tstat+dtstat
328 IF(dynain_data%TDYNAIN0 /= zero) dynain_data%TDYNAIN = dynain_data%TDYNAIN0
329 IF(dynain_data%DTDYNAIN0 > zero) dynain_data%DTDYNAIN= dynain_data%DTDYNAIN0
330 IF(dynain_data%DTDYNAIN<=zero) dynain_data%TDYNAIN = ep30
331 IF (dynain_data%TDYNAIN < tt-dt2.AND.dynain_data%DTDYNAIN > zero)dynain_data%TDYNAIN = dynain_data%TDYNAIN
332 . + int((tt-dt2-dynain_data%TDYNAIN)/dynain_data%DTDYNAIN)*dynain_data%DTDYNAIN
333 IF (dynain_data%TDYNAIN< tt-dt2)dynain_data%TDYNAIN = dynain_data%TDYNAIN+dynain_data%DTDYNAIN
336 IF(dtabf0(i) > zero) dtabf(i)= dtabf0(i)
337 IF(dtabfwr0(i) > zero) dtabfwr(i)= dtabfwr0(i)
339 IF (abfile(1) /= 0) tabfis(1) = tt
341 IF(dth /= zero.AND.mcheck == 0) output%TH%DTHIS=dth
343 IF(dth1(i) /= zero.AND.mcheck == 0) output%TH%DTHIS1(i)=dth1(i)
346 h3d_data%DTH3D = zero
347 h3d_data%TH3D_STOP = ep30
348 IF(h3d_data%TH3D0 /= zero) h3d_data%TH3D = h3d_data%TH3D0
349 IF(h3d_data%DTH3D0 > zero) h3d_data%DTH3D= h3d_data%DTH3D0
350 IF(h3d_data%TH3D_STOP0 > zero .AND. h3d_data%TH3D_STOP0 /= ep20)
THEN
351 h3d_data%TH3D_STOP = h3d_data%TH3D_STOP0
353 IF(h3d_data%DTH3D<=zero)
THEN
355 h3d_data%TH3D_STOP = ep30
357 IF (h3d_data%TH3D < tt-dt2.AND. h3d_data%DTH3D > zero)
358 . h3d_data%TH3D = h3d_data%TH3D + int((tt-dt2-h3d_data%TH3D)/h3d_data%DTH3D)*h3d_data%DTH3D
359 IF (h3d_data%TH3D < tt-dt2)h3d_data%TH3D = h3d_data%TH3D+h3d_data%DTH3D
364 IF(dtf /= zero) dtfac=dtf
365 IF(dtm /= zero) dtmin=dtm
366 IF(alp /= zero)
ale%GRID%ALPHA=alp
367 IF(gam /= zero)
ale%GRID%GAMMA=gam
368 IF(cv1 /= zero)
ale%GRID%VGX =cv1
369 IF(cv2 /= zero)
ale%GRID%VGY =cv2
370 IF(cv3 /= zero)
ale%GRID%VGZ =cv3
371 IF(
ale%GRID%NWALE_ENGINE == 2)
THEN
373 ale%GRID%ALPHA = alp/(-
ale%GRID%VGX+sqrt(
ale%GRID%VGX**2+ one))
376 dt_input =
ale%GRID%ALPHA*(-
ale%GRID%VGX+sqrt(
ale%GRID%VGX**2+ one))
379 IF(
ale%GRID%NWALE_ENGINE == 1.AND.alp == zero)
ale%GRID%ALPHA=ep30
380 IF(volm /= zero)volmin=volm
383 IF(dtfac>half)dtfac22 = half / dtfac
389 IF(dtmins == zero)dtmins = dtmin
390 IF(dtfacs == zero)dtfacs = dtfac
391 IF(tol_sms == zero) tol_sms = em03
392 IF(nsmspcg==0)nsmspcg=1000
396 IF(idtmins==2.AND.irest_mselt==0)
THEN
397 CALL ancmsg(msgid=120,anmode=aninfo_blind)
407 IF(idtmins_int/=0)
THEN
408 IF(dtmins_int == zero)dtmins_int = dtmin
409 IF(dtfacs_int == zero)dtfacs_int = dtfac
410 IF(tol_sms == zero) tol_sms = em03
411 IF(nsmspcg==0)nsmspcg=1000
418 idtmins_int=idtmins_int_old
419 dtmins_int =dtmins_int_old
420 dtfacs_int =dtfacs_int_old
425 IF(dtmin1(i) == zero)dtmin1(i) = dtmin
426 IF(dtfac1(i) == zero)dtfac1(i) = dtfac
427 dtfacx =
min(dtfac1(i), dtfacx)
430 IF(idtmin(52) == 0)idtmin(52) = 1
431 IF(dtfac1(52) == zero)dtfac1(52) = zep9
432 IF(dtmin1(52) == zero)dtmin1(52) = em20
435 IF(
ale%GLOBAL%IDT_ALE
THEN
436 IF(dtmin1(i) == zero)dtmin1(i) = dtmin
437 IF(dtfac1(i) == zero)dtfac1(i) = dtfac
439 IF(dtmin1(i) == zero)dtmin1(i) = zero
440 IF(dtfac1(i) == zero)dtfac1(i) = half
444 IF(idtmin(1) == 0)idtmin(1) = 1
445 IF(idtmin(2) == 0)idtmin(2) = 1
446 IF(idtmin(3) == 0)idtmin(3) = 2
447 IF(idtmin(7) == 0)idtmin(7) = 2
450 IF(ispmd == 0)
WRITE(iout,
'(//1X,20A4//)') title
453 irfl0 =(irform-5*irfe0) + 1
464 userl_count = userl_avail
467 IF (userl_count /=
THEN
468 CALL ancmsg(msgid=254,anmode=aninfo,
469 . c1=dlibfile(1:dlibfile_size))
475 IF (userl_avail==1)
THEN
478 WRITE(iout,4600) dlibfile(1:dlibfile_size),dlibtkvers
484 IF(ispmd==0)
WRITE(iout,1099)
486 CALL ancmsg(msgid=242,anmode=aninfo_blind)
490 IF ((r2r_siu==1).AND.(ispmd==0))
THEN
491 CALL ancmsg(msgid=239,anmode=aninfo_blind)
496 min_aspect = dt%BRICK_CST_COL_MIN
497 min_defv = dt%BRICK_CST_DEFV_MIN
498 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,1100)tstop,output%TH%DTHIS,dtfac,dtmin
500 IF ((min_aspect+min_defv)>zero)
THEN
501 IF(ispmd == 0.AND.mcheck == 0)
THEN
502 WRITE(iout,4700) dtfac1(1),dtmin1(1),idtmin(1),
503 + min_aspect,min_defv,
504 + dtfac1(2),dtmin1(2),idtmin(2),
505 + dtfac1(3),dtmin1(3),idtmin
506 + dtfac1(4),dtmin1(4),idtmin(4),
507 + dtfac1(5),dtmin1(5),idtmin(5),
509 + dtfac1(9),dtmin1(9),idtmin(9),
510 + dtfac1(10),dtmin1(10),idtmin(10)
512 IF(idt1sh /=0)
WRITE(iout,4720)
513 IF(idt1sol/=0)
WRITE(iout,4730)
514 IF(idt1tet10/=0)
WRITE(iout,4740)
517 IF(ispmd == 0.AND.mcheck == 0)
THEN
518 WRITE(iout,1105) dtfac1(1),dtmin1(1),idtmin(1),
520 + dtfac1(3),dtmin1(3),idtmin(3),
521 + dtfac1(4),dtmin1(4),idtmin(4),
522 + dtfac1(5),dtmin1(5),idtmin(5),
523 + dtfac1(6),dtmin1(6),idtmin(6),
524 + dtfac1(9),dtmin1(9),idtmin(9),
525 + dtfac1(10),dtmin1(10),idtmin(10)
527 IF(idt1sh /=0)
WRITE(iout,
528 IF(idt1sol/=0)
WRITE(iout,4730)
529 IF(idt1tet10/=0)
WRITE(iout,4740)
531 END IF !(min_aspect+min_defv)>zero)
532 IF (dt%IDEL_BRICK>zero)
THEN
533 IF(ispmd == 0.AND.mcheck == 0)
THEN
534 WRITE(iout,5020)dt%BRICK_DEL_COL_MIN,dt%BRICK_DEL_DEFV_MIN,dt%BRICK_DEL_ASP_MAX,dt%BRICK_DEL_DEFV_MAX
537 IF(idtmin(11) == 3 .OR. idtmin(11) == 8)
THEN
538 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,1107)dtfac1(11),dtmin1(11),idtmin(11)
540 IF(idtmins_int/=0)
THEN
541 IF((ispmd == 0).AND.mcheck == 0)
THEN
542 WRITE(iout,1209) dtfacs_int,dtmins_int
546 IF((ispmd == 0).AND.mcheck == 0.AND.idtgrs<=0)
THEN
547 WRITE(iout,1109) dtfacs,dtmins,tol_sms,nsmspcg,m_vs_sms,ncprisms,-idtgrs
548 ELSEIF((ispmd == 0).AND.mcheck == 0)
THEN
549 WRITE(iout,1109) dtfacs,dtmins,tol_sms,nsmspcg,m_vs_sms,ncprisms,igrpart(idtgrs)%ID
553 IF(ispmd == 0.AND.mcheck == 0)
THEN
554 IF(idtmin(11)==0)
THEN
555 WRITE(iout,1116) dtfac1(11),zero
556 ELSEIF(idtmin(11)==1.OR.idtmin(11)==3.OR.idtmin(11) == 8)
THEN
557 IF ( percent_addmass > zero)
THEN
558 WRITE(iout,1206) dtfac1(11),dtmin1(11),percent_addmass,idtmin(11)
560 WRITE(iout,1106) dtfac1(11),dtmin1(11),idtmin(11)
564 IF ((min_aspect+min_defv)>zero)
THEN
565 IF(ispmd == 0.AND.mcheck == 0)
THEN
566 WRITE(iout,4700) dtfac1(1),dtmin1(1),idtmin(1),
567 + min_aspect,min_defv,
568 + dtfac1(2),dtmin1(2),idtmin(2),
569 + dtfac1(3),dtmin1(3),idtmin(3),
570 + dtfac1(4),dtmin1(4),idtmin(4),
571 + dtfac1(5),dtmin1(5),idtmin(5),
572 + dtfac1(6),dtmin1(6),idtmin(6),
573 + dtfac1(9),dtmin1(9),idtmin(9),
574 + dtfac1(10),dtmin1(10),idtmin(10)
576 IF(idt1sh /=0)
WRITE(iout,4720)
577 IF(idt1sol/=0)
WRITE(iout,4730)
578 IF(idt1tet10/=0)
WRITE(iout,4740)
581 IF(ispmd == 0.AND.mcheck == 0)
THEN
582 WRITE(iout,1105) dtfac1(1),dtmin1(1),idtmin(1),
583 + dtfac1(2),dtmin1(2),idtmin(2),
584 + dtfac1(3),dtmin1(3),idtmin(3),
585 + dtfac1(4),dtmin1(4),idtmin(4),
586 + dtfac1(5),dtmin1(5),idtmin(5),
587 + dtfac1(6),dtmin1(6),idtmin(6),
588 + dtfac1(9),dtmin1(9),idtmin(9),
589 + dtfac1(10),dtmin1(10),idtmin(10)
591 IF(idt1sh /=0)
WRITE(iout,4720)
592 IF(idt1sol/=0)
WRITE(iout,4730)
593 IF(idt1tet10/=0)
WRITE(iout,4740)
596 IF (dt%IDEL_BRICK>zero)
THEN
597 IF(ispmd == 0.AND.mcheck == 0)
THEN
598 WRITE(iout,5020)dt%BRICK_DEL_COL_MIN,dt%BRICK_DEL_DEFV_MIN,dt%BRICK_DEL_ASP_MAX,dt%BRICK_DEL_DEFV_MAX
601 IF(idtmins_int/=0)
THEN
602 IF((ispmd == 0).AND.mcheck == 0)
THEN
603 WRITE(iout,1209) dtfacs_int,dtmins_int
609 IF (isms_selec < 3)
THEN
610 IF((ispmd == 0).AND.mcheck == 0.AND.idtgrs<=0)
THEN
611 WRITE(iout,1108) dtfacs,dtmins,tol_sms,nsmspcg,ncprisms,-idtgrs
612 ELSEIF((ispmd == 0).AND.mcheck == 0)
THEN
613 WRITE(iout,1108) dtfacs,dtmins,tol_sms,nsmspcg,ncprisms,igrpart(idtgrs)%ID
618 dt_crit = dtmins /
max(em20,dtfac1(11))
619 IF((ispmd == 0).AND.mcheck == 0.AND.idtgrs<=0)
THEN
620 WRITE(iout,2109) dtfacs,dtmins,tol_sms,nsmspcg,m_vs_sms,ncprisms,dt_crit,-idtgrs
621 ELSEIF((ispmd == 0).AND.mcheck == 0)
THEN
622 WRITE(iout,2109) dtfacs,dtmins,tol_sms, nsmspcg,m_vs_sms,ncprisms,dt_crit,igrpart
632 IF(nodadt==0.AND.(istatcnd/=0.AND.impl_s==0))
THEN
633 CALL ancmsg(msgid=121,anmode=aninfo_blind)
636 IF(ispmd == 0.AND.mcheck == 0.AND.kdtint /= 0)
THEN
637 WRITE(iout,
'(A)')
' NEW (HIDDEN) TIME STEP COMPUTATION',
' ON INTERFACE TYPE 7,11 AND 19 IS ON'
639 IF(ispmd == 0.AND.mcheck == 0.AND.kdtsmstr == 0)
THEN
640 WRITE(iout,
'(A)')
' BACK TO VERSION 4 COMPUTATION OF NODAL TIME STEP',
' CASE OF SMALL STRAIN FOR SOLIDS.'
642 IF(codvers>=44.AND.numsph /= 0.AND.mcheck == 0)
THEN
643 IF(idtmin(51) == 3)
THEN
645 WRITE(istdo,*)
' ** WARNING SMALL STRAIN FORMULATION FOR SPH'
646 WRITE(iout,*)
' ** WARNING SMALL STRAIN FORMULATION IS NOT AVAILABLE FOR SPH,',
' OPTION /DT/SPHCEL/CST WILL BE OMITTED.'
651 IF(ispmd == 0)
WRITE(iout,*)
'IMPROVED TIME STEP (NODAL) COMPUTATION ON SPH PARTICLES :'
652 dtfac1(51)=dtfac1(11)
654 IF(ispmd == 0)
WRITE(iout,1151)dtfac1(51),dtmin1(51),idtmin(51)
657 IF(ispmd == 0.AND.mcheck == 0)
THEN
666 WRITE(iout,1152)dtfac1(52),dtmin1(52),idtmin(52)
669 IF(ispmd == 0.AND.mcheck == 0)
THEN
671 is_already_printed = .false.
673 ifv = monvol(k1 - 1 + 45)
674 ifv_type = monvol(k1 - 1 + 2)
675 IF (ifv_type == 6 .OR. ifv_type
THEN
676 IF(.NOT.is_already_printed)
THEN
678 is_already_printed=.true.
681 IF(ifv_type == 6)
WRITE(iout,1147)monvol(k1)
682 IF(ifv_type == 8)
WRITE(iout,1148)monvol(k1)
683 IF(ifv_type == 11)
WRITE(iout,1149)monvol(k1)
684 IF (ifv_type == 6 .OR. ifv_type == 8 .OR. ifv_type == 11)
THEN
694 IF(ispmd == 0.AND.mcheck == 0.AND.idt1sol /= 0)
WRITE(iout,
'(A)')
' OPTIMIZED TIME STEP COMPUTATION FOR HEPH.'
695 IF(ispmd == 0.AND.mcheck == 0.AND.idttsh /= 0)
WRITE(iout,
'(A)')
' OPTIMIZED (SHELL) TIME STEP FOR THICK SHELLS.'
696 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,1110)ncpri,ncrst,multirest,invers,itfor0
698 IF (impl_s == 1.AND.ikg>=5)
THEN
701 WRITE(iout,*)
' ** WARNING ** : PARITH/ON IS NOT ',
'COMPATIBLE WITH IMPLICIT OPTION '
702 WRITE(iout,*)
' ** RESETTING ** : PARITH/OFF '
708 CALL prelech3d(numgeo ,npropgi ,npropmi ,nummat ,numply ,
709 . igeo ,ipm ,h3d_data ,multi_fvm,mds_output_table,
710 . mds_nmat ,max_depvar,mds_ndepsvar,mat_param,numsphg)
711 CALL lech3d(geo,igeo,ipm,ipart,h3d_data,multi_fvm,ipari,iparg,tag_skins6,
712 . mds_label,mds_output_table,mds_nmat,max_depvar,mds_ndepsvar,
713 . elbuf_str,stack,ibcl,iloadp,lloadp,loads,mat_param,pblast,
716 IF(h3d_data%N_OUTP_H3D /= 0 .AND. ispmd == 0)
THEN
717 WRITE(iout,5000)h3d_data%TH3D,h3d_data%DTH3D
720 IF( h3d_data%OUTPUT_LIST(i)%ETYPE == 1 .OR.
721 . h3d_data%OUTPUT_LIST(i)%ETYPE == 2 .AND. numelcg+numeltgg > 0 .OR.
722 . h3d_data%OUTPUT_LIST(i)%ETYPE == 3 .AND. numelsg > 0 .OR.
723 . h3d_data%OUTPUT_LIST(i)%ETYPE == 4 .AND. numeltrg+numelpg+numelrg > 0 .OR.
724 . h3d_data%OUTPUT_LIST(i)%ETYPE == 5 .AND. numsphg > 0 .OR.
725 . h3d_data%OUTPUT_LIST(i)%ETYPE == 6 .AND. numelqg > 0 .OR.
726 . h3d_data%OUTPUT_LIST(i)%ETYPE == 7 .AND. numsking > 0)
THEN
728 IF(h3d_data%OUTPUT_LIST(i)%ETYPE == 1)
THEN
730 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 2)
THEN
732 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 3)
THEN
734 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 4)
THEN
736 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 5)
THEN
738 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 6)
THEN
740 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 7)
THEN
745 IF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 1)
THEN
747 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 2)
THEN
749 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 3)
THEN
751 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 4)
THEN
755 stext1 = h3d_data%OUTPUT_LIST(i)%S_STRING1
756 WRITE(iout,*)
' |----'//char1//
' '//char2//
' : '
758 WRITE(iout,*)
' | '//h3d_data%OUTPUT_LIST(i)%STRING1(1:stext1)
760 IF (h3d_data%OUTPUT_LIST(i)%IUVAR > 0)
761 .
WRITE(iout,*)
' | UVAR=', h3d_data%OUTPUT_LIST(i)%IUVAR
763 IF (h3d_data%OUTPUT_LIST(i)%PLY > 0)
764 .
WRITE(iout,*)
' | PLY=',h3d_data%OUTPUT_LIST(i)%PLY
766 IF (h3d_data%OUTPUT_LIST(i)%LAYER > 0)
767 .
WRITE(iout,*)
' | LAYER=',h3d_data%OUTPUT_LIST(i)%LAYER
769 IF (h3d_data%OUTPUT_LIST(i)%IPT > 0)
770 .
WRITE(iout,*)
' | IPT=',h3d_data%OUTPUT_LIST(i)%IPT
772 IF (h3d_data%OUTPUT_LIST(i)%IR > 0)
773 .
WRITE(iout,*)
' | IR=',h3d_data%OUTPUT_LIST(i)%IR
775 IF (h3d_data%OUTPUT_LIST(i)%IR > 0)
776 .
WRITE(iout,*)
' | IS=',h3d_data%OUTPUT_LIST(i)%IS
778 IF (h3d_data%OUTPUT_LIST(i)%IT > 0)
779 .
WRITE(iout,*)
' | IT=',h3d_data%OUTPUT_LIST(i)%IT
791 IF(ispmd == 0 .AND. imassi > 0 )
THEN
792 WRITE(iout,
'(A)')
' RESET INITIAL MASS FOR THIS RUN '
797 IF (ispmd == 0 .AND. glob_therm%ITHERM_FE > 0 )
THEN
798 WRITE(iout,
'(A)')
' FINITE ELEMENT THERMAL ANALYSIS '
799 IF (glob_therm%IDT_THERM == 1)
THEN
800 WRITE(iout,
'(A)')
' THERMAL ANALYSIS ONLY'
801 WRITE(iout,
'(A,1X,G14.7)')
' THERMAL TIME STEP SCALE FACTOR . . . . . . . . .', glob_therm%DTFACTHERM
803 IF (glob_therm%THEACCFACT > one )
THEN
804 WRITE(iout,
'(A,1X,G14.7/)')
' FACTOR TO SPEED-UP THERMAL ANALYSIS. . . . . . .', glob_therm%THEACCFACT
810 IF(tanim0 /= zero) tanim = tanim0
811 IF(tanim_stop0/=zero .AND. tanim_stop0/=ep20) tanim_stop = tanim_stop0
812 IF(dtanim0 > zero) dtanim= dtanim0
813 IF(dtanim<=zero) tanim = ep30
814 IF (tanim < tt-dt2.AND.dtanim > zero)tanim = tanim
815 . + int((tt-dt2-tanim)/dtanim)*dtanim
816 IF (tanim < tt-dt2)tanim = tanim+dtanim
818 IF(anim_v(14)+h3d_data%N_VECT_DROT > 0 .AND.
819 . ((isecut == 0 .AND. iisrot == 0 .AND. impose_dr == 0 .AND. idrot == 0) .OR. iroddl == 0))
THEN
821 WRITE(iout,*)
' ** WARNING ** : /ANIM/DROT OPTION USED',
822 .
' WHILE ROTATIONAL DOF ARE NOT COMPUTED',
823 .
' (IDROT = 0 IN /IOFLAG OPTION)'
824 WRITE(istdo,*)
' ** WARNING ** : /ANIM/DROT OPTION USED',
825 .
' WHILE ROTATIONAL DOF ARE NOT COMPUTED',
826 .
' (IDROT = 0 IN /IOFLAG OPTION)'
828 IF(anim_v(14) == 1)
THEN
834 IF(ispmd == 0.AND.mcheck == 0)
THEN
838 WRITE(iout,1120)tanim,dtanim,tanim_stop,sensors%ANIM_ID,sensors%ANIM_DT,
839 + anim_e(1),anim_e(2),anim_e(3),anim_e(25),
840 + anim_e(4),anim_e(5),anim_e(6),
841 + anim_e(7),anim_e(8),anim_e(9),
842 + anim_e(10)+anim_e(4960)+anim_e(4961)+anim_e(4962)
843 WRITE(iout,1129) anim_n(3),anim_n(4),anim_n(6)
845 + anim_v(1),anim_v(2),anim_v(3),anim_v(4),anim_v(5),
846 + anim_v(6),anim_v(7),anim_v(9),anim_v(12),
847 + anim_t(1),anim_t(2),anim_t(3),anim_t(4)
849 + anim_t(5),anim_t(6),anim_t(7),anim_t(8),
860 IF (mcheck == 0)
THEN
861 ALLOCATE(sensors%STOP(sensors%NSTOP))
864 IF (mcheck == 0)
THEN
865 IF (sensors%NSTOP > 0)
THEN
868 IF (sensors%STOP_TMP(k) > 0)
THEN
869 DO i=1,sensors%NSENSOR
870 IF (sensor_tab(i)%SENS_ID == sensors%STOP_TMP(k))
THEN
878 CALL ancmsg(msgid=233, anmode=aninfo,i1=sensors%STOP_TMP(k))
886 IF (mcheck == 0)
THEN
887 ALLOCATE(sensors%STAT(sensors%NSTAT))
890 IF (ispmd == 0 .AND. mcheck == 0)
THEN
892 IF (sensors%NSTAT > 0)
THEN
895 IF(sensors%STAT(k) /= 0)
THEN
896 DO i=1,sensors%NSENSOR
897 IF (sensors%SENSOR_TAB
THEN
905 CALL ancmsg(msgid=235, anmode=aninfo,i1=sensors%STAT(k))
915 IF (mcheck == 0)
THEN
916 ALLOCATE(sensors%OUTP(sensors%NOUTP))
919 IF (ispmd == 0 .AND. mcheck == 0)
THEN
920 IF (sensors%NOUTP > 0)
THEN
923 IF (sensors%OUTP_TMP(k) > 0)
THEN
924 DO i=1,sensors%NSENSOR
925 IF (sensors%SENSOR_TAB(i)%SENS_ID == sensors%OUTP_TMP(k))
THEN
933 CALL ancmsg(msgid=236, anmode=aninfo,i1 = sensors%OUTP_TMP(k))
941 IF (ispmd == 0.AND.mcheck == 0)
THEN
942 DO k=1,h3d_data%N_SENS_H3D
944 IF(h3d_data%LSENS_H3D(k) /= 0)
THEN
945 DO i=1,sensors%NSENSOR
946 IF(h3d_data%LSENS_H3D(k) == sensor_tab(i)%SENS_ID)
THEN
947 h3d_data%LSENS_H3D(k)=i
954 CALL ancmsg(msgid=283,anmode=aninfo,i1=h3d_data%LSENS_H3D(k))
962 IF(ispmd == 0.AND.mcheck == 0)
THEN
963 WRITE(iout,1150)dtin,dtmx
965 .
WRITE(iout,1160)eps,eps2,nitmx
966 istatg_p = iabs(istatg)
968 WRITE(iout,1171)istatg_p,beta,period
969 ELSEIF(istat == 2)
THEN
971 IF (tst_stop==zero) tst_stop = tstop
972 WRITE(iout,5001)istatg_p,tst_start,tst_stop
974 WRITE(iout,1172)istatg_p
976 ELSEIF(istat == 3)
THEN
977 IF (tst_start>zero.OR.tst_stop>zero)
THEN
978 IF (tst_stop==zero) tst_stop = tstop
979 WRITE(iout,5011)istatg_p,tst_start,tst_stop
981 WRITE(iout,5010)istatg_p
987 ELSEIF(iparit == 1)
THEN
990 WRITE(iout,1182)iparit-1
993 WRITE(iout,1300) nsliof,npartof,nelsof,nelqof,nelcof,neltof,nelpof,nelrof,neltgof,nsphof
994 WRITE(iout,1400) nrlink
995 WRITE(iout,1500) nubcsn
996 IF(iale /= 0.OR.ieuler /= 0)
WRITE(iout,1450) nalelink+nalelk
998 ELSEIF(ispmd == 0 .AND. mcheck /= 0)
THEN
1006 IF(ispmd == 0 .AND. mcheck == 0)
THEN
1007 IF(iale /= 0 .OR. ieuler /= 0)
THEN
1008 IF(
ale%UPWIND%UPW_UPDATE /= 0 )
THEN
1013 IF(pm(15,k) /=
ale%UPWIND%UPWMG2 .OR. pm(16,k) /=
ale%UPWIND%UPWOG2)
THEN
1014 ale%UPWIND%UPW_UPDATE = 2
1015 pm(15,k) =
ale%UPWIND%UPWMG2
1016 pm(16,k) =
ale%UPWIND%UPWOG2
1020 IF(
ale%UPWIND%UPWSM /=
ale%UPWIND%UPWSM2)
THEN
1021 ale%UPWIND%UPW_UPDATE = 2
1022 ale%UPWIND%UPWSM =
ale%UPWIND%UPWSM2
1025 ELSEIF(
ale%UPWIND%UPW_UPDATE == 0)
THEN
1026 ale%UPWIND%UPWMG2=one
1027 ale%UPWIND%UPWOG2=one
1028 ale%UPWIND%UPWSM2=one
1033 IF(pm(15,k) /=
ale%UPWIND%UPWMG2 .OR. pm(16,k) /=
ale%UPWIND%UPWOG2 .OR.
ale%UPWIND%UPWSM /=
ale%UPWIND%UPWSM2)
THEN
1034 IF(pm(15,k) /= zero)
ale%UPWIND%UPWMG2 = pm(15,k)
1035 IF(pm(16,k) /= zero)
ale%UPWIND%UPWOG2 = pm(16,k)
1036 IF(
ale%UPWIND%UPWSM /= zero)
ale%UPWIND%UPWSM2 =
ale%UPWIND%UPWSM
1047 IF(iale /= 0 .OR. ieuler /= 0)
THEN
1051 IF(
ale%GLOBAL%INCOMP == 1.AND.mcheck == 0)
WRITE(iout,1196)
1056 IF(
ale%GRID%NWALE_ENGINE /=
ale%GRID%NWALE_RST .AND.
ale%GRID%NWALE_ENGINE /= -1)
THEN
1057 IF(
ale%GRID%NWALE_ENGINE /= 3)
THEN
1058 aleform=(/
'DONEA ',
'DISP ',
'SPRING ',
'ZERO ',
1059 .
'STANDARD ',
'LAPLACIAN ',
'VOLUME ',
'FLOW-TRACKING ',
1061 alestrl=(/5,4,6,4,8,9,6,13,8/)
1062 cale1=aleform(
ale%GRID%NWALE_ENGINE)
1063 cale2=aleform(
ale%GRID%NWALE_RST)
1064 CALL ancmsg(msgid=229,anmode=aninfo,
1065 . c1=cale1(1:alestrl(
ale%GRID%NWALE_ENGINE)),c2=cale2(1:alestrl(
ale%GRID%NWALE_RST)))
1068 ale%GRID%NWALE_ENGINE = 3
1073 IF(
ale%UPWIND%UPWM == 2)
THEN
1075 ELSEIF(
ale%UPWIND%UPWM == 3)
THEN
1104 multi_fvm%LOWMACH_OPT = .false.
1105 IF (lowmach_opt == 1 .AND. multi_fvm%IS_USED)
THEN
1106 multi_fvm%LOWMACH_OPT = .true.
1108 aleform=(/
'DONEA ',
'DISP ',
'SPRING ',
'ZERO ',
1109 .
'STANDARD ',
'LAPLACIAN ',
'VOLUME ',
'FLOW-TRACKING ',
1112 IF(
ale%GRID%NWALE_ENGINE /= -1)
THEN
1113 ale%GRID%NWALE =
ale%GRID%NWALE_ENGINE
1115 ale%GRID%NWALE =
ale%GRID%NWALE_RST
1118 label9(1:16)=aleform(
ale%GRID%NWALE)
1119 eta1=
ale%UPWIND%UPWMG2
1120 eta2=
ale%UPWIND%UPWOG2
1121 IF(
ale%UPWIND%UPWM>1)eta1=
ale%UPWIND%CUPWM
1123 IF(ispmd == 0 .AND. mcheck == 0)
THEN
1125 WRITE(iout,1002)label1,eta1,label2,eta2,label3,eta2,label4
1126 IF(multi_fvm%IS_USED)
THEN
1127 WRITE(iout,1003)label5,label6,label7,label8
1128 IF(multi_fvm%LOWMACH_OPT)
WRITE(iout,1004)
1132 WRITE(iout,1006) dtfac1(102),dtmin1(102)
1134 WRITE(iout,1007)label9(1:len_trim(label9))
1135 SELECT CASE (
ale%GRID%NWALE)
1138 WRITE(iout,1200)
ale%GRID%ALPHA,
ale%GRID%GAMMA,
ale%GRID%VGX,
ale%GRID%VGY,
ale%GRID%VGZ,volmin
1141 WRITE(iout,1220)
ale%GRID%ALPHA,volmin
1144 WRITE(iout,1250) dt_input,
ale%GRID%ALPHA,
ale%GRID%GAMMA,
ale%GRID%VGX,
ale%GRID%VGY,volmin
1149 WRITE(iout,1254)
ale%GRID%ALPHA,
ale%GRID%GAMMA,
ale%GRID%VGX,
ale%GRID%VGY
1152 WRITE(iout,1254)
ale%GRID%ALPHA,
ale%GRID%GAMMA,
ale%GRID%VGX,
ale%GRID%VGY
1159 IF(int(
ale%GRID%VGX) == 1)label_def=
'YES'
1160 IF(int(
ale%GRID%VGY) == 1)label_rot=
'YES'
1161 WRITE(iout,1257) label_def,label_rot,
ale%GRID%ALPHA,
ale%GRID%GAMMA
1171 IF(ispmd == 0.AND.mcheck == 0)
THEN
1172 IF(iale+ieuler /= 0 .AND.
ale%GLOBAL%ISFINT /= 3)
THEN
1173 SELECT CASE(
ale%GLOBAL%ISFINT)
1187 IF(iale /= 0.AND.naleof == 1)
THEN
1188 IF(ispmd == 0.AND.mcheck == 0)
THEN
1189 WRITE(iout,*)
'ALE FORMULATION SWITCHED OFF '
1193 IF(ieuler /= 0.AND.neulerof == 1)
THEN
1194 IF(ispmd == 0.AND.mcheck == 0)
THEN
1195 WRITE(iout,*)
'EULER FORMULATION SWITCHED OFF '
1199 IF (glob_therm%ITHERM /= 0.AND.nthermof == 1)
THEN
1200 IF(ispmd == 0.AND.mcheck == 0)
THEN
1201 WRITE(iout,*)
'THERMIC FORMULATION SWITCHED OFF '
1203 glob_therm%ITHERM = 0
1206 IF(idel7 /= 0.AND.mcheck == 0.AND.n2d == 0)
THEN
1209 WRITE(iout,1550) ideli7
1210 CALL ancmsg(msgid=122,anmode=aninfo_blind)
1213 ELSEIF(n2d /= 0.AND.mcheck == 0)
THEN
1214 IF(ispmd == 0)
WRITE(iout,1550) idel7-1
1219 IF(nsliof /= 0)
THEN
1223 READ (iin,'(10i10)
') (NLEC(I),I=1,10)
1225 IF(NLEC(I) == 0)CYCLE
1226.AND.
IF(ISPMD == 0MCHECK == 0)WRITE(IOUT,2000) NLEC(I)
1228 IF(IPARI(15,K) == NLEC(I))THEN
1229 IF(IPARI(7,K)==2)THEN
1235 IS =INTBUF_TAB(K)%NSV(N)
1237 MS(IS)=INTBUF_TAB(K)%SMAS(N)
1238 IN(IS)=INTBUF_TAB(K)%SINER(N)
1239 INTBUF_TAB(K)%NSV(N)=-IS
1245 IF(IPARI(7,K)==25)THEN
1246 INTBUF_TAB(K)%VARIABLES(11) = ZERO
1258 IF(NSLIOFN /= 0) THEN
1259 READ (IIN,'(2i8)
') I,NN
1262 IF(IPARI(15,K) == I)KK=K
1266 CALL ANCMSG(MSGID=123,ANMODE=ANINFO_BLIND)
1275 IF (IPARI(71,KK)/=0) NTY = 19 ! Interface type 19
1278.OR.
ELSEIF(NTY == 4 NTY == 5)THEN
1279.OR..OR.
ELSEIF(NTY == 7 NTY == 10 NTY == 22)THEN
1282 CALL ANCMSG(MSGID=124,ANMODE=ANINFO_BLIND)
1287 READ (IIN,'(10i10)
') (NLEC(I),I=1,10)
1289 IF(NLEC(I) /= 0)THEN
1291 IF(ITAB(INTBUF_TAB(KK)%NSV(K)) == NLEC(I))THEN !NSV(K)
1292 INTBUF_TAB(KK)%STFNS(K)=ZERO !STFNS(K)
1302 NELOF=NELSOF+NELQOF+NELCOF+NELTOF+NELPOF+NELROF+NELTGOF+NSPHOF
1307.AND.
IF(ISPMD == 0MCHECK == 0)WRITE (IOUT,1810)
1311 READ (IIN,'(10i10)
') (NLEC(II),II=1,10)
1315 IF(KLG<=0) GO TO 120
1318.AND.
IF(IXS(NIXS,L)>=KLGIXS(NIXS,L)<=KUG) THEN
1320 IF(IXS(NIXS,L) == K) THEN
1321 IXS(1,L)=-IABS(IXS(1,L))
1333 IF(IXS(1,J) < 0)THEN
1335 NLEC(K) = IXS(NIXS,J)
1337 IF(MCHECK == 0)WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1343 IF(MCHECK == 0)WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1346 ! required treatments to retrieve deleted elems in correct order
1348 IF (ISPMD /= 0) CALL SPMD_CHKW(IWIOUT,IOUT)
1349 CALL SPMD_GLOB_ISUM9(IWIOUT,1)
1350 CALL SPMD_IBCAST(IWIOUT,IWIOUT,1,1,0,2)
1351 IF (IWIOUT > 0) THEN
1352 CALL SPMD_WIOUT(IOUT,IWIOUT)
1361.AND.
IF(ISPMD == 0MCHECK == 0)WRITE (IOUT,1820)
1362 IF (INVERS < 18) THEN
1370 READ (IIN,'(10i10)
') (NLEC(II),II=1,10)
1374 IF(KLG<=0) GO TO 220
1377.AND.
IF(IXQ(NIXQ,L)>=KLGIXQ(NIXQ,L)<=KUG) THEN
1379 IF(IXQ(NIXQ,L) == K) THEN
1380 IXQ(1,L)=-IABS(IXQ(1,L))
1392 IF(IXQ(1,J) < 0)THEN
1394 NLEC(K) = IXQ(NIXQ,J)
1396 IF(MCHECK == 0)WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1402 IF(MCHECK == 0)WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1405 ! required treatments to retrieve deleted elems in correct order
1407 IF (ISPMD /= 0) CALL SPMD_CHKW(IWIOUT,IOUT)
1408 CALL SPMD_GLOB_ISUM9(IWIOUT,1)
1409 CALL SPMD_IBCAST(IWIOUT,IWIOUT,1,1,0,2)
1410 IF (IWIOUT > 0) THEN
1411 CALL SPMD_WIOUT(IOUT,IWIOUT)
1420.AND.
IF(ISPMD == 0MCHECK == 0)WRITE (IOUT,1830)
1424 READ (IIN,'(10i10)
') (NLEC(II),II=1,10)
1428 IF(KLG<=0) GO TO 320
1431.AND.
IF(IXC(NIXC,L)>=KLGIXC(NIXC,L)<=KUG) THEN
1433 IF(IXC(NIXC,L) == K) THEN
1434 IXC(1,L)=-IABS(IXC(1,L))
1446 IF(IXC(1,J) < 0)THEN
1448 NLEC(K) = IXC(NIXC,J)
1450 IF(MCHECK == 0)WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1456 IF(MCHECK == 0)WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1459 ! required treatments to retrieve deleted elems in correct order
1461 IF (ISPMD /= 0) CALL SPMD_CHKW(IWIOUT,IOUT)
1462 CALL SPMD_GLOB_ISUM9(IWIOUT,1)
1463 CALL SPMD_IBCAST(IWIOUT,IWIOUT,1,1,0,2)
1464 IF (IWIOUT > 0) THEN
1465 CALL SPMD_WIOUT(IOUT,IWIOUT)
1474.AND.
IF(ISPMD == 0MCHECK == 0)WRITE (IOUT,1840)
1478 READ (IIN,'(10i10)
') (NLEC(II),II=1,10)
1482 IF(KLG<=0) GO TO 420
1485.AND.
IF(IXT(NIXT,L)>=KLGIXT(NIXT,L)<=KUG) THEN
1487 IF(IXT(NIXT,L) == K) THEN
1488 IXT(1,L)=-IABS(IXT(1,L))
1500 IF(IXT(1,J) < 0)THEN
1502 NLEC(K) = IXT(NIXT,J)
1504 IF(MCHECK == 0)WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1510 IF(MCHECK == 0) WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1513 ! required treatments to retrieve deleted elems in correct order
1515 IF (ISPMD /= 0) CALL SPMD_CHKW(IWIOUT,IOUT)
1516 CALL SPMD_GLOB_ISUM9(IWIOUT,1)
1517 CALL SPMD_IBCAST(IWIOUT,IWIOUT,1,1,0,2)
1518 IF (IWIOUT > 0) THEN
1519 CALL SPMD_WIOUT(IOUT,IWIOUT)
1528.AND.
IF(ISPMD == 0MCHECK == 0)WRITE (IOUT,1850)
1532 READ (IIN,'(10i10)
') (NLEC(II),II=1,10)
1536 IF(KLG<=0) GO TO 520
1539.AND.
IF(IXP(NIXP,L)>=KLGIXP(NIXP,L)<=KUG) THEN
1541 IF(IXP(NIXP,L) == K) THEN
1542 IXP(1,L)=-IABS(IXP(1,L))
1554 IF(IXP(1,J) < 0)THEN
1556 NLEC(K) = IXP(NIXP,J)
1558 IF(MCHECK == 0)WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1564 IF(MCHECK == 0)WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1567 ! required treatments to retrieve deleted elems in correct order
1569 IF (ISPMD /= 0) CALL SPMD_CHKW(IWIOUT,IOUT)
1570 CALL SPMD_GLOB_ISUM9(IWIOUT,1)
1571 CALL SPMD_IBCAST(IWIOUT,IWIOUT,1,1,0,2)
1572 IF (IWIOUT > 0) THEN
1573 CALL SPMD_WIOUT(IOUT,IWIOUT)
1582.AND.
IF(ISPMD == 0MCHECK == 0)WRITE (IOUT,1860)
1586 READ (IIN,'(10i10)
') (NLEC(II),II=1,10)
1590 IF(KLG<=0) GO TO 620
1593.AND.
IF(IXR(NIXR,L)>=KLGIXR(NIXR,L)<=KUG) THEN
1595 IF(IXR(NIXR,L) == K) THEN
1596 IXR(1,L)=-IABS(IXR(1,L))
1608 IF(IXR(1,J) < 0)THEN
1610 NLEC(K) = IXR(NIXR,J)
1612 IF(MCHECK == 0)WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1618 IF(MCHECK == 0) WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1621 ! required treatments to retrieve deleted elems in correct order
1623 IF (ISPMD /= 0) CALL SPMD_CHKW(IWIOUT,IOUT)
1624 CALL SPMD_GLOB_ISUM9(IWIOUT,1)
1625 CALL SPMD_IBCAST(IWIOUT,IWIOUT,1,1,0,2)
1626 IF (IWIOUT > 0) THEN
1627 CALL SPMD_WIOUT(IOUT,IWIOUT)
1636.AND.
IF(ISPMD == 0MCHECK == 0)WRITE (IOUT,1870)
1640 READ (IIN,'(10i10)
') (NLEC(II),II=1,10)
1644 IF(KLG<=0) GO TO 640
1647.AND.
IF(IXTG(NIXTG,L)>=KLGIXTG(NIXTG,L)<=KUG) THEN
1649 IF(IXTG(NIXTG,L) == K) THEN
1650 IXTG(1,L)=-IABS(IXTG(1,L))
1662 IF(IXTG(1,J) < 0)THEN
1664 NLEC(K) = IXTG(NIXTG,J)
1666 IF(MCHECK == 0)WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1672 IF(MCHECK == 0) WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1675 ! required treatments to retrieve deleted elems in correct order
1677 IF (ISPMD /= 0) CALL SPMD_CHKW(IWIOUT,IOUT)
1678 CALL SPMD_GLOB_ISUM9(IWIOUT,1)
1679 CALL SPMD_IBCAST(IWIOUT,IWIOUT,1,1,0,2)
1680 IF (IWIOUT > 0) THEN
1681 CALL SPMD_WIOUT(IOUT,IWIOUT)
1691.AND.
IF(ISPMD == 0MCHECK == 0)WRITE (IOUT,1880)
1696 READ (IIN,'(10i10)
') (NLEC(II),II=1,10)
1700 IF(KLG<=0) GO TO 732
1703.AND.
IF(KXSP(NISP,L)>=KLGKXSP(NISP,L)<=KUG) THEN
1705 NG =MOD(ABS(KXSP(2,L)),NGROUP+1)
1710! ELBUF_STR(NG)%GBUF%OFF(II) = ZERO
1713 NLECSPH(K) = KXSP(NISP,L)
1715 IF(MCHECK == 0) WRITE (IOUT,'(5i10)
') (NLECSPH(II),II=1,K)
1725 IF(MCHECK == 0)WRITE (IOUT,'(5i10)
') (NLECSPH(II),II=1,K)
1728 ! required treatments to retrieve deleted elems in correct order
1730 IF (ISPMD /= 0) CALL SPMD_CHKW(IWIOUT,IOUT)
1731 CALL SPMD_GLOB_ISUM9(IWIOUT,1)
1732 CALL SPMD_IBCAST(IWIOUT,IWIOUT,1,1,0,2)
1733 IF (IWIOUT > 0) THEN
1734 CALL SPMD_WIOUT(IOUT,IWIOUT)
1740!-----------------------
1742!-----------------------
1744.AND.
IF(ISPMD == 0MCHECK == 0)WRITE (IOUT,1890)
1747 ALLOCATE(IPARTOF(NPART))
1750 READ (IIN,'(10i10)
') (NLEC(II),II=1,10)
1754 IF(KLG<=0) GO TO 832
1758 IF(IPART(4 + (L - 1) * LIPART1) == K) THEN
1769 IF(IPARTOF(L)== 1)THEN
1771 NLEC(K) = IPART(4 + (L - 1) * LIPART1)
1773 IF(MCHECK == 0)WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1779 IF(MCHECK == 0) WRITE (IOUT,'(5i10)
') (NLEC(II),II=1,K)
1782 ! required treatments to retrieve deleted elems in correct order
1784 IF (ISPMD /= 0) CALL SPMD_CHKW(IWIOUT,IOUT)
1785 CALL SPMD_GLOB_ISUM9(IWIOUT,1)
1786 CALL SPMD_IBCAST(IWIOUT,IWIOUT,1,1,0,2)
1787 IF (IWIOUT > 0) THEN
1788 CALL SPMD_WIOUT(IOUT,IWIOUT)
1799.AND.
IF(H3D_DATA%N_SCAL_SKID > 0NINTSKIDOLD==0) THEN
1800 NINTERSKID = H3D_DATA%N_SCAL_SKID
1801 IF(NINTSTAMP/=0) THEN
1802 ALLOCATE (PSKIDS(NINTERSKID,NUMNODG))
1803 PSKIDS(1:NINTERSKID,1:NUMNODG) = ZERO
1805 ALLOCATE (PSKIDS(NINTERSKID,NUMNOD))
1806 PSKIDS(1:NINTERSKID,1:NUMNOD) = ZERO
1808.AND.
ELSEIF(H3D_DATA%N_SCAL_SKID == 0NINTSKIDOLD==0)THEN
1809 ALLOCATE (PSKIDS(0,0))
1814.AND.
IF(H3D_DATA%N_SCAL_CSE_FRIC >0S_EFRIC == 0)THEN
1815 ALLOCATE(EFRICG(NUMNOD))
1816 EFRICG(1:NUMNOD) = ZERO
1817 IF(NINTSTAMP/=0) THEN
1818 ALLOCATE(EFRICG_STAMP(NUMNODG))
1819 EFRICG_STAMP(1:NUMNODG) = ZERO
1821 ALLOCATE(EFRICG_STAMP(0))
1823 ELSEIF(S_EFRIC==0)THEN
1825 ALLOCATE(EFRICG_STAMP(0))
1828.AND.
IF(H3D_DATA%N_SCAL_CSE_FRICINT > 0S_EFRICINT==0) THEN
1830 NINEFRICG = H3D_DATA%N_SCAL_CSE_FRICINT
1833 IF(NINTSTAMP/=0) THEN
1835 NI = H3D_DATA%N_CSE_FRIC_INTER (N)
1836.AND.
IF(NI/= 0IPARI(7,N)==21) NINEFRIC_STAMP = NINEFRIC_STAMP + 1
1839 IF(NINEFRIC_STAMP==NINEFRICG) THEN
1840 CALL MY_ALLOC(EFRIC_STAMP,NINEFRICG,NUMNODG)
1841 EFRIC_STAMP(1:NINEFRICG,1:NUMNODG) = ZERO
1842 CALL MY_ALLOC(EFRIC,0,0)
1843 ELSEIF(NINEFRIC_STAMP==0) THEN
1844 NINEFRIC = NINEFRICG
1845 CALL MY_ALLOC(EFRIC,NINEFRIC,NUMNOD)
1846 EFRIC(1:NINEFRICG,1:NUMNOD) = ZERO
1847 CALL MY_ALLOC(EFRIC_STAMP,0,0)
1849 NINEFRIC = NINEFRICG-NINEFRIC_STAMP
1850 CALL MY_ALLOC(EFRIC_STAMP,NINEFRIC_STAMP,NUMNODG)
1851 EFRIC_STAMP(1:NINEFRIC_STAMP,1:NUMNODG) = ZERO
1852 CALL MY_ALLOC(EFRIC,NINEFRIC,NUMNOD)
1853 EFRIC(1:NINEFRIC,1:NUMNOD) = ZERO
1857 NI = H3D_DATA%N_CSE_FRIC_INTER (N)
1858.AND.
IF(NI/= 0IPARI(7,N)==21) THEN
1860 H3D_DATA%N_CSE_FRIC_INTER (N) = NINEFRIC + NS
1863 H3D_DATA%N_CSE_FRIC_INTER (N) = NN
1867 ELSEIF(S_EFRICINT==0)THEN
1868 CALL MY_ALLOC(EFRIC,0,0)
1869 CALL MY_ALLOC(EFRIC_STAMP,0,0)
1878 OFFG => ELBUF_STR(NG)%GBUF%OFF
1888.AND.
IF(ITY == 1NELSOF /= 0)THEN
1892 IF(IXS(1,II) < 0)THEN
1893 IXS(1,II)=-IXS(1,II)
1896 ELSE ! loi0, pas de off
1897 CALL ANCMSG(MSGID=238,ANMODE=ANINFO_BLIND,I1=IXS(NIXS,II),C1='brick
',C2='brick
')
1906.AND.
ELSEIF(ITY == 2NELQOF /= 0)THEN
1910 IF(IXQ(1,II) < 0)THEN
1911 IXQ(1,II)=-IXQ(1,II)
1920.AND.
ELSEIF(ITY == 3NELCOF /= 0)THEN
1924 IF(IXC(1,II) < 0)THEN
1925 IXC(1,II)=-IXC(1,II)
1928 ELSE ! loi0, pas de off
1929 CALL ANCMSG(MSGID=238,ANMODE=ANINFO_BLIND,I1=IXC(NIXC,II), C1='shell
',C2='shell
')
1938.AND.
ELSEIF(ITY == 4NELTOF /= 0)THEN
1944 IF(IXT(1,II) < 0)THEN
1945 IXT(1,II)=-IXT(1,II)
1954.AND.
ELSEIF(ITY == 5NELPOF /= 0)THEN
1958 IF(IXP(1,II) < 0)THEN
1959 IXP(1,II)=-IXP(1,II)
1968.AND.
ELSEIF(ITY == 6NELROF /= 0)THEN
1972 IF(IXR(1,II) < 0)THEN
1973 IXR(1,II)=-IXR(1,II)
1980.AND.
ELSEIF(ITY == 7NELTGOF /= 0)THEN
1984 IF(IXTG(1,II) < 0)THEN
1985 IXTG(1,II)=-IXTG(1,II)
1988 ELSE ! loi0, pas de off
1989 CALL ANCMSG(MSGID=238,ANMODE=ANINFO_BLIND,I1=IXTG(NIXTG,II), C1='sh_3n
',C2='sh_3n
')
1998.AND.
ELSEIF(ITY == 51NSPHOF /= 0)THEN
2002 IF(KXSP(2,II) == 0)THEN
2012 IPARG(8,NG)=MAX0(IPARG(8,NG),IGOF)
2018 K1=1+LIPART1*(NPART+NTHPART)+2*9*(NPART+NTHPART)
2030 OFFG => ELBUF_STR(NG)%GBUF%OFF
2043 PARTID = IPART(K1 + II)
2044 IF (IPARTOF(PARTID)==1) THEN
2045 IF (MLW/=0) OFFG(I) = ZERO
2055 PARTID = IPART(K2 + II)
2056 IF (IPARTOF(PARTID)==1) THEN
2067 PARTID = IPART(K3 + II)
2068 IF (IPARTOF(PARTID)==1) THEN
2069 IF (MLW/=0) OFFG(I) = ZERO
2079 PARTID = IPART(K4 + II)
2080 IF (IPARTOF(PARTID)==1) OFFG(I) = ZERO
2087 PARTID = IPART(K5 + II)
2088 IF (IPARTOF(PARTID)==1) THEN
2095! 6. ELEMENTS RESSORTS
2099 PARTID = IPART(K6 + II)
2100 IF (IPARTOF(PARTID)==1) OFFG(I) = ZERO
2107 PARTID = IPART(K7 + II)
2108 IF (IPARTOF(PARTID)==1) THEN
2109 IF (MLW/=0) OFFG(I) = ZERO
2119 PARTID = IPART(K10 + II)
2120 IF (IPARTOF(PARTID)==1) THEN
2127 IPARG(8,NG)=MAX0(IPARG(8,NG),IGOF)
2129 IF (ALLOCATED(IPARTOF)) DEALLOCATE(IPARTOF)
2134.AND.
IF(NRLINK > 0 MCHECK == 0) THEN
2138 READ (IIN,'(i8,1x,3i1,1x,3i1,i10)
')N,I1,I2,I3,IR1,IR2,IR3,ISK
2139 READ (IIN,'(10i10)
') (LLINK(K2+I-1),I=1,N)
2142 IF(IRODDL == 0)ICR=0
2143.AND.
IF(ISPMD == 0MCHECK == 0)WRITE(IOUT,2100) K,I1,I2,I3,IR1,IR2,IR3,ISK,N
2144.AND.
IF(ISPMD == 0MCHECK == 0)WRITE(IOUT,'(10i10)
') (LLINK(K2+I-1),I=1,N)
2149 IF(ISK == ISKWN(4,LL+1)) THEN
2154 IF ( ISK2 == 0) THEN
2155 CALL ANCMSG(MSGID=125,ANMODE=ANINFO)
2160 ! shared verification & defining specific data structure
2161 CALL FR_RLINK1(LLINK(K2),ITABM1,FR_RL(1,K),N)
2163 1 V ,VR ,MS ,IN ,NNLINK(K1),
2164 2 NNLINK(K1+1),NNLINK(K1+2),LLINK(K2),N ,IC ,
2165 3 ICR ,NNLINK(K1+3),ISK ,SKEW(1,ISK+1),ISKWN ,
2166 4 FR_RL(1,K) ,WEIGHT )
2170 IF(ISPMD == 0)CALL ANCMSG(MSGID=126,ANMODE=ANINFO)
2222 IF(MCHECK==0)NALELK_starter = SLINALE/7 !SLINALE : starter linale size
2226 !setting MAIN node user id to internal id
2227 DO J=1,NALELK_starter
2228.AND.
IF(IRUN == 1 MCHECK == 0)
2229 . CALL FR_RLALE(LINALE(K-4),LINALE(K-3),LINALE(K+1),ITABM1,-1)
2233.AND.
IF(NALELK /= 0MCHECK == 0)THEN
2234 K=SLINALE+6 !LINALE(1:SLINALE):starter cards ;LINALE(SLINALE+1:SLINALE+LLINE):engine cards
2235 !K=5 !en attendant de copier LIALE starter dans (1:SLINALE)
2237 READ (IIN,'(3i10,5x,3i1,i10)
')M1,M2,N,I1,I2,I3,IM
2238 !---------------------------------!
2239 ! ALE LINK DEFINED FROM NODES !
2240 !---------------------------------!
2242 READ (IIN,'(10i10)
')(LINALE(K+I),I=1,N)
2250.AND.
IF(ISPMD == 0MCHECK == 0)WRITE(IOUT,2200)M1,M2,I1,I2,I3,IM
2256.AND.
IF(ISPMD == 0MCHECK == 0)THEN
2257 WRITE(IOUT,'(10i10)
')(LINALE(K+I),I=1,N)
2261 CALL FR_RLALE(LINALE(K-4),LINALE(K-3),LINALE(K+1),ITABM1,N)
2263 !---------------------------------!
2264 ! ALE LINK DEFINED FROM GRNOD !
2265 !---------------------------------!
2269 READ (IIN,'(i10)
', ERR=998,IOSTAT=IERROR)GR_ID
2271 0998 IF(IERROR/=0)THEN
2272 WRITE(ISTDO,*) ' ** error in
ale link: invalid grnod_id
'
2275 LINALE(K+1)=NGR2USR(GR_ID,IGRNOD,NGRNOD)
2277 IF(LINALE(K+1)==0)CALL ARRET(2) !node group not found
2279.AND.
IF(IM==0IGRNOD(LINALE(K+1))%SORTED /= 1)THEN
2280 !option 0 needs to be defined with a /GRNOD/NODENS
2281 WRITE(ISTDO,*)' ** error in
ale link:
'
2282 WRITE(ISTDO,*) ' unsortable node group required with option 0 (/grnod/nodens)
'
2283 WRITE(IOUT ,*)' ** error in
ale link:
'
2284 WRITE(IOUT,*) ' unsortable node group required with option 0 (/grnod/nodens)
'
2295.AND.
IF(ISPMD == 0MCHECK == 0)THEN
2296 WRITE(IOUT,2200)M1,M2,I1,I2,I3,IM !N=1 with GRNOD option
2297 WRITE(IOUT,2202)GR_ID
2304 !shared verification & untag non present nodes
2305 CALL FR_RLALE(LINALE(K-4),LINALE(K-3),LINALE(K+1),ITABM1,N)
2309 SLINALE = SLINALE + LLINAL
2310.AND.
ENDIF !IF(NALELK /= 0MCHECK == 0)THEN
2316.AND.
IF(NALELINK /= 0MCHECK == 0)THEN
2317 IF(NALELK==0)K=SLINALE+6
2319 READ (IIN,'(3i10,5x,3i1,i10)
')M1,M2,N,I1,I2,I3,IM
2320.AND.
IF(M1>0M2>0)THEN
2321 !---------------------------------!
2322 ! ALE LINK DEFINED FROM NODES !
2323 !---------------------------------!
2325 READ (IIN,'(10i10)
')(LINALE(K+I),I=1,N)
2333.AND.
IF(ISPMD == 0MCHECK == 0)WRITE(IOUT,2200)M1,M2,I1,I2,I3,IM
2339.AND.
IF(ISPMD == 0MCHECK == 0)THEN
2340 WRITE(IOUT,'(10i10)
')(LINALE(K+I),I=1,N)
2343 ! Verification partagee et tag en - noeuds non present
2344 CALL FR_RLALE(LINALE(K-4),LINALE(K-3),LINALE(K+1),ITABM1,N)
2346 !---------------------------------!
2347 ! ALE LINK DEFINED FROM GRNOD !
2348 !---------------------------------!
2350 READ (IIN,'(i10)
', ERR=999,IOSTAT=IERROR)GR_ID
2351 0999 IF(IERROR/=0)THEN
2352 WRITE(ISTDO,*) ' ** error in
ale link: cannot
READ grnod_id
VALUE'
2354 CALL ARRET(2) !node group not read
2357 LINALE(K+1)=NGR2USR(GR_ID,IGRNOD,NGRNOD)
2358 IF(LINALE(K+1)==0)THEN
2359 WRITE(ISTDO,*) ' ** error in
ale link: invalid grnod_id
'
2360 CALL ARRET(2) !node group not found
2363.AND.
IF(IM==0IGRNOD(LINALE(K+1))%SORTED /= 1)THEN
2364 !option 0 needs to be defined with a /GRNOD/NODENS
2365 WRITE(ISTDO,*)' ** error in
ale link:
'
2366 WRITE(ISTDO,*)' unsortable node group required with option 0 (/grnod/nodens)
'
2367 WRITE(IOUT ,*)' ** error in
ale link:
'
2368 WRITE(IOUT,*) ' unsortable node group required with option 0 (/grnod/nodens)
'
2379.AND.
IF(ISPMD == 0MCHECK == 0)THEN
2380 WRITE(IOUT,2200)M1,M2,I1,I2,I3,IM !N=1 with GRNOD option
2381 WRITE(IOUT,2202)GR_ID
2388 !shared verification & untag non present nodes
2389 CALL FR_RLALE(LINALE(K-4),LINALE(K-3),LINALE(K+1),ITABM1,N)
2393 !---------------------------------!
2395 !---------------------------------!
2396 ELSEIF(M1==-1)THEN ! ON
2397 ALLOCATE(ALELIN_ON_OFF(IABS(N)))
2398 READ (IIN,'(10i10)
')(ALELIN_ON_OFF(I),I=1,N)
2400 KK=0 ! number of ale link deactivated
2403 M1=ALELIN_ON_OFF(I1)
2404 DO I=1,NALELK_starter
2405 !---------------------------------!
2406 ! CHECK AND DEACTIVATE !
2407 !---------------------------------!
2409 !warning : uID does not exist
2410 WRITE(ISTDO,*)' ** warning
ale link does not exist :
',M1
2411 WRITE(IOUT,*) ' ** warning
ale link does not exist :
',M1
2417 NALELK_removed = NALELK_removed+1 !counting deactivated links
2418 LINALE(L+0)=-LINALE(L+0) !setting negative uID to skip ALE LINK treatment (alelin.F)
2420.AND.
IF(ISPMD == 0MCHECK == 0)WRITE(IOUT,2211)M1 !N=1 with GRNOD option
2421 EXIT !next ALELIN_ON_OFF
2423 NALELK_removed = NALELK_removed+1 !counting deactivated links
2424 !warning uID already set OFF :
2425 WRITE(ISTDO,*)' ** warning
ale link already activated :
',M1
2426 EXIT !next ALELIN_ON_OFF
2430 L = L+6+IABS(N) !next uID position in LINALE()
2433 DEALLOCATE(ALELIN_ON_OFF)
2434 !IF(NALELK_removed>0)NALELK_removed=1 !/ALE/LINK/ON or OFF card is no longer taken into account
2436 !---------------------------------!
2437 ! ALE LINK SET OFF !
2438 !---------------------------------!
2439 ELSEIF(M1==-2)THEN ! OFF
2440 ALLOCATE(ALELIN_ON_OFF(IABS(N)))
2441 READ (IIN,'(10i10)
')(ALELIN_ON_OFF(I),I=1,N)
2443 KK=0 ! number of ale link deactivated
2446 M1=ALELIN_ON_OFF(I1)
2447 DO I=1,NALELK_starter
2448 !---------------------------------!
2449 ! CHECK AND DEACTIVATE !
2450 !---------------------------------!
2452 !warning : uID does not exist
2453 WRITE(ISTDO,*) ' ** warning
ale link does not exist :
',M1
2454 WRITE(IOUT,*) ' ** warning
ale link does not exist :
',M1
2460 NALELK_removed = NALELK_removed+1 !counting deactivated links
2461 LINALE(L+0)=-LINALE(L+0) !setting negative uID to skip ALE LINK treatment (alelin.F)
2463.AND.
IF(ISPMD == 0MCHECK == 0)WRITE(IOUT,2210)M1 !N=1 with GRNOD option
2464 EXIT !next ALELIN_ON_OFF
2465 ELSEIF(uID==-M1)THEN
2466 NALELK_removed = NALELK_removed+1 !counting deactivated links
2467 !warning uID already set OFF :
2468 WRITE(ISTDO,*)' ** warning
ale link already deactivated :
',M1
2469 EXIT !next ALELIN_ON_OFF
2472 L = L+6+IABS(N) !next uID position in LINALE()
2475 DEALLOCATE(ALELIN_ON_OFF)
2476 !IF(NALELK_removed>0)NALELK_removed=1 !/ALE/LINK/ON or OFF card is no longer taken into account
2480 SLINALE = SLINALE + LLINAL
2481 NALELK = NALELK+NALELINK-NALELK_removed
2482.AND.
ENDIF !(NALELINK /= 0MCHECK == 0)
2484 IF(MCHECK==0)NALELK=NALELK+NALELK_starter
2489 IF(NBPARTALEON > 0) ALLOCATE(ALEON_PARTIDS_TMP(NBPARTALEON))
2490 IF(NBPARTALEOFF > 0) ALLOCATE(ALEOFF_PARTIDS_TMP(NBPARTALEOFF))
2493 DO I = 1, NBPARTALEON + NBPARTALEOFF
2494 READ(IIN, '(i10, i10)
') PARTID, ISON
2497 ALEON_PARTIDS_TMP(ION) = PARTID
2498 ELSE IF(ISON == 0) THEN
2500 ALEOFF_PARTIDS_TMP(IOFF) = PARTID
2504 DO I = 1, NBPARTALEON
2505 PARTID = ALEON_PARTIDS_TMP(I)
2506 IF (PARTID /= -1) THEN
2507 DO J = 1, NBPARTALEON
2509 IF (ALEON_PARTIDS_TMP(J) == PARTID) THEN
2510 NBPARTALEON = NBPARTALEON - 1
2511 ALEON_PARTIDS_TMP(J) = -1
2516 DO I = 1, NBPARTALEOFF
2517 PARTID = ALEOFF_PARTIDS_TMP(I)
2518 IF (PARTID /= -1) THEN
2519 DO J = 1, NBPARTALEOFF
2521 IF (ALEOFF_PARTIDS_TMP(J) == PARTID) THEN
2522 NBPARTALEOFF = NBPARTALEOFF - 1
2523 ALEOFF_PARTIDS_TMP(J) = -1
2529 DO J = 1, NBPARTALEON
2530 IF (ALEON_PARTIDS_TMP(J) == PARTID) THEN
2531 !!! WARNING TO OUTPUT HERE
2532 ALEON_PARTIDS_TMP(J) = -1
2533 NBPARTALEON = NBPARTALEON - 1
2534 CALL ANCMSG(MSGID = 272, ANMODE = ANINFO, I1 = PARTID)
2540 NBALEOFF_PART = NBPARTALEOFF
2541 NBALEON_PART = NBPARTALEON
2542 DO I = 1, NBPARTALEON
2543 PARTID = ALEON_PARTIDS_TMP(I)
2545 IF (PARTID /= -1) THEN
2547 IF (IPART(4 + (J - 1) * LIPART1) == PARTID) THEN
2549 ALEON_PARTIDS_TMP(I) = J
2555 ALEON_PARTIDS_TMP(I) = -1
2556 NBALEON_PART = NBALEON_PART - 1
2557 CALL ANCMSG(MSGID = 271, ANMODE = ANINFO, I1 = PARTID)
2561 DO I = 1, NBPARTALEOFF
2562 PARTID = ALEOFF_PARTIDS_TMP(I)
2564 IF (PARTID /= -1) THEN
2566 IF (IPART(4 + (J - 1) * LIPART1) == PARTID) THEN
2568 ALEOFF_PARTIDS_TMP(I) = J
2574 ALEOFF_PARTIDS_TMP(I) = -1
2575 NBALEOFF_PART = NBALEOFF_PART - 1
2576 CALL ANCMSG(MSGID = 271, ANMODE = ANINFO, I1 = PARTID)
2581 IF (NBALEOFF_PART > 0) ALLOCATE(ALEOFF_PARTIDS(NBALEOFF_PART))
2582 IF (NBALEON_PART > 0) ALLOCATE(ALEON_PARTIDS(NBALEON_PART))
2583 DO I = 1, NBPARTALEON
2584 PARTID = ALEON_PARTIDS_TMP(I)
2586 IF (PARTID /= -1) THEN
2588 ALEON_PARTIDS(ISON) = PARTID
2592 DO I = 1, NBPARTALEOFF
2593 PARTID = ALEOFF_PARTIDS_TMP(I)
2594 IF (PARTID /= -1) THEN
2596 ALEOFF_PARTIDS(ISON) = PARTID
2600 DO I = 1, NBALEOFF_PART
2601 WRITE(IOUT, 4800) ALEOFF_PARTIDS(I)
2606 K1 = 1 + LIPART1 * (NPART + NTHPART) + 2 * 9 * (NPART + NTHPART)
2620 PARTID = IPART(K1 + NFT)
2621 ELSEIF (ITY == 2) THEN
2623 PARTID = IPART(K2 + NFT)
2626 DO I = 1, NBALEOFF_PART
2627 IF (ALEOFF_PARTIDS(I) == PARTID) THEN
2628 IPARG(76, NG) = 1 ! --> OFF
2633 DO I = 1, NBALEON_PART
2634 IF (ALEON_PARTIDS(I) == PARTID) THEN
2635 IPARG(76, NG) = 0 ! --> ON
2640 IF (ALLOCATED(ALEON_PARTIDS_TMP)) DEALLOCATE(ALEON_PARTIDS_TMP)
2641 IF (ALLOCATED(ALEOFF_PARTIDS_TMP)) DEALLOCATE(ALEOFF_PARTIDS_TMP)
2642 IF (ALLOCATED(ALEON_PARTIDS)) DEALLOCATE(ALEON_PARTIDS)
2643 IF (ALLOCATED(ALEOFF_PARTIDS)) DEALLOCATE(ALEOFF_PARTIDS)
2648 CALL LCBCSF(ICODE,ISKEW,NUBCSN,ITAB,ITABM1,NPBY ,ISKWN,WEIGHT)
2652 IF (ISPMD /= 0) CALL SPMD_CHKW(IWIOUT,IOUT)
2653 CALL SPMD_GLOB_ISUM9(IWIOUT,1)
2654 CALL SPMD_IBCAST(IWIOUT,IWIOUT,1,1,0,2)
2655 IF (IWIOUT > 0) THEN
2656 CALL SPMD_WIOUT(IOUT,IWIOUT)
2666 READ(IIN,'(2i8,2f16.0)
')NOINT,NSEARCH,TSTART,TFIN
2667 IF(TFIN == 0.0)TFIN=1.E30
2668 IF(TFIN <= TSTART) THEN
2669 CALL ANCMSG(MSGID=307,ANMODE=ANSTOP)
2675 IF(NOINT == IPARI(15,J)) THEN
2676 IF(NSEARCH /= 0) IPARI(13,J)=NSEARCH
2677 INTBUF_TAB(J)%VARIABLES(3) = TSTART
2678 INTBUF_TAB(J)%VARIABLES(11) = TFIN
2683.AND.
IF(ISPMD == 0MCHECK == 0) WRITE(IOUT,2300)NOINT,IPARI(13,JPRI),TSTART,TFIN
2685.AND.
IF(ISPMD == 0MCHECK == 0) WRITE(IOUT,2301)NOINT
2692 NV_OUTP = NV_OUTP + OUTP_V(I)
2693 NSS_OUTP = NSS_OUTP + OUTP_SS(I)
2694 NST_OUTP = NST_OUTP + OUTP_ST(I)
2695 NCS_OUTP = NCS_OUTP + OUTP_CS(I)
2696 NCT_OUTP = NCT_OUTP + OUTP_CT(I)
2697 NTS_OUTP = NTS_OUTP + OUTP_TS(I)
2698 NPS_OUTP = NPS_OUTP + OUTP_PS(I)
2699 NPT_OUTP = NPT_OUTP + OUTP_PT(I)
2700 NRS_OUTP = NRS_OUTP + OUTP_RS(I)
2701 NRT_OUTP = NRT_OUTP + OUTP_RT(I)
2703 IF(OUTP_V(12) == 1)NV_OUTP=NV_OUTP+1
2709 1 CALL RBYONF(IPARG,IPARI ,MS ,IN ,
2710 2 IXS ,IXQ ,IXC ,IXT ,IXP ,
2711 3 IXR ,SKEW ,ITAB ,ITABM1 ,ISKWN ,
2712 4 NPBY ,0 ,NRBYOF,WA ,LPBY ,
2713 5 RBY ,X ,V ,VR ,IXTG ,
2714 6 IGRV ,IBGR ,WEIGHT,FR_RBY2,PARTSAV,
2715 7 IPART,ELBUF_STR,ICFIELD,LCFIELD,TAGSLV_RBY)
2718 1 CALL RBYONF(IPARG,IPARI ,MS ,IN ,
2719 2 IXS ,IXQ ,IXC ,IXT ,IXP ,
2720 3 IXR ,SKEW ,ITAB ,ITABM1 ,ISKWN ,
2721 4 NPBY ,1 ,NRBYON,WA ,LPBY ,
2722 5 RBY ,X ,V ,VR ,IXTG ,
2723 6 IGRV ,IBGR ,WEIGHT,FR_RBY2,PARTSAV,
2724 7 IPART,ELBUF_STR,ICFIELD,LCFIELD,TAGSLV_RBY)
2728.AND.
IF (NSFLSW /= 0MCHECK == 0) THEN
2729 CALL LECFLSW (NSFLSW,NTFLSW,NEFLSW,NNFLSW,CRFLSW,X,IXS,IPARG,WA)
2735 CALL LECFUN (NPC, PLD, NFCT, NPTS, TABLE)
2740 IF (NINIV /= 0) THEN
2741 CALL LECINV (NINIV,X,V,VR,ITAB,IFRAME,XFRAME,IGRNOD,FXBIPM,FXBVIT,FXBRPM)
2746.AND.
IF(NCUTS > 0MCHECK == 0)CALL LECCUT(ICUT,XCUT,ITABM1)
2756 IF(NNOISE > 0)CALL LECNOISE(INOISE,ITABM1,NAMES_AND_TITLES)
2762.AND..AND.
IF( IMADCPL > 0INVERS>=40MCHECK == 0)CALL LECCPL()
2766.AND..AND.
IF(IPREAD > 0ISPMD == 0MCHECK == 0) WRITE(IOUT,4000)
2767.AND..AND.
IF(IDDW > 0ISPMD == 0MCHECK == 0) WRITE(IOUT,4100)
2771 CALL LECDAMP(NDAMPN, DAMPR, IGRNOD)
2773 ISTATCND_SAV= ISTATCND
2775.AND.
IF(ISPRB==0NADMESH/=0)THEN
2776 IF (ISPMD == 0) THEN
2777 CALL ANCMSG(MSGID=131,ANMODE=ANINFO)
2784.OR.
IF (IMPL_S == 1NEIG > 0) CALL LECIMPL
2785 IF (NFXINP > 0) CALL LECFXINP(NFXINP)
2786 IF(ALE%SUB%NODSUBDT /= 0)THEN
2788 CALL ANCMSG(MSGID=129,ANMODE=ANINFO_BLIND)
2792 IF (NEIGOFF > 0) CALL LECEIG(NEIGOFF, NEOFF)
2793 IF (NFVMESH > 0) CALL LECFVBAG(NFVMESH, MONVOL, VOLMON, X)
2794 IF (NFVMODI > 0) CALL LECFVBAG1(NFVMODI, MONVOL, VOLMON)
2801 NC_STAT = NC_STAT + STAT_C(I)
2804.OR.
IF(NSTATPRT /= 0 NSTATALL /= 0)THEN
2805 K1=1+LIPART1*(NPART+NTHPART)+2*9*(NPART+NTHPART)
2814 CALL LECSTAT(IPART,IPART_STATE,ELBUF_STR,IPM,IPARG,IPART(K1),
2815 . IPART(K3),IPART(K8),MAT_PARAM)
2820.OR.
IF(DYNAIN_DATA%NDYNAINPRT /= 0 DYNAIN_DATA%NDYNAINALL /= 0)THEN
2821 K1=1+LIPART1*(NPART+NTHPART)+2*9*(NPART+NTHPART)
2830 CALL READ_DYNAIN(IPART,DYNAIN_DATA,IPART(K3),IPART(K8),IXC,IXTG)
2835 IF (ALLOCATED(SENSORS%ANIM_TMP)) DEALLOCATE (SENSORS%ANIM_TMP)
2836 IF (ALLOCATED(SENSORS%STAT_TMP)) DEALLOCATE (SENSORS%STAT_TMP)
2837 IF (ALLOCATED(SENSORS%OUTP_TMP)) DEALLOCATE (SENSORS%OUTP_TMP)
2838 IF (ALLOCATED(SENSORS%STOP_TMP)) DEALLOCATE (SENSORS%STOP_TMP)
2840 IF(IERR == 0) RETURN
2843 & 1X,'ale euler solvers
'/
2844 & 1X,'-----------------
'/)
2846 & 1X,' +--staggerred scheme
'/
2847 & 1X,' | +--momentum :
',A16,' eta=
',G14.7/
2848 & 1X,' | +--mass :
',A16,' eta=
',G14.7/
2849 & 1X,' | +--energy :
',A16,' eta=
',G14.7/
2850 & 1X,' | +--volume fraction :
',A16)
2853 & 1X,' +--colocated scheme(law151)
'/
2854 & 1X,' | +--momentum :
',A16/
2855 & 1X,' | +--mass :
',A16/
2856 & 1X,' | +--energy :
',A16/
2857 & 1X,' | +--volume fraction :
',A16 )
2859 & 1X,' | +--low mach option : enabled
' )
2861 & 1X,' | +--muscl option : enabled beta=
',G14.7)
2864 & 1X,' +--time step
'/
2865 & 1X,' | +--courant number :
',G14.7/
2866 & 1X,' | +--minimum time step :
',G14.7)
2869 & 1X,' +--grid smoothing
'/
2870 & 1X,' +--formulation :
',A17)
2872 & 1X,' +--parameters :
')
2875 . ' multidomains coupling . . . . . . . . . . . . . .
',G14.7//)
2877 . ' final time . . . . . . . . . . . . . . . . . . .
',G14.7//
2878 . ' time interval
for time history plots . . . . . .
',G14.7//
2879 . ' time step scale factor . . . . . . . . . . . . .
',G14.7//
2880 . ' minimum time step . . . . . . . . . . . . . . .
',G14.7//)
2882 . ' brick time step scale factor . . . . . . . . . .
',G14.7/
2883 . ' brick minimum time step. . . . . . . . . . . . .
',G14.7/
2884 . ' min. time step flag(1:stop run, 2:delete brick)
',I5//
2885 . ' quad time step scale factor. . . . . . . . . . .
',G14.7/
2886 . ' quad minimum time step . . . . . . . . . . . . .
',G14.7/
2887 . ' min. time step flag(1:stop run, 2:delete quad).
',I5//
2888 . ' shell time step scale factor . . . . . . . . . .
',G14.7/
2889 . ' shell minimum time step. . . . . . . . . . . . .
',G14.7/
2890 . ' min. time flag(1:stop, 2:delete, 3:small strain)
',I5//
2891 . ' truss time step scale factor . . . . . . . . . .
',G14.7/
2892 . ' truss minimum time step. . . . . . . . . . . . .
',G14.7/
2893 . ' min. time flag(1:stop, 2:delete). . . . . . . .
',I5//
2894 . ' beam time step scale factor. . . . . . . . . . .
',G14.7/
2895 . ' beam minimum time step . . . . . . . . . . . . .
',G14.7/
2896 . ' min. time flag(1:stop, 2:delete). . . . . . . .
',I5//
2897 . ' spring time step scale factor. . . . . . . . . .
',G14.7/
2898 . ' spring minimum time step . . . . . . . . . . . .
',G14.7/
2899 . ' min. time flag(1:stop, 2:delete). . . . . . . .
',I5//
2900 . ' airbag time step scale factor. . . . . . . . . .
',G14.7/
2901 . ' airbag minimum time step . . . . . . . . . . . .
',G14.7/
2902 . ' min. time flag(1:stop). . . . . . . . . . . . .
',I5//
2903 . ' contact time step scale factor . . . . . . . . .
',G14.7/
2904 . ' contact minimum time step. . . . . . . . . . . .
',G14.7/
2905 . ' min. time flag(1:stop, 2:remove node from interf)
',I5/ )
2906 1155 FORMAT('/dt/fvmbag/0 option
')
2907 1156 FORMAT('/dt/fvmbag/1 option
')
2908 1157 FORMAT('fvmbag time step synthesis
')
2910 . ' fvmbag
id. . . . . . . . . . . . . . . . . . . .
',I10)
2912 . ' fvmbag1
id. . . . . . . . . . . . . . . . . . . .
',I10)
2914 . ' fvmbag2
id. . . . . . . . . . . . . . . . . . . .
',I10)
2916 . ' smooth particles time step scale factor. . . . .
',G14.7/
2917 . ' smooth particles minimum time step . . . . . . .
',G14.7/
2918 . ' min. time flag(1:stop, 2:delete, 5:kill). . . .
',I5 )
2920 . ' fvmbag time step scale factor. . . . . . . . . .
',G14.7/
2921 . ' fvmbag minimum time step . . . . . . . . . . . .
',G14.7/
2922 . ' fvmbag time step flag. . . . . . . . . . . . . .
',I5,/)
2924 . ' . . time step scale factor. . . . . . . . . . . . . .
',G14.7/
2925 . ' . . minimum time step . . . . . . . . . . . . . . . .
',G14.7/
2926 . ' . . time step flag. . . . . . . . . . . . . . . . . .
',I5)
2928 . ' . . characteristic length option. . . . . . . . . . .
',I5/
2929 . ' . . time step smoothing factor. . . . . . . . . . . .
',G14.7/
2930 . ' . . previous time step. . . . . . . . . . . . . . . .
',G14.7)
2932 . ' contact nodal time step scale factor . . . . . .
',G14.7/
2933 . ' contact nodal minimum time step. . . . . . . . .
',G14.7/
2934 . ' contact nodal
min. time flag . . . . . . . . . .
',I5/
2935 . ' 3:increase mass, original formulation . . . .
',/
2936 . ' 8:increase mass, improved formulation . . . . ',//)
2938 .
' AMS CONTACT TIME STEP IS ON . . . . . . . . . . . . .',/
2939 .
' . . . . . .(ALL CONTACTS WILL BE CONCERNED).) . . . .',/
2940 .
' AMS CONTACT TIME STEP SCALE FACTOR. . . . . . . . . .',g14.7/
2941 .
' AMS CONTACT MINIMUM TIME STEP . . . . . . . . . . . .',g14.7//)
2943 .
' NODAL TIME STEP SCALE FACTOR, . . . . . . . . . ',g14.7/
2944 .
' NODAL MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
2945 .
' MIN. TIME FLAG . . . . . . . . . . . . . . . . . ',i5/
2946 .
' 1:STOP. . . . . . . . . . . . . . . . . . . . ',/
2947 .
' 3:INCREASE MASS, ORIGINAL FORMULATION . . . . ',/
2948 .
' 8:INCREASE MASS, IMPROVED FORMULATION . . . . ',//)
2950 .
' NODAL TIME STEP SCALE FACTOR, . . . . . . . . . ',g14.7/
2951 .
' NODAL MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/)
2953 .
' NODAL TIME STEP SCALE FACTOR, . . . . . . . . . ',g14.7/
2954 .
' NODAL MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
2955 .
' ADDED MASS RATIO (DM/M0) . . . . . . . . . . . . ',g14.7/
2956 .
' MIN. TIME FLAG . . . . . . . . . . . . . . . . . ',i5/
2957 .
' 1:STOP. . . . . . . . . . . . . . . . . . . . ',/
2958 .
' 3:INCREASE MASS, ORIGINAL FORMULATION . . . . ',/
2959 .
' 8:INCREASE MASS, IMPROVED FORMULATION . . . . ',//)
2961 .
' ADVANCED MASS SCALING IS ON . . . . . . . . . . .',/
2962 .
' AMS NODAL TIME STEP SCALE FACTOR. . . . . . . . .',g14.7/
2963 .
' AMS NODAL MINIMUM TIME STEP . . . . . . . . . . .',g14.7/
2964 .
' AMS TOLERANCE ON CONVERGENCE. . . . . . . . . . .',g14.7/
2965 .
' AMS MAXIMUM NUMBER OF ITERATIONS FOR CONVERGENCE.',i10/
2966 .
' OUTPUT FREQUENCY OF INFORMATION / CONVERGENCE . .',i10/
2967 .
' PART GROUP ID (=0 ALL PARTS) . . . . . . . . . . ',i10//)
2969 .
' ADVANCED MASS SCALING IS ON . . . . . . . . . . .',/
2970 .
' AMS TIME STEP SCALE FACTOR. . . . . . . . . . . .',g14.7/
2971 .
' AMS MINIMUM TIME STEP . . . . . . . . . . . . . .',g14.7/
2972 .
' AMS TOLERANCE ON CONVERGENCE. . . . . . . . . . .',g14.7/
2973 .
' AMS MAXIMUM NUMBER OF ITERATIONS FOR CONVERGENCE.',i10/
2974 .
' NUMBER OF PRECONDITIONING VECTORS FOR PCG . . . .',i10/
2975 .
' OUTPUT FREQUENCY OF INFORMATION / CONVERGENCE . .',i10/
2976 .
' PART GROUP ID (=0 ALL PARTS) . . . . . . . . . . ',i10//)
2978 .
' ADVANCED MASS SCALING IS ON . . . . . . . . . . .',/
2979 .
' AMS TIME STEP SCALE FACTOR. . . . . . . . . . . .',g14.7/
2980 . ' ams minimum time step . . . . . . . . . . . . . .
',G14.7/
2981 . ' ams tolerance on convergence. . . . . . . . . . .
',G14.7/
2982 . ' ams maximum number of iterations
for convergence.
',I10/
2983 . ' number of preconditioning vectors
for pcg . . . .
',I10/
2984 . ' output frequency of information / convergence . .
',I10/
2985 . ' auto element selection - time step criteria . . .
',G14.7/
2986 . ' part group
id(=0 all parts) . . . . . . . . . .
',I10//)
2988 . ' printout cycle frequency . . . . . . . . . . . .
',I5 //
2989 . ' restart cycle frequency. . . . . . . . . . . . .
',I10 //
2990 . ' maximum restart
WRITE before overwrite . . . . .
',I5 //
2991 . ' invers: input deck version . . . . . . . . . . .
',I5/
2992 . ' ittyp : flag
for TYPE of t-file. . . . . . . . .
' ,I5/)
2994 . ' time
for first animation-file plot . . . . . . .
',G14.7/
2995 . ' time interval
for animation-file plots . . . . .
',G14.7/
2996 . ' time to stop animation-file plots. . . . . . . .
',G14.7/
2997 . ' sensor
for animation-file plots. . . . . . . . .
',I10/
2998 . ' time interval
for sensor animation-file plots. .
',G14.7//
2999 . ' variable saved on animation files(1: yes) :
',/
3000 . ' plastic strain. . . . . .
',I5/
3001 . ' density(solid only).
',I5/
3002 . ' specific energy . . . . .
',I5/
3003 . ' hourglass energy. . . . .
',I5/
3004 . ' temperature(solid only).
',I5/
3005 . ' thickness(shell only).
',I5/
3006 . ' pressure(solid only).
',I5/
3007 . ' von mises . . . . . . . .
',I5/
3008 . ' turbulent energy(fluid).
',I5/
3009 . ' turbulent viscosity(fluid)
',I5/
3010 . ' vorticity(fluid) . . . .
',I5)
3012 . ' nodal values saved on animation files(1: yes) :
',/
3013 . ' pressure. . . . . . . . .
',I5/
3014 . ' density . . . . . . . . .
',I5/
3015 . ' temperature . . . . . . .
',I5)
3017 . ' vector saved on animation files(1: yes) :
',/
3018 . ' velocity vector . . . . .
',I5/
3019 . ' displacement vector . . .
',I5/
3020 . ' acceleration vector . . .
',I5/
3021 . ' contact forces. . . . . .
',I5/
3022 . ' internal forces . . . . .
',I5/
3023 . ' EXTERNAL forces . . . . .
',I5/
3024 . ' section rby rwall forces.
',I5/
3025 . ' rotational velocity vector
',I5/
3026 . ' contact pressure(vectors)
',I5/
3027 . ' shell tensor saved on animation files(1: yes) :
',/
3028 . ' membrane stress . . . . .
',I5/
3029 . ' bending stress(moment/t^2)
',I5/
3030 . ' upper layer stress. . . .
',I5/
3031 . ' lower layer stress. . . .
',I5)
3033 . ' membrane strain . . . . .
',I5/
3034 . ' curvature . . . . . . . .
',I5/
3035 . ' upper layer strain. . . .
',I5/
3036 . ' lower layer strain. . . .
',I5/
3037 . ' nodal mass saved on animation files(1: yes) :
',I5/
3038 . ' keep deleted element(1: yes) :
',I5//)
3040 . ' initial time step. . . . . . . . . . . . . . . .
',G14.7/
3041 . ' maximum time step. . . . . . . . . . . . . . . .
',G14.7)
3043 . ' IMPLICIT : conjugated gradient
' /
3044 . ' global convergence precision . . . . . . . . . .
',G14.7/
3045 . ' incremental convergence precision. . . . . . . .
',G14.7/
3046 . ' maximum number of iterations . . . . . . . . . .
',I5)
3048 . ' dynamic relaxation
' /
3049 . ' node group
id(=0 all nodes) . . . . . . . . . .
',I10/
3050 . ' beta . . . . . . . . . . . . . . . . . . . . . .
',G14.7/
3051 . ' period . . . . . . . . . . . . . . . . . . . . .
',G14.7)
3053 . ' kinematic relaxation
' /
3054 . ' node group
id(=0 all nodes) . . . . . . . . . .
',I10)
3056 . ' parallel arithmetic off
')
3058 . ' parallel arithmetic on
')
3060 . ' parallel arithmetic flag . . . . . . . . . . . .
',I5)
3062 . ' quasi-compressible formulation on (/incmp)
')
3064 . ' momentum : mixed integration
')
3066 . ' momentum : volume integration
')
3068 . 28X,' alpha : donea coefficient. . . . . . . . . . .
',G14.7/
3069 . 28X,' gamma : grid velocity limitation factor. . . .
',G14.7/
3070 . 28X,' fscalex : x-grid velocity scale factor . . . . .
',G14.7/
3071 . 28X,' fscaley : y-grid velocity scale factor . . . . .
',G14.7/
3072 . 28X,' fscalez : z-grid velocity scale factor . . . . .
',G14.7/
3073 . 28X,' volmin : minimum volume
for element deletion. .
',G14.7//)
3075 . 28X,' umax : maximum absolute grid velocity . . . . .
',G14.7/
3076 . 28X,' vmin : minimum volume
for element deletion. . .
',G14.7//)
3078 . 28X,' dt0 : typical time step. . . . . . . . . . . .
',G14.7/
3079 . 28X,' dt0* : effective time step. . . . . . . . . . .
',G14.7/
3080 . 28X,' gamma : non linearity factor . . . . . . . . . .
',G14.7/
3081 . 28X,' eta :
damping coefficient . . . . . . . . . .
',G14.7/
3082 . 28X,' nu : shear factor . . . . . . . . . . . . . .
',G14.7/
3083 . 28X,' volmin: minimum volume
for element deletion. . .
',G14.7//)
3085 . 28X,' alpha : stability factor . . . . . . . . . . . .
',G14.7/
3086 . 28X,' gamma : non linearity factor . . . . . . . . . .
',G14.7/
3087 . 28X,' beta :
damping coefficient. . . . . . . . . . .
',G14.7/
3088 . 28X,' lc : characteristic length. . . . . . . . . .
',G14.7//)
3090 . 28X,' enabled deformation . . . . . . . . . . . . . .
',A3/
3091 . 28X,' enabled rotation . . . . . . . . . . . . . . .
',A3/
3092 . 28X,' scale factor
for deformation . . . . . . . . . .
',G14.7/
3093 . 28X,' scale factor
for rotation . . . . . . . . . . .
',G14.7//)
3095 . ' number of interfaces to be eliminated. . . . . .
',I8//
3096 . ' number of parts to be eliminated . . . . . . . .
',I8//
3097 . ' number of solid element blocks to be eliminated
',I8//
3098 . ' number of quad element blocks to be eliminated
',I8//
3099 . ' number of shell element blocks to be eliminated
',I8//
3100 . ' number of truss element blocks to be eliminated
',I8//
3101 . ' number of beam element blocks to be eliminated
',I8//
3102 . ' number of spring element blocks to be eliminated
',I8//
3103 . ' number of sh_3n element blocks to be eliminated
',I8//
3104 . ' number of sph particles blocks to be eliminated
',I8/)
3106 . ' number of rigid links. . . . . . . . . . . . . .
',I8/)
3108 . ' number of
ale links. . . . . . . . . . . . . . .
',I8/)
3110 . ' number of new boundary conditions. . . . . . . .
',I8/)
3112 . ' remove inter.7 segment after shell failure(1 yes)
',I5/)
3113 1810 FORMAT(///' list of eliminated solid elements
')
3114 1820 FORMAT(///' list of eliminated quad elements
')
3115 1830 FORMAT(///' list of eliminated shell elements
')
3116 1840 FORMAT(///' list of eliminated truss elements
')
3117 1850 FORMAT(///' list of eliminated beam elements
')
3118 1860 FORMAT(///' list of eliminated spring elements
')
3119 1870 FORMAT(///' list of eliminated sh_3n elements
')
3120 1880 FORMAT(///' list of eliminated sph particles
')
3121 1890 FORMAT(///' list of eliminated parts
')
3122 2000 FORMAT(/' INTERFACE number
',I10,' is eliminated
')
3123 2100 FORMAT(/' rigid link:
',I5,
3125 . ' rotation x,y,z
',3(1X,I1),
3127 . ' ----------
',I10,' nodes :')
3128 2200
FORMAT(/
' ALE LINK: ',/,
3130 .
' MAIN NODES : ',2i8,/,
3131 .
' (X,Y,Z) : (',i1,
',',i1,
',',i1,
')',/,
3133 2201
FORMAT(
' NODES :')
3134 2202
FORMAT(
' NODE GROUP : ',i2)
3135 2210
FORMAT(
' DEACTIVATING ALE LINK ID:',i5)
3136 2211
FORMAT(
' ACTIVATING ALE LINK ID:',i5)
3137 2300
FORMAT(/
' INTERFACE CHANGES'/
3138 .
' INTERFACE NB . . . . . . . . . . . . . . . . . . ',i10/
3139 .
' SEARCH OF CLOSEST NODES EACH NSEARCH TIME STEPS. ',i5/
3140 .
' START TIME . . . . . . . . . . . . . . . . . . . ',g14.7/
3141 .
' STOP TIME . . . . . . . . . . . . . . . . . . . ',g14.7)
3143 2301
FORMAT(/
' ERROR IN INTERFACE CHANGES'/
3144 .
' INTERFACE NB IS NOT EXISTING . . . . . . . . . . ',i10)
3147 .
' SPMD PARALLEL RESTART READING (PREAD) ACTIVATED')
3149 .
' SPMD ELEMENT WEIGHT ESTIMATION (DDW) ACTIVATED')
3152 & 1x,
'EXTERNAL LIBRARY FOR USERS CODE INTERFACE ')
3154 & 1x,
'LIBRARY NAME . . . . . . . . . . . . . . . . . . . . ',a/
3155 & 1x,
'RADIOSS USERS CODE INTERFACE VERSION . . . . . . . .',i10//)
3157 .
' BRICK TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
3158 .
' BRICK MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
3159 .
' MIN. TIME STEP FLAG (1:STOP RUN, 2:DELETE 3:CST )',i5//
3160 .
' BRICK_CST MINIMUM ASPECT RATIO (Tet collapse). . ',g14.7/
3161 .
' BRICK_CST MINIMUM VOLUME CHANGE . . . . . . . . ',g14.7//
3162 .
' QUAD TIME STEP SCALE FACTOR. . . . . . . . . . . ',g14.7/
3163 .
' QUAD MINIMUM TIME STEP . . . . . . . . . . . . . ',g14.7/
3164 .
' MIN. TIME STEP FLAG (1:STOP RUN, 2:DELETE QUAD). ',i5//
3165 .
' SHELL TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
3166 .
' SHELL MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
3167 .
' MIN. TIME FLAG (1:STOP, 2:DELETE, 3:SMALL STRAIN)',i5//
3168 .
' TRUSS TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
3169 .
' TRUSS MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
3170 .
' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
3171 .
' BEAM TIME STEP SCALE FACTOR. . . . . . . . . . . ',g14.7/
3172 .
' BEAM MINIMUM TIME STEP . . . . . . . . . . . . . ',g14.7/
3173 .
' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
3174 .
' SPRING TIME STEP SCALE FACTOR. . . . . . . . . . ',g14.7/
3175 .
' SPRING MINIMUM TIME STEP . . . . . . . . . . . . ',g14.7/
3176 .
' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
3177 .
' AIRBAG TIME STEP SCALE FACTOR. . . . . . . . . . ',g14.7/
3178 .
' AIRBAG MINIMUM TIME STEP . . . . . . . . . . . . ',g14.7/
3179 .
' MIN. TIME FLAG (1:STOP). . . . . . . . . . . . . ',i5//
3180 .
' INTERFACE TYPE 7 TIME STEP SCALE FACTOR. . . . . ',g14.7/
3181 . '
INTERFACE type 7 minimum time step . . . . . . .
',G14.7/
3182 . ' min. time flag(1:stop, 2:remove node from interf)
',I5/ )
3184 . ' accurate time step
for shells is used. . . . . .
',/)
3186 . ' accurate time step
for 4-node & 8-node solid is used
',/)
3188 . ' accurate time step
for 10-node tetrahedra is used
',/)
3190 . ' part deactivated
for ale / euler computation
',2X,I10)
3191 5000 FORMAT(/' h3d files :
'/
3192 . ' time
for first h3d-file plot . . . . . . . . . .
',G14.7/
3193 . ' time interval
for h3d-file plots . . . . . . . .
',G14.7/
3194 . ' variable saved on h3d files :
')
3196 . ' kinematic relaxation
' /
3197 . ' node group
id(=0 all nodes) . . . . . . . . . .
',I10/
3198 . ' start time. . . . . . . . . . . . . . . . . . .
',G14.7/
3199 . ' stop time. . . . . . . . . . . . . . . . . . .
',G14.7)
3201 . ' adaptive dynamic relaxation
' ,/
3202 . ' node group
id(=0 all nodes) . . . . . . . . . .
',I10/)
3204 . ' adaptive dynamic relaxation
' /
3205 . ' node group
id(=0 all nodes) . . . . . . . . . .
',I10/
3206 . ' start time. . . . . . . . . . . . . . . . . . . ',g14.7/
3207 .
' STOP TIME. . . . . . . . . . . . . . . . . . . ',g14.7)
3209 .
' BRICK_DEL MINIMUM COLLAPSE RATIO. . . . . . . . . ',g14.7/
3210 .
' BRICK_DEL MINIMUM VOLUME CHANGE . . . . . . . . . ',g14.7/
3211 .
' BRICK_DEL MAXIMUM ASPECT RATIO . . . . . . . . . ',g14.7/
3212 .
' BRICK_DEL MAXIMUM VOLUME CHANGE . . . . . . . . . ',g14.7//)