74 2 IXS ,IXQ ,IXC ,IXT ,IXP ,
75 3 IXR ,IXTG ,IPARG ,PM ,IGEO ,
76 4 MS ,CONT ,ITAB ,PARTSAV,FINT ,
77 5 FEXT ,TANI ,EANI ,IPART ,
78 6 VR ,ELBUF_TAB ,DD_IAD,WEIGHT,
79 7 IPM ,KXSP ,SPBUF ,NODGLOB,LENG ,
80 8 FOPT ,NOM_OPT ,NPBY ,FNCONT ,FTCONT,
81 9 GEO ,THKE ,STACK ,DRAPE_SH4N, DRAPE_SH3N,
90 USE output_mod ,
ONLY : output_
91 use element_mod ,
only : nixs,nixq,nixc,nixp,nixr,nixt,nixtg
95#include "implicit_f.inc"
100#include "com04_c.inc"
102#include "com08_c.inc"
103#include "com09_c.inc"
104#include "param_c.inc"
105#include "units_c.inc"
106#include "scr03_c.inc"
107#include "scr11_c.inc"
108#include "scr14_c.inc"
109#include "scr16_c.inc"
110#include "scr17_c.inc"
111#include "chara_c.inc"
114#include "filescount_c.inc"
118 INTEGER IPARG(*),IPART(LIPART1,*),
119 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG,*),
120 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),ITAB(*),
121 . WEIGHT(*), DD_IAD(*),IPM(*),IGEO(*),KXSP(NISP,*),
122 . LENG,NODGLOB(*), NOM_OPT(*), NPBY(*)
124 . (*), D(*), V(*), VR(*), A(*),
126 . CONT(*), PARTSAV(*),FINT(*),FEXT(*),TANI(6,*),EANI(*),
127 . spbuf(*), fopt(*), fncont(3,*), ftcont(3,*),geo(*),thke(*)
128 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
129 TYPE (STACK_PLY) :: STACK
130 TYPE(DRAPE_) :: DRAPE_SH4N(NUMELC_DRAPE), DRAPE_SH3N(NUMELTG_DRAPE)
131 TYPE(DRAPEG_) :: DRAPEG
132 TYPE(output_),
INTENT(INOUT) :: OUTPUT
136 CHARACTER *4,FILNAM*100,T10*10,MES*40,VAR_CHAR*11,CHAR_JJ*2,
138 INTEGER FILEN,I,INNODA,J,JJ
140 INTEGER I161,I16A,I16B,I16C,I16D,I16E,I16F,I16G,I16H,I16I
141 INTEGER SIZWR_CT(3),SIZP0_CT(3),SIZLOC_CT(3),
142 . SIZWR_CS(2),SIZP0_CS(2),SIZLOC_CS(2),
143 . SIZWR_SS(2),SIZP0_SS(2),SIZLOC_SS(2),
144 . SIZWR_ST(3),SIZP0_ST(3),SIZLOC_ST(3)
146 INTEGER,
DIMENSION(:),
ALLOCATABLE :: SIZLOC_WRITE
148 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ITABG
149 INTEGER :: LEN_TMP_NAME
150 CHARACTER(len=2148) :: TMP_NAME
152 ALLOCATE(ITABG(LENG))
154 i16a=i161+lnopt1*nrbody0
155 i16b=i16a+lnopt1*naccelm
156 i16c=i16b+lnopt1*nvolu
157 i16d=i16c+lnopt1*(ninter+nintsub)
158 i16e=i16d+lnopt1*nrwall
160 i16g=i16f+lnopt1*njoint
161 i16h=i16g+lnopt1*nsect
162 i16i=i16h+lnopt1*nlink
168 IF(ioutp>=1000)ioutp=1
169 WRITE(choutp,
'(I3.3)')ioutp
170 filnam=rootnam(1:rootlen)//
'Y'//choutp
173 IF(ioutp>=10000)ioutp=1
174 WRITE(choutp,
'(I4.4)')ioutp
175 filnam=rootnam(1:rootlen)//
'_'//choutp//
'.sty'
180 OPEN(unit=iugeo,file=tmp_name(1:len_tmp_name),
181 . access=
'SEQUENTIAL',
182 . form=
'FORMATTED',status=
'UNKNOWN')
186 WRITE(iugeo,
'(2A)')
'#RADIOSS OUTPUT FILE V21 ',
191 WRITE(iugeo,
'(A)')
'/GLOBAL '
192 WRITE(iugeo,
'(A)')
' '
193 WRITE(iugeo,
'(A)')
'#FORMAT: (1P5E16.9)'
194 WRITE(iugeo,
'(2A)')
'# TIME INTERNAL_ENERGY',
195 .
' KINETIC_ENERGY ROT_KINE_ENERGY EXTE_FORCE_WORK'
196 WRITE(iugeo,
'(1P5E16.9)') tt,enint,encin,enrot,output%TH%WFEXT
201 CALL outp_mt(pm,npart,partsav,ipart,ipm)
210 . itabg,leng,nodglob,weight)
212 IF(outp_v(1) == 1)
CALL outp_n_v(
'VELOCITY ',
215 . itabg,leng,nodglob,weight)
217 IF(outp_v(2) == 1)
CALL outp_n_v(
'DISPLACEME',
220 . itabg,leng,nodglob,weight)
222 IF(outp_v(3) == 1)
CALL outp_n_v(
'ACCELERATI',
225 . itabg,leng,nodglob,weight)
227 IF(outp_v(4) == 1)
CALL outp_n_vc(
'CONT_FORCE',
228 .
' Contact Forces ',
229 . 20,cont,numnod,itab,
230 . itabg,leng,nodglob,weight)
232 IF(outp_v(5) == 1)
CALL outp_n_v(
'INTE_FORCE',
233 .
' Internal Forces ',
234 . 20,fint,numnod,itab,
235 . itabg,leng,nodglob,weight)
237 IF(outp_v(6) == 1)
CALL outp_n_v(
'EXTE_FORCE',
238 .
' External Forces ',
239 . 20,fext,numnod,itab,
240 . itabg,leng,nodglob,weight)
242 IF(outp_v(9) == 1 .AND. (idrot==1 .OR. isecut>0 .OR. iisrot>0 .OR. impose_dr>0 ) .AND. iroddl/=0)
244 .
' Rotational Velocity ',
246 . itabg,leng,nodglob,weight)
248 IF(outp_v(12) == 1)
THEN
250 .
' Contact Pressure from Normal Contact Forces ',
251 . 50,fncont,numnod,itab,
252 . itabg,leng,nodglob,weight)
254 .
' Contact Pressure from Tangential Contact Forces ',
255 . 50,ftcont,numnod,itab,
256 . itabg,leng,nodglob,weight)
264 IF(outp_n(1) == 1)
CALL outp_no(
'NODAL_DT '
265 .
' Nodal Time Step ',
266 . 20,output%DATA%SCAL_DT,numnod,itab,innoda,
267 . itabg,leng,nodglob,weight)
269 IF(outp_n(1)+anim_n(1)>=1)
270 . innoda=innoda+numnod
272 IF(outp_n(2) == 1)
CALL outp_no'NOD_ADMAS ',
274 . 20,output%DATA%SCAL_DMAS,numnod,itab,0,
275 . itabg,leng,nodglob,weight)
277 IF(outp_n(2)+anim_n(2)>=1)
278 . innoda=innoda+numnod
280 IF(outp_n(3) == 1)
CALL outp_no(
'NOD_ADINER',
282 . 20,output%DATA%SCAL_DINER,numnod,itab,0,
283 . itabg,leng,nodglob,weight)
292 CALL outp_arsz_ss(iparg,dd_iad,ipm,ixs,sizp0_ss,sizloc_ss,sizwr_ss)
294 ALLOCATE(sizloc_write(2*nspgroup+2))
295 CALL count_arsz_ss(iparg,dd_iad,ipm,ixs,sizloc_ss,sizloc_write)
296 sizp0_ss(:)=sizloc_ss(:)
299 sizwr_ss(1) =
max(sizwr_ss(1),sizloc_write(i))
300 sizwr_ss(2) =
max(sizwr_ss(2),sizloc_write(nspgroup+i))
302 sizwr_ss(1) = sizwr_ss(1)+6
303 sizwr_ss(2) = sizwr_ss(2)+6
304 DEALLOCATE(sizloc_write)
306 IF(outp_ss(1) == 1)
CALL outp_s_s( 1,
'OFF ',
307 .
' Delete flag (1.0:On 0.0:Off) '
308 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
310 IF(outp_ss(2) == 1)
CALL outp_s_s(10
'EPSP ',
312 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
314 IF(outp_ss(3) == 1)
CALL outp_s_s( 3,
'ENER ',
315 .
' Internal Specific Energy '
316 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
318 IF(outp_ss(4) == 1)
CALL outp_s_s( 4,
'DENS ',
320 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
322 IF(outp_ss(5) == 1)
CALL outp_s_s(11,
'TEMP ',
324 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
326 IF(outp_ss(6) == 1)
CALL outp_s_s( 2,
'PRES ',
328 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
330 IF(outp_ss(7) == 1)
CALL outp_s_s(-2,
'VONM ',
331 .
' Von Mises Stress '
332 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
334 IF(outp_ss(25) == 1)
CALL outp_s_s(25,
'HOUR ',
335 .
' Hourglass Specific Energy '
336 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
338 IF(outp_ss(20) == 1)
CALL outp_s_s(20,
'USER1 ',
339 .
' User Variable 1 '
340 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
342 IF(outp_ss(21) == 1)
CALL outp_s_s(21,
'USER2 ',
343 .
' User Variable 2 '
344 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
346 IF(outp_ss(22) == 1)
CALL outp_s_s(22,
'USER3 ',
347 .
' User Variable 3 '
348 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
350 IF(outp_ss(23) == 1)
CALL outp_s_s(23,
'USER4 ',
351 .
' User Variable 4 '
352 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
354 IF(outp_ss(24) == 1)
CALL outp_s_s(24,
'USER5 ',
355 .
' User Variable 5 '
356 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
358 IF(outp_ss(26) == 1)
CALL outp_s_s(26,
'USERS ',
359 . ' all user variable
'
360 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(2),SIZP0_SS(2),SIZWR_SS(2))
364 IF(OUTP_SS(27) == 1)CALL OUTP_S_S(26,'eq stress
',
365 . ' equivalent stress
'
366 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(2),SIZP0_SS(2),SIZWR_SS(2))
372 CALL OUTP_ARSZ_CS(IPARG,IXC,IXTG,IGEO,IPM,DD_IAD,
373 . SIZP0_CS,SIZLOC_CS,SIZWR_CS)
375 ALLOCATE(SIZLOC_WRITE(2*NSPGROUP+2))
376 CALL COUNT_ARSZ_CS(IPARG,IXC,IXTG,IGEO,IPM,DD_IAD,
377 . SIZLOC_CS,SIZLOC_WRITE)
378 SIZP0_CS(1:2)=SIZLOC_CS(1:2)+6
381 SIZWR_CS(1) = MAX(SIZWR_CS(1),SIZLOC_WRITE(I))
382 SIZWR_CS(2) = MAX(SIZWR_CS(2),SIZLOC_WRITE(NSPGROUP+I))
384 SIZWR_CS(1) = SIZWR_CS(1)+6
385 SIZWR_CS(2) = SIZWR_CS(2)+6
386 DEALLOCATE(SIZLOC_WRITE)
389 IF (OUTP_CS(1) == 1) CALL OUTP_C_S( 6,'off
',
390 . ' delete flag(1.0:on 0.0:off)
'
391 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,
392 . IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1))
394 IF (OUTP_CS(2) == 1) THEN
395 CALL OUTP_C_S(15,'epsp
',
397 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),
398 . SIZP0_CS(1),THKE,SIZWR_CS(1) )
400 CALL OUTP_C_S(-15,'epsp_max
',
401 . ' maximum plastic strain
'
402 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),
403 . SIZP0_CS(1),THKE,SIZWR_CS(1) )
407 IF (OUTP_CS(3) == 1) CALL OUTP_C_S( 5,'ener
',
408 . ' internal energy
'
409 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,
410 . IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
412 IF (OUTP_CS(4) == 1) CALL OUTP_C_S( 3,'thick
',
414 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,
415 . IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
417 IF (OUTP_CS(7) == 1) CALL OUTP_C_S( 1,'vonm
',
418 . ' membrane von mises stress
'
419 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,
420 . IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1))
422 IF (OUTP_CS(25) == 1) CALL OUTP_C_S(25,'hour
',
423 . ' hourglass energy
'
424 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,
425 . IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1))
427 IF (OUTP_CS(20) == 1) THEN
428 CALL OUTP_C_S(20,'user1
',
429 . ' user variable 1
'
430 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
431 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
433 CALL OUTP_C_S(-20,'user1_max ',
434 .
' Maximum User Variable 1 '
435 . ,elbuf_tab,iparg,eani ,ipm ,igeo,ixc ,ixtg ,dd_iad,
436 . sizloc_cs(1),sizp0_cs(1),thke,sizwr_cs(1))
440 IF (outp_cs(21) == 1)
THEN
442 .
' User Variable 2 '
443 . ,elbuf_tab,iparg,eani ,ipm ,igeo,ixc ,ixtg ,dd_iad,
444 . sizloc_cs(1),sizp0_cs(1),thke,sizwr_cs(1) )
447 . ' maximum user variable 2
'
448 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
449 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
453 IF (OUTP_CS(22) == 1) THEN
454 CALL OUTP_C_S(22,'user3
',
455 . ' user variable 3
'
456 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
457 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1))
459 CALL OUTP_C_S(-22,'user3_max
',
460 . ' maximum user variable 3
'
461 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
462 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
466 IF (OUTP_CS(23) == 1) THEN
467 CALL OUTP_C_S(23,'user4
',
468 . ' user variable 4
'
469 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
470 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
472 CALL OUTP_C_S(-23,'user4_max
',
473 . ' maximum user variable 4
'
474 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
475 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
479 IF (OUTP_CS(24) == 1) THEN
480 CALL OUTP_C_S(24,'user5
',
481 . ' user variable 5
'
482 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
483 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
485 CALL OUTP_C_S(-24,'user5_max
',
486 . ' maximum user variable 5
'
487 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
488 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
492 IF (OUTP_CS(26) == 1)CALL OUTP_C_S(26,'users
',
493 . ' all user variables
'
494 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
495 . SIZLOC_CS(2),SIZP0_CS(2),THKE,SIZWR_CS(2) )
498 write(CHAR_JJ,'(i2.2)
')JJ
499 VAR_CHAR = 'user
'//CHAR_JJ//'_full
'
500 TITRE = ' user variable
'//CHAR_JJ//' '
501 IF(OUTP_CS(J) == 1)CALL OUTP_C_S(J,VAR_CHAR,
503 . ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
504 . SIZLOC_CS(2),SIZP0_CS(2),THKE,SIZWR_CS(2) )
509 IF (OUTP_CS(87) == 1) CALL OUTP_C_S(87,'eq stress
',
510 . ' membrane equivalent stress
'
511 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,
512 . IXC ,IXTG ,DD_IAD,SIZLOC_CS(2),SIZP0_CS(2),THKE,SIZWR_CS(2) )
517 CALL OUTP_ARSZ_SPS(IPARG,DD_IAD,SIZLOC,SIZP0,SIZW_P0)
519 ALLOCATE(SIZLOC_WRITE(NSPGROUP+1))
520 CALL COUNT_ARSZ_SPS(IPARG,DD_IAD,SIZLOC,SIZLOC_WRITE)
524 SIZW_P0 = MAX(SIZW_P0,SIZLOC_WRITE(I))
526 SIZW_P0 = SIZW_P0 + 6
527 DEALLOCATE(SIZLOC_WRITE)
530 IF(OUTP_SPS(1) == 1) CALL OUTP_SP_S( 1,'off
',
531 . ' delete flag(1.0:on 0.0:off)
'
532 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
534 IF(OUTP_SPS(2) == 1) CALL OUTP_SP_S(10,'epsp
',
536 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
538 IF(OUTP_SPS(3) == 1) CALL OUTP_SP_S( 3,'ener
',
539 . ' internal specific energy
'
540 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
542 IF(OUTP_SPS(4) == 1) CALL OUTP_SP_S( 4,'dens
',
544 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
546 IF(OUTP_SPS(5) == 1) CALL OUTP_SP_S(11,'temp
',
548 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
550 IF(OUTP_SPS(6) == 1) CALL OUTP_SP_S( 2,'pres
',
552 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
554 IF(OUTP_SPS(7) == 1) CALL OUTP_SP_S(-2,'vonm
',
555 . ' von mises stress
'
556 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
558 IF(OUTP_SPS(25) == 1) CALL OUTP_SP_S(25,'slen ',
559 . ' smoothing length
'
560 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
562 IF(OUTP_SPS(20) == 1) CALL OUTP_SP_S(20,'user1
',
563 . ' user variable 1
'
564 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
566 IF(OUTP_SPS(21) == 1) CALL OUTP_SP_S(21,'user2
',
567 . ' user variable 2
'
568 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
570 IF(OUTP_SPS(22) == 1) CALL OUTP_SP_S(22,'user3
',
571 . ' user variable 3
'
572 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
574 IF(OUTP_SPS(23) == 1) CALL OUTP_SP_S(23,'user4
',
575 . ' user variable 4
'
576 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
578 IF(OUTP_SPS(24) == 1) CALL OUTP_SP_S(24,'user5
',
579 . ' user variable 5
'
580 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
584 IF(OUTP_SPS(26) == 1) CALL OUTP_SP_S(24,'eq stress
',
585 . ' equivalent stress
'
586 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
591 CALL OUTP_ARSZ_ST(IPARG,DD_IAD,SIZLOC_ST,SIZWR_ST,SIZP0_ST)
595 ALLOCATE( SIZLOC_WRITE(3*NSPGROUP+3) )
596 CALL COUNT_ARSZ_ST(IPARG,DD_IAD,SIZLOC_ST,SIZLOC_WRITE)
597 SIZP0_ST(1:3) = SIZLOC_WRITE(3*NSPGROUP+1:3*NSPGROUP+3)+8
600 SIZWR_ST(1) = MAX(SIZWR_ST(1),SIZLOC_WRITE(I))
601 SIZWR_ST(2) = MAX(SIZWR_ST(2),SIZLOC_WRITE(NSPGROUP+I))
602 SIZWR_ST(3) = MAX(SIZWR_ST(3),SIZLOC_WRITE(2*NSPGROUP+I))
604 SIZWR_ST(1:3)= SIZWR_ST(1:3)+8
605 DEALLOCATE( SIZLOC_WRITE )
608 IF(OUTP_ST(1) == 1) CALL OUTP_S_T( 2,'stress
',
610 . ELBUF_TAB,IPARG,DD_IAD,SIZLOC_ST(1),SIZP0_ST(1),SIZWR_ST(1))
612 IF(OUTP_ST(2) == 1) CALL OUTP_S_TT( 2,'str_ful
',
613 . ' full stress tensor + plastic strain
',
614 . ELBUF_TAB,IPARG,DD_IAD,IPM, IXS,
615 . SIZLOC_ST(2),SIZP0_ST(2),SIZWR_ST(2))
617 IF(OUTP_ST(3) == 1) CALL OUTP_S_TT( 3,'strain_ful
',
618 . ' full strain tensor
',
619 . ELBUF_TAB,IPARG,DD_IAD,IPM, IXS,
620 . SIZLOC_ST(3),SIZP0_ST(3),SIZWR_ST(3))
625 CALL OUTP_ARSZ_CT(IPARG,DD_IAD,SIZLOC_CT,SIZP0_CT,SIZWR_CT,ELBUF_TAB)
627 ALLOCATE(SIZLOC_WRITE(3*NSPGROUP+3))
628 CALL COUNT_ARSZ_CT(IPARG,DD_IAD,SIZLOC_CT,SIZLOC_WRITE,ELBUF_TAB)
629 SIZP0_CT(1)=SIZLOC_CT(1)
630 SIZP0_CT(2:3)=SIZLOC_CT(2:3)
633 SIZWR_CT(1) = MAX(SIZWR_CT(1),SIZLOC_WRITE(I))
634 SIZWR_CT(2) = MAX(SIZWR_CT(2),SIZLOC_WRITE(NSPGROUP+I))
635 SIZWR_CT(3) = MAX(SIZWR_CT(3),SIZLOC_WRITE(2*NSPGROUP+I))
637 SIZWR_CT(1) = SIZWR_CT(1) + 6
638 DEALLOCATE(SIZLOC_WRITE)
641 IF(OUTP_CT(1) == 1) CALL OUTP_C_T( 1,'stress_mem
',
642 . ' membrane stress
',
643 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
645 IF(OUTP_CT(2) == 1) CALL OUTP_C_T( 2,'stress_ben
',
646 . ' bending stress
',
647 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
649 IF(OUTP_CT(3) == 1) CALL OUTP_C_T( 3,'stress_upp
',
650 . ' upper surface stress
',
651 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
653 IF(OUTP_CT(4) == 1) CALL OUTP_C_T( 4,'stress_low
',
654 . ' lower surface stress
',
655 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
657 IF(OUTP_CT(5) == 1) CALL OUTP_C_T( 5,'strain_mem
',
658 . ' membrane strain
',
659 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
661 IF(OUTP_CT(6) == 1) CALL OUTP_C_T( 6,'strain_ben
',
662 . ' bending strain
',
663 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
665 IF(OUTP_CT(7) == 1) CALL OUTP_C_T( 7,'strain_upp
',
666 . ' upper surface strain
',
667 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
669 IF(OUTP_CT(8) == 1) CALL OUTP_C_T( 8,'strain_low
',
670 . ' lower surface strain
',
671 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
673 IF(OUTP_CT(91) == 1) CALL OUTP_C_T(91,'epsdot_mem
',
674 . ' membrane strain rate
',
675 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
677 IF(OUTP_CT(92) == 1) CALL OUTP_C_T(92,'epsdot_ben
',
678 . ' bending strain rate
',
679 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1))
681 IF(OUTP_CT(93) == 1) CALL OUTP_C_T(93,'epsdot_upp
',
682 . ' upper surface strain rate
',
683 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1))
685 IF(OUTP_CT(94) == 1) CALL OUTP_C_T(94,'epsdot_low
',
686 . ' lower surface strain rate
',
687 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
690 IF(OUTP_CT(10+I) == 1)THEN
691 WRITE(MES,'(a,i2,a)
')
692 . ' stress(layer
',I,')
'
693 WRITE(T10,'(a,i2)
')'stress_l
',I
694 CALL OUTP_C_T( 10+I,T10 ,MES,
695 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
698 IF(OUTP_CT(50+I) == 1)THEN
699 WRITE(MES,'(a,i2,a)
')
700 . ' strain(layer
',I,')
'
701 WRITE(T10,'(a,i2)
')'strain_l
',I
702 CALL OUTP_C_T( 50+I,T10 ,MES,
703 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
706 IF(OUTP_CT(100+I) == 1)THEN
707 WRITE(MES,'(a,i2,a)
')
708 . ' epsdot(layer
',I,')
'
709 WRITE(T10,'(a,i2)
')'epsdot_l
',I
710 CALL OUTP_C_T( 100+I,T10 ,MES,
711 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
714 IF(OUTP_CT(95) == 1) CALL OUTP_C_TF(95,'stress_ful
',
715 . ' full stress tensor + plastic strain
',
716 . ELBUF_TAB,IPARG ,DD_IAD,SIZLOC_CT(2),SIZP0_CT(2),THKE,GEO,
717 . IGEO ,STACK ,DRAPE_SH4N, DRAPE_SH3N,IXC ,IXTG,SIZWR_CT(2),
721 IF(OUTP_CT(96) == 1) CALL OUTP_C_TF(96,'strain_ful
',
722 . ' full strain tensor + plastic strain
',
723 . ELBUF_TAB,IPARG ,DD_IAD,SIZLOC_CT(3),SIZP0_CT(3),THKE,GEO,
724 . IGEO ,STACK ,DRAPE_SH4N, DRAPE_SH3N,IXC ,IXTG,SIZWR_CT(3),
731 CALL OUTP_ARSZ_SPT(IPARG,DD_IAD,SIZLOC,SIZP0,SIZW_P0)
733 ALLOCATE(SIZLOC_WRITE(NSPGROUP+1))
734 CALL COUNT_ARSZ_SPT(IPARG,DD_IAD,SIZLOC,SIZLOC_WRITE)
738 SIZW_P0 = MAX(SIZW_P0,SIZLOC_WRITE(I))
740 SIZW_P0 = SIZW_P0 + 6
741 DEALLOCATE(SIZLOC_WRITE)
744 IF(OUTP_SPT(1) == 1) CALL OUTP_SP_T('stress
',
746 . ELBUF_TAB,IPARG,DD_IAD,SIZLOC,SIZP0,SIZW_P0)
749 CALL OUTP_ARSZ_SPTT(IPARG,DD_IAD,SIZLOC,SIZP0,SIZW_P0)
751 ALLOCATE(SIZLOC_WRITE(NSPGROUP+1))
752 CALL COUNT_ARSZ_SPTT(IPARG,DD_IAD,SIZLOC,SIZLOC_WRITE)
756 SIZW_P0 = MAX(SIZW_P0,SIZLOC_WRITE(I))
758 DEALLOCATE(SIZLOC_WRITE)
761 IF(OUTP_SPT(2) == 1) CALL OUTP_SP_TT('str_ful
',
762 . ' full stress tensor + plastic strain
',
763 . ELBUF_TAB,IPARG,DD_IAD,IPM, KXSP,SPBUF,SIZLOC,SIZP0,SIZW_P0)
768 CALL OUTP_ARSZ_RS(IPARG,DD_IAD,SIZLOC,SIZP0,SIZW_P0)
770 ALLOCATE(SIZLOC_WRITE(NSPGROUP+1))
771 CALL COUNT_ARSZ_RS(IPARG,DD_IAD,SIZLOC,SIZLOC_WRITE)
772 SIZP0 = SIZLOC_WRITE(NSPGROUP+1)
775 SIZW_P0 = MAX(SIZW_P0,SIZLOC_WRITE(I))
777 SIZW_P0 = SIZW_P0 + 6
778 DEALLOCATE(SIZLOC_WRITE)
781 IF(OUTP_RS(1) == 1)CALL OUTP_R_S(1,'off
',
782 . ' delete flag(1.0:on 0.0:off)
'
783 . ,ELBUF_TAB,IPARG,DD_IAD,SIZLOC,SIZP0,SIZW_P0)
789 CALL OUTP_ARSZ_RT(IPARG,IGEO,GEO,IXR,DD_IAD,
790 . SIZLOC,SIZP0,SIZW_P0)
792 ALLOCATE(SIZLOC_WRITE(NSPGROUP+1))
793 CALL COUNT_ARSZ_RT(IPARG,IGEO,GEO,IXR,DD_IAD,
794 . SIZLOC,SIZLOC_WRITE)
798 SIZW_P0 = MAX(SIZW_P0,SIZLOC_WRITE(I))
800 SIZW_P0 = SIZW_P0 + 6
801 DEALLOCATE(SIZLOC_WRITE)
804 IF(OUTP_RS(2) == 1)CALL OUTP_R_T('full
',
805 . ' forces and moments
',
806 . ELBUF_TAB,IPARG,DD_IAD,IXR,IGEO,GEO,SIZLOC,SIZP0,SIZW_P0)
812 . CALL OUTP_N_V2(FOPT ,NPBY ,NOM_OPT(I16G),NOM_OPT(I16D))
818 WRITE(IUGEO,'(a)
')'/enddata
'
820 CALL FILELEN_SYS(FILNAM,FILEN, OUTPSIZE)
821 OUTPFILESIZE=OUTPFILESIZE + OUTPSIZE/1024
822 WRITE (IOUT,1000) FILNAM(1:FILEN)
823 WRITE (ISTDO,1000) FILNAM(1:FILEN)
825 1000 FORMAT (4X,' output file:
',1X,A,' written
')