32
33
34
36 USE mat_elem_mod
38
39
40
41#include "implicit_f.inc"
42
43
44
45#include "com04_c.inc"
46#include "param_c.inc"
47#include "scr17_c.inc"
48
49
50
51 INTEGER, INTENT(IN) :: IPM(NPROPMI,NUMMAT)
53 . pm(npropm,nummat), bufmat(*)
54 TYPE(MAT_ELEM_) ,INTENT(IN) :: MAT_ELEM
55
56
57
58 INTEGER I,J,, MY_ID,MY_MAT,IADBUF,NUPARAM,NIPARAM,NFAIL,IVISC,IVAR,
59 . IRUPT,FAIL_ID,FAIL_IP,NUVAR,NFUNCF,NTABF,NMOD,NBMAT,MID
60 CHARACTER(LEN=NCHARTITLE) :: TITR
61 CHARACTER (LEN=255) :: VARNAME
62 DOUBLE PRECISION TEMP_DOUBLE,PTHK
63 LOGICAL :: OK_QA
64
66 IF (ok_qa) THEN
67 DO my_mat=1,nummat-1
68 CALL fretitl2(titr,ipm(npropmi-ltitr+1,my_mat),ltitr)
69 titr = mat_elem%MAT_PARAM(my_mat)%TITLE
70
71
72
73 IF(len_trim(titr)/=0)THEN
74 CALL qaprint(titr(1:len_trim(titr)),ipm(1,my_mat),0.0_8)
75 ELSE
76 CALL qaprint(
'A_MAT_FAKE_NAME',ipm(1,my_mat),0.0_8)
77 END IF
78 DO i=1,npropmi-ltitr
79 IF(ipm(i,my_mat) /=0)THEN
80
81
82 WRITE(varname,'(A,I0)') 'IPM_',i
83 CALL qaprint(varname(1:len_trim(varname)),ipm(i,my_mat),0.0_8)
84 END IF
85 END DO
86 DO i=1,npropm
87 IF(pm(i,my_mat)/=zero)THEN
88
89
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)
93 END IF
94 END DO
95 iadbuf =ipm(7,my_mat)
96 nuparam=ipm(9,my_mat)
97 DO i=1,nuparam
98 IF(bufmat(iadbuf+i-1)/=zero)THEN
99
100
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)
104 END IF
105 END DO
106
107
108
109 nfail = mat_elem%MAT_PARAM(my_mat)%NFAIL
110 IF (nfail > 0) THEN
111 CALL qaprint(
'NUMBER OF FAILURE MODELS',nfail,0.0_8)
112
113 DO i=1,nfail
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
124
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)
131
132 CALL qaprint(
' NUPARAM',nuparam,0.0_8)
133 DO j=1,nuparam
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)
138 END IF
139 END DO
140 CALL qaprint(
' NIPARAM',niparam,0.0_8)
141 DO j=1,niparam
142 ivar = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%IPARAM(j)
143 IF (ivar /= 0) THEN
144 WRITE(varname,'(A,I0)') 'IPARF_',j
145 CALL qaprint(varname(1:len_trim(varname)),ivar
146 END IF
147 END DO
148 CALL qaprint(
' NFUNC',nfuncf,0.0_8)
149 DO j=1,nfuncf
150 ivar = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%IFUNC(j)
151 IF (ivar /= 0) THEN
152 WRITE(varname,'(A,I0)') 'IFUNC_',j
153 CALL qaprint(varname(1:len_trim(varname)),ivar,0.0_8)
154 END IF
155 END DO
156 CALL qaprint(
' NTABLE',ntabf,0.0_8)
157 DO j=1,ntabf
158 ivar = mat_elem%MAT_PARAM(my_mat)%FAIL(i)%TABLE(j)
159 IF (ivar /= 0) THEN
160 WRITE(varname,'(A,I0)') 'TABLE_',j
161 CALL qaprint(varname(1:len_trim(varname)),ivar,0.0_8)
162 END IF
163 END DO
164 END DO
165 END IF
166
167
168
169 ivisc = mat_elem%MAT_PARAM(my_mat)%IVISC
170 IF (ivisc > 0) THEN
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
174 DO j=1,nuparam
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)
179 END IF
180 END DO
181 DO j=1,niparam
182 ivar = mat_elem%MAT_PARAM(my_mat)%VISC%IPARAM(j)
183 IF (ivar /= 0) THEN
184 WRITE(varname,'(A,I0)') 'IPARV_',j
185 CALL qaprint(varname(1:len_trim(varname)),ivar,0.0_8)
186 END IF
187 END DO
188 END IF
189
190
191
192
193 nbmat = mat_elem%MAT_PARAM(my_mat)%MULTIMAT%NB
194 IF (nbmat > 0) THEN
195 DO j=1,nbmat
196 mid = mat_elem%MAT_PARAM(my_mat)%MULTIMAT%MID(j)
197 temp_double = mat_elem%MAT_PARAM(my_mat)%MULTIMAT%VFRAC(j)
198 IF (temp_double /= zero) THEN
199 WRITE(varname,'(A,I0)') 'MID_',j
200 CALL qaprint(varname(1:len_trim(varname)),mid,0
201 WRITE(varname,'(A,I0)') 'VFRAC_',j
202 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
203 END IF
204 END DO
205 END IF
206
207
208 END DO
209 END IF
210
211 RETURN
integer, parameter nchartitle
logical function myqakey(value)
@purpose Check if a given value is part of the values set by env variable Useful to make a condition ...
subroutine qaprint(name, idin, value)
@purpose print one entry to QA extract file example of call for real print CALL QAPRINT('MY_LABEL',...