40 . NUVAR ,IFUNC ,MAXFUNC ,NFUNC , PARMAT,
41 . UNITAB ,ID ,TITR ,MTAG , LSUBMODEL,
71#include "implicit_f.inc"
80 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
81 my_real,
INTENT(INOUT) :: PM(NPROPM),PARMAT(100),UPARAM(MAXUPARAM)
82 INTEGER,
INTENT(INOUT) :: ISRATE,IFUNC(MAXFUNC),NFUNC,MAXFUNC,MAXUPARAM,NUPARAM, NUVAR
84 INTEGER,
INTENT(IN) :: ID
85 INTEGER,
INTENT(INOUT) :: IMATVIS
86 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
88 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
92 INTEGER I,BULK_FNCT,NTABLE_,NMUAL,LAWID,ILAW
93 my_real MU(5),AL(5),RHO0,RHOR
94 my_real BULK,,GS,NU,FSCAL,ZEP495,FSCAL_UNIT
95 INTEGER ICHECK, NSTART
98 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
102 is_encrypted = .false.
103 is_available = .false.
113 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
114 CALL hm_get_floatv(
'Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
116 CALL hm_get_intv(
'MAT_Iflag' ,lawid ,is_available, lsubmodel)
117 CALL hm_get_intv(
'FUN_A1' ,bulk_fnct ,is_available, lsubmodel)
118 CALL hm_get_floatv(
'MAT_NU' ,nu ,is_available, lsubmodel, unitab)
119 CALL hm_get_floatv(
'MAT_FScale' ,fscal ,is_available, lsubmodel, unitab)
120 CALL hm_get_intv(
'NIP' ,nmual ,is_available, lsubmodel)
121 CALL hm_get_intv(
'Gflag' ,icheck ,is_available, lsubmodel)
123 CALL hm_get_intv (
'FUN_B1' ,ntable_ ,is_available, lsubmodel)
126 CALL hm_get_floatv_dim(
'MAT_FScale' ,fscal_unit ,is_available, lsubmodel, unitab)
133 zep495 = zep4 + nine*em02 + five*em03
134 IF(icheck == 0 ) icheck = -3
135 IF(nstart == 0 ) nstart = 100
136 IF(errtol == zero ) errtol = fiveem3
137 IF(nmual == 0 ) nmual = 2
138 IF(fscal == zero ) fscal = one*fscal_unit
139 IF(lawid == 0 ) lawid = -1
146 IF (ntable_ == 0)
THEN
153 IF (lawid == 0) lawid = 1
154 IF (lawid /= 1 .AND. lawid /= 2 .AND. lawid /= -1 )
THEN
170 gs = gs + mu(i)*al(i)
172 ELSEIF (lawid == 2)
THEN
174 gs = gs + mu(i)*al(i)
178 IF (nu == zero ) nu = zep495
179 bulk = gs*(one+nu)/
max(em20,three*(one-two*nu))
183 parmat(2)= gs*(one+nu)
188 IF (rhor == zero) rhor=rho0
214 IF(is_encrypted)uparam(21)= one
218 CALL INIT_MAT_KEYWORD(MATPARAM,"hook
")
219 ! Properties compatibility
220 CALL INIT_MAT_KEYWORD(MATPARAM,"shell_isotropic
")
221 CALL INIT_MAT_KEYWORD(MATPARAM,"solid_isotropic
")
223 WRITE(IOUT,1100) TRIM(TITR),ID,69
226 WRITE(IOUT,'(5X,A,//)')'CONFIDENTIAL DATA'
228 WRITE(IOUT,1200) RHO0
229 IF (NTABLE_ /= 0) THEN
230 WRITE(IOUT,'(5X,A,//)')'HYPERELASTIC MATERIAL CONSTANTS WILL BE DETERMINED BY NONLINEAR LEAST SQUARE FITTING '
231 WRITE(IOUT,1300) NU,LAWID,BULK_FNCT,FSCAL,NMUAL,ICHECK
238 & (5X,29H TABULATED HYPER-ELASTIC LAW,/,
239 & 5X,29H ---------------------------,//)
242 & 5X,'MATERIAL NUMBER . . . . . . . . . . . .=',I10/,
243 & 5X,'MATERIAL LAW. . . . . . . . . . . . . .=',I10/)
245 & 5X,'INITIAL DENSITY . . . . . . . . . . . .=',1PG20.13/)
247 &(5X,'POISSON RATIO . . . . . . . . . . . . .=',1PG20.13/
248 &,5X,'LAW TYPE. . . . . . . . . . . . . . . .=',I10/
249 &,5X,'BULK FUNCTION ID. . . . . . . . . . . .=',I10/
250 &,5X,'SCALE FACTOR FOR BULK FUNCTION. . . . .=',1PG20.13/
251 &,5X,'FIT ORDER . . . . . . . . . . . . . . .=',I10/
252 &,5X,'ICHECK = ', I10//)
subroutine hm_read_mat69(uparam, maxuparam, nuparam, israte, imatvis, nuvar, ifunc, maxfunc, nfunc, parmat, unitab, 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)