32 1 ISOLNOD,IXR, R_SKEW,ISKWN, IXP ,
33 2 IXT ,X , IXC ,IXTG ,THKE ,
34 3 SH4ANG ,THKEC,SH3ANG,KXSP ,IPARTSP,
35 4 IPART ,IXR_KJ,KXX ,IXX , IPARTX ,
36 5 IXRI ,IXS16 ,IXQ ,IBEAM_VECTOR,RBEAM_VECTOR)
44 use element_mod ,
only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
48#include "implicit_f.inc"
60 INTEGER,
INTENT(IN) :: IXS(NIXS,*), IXS10(6,*), IPM(NPROPMI,*), IGEO(NPROPGI
61INTEGER,
INTENT(IN) :: ITAB(*), ISOLNOD(*),IXR_KJ(5,*)
62 INTEGER,
INTENT(IN) :: IXR(NIXR,*), R_SKEW(*), ISKWN(LISKN
65 INTEGER,
INTENT(IN) :: IBEAM_VECTOR(NUMELP)
68 . thke(*),thkec(*),sh4ang(*),sh3ang(*)
69 my_real,
INTENT(IN) :: rbeam_vector(3,numelp)
73 INTEGER I, J, MY_ID, TEMP_INT, NS, MY_MID, MY_PID, MY_NOD, MY_SKEW,NC
74 INTEGER :: WORK(70000),NUMEL_KJ
75 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: INDEX,ITR1
76 CHARACTER(LEN=NCHARTITLE)::TITR
77 CHARACTER (LEN=255) :: VARNAME
78 DOUBLE PRECISION TEMP_DOUBLE
79 INTEGER ITETRA4(4),IPENTA6(6)
80 DATA itetra4/2,4,7,6/,ipenta6/2,3,4,6,7,8/
91 CALL my_alloc(index,2*numels)
92 CALL my_alloc(itr1,numels)
97 CALL my_orders(0,work,itr1,index,numels8,1)
102 CALL qaprint(
'A_SOLID_ELEMENT_ID'
104 my_mid = ipm(1,ixs(1,ns))
105 CALL qaprint(
'A_SOLID_ELEMENT_MID', my_mid
107 my_pid = igeo(1,ixs(10,ns))
108 CALL qaprint(
'A_SOLID_ELEMENT_PID', my_pid,0.0_8)
110 IF(isolnod(ns)==4)
THEN
112 IF(ixs(itetra4(j),ns)/=0)
THEN
116 my_nod = itab(ixs(itetra4(j),ns))
117 WRITE(varname,
'(A,I0)')
'NODE_',j
118 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
121 ELSEIF(isolnod(ns)==6)
THEN
123 IF(ixs(ipenta6(j),ns)/=0)
THEN
127 my_nod = itab(ixs(ipenta6(j),ns))
128 WRITE(varname,
'(A,I0)')
'NODE_',j
129 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
132 ELSEIF(isolnod(ns)==8)
THEN
138 my_nod = itab(ixs(j,ns))
139 WRITE(varname,
'(A,I0)')
'NODE_',j-1
140 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
151 itr1(i)=ixs(nixs,numels8+i)
153 CALL my_orders(0,work,itr1,index,numels10,1)
158 my_id = ixs(nixs,numels8+ns)
159 CALL qaprint(
'A_TETRA10_ELEMENT_ID', my_id,0.0_8)
161 my_mid = ipm(1,ixs(1,numels8+ns))
162 CALL qaprint(
'A_TETRA10_ELEMENT_MID'
164 my_pid = igeo(1,ixs(10,numels8+ns))
165 CALL qaprint(
'A_TETRA10_ELEMENT_PID', my_pid,0.0_8)
168 IF(ixs(itetra4(j),numels8+ns)/=0)
THEN
172 my_nod = itab(ixs(itetra4(j),numels8+ns))
173 WRITE(varname,
'(A,I0)')
'NODE_',j
174 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
179 IF(ixs10(j,ns)/=0)
THEN
183 my_nod = itab(ixs10(j,ns))
184 WRITE(varname,
'(A,I0)')
'NODE_',j+4
185 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
194 itr1(i)=ixs(nixs,numels8+numels10+numels20+i)
196 CALL my_orders(0,work,itr1,index,numels16,1)
201 my_id = ixs(nixs,numels8+numels10+numels20+ns)
202 CALL qaprint(
'A_SHEL16_ELEMENT_ID', my_id,0.0_8)
204 my_mid = ipm(1,ixs(1,numels8+numels10+numels20+ns))
205 CALL qaprint(
'A_SHEL16_ELEMENT_MID', my_mid,0.0_8)
207 my_pid = igeo(1,ixs(10,numels8+numels10+numels20+ns))
208 CALL qaprint(
'A_SHEL16_ELEMENT_PID', my_pid,0.0_8)
211 IF(ixs(j,numels8+numels10+numels20+ns)/=0)
THEN
215 my_nod = itab(ixs(j,numels8+numels10+numels20+ns))
216 WRITE(varname,
'(A,I0)')
'NODE_',j
217 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
222 IF(ixs16(j,ns)/=0)
THEN
226 my_nod = itab(ixs16(j,ns))
227 WRITE(varname,
'(A,I0)')
'NODE_',j+8
228 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
234 DEALLOCATE(index,itr1)
240 CALL my_alloc(index,2*numelr)
241 CALL my_alloc(itr1,numelr)
246 CALL my_orders(0,work,itr1,index,numelr,1)
252 CALL qaprint(
'A_SPRING_ELEMENT_ID', my_id,0.0_8)
255 IF (ixr(5,ns) > 0) my_mid = ipm(1,ixr(5,ns))
256 CALL qaprint(
'A_SPRING_ELEMENT_MID', my_mid,0.0_8)
258 my_pid = igeo(1,ixr(1,ns))
259 CALL qaprint(
'A_SPRING_ELEMENT_PID', my_pid,0.0_8)
263 my_nod = itab(ixr(j,ns))
264 WRITE(varname,
'(A,I0)')
'NODE_',j-1
265 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
270 my_nod = itab(ixr(4,ns))
271 WRITE(varname,
'(A,I0)')
'NODE_',3
272 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
274 temp_double = x(1,ixr(4,ns))-x(1,ixr(2,ns))
275 CALL qaprint(
'--> VEC_N1N3_X', 0,temp_double)
276 temp_double = x(2,ixr(4,ns))-x(2,ixr(2,ns))
277 CALL qaprint(
'--> VEC_N1N3_Y', 0,temp_double)
278 temp_double = x(3,ixr(4,ns))-x(3,ixr(2,ns))
279 CALL qaprint(
'--> VEC_N1N3_Z', 0,temp_double)
282 IF(r_skew(ns)/=0)
THEN
283 my_skew = iskwn(4,r_skew(ns))
284 WRITE(varname,
'(A,I0)')
'SKEW_',j-1
285 CALL qaprint(varname(1:len_trim(varname)), my_skew,0.0_8)
290 DEALLOCATE(index,itr1)
296 numel_kj = ixr_kj(1,numelr+1)
297 CALL my_alloc(index,2*numel_kj)
298 CALL my_alloc(itr1,numel_kj)
303 CALL my_orders(0,work,itr1,index,numel_kj,1)
309 IF(ixr_kj(j,ns)/=0)
THEN
310 my_nod = itab(ixr_kj(j,ns))
311 WRITE(varname,
'(A,X,I0,X,A,I0)')
'KJOINT_ID',ixr_kj(4,ns),
'ADDITIONAL_NODE_',3+j
312 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
318 DEALLOCATE(index,itr1)
326 CALL my_alloc(index,2*numelp)
327 CALL my_alloc(itr1,numelp)
332 CALL my_orders(0,work,itr1,index,numelp,1)
338 CALL qaprint(
'A_BEAM_ELEMENT_ID', my_id,0.0_8)
340 my_mid = ipm(1,ixp(1,ns))
341 CALL qaprint(
'A_BEAM_ELEMENT_MID', my_mid,0.0_8)
343 my_pid = igeo(1,ixp(5,ns))
344 CALL qaprint(
'A_BEAM_ELEMENT_PID', my_pid,0.0_8)
348 my_nod = itab(ixp(j,ns))
349 WRITE(varname,
'(A,I0)')
'NODE_',j-1
350 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
354 IF (ibeam_vector(ns) == 1)
THEN
355 temp_double = rbeam_vector(1,ns)
356 CALL qaprint(
'--> INPUT_VEC_X', 0,temp_double)
357 temp_double = rbeam_vector(2,ns)
358 CALL qaprint(
'--> INPUT_VEC_Y', 0,temp_double)
359 temp_double = rbeam_vector(3,ns)
360 CALL qaprint(
'--> INPUT_VEC_Z', 0,temp_double)
361 ELSEIF(ixp(4,ns)/=0)
THEN
362 my_nod = itab(ixp(4,ns))
363 WRITE(varname,
'(A,I0)')
'NODE_',j-1
364 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8
366 temp_double = x(1,ixp(4,ns))-x(1,ixp(2,ns))
367 CALL qaprint(
'--> VEC_N1N3_X', 0,temp_double)
368 temp_double = x(2,ixp(4,ns))-x(2,ixp(2,ns))
369 CALL qaprint(
'--> VEC_N1N3_Y', 0,temp_double)
370 temp_double = x(3,ixp(4,ns))-x(3,ixp(2,ns))
371 CALL qaprint(
'--> VEC_N1N3_Z', 0,temp_double)
376 DEALLOCATE(index,itr1)
382 CALL my_alloc(index,2*numelt)
383 CALL my_alloc(itr1,numelt)
388 CALL my_orders(0,work,itr1,index,numelt,1)
394 CALL qaprint(
'A_TRUSS_ELEMENT_ID', my_id,0.0_8)
396 my_mid = ipm(1,ixt(1,ns))
397 CALL qaprint(
'A_TRUSS_ELEMENT_MID', my_mid,0.0_8)
399 my_pid = igeo(1,ixt(4,ns))
400 CALL qaprint(
'A_TRUSS_ELEMENT_PID', my_pid,0.0_8)
404 my_nod = itab(ixt(j,ns))
405 WRITE(varname,
'(A,I0)')
'NODE_',j-1
406 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
412 DEALLOCATE(index,itr1)
417 CALL my_alloc(index,2*numelc)
418 CALL my_alloc(itr1,numelc)
424 CALL my_orders(0,work,itr1,index,numelc,1)
429 CALL qaprint(
'A_SHELL_ELEMENT_ID', my_id,0.0_8)
431 my_mid = ipm(1,ixc(1,nc))
432 CALL qaprint(
'A_SHELL_ELEMENT_MID', my_mid,0.0_8)
434 my_pid = igeo(1,ixc(6,nc))
435 CALL qaprint(
'A_SHELL_ELEMENT_PID', my_pid,0.0_8)
438 my_nod = itab(ixc(j+1,nc))
439 WRITE(varname,
'(A,I0)')
'NODE_',j
440 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
443 WRITE(varname,
'(A,I0)')
'THK_'
444 temp_double = thke(nc)
445 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
447 WRITE(varname,
'(A,I0)')
'ANGLE_'
448 temp_double = sh4ang(nc)
449 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
452 DEALLOCATE(index,itr1)
456 CALL my_alloc(index,2*numelq)
457 CALL my_alloc(itr1,numelq)
463 CALL my_orders(0,work,itr1,index,numelq,1)
468 CALL qaprint(
'A_QUAD_ELEMENT_ID', my_id,0.0_8)
470 my_mid = ipm(1,ixq(1,nc))
471 CALL qaprint(
'A_QUAD_ELEMENT_MID', my_mid,0.0_8)
473 my_pid = igeo(1,ixq(6,nc))
474 CALL qaprint(
'A_QUAD_ELEMENT_PID', my_pid,0.0_8)
477 my_nod = itab(ixq(j+1,nc))
478 WRITE(varname,
'(A,I0)')
'NODE_',j
479 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
483 DEALLOCATE(index,itr1)
494 CALL my_orders(0,work,itr1,index,numeltg,1)
498 my_id = ixtg(nixtg,nc)
499 CALL qaprint(
'A_SH3N_ELEMENT_ID', my_id,0.0_8)
501 my_mid = ipm(1,ixtg(1,nc))
502 CALL qaprint(
'A_SH3N_ELEMENT_MID', my_mid,0.0_8)
504 my_pid = igeo(1,ixtg(5,nc))
505 CALL qaprint(
'A_SH3N_ELEMENT_PID', my_pid,0.0_8)
508 my_nod = itab(ixtg(j+1,nc))
509 WRITE(varname,
'(A,I0)')
'NODE_',j
510 CALL qaprint(varname(1:len_trim(varname)), my_nod,0.0_8)
513 WRITE(varname,
'(A,I0)')
'THK_'
514 temp_double = thkec(nc)
515 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
517 WRITE(varname,
'(A,I0)')
'ANGLE_'
518 temp_double = sh3ang(nc)
519 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
522 DEALLOCATE(index,itr1)
527 CALL my_alloc(index,2*numsph)
528 CALL my_alloc(itr1,numsph)
533 CALL my_orders(0,work,itr1,index,numsph,1)
539 my_id = kxsp(nisp,ns)
540 CALL qaprint(
'A_SPH_CELL_ELEMENT_ID', my_id,0.0_8)
543 CALL qaprint(
'A_SPH_CELL_PART_ID', my_id,0.0_8)
545 my_mid = ipart(1,ipartsp(ns))
546 CALL qaprint(
'A_SPH_CELL_MID', my_mid,0.0_8)
548 my_pid = igeo(1,ipart(2,ipartsp(ns)))
549 CALL qaprint(
'A_SPH_CELL_PID', my_pid,0.0_8)
554 WRITE(varname,
'(A,I0)')
'KXSP_',j
555 CALL qaprint(varname(1:len_trim(varname)), my_id,0.0_8)
560 DEALLOCATE(index,itr1)
564 CALL my_alloc(index,2*numelx)
565 CALL my_alloc(itr1,numelx)
570 CALL my_orders(0,work,itr1,index,numelx,1)
577 CALL qaprint(
'A_XELEM_ELEMENT_ID', my_id,0.0_8)
580 CALL qaprint(
'A_XELEM_PART_ID', my_id,0.0_8)
583 my_id = itab(ixx(kxx(4,ns)+j-1))
585 WRITE(varname,
'(A,I0)')
'IXX_',kxx(4,ns)+j
586 CALL qaprint(varname(1:len_trim(varname)), my_id,0.0_8)
591 DEALLOCATE(index,itr1)
595 CALL my_alloc(index,2*nrivet)
596 CALL my_alloc(itr1,nrivet)
601 CALL my_orders(0,work,itr1,index,nrivet,1)
608 CALL qaprint(
'A_RIVET_ELEMENT_ID', my_id,0.0_8)
610 my_id = igeo(1,ixri(1,ns))
611 CALL qaprint(
'A_RIVET_PID', my_id,0.0_8)
614 my_id = itab(ixri(j+1,ns))
616 WRITE(varname,
'(A,I0)')
'IXRI_',j
617 CALL qaprint(varname(1:len_trim(varname)), my_id,0.0_8)
622 DEALLOCATE(index,itr1)
subroutine st_qaprint_driver(igeo, geo, bufgeo, ipm, pm, bufmat, nom_opt, inom_opt, numloadp, iloadp, lloadp, loadp, ibcl, forc, ipres, pres, npby, lpby, rby, ibcr, fradia, ibcv, fconv, ibftemp, fbftemp, igrv, lgrv, agrv, ibfflux, fbfflux, itab, v, vr, w, icode, iskew, icfield, lcfield, cfield, dampr, temp, ibcslag, ipari, intbuf_tab, clusters, ibox, ipmas, ibfvel, fbfvel, nimpacc, laccelm, accelm, nom_sect, nstrf, secbuf, skew, iskwn, xframe, t_monvol, t_monvol_metadata, i2rupt, areasl, intbuf_fric_tab, npfricorth, mat_elem, pfricorth, irepforth, phiforth, vforth, xrefc, xreftg, xrefs, tagxref, ixs, ixc, ixtg, rwbuf, nprw, lprw, ithvar, ipart, subsets, ipartth, nthgrpmx, nimpdisp, nimpvel, detonators, ibcscyc, npc, pld, table, npts, irbe3, lrbe3, frbe3, mgrby, ixs10, isolnod, ixr, r_skew, ixp, ixt, x, thke, sh4ang, thkec, sh3ang, set, lsubmodel, igrnod, igrpart, igrbric, igrsh4n, igrsh3n, igrquad, igrbeam, igrtruss, igrspring, igrsurf, igrslin, ixq, ispcond, rtrans, irand, alea, xseed, xlas, las, irbe2, lrbe2, kxsp, ipartsp, drape, ixr_kj, iactiv, factiv, unitab, npbyl, lpbyl, rbyl, xyzref, sensors, func2d, inicrack, ipreload, preload, iflag_bpreload, ibmpc, ibmpc2, ibmpc3, ibmpc4, rbmpc, ljoint, nnlink, lnlink, bufsf, sbufsf_, pm_stack, geo_stack, igeo_stack, iparg, ipadmesh, padmesh, liflow, lrflow, iflow, rflow, sh4tree, sh3tree, sh4trim, sh3trim, qp_iperturb, qp_rperturb, llinal, linale, fvm_inivel, gjbufi, gjbufr, ms, in, lgauge, gauge, kxx, ixx, ipartx, ixri, ixs16, iexmad, fxbipm, fxbfile_tab, eigipm, eigrpm, isphio, vsphio, ebcs_tab, inimap1d, inimap2d, nsigsh, sigsh, nsigi, sigsp, nsigs, sigi, nsigbeam, sigbeam, nsigtruss, sigtruss, nsigrs, sigrs, merge_node_tab, merge_node_tol, imerge, nmerge_tot, iexlnk, drapeg, user_windows, output, defaults, glob_therm, pblast, ibeam_vector, rbeam_vector, damp_range_part)