39 . NUVAR , IFUNC, MAXFUNC, NFUNC, PARMAT,
40 . UNITAB , MAT_ID, TITR, MTAG, LSUBMODEL,
58#include "implicit_f.inc"
67 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
68 my_real,
INTENT(INOUT) :: PARMAT(100), UPARAM(MAXUPARAM), PM(NPROPM)
69 INTEGER,
INTENT(INOUT) :: IFUNC(MAXFUNC), NFUNC, MAXFUNC, MAXUPARAM,
71 INTEGER,
INTENT(IN) :: MAT_ID
72 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
73 TYPE(SUBMODEL_DATA),
INTENT(IN) :: LSUBMODEL(*)
75 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
79 INTEGER MATS,IFLAG1,IFLAG2,ITEMAX
81 . CE, PE, PS, NN, TOL, YOUNG, NU, BULK, RHO0, RHOR
82 LOGICAL :: IS_ENCRYPTED, IS_AVAILABLE
86 is_encrypted = .false.
87 is_available = .false.
91 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
92 CALL hm_get_floatv(
'Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
94 CALL hm_get_floatv(
'MAT_E', young, is_available, lsubmodel, unitab)
95 CALL hm_get_floatv('mat_nu
', NU, IS_AVAILABLE, LSUBMODEL, UNITAB)
97 CALL HM_GET_INTV('mat1
', MATS, IS_AVAILABLE, LSUBMODEL)
98 CALL HM_GET_INTV('hflag1
', IFLAG1, IS_AVAILABLE, LSUBMODEL)
99 CALL HM_GET_INTV('hflag2
', IFLAG2, IS_AVAILABLE, LSUBMODEL)
100 CALL HM_GET_INTV('nppmax
', ITEMAX, IS_AVAILABLE, LSUBMODEL)
102 CALL HM_GET_FLOATV('mat_ppres
', PE, IS_AVAILABLE, LSUBMODEL, UNITAB)
103 CALL HM_GET_FLOATV('mat_ypres', ps, is_available, lsubmodel, unitab)
104 CALL hm_get_floatv(
'MAT_EXP1', nn, is_available, lsubmodel, unitab)
106 CALL hm_get_floatv(
'MAT_Tol', tol, is_available, lsubmodel, unitab)
108 IF(iflag1 <= 0) iflag1=1
109 IF(iflag2 <= 0) iflag2=1
110 IF(itemax <= 0) itemax=5
111 IF(nn <= zero) nn=two
112 IF(tol <= zero) tol=em08
117 bulk=young/three/(one-two*nu)
128 uparam(9) = young/(one+nu)
129 uparam(10)= half*uparam(9)
139 parmat(17) = (one - two*nu)/(one - nu)
149 WRITE(iout, 900) trim(titr),mat_id,75
151 IF (is_encrypted)
THEN
152 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
155 WRITE(iout,1100) young, nu, uparam(10), bulk
156 WRITE(iout,1200) mats, iflag1, iflag2, itemax
157 WRITE(iout,1300) tol, ce
174 & 5x,
'MATERIAL NUMBER. . . . . . . . . . . . . . .=',i10/,
175 & 5x,
'MATERIAL LAW . . . . . . . . . . . . . . . .=',i10/)
177 & 5x,
'INITIAL DENSITY . . . . . . . . . . .=',1pg20.13/)
179 & 5x,
' POROUS MATERIAL',/,
180 & 5x,
' ---------------',//)
182 & 5x,
'YOUNG',1h
','s modulus . . . . . . . . . . . . =
',1PG20.13/,
183 &5X,'poisson
',1H',
'S RATIO . . . . . . . . . . . . =',1pg20.13/,
184 & 5x,
'SHEAR MODULUS . . . . . . . . . . . . . =',1pg20.13/,
185 & 5x,
'BULK MODULUS . . . . . . . . . . . . . =',1pg20
187 & 5x,
'SOLID MATERIAL IDENTIFIER . . . . . . . =',i10/
188 & 5x,
'PRESSURE FORMULATION FLAG . . . . . . . =',i10/
189 & 5x,
'DEVIATORIC STRESSES FORMULATION FLAG. . =',i10/
190 & 5x,
'MAXIMUM NUMBER OF ITERATIONS. . . . . . =',i10//
191 & 5x,
'ELASTIC COMPACTION PRESSURE (PE). . . . =',1pg20.13/
192 & 5x,
'SOLID COMPACTION PRESSURE (PS). . . . . =',1pg20.13/
193 & 5x,
'EXPONENT (NN) . . . . . . . . . . . . . =',1pg20.13)
195 & 5x,
'CONVERGENCE TOLERANCE (TOL) . . . . . . =',1pg20.13/
196 & 5x,
'INITIAL POROUS BULK SOUND SPEED . . . . =',1pg20.13)
subroutine hm_read_mat75(uparam, maxuparam, nuparam, nuvar, ifunc, maxfunc, nfunc, parmat, unitab, mat_id, titr, mtag, lsubmodel, pm, matparam)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)