41#include "implicit_f.inc"
51 INTEGER,
INTENT(IN) :: IPM(NPROPMI,NUMMAT)
53 . pm(npropm,nummat), bufmat(*)
54 TYPE(mat_elem_) ,
INTENT(IN) :: MAT_ELEM
58 INTEGER :: I,J,MY_MAT,IADBUF,NUPARAM,NIPARAM,NFAIL,IVISC,IVAR
59 INTEGER :: IRUPT,FAIL_ID,FAIL_IP,NUVAR,NFUNCF,NTABF,NMOD,NBMAT,MID,IEOS
60 CHARACTER(LEN=NCHARTITLE) :: TITR
61 CHARACTER (LEN=255) :: VARNAME
62 DOUBLE PRECISION TEMP_DOUBLE,PTHK
68 CALL fretitl2(titr,ipm(npropmi-ltitr+1,my_mat),ltitr)
69 titr = mat_elem%MAT_PARAM(my_mat)%TITLE
73 IF(len_trim(titr)/=0)
THEN
74 CALL qaprint(titr(1:len_trim(titr)),ipm(1,my_mat),0.0_8)
76 CALL qaprint(
'A_MAT_FAKE_NAME',ipm(1,my_mat),0.0_8)
79 IF(ipm(i,my_mat) /=0)
THEN
82 WRITE(varname,
'(A,I0)')
'IPM_',i
83 CALL qaprint(varname(1:len_trim(varname)),ipm(i,my_mat),0.0_8)
87 IF(pm(i,my_mat)/=zero)
THEN
90 WRITE(varname,
'(A,I0)')
'PM_',i
91 temp_double = pm(i,my_mat)
92 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
98 IF(bufmat(iadbuf+i-1)/=zero)
THEN
101 WRITE(varname,
'(A,I0)')
'BUFMAT_',i
102 temp_double = bufmat(iadbuf+i-1)
103 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
109 nfail = mat_elem%MAT_PARAM(my_mat)%NFAIL
111 CALL qaprint(
'NUMBER OF FAILURE MODELS',nfail,0.0_8)
114 irupt = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%IRUPT
115 fail_id = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%FAIL_ID
116 nuparam = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%NUPARAM
117 niparam = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%NIPARAM
118 nuvar = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%NUVAR
119 nfuncf = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%NFUNC
120 ntabf = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%NTABLE
121 nmod = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%NMOD
122 fail_ip = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%FAIL_IP
123 pthk = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%PTHK
125 CALL qaprint(
' FAIL MODEL TYPE',irupt,0.0_8)
126 CALL qaprint(
' FAIL_ID',fail_id,0.0_8)
127 CALL qaprint(
' FAIL_IP',fail_ip,0.0_8)
129 CALL qaprint(
' NUMBER OF STATE VARIABLES',nuvar,0.0_8)
130 CALL qaprint(
' NUMBER OF FAILURE MODES',nmod,0.0_8)
132 CALL qaprint(
' NUPARAM',nuparam,0.0_8)
134 temp_double = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%UPARAM(j)
135 IF (temp_double /= zero)
THEN
136 WRITE(varname,
'(A,I0,A,I0)')
'UPARF_',i,
'_',j
137 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
140 CALL qaprint(
' NIPARAM',niparam,0.0_8)
142 ivar = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%IPARAM(j)
144 WRITE(varname,
'(A,I0)')
'IPARF_',j
145 CALL qaprint(varname(1:len_trim(varname)),ivar,0.0_8)
148 CALL qaprint(
' NFUNC',nfuncf,0.0_8)
150 ivar = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%IFUNC(j)
152 WRITE(varname,
'(A,I0)')
'IFUNC_',j
153 CALL qaprint(varname(1:len_trim(varname)),ivar,0.0_8)
156 CALL qaprint(' ntable
',NTABF,0.0_8)
158 IVAR = MAT_ELEM%MAT_PARAM(MY_MAT)%FAIL(I)%TABLE(J)
160 WRITE(VARNAME,'(a,i0)
') 'table_
',J
161 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),IVAR,0.0_8)
169 IVISC = MAT_ELEM%MAT_PARAM(MY_MAT)%IVISC
171 CALL QAPRINT('** visc_model
',I,0.0_8)
172 NUPARAM = MAT_ELEM%MAT_PARAM(MY_MAT)%VISC%NUPARAM
173 NIPARAM = MAT_ELEM%MAT_PARAM(MY_MAT)%VISC%NIPARAM
175 TEMP_DOUBLE = MAT_ELEM%MAT_PARAM(MY_MAT)%VISC%UPARAM(J)
176 IF (TEMP_DOUBLE /= ZERO) THEN
177 WRITE(VARNAME,'(a,i0)
') 'uparv_',j
178 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
182 ivar = mat_elem%MAT_PARAM(my_mat)%VISC%IPARAM(j)
184 WRITE(varname,
'(A,I0)')
'IPARV_',j
185 CALL qaprint(varname(1:len_trim(varname)),ivar,0.0_8)
193 ieos = mat_elem%MAT_PARAM(my_mat)%IEOS
222 CALL qaprint(
'** EOS_MODEL > POLYNOMIAL',ieos,0.0_8)
224 CALL qaprint(
'** EOS_MODEL > GRUNEISEN',ieos,0.0_8)
226 CALL qaprint(
'** EOS_MODEL > TILLOTSON',ieos,0.0_8)
228 CALL qaprint(
'** EOS_MODEL > PUFF',ieos,0.0_8)
230 CALL qaprint(
'** EOS_MODEL > SESAME',ieos,0.0_8)
232 CALL qaprint(
'** EOS_MODEL > NOBLE-ABEL',ieos,0.0_8)
234 CALL qaprint(
'** EOS_MODEL > IDEAL-GAS',ieos,0.0_8)
236 CALL qaprint(
'** EOS_MODEL > MUNAGHAN',ieos,0.0_8)
238 CALL qaprint(
'** EOS_MODEL > OSBORNE',ieos,0.0_8)
240 CALL qaprint(
'** EOS_MODEL > STIFFENED-GAS',ieos,0.0_8)
242 CALL qaprint(
'** EOS_MODEL > LSZK',ieos,0.0_8)
244 CALL qaprint(
'** EOS_MODEL > POWDER-BURN',ieos,0.0_8)
246 CALL qaprint(
'** EOS_MODEL > COMPACTION',ieos,0.0_8)
248 CALL qaprint(
'** EOS_MODEL > NASG',ieos,0.0_8)
250 CALL qaprint(
'** EOS_MODEL > JWL',ieos,0.0_8)
252 CALL qaprint(
'** EOS_MODEL > IDEAL-GAS-VT',ieos,0.0_8)
254 CALL qaprint(
'** EOS_MODEL > TABULATED',ieos,0.0_8)
256 CALL qaprint(
'** EOS_MODEL > LINEAR',ieos,0.0_8)
258 CALL qaprint(
'** EOS_MODEL > EXPONENTIAL',ieos,0.0_8)
260 CALL qaprint(
'** EOS_MODEL > COMPACTION2',ieos,0.0_8)
262 CALL qaprint(
'** EOS_MODEL > COMPACTION_TAB',ieos,0.0_8)
264 CALL qaprint(
'** EOS_MODEL ',ieos,0.0_8)
266 nuparam = mat_elem%MAT_PARAM(my_mat)%EOS%NUPARAM
267 niparam = mat_elem%MAT_PARAM(my_mat)%EOS%NIPARAM
268 nfuncf = mat_elem%MAT_PARAM(my_mat)%EOS%NFUNC
269 ntabf = mat_elem%MAT_PARAM(my_mat)%EOS%NTABLE
270 IF(nuparam > 0)
CALL qaprint(
'EOS_NUPARAM',nuparam,0.0_8)
271 IF(niparam > 0)
CALL qaprint(
'EOS_NIPARAM',niparam,0.0_8)
272 IF(nfuncf > 0)
CALL qaprint(
'EOS_NFUNCF',nfuncf,0.0_8)
273 IF(ntabf > 0)
CALL qaprint(
'EOS_NTABF',ntabf,0.0_8)
275 temp_double = mat_elem%MAT_PARAM(my_mat)%EOS%UPARAM(j)
276 IF (temp_double /= zero)
THEN
277 WRITE(varname,
'(A,I0)')
'EOS_UPARAM_',j
278 CALL qaprint(varname(1:len_trim(varname)
282 ivar = mat_elem%MAT_PARAM(my_mat)%EOS%IPARAM(j)
284 WRITE(varname,
'(A,I0)')
'EOS_IPARAM_',j
285 CALL qaprint(varname(1:len_trim(varname)),ivar,0.0_8)
289 ivar = mat_elem%MAT_PARAM(my_mat)%EOS%FUNC(j)
291 WRITE(varname,
'(A,I0)')
'EOS_FUNC_',j
292 CALL qaprint(varname(1:len_trim(varname)),ivar,0.0_8)
296 ivar = mat_elem%MAT_PARAM(my_mat)%EOS%TABLE(j)%notable
298 WRITE(varname,
'(A,I0)')
'EOS_TABLE_',j
299 CALL qaprint(varname(1:len_trim(varname)),ivar,0.0_8)
307 nbmat = mat_elem%MAT_PARAM(my_mat)%MULTIMAT%NB
310 mid = mat_elem%MAT_PARAM(my_mat)%MULTIMAT%MID(j)
311 temp_double = mat_elem%MAT_PARAM(my_mat)%MULTIMAT%VFRAC(j)
312 IF (temp_double /= zero)
THEN
313 WRITE(varname,
'(A,I0)')
'MID_',j
314 CALL qaprint(varname(1:len_trim(varname)),mid,0.0_8)
315 WRITE(varname,
'(A,I0)')
'VFRAC_',j
316 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)