32 SUBROUTINE desout(X ,IXS ,IXQ ,IXC ,IXT ,
33 . IXP ,IXR ,IXTG ,ITAB ,PM ,
34 . GEO ,MS ,IXS10,IGEO ,IPM ,
35 . KXSP,IPART,IPARTSP,NAMES_AND_TITLES)
41 USE format_mod ,
ONLY : fmt_3i, fmt_8i
42 use element_mod ,
only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
46#include "implicit_f.inc"
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,*)
69 INTEGER IWA(10), I, J, FILEN
70 CHARACTER (LEN=NCHARTITLE) :: CARD
71 CHARACTER (LEN=100) :: FILNAM
72 INTEGER :: LEN_TMP_NAME
73 CHARACTER(len=2148) :: TMP_NAME
76 title_len=len_trim(names_and_titles%TITLE)
77 card(1:title_len)=names_and_titles%TITLE(1:title_len)
79 filnam=rootnam(1:rootlen)//
'Y000'
83 filnam=rootnam(1:rootlen)//
'_0000.sty'
90 OPEN(unit=iugeo,file=tmp_name(1:len_tmp_name),
91 . access=
'SEQUENTIAL',
92 . form=
'FORMATTED',status=
'UNKNOWN')
94 WRITE(iugeo,
'(2A)')
'#RADIOSS OUTPUT FILE V21 ',filnam(1:filen)
95 WRITE(iugeo,
'(A)')
'/HEAD'
96 WRITE(iugeo,
'(A)') card(1:72)
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) '
108 .
'# NUMSOL NUMQUAD NUMSHEL NUMTRUS NUMBEAM NUMSPRI NUMSH3N NUMSPH'
110 . numels, numelq, numelc, numelt, numelp, numelr,numeltg, numsph
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) '
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
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) '
130 WRITE(iugeo,
'(A)')
'#FORMAT: (2I10,A40) '
132 WRITE(iugeo,
'(2A)')
'# SYSMID USRMID',
135 CALL fretitl2(card,ipm(npropmi-ltitr+1,i),ltitr)
136 WRITE(iugeo,
'(2I8,A80)') i, ipm(1,i),card
138 IF (outyy_fmt==2)
THEN
140 CALL fretitl2(card,ipm(npropmi-ltitr+1,i),ltitr)
141 WRITE(iugeo,
'(2I8,A80)') i, ipm(1,i),card
145 CALL fretitl2(card,ipm(npropmi-ltitr+1,i),ltitr)
146 WRITE(iugeo,
'(2I10,A80)') i, ipm(1,i),card
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) '
157 WRITE(iugeo,
'(A)')
'#FORMAT: (2I10,A40) '
159 WRITE(iugeo,
'(2A)')
'# SYSPID USRPID',
161 IF (outyy_fmt==2)
THEN
163 CALL fretitl2(card,igeo(npropgi-ltitr+1,i),ltitr)
164 WRITE(iugeo,
'(2I8,A80)') i,igeo(1,i),card
168 CALL fretitl2(card,igeo(npropgi-ltitr+1,i),ltitr)
169 WRITE(iugeo,
'(2I10,A80)') i,igeo(1,i),card
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) '
180 WRITE(iugeo,
'(A)')
'#FORMAT: (2I10,1P4G20.13) '
182 WRITE(iugeo,
'(3A)')
'# SYSNOD USRNOD',
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)
189 WRITE(iugeo,
'(2I10,1P4G20.13)')
190 . (i,itab(i),x(1,i),x(2,i),x(3,i),ms(i),i=1,numnod)
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) '
201 WRITE(iugeo,
'(A)')
'#FORMAT: (4I10/8X,8I10) '
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)
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)
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) '
222 WRITE(iugeo,
'(A)')
'#FORMAT: (4I10/8X,8I10/2I) '
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)
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)
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) '
251 WRITE(iugeo,
'(A)')
'#FORMAT: (4I10/8X,8I10) '
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)
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)
271 WRITE(iugeo,
'(A)')
'/QUAD'
272 WRITE(iugeo,
'(A)')
'2d Solid Elements'
273 IF (outyy_fmt==2)
THEN
274 WRITE(iugeo,
'(A)')
'#FORMAT: (8I8) '
276 WRITE(iugeo,
'(A)')
'#FORMAT: (8I10) '
278 WRITE(iugeo,
'(2A)')
'#SYSQUAD USRQUAD SYSMID SYSPID',
279 .
' SYSNOD1 SYSNOD2 SYSNOD3 SYSNOD4'
280 IF (outyy_fmt==2)
THEN
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)
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)
292 WRITE(iugeo,
'(A)')
'/SHELL'
293 WRITE(iugeo,
'(A)')
'3d Shell Elements '
294 IF (outyy_fmt==2)
THEN
295 WRITE(iugeo,
'(A)')
'#FORMAT: (8I8) '
297 WRITE(iugeo,
'(A)')
'#FORMAT: (8I10) '
299 WRITE(iugeo,
'(2A)')
'#SYSSHEL USRSHEL SYSMID SYSPID',
300 .
' SYSNOD1 SYSNOD2 SYSNOD3 SYSNOD4'
301 IF (outyy_fmt==2)
THEN
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)
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)
313 WRITE(iugeo,
'(A)')
'/TRUSS'
314 WRITE(iugeo,
'(A)')
'3d Truss Elements'
315 IF (outyy_fmt==2)
THEN
316 WRITE(iugeo,
'(A)')
'#FORMAT: (6I8) '
318 WRITE(iugeo,
'(A)')
'#FORMAT: (6I10) '
320 WRITE(iugeo,
'(2A)')
'#SYSTRUS USRTRUS SYSMID SYSPID',
322 IF (outyy_fmt==2)
THEN
324 . (i,ixt(nixt,i),ixt(1,i),ixt(nixt-1,i),
325 . ixt(2,i),ixt(3,i),i=1,numelt)
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)
334 WRITE(iugeo,
'(A)')
'/BEAM'
335 WRITE(iugeo,
'(A)')
'3d Beam Elements'
336 IF (outyy_fmt==2)
THEN
337 WRITE(iugeo,
'(A)')
'#FORMAT: (7I8) '
339 WRITE(iugeo,
'(A)')
'#FORMAT: (7I10) '
341 WRITE(iugeo,
'(2A)')
'#SYSBEAM USRBEAM SYSMID SYSPID',
342 .
' SYSNOD1 SYSNOD2 SYSNOD3'
343 IF (outyy_fmt==2)
THEN
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)
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)
355 WRITE(iugeo,
'(A)')
'/SPRING'
356 WRITE(iugeo,
'(A)')
'3d Spring Elements'
357 IF (outyy_fmt==2)
THEN
358 WRITE(iugeo,
'(A)')
'#FORMAT: (6I8) '
360 WRITE(iugeo,
'(A)')
'#FORMAT: (6I10) '
362 WRITE(iugeo,
'(2A)')
'#SYSSPRI USRSPRI SYSMID SYSPID',
364 IF (outyy_fmt==2)
THEN
366 . (i,ixr(nixr,i),0,ixr(1,i),
367 . ixr(2,i),ixr(3,i),i=1,numelr)
369 WRITE(iugeo,
'(6I10)')
370 . (i,ixr(nixr,i),0,ixr(1,i),
371 . ixr(2,i),ixr(3,i),i=1,numelr)
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) '
381 WRITE(iugeo,
'(A)')
'#FORMAT: (7I10) '
383 WRITE(iugeo,
'(2A)')
'#SYSSH3N USRSH3N SYSMID SYSPID',
384 .
' SYSNOD1 SYSNOD2 SYSNOD3'
385 IF (outyy_fmt==2)
THEN
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)
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)
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'
405 WRITE(iugeo,
'(A)')
'#FORMAT: (4I10/10X,I10) '
406 WRITE(iugeo,
'(A)')
'# SYSSPH USRSPH SYSMID SYSPID'
407 WRITE(iugeo,
'(A)')
'# SYSNOD'
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)
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)
421 WRITE(iugeo,
'(A)')
'/ENDDATA'
423 WRITE (iout,60) filnam(1:filen)
424 60
FORMAT (/4x,14h plot file:,1x,a,8h written/
425 . 4x,14h -------------/)
427 CLOSE (unit=iugeo,status=
'KEEP')