39 use element_mod ,
only : nixs,nixc,nixtg
43#include "implicit_f.inc"
52 INTEGER,
INTENT(IN) :: TAGXREF(NUMNOD),IXC(NIXC,*),IXTG(NIXTG,*),IXS(NIXS,*)
54 . xrefc(4,3,numelc),xreftg(3,3,numeltg),xrefs(8,3,numels8)
58 INTEGER IE,IN,,TEMP_INT,NC,ELEM_ID,WORK(70000)
59 CHARACTER (LEN=255) ::
60 DOUBLE PRECISION TEMP_DOUBLE
61 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: INDEX,ITR1
72 WRITE(varname,
'(A)')
'NXREF'
74 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
81 IF (tagxref(nn) == 1)
THEN
83 WRITE(varname,
'(A)')
'XREFC_NODE'
85 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
87 WRITE(varname,
'(A)')
'XREFC_X'
88 temp_double = xrefc(in,1,ie)
89 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
91 WRITE(varname,
'(A)')
'XREFC_Y'
92 temp_double = xrefc(in,2,ie)
93 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
95 WRITE(varname,'(a)
') 'xrefc_z
'
96 TEMP_DOUBLE = XREFC(IN,3,IE)
97 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
105 IF (TAGXREF(NN) == 1) THEN
107 WRITE(VARNAME,'(a)
') 'xreftg_node
'
109 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
110 ! Coordinate X of the node
111 WRITE(VARNAME,'(a)
') 'xreftg_x
'
112 TEMP_DOUBLE = XREFTG(IN,1,IE)
113 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
114 ! Coordinate Y of the node
115 WRITE(VARNAME,'(a)
') 'xreftg_y
'
116 TEMP_DOUBLE = XREFTG(IN,2,IE)
117 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
118 ! Coordinate Z of the node
119 WRITE(VARNAME,'(a)
') 'xreftg_z
'
120 TEMP_DOUBLE = XREFTG(IN,3,IE)
121 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
129 IF (TAGXREF(NN) == 1) THEN
131 WRITE(VARNAME,'(a)
') 'xrefs_node
'
133 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
134 ! Coordinate X of the node
135 WRITE(VARNAME,'(a)
') 'xrefs_x
'
136 TEMP_DOUBLE = XREFS(IN,1,IE)
137 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
138 ! Coordinate Y of the node
139 WRITE(VARNAME,'(a)
') 'xrefs_y
'
140 TEMP_DOUBLE = XREFS(IN,2,IE)
141 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
142 ! Coordinate Z of the node
143 WRITE(VARNAME,'(a)
') 'xrefs_z
'
144 TEMP_DOUBLE = XREFS(IN,3,IE)
145 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
157 IF (MYQAKEY('/eref
')) THEN
159 WRITE(VARNAME,'(a)
') 'neref
'
161 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
165 CALL MY_ALLOC(INDEX,2*NUMELC)
166 CALL MY_ALLOC(ITR1,NUMELC)
169 ITR1(IE)=IXC(NIXC,IE)
171 CALL MY_ORDERS(0,WORK,ITR1,INDEX,NUMELC,1)
175 ELEM_ID = IXC(NIXC,NC)
179 IF (TAGXREF(NN) /= 1) THEN
181 WRITE(VARNAME,'(a,i0)
') 'eref_shell_element_node
',IN
183 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
184 IF (XREFC(IN,1,NC) > 0) THEN
185 ! Coordinate X of the node
186 WRITE(VARNAME,'(a)
') 'erefc_x
'
187 TEMP_DOUBLE = XREFC(IN,1,NC)
188 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
190 IF (XREFC(IN,2,NC) > 0) THEN
191 ! Coordinate Y of the node
192 WRITE(VARNAME,'(a)
') 'erefc_y
'
193 TEMP_DOUBLE = XREFC(IN,2,NC)
194 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
196 IF (XREFC(IN,3,NC) > 0) THEN
197 ! Coordinate Z of the node
198 WRITE(VARNAME,'(a)
') 'erefc_z
'
199 TEMP_DOUBLE = XREFC(IN,3,NC)
200 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
206 DEALLOCATE(INDEX,ITR1)
208 CALL MY_ALLOC(INDEX,2*NUMELTG)
209 CALL MY_ALLOC(ITR1,NUMELTG)
212 ITR1(IE)=IXTG(NIXTG,IE)
214 CALL MY_ORDERS(0,WORK,ITR1,INDEX,NUMELTG,1)
218 ELEM_ID = IXTG(NIXTG,NC)
222 IF (TAGXREF(NN) /= 1) THEN
224 WRITE(VARNAME,'(a,i0)
') 'eref_sh3n_element_node
',IN
226 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
227 IF (XREFTG(IN,1,NC) > 0) THEN
228 ! Coordinate X of the node
229 WRITE(VARNAME,'(a)
') 'ereftg_x
'
230 TEMP_DOUBLE = XREFTG(IN,1,NC)
231 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
233 IF (XREFTG(IN,2,NC) > 0) THEN
234 ! Coordinate Y of the node
235 WRITE(VARNAME,'(a)
') 'ereftg_y
'
236 TEMP_DOUBLE = XREFTG(IN,2,NC)
237 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
239 IF (XREFTG(IN,3,NC) > 0) THEN
240 ! Coordinate Z of the node
241 WRITE(VARNAME,'(a)
') 'ereftg_z
'
242 TEMP_DOUBLE = XREFTG(IN,3,NC)
243 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
249 DEALLOCATE(INDEX,ITR1)
251 CALL MY_ALLOC(INDEX,2*NUMELS8)
252 CALL MY_ALLOC(ITR1,NUMELS8)
255 ITR1(IE)=IXS(NIXS,IE)
257 CALL MY_ORDERS(0,WORK,ITR1,INDEX,NUMELS8,1)
261 ELEM_ID = IXS(NIXS,NC)
265 IF (TAGXREF(NN) /= 1) THEN
267 WRITE(VARNAME,'(a,i0)
') 'eref_solid_element_node
',IN
269 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
270 IF (XREFS(IN,1,NC) > 0) THEN
271 ! Coordinate X of the node
272 WRITE(VARNAME,'(a)
') 'erefs_x
'
273 TEMP_DOUBLE = XREFS(IN,1,NC)
274 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
276 IF (XREFS(IN,2,NC) > 0) THEN
277 ! Coordinate Y of the node
278 WRITE(VARNAME,'(a)
') 'erefs_y
'
279 TEMP_DOUBLE = XREFS(IN,2,NC)
280 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
282 IF (XREFS(IN,3,NC) > 0) THEN
283 ! Coordinate Z of the node
284 WRITE(VARNAME,'(a)
') 'erefs_z
'
285 TEMP_DOUBLE = XREFS(IN,3,NC)
286 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
292 DEALLOCATE(INDEX,ITR1)
subroutine qaprint(name, idin, value)
@purpose print one entry to QA extract file example of call for real print CALL QAPRINT('MY_LABEL',...