OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
genoutp.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| genoutp ../engine/source/output/sty/genoutp.F
25!||--- called by ------------------------------------------------------
26!|| imp_buck ../engine/source/implicit/imp_buck.F
27!|| sortie_main ../engine/source/output/sortie_main.F
28!||--- calls -----------------------------------------------------
29!|| count_arsz_cs ../engine/source/output/sty/outp_c_s.F
30!|| count_arsz_ct ../engine/source/output/sty/outp_c_t.F
31!|| count_arsz_rs ../engine/source/output/sty/outp_r_s.F
32!|| count_arsz_rt ../engine/source/output/sty/outp_r_t.F
33!|| count_arsz_sps ../engine/source/output/sty/outp_sp_s.F
34!|| count_arsz_spt ../engine/source/output/sty/outp_sp_t.F
35!|| count_arsz_sptt ../engine/source/output/sty/outp_sp_t.F
36!|| count_arsz_ss ../engine/source/output/sty/outp_s_s.F
37!|| count_arsz_st ../engine/source/output/sty/outp_s_t.F
38!|| filelen_sys ../common_source/tools/input_output/write_routtines.c
39!|| outp_arsz_cs ../engine/source/mpi/interfaces/spmd_outp.f
40!|| outp_arsz_ct ../engine/source/mpi/interfaces/spmd_outp.F
41!|| outp_arsz_rs ../engine/source/mpi/interfaces/spmd_outp.f
42!|| outp_arsz_rt ../engine/source/mpi/interfaces/spmd_outp.F
43!|| outp_arsz_sps ../engine/source/mpi/interfaces/spmd_outp.F
44!|| outp_arsz_spt ../engine/source/mpi/interfaces/spmd_outp.F
45!|| outp_arsz_sptt ../engine/source/mpi/interfaces/spmd_outp.F
46!|| outp_arsz_ss ../engine/source/mpi/interfaces/spmd_outp.F
47!|| outp_arsz_st ../engine/source/mpi/interfaces/spmd_outp.F
48!|| outp_c_s ../engine/source/output/sty/outp_c_s.F
49!|| outp_c_t ../engine/source/output/sty/outp_c_t.F
50!|| outp_c_tf ../engine/source/output/sty/outp_c_t.F
51!|| outp_mt ../engine/source/output/sty/outp_mt.F
52!|| outp_n_v ../engine/source/output/sty/outp_n_v.F
53!|| outp_n_v2 ../engine/source/output/sty/outp_n_v.F
54!|| outp_n_vc ../engine/source/output/sty/outp_n_v.F
55!|| outp_no ../engine/source/output/sty/outp_no.f
56!|| outp_r_s ../engine/source/output/sty/outp_r_s.F
57!|| outp_r_t ../engine/source/output/sty/outp_r_t.f
58!|| outp_s_s ../engine/source/output/sty/outp_s_s.F
59!|| outp_s_t ../engine/source/output/sty/outp_s_t.F
60!|| outp_s_tt ../engine/source/output/sty/outp_s_t.F
61!|| outp_sp_s ../engine/source/output/sty/outp_sp_s.F
62!|| outp_sp_t ../engine/source/output/sty/outp_sp_t.f
63!|| outp_sp_tt ../engine/source/output/sty/outp_sp_t.F
64!|| spmd_outpitab ../engine/source/mpi/interfaces/spmd_outp.F
65!||--- uses -----------------------------------------------------
66!|| drape_mod ../engine/share/modules/drape_mod.F
67!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
68!|| inoutfile_mod ../common_source/modules/inoutfile_mod.f
69!|| output_mod ../common_source/modules/output/output_mod.F90
70!|| stack_mod ../engine/share/modules/stack_mod.f
71!||====================================================================
72 SUBROUTINE genoutp(X ,D ,V ,A ,
73 2 IXS ,IXQ ,IXC ,IXT ,IXP ,
74 3 IXR ,IXTG ,IPARG ,PM ,IGEO ,
75 4 MS ,CONT ,ITAB ,PARTSAV,FINT ,
76 5 FEXT ,TANI ,EANI ,ANIN ,IPART ,
77 6 VR ,ELBUF_TAB ,DD_IAD,WEIGHT,
78 7 IPM ,KXSP ,SPBUF ,NODGLOB,LENG ,
79 8 FOPT ,NOM_OPT ,NPBY ,FNCONT ,FTCONT,
80 9 GEO ,THKE ,STACK ,DRAPE_SH4N, DRAPE_SH3N,
81 A DRAPEG,OUTPUT )
82C-----------------------------------------------
83C M o d u l e s
84C-----------------------------------------------
85 USE elbufdef_mod
86 USE stack_mod
88 USE drape_mod
89 USE output_mod , ONLY : output_
90C-----------------------------------------------
91C I m p l i c i t T y p e s
92C-----------------------------------------------
93#include "implicit_f.inc"
94C-----------------------------------------------
95C C o m m o n B l o c k s
96C-----------------------------------------------
97#include "com01_c.inc"
98#include "com04_c.inc"
99!#include "com06_c.inc"
100#include "com08_c.inc"
101#include "com09_c.inc"
102#include "param_c.inc"
103#include "units_c.inc"
104#include "scr03_c.inc"
105#include "scr11_c.inc"
106#include "scr14_c.inc"
107#include "scr16_c.inc"
108#include "scr17_c.inc"
109#include "chara_c.inc"
110#include "task_c.inc"
111#include "sphcom.inc"
112#include "filescount_c.inc"
113C-----------------------------------------------
114C D u m m y A r g u m e n t s
115C-----------------------------------------------
116 INTEGER IPARG(*),IPART(LIPART1,*),
117 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG,*),
118 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),ITAB(*),
119 . WEIGHT(*), DD_IAD(*),IPM(*),IGEO(*),KXSP(NISP,*),
120 . LENG,NODGLOB(*), NOM_OPT(*), NPBY(*)
121 my_real
122 . X(*), D(*), V(*), VR(*), A(*),
123 . PM(NPROPM,*), MS(*),ANIN(*),
124 . CONT(*), PARTSAV(*),FINT(*),FEXT(*),TANI(6,*),EANI(*),
125 . spbuf(*), fopt(*), fncont(3,*), ftcont(3,*),geo(*),thke(*)
126 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP) :: ELBUF_TAB
127 TYPE (STACK_PLY) :: STACK
128 TYPE(DRAPE_) :: DRAPE_SH4N(NUMELC_DRAPE), DRAPE_SH3N(NUMELTG_DRAPE)
129 TYPE(DRAPEG_) :: DRAPEG
130 TYPE(output_),INTENT(INOUT) :: OUTPUT
131C-----------------------------------------------
132C L o c a l V a r i a b l e s
133C-----------------------------------------------
134 CHARACTER CHOUTP*4,FILNAM*100,T10*10,MES*40,VAR_CHAR*11,CHAR_JJ*2,
135 . titre*40
136 INTEGER FILEN,I,INNODA,J,JJ
137 INTEGER LENR,SIZLOC,SIZP0,SIZP0_95_96
138 INTEGER I161,I16A,I16B,I16C,I16D,I16E,I16F,I16G,I16H,I16I
139 INTEGER SIZWR_CT(3),SIZP0_CT(3),SIZLOC_CT(3),
140 . SIZWR_CS(2),SIZP0_CS(2),SIZLOC_CS(2),
141 . SIZWR_SS(2),SIZP0_SS(2),SIZLOC_SS(2),
142 . SIZWR_ST(3),SIZP0_ST(3),SIZLOC_ST(3)
143 INTEGER SIZW_P0
144 INTEGER, DIMENSION(:), ALLOCATABLE :: SIZLOC_WRITE
145 INTEGER OUTPSIZE
146 INTEGER, DIMENSION(:), ALLOCATABLE :: ITABG
147 INTEGER :: LEN_TMP_NAME
148 CHARACTER(len=2148) :: TMP_NAME
149C-----------------------------------------------
150 ALLOCATE(ITABG(LENG))
151 I161=1
152 i16a=i161+lnopt1*nrbody0
153 i16b=i16a+lnopt1*naccelm
154 i16c=i16b+lnopt1*nvolu
155 i16d=i16c+lnopt1*(ninter+nintsub)
156 i16e=i16d+lnopt1*nrwall
157 i16f=i16e !obsolete option removed
158 i16g=i16f+lnopt1*njoint
159 i16h=i16g+lnopt1*nsect
160 i16i=i16h+lnopt1*nlink
161C-----------------------------------------------
162C OPEN FILE
163C-----------------------------------------------
164 IF(ispmd == 0) THEN
165 IF(irootyy == 2)THEN
166 IF(ioutp>=1000)ioutp=1
167 WRITE(choutp,'(I3.3)')ioutp
168 filnam=rootnam(1:rootlen)//'Y'//choutp
169 filen = rootlen + 4
170 ELSE
171 IF(ioutp>=10000)ioutp=1
172 WRITE(choutp,'(I4.4)')ioutp
173 filnam=rootnam(1:rootlen)//'_'//choutp//'.sty'
174 filen = rootlen + 9
175 ENDIF
176 len_tmp_name = outfile_name_len + filen
177 tmp_name=outfile_name(1:outfile_name_len)//filnam(1:filen)
178 OPEN(unit=iugeo,file=tmp_name(1:len_tmp_name),
179 . access='SEQUENTIAL',
180 . form='FORMATTED',status='UNKNOWN')
181C-----------------------------------------------
182C WRITE CONTROL
183C-----------------------------------------------
184 WRITE(iugeo,'(2A)')'#RADIOSS OUTPUT FILE V21 ',
185 . filnam(1:filen)
186C-----------------------------------------------
187C GLOBAL SCALARS
188C-----------------------------------------------
189 WRITE(iugeo,'(A)')'/GLOBAL '
190 WRITE(iugeo,'(A)')' '
191 WRITE(iugeo,'(A)')'#FORMAT: (1P5E16.9)'
192 WRITE(iugeo,'(2A)')'# TIME INTERNAL_ENERGY',
193 . ' KINETIC_ENERGY ROT_KINE_ENERGY EXTE_FORCE_WORK'
194 WRITE(iugeo,'(1P5E16.9)') tt,enint,encin,enrot,output%TH%WFEXT
195 ENDIF
196C-----------------------------------------------
197C MATER SCALARS
198C-----------------------------------------------
199 CALL outp_mt(pm,npart,partsav,ipart,ipm)
200C-----------------------------------------------
201C NODAL VECT
202C-----------------------------------------------
203 IF (nspmd > 1)
204 . CALL spmd_outpitab(itab,weight,nodglob,itabg)
205 CALL outp_n_v('COORDINATE',
206 . ' Coordinates ',
207 . 20,x,numnod,itab,
208 . itabg,leng,nodglob,weight)
209
210 IF(outp_v(1) == 1) CALL outp_n_v('VELOCITY ',
211 . ' Velocity ',
212 . 20,v,numnod,itab,
213 . itabg,leng,nodglob,weight)
214
215 IF(outp_v(2) == 1) CALL outp_n_v('DISPLACEME',
216 . ' Displacement ',
217 . 20,d,numnod,itab,
218 . itabg,leng,nodglob,weight)
219
220 IF(outp_v(3) == 1) CALL outp_n_v('ACCELERATI',
221 . ' Acceleration ',
222 . 20,a,numnod,itab,
223 . itabg,leng,nodglob,weight)
224
225 IF(outp_v(4) == 1) CALL outp_n_vc('CONT_FORCE',
226 . ' Contact Forces ',
227 . 20,cont,numnod,itab,
228 . itabg,leng,nodglob,weight)
229
230 IF(outp_v(5) == 1) CALL outp_n_v('INTE_FORCE',
231 . ' Internal Forces ',
232 . 20,fint,numnod,itab,
233 . itabg,leng,nodglob,weight)
234
235 IF(outp_v(6) == 1) CALL outp_n_v('EXTE_FORCE',
236 . ' External Forces ',
237 . 20,fext,numnod,itab,
238 . itabg,leng,nodglob,weight)
239
240 IF(outp_v(9) == 1 .AND. (idrot==1 .OR. isecut>0 .OR. iisrot>0 .OR. impose_dr>0 ) .AND. iroddl/=0)
241 . CALL outp_n_v('VELO_ROT ',
242 . ' Rotational Velocity ',
243 . 20,vr,numnod,itab,
244 . itabg,leng,nodglob,weight)
245
246 IF(outp_v(12) == 1) THEN
247 CALL outp_n_vc('PCONT_NORM',
248 . ' Contact Pressure from Normal Contact Forces ',
249 . 50,fncont,numnod,itab,
250 . itabg,leng,nodglob,weight)
251 CALL outp_n_vc('PCONT_TANG',
252 . ' Contact Pressure from Tangential Contact Forces ',
253 . 50,ftcont,numnod,itab,
254 . itabg,leng,nodglob,weight)
255 END IF
256C-----------------------------------------------
257C NODAL SCALAR
258C JBM LE 23/9/96
259C
260C-----------------------------------------------
261 innoda=0
262 IF(outp_n(1) == 1) CALL outp_no('NODAL_DT ',
263 . ' Nodal Time Step ',
264 . 20,anin,numnod,itab,innoda,
265 . itabg,leng,nodglob,weight)
266
267 IF(outp_n(1)+anim_n(1)>=1)
268 . innoda=innoda+numnod
269
270 IF(outp_n(2) == 1) CALL outp_no('NOD_ADMAS ',
271 . ' Added Mass ',
272 . 20,anin,numnod,itab,innoda,
273 . itabg,leng,nodglob,weight)
274
275 IF(outp_n(2)+anim_n(2)>=1)
276 . innoda=innoda+numnod
277
278 IF(outp_n(3) == 1) CALL outp_no('NOD_ADINER',
279 . ' Added Inertia ',
280 . 20,anin,numnod,itab,innoda,
281 . itabg,leng,nodglob,weight)
282
283C IF(OUTP_N(3)+ANIM_N(12)>=1)
284C . INNODA=INNODA+NUMNOD
285
286C-----------------------------------------------
287C SOLID SCALAR
288C-----------------------------------------------
289 IF (nspmd > 1) THEN
290 CALL outp_arsz_ss(iparg,dd_iad,ipm,ixs,sizp0_ss,sizloc_ss,sizwr_ss)
291 ELSE
292 ALLOCATE(sizloc_write(2*nspgroup+2))
293 CALL count_arsz_ss(iparg,dd_iad,ipm,ixs,sizloc_ss,sizloc_write)
294 sizp0_ss(:)=sizloc_ss(:)
295 sizwr_ss(1:2) = -1
296 DO i=1,nspgroup
297 sizwr_ss(1) = max(sizwr_ss(1),sizloc_write(i))
298 sizwr_ss(2) = max(sizwr_ss(2),sizloc_write(nspgroup+i))
299 ENDDO
300 sizwr_ss(1) = sizwr_ss(1)+6
301 sizwr_ss(2) = sizwr_ss(2)+6
302 DEALLOCATE(sizloc_write)
303 ENDIF
304 IF(outp_ss(1) == 1) CALL outp_s_s( 1,'OFF ',
305 . ' Delete flag (1.0:On 0.0:Off) '
306 . ,elbuf_tab,iparg,eani,ixs, ipm,dd_iad,sizloc_ss(1),sizp0_ss(1),sizwr_ss(1))
307
308 IF(outp_ss(2) == 1) CALL outp_s_s(10,'epsp ',
309 . ' plastic strain '
310 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(1),SIZP0_SS(1),SIZWR_SS(1))
311
312 IF(OUTP_SS(3) == 1) CALL OUTP_S_S( 3,'ener ',
313 . ' internal specific energy '
314 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(1),SIZP0_SS(1),SIZWR_SS(1))
315
316 IF(OUTP_SS(4) == 1) CALL OUTP_S_S( 4,'dens ',
317 . ' density '
318 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(1),SIZP0_SS(1),SIZWR_SS(1))
319
320 IF(OUTP_SS(5) == 1) CALL OUTP_S_S(11,'temp ',
321 . ' temperature '
322 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(1),SIZP0_SS(1),SIZWR_SS(1))
323
324 IF(OUTP_SS(6) == 1) CALL OUTP_S_S( 2,'pres ',
325 . ' pressure '
326 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(1),SIZP0_SS(1),SIZWR_SS(1))
327
328 IF(OUTP_SS(7) == 1) CALL OUTP_S_S(-2,'vonm ',
329 . ' von mises stress '
330 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(1),SIZP0_SS(1),SIZWR_SS(1))
331
332 IF(OUTP_SS(25) == 1) CALL OUTP_S_S(25,'hour ',
333 . ' hourglass specific energy '
334 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(1),SIZP0_SS(1),SIZWR_SS(1))
335
336 IF(OUTP_SS(20) == 1) CALL OUTP_S_S(20,'user1 ',
337 . ' user variable 1 '
338 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(1),SIZP0_SS(1),SIZWR_SS(1))
339
340 IF(OUTP_SS(21) == 1) CALL OUTP_S_S(21,'user2 ',
341 . ' user variable 2 '
342 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(1),SIZP0_SS(1),SIZWR_SS(1))
343
344 IF(OUTP_SS(22) == 1) CALL OUTP_S_S(22,'user3 ',
345 . ' user variable 3 '
346 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(1),SIZP0_SS(1),SIZWR_SS(1))
347
348 IF(OUTP_SS(23) == 1) CALL OUTP_S_S(23,'user4 ',
349 . ' user variable 4 '
350 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(1),SIZP0_SS(1),SIZWR_SS(1))
351
352 IF(OUTP_SS(24) == 1) CALL OUTP_S_S(24,'user5 ',
353 . ' user variable 5 '
354 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(1),SIZP0_SS(1),SIZWR_SS(1))
355
356 IF(OUTP_SS(26) == 1)CALL OUTP_S_S(26,'users ',
357 . ' all user variable '
358 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(2),SIZP0_SS(2),SIZWR_SS(2))
359C-----------------------------------------------
360C element equivalent stress criteria
361C-----------------------------------------------
362 IF(OUTP_SS(27) == 1)CALL OUTP_S_S(26,'eq stress ',
363 . ' equivalent stress '
364 . ,ELBUF_TAB,IPARG,EANI,IXS, IPM,DD_IAD,SIZLOC_SS(2),SIZP0_SS(2),SIZWR_SS(2))
365C-----------------------------------------------
366C SHELL SCALAR
367C-----------------------------------------------
368
369 IF (NSPMD > 1) THEN
370 CALL OUTP_ARSZ_CS(IPARG,IXC,IXTG,IGEO,IPM,DD_IAD,
371 . SIZP0_CS,SIZLOC_CS,SIZWR_CS)
372 ELSE
373 ALLOCATE(SIZLOC_WRITE(2*NSPGROUP+2))
374 CALL COUNT_ARSZ_CS(IPARG,IXC,IXTG,IGEO,IPM,DD_IAD,
375 . SIZLOC_CS,SIZLOC_WRITE)
376 SIZP0_CS(1:2)=SIZLOC_CS(1:2)+6
377 SIZWR_CS(1:2) = -1
378 DO I=1,NSPGROUP
379 SIZWR_CS(1) = MAX(SIZWR_CS(1),SIZLOC_WRITE(I))
380 SIZWR_CS(2) = MAX(SIZWR_CS(2),SIZLOC_WRITE(NSPGROUP+I))
381 ENDDO
382 SIZWR_CS(1) = SIZWR_CS(1)+6
383 SIZWR_CS(2) = SIZWR_CS(2)+6
384 DEALLOCATE(SIZLOC_WRITE)
385 ENDIF
386
387 IF (OUTP_CS(1) == 1) CALL OUTP_C_S( 6,'off ',
388 . ' delete flag (1.0:on 0.0:off) '
389 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,
390 . IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1))
391
392 IF (OUTP_CS(2) == 1) THEN
393 CALL OUTP_C_S(15,'epsp ',
394 . ' plastic strain '
395 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),
396 . SIZP0_CS(1),THKE,SIZWR_CS(1) )
397
398 CALL OUTP_C_S(-15,'epsp_max ',
399 . ' maximum plastic strain '
400 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),
401 . SIZP0_CS(1),THKE,SIZWR_CS(1) )
402
403 ENDIF
404
405 IF (OUTP_CS(3) == 1) CALL OUTP_C_S( 5,'ener ',
406 . ' internal energy '
407 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,
408 . IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
409
410 IF (OUTP_CS(4) == 1) CALL OUTP_C_S( 3,'thick ',
411 . ' thickness '
412 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,
413 . IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
414
415 IF (OUTP_CS(7) == 1) CALL OUTP_C_S( 1,'vonm ',
416 . ' membrane von mises stress '
417 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,
418 . IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1))
419
420 IF (OUTP_CS(25) == 1) CALL OUTP_C_S(25,'hour ',
421 . ' hourglass energy '
422 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,
423 . IXC ,IXTG ,DD_IAD,SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1))
424
425 IF (OUTP_CS(20) == 1) THEN
426 CALL OUTP_C_S(20,'user1 ',
427 . ' user variable 1 '
428 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
429 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
430
431 CALL OUTP_C_S(-20,'user1_max ',
432 . ' maximum user variable 1 '
433 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
434 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1))
435
436 ENDIF
437
438 IF (OUTP_CS(21) == 1) THEN
439 CALL OUTP_C_S(21,'user2 ',
440 . ' user variable 2 '
441 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
442 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
443
444 CALL OUTP_C_S(-21,'user2_max ',
445 . ' maximum user variable 2 '
446 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
447 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
448
449 ENDIF
450
451 IF (OUTP_CS(22) == 1) THEN
452 CALL OUTP_C_S(22,'user3 ',
453 . ' user variable 3 '
454 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
455 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1))
456
457 CALL OUTP_C_S(-22,'user3_max ',
458 . ' maximum user variable 3 '
459 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
460 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
461
462 ENDIF
463
464 IF (OUTP_CS(23) == 1) THEN
465 CALL OUTP_C_S(23,'user4 ',
466 . ' user variable 4 '
467 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
468 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
469
470 CALL OUTP_C_S(-23,'user4_max ',
471 . ' maximum user variable 4 '
472 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
473 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
474
475 ENDIF
476
477 IF (OUTP_CS(24) == 1) THEN
478 CALL OUTP_C_S(24,'user5 ',
479 . ' user variable 5 '
480 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
481 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
482
483 CALL OUTP_C_S(-24,'user5_max ',
484 . ' maximum user variable 5 '
485 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
486 . SIZLOC_CS(1),SIZP0_CS(1),THKE,SIZWR_CS(1) )
487
488 ENDIF
489
490 IF (OUTP_CS(26) == 1)CALL OUTP_C_S(26,'users ',
491 . ' all user variables '
492 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
493 . SIZLOC_CS(2),SIZP0_CS(2),THKE,SIZWR_CS(2) )
494 DO J = 27, 86
495 JJ = J - 26
496 write(CHAR_JJ,'(i2.2)')JJ
497 VAR_CHAR = 'user'//CHAR_JJ//'_full'
498 TITRE = ' user variable'//CHAR_JJ//' '
499 IF(OUTP_CS(J) == 1)CALL OUTP_C_S(J,VAR_CHAR,
500 . TITRE ,
501 . ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,IXC ,IXTG ,DD_IAD,
502 . SIZLOC_CS(2),SIZP0_CS(2),THKE,SIZWR_CS(2) )
503 ENDDO
504C-----------------------------------------------
505C element equivalent stress criteria
506C-----------------------------------------------
507 IF (OUTP_CS(87) == 1) CALL OUTP_C_S(87,'eq stress ',
508 . ' membrane equivalent stress '
509 . ,ELBUF_TAB,IPARG,EANI ,IPM ,IGEO,
510 . IXC ,IXTG ,DD_IAD,SIZLOC_CS(2),SIZP0_CS(2),THKE,SIZWR_CS(2) )
511C-----------------------------------------------
512C SPH SCALAR
513C-----------------------------------------------
514 IF (NSPMD > 1) THEN
515 CALL OUTP_ARSZ_SPS(IPARG,DD_IAD,SIZLOC,SIZP0,SIZW_P0)
516 ELSE
517 ALLOCATE(SIZLOC_WRITE(NSPGROUP+1))
518 CALL COUNT_ARSZ_SPS(IPARG,DD_IAD,SIZLOC,SIZLOC_WRITE)
519 SIZP0 = SIZLOC
520 SIZW_P0 = -1
521 DO I=1,NSPGROUP
522 SIZW_P0 = MAX(SIZW_P0,SIZLOC_WRITE(I))
523 ENDDO
524 SIZW_P0 = SIZW_P0 + 6
525 DEALLOCATE(SIZLOC_WRITE)
526 ENDIF
527
528 IF(OUTP_SPS(1) == 1) CALL OUTP_SP_S( 1,'off ',
529 . ' delete flag(1.0:on 0.0:off) '
530 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
531
532 IF(OUTP_SPS(2) == 1) CALL OUTP_SP_S(10,'epsp ',
533 . ' plastic strain '
534 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
535
536 IF(OUTP_SPS(3) == 1) CALL OUTP_SP_S( 3,'ener ',
537 . ' internal specific energy '
538 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
539
540 IF(OUTP_SPS(4) == 1) CALL OUTP_SP_S( 4,'dens ',
541 . ' density '
542 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
543
544 IF(OUTP_SPS(5) == 1) CALL OUTP_SP_S(11,'temp ',
545 . ' temperature '
546 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
547
548 IF(OUTP_SPS(6) == 1) CALL OUTP_SP_S( 2,'pres ',
549 . ' pressure '
550 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
551
552 IF(OUTP_SPS(7) == 1) CALL OUTP_SP_S(-2,'vonm ',
553 . ' von mises stress '
554 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
555
556 IF(OUTP_SPS(25) == 1) CALL OUTP_SP_S(25,'slen ',
557 . ' smoothing length '
558 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
559
560 IF(OUTP_SPS(20) == 1) CALL OUTP_SP_S(20,'user1 ',
561 . ' user variable 1 '
562 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
563
564 IF(OUTP_SPS(21) == 1) CALL OUTP_SP_S(21,'user2 ',
565 . ' user variable 2 '
566 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
567
568 IF(OUTP_SPS(22) == 1) CALL OUTP_SP_S(22,'user3 ',
569 . ' user variable 3 '
570 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
571
572 IF(OUTP_SPS(23) == 1) CALL OUTP_SP_S(23,'user4 ',
573 . ' user variable 4 '
574 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
575
576 IF(OUTP_SPS(24) == 1) CALL OUTP_SP_S(24,'user5 ',
577 . ' user variable 5 '
578 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
579C-----------------------------------------------
580C element equivalent stress criteria
581C-----------------------------------------------
582 IF(OUTP_SPS(26) == 1) CALL OUTP_SP_S(24,'eq stress ',
583 . ' equivalent stress '
584 . ,ELBUF_TAB,IPARG,EANI,DD_IAD,KXSP,IPM,SPBUF,SIZLOC,SIZP0,SIZW_P0)
585C-----------------------------------------------
586C SOLID TENSOR(3D)
587C-----------------------------------------------
588 IF (NSPMD > 1) THEN
589 CALL OUTP_ARSZ_ST(IPARG,DD_IAD,SIZLOC_ST,SIZWR_ST,SIZP0_ST)
590 ELSE
591 SIZP0_ST = -1
592 SIZLOC_ST = -1
593 ALLOCATE( SIZLOC_WRITE(3*NSPGROUP+3) )
594 CALL COUNT_ARSZ_ST(IPARG,DD_IAD,SIZLOC_ST,SIZLOC_WRITE)
595 SIZP0_ST(1:3) = SIZLOC_WRITE(3*NSPGROUP+1:3*NSPGROUP+3)+8
596 SIZWR_ST(1:3) = -1
597 DO I=1,NSPGROUP
598 SIZWR_ST(1) = MAX(SIZWR_ST(1),SIZLOC_WRITE(I))
599 SIZWR_ST(2) = MAX(SIZWR_ST(2),SIZLOC_WRITE(NSPGROUP+I))
600 SIZWR_ST(3) = MAX(SIZWR_ST(3),SIZLOC_WRITE(2*NSPGROUP+I))
601 ENDDO
602 SIZWR_ST(1:3)= SIZWR_ST(1:3)+8
603 DEALLOCATE( SIZLOC_WRITE )
604 ENDIF
605
606 IF(OUTP_ST(1) == 1) CALL OUTP_S_T( 2,'stress ',
607 . ' stress ',
608 . ELBUF_TAB,IPARG,DD_IAD,SIZLOC_ST(1),SIZP0_ST(1),SIZWR_ST(1))
609
610 IF(OUTP_ST(2) == 1) CALL OUTP_S_TT( 2,'str_ful ',
611 . ' full stress tensor + plastic strain ',
612 . ELBUF_TAB,IPARG,DD_IAD,IPM, IXS,
613 . SIZLOC_ST(2),SIZP0_ST(2),SIZWR_ST(2))
614
615 IF(OUTP_ST(3) == 1) CALL OUTP_S_TT( 3,'strain_ful ',
616 . ' full strain tensor ',
617 . ELBUF_TAB,IPARG,DD_IAD,IPM, IXS,
618 . SIZLOC_ST(3),SIZP0_ST(3),SIZWR_ST(3))
619C-----------------------------------------------
620C SHELL TENSOR(2D)
621C-----------------------------------------------
622 IF (NSPMD > 1) THEN
623 CALL OUTP_ARSZ_CT(IPARG,DD_IAD,SIZLOC_CT,SIZP0_CT,SIZWR_CT,ELBUF_TAB)
624 ELSE
625 ALLOCATE(SIZLOC_WRITE(3*NSPGROUP+3))
626 CALL COUNT_ARSZ_CT(IPARG,DD_IAD,SIZLOC_CT,SIZLOC_WRITE,ELBUF_TAB)
627 SIZP0_CT(1)=SIZLOC_CT(1)
628 SIZP0_CT(2:3)=SIZLOC_CT(2:3)
629 SIZWR_CT(1:3)=-1
630 DO I=1,NSPGROUP
631 SIZWR_CT(1) = MAX(SIZWR_CT(1),SIZLOC_WRITE(I))
632 SIZWR_CT(2) = MAX(SIZWR_CT(2),SIZLOC_WRITE(NSPGROUP+I))
633 SIZWR_CT(3) = MAX(SIZWR_CT(3),SIZLOC_WRITE(2*NSPGROUP+I))
634 ENDDO
635 SIZWR_CT(1) = SIZWR_CT(1) + 6
636 DEALLOCATE(SIZLOC_WRITE)
637 ENDIF
638
639 IF(OUTP_CT(1) == 1) CALL OUTP_C_T( 1,'stress_mem',
640 . ' membrane stress ',
641 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
642
643 IF(OUTP_CT(2) == 1) CALL OUTP_C_T( 2,'stress_ben',
644 . ' bending stress ',
645 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
646
647 IF(OUTP_CT(3) == 1) CALL OUTP_C_T( 3,'stress_upp',
648 . ' upper surface stress ',
649 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
650
651 IF(OUTP_CT(4) == 1) CALL OUTP_C_T( 4,'stress_low',
652 . ' lower surface stress ',
653 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
654
655 IF(OUTP_CT(5) == 1) CALL OUTP_C_T( 5,'strain_mem',
656 . ' membrane strain ',
657 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
658
659 IF(OUTP_CT(6) == 1) CALL OUTP_C_T( 6,'strain_ben',
660 . ' bending strain ',
661 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
662
663 IF(OUTP_CT(7) == 1) CALL OUTP_C_T( 7,'strain_upp',
664 . ' upper surface strain ',
665 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
666
667 IF(OUTP_CT(8) == 1) CALL OUTP_C_T( 8,'strain_low',
668 . ' lower surface strain ',
669 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
670
671 IF(OUTP_CT(91) == 1) CALL OUTP_C_T(91,'epsdot_mem',
672 . ' membrane strain rate ',
673 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
674
675 IF(OUTP_CT(92) == 1) CALL OUTP_C_T(92,'epsdot_ben',
676 . ' bending strain rate ',
677 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1))
678
679 IF(OUTP_CT(93) == 1) CALL OUTP_C_T(93,'epsdot_upp',
680 . ' upper surface strain rate ',
681 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1))
682
683 IF(OUTP_CT(94) == 1) CALL OUTP_C_T(94,'epsdot_low',
684 . ' lower surface strain rate ',
685 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
686
687 DO I=1,30
688 IF(OUTP_CT(10+I) == 1)THEN
689 WRITE(MES,'(a,i2,a)')
690 . ' stress(layer',I,') '
691 WRITE(T10,'(a,i2)')'stress_l',I
692 CALL OUTP_C_T( 10+I,T10 ,MES,
693 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
694 ENDIF
695
696 IF(OUTP_CT(50+I) == 1)THEN
697 WRITE(MES,'(a,i2,a)')
698 . ' strain(layer',I,') '
699 WRITE(T10,'(a,i2)')'strain_l',I
700 CALL OUTP_C_T( 50+I,T10 ,MES,
701 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
702 ENDIF
703
704 IF(OUTP_CT(100+I) == 1)THEN
705 WRITE(MES,'(a,i2,a)')
706 . ' epsdot(layer',I,') '
707 WRITE(T10,'(a,i2)')'epsdot_l',I
708 CALL OUTP_C_T( 100+I,T10 ,MES,
709 . ELBUF_TAB,IPARG,TANI,DD_IAD,SIZLOC_CT(1),SIZP0_CT(1),SIZWR_CT(1) )
710 ENDIF
711 ENDDO
712 IF(OUTP_CT(95) == 1) CALL OUTP_C_TF(95,'stress_ful',
713 . ' full stress tensor + plastic strain ',
714 . ELBUF_TAB,IPARG ,DD_IAD,SIZLOC_CT(2),SIZP0_CT(2),THKE,GEO,
715 . IGEO ,STACK ,DRAPE_SH4N, DRAPE_SH3N,IXC ,IXTG,SIZWR_CT(2),
716 . DRAPEG )
717
718
719 IF(OUTP_CT(96) == 1) CALL OUTP_C_TF(96,'strain_ful',
720 . ' full strain tensor + plastic strain ',
721 . ELBUF_TAB,IPARG ,DD_IAD,SIZLOC_CT(3),SIZP0_CT(3),THKE,GEO,
722 . IGEO ,STACK ,DRAPE_SH4N, DRAPE_SH3N,IXC ,IXTG,SIZWR_CT(3),
723 . DRAPEG )
724
725C-----------------------------------------------
726C SPH TENSOR(3D)
727C-----------------------------------------------
728 IF (NSPMD > 1) THEN
729 CALL OUTP_ARSZ_SPT(IPARG,DD_IAD,SIZLOC,SIZP0,SIZW_P0)
730 ELSE
731 ALLOCATE(SIZLOC_WRITE(NSPGROUP+1))
732 CALL COUNT_ARSZ_SPT(IPARG,DD_IAD,SIZLOC,SIZLOC_WRITE)
733 SIZP0 = SIZLOC
734 SIZW_P0 = -1
735 DO I=1,NSPGROUP
736 SIZW_P0 = MAX(SIZW_P0,SIZLOC_WRITE(I))
737 ENDDO
738 SIZW_P0 = SIZW_P0 + 6
739 DEALLOCATE(SIZLOC_WRITE)
740 ENDIF
741
742 IF(OUTP_SPT(1) == 1) CALL OUTP_SP_T('stress ',
743 . ' stress ',
744 . ELBUF_TAB,IPARG,DD_IAD,SIZLOC,SIZP0,SIZW_P0)
745
746 IF (NSPMD > 1) THEN
747 CALL OUTP_ARSZ_SPTT(IPARG,DD_IAD,SIZLOC,SIZP0,SIZW_P0)
748 ELSE
749 ALLOCATE(SIZLOC_WRITE(NSPGROUP+1))
750 CALL COUNT_ARSZ_SPTT(IPARG,DD_IAD,SIZLOC,SIZLOC_WRITE)
751 SIZP0 = SIZLOC
752 SIZW_P0 = -1
753 DO I=1,NSPGROUP
754 SIZW_P0 = MAX(SIZW_P0,SIZLOC_WRITE(I))
755 ENDDO
756 DEALLOCATE(SIZLOC_WRITE)
757 ENDIF
758
759 IF(OUTP_SPT(2) == 1) CALL OUTP_SP_TT('str_ful ',
760 . ' full stress tensor + plastic strain ',
761 . ELBUF_TAB,IPARG,DD_IAD,IPM, KXSP,SPBUF,SIZLOC,SIZP0,SIZW_P0)
762C-----------------------------------------------
763C SPRING SCALAR
764C-----------------------------------------------
765 IF (NSPMD > 1) THEN
766 CALL OUTP_ARSZ_RS(IPARG,DD_IAD,SIZLOC,SIZP0,SIZW_P0)
767 ELSE
768 ALLOCATE(SIZLOC_WRITE(NSPGROUP+1))
769 CALL COUNT_ARSZ_RS(IPARG,DD_IAD,SIZLOC,SIZLOC_WRITE)
770 SIZP0 = SIZLOC_WRITE(NSPGROUP+1)
771 SIZW_P0 = -1
772 DO I=1,NSPGROUP
773 SIZW_P0 = MAX(SIZW_P0,SIZLOC_WRITE(I))
774 ENDDO
775 SIZW_P0 = SIZW_P0 + 6
776 DEALLOCATE(SIZLOC_WRITE)
777 ENDIF
778
779 IF(OUTP_RS(1) == 1)CALL OUTP_R_S(1,'off ',
780 . ' delete flag(1.0:on 0.0:off) '
781 . ,ELBUF_TAB,IPARG,DD_IAD,SIZLOC,SIZP0,SIZW_P0)
782
783C-----------------------------------------------
784C springs forces and moments
785C-----------------------------------------------
786 IF (NSPMD > 1) THEN
787 CALL OUTP_ARSZ_RT(IPARG,IGEO,GEO,IXR,DD_IAD,
788 . SIZLOC,SIZP0,SIZW_P0)
789 ELSE
790 ALLOCATE(SIZLOC_WRITE(NSPGROUP+1))
791 CALL COUNT_ARSZ_RT(IPARG,IGEO,GEO,IXR,DD_IAD,
792 . SIZLOC,SIZLOC_WRITE)
793 SIZP0 = SIZLOC
794 SIZW_P0 = -1
795 DO I=1,NSPGROUP
796 SIZW_P0 = MAX(SIZW_P0,SIZLOC_WRITE(I))
797 ENDDO
798 SIZW_P0 = SIZW_P0 + 6
799 DEALLOCATE(SIZLOC_WRITE)
800 ENDIF
801C
802 IF(OUTP_RS(2) == 1)CALL OUTP_R_T('full ',
803 . ' forces and moments ',
804 . ELBUF_TAB,IPARG,DD_IAD,IXR,IGEO,GEO,SIZLOC,SIZP0,SIZW_P0)
805
806C-----------------------------------------------
807C RBODIES+SECTIONS+RWALLS FORCES (FOPT)
808C-----------------------------------------------
809 IF(OUTP_V(8) == 1)
810 . CALL OUTP_N_V2(FOPT ,NPBY ,NOM_OPT(I16G),NOM_OPT(I16D))
811C-----------------------------------------------
812C END
813C-----------------------------------------------
814
815 IF(ISPMD == 0) THEN
816 WRITE(IUGEO,'(a)')'/enddata '
817 CLOSE(UNIT=IUGEO)
818 CALL FILELEN_SYS(FILNAM,FILEN, OUTPSIZE)
819 OUTPFILESIZE=OUTPFILESIZE + OUTPSIZE/1024
820 WRITE (IOUT,1000) FILNAM(1:FILEN)
821 WRITE (ISTDO,1000) FILNAM(1:FILEN)
822 ENDIF
823 1000 FORMAT (4X,' output file:',1X,A,' written')
824C-----------
825 RETURN
826 END
subroutine genoutp(x, d, v, a, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, iparg, pm, igeo, ms, cont, itab, partsav, fint, fext, tani, eani, anin, ipart, vr, elbuf_tab, dd_iad, weight, ipm, kxsp, spbuf, nodglob, leng, fopt, nom_opt, npby, fncont, ftcont, geo, thke, stack, drape_sh4n, drape_sh3n, drapeg, output)
Definition genoutp.F:82
#define max(a, b)
Definition macros.h:21
character(len=outfile_char_len) outfile_name
integer outfile_name_len
subroutine outp_mt(pm, npart, partsav, ipart, ipm)
Definition outp_mt.F:32
subroutine outp_n_vc(key, text, len, vect, numnod, itab, itabg, leng, nodglob, weight)
Definition outp_n_v.F:244
subroutine outp_n_v(key, text, len, vect, numnod, itab, itabg, leng, nodglob, weight)
Definition outp_n_v.F:32
subroutine outp_no(key, text, len, anin, numnod, itab, innoda, itabg, leng, nodglob, weight)
Definition outp_no.F:32
subroutine outp_r_t(key, text, elbuf_tab, iparg, dd_iad, ixr, igeo, geo, sizloc, sizp0, siz_wr)
Definition outp_r_t.F:35
subroutine outp_s_s(nbx, key, text, elbuf_tab, iparg, eani, ixs, ipm, dd_iad, sizloc, sizp0, siz_wr)
Definition outp_s_s.F:37
subroutine count_arsz_ss(iparg, dd_iad, ipm, ixs, wasz, siz_write_loc)
Definition outp_s_s.F:397
subroutine outp_sp_t(key, text, elbuf_tab, iparg, dd_iad, sizloc, sizp0, siz_wr)
Definition outp_sp_t.F:35
subroutine outp_arsz_rs(iparg, dd_iad, wasz, waszp, wasz_wr)
Definition spmd_outp.F:386
subroutine outp_arsz_cs(iparg, ixc, ixtg, igeo, ipm, dd_iad, p0ars, wasz, wasz_wr)
Definition spmd_outp.F:113
subroutine spmd_outpitab(v, weight, nodglob, vglob)
Definition spmd_outp.F:1077
subroutine outp_arsz_ss(iparg, dd_iad, ipm, ixs, p0ars, wasz, wasz_wr)
Definition spmd_outp.F:36
subroutine slen(x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, j, area, aream)
Definition slen.F:31
void filelen_sys(char *ffilnam, int *len, int *size)