39 . NUVAR ,IFUNC ,MAXFUNC ,NFUNC , PARMAT ,
40 . UNITAB ,MAT_ID ,TITR ,MTAG , LSUBMODEL,
71#include "implicit_f.inc"
80 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
81 my_real,
DIMENSION(NPROPM) ,
INTENT(INOUT) :: PM
82 my_real,
DIMENSION(100) ,
INTENT(INOUT) :: PARMAT
83 my_real,
DIMENSION(MAXUPARAM) ,
INTENT(INOUT) :: uparam
84 INTEGER,
DIMENSION(MAXFUNC) ,
INTENT(INOUT) :: IFUNC
85 INTEGER,
INTENT(INOUT) :: ISRATE,IMATVIS,NFUNC,MAXFUNC,MAXUPARAM,NUPARAM,NUVAR
87 INTEGER,
INTENT(IN) :: MAT_ID
88 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
90 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
95 . e11,e22,e33,g12,g23,g31,emx11,emx22,emx33,emx12,emx23,emx31,
96 . fac1,fac2,fac3,fac4,fac5,fac6,dmin,dmax
97 INTEGER I11,I22,I33,I12,I23,I31,IF1,IF2,IMAT
98 my_real :: RHOR,RHO0,FAC_UNIT
99 LOGICAL :: IS_ENCRYPTED,IS_AVAILABLE
103 is_encrypted = .false.
104 is_available = .false.
112 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
113 CALL hm_get_floatv(
'Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
115 CALL hm_get_floatv(
'MAT_EA' ,e11 ,is_available, lsubmodel, unitab)
119 CALL hm_get_floatv(
'MAT_GAB' ,g12 ,is_available, lsubmodel, unitab)
120 CALL hm_get_floatv(
'MAT_GBC' ,g23 ,is_available, lsubmodel, unitab)
121 CALL hm_get_floatv(
'MAT_GCA' ,g31 ,is_available, lsubmodel, unitab)
123 CALL hm_get_intv (
'FUN_A1' ,i11 ,is_available, lsubmodel)
124 CALL hm_get_intv (
'FUN_B1' ,i22 ,is_available, lsubmodel)
125 CALL hm_get_intv (
'FUN_A2' ,i33 ,is_available, lsubmodel)
126 CALL hm_get_intv (
'Gflag' ,if1 ,is_available, lsubmodel)
127 CALL hm_get_floatv(
'FScale11' ,fac1 ,is_available, lsubmodel, unitab)
128 CALL hm_get_floatv(
'FScale22' ,fac2 ,is_available, lsubmodel, unitab)
129 CALL hm_get_floatv(
'FScale33' ,fac3 ,is_available, lsubmodel, unitab)
131 CALL hm_get_floatv(
'MAT_EPSR1' ,emx11 ,is_available, lsubmodel, unitab)
133 CALL hm_get_floatv(
'MAT_EPSR3' ,emx33 ,is_available, lsubmodel, unitab)
135 CALL hm_get_intv (
'FUN_A3' ,i12 ,is_available, lsubmodel)
136 CALL hm_get_intv (
'FUN_B3' ,i23 ,is_available, lsubmodel)
137 CALL hm_get_intv (
'FUN_A4' ,i31 ,is_available, lsubmodel)
138 CALL hm_get_intv (
'Vflag' ,if2 ,is_available, lsubmodel)
139 CALL hm_get_floatv(
'FScale12' ,fac4 ,is_available, lsubmodel, unitab)
140 CALL hm_get_floatv(
'FScale23' ,fac5 ,is_available, lsubmodel, unitab)
141 CALL hm_get_floatv(
'FScale13' ,fac6 ,is_available, lsubmodel, unitab)
143 CALL hm_get_floatv(
'MAT_EPSR4' ,emx12 ,is_available, lsubmodel, unitab)
144 CALL hm_get_floatv(
'MAT_EPSR5' ,emx23 ,is_available, lsubmodel, unitab)
145 CALL hm_get_floatv(
'MAT_EPSR6' ,emx31 ,is_available, lsubmodel, unitab)
151 IF (fac1 == zero) fac1 = one * fac_unit
152 IF (fac2 == zero) fac2 = one * fac_unit
153 IF (fac3 == zero) fac3 = one * fac_unit
154 IF (fac4 == zero) fac4 = one * fac_unit
155 IF (fac5 == zero) fac5 = one * fac_unit
156 IF (fac6 == zero) fac6 = one * fac_unit
171 IF(uparam(9) ==zero)uparam(9) =infinity
172 IF(uparam(10)==zero)uparam(10)=infinity
173 IF(uparam(11)==zero)uparam(11)=infinity
174 IF(uparam(12)==zero)uparam(12)=infinity
175 IF(uparam(13)==zero)uparam(13)=infinity
176 IF(uparam(14)==zero)uparam(14
185 parmat(1) =
max(e11,e22,e33,g12,g23,g31)
197 dmin =
min(e11*e22, e22*e33,e11*e33)
198 dmax =
max(e11,e22,e33)
200 parmat(17) = dmin/dmax/dmax
213 IF(rhor==zero)rhor=rho0
220 WRITE(iout,1001) trim(titr),mat_id,imat
224 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
226 WRITE(iout,1002) rho0
227 WRITE(iout,1100)e11,e22,e33,g12,g23,g31,i11,i22,i33,i12,i23,i31,fac1,fac2,fac3,fac4,fac5,fac6
228 IF(if1+if2/=0)
WRITE(iout,1200)if1,if2
229 IF(emx11+emx22+emx33+emx12+emx23+emx31/=0)
WRITE(iout,1300)emx11,emx22,emx33,emx12,emx23,emx31
234 & 5x,40h honeycomb law ,/,
235 & 5x,40h ------------- ,//)
238 & 5x,
'MATERIAL NUMBER . . . . . . . . . . . .=',i10/,
239 & 5x,
'MATERIAL LAW. . . . . . . . . . . . . .=',i10/)
241 & 5x,
'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/)
243 & 5x,
'E11 . . . . . . . . . . . . . . . . . .=',1pg20.13/
244 & 5x,
'E22 . . . . . . . . . . . . . . . . . .=',1pg20.13/
245 & 5x,
'E33 . . . . . . . . . . . . . . . . . .=',1pg20.13/
246 & 5x,
'G12 . . . . . . . . . . . . . . . . . .=',1pg20.1
247 & 5x,
'G23 . . . . . . . . . . . . . . . . . .=',1pg20.13/
248 & 5x,
'G31 . . . . . . . . . . . . . . . . . .=',1pg20.13/
249 & 5x,
'YIELD STRESS 11 FUNCTION NUMBER . . . .=',i10/
250 & 5x,
'YIELD STRESS 22 FUNCTION NUMBER . . . .=',i10/
251 & 5x,
'YIELD STRESS 33 FUNCTION NUMBER . . . .=',i10/
252 & 5x,
'YIELD STRESS 12 FUNCTION NUMBER . . . .=',i10/
253 & 5x,
'YIELD STRESS 23 FUNCTION NUMBER . . . .=',i10/
254 & 5x,
'YIELD STRESS 31 FUNCTION NUMBER . . . .=',i10/
255 & 5x,
'STRESS 11 FUNCTION SCALE FACTOR . . . .=',1pg20.13/
256 & 5x,
'STRESS 22 FUNCTION SCALE FACTOR . . . .=',1pg20.13/
257 & 5x,
'STRESS 33 FUNCTION SCALE FACTOR . . . .=',1pg20.13/
258 & 5x,
'STRESS 12 FUNCTION SCALE FACTOR . . . .=',1pg20.13/
259 & 5x,
'STRESS 23 FUNCTION SCALE FACTOR . . . .=',1pg20.13/
260 & 5x,
'STRESS 31 FUNCTION SCALE FACTOR . . . .=',1pg20.13/)
262 & 5x,
'YIELD FUNCTION 11,22,33 FLAG . . . . .=',i10/
263 & 5x,
'YIELD FUNCTION 12,23,31 FLAG . . . . .=',i10/)
265 & 5x,
'TENSION FAILURE STRAIN 11 . . . . . . .=',1pg20.13/
266 & 5x,
'TENSION FAILURE STRAIN 22 . . . . . . .=',1pg20.13/
267 & 5x,
'TENSION FAILURE STRAIN 33 . . . . . . .=',1pg20.13/
268 & 5x,
'SHEAR FAILURE STRAIN 12 . . . . . . . .=',1pg20.13/
269 & 5x,
'SHEAR FAILURE STRAIN 23 . . . . . . . .=',1pg20.13/
270 & 5x,
'SHEAR FAILURE STRAIN 31 . . . . . . . .=',1pg20.13//)