39 . UPARAM ,MAXUPARAM,NUPARAM ,NUVAR ,IFUNC ,
40 . MAXFUNC ,NFUNC ,PARMAT ,IMATVIS ,UNITAB ,
41 . MAt_ID ,TITR ,LSUBMODEL,PM ,MATPARAM )
64#include "implicit_f.inc"
73 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
74 INTEGER,
INTENT(IN) :: MAT_ID,MAXUPARAM,MAXFUNC
75 my_real,
DIMENSION(NPROPM) ,
INTENT(INOUT) :: PM
76 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
77 INTEGER,
INTENT(INOUT) :: IMATVIS,NUPARAM,NUVAR,NFUNC
78 INTEGER,
DIMENSION(MAXFUNC) ,
INTENT(INOUT) :: IFUNC
79 my_real,
DIMENSION(MAXUPARAM) ,
INTENT(INOUT) :: uparam
80 my_real,
DIMENSION(100),
INTENT(INOUT) :: parmat
82 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
86 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
88 . MU(100),AL(100),NU,NU0,RHO0,
89 . gs,p,d(100),zep495,rhor
90 INTEGER I,NORDRE,ILAW,COUNT
92 IS_ENCRYPTED = .false.
93 is_available = .false.
96 zep495 = zep4 + nine*em02 + five*em03
101 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
102 CALL hm_get_floatv(
'Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
104 CALL hm_get_floatv(
'MAT_NU' ,nu0 ,is_available, lsubmodel, unitab)
105 CALL hm_get_intv(
'ORDER' ,nordre ,is_available,lsubmodel)
115 IF (mu(i) /= zero .and. al(i) /= zero)
THEN
124 CALL ancmsg(msgid=559, msgtype=msgerror, anmode=aninfo_blind_1,
125 . i1=mat_id, c1=titr)
134 CALL ancmsg(msgid=846, msgtype=msgerror, anmode=aninfo,
135 . i1=mat_id, c1=titr)
138 IF(nu0 == half) nu0= zep495
139 IF(nu0 == zero )
THEN
140 IF( d(1) > zero)
THEN
142 nu = one/(six*p + two*gs)
143 nu = (three*p - two*gs)*nu
144 IF(nu == half) nu= zep499
145 d(1) = three*(one - two*nu)/gs/(one + nu)
149 d(1) = three*(one - two*nu)/gs/(one + nu)
154 d(1) = three*(one - two*nu)/gs/(one + nu)
160 uparam(1 + i ) = mu(i)
161 uparam(1 + nordre + i) = al(i)
162 uparam(1 + 2*nordre + i) = d(i)
164 nuparam = 1 + 3*nordre
167 parmat(2) = two*gs*(one + nu)
171 IF(rhor==zero)rhor=rho0
182 WRITE(iout,1010) trim(titr),mat_id,ilaw
185 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
188 WRITE(iout,1100)nordre,nu,gs
189 IF (nordre >= 1)
WRITE(iout,1201) mu(1) ,al(1) ,d(1)
190 IF (nordre >= 2)
WRITE(iout,1202) mu(2) ,al(2) ,d(2)
191 IF (nordre >= 3)
WRITE(iout,1203) mu(3) ,al(3) ,d(3)
192 IF (nordre >= 4)
WRITE(iout,1204) mu(4) ,al(4) ,d(4)
193 IF (nordre >= 5)
WRITE(iout,1205) mu(5) ,al(5) ,d(5)
194 IF (nordre >= 6)
WRITE(iout,1206) mu(6) ,al(6) ,d(6)
195 IF (nordre >= 7)
WRITE(iout,1207) mu(7) ,al(7) ,d(7)
196 IF (nordre >= 8)
WRITE(iout,1208) mu(8) ,al(8) ,d(8)
197 IF (nordre >= 9)
WRITE(iout,1209) mu(9) ,al(9) ,d(9)
198 IF (nordre ==10)
WRITE(iout,1210) mu(10),al(10),d(10)
202 & (5x,
'OGDEN HYPERELASIC LAW' ,/,
203 & 5x,
' ---------------',//)
206 & 5x,
'MATERIAL NUMBER. . . . . . . . . . . . . .=',i10/,
207 & 5x,
'MATERIAL LAW . . . . . . . . . . . . . . .=',i10/)
209 & 5x,
'INITIAL DENSITY. . . . . . . . . . . . . .=',1pg20.13/)
211 & (5x,
'ORDER OF STRAIN ENERGY . . . . . . . . . .=',i10/
212 & 5x,
'POISSON RATIO. . . . . . . . . . . . . . .=',1pg20.13/
213 & 5x,
'INITIAL SHEAR MODULUS. . . . . . . . . . .=',e12.4/)
215 & 5x,
'MATERIAL PARAMETER (MU1). . . . . . . . . .=',1pg20.13/
216 & 5x,
'MATERIAL PARAMETER (ALPHA1) . . . . . . . .=',1pg20.13/
217 & 5x,
'MATERIAL PARAMETER (D1) . . . . . . . . . .=',1pg20.13)
219 & 5x,
'MATERIAL PARAMETER (MU2). . . . . . . . . .=',1pg20.13/
220 & 5x,
'MATERIAL PARAMETER (ALPHA2) . . . . . . . .=',1pg20.13/
221 & 5x,
'MATERIAL PARAMETER (D2) . . . . . . . . . .=',1pg20.13)
223 & 5x,
'MATERIAL PARAMETER (MU3). . . . . . . . . .=',1pg20.13/
224 & 5x,
'MATERIAL PARAMETER (ALPHA3) . . . . . . . .=',1pg20.13/
225 & 5x,
'MATERIAL PARAMETER (D3) . . . . . . . . . .=',1pg20.13)
227 & 5x,
'MATERIAL PARAMETER (MU4). . . . . . . . . .=',1pg20.13/
228 & 5x,
'MATERIAL PARAMETER (ALPHA4) . . . . . . . .=',1pg20.13/
229 & 5x,
'MATERIAL PARAMETER (D4) . . . . . . . . . .=',1pg20.13)
231 & 5x,
'MATERIAL PARAMETER (MU5). . . . . . . . . .=',1pg20.13/
232 & 5x,
'MATERIAL PARAMETER (ALPHA5) . . . . . . . .=',1pg20.13/
233 & 5x,
'MATERIAL PARAMETER (D5) . . . . . . . . . .=',1pg20.13)
235 & 5x,
'MATERIAL PARAMETER (MU6). . . . . . . . . .=',1pg20.13/
236 & 5x,
'MATERIAL PARAMETER (ALPHA6) . . . . . . . .=',1pg20.13/
237 & 5x,
'MATERIAL PARAMETER (D6) . . . . . . . . . .=',1pg20.13)
239 & 5x,
'MATERIAL PARAMETER (MU7). . . . . . . . . .=',1pg20.13/
240 & 5x,
'MATERIAL PARAMETER (ALPHA7) . . . . . . . .=',1pg20.13/
241 & 5x,
'MATERIAL PARAMETER (D7) . . . . . . . . . .=',1pg20.13)
243 & 5x,
'MATERIAL PARAMETER (MU8). . . . . . . . . .=',1pg20.13/
244 & 5x,
'MATERIAL PARAMETER (ALPHA8) . . . . . . . .=',1pg20.13/
245 & 5x,
'MATERIAL PARAMETER (D8) . . . . . . . . . .=',1pg20.13)
247 & 5x,
'MATERIAL PARAMETER (MU9). . . . . . . . . .=',1pg20.13/
248 & 5x,
'MATERIAL PARAMETER (ALPHA9) . . . . . . . .=',1pg20.13/
249 & 5x,
'MATERIAL PARAMETER (D9) . . . . . . . . . .=',1pg20.13)
251 & 5x,
'MATERIAL PARAMETER (MU10) . . . . . . . . .=',1pg20.13/
252 & 5x,
'MATERIAL PARAMETER (ALPHA10). . . . . . . .=',1pg20.13/
253 & 5x,
'MATERIAL PARAMETER (D10). . . . . . . . . .=',1pg20.13)
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)