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) :: ,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)
116 CALL hm_get_floatv(
'MAT_EB' ,e22 ,is_available, lsubmodel, unitab)
117 CALL hm_get_floatv(
'MAT_EC' ,e33 ,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)
132 CALL hm_get_floatv(
'MAT_EPSR2' ,emx22 ,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)
147 CALL HM_GET_FLOATV_DIM('fscale11
' ,FAC_UNIT ,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)=INFINITY
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
206 CALL INIT_MAT_KEYWORD(MATPARAM,"HOOK")
207 CALL INIT_MAT_KEYWORD(MATPARAM,"ORTHOTROPIC")
209 ! Properties compatibility
210 CALL INIT_MAT_KEYWORD(MATPARAM,"SOLID_ORTHOTROPIC")
211 CALL INIT_MAT_KEYWORD(MATPARAM,"SPH")
213 IF(RHOR==ZERO)RHOR=RHO0
217 CALL INIT_MAT_KEYWORD(MATPARAM,"COMPRESSIBLE")
218 CALL INIT_MAT_KEYWORD(MATPARAM,"SMALL_STRAIN")
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.13/
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//)