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 ,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)
133 use element_mod ,
only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
137#include "implicit_f.inc"
141#include "com01_c.inc"
142#include "com04_c.inc"
143#include "com06_c.inc"
144#include "com08_c.inc"
145#include "com09_c.inc"
146#include "param_c.inc"
148#include "scr02_c.inc"
149#include "scr03_c.inc"
150#include "scr05_c.inc"
151#include "scr06_c.inc"
152#include "scr07_c.inc"
153#include "scr14_c.inc"
154#include "scr16_c.inc"
155#include "scr17_c.inc"
156#include "scr18_c.inc"
157#include "cong1_c.inc"
158#include "cong2_c.inc"
159#include "scrfs_c.inc"
160#include "stati_c.inc"
161#include "statr_c.inc"
162#include "units_c.inc"
163#include "scrcut_c.inc"
164#include "scrnoi_c.inc"
165#include "parit_c.inc"
166#include "chara_c.inc"
169#include "impl1_c.inc"
170#include "tabsiz_c.inc"
171#include "remesh_c.inc"
173#include "rad2r_c.inc"
174#include "inter22.inc"
175#include "userlib.inc"
177#include "intstamp_c.inc"
178#include "couple_c.inc"
182 INTEGER IPARG(NPARG,NGROUP), IPARI(NPARI,*), IXS(NIXS,*),
183 . IXQ(NIXQ,*), IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*),
184 . IXR(NIXR,*), IXTG(NIXTG,*),ITAB(*), ITABM1(*),
185 . ISKWN(LISKN,*), NPBY(NNPBY,*),NNLINK(*) ,LLINK(*) ,LINALE(*),
186 . ICODE(*) ,ISKEW(*),NPC(*),NEFLSW(*),NNFLSW(*),ICUT(*),
187 . INOISE(*),IGRV(NIGRV,*),IBGR(*),
188 . LPBY(*),KXSP(NISP,*),WEIGHT(*),FR_RBY2(*),
190 . IPART(*), MONVOL(*), IPART_STATE(*),IFRAME(LISKN,*),
191 . IGEO(NPROPGI,*),IPM(NPROPMI,*),TAG_SKINS6(*),
192 . ICFIELD(SIZFIELD,*), LCFIELD(*), TAGSLV_RBY(*),
193 . MDS_OUTPUT_TABLE(MDS_NMAT*MAX_DEPVAR),MDS_NMAT,MAX_DEPVAR,
194 . MDS_NDEPSVAR(*),IBCL(*),ILOADP(*),LLOADP(*)
196 . SKEW(LSKEW,*),RBY(*),MS(*),IN(*),
197 . X(*), V(*), VR(*),WA(*),PLD(*),CRFLSW(*),XCUT(*),
198 . DAMPR(NRDAMP,*), PARTSAV(*),PM(NPROPM,*),
199 . VOLMON(*),GEO(NPROPG,*),XFRAME(NXFRAME,*)
201 TYPE(ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_STR
202 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
203 TYPE (H3D_DATABASE) :: H3D_DATA
204 TYPe (MULTI_FVM_STRUCT) :: MULTI_FVM
205 TYPE(GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
206 TYPE(GROUP_) ,
DIMENSION(NGRPART) :: IGRPART
207 CHARACTER MDS_LABEL(1024,MDS_NMAT)
208 TYPE (STACK_PLY) :: STACK
209 TYPE (SENSORS_) ,
INTENT(INOUT) ,
TARGET :: SENSORS
210 TYPE (DYNAIN_DATABASE),
INTENT(INOUT) :: DYNAIN_DATA
211 TYPE (DT_),
INTENT(INOUT) ::
212 TYPE (LOADS_),
INTENT(IN) :: LOADS
213 TYPE(output_),
INTENT(INOUT) :: OUTPUT
214 TYPE(NAMES_AND_TITLES_),
INTENT(INOUT) :: NAMES_AND_TITLES
215 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(INOUT) :: MAT_PARAM
216 type (glob_therm_) ,
intent(inout) :: glob_therm
217 type (pblast_) ,
intent(inout) :: pblast
221 INTEGER NLEC(16), I, NSLIOF, NELSOF, NELQOF, NDAMPN,
222 . nelcof, neltof, nelpof, nelrof, nintch, nubcsn, itfor0, irfe0,
223 . irfl0, k, nelof, nn, nbc, il, ii, j, klg, kug, nblk, ng,
224 . ity, nel, nft, iad, igof, k1, k2, n, i1, i2, i3, ir1, ir2, ir3,
225 . isk, ic, icr, m1, m2, im, noint, nsearch, jpri, npts,
226 . nrbyon, nrbyof, neltgof,niniv,nsliofn,nsliofs,kk,nty,
227 . nsn,nrts,nrtm,nmn,l,ncpri1,nrlink0,nalelk0,
228 . nsphof,iwiout,nlecsph(10),nfxinp,ncrst1
229 . naleof,neulerof,nthermof,nfvmesh
230 . nfvmodi,iok, alestrl(0:8), nalelink0, gr_id,
231 . nalelk_starter, uid, nalelk_removed, jale,userl_count,
233 . stext1,multirest1,nlpri1,ierror,
234 . ninterskid,ivolu,ifv,ifv_type,istatg_p,
235 . k3,k4,k5,k6,k7,k8,k9,ninefricg,ns,ni,npartof,ift,ilt,k10,k11,jj,dtfct,ok
237 INTEGER :: NBPARTALEON, NBPARTALEOFF, PARTID, ISON, ION, IOFF, NBALEON_PART, NBALEOFF_PART
238 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ALEOFF_PARTIDS_TMP, ALEOFF_PARTIDS,
239 . aleon_partids_tmp, aleon_partids
240 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ALELIN_ON_OFF
242 . TFI, DTF, DTM, ALP, GAM,
243 . CV1, CV2, CV3, VOLM, TSTART, TFIN,DT_INPUT, DT_CRIT
244 CHARACTER*9 Label1,Label2,Label3,Label4,Label5,Label6,Label7,Label8
245 CHARACTER*16 ALEform(0:8),Cale1,Cale2,CHAR1,CHAR2,Label9
246 CHARACTER*3 :: LABEL_DEF,LABEL_ROT
247 CHARACTER(LEN=4),
DIMENSION(20) :: TITLE
248 my_real eta1,eta2,MIN_ASPECT,,DYDX
249 my_real,
DIMENSION(:),
POINTER :: OFFG
250 TYPE (SENSOR_STR_) ,
DIMENSION(:) ,
POINTER :: SENSOR_TAB
251 LOGICAL IS_ALREADY_PRINTED
253 REAL(KIND=8),
DIMENSION(9) :: DTH1
254 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IPARTOF
258 INTEGER,
EXTERNAL :: NGR2USR
259 my_real,
EXTERNAL :: finter
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,
'(10I8)') nsliof,nelsof,nelqof,nelcof,neltof,nelpof,nelrof,neltgof,nsliofn,nsliofs
278 READ (iin,
'(I8)') nsphof
279 READ (iin,
'(4I8)') naleof,neulerof,nthermof,npartof
280 READ (iin,
'(2I8)') nrlink0,nalelk0
281 READ (iin,
'(2I8)') nalelink0
285 READ (iin,
'(I8, I8)') nbpartaleon, nbpartaleoff
296 READ (iin,
'(2I8)') nubcsn,niniv
297 READ (iin,
'(3I8)') nintch,nrbyon,nrbyof
298 READ (iin,
'(I8)') ndampn
299 READ(iin,
'(I8)') nfxinp
301 READ(iin,
'(2I8)') neigoff, neoff
302 READ(iin,
'(2I8)') nfvmesh, nfvmodi
304 IF(ncpri1 == 0) ncpri1=1
305 IF(mcheck == 0)ncpri = ncpri1
307 IF(mcheck == 0)nlpri = nlpri1
309 IF(ncrst1 == 0.AND.mcheck == 0) ncrst=10000000
310 IF(tfi /= 0.0) tstop=tfi
312 IF(toutp0 /= zero) toutp = toutp0
313 IF(dtoutp0 > zero) dtoutp= dtoutp0
314 IF(dtoutp<=zero) toutp = ep30
315 IF (toutp < tt-dt2.AND.dtoutp > zero)toutp = toutp
316 . + int((tt-dt2-toutp)/dtoutp)*dtoutp
317 IF (toutp < tt-dt2)toutp = toutp+dtoutp
320 IF(tstat0 /= zero) tstat = tstat0
321 IF(dtstat0 > zero) dtstat= dtstat0
322 IF(dtstat<=zero) tstat = ep30
323 IF (tstat < tt-dt2.AND.dtstat > zero)tstat = tstat
324 . + int((tt-dt2-tstat)/dtstat)*dtstat
325 IF (tstat < tt-dt2)tstat = tstat+dtstat
327 IF(dynain_data%TDYNAIN0 /= zero) dynain_data%TDYNAIN = dynain_data%TDYNAIN0
328 IF(dynain_data%DTDYNAIN0 > zero) dynain_data%DTDYNAIN= dynain_data%DTDYNAIN0
329 IF(dynain_data%DTDYNAIN<=zero) dynain_data%TDYNAIN = ep30
330 IF (dynain_data%TDYNAIN < tt-dt2.AND.dynain_data%DTDYNAIN > zero)dynain_data%TDYNAIN = dynain_data%TDYNAIN
331 . + int((tt-dt2-dynain_data%TDYNAIN)/dynain_data%DTDYNAIN)*dynain_data%DTDYNAIN
332 IF (dynain_data%TDYNAIN< tt-dt2)dynain_data%TDYNAIN = dynain_data%TDYNAIN+dynain_data%DTDYNAIN
335 IF(dtabf0(i) > zero) dtabf(i)= dtabf0(i)
336 IF(dtabfwr0(i) > zero) dtabfwr(i)= dtabfwr0(i)
338 IF (abfile(1) /= 0) tabfis(1) = tt
340 IF(dth /= zero.AND.mcheck == 0) output%TH%DTHIS=dth
342 IF(dth1(i) /= zero.AND.mcheck == 0) output%TH%DTHIS1(i)=dth1(i)
349 IF(dtf /= zero) dtfac=dtf
350 IF(dtm /= zero) dtmin=dtm
351 IF(alp /= zero)
ale%GRID%ALPHA=alp
352 IF(gam /= zero)
ale%GRID%GAMMA=gam
353 IF(cv1 /= zero)
ale%GRID%VGX =cv1
354 IF(cv2 /= zero)
ale%GRID%VGY =cv2
355 IF(cv3 /= zero)
ale%GRID%VGZ =cv3
356 IF(
ale%GRID%NWALE_ENGINE == 2)
THEN
358 ale%GRID%ALPHA = alp/(-
ale%GRID%VGX+sqrt(
ale%GRID%VGX**2+ one))
361 dt_input =
ale%GRID%ALPHA*(-
ale%GRID%VGX+sqrt(
ale%GRID%VGX**2+ one))
364 IF(
ale%GRID%NWALE_ENGINE == 1.AND.alp == zero)
ale%GRID%ALPHA=ep30
365 IF(volm /= zero)volmin=volm
368 IF(dtfac>half)dtfac22 = half / dtfac
374 IF(dtmins == zero)dtmins = dtmin
375 IF(dtfacs == zero)dtfacs = dtfac
376 IF(tol_sms == zero) tol_sms = em03
377 IF(nsmspcg==0)nsmspcg=1000
381 IF(idtmins==2.AND.irest_mselt==0)
THEN
382 CALL ancmsg(msgid=120,anmode=aninfo_blind
392 IF(idtmins_int/=0)
THEN
393 IF(dtmins_int == zero)dtmins_int = dtmin
394 IF(dtfacs_int == zero)dtfacs_int = dtfac
395 IF(tol_sms == zero) tol_sms = em03
396 IF(nsmspcg==0)nsmspcg=1000
403 idtmins_int=idtmins_int_old
404 dtmins_int =dtmins_int_old
405 dtfacs_int =dtfacs_int_old
410 IF(dtmin1(i) == zero)dtmin1(i) = dtmin
411 IF(dtfac1(i) == zero)dtfac1(i) = dtfac
412 dtfacx =
min(dtfac1(i), dtfacx)
415 IF(idtmin(52) == 0)idtmin(52) = 1
416 IF(dtfac1(52) == zero)dtfac1(52) = zep9
417 IF(dtmin1(52) == zero)dtmin1(52) = em20
420 IF(
ale%GLOBAL%IDT_ALE==-1)
THEN
421 IF(dtmin1(i) == zero)dtmin1(i) = dtmin
422 IF(dtfac1(i) == zero)dtfac1(i) = dtfac
424 IF(dtmin1(i) == zero)dtmin1(i) = zero
425 IF(dtfac1(i) == zero)dtfac1(i) = half
429 IF(idtmin(1) == 0)idtmin(1) = 1
430 IF(idtmin(2) == 0)idtmin(2) = 1
431 IF(idtmin(3) == 0)idtmin(3) = 2
432 IF(idtmin(7) == 0)idtmin(7) = 2
435 IF(ispmd == 0)
WRITE(iout,
'(//1X,20A4//)') title
438 irfl0 =(irform-5*irfe0) + 1
449 userl_count = userl_avail
452 IF (userl_count /= 0 .AND. userl_count /= nspmd)
THEN
453 CALL ancmsg(msgid=254,anmode=aninfo,
454 . c1=dlibfile(1:dlibfile_size))
460 IF (userl_avail==1)
THEN
463 WRITE(iout,4600) dlibfile(1:dlibfile_size),dlibtkvers
469 IF(ispmd==0)
WRITE(iout,1099)
471 CALL ancmsg(msgid=242,anmode=aninfo_blind)
475 IF ((r2r_siu==1).AND.(ispmd==0))
THEN
476 CALL ancmsg(msgid=239,anmode=aninfo_blind)
481 min_aspect = dt%BRICK_CST_COL_MIN
482 min_defv = dt%BRICK_CST_DEFV_MIN
483 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,1100)tstop,output%TH%DTHIS,dtfac,dtmin
485 IF ((min_aspect+min_defv)>zero)
THEN
486 IF(ispmd == 0.AND.mcheck == 0)
THEN
487 WRITE(iout,4700) dtfac1(1),dtmin1(1),idtmin(1),
488 + min_aspect,min_defv,
489 + dtfac1(2),dtmin1(2),idtmin(2),
490 + dtfac1(3),dtmin1(3),idtmin(3),
491 + dtfac1(4),dtmin1(4),idtmin(4),
492 + dtfac1(5),dtmin1(5),idtmin(5),
493 + dtfac1(6),dtmin1(6),idtmin(6),
494 + dtfac1(9),dtmin1(9),idtmin(9),
495 + dtfac1(10),dtmin1(10),idtmin(10)
497 IF(idt1sh /=0)
WRITE(iout,4720)
498 IF(idt1sol/=0)
WRITE(iout,4730)
499 IF(idt1tet10/=0)
WRITE(iout,4740)
502 IF(ispmd == 0.AND.mcheck == 0)
THEN
503 WRITE(iout,1105) dtfac1(1),dtmin1(1),idtmin(1),
504 + dtfac1(2),dtmin1(2),idtmin(2),
505 + dtfac1(3),dtmin1(3),idtmin(3),
506 + dtfac1(4),dtmin1(4),idtmin(4),
507 + dtfac1(5),dtmin1(5),idtmin(5),
508 + dtfac1(6),dtmin1(6),idtmin(6),
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 (dt%IDEL_BRICK>zero)
THEN
518 IF(ispmd == 0.AND.mcheck == 0)
THEN
519 WRITE(iout,5020)dt%BRICK_DEL_COL_MIN,dt%BRICK_DEL_DEFV_MIN,dt%BRICK_DEL_ASP_MAX,dt%BRICK_DEL_DEFV_MAX
522 IF(idtmin(11) == 3 .OR. idtmin(11) == 8)
THEN
523 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,1107)dtfac1(11),dtmin1(11),idtmin(11)
525 IF(idtmins_int/=0)
THEN
526 IF((ispmd == 0).AND.mcheck == 0)
THEN
527 WRITE(iout,1209) dtfacs_int,dtmins_int
531 IF((ispmd == 0).AND.mcheck == 0.AND.idtgrs<=0)
THEN
532 WRITE(iout,1109) dtfacs,dtmins,tol_sms,nsmspcg,m_vs_sms,ncprisms,-idtgrs
533 ELSEIF((ispmd == 0).AND.mcheck == 0)
THEN
534 WRITE(iout,1109) dtfacs,dtmins,tol_sms,nsmspcg,m_vs_sms,ncprisms,igrpart(idtgrs)%ID
538 IF(ispmd == 0.AND.mcheck == 0)
THEN
539 IF(idtmin(11)==0)
THEN
540 WRITE(iout,1116) dtfac1(11),zero
541 ELSEIF(idtmin(11)==1.OR.idtmin(11)==3.OR.idtmin(11) == 8)
THEN
542 IF ( percent_addmass > zero)
THEN
543 WRITE(iout,1206) dtfac1(11),dtmin1(11),percent_addmass,idtmin(11)
545 WRITE(iout,1106) dtfac1(11),dtmin1(11),idtmin(11)
549 IF ((min_aspect+min_defv)>zero)
THEN
550 IF(ispmd == 0.AND.mcheck == 0)
THEN
551 WRITE(iout,4700) dtfac1(1),dtmin1(1),idtmin(1),
552 + min_aspect,min_defv,
553 + dtfac1(2),dtmin1(2),idtmin(2),
554 + dtfac1(3),dtmin1(3),idtmin(3),
555 + dtfac1(4),dtmin1(4),idtmin(4),
556 + dtfac1(5),dtmin1(5),idtmin(5),
557 + dtfac1(6),dtmin1(6),idtmin(6),
558 + dtfac1(9),dtmin1(9),idtmin(9),
559 + dtfac1(10),dtmin1(10),idtmin(10)
561 IF(idt1sh /=0)
WRITE(iout,4720)
562 IF(idt1sol/=0)
WRITE(iout,4730)
563 IF(idt1tet10/=0)
WRITE(iout,4740)
566 IF(ispmd == 0.AND.mcheck == 0)
THEN
567 WRITE(iout,1105) dtfac1(1),dtmin1(1),idtmin(1),
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 (dt%IDEL_BRICK>zero)
THEN
582 IF(ispmd == 0.AND.mcheck == 0)
THEN
583 WRITE(iout,5020)dt%BRICK_DEL_COL_MIN,dt%BRICK_DEL_DEFV_MIN,dt%BRICK_DEL_ASP_MAX,dt%BRICK_DEL_DEFV_MAX
586 IF(idtmins_int/=0)
THEN
587 IF((ispmd == 0).AND.mcheck == 0)
THEN
588 WRITE(iout,1209) dtfacs_int,dtmins_int
594 IF (isms_selec < 3)
THEN
595 IF((ispmd == 0).AND.mcheck == 0.AND.idtgrs<=0)
THEN
596 WRITE(iout,1108) dtfacs,dtmins,tol_sms,nsmspcg,ncprisms,-idtgrs
597 ELSEIF((ispmd == 0).AND.mcheck == 0)
THEN
598 WRITE(iout,1108) dtfacs,dtmins,tol_sms,nsmspcg,ncprisms,igrpart(idtgrs)%ID
603 dt_crit = dtmins /
max(em20,dtfac1(11))
604 IF((ispmd == 0).AND.mcheck == 0.AND.idtgrs<=0)
THEN
605 WRITE(iout,2109) dtfacs,dtmins,tol_sms,nsmspcg,m_vs_sms,ncprisms,dt_crit,-idtgrs
606 ELSEIF((ispmd == 0).AND.mcheck == 0)
THEN
607 WRITE(iout,2109) dtfacs,dtmins,tol_sms, nsmspcg,m_vs_sms,ncprisms,dt_crit,igrpart(idtgrs)%ID
617 IF(nodadt==0.AND.(istatcnd/=0.AND.impl_s==0))
THEN
618 CALL ancmsg(msgid=121,anmode=aninfo_blind)
621 IF(ispmd == 0.AND.mcheck == 0.AND.kdtint /= 0)
THEN
622 WRITE(iout,
'(A)')
' NEW (HIDDEN) TIME STEP COMPUTATION',
' ON INTERFACE TYPE 7,11 AND 19 IS ON'
624 IF(ispmd == 0.AND.mcheck == 0.AND.kdtsmstr == 0)
THEN
625 WRITE(iout,
'(A)')
' BACK TO VERSION 4 COMPUTATION OF NODAL TIME STEP',
' CASE OF SMALL STRAIN FOR SOLIDS.'
627 IF(codvers>=44.AND.numsph /= 0.AND.mcheck == 0)
THEN
628 IF(idtmin(51) == 3)
THEN
630 WRITE(istdo,*)
' ** WARNING SMALL STRAIN FORMULATION FOR SPH'
631 WRITE(iout,*)
' ** WARNING SMALL STRAIN FORMULATION IS NOT AVAILABLE FOR SPH,',
' OPTION /DT/SPHCEL/CST WILL BE OMITTED.'
636 IF(ispmd == 0)
WRITE(iout,*)
'IMPROVED TIME STEP (NODAL) COMPUTATION ON SPH PARTICLES :'
637 dtfac1(51)=dtfac1(11)
639 IF(ispmd == 0)
WRITE(iout,1151)dtfac1(51),dtmin1(51),idtmin(51)
642 IF(ispmd == 0.AND.mcheck == 0)
THEN
651 WRITE(iout,1152)dtfac1(52),dtmin1(52),idtmin(52)
654 IF(ispmd == 0.AND.mcheck == 0)
THEN
656 is_already_printed = .false.
658 ifv = monvol(k1 - 1 + 45)
659 ifv_type = monvol(k1 - 1 + 2)
660 IF (ifv_type == 6 .OR. ifv_type == 8 .OR. ifv_type == 11)
THEN
661 IF(.NOT.is_already_printed)
THEN
663 is_already_printed=.true.
666 IF(ifv_type == 6)
WRITE(iout,1147)monvol(k1)
667 IF(ifv_type == 8)
WRITE(iout,1148)monvol(k1)
668 IF(ifv_type == 11)
WRITE(iout,1149)monvol(k1)
669 IF (ifv_type == 6 .OR. ifv_type == 8 .OR. ifv_type == 11)
THEN
679 IF(ispmd == 0.AND.mcheck == 0.AND.idt1sol /= 0)
WRITE(iout,
'(A)')
' OPTIMIZED TIME STEP COMPUTATION FOR HEPH.'
680 IF(ispmd == 0.AND.mcheck == 0.AND.idttsh /= 0)
WRITE(iout,
'(A)')
' OPTIMIZED (SHELL) TIME STEP FOR THICK SHELLS.'
681 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,1110)ncpri,ncrst,multirest,invers,itfor0
683 IF (impl_s == 1.AND.ikg>=5)
THEN
686 WRITE(iout,*)
' ** WARNING ** : PARITH/ON IS NOT ',
'COMPATIBLE WITH IMPLICIT OPTION '
687 WRITE(iout,*)
' ** RESETTING ** : PARITH/OFF '
693 IF(ispmd == 0 .AND. imassi > 0 )
THEN
694 WRITE(iout,
'(A)')
' RESET INITIAL MASS FOR THIS RUN '
699 IF (ispmd == 0 .AND. glob_therm%ITHERM_FE > 0 )
THEN
700 WRITE(iout,
'(A)')
' FINITE ELEMENT THERMAL ANALYSIS '
701 IF (glob_therm%IDT_THERM == 1)
THEN
702 WRITE(iout,
'(A)')
' THERMAL ANALYSIS ONLY'
703 WRITE(iout,
'(A,1X,G14.7)')
' THERMAL TIME STEP SCALE FACTOR . . . . . . . . .', glob_therm%DTFACTHERM
705 IF (glob_therm%THEACCFACT > one )
THEN
706 WRITE(iout,
'(A,1X,G14.7/)')
' FACTOR TO SPEED-UP THERMAL ANALYSIS. . . . . . .', glob_therm%THEACCFACT
718 IF (mcheck == 0)
THEN
719 ALLOCATE(sensors%STOP(sensors%NSTOP))
722 IF (mcheck == 0)
THEN
723 IF (sensors%NSTOP > 0)
THEN
726 IF (sensors%STOP_TMP(k) > 0)
THEN
727 DO i=1,sensors%NSENSOR
728 IF (sensor_tab(i)%SENS_ID == sensors%STOP_TMP(k))
THEN
736 CALL ancmsg(msgid=233, anmode
744 IF (mcheck == 0)
THEN
745 ALLOCATE(sensors%STAT(sensors%NSTAT))
748 IF (ispmd == 0 .AND. mcheck == 0)
THEN
750 IF (sensors%NSTAT > 0)
THEN
753 IF(sensors%STAT(k) /= 0)
THEN
754 DO i=1,sensors%NSENSOR
755 IF (sensors%SENSOR_TAB(i)%SENS_ID == sensors%STAT(k))
THEN
763 CALL ancmsg(msgid=235, anmode=aninfo,i1=sensors%STAT(k))
773 IF (mcheck == 0)
THEN
774 ALLOCATE(sensors%OUTP(sensors%NOUTP))
777 IF (ispmd == 0 .AND. mcheck == 0)
THEN
778 IF (sensors%NOUTP > 0)
THEN
781 IF (sensors%OUTP_TMP(k) > 0)
THEN
782 DO i=1,sensors%NSENSOR
783 IF (sensors%SENSOR_TAB(i)%SENS_ID == sensors%OUTP_TMP(k
THEN
791 CALL ancmsg(msgid=236, anmode=aninfo,i1 = sensors%OUTP_TMP(k))
800 IF(ispmd == 0.AND.mcheck == 0)
THEN
801 WRITE(iout,1150)dtin,dtmx
803 .
WRITE(iout,1160)eps,eps2,nitmx
804 istatg_p = iabs(istatg)
806 WRITE(iout,1171)istatg_p,beta,period
807 ELSEIF(istat == 2)
THEN
808 IF (tst_start>zero.OR.tst_stop>zero)
THEN
809 IF (tst_stop==zero) tst_stop = tstop
810 WRITE(iout,5001)istatg_p,tst_start,tst_stop
812 WRITE(iout,1172)istatg_p
814 ELSEIF(istat == 3)
THEN
815 IF (tst_start>zero.OR.tst_stop>zero)
THEN
816 IF (tst_stop==zero) tst_stop = tstop
817 WRITE(iout,5011)istatg_p,tst_start,tst_stop
819 WRITE(iout,5010)istatg_p
825 ELSEIF(iparit == 1)
THEN
828 WRITE(iout,1182)iparit-1
831 WRITE(iout,1300) nsliof,npartof,nelsof,nelqof,nelcof,neltof,nelpof,nelrof,neltgof,nsphof
832 WRITE(iout,1400) nrlink
833 WRITE(iout,1500) nubcsn
834 IF(iale /= 0.OR.ieuler /= 0)
WRITE(iout,1450) nalelink+nalelk
836 ELSEIF(ispmd == 0 .AND. mcheck /= 0)
THEN
844 IF(ispmd == 0 .AND. mcheck == 0)
THEN
845 IF(iale /= 0 .OR. ieuler /= 0)
THEN
846 IF(
ale%UPWIND%UPW_UPDATE /= 0 )
THEN
851 IF(pm(15,k) /=
ale%UPWIND%UPWMG2 .OR. pm(16,k) /=
ale%UPWIND%UPWOG2)
THEN
852 ale%UPWIND%UPW_UPDATE = 2
853 pm(15,k) =
ale%UPWIND%UPWMG2
854 pm(16,k) =
ale%UPWIND%UPWOG2
858 IF(
ale%UPWIND%UPWSM /=
ale%UPWIND%UPWSM2)
THEN
859 ale%UPWIND%UPW_UPDATE = 2
860 ale%UPWIND%UPWSM =
ale%UPWIND%UPWSM2
863 ELSEIF(
ale%UPWIND%UPW_UPDATE == 0)
THEN
864 ale%UPWIND%UPWMG2=one
865 ale%UPWIND%UPWOG2=one
866 ale%UPWIND%UPWSM2=one
871 IF(pm(15,k) /=
ale%UPWIND%UPWMG2 .OR. pm(16,k) /=
ale%UPWIND%UPWOG2 .OR.
ale%UPWIND%UPWSM /=
ale%UPWIND%UPWSM2)
THEN
872 IF(pm(15,k) /= zero)
ale%UPWIND%UPWMG2 = pm(15,k)
873 IF(pm(16,k) /= zero)
ale%UPWIND%UPWOG2 = pm(16,k)
874 IF(
ale%UPWIND%UPWSM /= zero)
ale%UPWIND%UPWSM2 =
ale%UPWIND%UPWSM
885 IF(iale /= 0 .OR. ieuler /= 0)
THEN
889 IF(
ale%GLOBAL%INCOMP == 1.AND.mcheck == 0)
WRITE(iout,1196)
890 !-----------------------
894 IF(
ale%GRID%NWALE_ENGINE /=
ale%GRID%NWALE_RST .AND.
ale%GRID%NWALE_ENGINE /= -1)
THEN
895 IF(
ale%GRID%NWALE_ENGINE /= 3)
THEN
896 aleform=(/
'DONEA ',
'DISP ',
'SPRING ',
'ZERO ',
897 .
'STANDARD ',
'LAPLACIAN ',
'VOLUME ',
'FLOW-TRACKING ',
899 alestrl=(/5,4,6,4,8,9,6,13,8/)
900 cale1=aleform(
ale%GRID%NWALE_ENGINE)
901 cale2=aleform(
ale%GRID%NWALE_RST)
902 CALL ancmsg(msgid=229,anmode=aninfo,
903 . c1=cale1(1:alestrl(
ale%GRID%NWALE_ENGINE)),c2=cale2(1:alestrl(
ale%GRID%NWALE_RST)))
906 ale%GRID%NWALE_ENGINE = 3
911 IF(
ale%UPWIND%UPWM == 2)
THEN
913 ELSEIF(
ale%UPWIND%UPWM == 3)
THEN
942 multi_fvm%LOWMACH_OPT = .false.
943 IF (
ale%GLOBAL%HLLC_LOWMACH == 1 .AND. multi_fvm%IS_USED)
THEN
944 multi_fvm%LOWMACH_OPT = .true.
946 aleform=(/
'DONEA ',
'DISP ',
'SPRING ',
'ZERO ',
947 .
'STANDARD ',
'LAPLACIAN ',
'VOLUME ',
'FLOW-TRACKING ',
950 IF(
ale%GRID%NWALE_ENGINE /= -1)
THEN
951 ale%GRID%NWALE =
ale%GRID%NWALE_ENGINE
953 ale%GRID%NWALE =
ale%GRID%NWALE_RST
956 label9(1:16)=aleform(
ale%GRID%NWALE)
957 eta1=
ale%UPWIND%UPWMG2
958 eta2=
ale%UPWIND%UPWOG2
959 IF(
ale%UPWIND%UPWM>1)eta1=
ale%UPWIND%CUPWM
961 IF(ispmd == 0 .AND. mcheck == 0)
THEN
963 WRITE(iout,1002)label1,eta1,label2,eta2,label3,eta2,label4
964 IF(multi_fvm%IS_USED)
THEN
965 WRITE(iout,1003)label5,label6,label7,label8
966 IF(multi_fvm%LOWMACH_OPT)
WRITE(iout,1004)
970 WRITE(iout,1006) dtfac1(102),dtmin1(102)
972 WRITE(iout,1007)label9(1:len_trim(label9))
973 SELECT CASE (
ale%GRID%NWALE)
976 WRITE(iout,1200)
ale%GRID%ALPHA,
ale%GRID%GAMMA,
ale%GRID%VGX,
ale%GRID%VGY,
ale%GRID%VGZ,volmin
979 WRITE(iout,1220)
ale%GRID%ALPHA,volmin
982 WRITE(iout,1250) dt_input,
ale%GRID%ALPHA,
ale%GRID%GAMMA,
ale%GRID%VGX,
ale%GRID%VGY,volmin
987 WRITE(iout,1254)
ale%GRID%ALPHA,
ale%GRID%GAMMA,
ale%GRID%VGX,
ale%GRID%VGY
990 WRITE(iout,1254)
ale%GRID%ALPHA,
ale%GRID%GAMMA,
ale%GRID%VGX,
ale%GRID%VGY
997 IF(int(
ale%GRID%VGX) == 1)label_def=
'YES'
998 IF(int(
ale%GRID%VGY) == 1)label_rot=
'YES'
999 WRITE(iout,1257) label_def,label_rot,
ale%GRID%ALPHA,
ale%GRID%GAMMA
1009 IF(ispmd == 0.AND.mcheck == 0)
THEN
1010 IF(iale+ieuler /= 0 .AND.
ale%GLOBAL%ISFINT /= 3)
THEN
1011 SELECT CASE(
ale%GLOBAL%ISFINT)
1025 IF(iale /= 0.AND.naleof == 1)
THEN
1026 IF(ispmd == 0.AND.mcheck == 0)
THEN
1027 WRITE(iout,*)
'ALE FORMULATION SWITCHED OFF '
1031 IF(ieuler /= 0.AND.neulerof == 1)
THEN
1032 IF(ispmd == 0.AND.mcheck == 0)
THEN
1033 WRITE(iout,*)
'EULER FORMULATION SWITCHED OFF '
1037 IF (glob_therm%ITHERM /= 0.AND.nthermof == 1)
THEN
1038 IF(ispmd == 0.AND.mcheck == 0)
THEN
1039 WRITE(iout,*)
'THERMIC FORMULATION SWITCHED OFF '
1041 glob_therm%ITHERM = 0
1044 IF(idel7 /= 0.AND.mcheck == 0.AND.n2d == 0)
THEN
1047 WRITE(iout,1550) ideli7
1048 CALL ancmsg(msgid=122,anmode=aninfo_blind)
1051 ELSEIF(n2d /= 0.AND.mcheck == 0)
THEN
1052 IF(ispmd == 0)
WRITE(iout,1550) idel7-1
1057 IF(nsliof /= 0)
THEN
1061 READ (iin,
'(10I10)') (nlec(i),i=1,10)
1063 IF(nlec(i) == 0)cycle
1064 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,2000) nlec(i)
1066 IF(ipari(15,k) == nlec(i))
THEN
1067 IF(ipari(7,k)==2)
THEN
1073 is =intbuf_tab(k)%NSV(n)
1075 ms(is)=intbuf_tab(k)%SMAS(n)
1076 in(is)=intbuf_tab(k)%SINER(n)
1077 intbuf_tab(k)%NSV(n)=-is
1083 IF(ipari(7,k)==25)
THEN
1096 IF(nsliofn /= 0)
THEN
1097 READ (iin,
'(2I8)') i,nn
1100 IF(ipari(15,k) == i)kk
1104 CALL ancmsg(msgid=123,anmode
1113 IF (ipari(71,kk)/=0) nty = 19
1116 ELSEIF(nty == 4 .OR. nty == 5)
THEN
1117 ELSEIF(nty == 7 .OR. nty == 10 .OR. nty == 22)
THEN
1120 CALL ancmsg(msgid=124,anmode=aninfo_blind)
1125 READ (iin,
'(10I10)') (nlec(i),i=1,10)
1127 IF(nlec(i) /= 0)
THEN
1129 IF(itab(intbuf_tab(kk)%NSV(k)) == nlec(i))
THEN
1130 intbuf_tab(kk)%STFNS(k)=zero
1140 nelof=nelsof+nelqof+nelcof+neltof+nelpof+nelrof+neltgof+nsphof
1145 IF(ispmd == 0.AND.mcheck == 0)
WRITE (iout,1810)
1149 READ (iin,
'(10I10)') (nlec(ii),ii=1,10)
1153 IF(klg<=0)
GO TO 120
1156 IF(ixs(nixs,l)>=klg.AND.ixs(nixs,l)<=kug)
THEN
1158 IF(ixs(nixs,l) == k)
THEN
1159 ixs(1,l)=-iabs(ixs(1,l))
1171 IF(ixs(1,j) < 0)
THEN
1173 nlec(k) = ixs(nixs,j)
1175 IF(mcheck == 0)
WRITE (iout,
'(5I10)') (nlec(ii),ii=1,k)
1181 IF(mcheck == 0)
WRITE (iout,
'(5I10)') (nlec(ii),ii=1,k)
1186 IF (ispmd /= 0)
CALL spmd_chkw(iwiout,iout)
1189 IF (iwiout > 0)
THEN
1199 IF(ispmd == 0.AND.mcheck == 0)
WRITE (iout,1820)
1200 IF (invers < 18)
THEN
1208 READ (iin,
'(10I10)') (nlec(ii),ii=1,10)
1212 IF(klg<=0)
GO TO 220
1215 IF(ixq(nixq,l)>=klg.AND.ixq(nixq,l)<=kug)
THEN
1217 IF(ixq(nixq,l) == k)
THEN
1218 ixq(1,l)=-iabs(ixq(1,l))
1230 IF(ixq(1,j) < 0)
THEN
1232 nlec(k) = ixq(nixq,j)
1234 IF(mcheck == 0)
WRITE (iout,
'(5I10)') (nlec(ii),ii=1,k)
1240 IF(mcheck == 0)
WRITE (iout,
'(5I10)') (nlec(ii),ii=1,k)
1245 IF (ispmd /= 0)
CALL spmd_chkw(iwiout,iout)
1248 IF (iwiout > 0)
THEN
1258 IF(ispmd == 0.AND.mcheck == 0)
WRITE (iout,1830)
1262 READ (iin,
'(10I10)') (nlec(ii),ii=1,10)
1266 IF(klg<=0)
GO TO 320
1269 IF(ixc(nixc,l)>=klg.AND.ixc(nixc,l)<=kug)
THEN
1271 IF(ixc(nixc,l) == k)
THEN
1272 ixc(1,l)=-iabs(ixc(1,l))
1284 IF(ixc(1,j) < 0)
THEN
1286 nlec(k) = ixc(nixc,j)
1288 IF(mcheck == 0)
WRITE (iout,
'(5I10)') (nlec(ii),ii=1,k)
1294 IF(mcheck == 0)
WRITE (iout,
'(5I10)') (nlec(ii),ii=1,k)
1299 IF (ispmd /= 0)
CALL spmd_chkw(iwiout,iout)
1302 IF (iwiout > 0)
THEN
1312 IF(ispmd == 0.AND.mcheck == 0)
WRITE (iout,1840)
1316 READ (iin,
'(10I10)') (nlec(ii),ii=1,10)
1320 IF(klg<=0)
GO TO 420
1323 IF(ixt(nixt,l)>=klg.AND.ixt(nixt,l)<=kug)
THEN
1325 IF(ixt(nixt,l) == k)
THEN
1326 ixt(1,l)=-iabs(ixt(1,l))
1338 IF(ixt(1,j) < 0)
THEN
1340 nlec(k) = ixt(nixt,j)
1342 IF(mcheck == 0)
WRITE (iout,
'(5I10)') (nlec(ii),ii=1,k)
1348 IF(mcheck == 0)
WRITE (iout,
'(5I10)') (nlec(ii),ii=1,k)
1353 IF (ispmd /= 0)
CALL spmd_chkw(iwiout,iout)
1356 IF (iwiout > 0)
THEN
1366 IF(ispmd == 0.AND.mcheck == 0)
WRITE (iout,1850)
1370 READ (iin,
'(10I10)') (nlec(ii),ii=1,10)
1374 IF(klg<=0)
GO TO 520
1377 IF(ixp(nixp,l)>=klg.AND.ixp(nixp,l)<=kug)
THEN
1379 IF(ixp(nixp,l) == k)
THEN
1380 ixp(1,l)=-iabs(ixp(1,l))
1392 IF(ixp(1,j) < 0)
THEN
1394 nlec(k) = ixp(nixp,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)
1407 IF (ispmd /= 0)
CALL spmd_chkw(iwiout,iout)
1410 IF (iwiout > 0)
THEN
1420 IF(ispmd == 0.AND.mcheck == 0)
WRITE (iout,1860)
1424 READ (iin,
'(10I10)') (nlec(ii),ii=1,10)
1428 IF(klg<=0)
GO TO 620
1431 IF(ixr(nixr,l)>=klg.AND.ixr(nixr,l)<=kug)
THEN
1433 IF(ixr(nixr,l) == k)
THEN
1434 ixr(1,l)=-iabs(ixr(1,l))
1446 IF(ixr(1,j) < 0)
THEN
1448 nlec(k) = ixr(nixr,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)
1461 IF (ispmd /= 0)
CALL spmd_chkw(iwiout,iout)
1464 IF (iwiout > 0)
THEN
1474 IF(ispmd == 0.AND.mcheck == 0)
WRITE (iout,1870)
1478 READ (iin,
'(10I10)') (nlec(ii),ii=1,10)
1482 IF(klg<=0)
GO TO 640
1485 IF(ixtg(nixtg,l)>=klg.AND.ixtg(nixtg,l)<=kug)
THEN
1487 IF(ixtg(nixtg,l) == k)
THEN
1488 ixtg(1,l)=-iabs(ixtg(1,l))
1500 IF(ixtg(1,j) < 0)
THEN
1502 nlec(k) = ixtg(nixtg,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)
1515 IF (ispmd /= 0)
CALL spmd_chkw(iwiout,iout)
1518 IF (iwiout > 0)
THEN
1529 IF(ispmd == 0.AND.mcheck == 0)
WRITE (iout,1880)
1534 READ (iin,
'(10I10)') (nlec(ii),ii=1,10)
1538 IF(klg<=0)
GO TO 732
1541 IF(kxsp(nisp,l)>=klg.AND.kxsp(nisp,l)<=kug)
THEN
1543 ng =mod(abs(kxsp(2,l)),ngroup+1)
1551 nlecsph(k) = kxsp(nisp,l)
1553 IF(mcheck == 0)
WRITE (iout,
'(5I10)') (nlecsph(ii),ii=1,k)
1563 IF(mcheck == 0)
WRITE (iout,
'(5I10)') (nlecsph(ii),ii=1,k)
1568 IF (ispmd /= 0)
CALL spmd_chkw(iwiout,iout)
1571 IF (iwiout > 0)
THEN
1582 IF(ispmd == 0.AND.mcheck == 0)
WRITE (iout,1890)
1585 ALLOCATE(ipartof(npart))
1588 READ (iin,
'(10I10)') (nlec(ii),ii=1,10)
1592 IF(klg<=0)
GO TO 832
1596 IF(ipart(4 + (l - 1) * lipart1) == k)
THEN
1607 IF(ipartof(l)== 1)
THEN
1609 nlec(k) = ipart(4 + (l - 1) * lipart1)
1611 IF(mcheck == 0)
WRITE (iout,
'(5I10)') (nlec(ii),ii=1,k)
1617 IF(mcheck == 0)
WRITE (iout,
'(5I10)') (nlec(ii),ii=1,k)
1622 IF (ispmd /= 0)
CALL spmd_chkw(iwiout,iout)
1625 IF (iwiout > 0)
THEN
1639 offg => elbuf_str(ng)%GBUF%OFF
1649 IF(ity == 1.AND.nelsof /= 0)
THEN
1653 IF(ixs(1,ii) < 0)
THEN
1654 ixs(1,ii)=-ixs(1,ii)
1658 CALL ancmsg(msgid=238,anmode=aninfo_blind,i1=ixs(nixs,ii),c1=
'BRICK',c2=
'BRICK')
1667 ELSEIF(ity == 2.AND.nelqof /= 0)
THEN
1671 IF(ixq(1,ii) < 0)
THEN
1672 ixq(1,ii)=-ixq(1,ii)
1681 ELSEIF(ity == 3.AND.nelcof /= 0)
THEN
1685 IF(ixc(1,ii) < 0)
THEN
1686 ixc(1,ii)=-ixc(1,ii)
1690 CALL ancmsg(msgid=238,anmode=aninfo_blind,i1=ixc(nixc,ii), c1=
'SHELL',c2=
'SHELL')
1699 ELSEIF(ity == 4.AND.neltof /= 0)
THEN
1705 IF(ixt(1,ii) < 0)
THEN
1706 ixt(1,ii)=-ixt(1,ii)
1715 ELSEIF(ity == 5.AND.nelpof /= 0)
THEN
1719 IF(ixp(1,ii) < 0)
THEN
1720 ixp(1,ii)=-ixp(1,ii)
1729 ELSEIF(ity == 6.AND.nelrof /= 0)
THEN
1733 IF(ixr(1,ii) < 0)
THEN
1734 ixr(1,ii)=-ixr(1,ii)
1741 ELSEIF(ity == 7.AND.neltgof /= 0)
THEN
1745 IF(ixtg(1,ii) < 0)
THEN
1746 ixtg(1,ii)=-ixtg(1,ii)
1750 CALL ancmsg(msgid=238,anmode=aninfo_blind,i1=ixtg(nixtg,ii), c1=
'SH_3N',c2=
'SH_3N')
1759 ELSEIF(ity == 51.AND.nsphof /= 0)
THEN
1763 IF(kxsp(2,ii) == 0)
THEN
1773 iparg(8,ng)=max0(iparg(8,ng),igof)
1779 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
1791 offg => elbuf_str(ng)%GBUF%OFF
1804 partid = ipart(k1 + ii)
1805 IF (ipartof(partid)==1)
THEN
1806 IF (mlw/=0) offg(i) = zero
1816 partid = ipart(k2 + ii)
1817 IF (ipartof(partid)==1)
THEN
1828 partid = ipart(k3 + ii)
1829 IF (ipartof(partid)==1)
THEN
1830 IF (mlw/=0) offg(i) = zero
1840 partid = ipart(k4 + ii)
1841 IF (ipartof(partid)==1) offg(i) = zero
1848 partid = ipart(k5 + ii)
1849 IF (ipartof(partid)==1)
THEN
1860 partid = ipart(k6 + ii)
1861 IF (ipartof(partid)==1) offg(i) = zero
1868 partid = ipart(k7 + ii)
1869 IF (ipartof(partid)==1)
THEN
1870 IF (mlw/=0) offg(i) = zero
1880 partid = ipart(k10 + ii)
1881 IF (ipartof(partid)==1)
THEN
1889 iparg(8,ng)=max0(iparg(8,ng),igof)
1891 IF (
ALLOCATED(ipartof))
DEALLOCATE(ipartof)
1896 IF(nrlink > 0 .AND. mcheck == 0)
THEN
1900 READ (iin,
'(I8,1X,3I1,1X,3I1,I10)')n,i1,i2,i3,ir1,ir2,ir3,isk
1901 READ (iin,
'(10I10)') (llink(k2+i-1),i=1,n)
1904 IF(iroddl == 0)icr=0
1905 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,2100) k,i1,i2,i3,ir1,ir2,ir3,isk,n
1906 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,
'(10I10)') (llink(k2+i-1),i=1,n)
1911 IF(isk == iskwn(4,ll+1))
THEN
1916 IF ( isk2 == 0)
THEN
1917 CALL ancmsg(msgid=125,anmode=aninfo)
1923 CALL fr_rlink1(llink(k2),itabm1,fr_rl(1,k),n)
1926 2 nnlink(k1+1),nnlink(k1+2),llink(k2),n ,ic ,
1927 3 icr ,nnlink(k1+3),isk ,skew(1,isk+1),iskwn ,
1928 4 fr_rl(1,k) ,weight )
1932 IF(ispmd == 0)
CALL ancmsg(msgid=126,anmode=aninfo)
1984 IF(mcheck==0)nalelk_starter = slinale/7
1989 DO j=1,nalelk_starter
1990 IF(irun == 1 .AND. mcheck == 0)
1991 .
CALL fr_rlale(linale(k-4),linale(k-3),linale(k+1),itabm1,-1)
1995 IF(nalelk /= 0.AND.mcheck == 0)
THEN
1999 READ (iin,
'(3I10,5X,3I1,I10)')m1,m2,n,i1,i2,i3,im
2004 READ (iin,
'(10I10)')(linale(k+i),i=1,n)
2012 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,2200)m1,m2,i1,i2,i3,im
2018 IF(ispmd == 0.AND.mcheck == 0)
THEN
2019 WRITE(iout,
'(10I10)')(linale(k+i),i=1,n)
2023 CALL fr_rlale(linale(k-4),linale(k-3),linale(k+1),itabm1,n)
2031 READ (iin,
'(I10)', err=998,iostat=ierror)gr_id
2033 0998
IF(ierror/=0)
THEN
2034 WRITE(istdo,*)
' ** ERROR IN ALE LINK: INVALID GRNOD_ID'
2037 linale(k+1)=ngr2usr(gr_id,igrnod,ngrnod)
2039 IF(linale(k+1)==0)
CALL arret(2)
2041 IF(im==0.AND.igrnod(linale(k+1))%SORTED /= 1)
THEN
2043 WRITE(istdo,*)
' ** ERROR IN ALE LINK:'
2044 WRITE(istdo,*)
' UNSORTABLE NODE GROUP REQUIRED WITH OPTION 0 (/GRNOD/NODENS)'
2045 WRITE(iout ,*)
' ** ERROR IN ALE LINK:'
2046 WRITE(iout,*)
' UNSORTABLE NODE GROUP REQUIRED WITH OPTION 0 (/GRNOD/NODENS)'
2057 IF(ispmd == 0.AND.mcheck == 0)
THEN
2058 WRITE(iout,2200)m1,m2,i1,i2,i3,im
2059 WRITE(iout,2202)gr_id
2067 CALL fr_rlale(linale(k-4),linale(k-3),linale(k+1),itabm1,n)
2071 slinale = slinale + llinal
2078 IF(nalelink /= 0.AND.mcheck == 0)
THEN
2079 IF(nalelk==0)k=slinale+6
2081 READ (iin,
'(3I10,5X,3I1,I10)')m1,m2,n,i1,i2,i3,im
2082 IF(m1>0.AND.m2>0)
THEN
2087 READ (iin,
'(10I10)')(linale(k+i
2095 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,2200)m1,m2,i1,i2,i3,im
2101 IF(ispmd == 0.AND.mcheck == 0)
THEN
2102 WRITE(iout,
'(10I10)')(linale(k+i),i=1,n)
2106 CALL fr_rlale(linale(k-4),linale(k-3),linale(k+1),itabm1,n)
2112 READ (iin,
'(I10)', err=999,iostat=ierror)gr_id
2113 0999
IF(ierror/=0)
THEN
2114 WRITE(istdo,*)
' ** ERROR IN ALE LINK: CANNOT READ GRNOD_ID VALUE'
2119 linale(k+1)=ngr2usr(gr_id,igrnod,ngrnod)
2120 IF(linale(k+1)==0)
THEN
2121 WRITE(istdo,*)
' ** ERROR IN ALE LINK: INVALID GRNOD_ID'
2125 IF(im==0.AND.igrnod(linale(k+1))%SORTED /= 1)
THEN
2127 WRITE(istdo,*)
' ** ERROR IN ALE LINK:'
2128 WRITE(istdo,*)
' UNSORTABLE NODE GROUP REQUIRED WITH OPTION 0 (/GRNOD/NODENS)'
2129 WRITE(iout ,*)
' ** ERROR IN ALE LINK:'
2130 WRITE(iout,*)
' UNSORTABLE NODE GROUP REQUIRED WITH OPTION 0 (/GRNOD/NODENS)'
2141 IF(ispmd == 0.AND.mcheck == 0)
THEN
2142 WRITE(iout,2200)m1,m2,i1,i2,i3,im
2143 WRITE(iout,2202)gr_id
2151 CALL fr_rlale(linale(k-4),linale(k-3),linale(k+1),itabm1,n)
2159 ALLOCATE(alelin_on_off(iabs(n)))
2160 READ (iin,
'(10I10)')(alelin_on_off(i),i=1,n)
2165 m1=alelin_on_off(i1)
2166 DO i=1,nalelk_starter
2172 WRITE(istdo,*)
' ** WARNING ALE LINK DOES NOT EXIST :',m1
2173 WRITE(iout,*)
' ** WARNING ALE LINK DOES NOT EXIST :',m1
2179 nalelk_removed = nalelk_removed+1
2180 linale(l+0)=-linale(l+0)
2182 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,2211)m1
2185 nalelk_removed = nalelk_removed+1
2187 WRITE(istdo,*)
' ** WARNING ALE LINK ALREADY ACTIVATED : ',m1
2192 l = l+6+iabs(n) !next uid position in linale()
2195 DEALLOCATE(alelin_on_off)
2202 ALLOCATE(alelin_on_off(iabs(n)))
2203 READ (iin,
'(10I10)')(alelin_on_off(i),i=1,n
2208 m1=alelin_on_off(i1)
2209 DO i=1,nalelk_starter
2215 WRITE(istdo,*)
' ** WARNING ALE LINK DOES NOT EXIST :',m1
2216 WRITE(iout,*)
' ** WARNING ALE LINK DOES NOT EXIST :',m1
2222 nalelk_removed = nalelk_removed+1
2223 linale(l+0)=-linale(l+0)
2225 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,2210)m1
2227 ELSEIF(uid==-m1)
THEN
2228 nalelk_removed = nalelk_removed+1
2230 WRITE(istdo,*)
' ** WARNING ALE LINK ALREADY DEACTIVATED :',m1
2237 DEALLOCATE(alelin_on_off)
2242 slinale = slinale + llinal
2243 nalelk = nalelk+nalelink-nalelk_removed
2246 IF(mcheck==0)nalelk=nalelk+nalelk_starter
2251 IF(nbpartaleon > 0)
ALLOCATE(aleon_partids_tmp(nbpartaleon))
2252 IF(nbpartaleoff > 0)
ALLOCATE(aleoff_partids_tmp(nbpartaleoff))
2255 DO i = 1, nbpartaleon + nbpartaleoff
2256 READ(iin,
'(I10, I10)') partid, ison
2259 aleon_partids_tmp(ion) = partid
2260 ELSE IF(ison == 0)
THEN
2262 aleoff_partids_tmp(ioff) = partid
2266 DO i = 1, nbpartaleon
2267 partid = aleon_partids_tmp(i)
2268 IF (partid /= -1)
THEN
2269 DO j = 1, nbpartaleon
2271 IF (aleon_partids_tmp(j) == partid)
THEN
2272 nbpartaleon = nbpartaleon - 1
2273 aleon_partids_tmp(j) = -1
2278 DO i = 1, nbpartaleoff
2280 IF (partid /= -1)
THEN
2281 DO j = 1, nbpartaleoff
2283 IF (aleoff_partids_tmp(j) == partid)
THEN
2284 nbpartaleoff = nbpartaleoff - 1
2285 aleoff_partids_tmp(j) = -1
2291 DO j = 1, nbpartaleon
2292 IF (aleon_partids_tmp(j) == partid)
THEN
2294 aleon_partids_tmp(j) = -1
2295 nbpartaleon = nbpartaleon - 1
2296 CALL ancmsg(msgid = 272, anmode = aninfo, i1 = partid)
2302 nbaleoff_part = nbpartaleoff
2303 nbaleon_part = nbpartaleon
2304 DO i = 1, nbpartaleon
2305 partid = aleon_partids_tmp(i)
2307 IF (partid /= -1)
THEN
2309 IF (ipart(4 + (j - 1) * lipart1) == partid)
THEN
2311 aleon_partids_tmp(i) = j
2317 aleon_partids_tmp(i) = -1
2318 nbaleon_part = nbaleon_part - 1
2319 CALL ancmsg(msgid = 271, anmode = aninfo, i1 = partid)
2323 DO i = 1, nbpartaleoff
2324 partid = aleoff_partids_tmp(i)
2326 IF (partid /= -1)
THEN
2328 IF (ipart(4 + (j - 1) * lipart1) == partid)
THEN
2330 aleoff_partids_tmp(i) = j
2336 aleoff_partids_tmp(i) = -1
2337 nbaleoff_part = nbaleoff_part - 1
2338 CALL ancmsg(msgid = 271, anmode
2343 IF (nbaleoff_part > 0)
ALLOCATE(aleoff_partids(nbaleoff_part))
2344 IF (nbaleon_part > 0)
ALLOCATE(aleon_partids(nbaleon_part))
2345 DO i = 1, nbpartaleon
2346 partid = aleon_partids_tmp(i)
2348 IF (partid /= -1)
THEN
2350 aleon_partids(ison) = partid
2354 DO i = 1, nbpartaleoff
2355 partid = aleoff_partids_tmp(i)
2356 IF (partid /= -1)
THEN
2358 aleoff_partids(ison) = partid
2362 DO i = 1, nbaleoff_part
2363 WRITE(iout, 4800) aleoff_partids(i)
2368 k1 = 1 + lipart1 * (npart + nthpart) + 2 * 9 * (npart + nthpart)
2382 partid = ipart(k1 + nft)
2383 ELSEIF (ity == 2)
THEN
2385 partid = ipart(k2 + nft)
2388 DO i = 1, nbaleoff_part
2389 IF (aleoff_partids(i) == partid)
THEN
2395 DO i = 1, nbaleon_part
2396 IF (aleon_partids(i) == partid)
THEN
2402 IF (
ALLOCATED(aleon_partids_tmp))
DEALLOCATE(aleon_partids_tmp)
2403 IF (
ALLOCATED(aleoff_partids_tmp))
DEALLOCATE(aleoff_partids_tmp)
2404 IF (
ALLOCATED(aleon_partids))
DEALLOCATE(aleon_partids)
2405 IF (
ALLOCATED(aleoff_partids))
DEALLOCATE(aleoff_partids)
2410 CALL lcbcsf(icode,iskew,nubcsn,itab,itabm1,npby ,iskwn,weight)
2414 IF (ispmd /= 0)
CALL spmd_chkw(iwiout,iout)
2417 IF (iwiout > 0)
THEN
2428 READ(iin,
'(2I8,2F16.0)')noint,nsearch,tstart,tfin
2429 IF(tfin == 0.0)tfin=1.e30
2430 IF(tfin <= tstart)
THEN
2431 CALL ancmsg(msgid=307,anmode=anstop)
2437 IF(noint == ipari(15,j))
THEN
2438 IF(nsearch /= 0) ipari(13,j)=nsearch
2439 intbuf_tab(j)%VARIABLES(3) = tstart
2440 intbuf_tab(j)%VARIABLES(11) = tfin
2445 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,2300)noint,ipari(13,jpri),tstart,tfin
2447 IF(ispmd == 0.AND.mcheck == 0)
WRITE(iout,2301)noint
2454 nv_outp = nv_outp + outp_v(i)
2455 nss_outp = nss_outp + outp_ss(i)
2456 nst_outp = nst_outp + outp_st(i)
2457 ncs_outp = ncs_outp + outp_cs(i)
2458 nct_outp = nct_outp + outp_ct(i)
2459 nts_outp = nts_outp + outp_ts(i)
2460 nps_outp = nps_outp + outp_ps(i)
2461 npt_outp = npt_outp + outp_pt(i)
2462 nrs_outp = nrs_outp + outp_rs(i)
2463 nrt_outp = nrt_outp + outp_rt(i)
2465 IF(outp_v(12) == 1)nv_outp=nv_outp+1
2471 1
CALL rbyonf(iparg,ipari ,ms ,in ,
2472 2 ixs ,ixq ,ixc ,ixt ,ixp ,
2473 3 ixr ,skew ,itab ,itabm1 ,iskwn ,
2474 4 npby ,0 ,nrbyof,wa ,lpby ,
2475 5 rby ,x ,v ,vr ,ixtg ,
2476 6 igrv ,ibgr ,weight,fr_rby2,partsav,
2477 7 ipart,elbuf_str,icfield,lcfield,tagslv_rby)
2480 1
CALL rbyonf(iparg,ipari ,ms ,in ,
2481 2 ixs ,ixq ,ixc ,ixt ,ixp ,
2482 3 ixr ,skew ,itab ,itabm1 ,iskwn ,
2483 4 npby ,1 ,nrbyon,wa ,lpby ,
2484 5 rby ,x ,v ,vr ,ixtg ,
2485 6 igrv ,ibgr ,weight,fr_rby2,partsav,
2486 7 ipart,elbuf_str,icfield,lcfield,tagslv_rby)
2490 IF (nsflsw /= 0.AND.mcheck == 0)
THEN
2491 CALL lecflsw (nsflsw,ntflsw,neflsw,nnflsw,crflsw,x,ixs,iparg,wa
2497 CALL lecfun (npc, pld, nfct, npts, table)
2502 IF (niniv /= 0)
THEN
2503 CALL lecinv (niniv,x,v,vr,itab,iframe,xframe,igrnod,
fxbipm,fxbvit,fxbrpm)
2508 IF(ncuts > 0.AND.mcheck == 0)
CALL leccut(icut,xcut,itabm1)
2518 IF(nnoise > 0)
CALL lecnoise(inoise,itabm1,names_and_titles)
2524 IF( imadcpl > 0.AND.invers>=40.AND.mcheck == 0)
CALL leccpl()
2528 IF(ipread > 0.AND.ispmd == 0.AND.mcheck == 0)
WRITE(iout,4000)
2529 IF(iddw > 0.AND.ispmd == 0.AND.mcheck == 0)
WRITE(iout,4100)
2533 CALL lecdamp(ndampn, dampr, igrnod)
2535 istatcnd_sav= istatcnd
2537 IF(isprb==0.AND.nadmesh/=0)
THEN
2538 IF (ispmd == 0)
THEN
2539 CALL ancmsg(msgid=131,anmode=aninfo)
2546 IF (impl_s == 1.OR.neig > 0)
CALL lecimpl
2547 IF (nfxinp > 0)
CALL lecfxinp(nfxinp)
2548 IF(
ale%SUB%NODSUBDT /= 0)
THEN
2550 CALL ancmsg(msgid=129,anmode=aninfo_blind)
2554 IF (neigoff > 0)
CALL leceig(neigoff, neoff)
2555 IF (nfvmesh > 0)
CALL lecfvbag(nfvmesh, monvol, volmon, x)
2556 IF (nfvmodi > 0)
CALL lecfvbag1(nfvmodi, monvol, volmon)
2563 nc_stat = nc_stat + stat_c(i)
2566 IF(nstatprt /= 0 .OR. nstatall /= 0)
THEN
2567 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
2576 CALL lecstat(ipart,ipart_state,elbuf_str,ipm,iparg,ipart(k1),
2577 . ipart(k3),ipart(k8),mat_param)
2582 IF(dynain_data%NDYNAINPRT /= 0 .OR. dynain_data%NDYNAINALL /= 0)
THEN
2583 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
2592 CALL read_dynain(ipart,dynain_data,ipart(k3),ipart(k8),ixc,ixtg)
2597 CALL prelech3d(numgeo ,npropgi ,npropmi ,nummat ,numply ,
2598 . igeo ,ipm ,h3d_data ,multi_fvm,mds_output_table,
2599 . mds_nmat ,max_depvar,mds_ndepsvar,mat_param,numsphg)
2600 CALL lech3d(output,geo,igeo,ipm,ipart,h3d_data,multi_fvm,ipari,iparg,tag_skins6,
2601 . mds_label,mds_output_table,mds_nmat,max_depvar,mds_ndepsvar,
2602 . elbuf_str,stack,ibcl,iloadp,lloadp,loads,mat_param,pblast,
2603 . igrpart,npc,pld,snpc,stf)
2605 IF(h3d_data%N_OUTP_H3D /= 0 .AND. ispmd == 0)
THEN
2606 WRITE(iout,5000)h3d_data%TH3D,h3d_data%DTH3D
2608 DO i=1,h3d_data%N_OUTP_H3D
2609 IF( h3d_data%OUTPUT_LIST(i)%ETYPE == 1 .OR.
2610 . h3d_data%OUTPUT_LIST(i)%ETYPE == 2 .AND. numelcg+numeltgg > 0 .OR.
2611 . h3d_data%OUTPUT_LIST(i)%ETYPE == 3 .AND. numelsg > 0 .OR.
2612 . h3d_data%OUTPUT_LIST(i)%ETYPE == 4 .AND. numeltrg+numelpg+numelrg > 0 .OR.
2613 . h3d_data%OUTPUT_LIST(i)%ETYPE == 5 .AND. numsphg > 0 .OR.
2614 . h3d_data%OUTPUT_LIST(i)%ETYPE == 6 .AND. numelqg > 0 .OR.
2615 . h3d_data%OUTPUT_LIST(i)%ETYPE == 7 .AND. numsking > 0)
THEN
2617 IF(h3d_data%OUTPUT_LIST(i)%ETYPE == 1)
THEN
2619 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 2)
THEN
2621 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 3)
THEN
2623 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 4)
THEN
2625 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 5)
THEN
2627 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 6)
THEN
2629 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 7)
THEN
2634 IF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 1)
THEN
2636 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 2)
THEN
2638 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 3)
THEN
2640 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 4)
THEN
2644 stext1 = h3d_data%OUTPUT_LIST(i)%S_STRING1
2645 WRITE(iout,*)
' |----'//char1//
' '//char2//
' : '
2647 WRITE(iout,*)
' | '//h3d_data%OUTPUT_LIST(i)%STRING1(1:stext1)
2649 IF (h3d_data%OUTPUT_LIST(i)%IUVAR > 0)
2650 .
WRITE(iout,*)
' | UVAR=', h3d_data%OUTPUT_LIST(i)%IUVAR
2652 IF (h3d_data%OUTPUT_LIST(i)%PLY > 0)
2653 .
WRITE(iout,*)
' | PLY=',h3d_data%OUTPUT_LIST(i)%PLY
2655 IF (h3d_data%OUTPUT_LIST(i)%LAYER > 0)
2656 .
WRITE(iout,*)
' | LAYER=',h3d_data%OUTPUT_LIST(i)%LAYER
2658 IF (h3d_data%OUTPUT_LIST(i)%IPT > 0)
2659 .
WRITE(iout
' | IPT=',h3d_data%OUTPUT_LIST(i)%IPT
2661 IF (h3d_data%OUTPUT_LIST(i)%IR > 0)
2662 .
WRITE(iout,*)
' | IR=',h3d_data%OUTPUT_LIST(i)%IR
2664 IF (h3d_data%OUTPUT_LIST(i)%IR > 0)
2665 .
WRITE(iout,*)
' | IS=',h3d_data%OUTPUT_LIST(i
2667 IF (h3d_data%OUTPUT_LIST(i)%IT > 0)
2668 .
WRITE(iout,*)
' | IT=',h3d_data%OUTPUT_LIST(i)%IT
2679 IF (ispmd == 0.AND.mcheck == 0)
THEN
2680 DO k=1,h3d_data%N_SENS_H3D
2682 IF(h3d_data%LSENS_H3D(k) /= 0)
THEN
2683 DO i=1,sensors%NSENSOR
2684 IF(h3d_data%LSENS_H3D(k) == sensor_tab(i)%SENS_ID)
THEN
2685 h3d_data%LSENS_H3D(k)=i
2692 CALL ancmsg(msgid=283,anmode=aninfo,i1=h3d_data%LSENS_H3D(k))
2701 IF(h3d_data%N_SCAL_SKID > 0.AND.nintskidold==0)
THEN
2702 ninterskid = h3d_data%N_SCAL_SKID
2703 IF(nintstamp/=0)
THEN
2704 ALLOCATE (pskids(ninterskid,numnodg))
2705 pskids(1:ninterskid,1:numnodg) = zero
2707 ALLOCATE (pskids(ninterskid,numnod))
2708 pskids(1:ninterskid,1:numnod) = zero
2710 ELSEIF(h3d_data%N_SCAL_SKID == 0.AND.nintskidold==0)
THEN
2711 ALLOCATE (pskids(0,0))
2716 IF(h3d_data%N_SCAL_CSE_FRIC >0.AND.output%DATA%S_EFRIC == 0)
THEN
2717 ALLOCATE(output%DATA%EFRICG(numnod))
2718 output%DATA%EFRICG(1:numnod) = zero
2719 IF(nintstamp/=0)
THEN
2720 ALLOCATE(output%DATA%EFRICG_STAMP(numnodg))
2721 output%DATA%EFRICG_STAMP(1:numnodg) = zero
2723 ALLOCATE(output%DATA%EFRICG_STAMP(0))
2725 ELSEIF(output%DATA%S_EFRIC==0)
THEN
2726 ALLOCATE(output%DATA%EFRICG(0))
2727 ALLOCATE(output%DATA%EFRICG_STAMP(0))
2730 IF(h3d_data%N_SCAL_CSE_FRICINT > 0.AND.output%DATA%S_EFRICINT==0)
THEN
2732 ninefricg = h3d_data%N_SCAL_CSE_FRICINT
2733 output%DATA%NINEFRIC_STAMP = 0
2734 output%DATA%NINEFRIC = 0
2735 IF(nintstamp/=0)
THEN
2737 ni = h3d_data%N_CSE_FRIC_INTER (n)
2738 IF(ni/= 0.AND.ipari(7,n)==21) output%DATA%NINEFRIC_STAMP = output%DATA%NINEFRIC_STAMP + 1
2741 IF(output%DATA%NINEFRIC_STAMP==ninefricg)
THEN
2742 CALL my_alloc(output%DATA%EFRIC_STAMP,ninefricg,numnodg)
2743 output%DATA%EFRIC_STAMP(1:ninefricg,1:numnodg) = zero
2744 CALL my_alloc(output%DATA%EFRIC,0,0)
2745 ELSEIF(output%DATA%NINEFRIC_STAMP==0)
THEN
2746 output%DATA%NINEFRIC = ninefricg
2747 CALL my_alloc(output%DATA%EFRIC,output%DATA%NINEFRIC,numnod)
2748 output%DATA%EFRIC(1:ninefricg,1:numnod) = zero
2749 CALL my_alloc(output%DATA%EFRIC_STAMP,0,0)
2751 output%DATA%NINEFRIC = ninefricg-output%DATA%NINEFRIC_STAMP
2752 CALL my_alloc(output%DATA%EFRIC_STAMP,output%DATA%NINEFRIC_STAMP,numnodg)
2753 output%DATA%EFRIC_STAMP(1:output%DATA%NINEFRIC_STAMP,1:numnodg) = zero
2754 CALL my_alloc(output%DATA%EFRIC,output%DATA%NINEFRIC,numnod)
2755 output%DATA%EFRIC(1:output%DATA%NINEFRIC,1:numnod) = zero
2759 ni = h3d_data%N_CSE_FRIC_INTER (n)
2760 IF(ni/= 0.AND.ipari(7,n)==21)
THEN
2762 h3d_data%N_CSE_FRIC_INTER (n) = output%DATA%NINEFRIC + ns
2765 h3d_data%N_CSE_FRIC_INTER (n) = nn
2769 ELSEIF(output%DATA%S_EFRICINT==0)
THEN
2770 CALL my_alloc(output%DATA%EFRIC,0,0)
2771 CALL my_alloc(output%DATA%EFRIC_STAMP,0,0)
2781 IF(output%nb_anim_frame >0.AND.output%DTANIM_FCT_ID==0)
THEN
2782 IF(output%TANIM_STOP0 >zero.AND.output%TANIM_STOP0 /= ep20.AND.output%TANIM0 >
THEN
2783 output%DTANIM0 = (output%TANIM_STOP0 - output%TANIM0) / output%nb_anim_frame
2784 ELSEIF(output%TANIM_STOP0 >zero.AND.output%TANIM_STOP0 /= ep20)
THEN
2785 output%DTANIM0 = (output%TANIM_STOP0-tt) / output%nb_anim_frame
2786 ELSEIF(output%TANIM0 >zero)
THEN
2787 output%DTANIM0 = (tstop-output%TANIM0) / output%nb_anim_frame
2789 output%DTANIM0 = (tstop-tt) / output%nb_anim_frame
2791 IF (output%DTANIM0 <= zero)
THEN
2792 CALL ancmsg(msgid=293,anmode=aninfo,c1=
'ANIM',c2=
'ANIM')
2799 IF (output%DTANIM_FCT_ID > 0)
THEN
2802 IF(output%DTANIM_FCT_ID == npc(nfunct+2+jj-1))
THEN
2811 . anmode=aninfo_blind_1,
2813 . i2=output%DTANIM_FCT_ID)
2815 IF (ok >0) output%DTANIM_FCT_ID = dtfct
2817 IF(output%DTANIM_FCT_ID > 0)
THEN
2818 output%DTANIM0 = finter(output%DTANIM_FCT_ID,zero,npc,pld,dydx)
2822 IF (output%DTANIM0 <= zero)
THEN
2823 CALL ancmsg(msgid=293,anmode=aninfo,c1=
'ANIM',c2=
'ANIM')
2828 IF(output%TANIM0 /= zero) output%TANIM = output%TANIM0
2829 IF(output%TANIM_STOP0/=zero .AND. output%TANIM_STOP0/=ep20) output%TANIM_STOP = output%TANIM_STOP0
2830 IF(output%DTANIM0 > zero) output%DTANIM= output%DTANIM0
2831 IF(output%DTANIM<=zero) output%TANIM = ep30
2832 IF (output%TANIM < tt-dt2.AND.output%DTANIM > zero)output%TANIM = output%TANIM
2833 . + int((tt-dt2-output%TANIM)/output%DTANIM)*output%DTANIM
2834 IF (output%TANIM < tt-dt2)output%TANIM = output%TANIM+output%DTANIM
2836 IF(anim_v(14)+h3d_data%N_VECT_DROT > 0 .AND.
2837 . ((isecut == 0 .AND. iisrot == 0 .AND. impose_dr == 0 .AND. idrot == 0) .OR. iroddl == 0))
THEN
2839 WRITE(iout,*)
' ** WARNING ** : /ANIM/DROT OPTION USED',
2840 .
' WHILE ROTATIONAL DOF ARE NOT COMPUTED',
2841 .
' (IDROT = 0 IN /IOFLAG OPTION)'
2842 WRITE(istdo,*)
' ** WARNING ** : /ANIM/DROT OPTION USED',
2843 .
' WHILE ROTATIONAL DOF ARE NOT COMPUTED',
2844 .
' (IDROT = 0 IN /IOFLAG OPTION)'
2846 IF(anim_v(14) == 1)
THEN
2852 IF(ispmd == 0.AND.mcheck == 0)
THEN
2856 WRITE(iout,1120)output%TANIM,output%DTANIM,output%TANIM_STOP,sensors%ANIM_ID,sensors%ANIM_DT,
2857 + anim_e(1),anim_e(2),anim_e(3),anim_e(25),
2858 + anim_e(4),anim_e(5),anim_e(6),
2859 + anim_e(7),anim_e(8),anim_e(9),
2860 + anim_e(10)+anim_e(4960)+anim_e(4961)+anim_e(4962)
2861 WRITE(iout,1129) anim_n(3),anim_n(4),anim_n(6)
2863 + anim_v(1),anim_v(2),anim_v(3),anim_v(4),anim_v(5),
2864 + anim_v(6),anim_v(7),anim_v(9),anim_v(12),
2865 + anim_t(1),anim_t(2),anim_t(3),anim_t(4)
2867 + anim_t(5),anim_t(6),anim_t(7),anim_t(8),
2874 IF (
ALLOCATED(sensors%ANIM_TMP))
DEALLOCATE (sensors%ANIM_TMP)
2875 IF (
ALLOCATED(sensors%STAT_TMP))
DEALLOCATE (sensors%STAT_TMP)
2876 IF (
ALLOCATED(sensors%OUTP_TMP))
DEALLOCATE (sensors%OUTP_TMP)
2877 IF (
ALLOCATED(sensors%STOP_TMP))
DEALLOCATE (sensors%STOP_TMP)
2879 IF(ierr == 0)
RETURN
2882 & 1x,
'ALE EULER SOLVERS'/
2883 & 1x,
'-----------------'/)
2885 & 1x,
' +--STAGGERRED SCHEME'/
2886 & 1x,
' | +--MOMENTUM : ',a16,
' eta=',g14.7/
2887 & 1x,
' | +--MASS : ',a16,
' eta=',g14.7/
2888 & 1x,
' | +--ENERGY : ',a16,
' eta=',g14.7/
2889 & 1x,
' | +--VOLUME FRACTION : ',a16)
2892 & 1x,
' +--COLOCATED SCHEME (LAW151)'/
2893 & 1x,
' | +--MOMENTUM : ',a16/
2894 & 1x,
' | +--MASS : ',a16/
2895 & 1x,
' | +--ENERGY : ',a16/
2896 & 1x,
' | +--VOLUME FRACTION : ',a16 )
2898 & 1x,
' | +--LOW MACH OPTION : ENABLED' )
2900 & 1x,
' | +--MUSCL OPTION : ENABLED beta=',g14.7)
2903 & 1x,
' +--TIME STEP'/
2904 & 1x,
' | +--COURANT NUMBER : ',g14.7/
2905 & 1x,
' | +--MINIMUM TIME STEP : ',g14.7)
2908 & 1x,
' +--GRID SMOOTHING'/
2909 & 1x,
' +--FORMULATION : ',a17)
2911 & 1x,
' +--PARAMETERS :')
2914 .
' MULTIDOMAINS COUPLING . . . . . . . . . . . . . .',g14.7//)
2916 .
' FINAL TIME . . . . . . . . . . . . . . . . . . . ',g14.7//
2917 .
' TIME INTERVAL FOR TIME HISTORY PLOTS . . . . . . ',g14.7//
2918 .
' TIME STEP SCALE FACTOR . . . . . . . . . . . . . ',g14.7//
2919 .
' MINIMUM TIME STEP . . . . . . . . . . . . . . . ',g14.7//)
2921 .
' BRICK TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
2922 .
' BRICK MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
2923 .
' MIN. TIME STEP FLAG (1:STOP RUN, 2:DELETE BRICK) ',i5//
2924 .
' QUAD TIME STEP SCALE FACTOR. . . . . . . . . . . ',g14.7/
2925 .
' QUAD MINIMUM TIME STEP . . . . . . . . . . . . . ',g14.7/
2926 .
' MIN. TIME STEP FLAG (1:STOP RUN, 2:DELETE QUAD). ',i5//
2927 .
' SHELL TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
2928 .
' SHELL MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
2929 .
' MIN. TIME FLAG (1:STOP, 2:DELETE, 3:SMALL STRAIN)',i5//
2930 .
' TRUSS TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
2931 .
' TRUSS MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
2932 .
' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
2933 .
' BEAM TIME STEP SCALE FACTOR. . . . . . . . . . . ',g14.7/
2934 .
' BEAM MINIMUM TIME STEP . . . . . . . . . . . . . ',g14.7/
2935 .
' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
2936 .
' SPRING TIME STEP SCALE FACTOR. . . . . . . . . . ',g14.7/
2937 .
' SPRING MINIMUM TIME STEP . . . . . . . . . . . . ',g14.7/
2938 .
' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
2939 .
' AIRBAG TIME STEP SCALE FACTOR. . . . . . . . . . ',g14.7/
2940 .
' AIRBAG MINIMUM TIME STEP . . . . . . . . . . . . ',g14.7/
2941 .
' MIN. TIME FLAG (1:STOP). . . . . . . . . . . . . ',i5//
2942 .
' CONTACT TIME STEP SCALE FACTOR . . . . . . . . . ',g14.7/
2943 .
' CONTACT MINIMUM TIME STEP. . . . . . . . . . . . ',g14.7/
2944 .
' MIN. TIME FLAG(1:STOP, 2:REMOVE NODE FROM INTERF)',i5/ )
2945 1155
FORMAT(
'/DT/FVMBAG/0 OPTION')
2946 1156
FORMAT(
'/DT/FVMBAG/1 OPTION')
2947 1157
FORMAT(
'FVMBAG TIME STEP SYNTHESIS')
2949 .
' FVMBAG ID. . . . . . . . . . . . . . . . . . . . ',i10)
2951 .
' FVMBAG1 ID. . . . . . . . . . . . . . . . . . . . ',i10)
2953 .
' FVMBAG2 ID. . . . . . . . . . . . . . . . . . . . ',i10)
2955 .
' SMOOTH PARTICLES TIME STEP SCALE FACTOR. . . . . ',g14.7/
2956 .
' SMOOTH PARTICLES MINIMUM TIME STEP . . . . . . . ',g14.7/
2957 .
' MIN. TIME FLAG (1:STOP, 2:DELETE, 5:KILL). . . . ',i5 )
2959 .
' FVMBAG TIME STEP SCALE FACTOR. . . . . . . . . . ',g14.7/
2960 .
' FVMBAG MINIMUM TIME STEP . . . . . . . . . . . . ',g14.7/
2961 .
' FVMBAG TIME STEP FLAG. . . . . . . . . . . . . . ',i5,/)
2963 .
' . . TIME STEP SCALE FACTOR. . . . . . . . . . . . . . ',g14.7/
2964 .
' . . MINIMUM TIME STEP . . . . . . . . . . . . . . . . ',g14.7/
2965 .
' . . TIME STEP FLAG. . . . . . . . . . . . . . . . . . ',i5)
2967 .
' . . CHARACTERISTIC LENGTH OPTION. . . . . . . . . . . ',i5/
2968 .
' . . TIME STEP SMOOTHING FACTOR. . . . . . . . . . . . ',g14.7/
2969 .
' . . PREVIOUS TIME STEP. . . . . . . . . . . . . . . . ',g14.7)
2971 .
' CONTACT NODAL TIME STEP SCALE FACTOR . . . . . . ',g14.7/
2972 .
' CONTACT NODAL MINIMUM TIME STEP. . . . . . . . . ',g14.7/
2973 .
' CONTACT NODAL MIN. TIME FLAG . . . . . . . . . . ',i5/
2974 .
' 3:INCREASE MASS, ORIGINAL FORMULATION . . . . ',/
2975 .
' 8:INCREASE MASS, IMPROVED FORMULATION . . . . ',//)
2977 .
' AMS CONTACT TIME STEP IS ON . . . . . . . . . . . . .',/
2978 .
' . . . . . .(ALL CONTACTS WILL BE CONCERNED).) . . . .',/
2979 .
' AMS CONTACT TIME STEP SCALE FACTOR. . . . . . . . . .',g14.7/
2980 .
' AMS CONTACT MINIMUM TIME STEP . . . . . . . . . . . .',g14.7//)
2982 .
' NODAL TIME STEP SCALE FACTOR, . . . . . . . . . ',g14.7/
2983 .
' NODAL MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
2984 .
' MIN. TIME FLAG . . . . . . . . . . . . . . . . . ',i5/
2985 .
' 1:STOP. . . . . . . . . . . . . . . . . . . . ',/
2986 .
' 3:INCREASE MASS, ORIGINAL FORMULATION . . . . ',/
2987 .
' 8:INCREASE MASS, IMPROVED FORMULATION . . . . ',//)
2989 .
' NODAL TIME STEP SCALE FACTOR, . . . . . . . . . ',g14.7/
2990 .
' NODAL MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/)
2992 .
' NODAL TIME STEP SCALE FACTOR, . . . . . . . . . ',g14.7/
2993 .
' NODAL MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
2994 .
' ADDED MASS RATIO (DM/M0) . . . . . . . . . . . . ',g14.7/
2995 .
' MIN. TIME FLAG . . . . . . . . . . . . . . . . . ',i5/
2996 .
' 1:STOP. . . . . . . . . . . . . . . . . . . . ',/
2997 .
' 3:INCREASE MASS, ORIGINAL FORMULATION . . . . ',/
2998 .
' 8:INCREASE MASS, IMPROVED FORMULATION . . . . ',//)
3000 .
' ADVANCED MASS SCALING IS ON . . . . . . . . . . .',/
3001 .
' AMS NODAL TIME STEP SCALE FACTOR. . . . . . . . .',g14.7/
3002 .
' AMS NODAL MINIMUM TIME STEP . . . . . . . . . . .',g14.7/
3003 .
' AMS TOLERANCE ON CONVERGENCE. . . . . . . . . . .',g14.7/
3004 .
' AMS MAXIMUM NUMBER OF ITERATIONS FOR CONVERGENCE.',i10/
3005 .
' OUTPUT FREQUENCY OF INFORMATION / CONVERGENCE . .',i10/
3006 .
' PART GROUP ID (=0 ALL PARTS) . . . . . . . . . . ',i10//)
3008 .
' ADVANCED MASS SCALING IS ON . . . . . . . . . . .',/
3009 .
' AMS TIME STEP SCALE FACTOR. . . . . . . . . . . .',g14.7/
3010 .
' AMS MINIMUM TIME STEP . . . . . . . . . . . . . .',g14.7/
3011 .
' AMS TOLERANCE ON CONVERGENCE. . . . . . . . . . .',g14.7/
3012 .
' AMS MAXIMUM NUMBER OF ITERATIONS FOR CONVERGENCE.',i10/
3013 .
' NUMBER OF PRECONDITIONING VECTORS FOR PCG . . . .',i10/
3014 .
' OUTPUT FREQUENCY OF INFORMATION / CONVERGENCE . .',i10/
3015 .
' PART GROUP ID (=0 ALL PARTS) . . . . . . . . . . ',i10//)
3017 .
' ADVANCED MASS SCALING IS ON . . . . . . . . . . .',/
3018 .
' AMS TIME STEP SCALE FACTOR. . . . . . . . . . . .',g14.7/
3019 .
' AMS MINIMUM TIME STEP . . . . . . . . . . . . . .',g14.7/
3020 .
' AMS TOLERANCE ON CONVERGENCE. . . . . . . . . . .',g14.7/
3021 .
' AMS MAXIMUM NUMBER OF ITERATIONS FOR CONVERGENCE.',i10/
3022 .
' NUMBER OF PRECONDITIONING VECTORS FOR PCG . . . .',i10/
3023 .
' OUTPUT FREQUENCY OF INFORMATION / CONVERGENCE . .',i10/
3024 .
' AUTO ELEMENT SELECTION - TIME STEP CRITERIA . . .',g14.7/
3025 .
' PART GROUP ID (=0 ALL PARTS) . . . . . . . . . . ',i10//)
3027 .
' PRINTOUT CYCLE FREQUENCY . . . . . . . . . . . . ',i5 //
3028 .
' RESTART CYCLE FREQUENCY. . . . . . . . . . . . . ',i10 //
3029 .
' MAXIMUM RESTART WRITE BEFORE OVERWRITE . . . . . ',i5 //
3030 .
' INVERS: INPUT DECK VERSION . . . . . . . . . . . ',i5/
3031 .
' ITTYP : FLAG FOR TYPE OF T-FILE. . . . . . . . . ' ,i5/)
3033 .
' TIME FOR FIRST ANIMATION-FILE PLOT . . . . . . . ',g14.7/
3034 .
' TIME INTERVAL FOR ANIMATION-FILE PLOTS . . . . . ',g14.7/
3035 .
' TIME TO STOP ANIMATION-FILE PLOTS. . . . . . . . ',g14.7/
3036 .
' SENSOR FOR ANIMATION-FILE PLOTS. . . . . . . . . ',i10/
3037 .
' TIME INTERVAL FOR SENSOR ANIMATION-FILE PLOTS. . ',g14.7//
3038 .
' VARIABLE SAVED ON ANIMATION FILES (1: YES) :',/
3039 .
' PLASTIC STRAIN. . . . . . ',i5/
3040 .
' DENSITY (SOLID ONLY). ',i5/
3041 .
' SPECIFIC ENERGY . . . . . ',i5/
3042 .
' HOURGLASS ENERGY. . . . . ',i5/
3043 .
' TEMPERATURE (SOLID ONLY). ',i5/
3044 .
' THICKNESS (SHELL ONLY). ',i5/
3045 .
' PRESSURE (SOLID ONLY). ',i5/
3046 .
' VON MISES . . . . . . . . ',i5/
3047 .
' TURBULENT ENERGY (FLUID). ',i5/
3048 .
' TURBULENT VISCOSITY(FLUID)',i5/
3049 .
' VORTICITY (FLUID) . . . . ',i5)
3051 .
' NODAL VALUES SAVED ON ANIMATION FILES (1: YES) :',/
3052 .
' PRESSURE. . . . . . . . . ',i5/
3053 .
' DENSITY . . . . . . . . . ',i5/
3054 .
' TEMPERATURE . . . . . . . ',i5)
3056 .
' VECTOR SAVED ON ANIMATION FILES (1: YES) :',/
3057 .
' VELOCITY VECTOR . . . . . ',i5/
3058 .
' DISPLACEMENT VECTOR . . . ',i5/
3059 .
' ACCELERATION VECTOR . . . ',i5/
3060 .
' CONTACT FORCES. . . . . . ',i5/
3061 .
' INTERNAL FORCES . . . . . ',i5/
3062 .
' EXTERNAL FORCES . . . . . ',i5/
3063 .
' SECTION RBY RWALL FORCES. ',i5/
3064 .
' ROTATIONAL VELOCITY VECTOR',i5/
3065 .
' CONTACT PRESSURE (VECTORS)',i5/
3066 .
' SHELL TENSOR SAVED ON ANIMATION FILES (1: YES) :',/
3067 .
' MEMBRANE STRESS . . . . . ',i5/
3068 .
' BENDING STRESS(MOMENT/T^2)',i5/
3069 .
' UPPER LAYER STRESS. . . . ',i5/
3070 .
' LOWER LAYER STRESS. . . . ',i5)
3072 .
' MEMBRANE STRAIN . . . . . ',i5/
3073 .
' CURVATURE . . . . . . . . ',i5/
3074 .
' UPPER LAYER STRAIN. . . . ',i5/
3075 .
' LOWER LAYER STRAIN. . . . ',i5/
3076 .
' NODAL MASS SAVED ON ANIMATION FILES (1: YES) :',i5/
3077 .
' KEEP DELETED ELEMENT (1: YES) :',i5//)
3079 .
' INITIAL TIME STEP. . . . . . . . . . . . . . . . ',g14.7/
3080 .
' MAXIMUM TIME STEP. . . . . . . . . . . . . . . . ',g14.7)
3082 .
' IMPLICIT : CONJUGATED GRADIENT ' /
3083 .
' GLOBAL CONVERGENCE PRECISION . . . . . . . . . . ',g14.7/
3084 .
' INCREMENTAL CONVERGENCE PRECISION. . . . . . . . ',g14.7/
3085 .
' MAXIMUM NUMBER OF ITERATIONS . . . . . . . . . . ',i5)
3087 .
' DYNAMIC RELAXATION ' /
3088 .
' NODE GROUP ID (=0 ALL NODES) . . . . . . . . . . ',i10/
3089 .
' BETA . . . . . . . . . . . . . . . . . . . . . . ',g14.7/
3090 .
' PERIOD . . . . . . . . . . . . . . . . . . . . . ',g14.7)
3092 .
' KINEMATIC RELAXATION ' /
3093 .
' NODE GROUP ID (=0 ALL NODES) . . . . . . . . . . ',i10)
3095 .
' PARALLEL ARITHMETIC OFF')
3097 .
' PARALLEL ARITHMETIC ON')
3099 .
' PARALLEL ARITHMETIC FLAG . . . . . . . . . . . . ',i5)
3101 .
' QUASI-COMPRESSIBLE FORMULATION ON (/INCMP)')
3103 .
' MOMENTUM : MIXED INTEGRATION')
3105 .
' MOMENTUM : VOLUME INTEGRATION')
3107 . 28x,
' ALPHA : DONEA COEFFICIENT. . . . . . . . . . . ',g14.7/
3108 . 28x,
' GAMMA : GRID VELOCITY LIMITATION FACTOR. . . . ',g14.7/
3109 . 28x,
' FscaleX : X-GRID VELOCITY SCALE FACTOR . . . . . ',g14.7/
3110 . 28x,
' FscaleY : Y-GRID VELOCITY SCALE FACTOR . . . . . ',g14.7/
3111 . 28x,
' FscaleZ : Z-GRID VELOCITY SCALE FACTOR . . . . . ',g14.7/
3112 . 28x,
' VOLMIN : MINIMUM VOLUME FOR ELEMENT DELETION. . ',g14.7//)
3114 . 28x,
' UMAX : MAXIMUM ABSOLUTE GRID VELOCITY . . . . . ',g14.7/
3115 . 28x,
' VMIN : MINIMUM VOLUME FOR ELEMENT DELETION. . . ',g14.7//)
3117 . 28x,
' DT0 : TYPICAL TIME STEP. . . . . . . . . . . . ',g14.7/
3118 . 28x,
' DT0* : EFFECTIVE TIME STEP. . . . . . . . . . . ',g14.7/
3119 . 28x,
' GAMMA : NON LINEARITY FACTOR . . . . . . . . . . ',g14.7/
3120 . 28x,
' ETA : DAMPING COEFFICIENT . . . . . . . . . . ',g14.7/
3121 . 28x,
' NU : SHEAR FACTOR . . . . . . . . . . . . . . ',g14.7/
3122 . 28x,
' VOLMIN: MINIMUM VOLUME FOR ELEMENT DELETION. . . ',g14.7//)
3124 . 28x,
' ALPHA : STABILITY FACTOR . . . . . . . . . . . . ',g14.7/
3125 . 28x,
' GAMMA : NON LINEARITY FACTOR . . . . . . . . . . ',g14.7/
3126 . 28x,
' BETA : DAMPING COEFFICIENT. . . . . . . . . . . ',g14.7/
3127 . 28x,
' LC : CHARACTERISTIC LENGTH. . . . . . . . . . ',g14.7//)
3129 . 28x,
' ENABLED DEFORMATION . . . . . . . . . . . . . . ',a3/
3130 . 28x,
' ENABLED ROTATION . . . . . . . . . . . . . . . ',a3/
3131 . 28x,
' SCALE FACTOR FOR DEFORMATION . . . . . . . . . . ',g14.7/
3132 . 28x,
' SCALE FACTOR FOR ROTATION . . . . . . . . . . . ',g14.7//)
3134 .
' NUMBER OF INTERFACES TO BE ELIMINATED. . . . . . ',i8//
3135 .
' NUMBER OF PARTS TO BE ELIMINATED . . . . . . . . ',i8//
3136 .
' NUMBER OF SOLID ELEMENT BLOCKS TO BE ELIMINATED ',i8//
3137 .
' NUMBER OF QUAD ELEMENT BLOCKS TO BE ELIMINATED ',i8//
3138 .
' NUMBER OF SHELL ELEMENT BLOCKS TO BE ELIMINATED ',i8//
3139 .
' NUMBER OF TRUSS ELEMENT BLOCKS TO BE ELIMINATED ',i8//
3140 .
' NUMBER OF BEAM ELEMENT BLOCKS TO BE ELIMINATED ',i8//
3141 .
' NUMBER OF SPRING ELEMENT BLOCKS TO BE ELIMINATED ',i8//
3142 .
' NUMBER OF SH_3N ELEMENT BLOCKS TO BE ELIMINATED ',i8//
3143 .
' NUMBER OF SPH PARTICLES BLOCKS TO BE ELIMINATED ',i8/)
3145 .
' NUMBER OF RIGID LINKS. . . . . . . . . . . . . . ',i8/)
3147 .
' NUMBER OF ALE LINKS. . . . . . . . . . . . . . . ',i8/)
3149 .
' NUMBER OF NEW BOUNDARY CONDITIONS. . . . . . . . ',i8/)
3151 .
' REMOVE INTER.7 SEGMENT AFTER SHELL FAILURE(1 YES)',i5/)
3152 1810
FORMAT(///
' LIST OF ELIMINATED SOLID ELEMENTS ')
3153 1820
FORMAT(///
' LIST OF ELIMINATED QUAD ELEMENTS ')
3154 1830
FORMAT(///
' LIST OF ELIMINATED SHELL ELEMENTS ')
3155 1840
FORMAT(///
' LIST OF ELIMINATED TRUSS ELEMENTS ')
3156 1850
FORMAT(///
' LIST OF ELIMINATED BEAM ELEMENTS ')
3157 1860
FORMAT(///
' LIST OF ELIMINATED SPRING ELEMENTS ')
3158 1870
FORMAT(///
' LIST OF ELIMINATED SH_3N ELEMENTS ')
3159 1880
FORMAT(///
' LIST OF ELIMINATED SPH PARTICLES ')
3160 1890
FORMAT(///
' LIST OF ELIMINATED PARTS ')
3161 2000
FORMAT(/
' INTERFACE NUMBER',i10,
' IS ELIMINATED')
3162 2100
FORMAT(/
' RIGID LINK:',i5,
3163 .
' TRANSLATION X,Y,Z',3(1x,i1),
3164 .
' ROTATION X,Y,Z',3(1x,i1),
3166 .
' ---------- ',i10,
' NODES :')
3167 2200
FORMAT(/
' ALE LINK: ',/,
3169 .
' MAIN NODES : ',2i8,/,
3170 .
' (X,Y,Z) : (',i1,
',',i1,
',',i1,
')',/,
3172 2201
FORMAT(
' NODES :')
3173 2202
FORMAT(
' NODE GROUP : ',i2)
3174 2210
FORMAT(
' DEACTIVATING ALE LINK ID:',i5)
3175 2211
FORMAT(
' ACTIVATING ALE LINK ID:',i5)
3176 2300
FORMAT(/
' INTERFACE CHANGES'/
3177 .
' INTERFACE NB . . . . . . . . . . . . . . . . . . ',i10/
3178 .
' SEARCH OF CLOSEST NODES EACH NSEARCH TIME STEPS. ',i5/
3179 .
' START TIME . . . . . . . . . . . . . . . . . . . ',g14.7/
3180 .
' STOP TIME . . . . . . . . . . . . . . . . . . . ',g14.7)
3182 2301
FORMAT(/
' ERROR IN INTERFACE CHANGES'/
3183 .
' INTERFACE NB IS NOT EXISTING . . . . . . . . . . ',i10)
3186 .
' SPMD PARALLEL RESTART READING (PREAD) ACTIVATED')
3188 .
' SPMD ELEMENT WEIGHT ESTIMATION (DDW) ACTIVATED')
3191 & 1x,
'EXTERNAL LIBRARY FOR USERS CODE INTERFACE ')
3193 & 1x,
'LIBRARY NAME . . . . . . . . . . . . . . . . . . . . ',a/
3194 & 1x,
'RADIOSS USERS CODE INTERFACE VERSION . . . . . . . .',i10//)
3196 .
' BRICK TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
3197 .
' BRICK MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
3198 .
' MIN. TIME STEP FLAG (1:STOP RUN, 2:DELETE 3:CST )',i5//
3199 .
' BRICK_CST MINIMUM ASPECT RATIO (Tet collapse). . ',g14.7/
3200 .
' BRICK_CST MINIMUM VOLUME CHANGE . . . . . . . . ',g14.7//
3201 .
' QUAD TIME STEP SCALE FACTOR. . . . . . . . . . . ',g14.7/
3202 .
' QUAD MINIMUM TIME STEP . . . . . . . . . . . . . ',g14.7/
3203 .
' MIN. TIME STEP FLAG (1:STOP RUN, 2:DELETE QUAD). ',i5//
3204 .
' SHELL TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
3205 .
' SHELL MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
3206 .
' MIN. TIME FLAG (1:STOP, 2:DELETE, 3:SMALL STRAIN)',i5//
3207 .
' TRUSS TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
3208 .
' TRUSS MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
3209 .
' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
3210 .
' BEAM TIME STEP SCALE FACTOR. . . . . . . . . . . ',g14.7/
3211 .
' BEAM MINIMUM TIME STEP . . . . . . . . . . . . . ',g14.7/
3212 .
' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
3213 .
' SPRING TIME STEP SCALE FACTOR. . . . . . . . . . ',g14.7/
3214 .
' SPRING MINIMUM TIME STEP . . . . . . . . . . . . ',g14.7/
3215 .
' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . '
3216 .
' AIRBAG TIME STEP SCALE FACTOR. . . . . . . . . . ',g14.
3217 .
' AIRBAG MINIMUM TIME STEP . . . . . . . . . . . . ',g14.7/
3218 .
' MIN. TIME FLAG (1:STOP). . . . . . . . . . . . . ',i5//
3219 .
' INTERFACE TYPE 7 TIME STEP SCALE FACTOR. . . . . ',g14.7/
3220 .
' INTERFACE TYPE 7 MINIMUM TIME STEP . . . . . . . ',g14.7/
3221 .
' MIN. TIME FLAG(1:STOP, 2:REMOVE NODE FROM INTERF)',i5
3223 .
' ACCURATE TIME STEP FOR SHELLS IS USED. . . . . . ',/)
3225 .
' ACCURATE TIME STEP FOR 4-NODE & 8-NODE SOLID IS USED',/)
3227 .
' ACCURATE TIME STEP FOR 10-NODE TETRAHEDRA IS USED ',/)
3229 .
' PART DEACTIVATED FOR ALE / EULER COMPUTATION',2x,i10)
3230 5000
FORMAT(/
' H3D FILES : '/
3231 .
' TIME FOR FIRST H3D-FILE PLOT . . . . . . . . . . '
3232 .
' TIME INTERVAL FOR H3D-FILE PLOTS . . . . . . . . ',g14.7/
3233 .
' VARIABLE SAVED ON H3D FILES : ')
3235 .
' KINEMATIC RELAXATION ' /
3236 .
' NODE GROUP ID (=0 ALL NODES) . . . . . . . . . . ',i10/
3237 .
' START TIME. . . . . . . . . . . . . . . . . . . ',g14.7/
3238 .
' STOP TIME. . . . . . . . . . . . . . . . . . . ',g14.7)
3240 .
' ADAPTIVE DYNAMIC RELAXATION ' ,/
3241 .
' NODE GROUP ID (=0 ALL NODES) . . . . . . . . . . ',i10/)
3243 .
' ADAPTIVE DYNAMIC RELAXATION ' /
3244 .
' NODE GROUP ID (=0 ALL NODES) . . . . . . . . . . ',i10/
3245 .
' START TIME. . . . . . . . . . . . . . . . . . . ',g14.7/
3246 .
' STOP TIME. . . . . . . . . . . . . . . . . . . ',g14.7)
3248 .
' BRICK_DEL MINIMUM COLLAPSE RATIO. . . . . . . . . ',g14.7/
3249 .
' BRICK_DEL MINIMUM VOLUME CHANGE . . . . . . . . . ',g14.7/
3250 .
' BRICK_DEL MAXIMUM ASPECT RATIO . . . . . . . . . ',g14.7/
3251 .
' BRICK_DEL MAXIMUM VOLUME CHANGE . . . . . . . . . ',g14.7//)