42 . MTAG ,PM ,MAT_ID ,TITR ,IPM ,
43 . JTHE ,BUFMAT ,MFI ,IDF ,LSUBMODEL,
57#include "implicit_f.inc"
67 INTEGER,
INTENT(INOUT) :: JTHE,MFI,
68 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
69 INTEGER,
INTENT(IN) :: MAT_ID
70 INTEGER,
DIMENSION(NPROPMI) ,
INTENT(INOUT) :: IPM
71 my_real,
DIMENSION(NPROPM) ,
INTENT(INOUT) :: pm
73 TYPE(
submodel_data),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
75 my_real ,
DIMENSION(*),
INTENT(INOUT) :: bufmat
76 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
80 INTEGER I1, MAT, NR, NT, IDR, IDT, IDP, IDE, IDQ,ILAW
82 . YOUNG, ANU, CA, CB, CN, EPSM, SIGM, E0, CC, EPS0, CM, TMELT,
83 . tmax, g, c1, rho, unit, status, form, xnr, xnt, t0, p0, dpdr,
84 . xkl, xlamb, atom, sig, xkmax, rho0, dydz,rhor,eps0_unit
86 CHARACTER(ncharline) :: FILE, VIDE
88 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
91 is_encrypted = .false.
92 is_available = .false.
99 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
100 CALL hm_get_floatv(
'Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
102 CALL hm_get_floatv(
'MAT_E' ,young ,is_available, lsubmodel, unitab)
103 CALL hm_get_floatv(
'MAT_NU' ,anu ,is_available, lsubmodel, unitab)
105 CALL hm_get_floatv(
'MAT_SIGY' ,ca ,is_available, lsubmodel, unitab)
106 CALL hm_get_floatv(
'MAT_BETA' ,cb ,is_available, lsubmodel, unitab)
107 CALL hm_get_floatv(
'MAT_HARD' ,cn ,is_available, lsubmodel, unitab)
108 CALL hm_get_floatv(
'MAT_EPS' ,epsm ,is_available, lsubmodel, unitab)
109 CALL hm_get_floatv(
'MAT_SIG' ,sigm ,is_available, lsubmodel, unitab
115 CALL hm_get_floatv(
'MAT_SRC' ,cc ,is_available, lsubmodel, unitab)
116 CALL hm_get_floatv(
'MAT_SRP' ,eps0 ,is_available, lsubmodel, unitab)
117 CALL hm_get_floatv(
'MAT_M' ,cm ,is_available, lsubmodel, unitab)
118 CALL hm_get_floatv(
'MAT_TMELT' ,tmelt ,is_available, lsubmodel, unitab)
119 CALL hm_get_floatv(
'MAT_TMAX' ,tmax ,is_available, lsubmodel, unitab)
123 IF (cn == zero .OR. cn == one) cn = onep0001
124 IF (epsm == zero) epsm = infinity
125 IF (sigm == zero) sigm = infinity
126 IF (cc == zero) eps0 = one*eps0_unit
127 IF (cm == zero) cm = one
128 IF (tmelt == zero)tmelt = infinity
129 IF (tmax == zero) tmax = infinity
131 g=young/(two*(one+anu))
132 c1=young/(three*(one-two*anu))
133 IF (rhor == zero) rhor=rho0
160 IF(len(trim(file))==0)
THEN
161 CALL ancmsg(msgid=19,msgtype=msgerror,anmode=aninfo,i1=mat_id,c1=
'MATERIAL',c2=
'MATERIAL',c3=titr,c4=trim(file))
163 OPEN(unit=31,file=file,status=
'OLD',form=
'FORMATTED',err=998)
167 READ(31,
'(2E15.0)') xnr,xnt
179 mfi = mfi + idf - idr
181 bufmat(idr:idf-1) = zero
183 CALL mrdse2(bufmat(idr),nr,
184 + bufmat(idt),nt,bufmat(idp),bufmat(ide))
190 + bufmat(idt),nt,bufmat(ide),rho0,t0,e0/rho0,dydz)
192 + bufmat(idt),nt,bufmat(idp),rho0,t0,p0,dpdr)
194 WRITE(iout,1100) trim(titr),mat_id,ilaw
196 IF (is_encrypted)
THEN
197 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
199 WRITE(iout,1200) rho0,rhor
200 WRITE(iout,1300) young,anu,g
201 WRITE(iout,1400) ca,cb,cn,epsm,sigm
202 WRITE(iout,1500) file(1:len(trim(file))),p0,t0,e0
203 WRITE(iout,1600) cc,eps0,cm,tmelt,tmax
206 IF (eps0 == zero)
THEN
224 CALL hm_get_floatv(
'K_Lor' ,xkl ,is_available, lsubmodel, unitab)
225 CALL hm_get_floatv(
'MAT_Lamda' ,xlamb ,is_available, lsubmodel, unitab)
226 CALL hm_get_floatv(
'MAT_A' ,atom ,is_available, lsubmodel, unitab)
227 CALL hm_get_floatv(
'MAT_K' ,xkmax ,is_available, lsubmodel, unitab)
229 IF (file /= vide) jthe = 1
230 IF (xkmax ==zero) xkmax = infinity
233 IF(len(trim(file))==0)
THEN
234 CALL ancmsg(msgid=19,msgtype=msgerror,anmode=aninfo,i1=mat_id,c1=
'MATERIAL',c2=
'MATERIAL',c3=titr,c4=trim(file))
236 OPEN(unit=31,file=file,status=
'OLD',form=
'FORMATTED',err=998)
239 READ(31,
'(2E15.0)') xnr,xnt
250 mfi = mfi + idf - idr
252 bufmat(idr:idf-1) = zero
254 CALL mrdse3(bufmat(idr),nr,bufmat(idt),nt,bufmat(idq))
263 WRITE(iout,1700) file(1:len(trim(file))),xkl,xlamb,atom,xkmax
271 CALL hm_get_floatv(
'Sigma_k' ,sig ,is_available, lsubmodel, unitab)
274 IF(len(trim(file))==0)
THEN
275 CALL ancmsg(msgid=19,msgtype=msgerror,anmode=aninfo,i1=mat_id,c1=
'MATERIAL',c2=
'MATERIAL',c3=titr,c4=trim(file))
277 OPEN(unit=31,file=file,status=
'OLD',form=
'FORMATTED',err=998)
280 READ(31,
'(2E15.0)')xnr,xnt
291 mfi = mfi + idf - idr
293 bufmat(idr:idf-1) = zero
295 CALL mrdse3(bufmat(idr),nr,bufmat(idt),nt,bufmat(idq))
299 IF (jthe /= 0 .AND. .not. is_encrypted)
WRITE(iout,1800)file(1:len(trim(file))),sig
345 & 5x,40h johnson cook -
sesame law ,/,
346 & 5x,40h ----------------------- ,//)
349 & 5x,
'MATERIAL NUMBER . . . . . . . . . . . .=',i10/,
350 & 5x,
'MATERIAL LAW. . . . . . . . . . . . . .=',i10/)
352 & 5x,
'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/,
353 & 5x,
'REFERENCE DENSITY . . . . . . . . . . .=',1pg20.13/)
355 & 5x,40hyoung
'S MODULUS . . . . . . . . . . . .=,E12.4/,
356 & 5X,40HPOISSON's ratio . . . . . . . . . . . .=,e12.4/,
357 & 5x,40hshear modulus . . . . . . . . . . . . .=,e12.4//)
359 & 5x,40hyield coefficient ca. . . . . . . . . .=,e12.4/,
360 & 5x,40hyield coefficient cb. . . . . . . . . .=,e12.4/,
361 & 5x,40hyield coefficient cn. . . . . . . . . .=,e12.4/,
362 & 5x,40heps-
max . . . . . . . . . . . . . . . .=,e12.4/,
363 & 5x,40hsig-
max . . . . . . . . . . . . . . . .=,e12.4//)
365 & 5x,
'SESAME EOS TABLE :',a/,
366 & 5x,40hinitial pressure. . . . . . . . . . . .=,e12.4/,
367 & 5x,40hinitial temperature . . . . . . . . . .=,e12.4/,
368 & 5x,40hinitial internal energy per unit volume=,e12.4//)
370 & 5x,40hstrain rate coefficient cc. . . . . . .=,e12.4/,
371 & 5x,40hreference strain rate . . . . . . . . .=,e12.4/,
372 & 5x,40htemperature exponent. . . . . . . . . .=,e12.4/,
373 & 5x,40hmelting temperature degree k. . . . . .=,e12.4/,
374 & 5x,40htheta-
max . . . . . . . . . . . . . . .=,e12.4//)
376 & 5x,
'ELECTRON THERMAL CONDUCTIVITY',/,
377 & 5x,
'-----------------------------',/,
378 & 5x,
'SESAME IONIZATION TABLE :',a/,
379 & 5x,40hlorentz conductivity coefficient. . . .=,e12.4/,
380 & 5x,40hlambda coefficient. . . . . . . . . . .=,e12.4/,
381 & 5x,40hatomic weight . . . . . . . . . . . . .=,e12.4/,
382 & 5x,40hmaximum conductivity. . . . . . . . . .=,e12.4//)
386 & 5x,
'SESAME ROSSELAND OPACITY TABLE :',a/,
387 & 5x,40hstefan-boltzmann constant . . . . . . .=,e12.4//)
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)