42#include "implicit_f.inc"
51 INTEGER,
INTENT(IN) :: TAGXREF(NUMNOD),IXC(NIXC,*),IXTG(NIXTG,*),IXS(NIXS,*)
53 . xrefc(4,3,numelc),xreftg(3,3,numeltg),xrefs(8,3,numels8)
57 INTEGER IE,IN,NN,TEMP_INT,NC,ELEM_ID,WORK(70000)
58 CHARACTER (LEN=255) :: VARNAME
59 DOUBLE PRECISION TEMP_DOUBLE
60 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: INDEX,ITR1
71 WRITE(varname,
'(A)')
'NXREF'
73 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
80 IF (tagxref(nn) == 1)
THEN
82 WRITE(varname,
'(A)')
'XREFC_NODE'
84 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
86 WRITE(varname,
'(A)')
'XREFC_X'
87 temp_double = xrefc(in,1,ie)
88 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
90 WRITE(varname,
'(A)')
'XREFC_Y'
91 temp_double = xrefc(in,2,ie)
92 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
94 WRITE(varname,
'(A)')
'XREFC_Z'
95 temp_double = xrefc(in,3,ie)
96 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
104 IF (tagxref(nn) == 1)
THEN
106 WRITE(varname,
'(A)')
'XREFTG_NODE'
110 WRITE(varname
'(A)')
'XREFTG_X'
112 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
114 WRITE(varname,
'(A)')
'XREFTG_Y'
115 temp_double = xreftg(in,2,ie
116 CALL qaprint(varname(1:len_trim(varname
118 WRITE(varname,
'(A)')
'XREFTG_Z'
119 temp_double = xreftg(in,3,ie)
120 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
128 IF (tagxref(nn) == 1)
THEN
130 WRITE(varname,
'(A)')
'XREFS_NODE'
132 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
134 WRITE(varname,
'(A)')
'XREFS_X'
135 temp_double = xrefs(in,1,ie)
136 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
138 WRITE(varname,
'(A)')
'XREFS_Y'
139 temp_double = xrefs(in,2,ie)
140 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
142 WRITE(varname,
'(A)')
'XREFS_Z'
143 temp_double = xrefs(in,3,ie)
144 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
158 WRITE(varname,
'(A)')
'NEREF'
160 CALL qaprint(varname(1:len_trim(varname)
164 CALL my_alloc(index,2*numelc)
165 CALL my_alloc(itr1,numelc)
168 itr1(ie)=ixc(nixc,ie)
170 CALL my_orders(0,work,itr1,index,numelc,1)
174 elem_id = ixc(nixc,nc)
178 IF (tagxref(nn) /= 1)
THEN
180 WRITE(varname,
'(A,I0)')
'EREF_SHELL_ELEMENT_NODE ',in
182 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
183 IF (xrefc(in,1,nc) > 0)
THEN
185 WRITE(varname,
'(A)')
'EREFC_X'
186 temp_double = xrefc(in,1,nc)
187 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
189 IF (xrefc(in,2,nc) > 0)
THEN
191 WRITE(varname,
'(A)')
'EREFC_Y'
192 temp_double = xrefc(in,2,nc)
193 CALL qaprint(varname(1:len_trim(varname
195 IF (xrefc(in,3,nc) > 0)
THEN
197 WRITE(varname,
'(A)')
'EREFC_Z'
198 temp_double = xrefc(in,3,nc)
199 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
205 DEALLOCATE(index,itr1)
207 CALL my_alloc(index,2*numeltg)
208 CALL my_alloc(itr1,numeltg)
211 itr1(ie)=ixtg(nixtg,ie)
213 CALL my_orders(0,work,itr1,index,numeltg,1)
217 elem_id = ixtg(nixtg,nc)
221 IF (tagxref(nn) /= 1)
THEN
223 WRITE(varname,
'(A,I0)')
'EREF_SH3N_ELEMENT_NODE ',in
225 CALL qaprint(varname(1:len_trim
226 IF (xreftg(in,1,nc) > 0)
THEN
228 WRITE(varname,
'(A)')
'EREFTG_X'
229 temp_double = xreftg(in,1,nc)
230 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
232 IF (xreftg(in,2,nc) > 0)
THEN
234 WRITE(varname,
'(A)')
'EREFTG_Y'
235 temp_double = xreftg(in,2,nc)
236 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
238 IF (xreftg(in,3,nc) > 0)
THEN
240 WRITE(varname,
'(A)')
'EREFTG_Z'
241 temp_double = xreftg(in,3,nc)
242 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
248 DEALLOCATE(index,itr1)
250 CALL my_alloc(index,2*numels8)
251 CALL my_alloc(itr1,numels8)
254 itr1(ie)=ixs(nixs,ie)
256 CALL my_orders(0,work,itr1,index,numels8,1)
260 elem_id = ixs(nixs,nc)
264 IF (tagxref(nn) /= 1)
THEN
266 WRITE(varname,
'(A,I0)')
'EREF_SOLID_ELEMENT_NODE ',in
268 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
269 IF (xrefs(in,1,nc) > 0)
THEN
271 WRITE(varname,
'(A)')
'EREFS_X'
272 temp_double = xrefs(in,1,nc)
273 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
275 IF (xrefs(in,2,nc) > 0)
THEN
277 WRITE(varname,
'(A)')
'EREFS_Y'
278 temp_double = xrefs(in,2,nc)
279 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
281 IF (xrefs(in,3,nc) > 0)
THEN
283 WRITE(varname,
'(A)')
'EREFS_Z'
284 temp_double = xrefs(in,3,nc)
285 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
291 DEALLOCATE(index,itr1)