48 . NUVAR ,IFUNC ,MAXFUNC ,NFUNC , PARMAT ,
49 . UNITAB ,MAT_UID ,TITR ,MTAG , LSUBMODEL,
50 . PM ,MAT_PARAM ,MAT_IID ,IPM , NVARTMP ,
83 USE multimat_param_mod ,
ONLY : m51_n0phas, m51_nvphas
84 USE mat51_associate_eos_mod ,
ONLY : mat51_associate_eos
88#include "implicit_f.inc"
99 TYPE (UNIT_TYPE_),
INTENT(IN) :: UNITAB
100 my_real,
INTENT(INOUT) :: PM(NPROPM),PARMAT(100),UPARAM(MAXUPARAM)
101 INTEGER,
INTENT(INOUT) :: IPM(NPROPMI)
102 INTEGER,
INTENT(INOUT) :: ISRATE,IFUNC(MAXFUNC),NFUNC,MAXFUNC,MAXUPARAM,NUPARAM, NUVAR,IMATVIS
104 INTEGER,
INTENT(IN) :: MAT_UID
105 INTEGER,
INTENT(IN) :: MAT_IID
106 INTEGER,
INTENT(IN) :: NUMMAT
107 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
108 TYPE(),
INTENT(IN) :: LSUBMODEL(NSUBMOD)
109 TYPE(matparam_struct_),
TARGET ,
INTENT(INOUT),
DIMENSION(NUMMAT) :: MAT_PARAM
110 INTEGER,
INTENT(INOUT) :: NVARTMP
115 my_real vis,visv,pext,pmin
116 INTEGER MIP,NBMAT,IFLAG_BAK,IDX
118 my_real :: RHO0, RHOR, DPDMU(4)
119 my_real :: av(4), rho0_(4),c0(4),c1(4), e0(4),pmin_(4),t0(4),c2(4),c3(4),c4(4),c5(4), gg(4)
120 my_real :: b1,b2,r1,r2,w,vdet,pcj,vcj, p0_glob
123 my_real :: y(4),bb(4),n(4),cc(4),epdr(4),cm(4),tmelt(4),thetl(4),plamx(4),sigmx(4),sph(4), xka(4),xkb(4)
125 my_real :: fac_unit_time, fac_unit_sph
127 my_real :: nu(4),a0(4),a1(4),a2(4),amx(4),bunl(4),mumx(4),pstar(4),det,delta
129 my_real :: p0(4),ssp(4),lc(4),tcarp,tcar,abcs
131 INTEGER :: IOPT,IAV(4),IRHO(4),IE(4)
132 INTEGER :: I,IFLG,IERROR
134 INTEGER :: IEXP, N_LC, IPLA_, IPLA(4), IBFRAC
135 INTEGER :: IVEL, IMID
139 my_real :: einf(4),pfar,pini(4)
140 my_real ::
ie_bound, ratio, sumvf,vel
142 CHARACTER*128 :: chain,chain1
143 CHARACTER*32 :: CAV(4),(34),CE0(4),CPM(4),CC0(4),CSSP(4)
144 CHARACTER*32 :: CPEXT,CTCARP,CTCAR
146 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED, IFLG6_SUBMAT_DEFINED(4)
148 type(matparam_struct_) ,
pointer :: matparam
152 is_encrypted = .false.
153 is_available = .false.
156 matparam => mat_param(mat_iid)
171 uparam(1:nuparam) = zero
175 iflg6_submat_defined(1:4)=.true.
180 nuvar = (m51_n0phas + 4*m51_nvphas)
256 CALL hm_get_floatv(
'MAT_RHO' ,rho0, is_available, lsubmodel, unitab)
257 CALL hm_get_floatv(
'Refer_Rho' ,rhor, is_available, lsubmodel, unitab)
261 CALL hm_get_intv (
'MAT_Iflag' ,iflg ,is_available, lsubmodel)
263 IF(invers_src >= 2023 .AND. iflg == 0)
THEN
268 CALL hm_get_intv (
'Mach1', ipla(1), is_available, lsubmodel)
269 CALL hm_get_intv (
'Mach2', ipla(2), is_available, lsubmodel)
270 CALL hm_get_intv (
'Mach3', ipla(3), is_available, lsubmodel)
276 IF(ipla(i) < 0 .OR. ipla(i) > 2)ipla(i)=0
278 CALL hm_get_intv(
'NIP',nbmat,is_available,lsubmodel)
282 matparam%multimat%old_data_format = 1
290 CALL hm_get_floatv(
'PEXT' , pext , is_available, lsubmodel, unitab)
291 CALL hm_get_floatv(
'MAT_NU' , vis , is_available, lsubmodel, unitab)
292 CALL hm_get_floatv(
'MAT_Lamda', visv , is_available, lsubmodel, unitab)
307 IF(gg(1)+gg(2)+gg(3)==zero)
THEN
311 IF(gg(1)>zero)ipla(1)=1
312 IF(gg(2)>zero)ipla(2)=1
313 IF(gg(3)>zero)ipla(3)=1
321 IF(invers_src>=2023)
THEN
322 chain1=
'INPUT TYPE IFORM=1 IS OBSOLETE SINCE 2023 VERSION : IFORM=12 MUST BE USED'
323 CALL ancmsg(msgid=75, msgtype=msgerror
327 CALL hm_get_floatv(
'PEXT' , pext , is_available, lsubmodel, unitab)
328 CALL hm_get_floatv(
'MAT_NU' , vis , is_available, lsubmodel, unitab)
329 CALL hm_get_floatv(
'MAT_Lamda', visv , is_available, lsubmodel, unitab)
358 IF(gg(1)+gg(2)+gg(3)==zero)
THEN
362 IF(gg(1)>zero)ipla(1)=1
363 IF(gg(2)>zero)ipla(2)=1
364 IF(gg(3)>zero)ipla(3)=1
370 ale%GLOBAL%IS_BOUNDARY_MATERIAL
373 CALL hm_get_floatv(
'VEL_in' ,vel ,is_available, lsubmodel, unitab)
387 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_p_iflg2_phas
' ,PMIN_(I),I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
388 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c0_iflg2_phas
' ,C0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
390 CALL HM_GET_FLOAT_ARRAY_INDEX_DIM('mat_p_iflg2_phas
' ,FAC_UNIT_SPH ,1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
391 CALL HM_GET_FLOATV_DIM('scale
' ,FAC_UNIT_TIME ,IS_AVAILABLE, LSUBMODEL, UNITAB)
392 !============================!
394 !============================!
396 !OBSOLETE use IFLG=6 instead
397 ALE%GLOBAL%IS_BOUNDARY_MATERIAL=.TRUE.
398 IF(INVERS_SRC>=2023)THEN
399 chain1='input
TYPE iform=3 is obsolete since
'
400 CALL ANCMSG(MSGID=75, MSGTYPE=MSGERROR, ANMODE=ANINFO, I1=MAT_UID,C1=TITR,C2=chain1)
404 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_alpha_iflg3_phas
' ,AV(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
405 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_rho_iflg3_phas
' ,RHO0_(I),I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
406 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_e_iflg3_phas
' ,E0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
407 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_p_iflg3_phas
' ,PMIN_(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
408 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c0_iflg3_phas
' ,C0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
410 CALL HM_GET_FLOAT_ARRAY_INDEX_DIM('mat_p_iflg3_phas
' ,FAC_UNIT_SPH ,1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
411 !============================!
413 !============================!
415 ALE%GLOBAL%IS_BOUNDARY_MATERIAL = .TRUE.
416 CALL HM_GET_FLOATV('scale
' ,ABCS ,IS_AVAILABLE, LSUBMODEL, UNITAB)
417 CALL HM_GET_FLOATV('pext
' ,PEXT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
419 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_alpha_iflg2_phas
' ,AV(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
420 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_rho_iflg2_phas
' ,RHO0_(I),I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
421 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_e_iflg2_phas
' ,E0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
422 CALL HM_GET_INT_ARRAY_INDEX ('abg_n1
' ,IAV(I) ,I ,IS_AVAILABLE, LSUBMODEL)
423 CALL HM_GET_INT_ARRAY_INDEX ('abg_n2
' ,IRHO(I) ,I ,IS_AVAILABLE, LSUBMODEL)
424 CALL HM_GET_INT_ARRAY_INDEX ('abg_n3
' ,IE(I) ,I ,IS_AVAILABLE, LSUBMODEL)
425 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c0_iflg2_phas
' ,C0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
426 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c1_iflg2_phas
' ,C1(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
427 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c4_iflg2_phas
' ,C4(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
428 C5(I)=C4(I) ! no need to enter C5 (=C4) since 14.0
430 CALL HM_GET_FLOAT_ARRAY_INDEX_DIM('mat_c0_iflg2_phas
' ,FAC_UNIT_SPH ,1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
431 CALL HM_GET_FLOATV_DIM('scale
' ,FAC_UNIT_TIME ,IS_AVAILABLE, LSUBMODEL, UNITAB)
432 !============================!
434 !============================!
436 ALE%GLOBAL%IS_BOUNDARY_MATERIAL = .TRUE.
437 CALL HM_GET_FLOATV('scale
' ,ABCS ,IS_AVAILABLE, LSUBMODEL, UNITAB)
438 CALL HM_GET_FLOATV('pext
' ,PEXT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
440 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_alpha_iflg2_phas
' ,AV(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
441 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_rho_iflg2_phas
' ,RHO0_(I),I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
442 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_e_iflg2_phas
' ,E0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
443 CALL HM_GET_INT_ARRAY_INDEX ('abg_n1
' ,IAV(I) ,I ,IS_AVAILABLE, LSUBMODEL)
444 CALL HM_GET_INT_ARRAY_INDEX ('abg_n2
' ,IRHO(I) ,I ,IS_AVAILABLE, LSUBMODEL)
445 CALL HM_GET_INT_ARRAY_INDEX ('abg_n3
' ,IE(I) ,I ,IS_AVAILABLE, LSUBMODEL)
446 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c0_iflg2_phas
' ,C0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
447 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c1_iflg2_phas
' ,C1(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
448 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_p_iflg2_phas
' ,PMIN_(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
450 CALL HM_GET_FLOAT_ARRAY_INDEX_DIM('mat_p_iflg2_phas
' ,FAC_UNIT_SPH ,1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
451 CALL HM_GET_FLOATV_DIM('scale
' ,FAC_UNIT_TIME ,IS_AVAILABLE, LSUBMODEL, UNITAB)
452 !============================!
454 !============================!
456 ALE%GLOBAL%IS_BOUNDARY_MATERIAL = .TRUE.
459 CALL HM_GET_FLOATV('pext
' ,PEXT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
460 CALL HM_GET_FLOATV('mat_tcp
' ,TCARP ,IS_AVAILABLE, LSUBMODEL, UNITAB)
461 CALL HM_GET_FLOATV('mat_tcalpha
' ,TCAR ,IS_AVAILABLE, LSUBMODEL, UNITAB)
463 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_alpha_iflg0_phas
' ,AV(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
464 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_rho_iflg0_phas
' ,RHO0_(I),I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
465 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_e_iflg0_phas
' ,E0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
466 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_p_iflg0_phas
' ,PMIN_(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
467 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_p0_iflg0_phas
' ,C0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
468 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_ssp0_iflg0_phas
' ,SSP(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
469.AND..AND..AND..AND..AND.
IF(AV(I)==ZERO RHO0_(I)==ZERO E0(I)==ZERO PMIN_(I)==ZERO C0(I)==ZERO SSP(I)==ZERO )THEN
470 IFLG6_SUBMAT_DEFINED(I)=.FALSE.
473 CALL HM_GET_FLOAT_ARRAY_INDEX_DIM('mat_p0_iflg0_phas
' ,FAC_UNIT_SPH ,1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
474 IF(TCAR == ZERO)TCAR=INFINITY
475 CPEXT (1:32) = ' auto
' ;
476 IF (PEXT /= ZERO) WRITE(CPEXT ,FMT='(e12.4)
')PEXT
477 CTCARP(1:32) = ' auto
' ;
478 IF (TCARP /= ZERO) WRITE(CTCARP ,FMT='(e12.4)
')TCARP
479 CTCAR (1:32) = ' auto
' ;
480 IF (TCAR /= ZERO) WRITE(CTCAR ,FMT='(e12.4)
')TCAR
482 CAV (I)= ' auto
' ;IF (AV(I) /= ZERO) WRITE(CAV(I) ,FMT='(e12
')AV(I)
483 CRHO0(I)= ' auto
' ;IF (RHO0_(I)/= ZERO) WRITE(CRHO0(I) ,FMT='')RHO0_(I)
484 CE0 (I)= ' auto
' ;IF (E0(I) /= ZERO) WRITE(CE0(I) ,FMT='(e12.4)
')E0(I)
485 CPM (I)= ' auto
' ;IF (PMIN_(I) /= ZERO) WRITE(CPM(I) ,FMT='(e12.4)
')PMIN_(I)
486 CC0 (I)= ' auto
' ;IF (C0(I) /= ZERO) WRITE(CC0(I) ,FMT='(e12.4)
')C0(I)
487 CSSP (I)= ' auto
' ;IF (SSP(I) /= ZERO) WRITE(CSSP(I) ,FMT='(e12.4)
')SSP(I)
490 !============================!
492 !============================!
496 !obsolete law51-formulation
497 IF(INVERS_SRC>=2023)THEN
498 chain1='input
TYPE iform=10 is obsolete since 2023 version : iform=12 must be used
'
499 CALL ANCMSG(MSGID=75, MSGTYPE=MSGERROR, ANMODE=ANINFO, I1=MAT_UID,C1=TITR,C2=chain1)
502 CALL HM_GET_FLOATV('pext
' ,PEXT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
503 CALL HM_GET_FLOATV('mat_nu
' ,VIS ,IS_AVAILABLE, LSUBMODEL, UNITAB)
504 CALL HM_GET_FLOATV('mat_lamda
' ,VISV ,IS_AVAILABLE, LSUBMODEL, UNITAB)
506 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_alpha_iflg10_phas
' ,AV(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
507 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_rho_iflg10_phas
' ,RHO0_(I),I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
508 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_e_iflg10_phas
' ,E0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
509 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_p_iflg10_phas
' ,PMIN_(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
510 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c0_iflg10_phas
' ,C0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
511 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c1_iflg10_phas
' ,C1(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
512 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c2_iflg10_phas
' ,C2(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
513 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c3_iflg10_phas
' ,C3(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
514 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c4_iflg10_phas
' ,C4(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
515 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c5_iflg10_phas
' ,C5(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
516 CALL HM_GET_FLOAT_ARRAY_INDEX('mlaw51_g10
' ,GG(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
517 CALL HM_GET_FLOAT_ARRAY_INDEX('sigma_y10
' ,Y(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
518 CALL HM_GET_FLOAT_ARRAY_INDEX('bb10
' ,BB(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
519 CALL HM_GET_FLOAT_ARRAY_INDEX('law51_n10
' ,N(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
520 CALL HM_GET_FLOAT_ARRAY_INDEX('cc10
' ,CC(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
521 CALL HM_GET_FLOAT_ARRAY_INDEX('e010
' ,EPDR(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
522 CALL HM_GET_FLOAT_ARRAY_INDEX('cm10
' ,CM(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
523 CALL HM_GET_FLOAT_ARRAY_INDEX('t10_10
' ,T0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
524 CALL HM_GET_FLOAT_ARRAY_INDEX('t_melt10
' ,TMELT(I),I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
525 CALL HM_GET_FLOAT_ARRAY_INDEX('t_limit10
' ,THETL(I),I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
526 CALL HM_GET_FLOAT_ARRAY_INDEX('rhocv10
' ,SPH(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
527 CALL HM_GET_FLOAT_ARRAY_INDEX('e_max10
' ,PLAMX(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
528 CALL HM_GET_FLOAT_ARRAY_INDEX('sigma_max10
' ,SIGMX(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
529 CALL HM_GET_FLOAT_ARRAY_INDEX('k_a1
' ,XKA(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
530 CALL HM_GET_FLOAT_ARRAY_INDEX('k_b1
' ,XKB(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
532 CALL HM_GET_FLOAT_ARRAY_INDEX_DIM('rhocv10
' ,FAC_UNIT_SPH ,1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
534 CALL HM_GET_FLOATV('mlaw51_alpha
' ,AV(4) ,IS_AVAILABLE, LSUBMODEL, UNITAB)
535 CALL HM_GET_FLOATV('mlaw51_rho
' ,RHO0_(4) ,IS_AVAILABLE, LSUBMODEL, UNITAB)
536 CALL HM_GET_FLOATV('mlaw51_e0
' ,E0(4) ,IS_AVAILABLE, LSUBMODEL, UNITAB)
537 CALL HM_GET_FLOATV('mlaw51_pmin
' ,PMIN_(4) ,IS_AVAILABLE, LSUBMODEL, UNITAB)
538 CALL HM_GET_FLOATV('mlaw51_c0
' ,C0(4) ,IS_AVAILABLE, LSUBMODEL, UNITAB)
539 CALL HM_GET_FLOATV('mlaw51_b1
' ,B1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
540 CALL HM_GET_FLOATV('mlaw51_b2
' ,B2 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
541 CALL HM_GET_FLOATV('mlaw51_r1
' ,R1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
542 CALL HM_GET_FLOATV('mlaw51_r2
' ,R2 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
543 CALL HM_GET_FLOATV('mlaw51_w
' ,W ,IS_AVAILABLE, LSUBMODEL, UNITAB)
544 CALL HM_GET_FLOATV('mlaw51_d
' ,VDET ,IS_AVAILABLE, LSUBMODEL, UNITAB)
545 CALL HM_GET_FLOATV('mlaw51_pcj
' ,PCJ ,IS_AVAILABLE, LSUBMODEL, UNITAB)
546 CALL HM_GET_FLOATV('mlaw51_c14
' ,C1(4) ,IS_AVAILABLE, LSUBMODEL, UNITAB)
547 CALL HM_GET_INTV('mat_ibfrac
' ,IBFRAC ,IS_AVAILABLE, LSUBMODEL)
548 IF(GG(1)+GG(2)+GG(3)==ZERO)THEN
552 IF(GG(1)>ZERO)IPLA(1)=1
553 IF(GG(2)>ZERO)IPLA(2)=1
554 IF(GG(3)>ZERO)IPLA(3)=1
556 !============================!
558 !============================!
562 !obsolete law51-formulation
563 IF(INVERS_SRC>=2023)THEN
564 chain1='input
TYPE iform=11 is obsolete since 2023 version : iform=12 must be used
'
565 CALL ANCMSG(MSGID=75, MSGTYPE=MSGERROR, ANMODE=ANINFO, I1=MAT_UID,C1=TITR,C2=chain1)
568 CALL HM_READ_MAT51_IFORM11(
569 . AV , RHO0_ ,E0 , PMIN_ , C0 ,
570 . C1 , C2 ,C3 , C4 , C5 ,
571 . IPLA , GG ,Y , BB , N ,
572 . CC , EPDR ,CM , T0 , TMELT ,
573 . THETL , SPH ,PLAMX , SIGMX , XKA ,
574 . XKB , NU ,A0 , A1 , A2 ,
576 . B1 , B2 ,R1 , R2, W,
577 . VDET , PCJ ,IBFRAC , PEXT, VIS,
578 . VISV , LSUBMODEL, UNITAB)
579 CALL HM_GET_FLOAT_ARRAY_INDEX_DIM('damp1
' ,FAC_UNIT_SPH ,1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
580 !Shear Modulus for DPRAG input
581.AND.
IF(GG(1)==ZEROIPLA(1)==2)GG(1)=Y(1)/TWO/(ONE+NU(1))
582.AND.
IF(GG(2)==ZEROIPLA(2)==2)GG(2)=Y(2)/TWO/(ONE+NU(2))
583.AND.
IF(GG(3)==ZEROIPLA(3)==2)GG(3)=Y(3)/TWO/(ONE+NU(3))
586 IF(GG(1)+GG(2)+GG(3) /= ZERO)THEN
588 IF(GG(1)==ZERO)IPLA(1)=0
589 IF(GG(2)==ZERO)IPLA(2)=0
590 IF(GG(3)==ZERO)IPLA(3)=0
592 !============================!
594 !============================!
596 MATPARAM%multimat%old_data_format = 0
602 NVARTMP = 6 ! granular plastic model 3*2
603 CALL HM_GET_FLOATV('mat_nu
' ,VIS ,IS_AVAILABLE, LSUBMODEL, UNITAB)
604 CALL HM_GET_FLOATV('mat_lamda
' ,VISV ,IS_AVAILABLE, LSUBMODEL, UNITAB)
605 CALL HM_GET_INTV ('mip
' ,MIP ,IS_AVAILABLE, LSUBMODEL)
609 CALL HM_GET_INT_ARRAY_INDEX ('materialids
' ,tMID(I) ,I,IS_AVAILABLE, LSUBMODEL)
610 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_alpha_iflg12_phas
' ,tAV(I) ,I,IS_AVAILABLE, LSUBMODEL, UNITAB)
612 UPARAM(09:12) = tMID(1:4)
613 UPARAM(13:16) = tAV(1:4)
616 chain1='submaterial
DATA not found
'
617 CALL ANCMSG(MSGID=99,MSGTYPE=MSGERROR,ANMODE=ANINFO,I1=MAT_UID,C1=TITR,C2=chain1)
623 write(chain(1:10),'(i10)
')tMID(I)
624 chain1='incorrect material identifier
'//chain(1:10)
625 CALL ANCMSG(MSGID=99,MSGTYPE=MSGERROR,ANMODE=ANINFO,I1=MAT_UID,C1=TITR,C2=chain1)
631.OR.
IF(tAV(I)<ZERO tAV(I)>ONE)THEN
633 write(chain(1:20),'(e20.14)
')tAV(I)
634 chain1='volume fraction must be between 0.0 and 1.0 ,
READ VALUE is
'// chain(1:20)
635 CALL ANCMSG(MSGID=99,MSGTYPE=MSGERROR,ANMODE=ANINFO,I1=MAT_UID,C1=TITR,C2=chain1)
639 SUMVF = SUM(tAV(1:4))
642 write(chain(1:20),'(f20.8)
')SUMVF
643 chain1='sum of volume fraction must be equal to 1.0, current sum is
'// chain(1:20)
644 CALL ANCMSG(MSGID=99,MSGTYPE=MSGERROR,ANMODE=ANINFO,I1=MAT_UID,C1=TITR,C2=chain1)
647 !============================!
648 ! IFLG == NOT VALID !
649 !============================!
651 !not correct iform value
652 chain1='incorrect iform
VALUE '
653 CALL ANCMSG(MSGID=99,MSGTYPE=MSGERROR,ANMODE=ANINFO_BLIND_1,I1=MAT_UID,C1=TITR,C2=chain1)
656 !============================!
657 ! PLASTICITY DEFAULT !
658 !============================!
660 RATIO = 0.25D00 !ONE is for previous formulation (permitted large volume change)
667.OR..OR.
IF(IPLA(1) == 2 IPLA(2) == 2 IPLA(3) == 2)THEN
688.AND.
IF(A2(I)==ZEROA1(I)/=ZERO)THEN !(A21=A11=ZERO => error message)
689 PSTAR(I)=-A0(I)/A1(I)
690 ELSEIF(A2(I)/=ZERO)THEN
691 DELTA = A1(I)*A1(I)-FOUR*A0(I)*A2(I)
692 !If intersection with the axis
693 IF(DELTA >= ZERO)THEN
695 PSTAR(I) = (-A1(I)+DELTA)/TWO/A2(I)
698 ! PSTAR(I) = -A1(I)/TWO/A2(I) !no let user do what he wants
700 chain='submat-0 : yield surface has no root.
'
701 write(chain(8:8),'(i1.1)
')I
702 CALL ANCMSG(MSGID=829,MSGTYPE=MSGWARNING,ANMODE=ANINFO,I1=51,I2=MAT_UID,C1='warning
',C2=TITR,C3=chain)
705 !do nothing let user do what he wants
712 IF(IOPT < 0)IOPT=0 !check possible values otherwise set to debaut one.
713 !IF(IOPT >= 4)IOPT=0 ! does not exist
721 IF(ABCS==ZERO) ABCS= ONE*FAC_UNIT_TIME
725 IF(SPH(I) == ZERO) SPH(I) = ONE * FAC_UNIT_SPH
727 IF(N(I) == ZERO) N(I) = ONE
729 IF(T0(I) == ZERO) T0(I) = THREE100
730 !MAximum plastic Strain
731 IF(PLAMX(I) == ZERO) PLAMX(I) = INFINITY
733 IF(SIGMX(I) == ZERO) SIGMX(I) = INFINITY
735 IF(TMELT(I) == ZERO) TMELT(I) = INFINITY
737 IF(THETL(I) == ZERO) THETL(I) = INFINITY
738 !Thermal condictivity
739 IF(XKA(I) == ZERO) XKA(I) = EM20
740 !Johnson-Cook parameters
741 IF(EPDR(I) == ZERO) EPDR(I) = ONE
742 !Drucker-Prager maximum values
743 IF(AMX(I) == ZERO) AMX(I) = INFINITY
744 !Drucker-Prager Poisson's coefficient
745 IF(nu(i) == zero) nu(i) = zep2
749 IF(mumx(i) == zero .AND. bunl(i) /= zero)
THEN
750 IF(c3(i) == zero)
THEN
751 IF(c2(i) == zero)
THEN
754 mumx(i)=(bunl(i)-c1(i))/(two*c2(i))
757 det=sqrt(c2(i)**2 + three*c3(i)*(bunl(i)-c1(i)))
758 mumx(i)=(det-c2(i))/(three*c3(i))
764 IF(bunl(i) == zero) bunl(i) = c1(i)
767 IF(iflg <= 1.OR.iflg == 11)
THEN
769 IF (pmin_(i) == zero)
THEN
770 IF(gg(i) == zero)
THEN
777 IF (pmin_(4) == zero)
THEN
782 IF(rho0_(4) > zero)
THEN
783 IF(c1(4) <= zero)
THEN
784 chain1=
'BULK MODULUS C14 MUST BE PROVIDED FOR UNREACTED EXPLOSIVE'
785 CALL ancmsg(msgid=99,msgtype=msgerror,anmode=aninfo,i1=mat_uid,c1=titr,c2=chain1)
789 chain1=
'DETONATION VELOCITY MUST BE INPUT FOR EXPLOSIVE SUBMATERIAL'
790 CALL ancmsg(msgid=99,msgtype=msgerror,anmode=aninfo,i1=mat_uid,c1=titr,c2=chain1)
803 . av, rho0_, c0, c1, c2, c3, c4, c5,
804 . e0, pm, rho0, rhor, iexp, pext, iflg,
807 . ssp(1),ssp(2),ssp(3),ssp(4),
808 . lc(1), lc(2), lc(3), lc(4),
816 einf(i)=
ie_bound(pext,pmin_(i),c0(i),c1(i),c2(i),c3(i),c4(i),c5(i),e0(i))
821 IF(iflg == 0 .OR. iflg == 1)
THEN
823 p0(i) = c0(i)+c4(i)*e0(i)
824 dpdmu(i) = (c1(i)+c5(i)*e0(i)) + c4(i)*(pext+p0(i))
825 IF(rho0_(i) /= zero) ssp(i) = sqrt( (dpdmu(i) + two_third*gg(i)) / rho0_(i) )
833 IF(matparam%multimat%old_data_format == 1)
THEN
834 CALL matparam%multimat%EOS_CONSTRUCT
836 matparam%multimat%eos(i)%PSH = +pext
837 matparam%multimat%eos(i)%E0 = e0(i)
838 matparam%multimat%eos(i)%PMIN = pmin_(i)
839 matparam%multimat%eos(i)%UPARAM(1) = (c0(i)+pext)-pext
840 matparam%multimat%eos(i)%UPARAM(2) = c1(i)
841 matparam%multimat%eos(i)%UPARAM(3) = c2(i)
842 matparam%multimat%eos(i)%UPARAM(4) = c3(i)
843 matparam%multimat%eos(i)%UPARAM(5) = c4(i)
844 matparam%multimat%eos(i)%UPARAM(6) = c5(i)
845 matparam%multimat%eos(i)%UPARAM(7) = zero
847 CALL mat51_associate_eos(mat_param,nummat,mat_iid)
855 uparam(3) = (visv-uparam(2))*third
869 uparam(10) = rho0_(2)
870 uparam(11) = rho0_(3)
871 uparam(47) = rho0_(4)
887 uparam(28) = two*gg(1)
888 uparam(29) = two*gg(2)
889 uparam(30) = two*gg(3)
898 uparam(39) = pmin_(1)
899 uparam(40) = pmin_(2)
900 uparam(41) = pmin_(3)
904 uparam(44) = rho0_(4) * vdet**2 / pcj
906 uparam(44) = infinity
908 vcj = one - one/uparam(44)
909 IF(rho0_(4)==zero) uparam(47) = em20
919 uparam(56) = pmin_(4)
920 uparam(57) = c0(1)+c4(1)*e0(1)
921 uparam(58) = c0(2)+c4(2)*e0
922 uparam(59) = c0(3)+c4(3)*e0(3)
925 uparam(62) = one/n_lc
932 uparam(69) = rho0_(1) * av(1) + rho0_(2) * av(2) + rho0_(3) * av(3) + rho0_(4) * av(4)
935 uparam(72) = infinity
943 uparam(idx+01) = gg(i)
944 uparam(idx+02) = y(i)
945 uparam(idx+03) = bb(i)
946 uparam(idx+04) = n(i)
947 uparam(idx+05) = cc(i)
948 uparam(idx+06) = epdr(i)
949 uparam(idx+07) = cm(i)
950 uparam(idx+08) = tmelt(i)
951 uparam(idx+09) = thetl(i)
952 uparam(idx+10) = plamx(i)
953 uparam(idx+11) = sigmx(i)
954 uparam(idx+12) = sph(i)
955 uparam(idx+13) = t0(i)
956 uparam(idx+14) = xka(i)
957 uparam(idx+15) = xkb(i)
958 uparam(idx+16) = a0(i
959 uparam(idx+17) = a1(i)
960 uparam(idx+18) = a2(i)
961 uparam(idx+19) = amx(i)
962 uparam(idx+20) = mumx(i)
963 uparam(idx+21) = bunl(i)
964 uparam(idx+22) = nu(i)
965 uparam(idx+23) = pstar(i)
966 uparam(idx+24) = ssp(i)
967 uparam(idx+25) = lc(i)
968 uparam(idx+26) = rho0_(i)*ssp(i)*ssp(i)
972 uparam(258) = tmelt(4)
973 uparam(259) = thetl(4)
980 uparam(275) = rho0_(4)*ssp(4)*ssp(4)
1001 parmat(1) =
max(c1(1), c1(2), c1(3), c1(4))
1002 pm(27) = maxval(ssp(1:4))
1005 matparam%multimat%nb = 4
1006 IF(.NOT.
ALLOCATED(matparam%multimat%vfrac))
ALLOCATE(matparam%multimat%vfrac(4))
1007 IF(.NOT.
ALLOCATED(matparam%multimat%mid))
ALLOCATE(matparam%multimat%mid(4))
1008 matparam%multimat%vfrac(1:4) = tav(1:4)
1009 matparam%multimat%mid(1:4) = tmid(1:4)
1010 ipm(20+1:20+4) = tmid(1:4)
1015 WRITE(iout,997) trim(titr),mat_uid,51
1017 IF(is_encrypted)
THEN
1018 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
1021 WRITE(iout, 900)rho0,rhor
1022 WRITE(iout,5002)iflag_bak
1023 WRITE(iout,5001)pext,vis,visv,av(1),av(2),av(3),av(4)
1029 p0_glob = p0(1)*av(1)+p0(2)*av(2)+p0(3)*av(3)+p0(4)*av(4)
1033 WRITE(iout,5011)c0(i),c1(i),c2(i),c3(i),c4(i),c5(i),e0(i),rho0_(i),pmin_(i),p0_glob
1034 IF(y(i) == zero)ipla(i)=0
1035 SELECT CASE(ipla(i))
1039 WRITE(iout,5016)gg(i)
1043 WRITE(iout,5021)y(i),bb(i),n(i),cc(i),epdr(i),cm(i),t0(i),tmelt(i),thetl(i),sph(i),plamx(i),sigmx(i),xka(i),xkb(i)
1046 WRITE(iout,5026)a0(i),a1(i),a2(i),amx(i),y(i),nu(i),t0(i),tmelt(i),thetl(i),sph(i),plamx(i),sigmx(i),xka(i),xkb(i)
1052 WRITE(iout,5031)rho0_(4),e0(4),pmin_(4),c0(4),c1(4),b1,b2,r1,r2,w,vdet,pcj,vcj,ibfrac
1056 ELSEIF(iflg == 2)
THEN
1057 WRITE(iout,1200)abcs,vel,ivel,
1058 & av(1),rho0_(1),e0(1),iav(1),irho(1),ie(1),pmin_(1),c0(1),c1(1),c2(1),c3(1),c4(1),c5(1),
1059 & av(2),rho0_(2),e0(2),iav(2),irho(2),ie(2),pmin_(2),c0(2),c1(2),c2(2),c3(2),c4(2),c5(2),
1060 & av(3),rho0_(3),e0(3),iav(3),irho(3),ie(3),pmin_(3),c0(3),c1(3),c2(3),c3(3),c4(3),c5(3)
1065 ELSEIF(iflg == 3)
THEN
1067 WRITE(iout,1299)iopt
1071 WRITE(iout,1300)av(1),rho0_(1),e0(1),c0(1),
1072 & av(2),rho0_(2),e0(2),c0(2),
1073 & av(3),rho0_(3),e0(3),c0(3)
1078 ELSEIF(iflg == 4)
THEN
1079 WRITE(iout,1400)abcs,
1080 & av(1),rho0_(1),e0(1),iav(1),irho(1),ie(1),pmin_(1),c0(1),c1(1),c4(1),
1081 & av(2),rho0_(2),e0(2),iav(2),irho(2),ie(2),pmin_(2),c0(2),c1(2),c4(2),
1082 & av(3),rho0_(3),e0(3),iav(3),irho(3),ie(3),pmin_(3),c0(3),c1(3),c4(3)
1087 ELSEIF(iflg == 5)
THEN
1088 WRITE(iout,1500)abcs,
1089 & av(1),rho0_(1),e0(1),iav(1),irho(1),ie(1),pmin_(1),c0(1),c1(1),
1090 & av(2),rho0_(2),e0(2),iav(2),irho(2),ie(2),pmin_(2),c0(2),c1(2),
1091 & av(3),rho0_(3),e0(3),iav(3),irho(3),ie(3),pmin_(3),c0(3),c1(3)
1095 ELSEIF(iflg == 6)
THEN
1096 WRITE(iout,1700)cpext,ctcarp,ctcar
1097 IF(iflg6_submat_defined(1) .OR. iflg6_submat_defined(2) .OR. iflg6_submat_defined(3))
1098 &
WRITE(iout,1701)cav(1) ,crho0(1),ce0(1) ,cpm(1) ,cc0(1) ,cssp(1),
1099 & cav(2) ,crho0(2),ce0(2) ,cpm(2) ,cc0(2) ,cssp(2),
1100 & cav(3) ,crho0(3),ce0(3) ,cpm(3) ,cc0(3) ,cssp(3)
1104 ELSEIF(iflg == 12)
THEN
1106 WRITE(iout,4003)vis,visv
1109 WRITE(iout,4001)i,tmid(i)
1113 WRITE(iout,4002)i,tav(i)
1118 WRITE(iout,901)niter
1123 IF(iflg==12)rho0=one
1124 IF(rhor==zero)rhor=rho0
1127 pm(91)=maxval(rho0_(1:4))
1144 & 5x,
'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/,
1145 & 5x,
'REFERENCE DENSITY . . . . . . . . . . .=',1pg20.13/)
1147 & 5x,
'NUMBER OF ITERATION . . . . . . . . . .=',i10/)
1150 & 5x,
'MATERIAL NUMBER . . . . . . . . . . . .=',i10/,
1151 & 5x,
'MATERIAL LAW. . . . . . . . . . . . . .=',i10/)
1153 & 5x,
' /MAT/LAW51 (MULTIMAT)',/,
1154 & 5x,
' ---------------------',/)
1156 & 5x,
'INLET CONDITION------------------------',/
1157 & 5x,
'Abcissa scale factor. . . . . . . . . .=',e12.4/
1158 & 5x,
'Velocity Scale Factor . . . . . . . . .=',e12.4/
1159 & 5x,
'Velocity Function ID. . . . . . . . . .=',i10/
1160 & 5x,
'SUBMAT-1 VOLUME RATIO. . . . . . . . . .=',e12.4/
1161 & 5x,
'SUBMAT-1 reference DENSITY . . . . . . .=',e12.4/
1162 & 5x,
'SUBMAT-1 E0 initial ENERGY/unit volume .=',e12.4/
1163 & 5x,
'SUBMAT-1 Volume ratio FUNCTION ID . . . =',i10/
1164 & 5x,
'SUBMAT-1 Density FUNCTION ID . . . . . .=',i10/
1165 & 5x,
'SUBMAT-1 Energy FUNCTION ID. . . . . . .=',i10/
1166 & 5x,
'SUBMAT-1 Minimum PRESSURE. . . . . . . .=',e12.4/
1167 & 5x,
'SUBMAT-1 CO initial PRESSURE . . . . . .=',e12.4/
1168 & 5x,
' P =C0 +C1 mu +C2 mu^2 +C3 mu^3 + (C4 + C5mu)Eint/Vo '/
1169 & 5x,
'SUBMAT-1 C1. . . . . . . . . . . . . . .=',e12.4/
1170 & 5x,
'SUBMAT-1 C2. . . . . . . . . . . . . . .=',e12.4/
1171 & 5x,
'SUBMAT-1 C3. . . . . . . . . . . . . . .=',e12.4/
1172 & 5x,
'SUBMAT-1 C4. . . . . . . . . . . . . . .=',e12.4/
1173 & 5x,
'SUBMAT-1 C5. . . . . . . . . . . . . . .=',e12.4/
1174 & 5x,
'SUBMAT-2 VOLUME RATIO. . . . . . . . . .=',e12.4/
1175 & 5x,
'SUBMAT-2 reference DENSITY . . . . . . .=',e12.4/
1176 & 5x,
'SUBMAT-2 E0 initial ENERGY/unit volume .=',e12.4/
1177 & 5x,
'SUBMAT-2 Volume ratio FUNCTION ID . . . =',i10/
1178 & 5x,
'SUBMAT-2 Density FUNCTION ID . . . . . .=',i10/
1179 & 5x,
'SUBMAT-2 Energy FUNCTION ID. . . . . . .=',i10/
1180 & 5x,
'SUBMAT-2 Minimum PRESSURE. . . . . . . .=',e12.4/
1181 & 5x,
'SUBMAT-2 CO initial PRESSURE . . . . . .=',e12.4/
1182 & 5x,
'SUBMAT-2 C1. . . . . . . . . . . . . . .=',e12.4/
1183 & 5x,
'SUBMAT-2 C2. . . . . . . . . . . . . . .=',e12.4/
1184 & 5x,
'SUBMAT-2 C3. . . . . . . . . . . . . . .=',e12.4/
1185 & 5x,
'SUBMAT-2 C4. . . . . . . . . . . . . . .=',e12.4/
1186 & 5x,
'SUBMAT-2 C5. . . . . . . . . . . . . . .=',e12.4/
1187 & 5x,
'SUBMAT-3 VOLUME RATIO. . . . . . . . . .=',e12.4/
1188 & 5x,
'SUBMAT-3 reference DENSITY . . . . . . .=',e12.4/
1189 & 5x,
'SUBMAT-3 E0 initial ENERGY/unit volume .=',e12.4/
1190 & 5x,
'SUBMAT-3 Volume ratio FUNCTION ID . . . =',i10/
1191 & 5x,
'SUBMAT-3 Density FUNCTION ID . . . . . .=',i10/
1192 & 5x,
'SUBMAT-3 Energy FUNCTION ID. . . . . . .=',i10/
1193 & 5x,
'SUBMAT-3 Minimum PRESSURE. . . . . . . .=',e12.4/
1194 & 5x,
'SUBMAT-3 CO initial PRESSURE . . . . . .=',e12.4/
1195 & 5x,
'SUBMAT-3 C1. . . . . . . . . . . . . . .=',e12.4/
1196 & 5x,
'SUBMAT-3 C2. . . . . . . . . . . . . . .=',e12.4/
1197 & 5x,
'SUBMAT-3 C3. . . . . . . . . . . . . . .=',e12.4/
1198 & 5x,
'SUBMAT-3 C4. . . . . . . . . . . . . . .=',e12.4/
1199 & 5x,
'SUBMAT-3 C5. . . . . . . . . . . . . . .=',e12.4//)
1201 & 5x,
'OUTLET CONDITION-----------------------')
1203 & 5x,
'OUTLET CONDITION-----------------------',/
1204 & 5x,
'IOPT FLAG . . . . . . . . . . . . . . .=',i10)
1206 & 5x,
'SUBMAT-1 VOLUME RATIO. . . . . . . . . .=',e12.4/
1207 & 5x,
'SUBMAT-1 reference DENSITY . . . . . . .=',e12.4/
1208 & 5x,
'SUBMAT-1 E0 initial ENERGY/unit volume .=',e12.4/
1209 & 5x,
'SUBMAT-1 PO initial PRESSURE . . . . . .=',e12.4/
1210 & 5x,
'SUBMAT-2 VOLUME RATIO. . . . . . . . . .=',e12.4/
1211 & 5x,
'SUBMAT-2 reference DENSITY . . . . . . .=',e12.4/
1212 & 5x,
'SUBMAT-2 E0 initial ENERGY/unit volume .=',e12.4/
1213 & 5x,
'SUBMAT-2 PO initial PRESSURE . . . . . .=',e12.4/
1214 & 5x,
'SUBMAT-3 VOLUME RATIO. . . . . . . . . .=',e12.4/
1215 & 5x,
'SUBMAT-3 reference DENSITY . . . . . . .=',e12.4/
1216 & 5x,
'SUBMAT-3 E0 initial ENERGY/unit volume .=',e12.4/
1217 & 5x,
'SUBMAT-3 PO initial PRESSURE . . . . . .=',e12.4//)
1219 & 5x,
'INLET STAGNATION PRESSURE (Perfect Gas)',/
1220 & 5x,
'Abcissa scale factor. . . . . . . . . .=',e12.4/
1221 & 5x,'submat-1 volume ratio. . . . . . . . . .=
',E12.4/
1222 & 5X,'submat-1 reference density . . . . . . .=
',E12.4/
1223 & 5X,'submat-1 e0 initial energy/unit volume .=
',E12.4/
1224 & 5X,'submat-1 volume ratio
FUNCTION id . . . =
',I10/
1225 & 5X,'submat-1 density function
id . . . . . .=
',I10/
1226 & 5X,'submat-1 energy function
id. . . . . . .=
',I10/
1227 & 5X,'submat-1 minimum pressure. . . . . . . .=
',E12.4/
1228 & 5X,' p =c0 +c1 mu +c2 mu^2 +c3 mu^3 + (C4 + C5mu)eint/vo
'/
1229 & 5X,'submat-1 co initial pressure . . . . . .=
',E12.4/
1230 & 5X,'submat-1 c1. . . . . . . . . . . . . . .=
',E12.4/
1231 & 5X,'submat-1 c4 (gamma-1). . . . . . . . . .=
',E12.4/
1232 & 5X,'submat-2 volume ratio. . . . . . . . . .=
',E12.4/
1233 & 5X,'submat-2 reference density . . . . . . .=
',E12.4/
1234 & 5X,'submat-2 e0 initial energy/unit volume .=
',E12.4/
1235 & 5X,'submat-2 volume ratio function
id . . . =
',I10/
1236 & 5X,'submat-2 density function
id . . . . . .=
',I10/
1237 & 5X,'submat-2 energy function
id. . . . . . .=
',I10/
1238 & 5X,'submat-2 minimum pressure. . . . . . . .=
',E12.4/
1239 & 5X,'submat-2 co initial pressure . . . . . .=
',E12.4/
1240 & 5X,'submat-2 c1. . . . . . . . . . . . . . .=
',E12.4/
1241 & 5X,'submat-2 c4 (gamma-1). . . . . . . . . .=
',E12.4/
1242 & 5X,'submat-3 volume ratio. . . . . . . . . .=
',E12.4/
1243 & 5X,'submat-3 reference density . . . . . . .=
',E12.4/
1244 & 5X,'submat-3 e0 initial energy/unit volume .=
',E12.4/
1245 & 5X,'submat-3 volume ratio function
id . . . =
',I10/
1246 & 5X,'submat-3 density function
id . . . . . .=
',I10/
1247 & 5X,'submat-3 energy function
id. . . . . . .=
',I10/
1248 & 5X,'submat-3 minimum pressure. . . . . . . .=
',E12.4/
1249 & 5X,'submat-3 co initial pressure . . . . . .=
',E12.4/
1250 & 5X,'submat-3 c1. . . . . . . . . . . . . . .=
',E12.4/
1251 & 5X,'submat-3 c4 (gamma-1). . . . . . . . . .=
',E12.4//)
1253 & 5X,'inlet stagnation pressure (Liquid) ----
',/
1254 & 5X,'abcissa scale factor. . . . . . . . . .=
',E12.4/
1255 & 5X,'submat-1 volume ratio. . . . . . . . . .=
',E12.4/
1256 & 5X,'submat-1 reference density . . . . . . .=
',E12.4/
1257 & 5X,'submat-1 e0 initial energy/unit volume .=
',E12.4/
1258 & 5X,'submat-1 volume ratio function
id . . . =
',I10/
1259 & 5X,'submat-1 density function
id . . . . . .=
',I10/
1260 & 5X,'submat-1 energy function
id. . . . . . .=
',I10/
1261 & 5X,'submat-1 minimum pressure. . . . . . . .=
',E12.4/
1262 & 5X,' p =c0 +c1 mu +c2 mu^2 +c3 mu^3 + (C4 + C5mu)eint/vo
'/
1263 & 5X,'submat-1 co initial pressure . . . . . .=
',E12.4/
1264 & 5X,'submat-1 c1 (bulk modulus) . . . . . . .=
',E12.4/
1265 & 5X,'submat-2 volume ratio. . . . . . . . . .=
',E12.4/
1266 & 5X,'submat-2 reference density . . . . . . .=
',E12.4/
1267 & 5X,'submat-2 e0 initial energy/unit volume .=
',E12.4/
1268 & 5X,'submat-2 volume ratio function
id . . . =
',I10/
1269 & 5X,'submat-2 density function
id . . . . . .=
',I10/
1270 & 5X,'submat-2 energy function
id. . . . . . .=
',I10/
1271 & 5X,'submat-2 minimum pressure. . . . . . . .=
',E12.4/
1272 & 5X,'submat-2 co initial pressure . . . . . .=
',E12.4/
1273 & 5X,'submat-2 c1 (bulk modulus) . . . . . . .=
',E12.4/
1274 & 5X,'submat-3 volume ratio. . . . . . . . . .=
',E12.4/
1275 & 5X,'submat-3 reference density . . . . . . .=
',E12.4/
1276 & 5X,'submat-3 e0 initial energy/unit volume .=
',E12.4/
1277 & 5X,'submat-3 volume ratio function
id . . . =
',I10/
1278 & 5X,'submat-3 density function
id . . . . . .=
',I10/
1279 & 5X,'submat-3 energy function
id. . . . . . .=
',I10/
1280 & 5X,'submat-3 minimum pressure. . . . . . . .=
',E12.4/
1281 & 5X,'submat-3 co initial pressure . . . . . .=
',E12.4/
1282 & 5X,'submat-3 c1 (bulk modulus) . . . . . . .=
',E12.4//)
1284 & 5X,'non reflecting frontier ----------------
',/
1285 & 5X,'external pressure . . . . . . . . . . .=',a /
1286 & 5x,
'CHARACTERISTIC TIME FOR PRES RELAXATION =',a /
1287 & 5x,
'CHARACTERISTIC TIME FOR VFRAC RELAXATION=',a //)
1289 & 5x,'submat-1 av10 volume fraction. . . . . .=
',A /
1290 & 5X,'submat-1 rho10 reference density . . . .=
',A /
1291 & 5X,'submat-1 e01 volumetric energy . . . . .=
',A /
1292 & 5X,'submat-1 pm1 cut off pressure. . . . .
',A /
1293 & 5X,'submat-1 p01 initial pressure. . . . . .=
',A /
1294 & 5X,'submat-1 ssp1 sound speed. . . . . . . .=
',A /
1295 & 5X,'submat-2 av20 volume fraction. . . . . .=
',A /
1296 & 5X,'submat-2 rho20 reference density . . . .=
',A /
1297 & 5X,'submat-2 e02 volumetric energy . . . . .=
',A /
1298 & 5X,'submat-2 pm2 cut off pressure. . . . . .=
',A /
1299 & 5X,'submat-2 p02 initial pressure. . . . . .=
',A /
1300 & 5X,'submat-2 ssp2 sound speed. . . . . . . .=
',A /
1301 & 5X,'submat-3 av30 volume fraction. . . . . .=
',A /
1302 & 5X,'submat-3 rho30 reference density . . . .=
',A /
1303 & 5X,'submat-3 e03 volumetric energy . . . . .=
',A /
1304 & 5X,'submat-3 pm3 cut off pressure. . . . . .=
',A /
1305 & 5X,'submat-3 p03
',A /
1306 & 5X,'submat-3 ssp3 sound speed. . . . . . . .=
',A //)
1308 & 5X,'submaterial-
',I1,' id =
',I10)
1310 & 5X,'submaterial-
',I1,' volume fraction =
',F12.10)
1312 & 5X,'shear kinematic viscosity. . . . . . . =
',E12.4/
1313 & 5X,'spherical kinematic viscosity. . . . . =
',E12.4)
1315 & 5X,'____________________________________________________
')
1317 & 5X,'EXTERNAL pressure. . . . . . . . . . . =
',E12.4/
1318 & 5X,'shear kinematic viscosity. . . . . . . =
',E12.4/
1319 & 5X,'spherical kinematic viscosity. . . . . =
',E12.4/
1320 & 5X,'____________________________________________________
',/
1321 & 5X,'volume fraction - submat-1 . . . . . . =
',F12.10/
1322 & 5X,'volume fraction - submat-2 . . . . . . =
',F12.10/
1323 & 5X,'volume fraction - submat-3 . . . . . . =
',F12.10/
1324 & 5X,'volume fraction - submat-4 . . . . . . =
',F12.10)
1326 & 5X,'formulation flag . . . . . . . . . . . =
',I2)
1328 & 5X,'__________________________
',/,
1329 & 5X,'+s u b m a t e r i a l -
',I1)
1332 & 5X,'+----polynomial eos
',/,
1333 & 5X,'| --------------
')
1335 & 5X,'| c0 . . . . . . . . . . . . . . . .=
',1PG20.13/,
1336 & 5X,'| c1. . . . . . . . . . . . . . . . =
',1PG20.13/,
1337 & 5X,'| c2. . . . . . . . . . . . . . . . =
',1PG20.13/,
1338 & 5X,'| c3. . . . . . . . . . . . . . . . =
',1PG20.13/,
1339 & 5X,'| c4. . . . . . . . . . . . . . . . =
',1PG20.13/,
1340 & 5X,'| c5. . . . . . . . . . . . . . . . =
',1PG20.13/,
1341 & 5X,'| e0. . . . . . . . . . . . . . . . =
',1PG20.13/,
1342 & 5X,'| rho0. . . . . . . . . . . . . . . =
',1PG20.13/,
1343 & 5X,'| pmin. . . . . . . . . . . . . . . =
',1PG20.13/,
1344 & 5X,'| initial
',1PG20.13)
1347 & 5X,'+----elastic solid
',/,
1348 & 5X,'| -------------
')
1350 & 5X,'| g shear modulus . . . . . . . . . =
',E12.4)
1353 & 5X,'+----johnson-cook yield criteria
',/,
1354 & 5X,'| ---------------------------
')
1356 & 5X,'| g shear modulus. . . . . . . =
',E12.4/
1357 & 5X,'| a yield stress . . . . . . . =
',E12.4/
1358 & 5X,'| b yield factor . . . . . . . =
',E12.4/
1359 & 5X,'| n yield exponent . . . . . . =
',E12.4/
1360 & 5X,'| c strain rate factor . . . . =
',E12.4/
1361 & 5X,'| eps0 reference strain rate. . . =
',E12.4/
1362 & 5X,'| m thermal exponent . . . . . =
',E12.4/
1363 & 5X,'| t0 initial temperature. . . . =
',E12.4/
1364 & 5X,'| tmelt melting temperature. . . . =
',E12.4/
1365 & 5X,'| tlim temperature limit. . . . . =
',E12.4/
1366 & 5X,'| rho.cp specific heat(rho0 cv). . =
',E12.4/
1367 & 5X,'| maximum plastic strain. . . . . . =',e12.4/
1368 & 5x,
'| MAXIMUM STRESS. . . . . . . . . . =',e12.4/
1369 & 5x,
'| KA . . . . . . . . . . . . . . . =',e12.4/
1370 & 5x,
'| KB . . . . . . . . . . . . . . . =',e12.4)
1373 & 5x,
'+----DRUCKER-PRAGER YIELD CRITERIA ',/,
1374 & 5x,
'| ----------------------------- ')
1376 & 5x,
'| A0 YIELD COEFFICIENT 1. . . . =',e12.4/
1377 & 5x,
'| A1 YIELD COEFFICIENT 2. . . . =',e12.4/
1378 & 5x,
'| A2 YIELD COEFFICIENT 3. . . . =',e12.4/
1379 & 5x,
'| A-MAX MAXIMUM YIELD VALUE. . . . =',e12.4/
1380 & 5x,
'| E YOUNG MODULUS. . . . . . . =',e12.4/
1381 & 5x,
'| NU YOUNG MODULUS. . . . . . . =',e12.4/
1382 & 5x,
'| T0 INITIAL TEMPERATURE. . . . =',e12.4/
1383 & 5x,
'| TMELT MELTING TEMPERATURE. . . . =',e12.4/
1384 & 5x,
'| TLIM TEMPERATURE LIMIT. . . . . =',e12.4/
1385 & 5x,
'| RHO.CP SPECIFIC HEAT (rho0 Cv). . =',e12.4/
1386 & 5x,
'| MAXIMUM PLASTIC STRAIN. . . . . . =',e12.4/
1387 & 5x,
'| MAXIMUM STRESS. . . . . . . . . . =',e12.4/
1388 & 5x,
'| KA . . . . . . . . . . . . . . . =',e12.4/
1389 & 5x,
'| KB . . . . . . . . . . . . . . . =',e12.4)
1392 & 5x,
'+----JWL EoS',/,
1395 & 5x,
'| RHO0 INITIAL DENSITY . . . . . . .=',e12.4/
1396 & 5x,
'| E0 INITIAL ENERGY/UNIT VOLUME . =',e12.4/
1397 & 5x,
'| PMIN MINIMUM PRESSURE. . . . . . .=',e12.4/
1398 & 5x,
'| C0 INITIAL PRESSURE . . . . . . =',e12.4/
1399 & 5x,
'| C1 UNREACTED BULK MODULUS . . . =',e12.4/
1400 & 5x,
'| A . . . . . . . . . . . . . . . . =',e12.4/
1401 & 5x,
'| B . . . . . . . . . . . . . . . . ='
1402 & 5x,
'| R1. . . . . . . . . . . . . . . . =',e12.4/
1403 & 5x,
'| R2. . . . . . . . . . . . . . . . =',e12
1404 & 5x,
'| W . . . . . . . . . . . . . . . . =',e12.4/
1405 & 5x,
'| VDET DETONATION VELOCITY. . . . . =',e12.4/
1406 & 5x,
'| PCJ PRESSURE AT C-J STATE . . . .=',e12.4/
1407 & 5x,
'| VCJ VOLUME AT C-J STATE . . . . .=',e12.4/
1408 & 5x,
'| FLAG FOR BURN FRACTION METHOD . . =',i10)