39 . MAXFUNC ,MTAG ,PARMAT ,UNITAB ,
40 . PM ,LSUBMODEL, ID ,TITR ,IMATVIS,
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
85 INTEGER,
INTENT(INOUT) :: MFUNC,NUPARAM,NUVAR,IMATVIS
87 INTEGER,
INTENT(IN) :: ID,MAXFUNC,MAXUPARAM
88 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
90 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
95 INTEGER :: I,J,ILAW ,EFLAG
96 my_real :: RHO0, RHOR,E,NU,G,C1,EPSL,GM,KM,
97 . yld_ass,yld_asf, yld_sas,yld_saf,
alpha,
98 . lamda,emart,cas,csa,tsas,tfas, tssa,tfsa,cp,tini
100 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
104 is_encrypted = .false.
105 is_available = .false.
112 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
121 CALL hm_get_floatv(
'nu' ,nu ,is_available, lsubmodel, unitab)
122 CALL hm_get_floatv(
'E_mart' ,emart ,is_available, lsubmodel, unitab)
124 CALL hm_get_floatv(
'Sig_sas' ,yld_ass ,is_available, lsubmodel, unitab)
125 CALL hm_get_floatv(
'Sig_fas' ,yld_asf ,is_available, lsubmodel, unitab)
126 CALL hm_get_floatv(
'Sig_ssa' ,yld_sas ,is_available, lsubmodel, unitab)
127 CALL hm_get_floatv(
'Sig_fsa' ,yld_saf ,is_available, lsubmodel, unitab)
130 CALL hm_get_floatv(
'EpsL' ,epsl ,is_available, lsubmodel, unitab)
131 CALL hm_get_floatv(
'CAS' ,cas ,is_available, lsubmodel, unitab)
132 CALL hm_get_floatv(
'CSA' ,csa ,is_available, lsubmodel, unitab)
133 CALL hm_get_floatv(
'TSAS' ,tsas ,is_available, lsubmodel, unitab)
134 CALL hm_get_floatv(
'TFAS' ,tfas ,is_available, lsubmodel, unitab)
136 CALL hm_get_floatv(
'TSSA' ,tssa ,is_available, lsubmodel, unitab)
137 CALL hm_get_floatv(
'TFSA' ,tfsa ,is_available, lsubmodel, unitab)
138 CALL hm_get_floatv(
'CP' ,cp ,is_available, lsubmodel, unitab)
139 CALL hm_get_floatv(
'TINI' ,tini ,is_available, lsubmodel, unitab)
142 IF (yld_ass >= yld_asf)
145 . anmode=aninfo_blind_1,
149 IF (yld_sas <= yld_saf )
152 . anmode=aninfo_blind_1,
156 IF (
alpha > sqrt(two/three) )
159 . anmode=aninfo_blind_1,
164 IF(yld_ass == zero) yld_ass = em20
165 IF(yld_asf == zero) yld_asf = em20
166 IF(yld_sas == zero) yld_sas = em20
167 IF(yld_saf == zero) yld_saf = em20
169 IF(tssa == zero) tssa = 298.0
170 IF(tfsa == zero) tfsa = 298.0
171 IF(tsas == zero) tsas = 298.0
172 IF(tfas == zero) tfas = 298.0
175 IF(cp == zero) cp = ep20
176 IF(tini == zero) tini = 360.0
177 IF(emart /= zero) eflag = 1
178 IF(emart == e) eflag = 0
181 g = half*e/(one + nu)
182 lamda = e*(one-nu)/(one + nu)/(one - two*nu)
183 c1 = e/three/(one - two*nu)
187 IF (eflag == 1 )
THEN
188 gm = half*emart/(one + nu)
189 km = emart/three/(one - two*nu)
206 uparam(12 ) = e/(one - nu**2)
207 uparam(13) = nu*e/(one - nu**2)
233 parmat(17) = (one - two*nu)/(one - nu)
238 pm(27) = sqrt(e/
max(rhor,em20))
254 WRITE(iout,1000) trim(titr),id,71
256 IF (is_encrypted)
THEN
257 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
259 WRITE(iout,1001) rho0
260 WRITE(iout,1300)e,nu,yld_ass, yld_asf,yld_sas, yld_saf,
alpha,epsl,emart
261 WRITE(iout,1200)cas,csa,tsas,tfas,tssa,tfsa,cp,tini
267 & 5x,
'MATERIAL NUMBER. . . . . . . . . . . . . . . . . =',i10/,
268 & 5x,
'MATERIAL LAW . . . . . . . . . . . . . . . . . . =',i10/)
270 & 5x,
'INITIAL DENSITY . . . . . . . . . . . . . . . =',1pg20.13/)
272 & 5x,
' SUPERELASTIC MATERIAL FOR SHAPE MEMORY ALLOYS LAW71 ',/,
273 & 5x,
' --------------------------------------------------- ',//)
275 & 5x,
'YOUNG''S MODULUS. . . . . . . . . . . . . . . . .=',1pg20.13/,
276 & 5x,
'POISSON''S RATIO. . . . . . . . . . . . . . . . .=',1pg20.13/,
277 & 5x,
'STARTING STRESS VALUE FOR TRANSFORMATION (AS) . .=',1pg20.13/,
278 & 5x,
'FINAL STRESS VALUE FOR TRANSFORMATION (AS). . . .=',1pg20.13/,
279 & 5x,
'STARTING STRESS VALUE FOR TRANSFORMATION (SA) . .=',1pg20.13/,
280 & 5x,
'FINAL STRESS VALUE FOR TRANSFORMATION (SA). . . .=',1pg20.13/,
281 & 5x,
'PARAMETER ALPHA . . . . . . . . . . . . . . . . .=',1pg20.13/,
282 & 5x,
'MAXIMUM RESIDUAL STRAIN. . . . . . . . . . . . . =',1pg20.13/,
283 & 5x,
'MARTENSITE YOUNG''S MODULUS . . . . . . . . . . .=',1pg20.13/)
285 & 5x,
'MATERIAL PARAMETER C_AS . . . . . . . . . . . . .=',1pg20.13/,
286 & 5x,
'MATERIAL PARAMETER C_SA . . . . . . . . . . . . .=',1pg20.13/,
287 & 5x,
'INITIAL TEMPERATURE FOR TRANSFORMATION (AS) . . .=',1pg20.13/,
288 & 5x,
'FINAL TEMPERATURE FOR TRANSFORMATION (AS) . . .=',1pg20.13/,
289 & 5x,
'INITIAL TEMPERATURE FOR TRANSFORMATION (SA) . . .=',1pg20.13/,
290 & 5x,
'FINAL TEMPERATURE FOR TRANSFORMATION (SA) . . .=',1pg20.13/,
291 & 5x,
'SPECIFIC HEAT CAPACITY. . . . . . . . . . . . . .=',1pg20.13/,
292 & 5x,
'INITIAL TEMPERATURE . . . . . . . . . . . . . . .=',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)