OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
desout.F File Reference
#include "implicit_f.inc"
#include "com04_c.inc"
#include "units_c.inc"
#include "param_c.inc"
#include "scr15_c.inc"
#include "scr16_c.inc"
#include "scr17_c.inc"
#include "sphcom.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine desout (x, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, itab, pm, geo, ms, ixs10, igeo, ipm, kxsp, ipart, ipartsp, names_and_titles)

Function/Subroutine Documentation

◆ desout()

subroutine desout ( x,
integer, dimension(nixs,*) ixs,
integer, dimension(nixq,*) ixq,
integer, dimension(nixc,*) ixc,
integer, dimension(nixt,*) ixt,
integer, dimension(nixp,*) ixp,
integer, dimension(nixr,*) ixr,
integer, dimension(nixtg,*) ixtg,
integer, dimension(*) itab,
pm,
geo,
ms,
integer, dimension(6,*) ixs10,
integer, dimension(npropgi,*) igeo,
integer, dimension(npropmi,*) ipm,
integer, dimension(nisp,*) kxsp,
integer, dimension(lipart1,*) ipart,
integer, dimension(*) ipartsp,
type(names_and_titles_), intent(in) names_and_titles )

Definition at line 32 of file desout.F.

36C-----------------------------------------------
37C M o d u l e s
38C-----------------------------------------------
40 USE names_and_titles_mod, only:names_and_titles_,nchartitle !< names_and_titles host the input deck names and titles for outputs
41 USE format_mod , ONLY : fmt_3i, fmt_8i
42 use element_mod , only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
43C-----------------------------------------------
44C I m p l i c i t T y p e s
45C-----------------------------------------------
46#include "implicit_f.inc"
47C-----------------------------------------------
48C C o m m o n B l o c k s
49C-----------------------------------------------
50#include "com04_c.inc"
51#include "units_c.inc"
52#include "param_c.inc"
53#include "scr15_c.inc"
54#include "scr16_c.inc"
55#include "scr17_c.inc"
56#include "sphcom.inc"
57C-----------------------------------------------
58C D u m m y A r g u m e n t s
59C-----------------------------------------------
60 INTEGER IXS(NIXS,*), IXQ(NIXQ,*), IXC(NIXC,*), IXT(NIXT,*),
61 . IXP(NIXP,*), IXR(NIXR,*), IXTG(NIXTG,*),IXS10(6,*),ITAB(*),
62 . IGEO(NPROPGI,*),IPM(NPROPMI,*),
63 . KXSP(NISP,*),IPART(LIPART1,*),IPARTSP(*)
64 my_real x(3,*),ms(*), pm(npropm,*), geo(npropg,*)
65 TYPE(NAMES_AND_TITLES_),INTENT(IN):: NAMES_AND_TITLES
66C-----------------------------------------------
67C L o c a l V a r i a b l e s
68C-----------------------------------------------
69 INTEGER IWA(10), I, J, FILEN
70 CHARACTER (LEN=NCHARTITLE) :: CARD !< Host the title to be print in OUTP
71 CHARACTER (LEN=100) :: FILNAM
72 INTEGER :: LEN_TMP_NAME
73 CHARACTER(len=2148) :: TMP_NAME
74 INTEGER TITLE_LEN
75C-----------------------------------------
76 title_len=len_trim(names_and_titles%TITLE)
77 card(1:title_len)=names_and_titles%TITLE(1:title_len)
78C
79 filnam=rootnam(1:rootlen)//'Y000'
80 filen = rootlen + 4
81 IF(irootyy/=2)THEN
82 filen = rootlen + 9
83 filnam=rootnam(1:rootlen)//'_0000.sty'
84 ENDIF
85 len_tmp_name = filen
86 tmp_name=outfile_name(1:outfile_name_len)//filnam(1:len_tmp_name)
87
88 len_tmp_name = outfile_name_len+len_tmp_name
89C
90 OPEN(unit=iugeo,file=tmp_name(1:len_tmp_name),
91 . access='SEQUENTIAL',
92 . form='FORMATTED',status='UNKNOWN')
93C
94 WRITE(iugeo,'(2A)')'#RADIOSS OUTPUT FILE V21 ',filnam(1:filen)
95 WRITE(iugeo,'(A)')'/HEAD'
96 WRITE(iugeo,'(A)') card(1:72)
97C=======================================================================
98C GLOBAL
99C=======================================================================
100 WRITE(iugeo,'(A)')'/CONTROL'
101 WRITE(iugeo,'(A)')'Control information'
102 IF (outyy_fmt==2) THEN
103 WRITE(iugeo,'(A)')'#FORMAT: (3I8) '
104 WRITE(iugeo,'(A)')'# NUMMID NUMPID NUMNOD'
105 WRITE(iugeo,'(3I8)')nummat,numgeo,numnod
106 WRITE(iugeo,'(A)')'#FORMAT: (7I8) '
107 WRITE(iugeo,'(A)')
108 .'# NUMSOL NUMQUAD NUMSHEL NUMTRUS NUMBEAM NUMSPRI NUMSH3N NUMSPH'
109 WRITE(iugeo,'(8I8)')
110 . numels, numelq, numelc, numelt, numelp, numelr,numeltg, numsph
111 ELSE
112 WRITE(iugeo,'(A)')'#FORMAT: (3I10) '
113 WRITE(iugeo,'(A)')'# NUMMID NUMPID NUMNOD'
114 WRITE(iugeo,fmt=fmt_3i)nummat,numgeo,numnod
115 WRITE(iugeo,'(A)')'#FORMAT: (7I10) '
116 WRITE(iugeo,'(A)')
117 . '# NUMSOL NUMQUAD NUMSHEL NUMTRUS NUMBEAM'//
118 . ' NUMSPRI NUMSH3N NUMSPH'
119 WRITE(iugeo,fmt=fmt_8i)
120 . numels, numelq, numelc, numelt, numelp, numelr,numeltg, numsph
121 ENDIF
122C=======================================================================
123C MID
124C=======================================================================
125 WRITE(iugeo,'(A)')'/MID'
126 WRITE(iugeo,'(A)')'Material ID information'
127 IF (outyy_fmt==2) THEN
128 WRITE(iugeo,'(A)')'#FORMAT: (2I8,A40) '
129 ELSE
130 WRITE(iugeo,'(A)')'#FORMAT: (2I10,A40) '
131 ENDIF
132 WRITE(iugeo,'(2A)')'# SYSMID USRMID',
133 . ' MIDHEAD'
134 DO i=1,nummat
135 CALL fretitl2(card,ipm(npropmi-ltitr+1,i),ltitr)
136 WRITE(iugeo,'(2I8,A80)') i, ipm(1,i),card
137 ENDDO
138 IF (outyy_fmt==2) THEN
139 DO i=1,nummat
140 CALL fretitl2(card,ipm(npropmi-ltitr+1,i),ltitr)
141 WRITE(iugeo,'(2I8,A80)') i, ipm(1,i),card
142 ENDDO
143 ELSE
144 DO i=1,nummat
145 CALL fretitl2(card,ipm(npropmi-ltitr+1,i),ltitr)
146 WRITE(iugeo,'(2I10,A80)') i, ipm(1,i),card
147 ENDDO
148 ENDIF
149C=======================================================================
150C PID
151C=======================================================================
152 WRITE(iugeo,'(A)')'/PID'
153 WRITE(iugeo,'(A)')'Property ID information'
154 IF (outyy_fmt==2) THEN
155 WRITE(iugeo,'(A)')'#FORMAT: (2I8,A40) '
156 ELSE
157 WRITE(iugeo,'(A)')'#FORMAT: (2I10,A40) '
158 ENDIF
159 WRITE(iugeo,'(2A)')'# SYSPID USRPID',
160 . ' PIDHEAD'
161 IF (outyy_fmt==2) THEN
162 DO i=1,numgeo
163 CALL fretitl2(card,igeo(npropgi-ltitr+1,i),ltitr)
164 WRITE(iugeo,'(2I8,A80)') i,igeo(1,i),card
165 ENDDO
166 ELSE
167 DO i=1,numgeo
168 CALL fretitl2(card,igeo(npropgi-ltitr+1,i),ltitr)
169 WRITE(iugeo,'(2I10,A80)') i,igeo(1,i),card
170 ENDDO
171 ENDIF
172C=======================================================================
173C NODE
174C=======================================================================
175 WRITE(iugeo,'(A)')'/NODE'
176 WRITE(iugeo,'(A)')'Nodes information'
177 IF (outyy_fmt==2) THEN
178 WRITE(iugeo,'(A)')'#FORMAT: (2I8,1P4E16.9) '
179 ELSE
180 WRITE(iugeo,'(A)')'#FORMAT: (2I10,1P4G20.13) '
181 ENDIF
182 WRITE(iugeo,'(3A)')'# SYSNOD USRNOD',
183 . ' X Y Z',
184 . ' MASS'
185 IF (outyy_fmt==2) THEN
186 WRITE(iugeo,'(2I8,1P4E16.9)')
187 . (i,itab(i),x(1,i),x(2,i),x(3,i),ms(i),i=1,numnod)
188 ELSE
189 WRITE(iugeo,'(2I10,1P4G20.13)')
190 . (i,itab(i),x(1,i),x(2,i),x(3,i),ms(i),i=1,numnod)
191 ENDIF
192C=======================================================================
193C SOLID
194C=======================================================================
195 IF(numels10/=0)THEN
196 WRITE(iugeo,'(A)') '/SOLIDE'
197 WRITE(iugeo,'(A)')'3d Solid Elements'
198 IF (outyy_fmt==2) THEN
199 WRITE(iugeo,'(A)') '#FORMAT: (4I8/8X,8I8) '
200 ELSE
201 WRITE(iugeo,'(A)') '#FORMAT: (4I10/8X,8I10) '
202 ENDIF
203 WRITE(iugeo,'(A)') '# SYSSOL USRSOL SYSMID SYSPID'
204 WRITE(iugeo,'(2A)')'#SYSNOD1 SYSNOD2 SYSNOD3 SYSNOD4',
205 . ' SYSNOD5 SYSNOD6 SYSNOD7 SYSNOD8'
206 IF (outyy_fmt==2) THEN
207 WRITE(iugeo,'(4I8/8X,8I8)')
208 . (i,ixs(nixs,i),ixs(1,i),ixs(nixs-1,i),
209 . ixs(2,i),ixs(3,i),ixs(4,i),ixs(5,i),
210 . ixs(6,i),ixs(7,i),ixs(8,i),ixs(9,i),i=1,numels-numels10)
211 ELSE
212 WRITE(iugeo,'(4I10/8X,8I10)')
213 . (i,ixs(nixs,i),ixs(1,i),ixs(nixs-1,i),
214 . ixs(2,i),ixs(3,i),ixs(4,i),ixs(5,i),
215 . ixs(6,i),ixs(7,i),ixs(8,i),ixs(9,i),i=1,numels-numels10)
216 ENDIF
217 WRITE(iugeo,'(A)') '/TETRA10'
218 WRITE(iugeo,'(A)')'3d Solid Elements'
219 IF (outyy_fmt==2) THEN
220 WRITE(iugeo,'(A)') '#FORMAT: (4I8/8X,8I8/2I) '
221 ELSE
222 WRITE(iugeo,'(A)') '#FORMAT: (4I10/8X,8I10/2I) '
223 ENDIF
224 WRITE(iugeo,'(A)') '# SYSSOL USRSOL SYSMID SYSPID'
225 WRITE(iugeo,'(2A)')'#SYSNOD1 SYSNOD2 SYSNOD3 SYSNOD4',
226 . 'SYSNOD5 SYSNOD6 SYSNOD7 SYSNOD8',
227 . '#SYSNOD9 SYSNOD10'
228 IF (outyy_fmt==2) THEN
229 WRITE(iugeo,'(4I8/8X,10I8)')
230 . (numels8+i,ixs(nixs,numels8+i),
231 . ixs(1,numels8+i),ixs(nixs-1,numels8+i),
232 . ixs(2,numels8+i),ixs(4,numels8+i),
233 . ixs(7,numels8+i),ixs(6,numels8+i),
234 . ixs10(1,i),ixs10(2,i),ixs10(3,i),ixs10(4,i),
235 . ixs10(5,i),ixs10(6,i) ,i=1,numels10)
236 ELSE
237 WRITE(iugeo,'(4I10/8X,10I10)')
238 . (numels8+i,ixs(nixs,numels8+i),
239 . ixs(1,numels8+i),ixs(nixs-1,numels8+i),
240 . ixs(2,numels8+i),ixs(4,numels8+i),
241 . ixs(7,numels8+i),ixs(6,numels8+i),
242 . ixs10(1,i),ixs10(2,i),ixs10(3,i),ixs10(4,i),
243 . ixs10(5,i),ixs10(6,i) ,i=1,numels10)
244 ENDIF
245 ELSE
246 WRITE(iugeo,'(A)') '/SOLIDE'
247 WRITE(iugeo,'(A)')'3d Solid Elements'
248 IF (outyy_fmt==2) THEN
249 WRITE(iugeo,'(A)') '#FORMAT: (4I8/8X,8I8) '
250 ELSE
251 WRITE(iugeo,'(A)') '#FORMAT: (4I10/8X,8I10) '
252 ENDIF
253 WRITE(iugeo,'(A)') '# SYSSOL USRSOL SYSMID SYSPID'
254 WRITE(iugeo,'(2A)')'#SYSNOD1 SYSNOD2 SYSNOD3 SYSNOD4',
255 . ' SYSNOD5 SYSNOD6 SYSNOD7 SYSNOD8'
256 IF (outyy_fmt==2) THEN
257 WRITE(iugeo,'(4I8/8X,8I8)')
258 . (i,ixs(nixs,i),ixs(1,i),ixs(nixs-1,i),
259 . ixs(2,i),ixs(3,i),ixs(4,i),ixs(5,i),
260 . ixs(6,i),ixs(7,i),ixs(8,i),ixs(9,i),i=1,numels)
261 ELSE
262 WRITE(iugeo,'(4I10/8X,8I10)')
263 . (i,ixs(nixs,i),ixs(1,i),ixs(nixs-1,i),
264 . ixs(2,i),ixs(3,i),ixs(4,i),ixs(5,i),
265 . ixs(6,i),ixs(7,i),ixs(8,i),ixs(9,i),i=1,numels)
266 ENDIF
267 ENDIF
268C=======================================================================
269C QUAD
270C=======================================================================
271 WRITE(iugeo,'(A)') '/QUAD'
272 WRITE(iugeo,'(A)')'2d Solid Elements'
273 IF (outyy_fmt==2) THEN
274 WRITE(iugeo,'(A)') '#FORMAT: (8I8) '
275 ELSE
276 WRITE(iugeo,'(A)') '#FORMAT: (8I10) '
277 ENDIF
278 WRITE(iugeo,'(2A)')'#SYSQUAD USRQUAD SYSMID SYSPID',
279 . ' SYSNOD1 SYSNOD2 SYSNOD3 SYSNOD4'
280 IF (outyy_fmt==2) THEN
281 WRITE(iugeo,'(8I8)')
282 . (i,ixq(nixq,i),ixq(1,i),ixq(nixq-1,i),
283 . ixq(2,i),ixq(3,i),ixq(4,i),ixq(5,i),i=1,numelq)
284 ELSE
285 WRITE(iugeo,'(8I10)')
286 . (i,ixq(nixq,i),ixq(1,i),ixq(nixq-1,i),
287 . ixq(2,i),ixq(3,i),ixq(4,i),ixq(5,i),i=1,numelq)
288 ENDIF
289C=======================================================================
290C SHELL
291C=======================================================================
292 WRITE(iugeo,'(A)') '/SHELL'
293 WRITE(iugeo,'(A)')'3d Shell Elements '
294 IF (outyy_fmt==2) THEN
295 WRITE(iugeo,'(A)') '#FORMAT: (8I8) '
296 ELSE
297 WRITE(iugeo,'(A)') '#FORMAT: (8I10) '
298 ENDIF
299 WRITE(iugeo,'(2A)')'#SYSSHEL USRSHEL SYSMID SYSPID',
300 . ' SYSNOD1 SYSNOD2 SYSNOD3 SYSNOD4'
301 IF (outyy_fmt==2) THEN
302 WRITE(iugeo,'(8I8)')
303 . (i,ixc(nixc,i),ixc(1,i),ixc(nixc-1,i),
304 . ixc(2,i),ixc(3,i),ixc(4,i),ixc(5,i),i=1,numelc)
305 ELSE
306 WRITE(iugeo,'(8I10)')
307 . (i,ixc(nixc,i),ixc(1,i),ixc(nixc-1,i),
308 . ixc(2,i),ixc(3,i),ixc(4,i),ixc(5,i),i=1,numelc)
309 ENDIF
310C=======================================================================
311C TRUSS
312C=======================================================================
313 WRITE(iugeo,'(A)') '/TRUSS'
314 WRITE(iugeo,'(A)')'3d Truss Elements'
315 IF (outyy_fmt==2) THEN
316 WRITE(iugeo,'(A)') '#FORMAT: (6I8) '
317 ELSE
318 WRITE(iugeo,'(A)') '#FORMAT: (6I10) '
319 ENDIF
320 WRITE(iugeo,'(2A)') '#SYSTRUS USRTRUS SYSMID SYSPID',
321 . ' SYSNOD1 SYSNOD2'
322 IF (outyy_fmt==2) THEN
323 WRITE(iugeo,'(6I8)')
324 . (i,ixt(nixt,i),ixt(1,i),ixt(nixt-1,i),
325 . ixt(2,i),ixt(3,i),i=1,numelt)
326 ELSE
327 WRITE(iugeo,'(6I10)')
328 . (i,ixt(nixt,i),ixt(1,i),ixt(nixt-1,i),
329 . ixt(2,i),ixt(3,i),i=1,numelt)
330 ENDIF
331C=======================================================================
332C BEAM
333C=======================================================================
334 WRITE(iugeo,'(A)') '/BEAM'
335 WRITE(iugeo,'(A)')'3d Beam Elements'
336 IF (outyy_fmt==2) THEN
337 WRITE(iugeo,'(A)') '#FORMAT: (7I8) '
338 ELSE
339 WRITE(iugeo,'(A)') '#FORMAT: (7I10) '
340 ENDIF
341 WRITE(iugeo,'(2A)')'#SYSBEAM USRBEAM SYSMID SYSPID',
342 . ' SYSNOD1 SYSNOD2 SYSNOD3'
343 IF (outyy_fmt==2) THEN
344 WRITE(iugeo,'(7I8)')
345 . (i,ixp(nixp,i),ixp(1,i),ixp(nixp-1,i),
346 . ixp(2,i),ixp(3,i),ixp(4,i),i=1,numelp)
347 ELSE
348 WRITE(iugeo,'(7I10)')
349 . (i,ixp(nixp,i),ixp(1,i),ixp(nixp-1,i),
350 . ixp(2,i),ixp(3,i),ixp(4,i),i=1,numelp)
351 ENDIF
352C=======================================================================
353C SPRING
354C=======================================================================
355 WRITE(iugeo,'(A)') '/SPRING'
356 WRITE(iugeo,'(A)')'3d Spring Elements'
357 IF (outyy_fmt==2) THEN
358 WRITE(iugeo,'(A)') '#FORMAT: (6I8) '
359 ELSE
360 WRITE(iugeo,'(A)') '#FORMAT: (6I10) '
361 ENDIF
362 WRITE(iugeo,'(2A)')'#SYSSPRI USRSPRI SYSMID SYSPID',
363 . ' SYSNOD1 SYSNOD2'
364 IF (outyy_fmt==2) THEN
365 WRITE(iugeo,'(6I8)')
366 . (i,ixr(nixr,i),0,ixr(1,i),
367 . ixr(2,i),ixr(3,i),i=1,numelr)
368 ELSE
369 WRITE(iugeo,'(6I10)')
370 . (i,ixr(nixr,i),0,ixr(1,i),
371 . ixr(2,i),ixr(3,i),i=1,numelr)
372 ENDIF
373C=======================================================================
374C SHELL3N
375C=======================================================================
376 WRITE(iugeo,'(A)') '/SHELL3N'
377 WRITE(iugeo,'(A)')'3d Shell Elements (Triangle) '
378 IF (outyy_fmt==2) THEN
379 WRITE(iugeo,'(A)') '#FORMAT: (7I8) '
380 ELSE
381 WRITE(iugeo,'(A)') '#FORMAT: (7I10) '
382 ENDIF
383 WRITE(iugeo,'(2A)')'#SYSSH3N USRSH3N SYSMID SYSPID',
384 . ' SYSNOD1 SYSNOD2 SYSNOD3'
385 IF (outyy_fmt==2) THEN
386 WRITE(iugeo,'(7I8)')
387 . (i,ixtg(nixtg,i),ixtg(1,i),ixtg(nixtg-1,i),
388 . ixtg(2,i),ixtg(3,i),ixtg(4,i),i=1,numeltg)
389 ELSE
390 WRITE(iugeo,'(7I10)')
391 . (i,ixtg(nixtg,i),ixtg(1,i),ixtg(nixtg-1,i),
392 . ixtg(2,i),ixtg(3,i),ixtg(4,i),i=1,numeltg)
393 ENDIF
394C=======================================================================
395C
396C SPH
397C=======================================================================
398 WRITE(iugeo,'(A)') '/SPHCEL'
399 WRITE(iugeo,'(A)')'SPH particles'
400 IF (outyy_fmt==2) THEN
401 WRITE(iugeo,'(A)') '#FORMAT: (4I8/8X,I8) '
402 WRITE(iugeo,'(A)') '# SYSSPH USRSPH SYSMID SYSPID'
403 WRITE(iugeo,'(A)')'#SYSNOD'
404 ELSE
405 WRITE(iugeo,'(A)') '#FORMAT: (4I10/10X,I10) '
406 WRITE(iugeo,'(A)') '# SYSSPH USRSPH SYSMID SYSPID'
407 WRITE(iugeo,'(A)') '# SYSNOD'
408 ENDIF
409 IF (outyy_fmt==2) THEN
410 WRITE(iugeo,'(4I8/8X,I8)')
411 . (i,kxsp(nisp,i),ipart(1,ipartsp(i)),
412 . ipart(2,ipartsp(i)),kxsp(3,i),i=1,numsph)
413 ELSE
414 WRITE(iugeo,'(4I10/10X,I10)')
415 . (i,kxsp(nisp,i),ipart(1,ipartsp(i)),
416 . ipart(2,ipartsp(i)),kxsp(3,i),i=1,numsph)
417 ENDIF
418C=======================================================================
419C END
420C=======================================================================
421 WRITE(iugeo,'(A)') '/ENDDATA'
422C
423 WRITE (iout,60) filnam(1:filen)
424 60 FORMAT (/4x,14h plot file:,1x,a,8h written/
425 . 4x,14h -------------/)
426C
427 CLOSE (unit=iugeo,status='KEEP')
428C
429 RETURN
#define my_real
Definition cppsort.cpp:32
end diagonal values have been computed in the(sparse) matrix id.SOL
for(i8=*sizetab-1;i8 >=0;i8--)
character(len=outfile_char_len) outfile_name
integer outfile_name_len
integer, parameter nchartitle
subroutine fretitl2(titr, iasc, l)
Definition freform.F:799