OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
printgroup.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!|| printgroup ../starter/source/output/outfile/printgroup.F
25!||--- called by ------------------------------------------------------
26!|| lectur ../starter/source/starter/lectur.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!||--- uses -----------------------------------------------------
30!|| format_mod ../starter/share/modules1/format_mod.F90
31!|| message_mod ../starter/share/message_module/message_mod.f
32!|| r2r_mod ../starter/share/modules1/r2r_mod.f
33!||====================================================================
34 SUBROUTINE printgroup(
35 1 ITAB ,ITABM1 ,IGRNOD ,NINICRACK,BUFSF ,
36 2 IGRSURF ,IGRSLIN ,INICRACK ,IXS ,IXQ ,
37 3 IXC ,IXT ,IXP ,IXR ,IXTG ,
38 4 IXS10 ,IXS20 ,IXS16 ,IPART ,
39 5 KXX ,IXIG3D ,KXIG3D ,
40 6 IGRQUAD ,IGRBRIC ,IGRSH4N ,IGRSH3N ,IGRTRUSS,
41 7 IGRBEAM ,IGRSPRING,IGRPART )
42C-----------------------------------------------
43C M o d u l e s
44C-----------------------------------------------
45 USE groupdef_mod
46 USE message_mod
47 USE r2r_mod
50 USE format_mod , ONLY : fmw_10i, fmw_6i, fmw_2i_x_f, fmw_4i
51C-----------------------------------------------
52C I m p l i c i t T y p e s
53C-----------------------------------------------
54#include "implicit_f.inc"
55C-----------------------------------------------
56C D u m m y A r g u m e n t s
57C-----------------------------------------------
58 INTEGER ITAB(*),ITABM1(*),NINICRACK,IXS(NIXS,*),
59 . IXC(NIXC,*),IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),
60 . IXTG(NIXTG,*),IXS10(6,*),IXS20(12,*),IXS16(8,*),
61 . IPART(LIPART1,*),IXQ(NIXQ,*),
62 . KXX(NIXX,*),KXIG3D(NIXIG3D,*),IXIG3D(*)
63 my_real BUFSF(*)
64C-----------------------------------------------
65 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
66 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
67 TYPE (GROUP_) , DIMENSION(NGRQUAD) :: IGRQUAD
68 TYPE (GROUP_) , DIMENSION(NGRSHEL) :: IGRSH4N
69 TYPE (GROUP_) , DIMENSION(NGRSH3N) :: IGRSH3N
70 TYPE (GROUP_) , DIMENSION(NGRTRUS) :: IGRTRUSS
71 TYPE (GROUP_) , DIMENSION(NGRBEAM) :: IGRBEAM
72 TYPE (GROUP_) , DIMENSION(NGRSPRI) :: IGRSPRING
73 TYPE (GROUP_) , DIMENSION(NGRPART) :: IGRPART
74 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
75 TYPE (SURF_) , DIMENSION(NSLIN) :: IGRSLIN
76 TYPE (INICRACK_), DIMENSION(NINICRACK) :: INICRACK
77C-----------------------------------------------
78C C o m m o n B l o c k s
79C-----------------------------------------------
80#include "scr17_c.inc"
81#include "scr03_c.inc"
82#include "scr23_c.inc"
83#include "com01_c.inc"
84#include "com04_c.inc"
85#include "units_c.inc"
86#include "param_c.inc"
87#include "r2r_c.inc"
88C-----------------------------------------------
89C L o c a l V a r i a b l e s
90C-----------------------------------------------
91 INTEGER I,J,K,L,II,KK,NEL,NNOD,NSEG,IAD0,DGR,ITYP,SRFTYP,NE,
92 . KR,IADR,NSEGIGE,ID
93 CHARACTER(LEN=NCHARTITLE) :: TITR
94 CHARACTER MESS*40,FMTT*15
95C-----------------------------------------------
96 IF (IPRI >= 0) then
97C-----------------------------------------------
98 IF (ngrbric > 0) THEN
99c MESS='BRIC. ELEMENT GROUP'
100c WRITE(ISTDO,'(2A)')' .. ',MESS
101 DO i = 1,ngrbric
102 id = igrbric(i)%ID
103 titr = igrbric(i)%TITLE
104 nel = igrbric(i)%NENTITY
105 IF (nsubdom>0) THEN
106C-----------> Multidomaines -> on prend le nb d'elts avant split----
107 IF ((nel==0).AND.(igrbric(i)%R2R_ALL/=0)) GOTO 150
108 ENDIF
109C----------------------------------------------------------------------
110 IF (nel == 0 .AND. igrbric(i)%SET_GROUP == 0) THEN
111 CALL ancmsg(msgid=534,
112 . msgtype=msgwarning,
113 . anmode=aninfo_blind_1,
114 . c1='brick',C2='brick',C3=TRIM(TITR),
115 . I1=ID)
116 ENDIF
117 IF (IPRI > 0) THEN
118 WRITE(IOUT,'(//)')
119 WRITE(IOUT,'(a,i10,3a,i6,a)')' bric. group:',ID,',',TRIM(TITR),',',NEL,' elements: '
120 WRITE(IOUT,'(a)')' --------------------'
121 WRITE(IOUT,FMT=FMW_10I)(IXS(NIXS,IGRBRIC(I)%ENTITY(J)),J=1,NEL)
122 END IF
123150 CONTINUE
124 ENDDO
125 ENDIF
126C-----------------------------------------------
127 IF (NGRQUAD > 0) THEN
128c MESS='QUAD ELEMENT GROUP'
129c WRITE(ISTDO,'(2A)')' .. ',MESS
130 DO I = 1,NGRQUAD
131 ID = IGRQUAD(I)%ID
132 TITR = IGRQUAD(I)%TITLE
133 NEL =IGRQUAD(I)%NENTITY
134 IF (NSUBDOM>0) THEN
135C-----------> Multidomaines -> on prend le nb d'elts avant split----
136.AND. IF ((NEL==0)(IGRQUAD(I)%R2R_ALL/=0)) GOTO 160
137 ENDIF
138C----------------------------------------------------------------------
139.AND. IF (NEL == 0 IGRQUAD(I)%SET_GROUP == 0) THEN
140 CALL ANCMSG(MSGID=534,
141 . MSGTYPE=MSGWARNING,
142 . ANMODE=ANINFO_BLIND_1,
143 . C1='quad',C2='quad',C3=TRIM(TITR),
144 . I1=ID)
145 ENDIF
146 IF (IPRI > 0) THEN
147 WRITE(IOUT,'(//)')
148 WRITE(IOUT,'(a,i10,3a,i6,a)')' quad group:',ID,',',TRIM(TITR),',',NEL,' elements: '
149 WRITE(IOUT,'(a)')' --------------------'
150 WRITE(IOUT,FMT=FMW_10I)(IXQ(NIXQ,IGRQUAD(I)%ENTITY(J)),J=1,NEL)
151 END IF
152160 CONTINUE
153 ENDDO
154 ENDIF
155C-----------------------------------------------
156 IF (NGRSHEL > 0) THEN
157c MESS ='SHEL. ELEMENT GROUP'
158c WRITE(ISTDO,'(2A)')' .. ',MESS
159 DO I = 1,NGRSHEL
160 ID = IGRSH4N(I)%ID
161 TITR = IGRSH4N(I)%TITLE
162 NEL =IGRSH4N(I)%NENTITY
163 IF (NSUBDOM>0) THEN
164C-----------> Multidomaines -> on prend le nb d'elts avant split----
165.AND. IF ((NEL==0)(IGRSH4N(I)%R2R_ALL/=0)) GOTO 170
166 ENDIF
167C----------------------------------------------------------------------
168.AND. IF (NEL == 0 IGRSH4N(I)%SET_GROUP == 0) THEN
169 CALL ANCMSG(MSGID=534,
170 . MSGTYPE=MSGWARNING,
171 . ANMODE=ANINFO_BLIND_1,
172 . C1='shell',C2='shell',C3=TRIM(TITR),
173 . I1=ID)
174 ENDIF
175 IF (IPRI > 0) THEN
176 WRITE(IOUT,'(a)') ' '
177 WRITE(IOUT,'(a)') ' '
178 WRITE(IOUT,'(a,i10,3a,i6,a)')' shel. group:',ID,',',TRIM(TITR),',',NEL,' elements: '
179 WRITE(IOUT,'(a)')' --------------------'
180 WRITE(IOUT,FMT=FMW_10I) (IXC(NIXC,IGRSH4N(I)%ENTITY(J)),J=1,NEL)
181 END IF
182170 CONTINUE
183 ENDDO
184 ENDIF
185C-----------------------------------------------
186 IF (NGRTRUS > 0) THEN
187c MESS ='TRUS ELEMENT GROUP'
188c WRITE(ISTDO,'(2A)')' .. ',MESS
189 DO I = 1,NGRTRUS
190 ID = IGRTRUSS(I)%ID
191 TITR = IGRTRUSS(I)%TITLE
192 NEL =IGRTRUSS(I)%NENTITY
193 IF (NSUBDOM>0) THEN
194C-----------> Multidomaines -> on prend le nb d'elts avant split----
195.AND. IF ((NEL==0)(IGRTRUSS(I)%R2R_ALL/=0)) GOTO 180
196 ENDIF
197C----------------------------------------------------------------------
198.AND. IF (NEL == 0 IGRTRUSS(I)%SET_GROUP == 0) THEN
199 CALL ANCMSG(MSGID=534,
200 . MSGTYPE=MSGWARNING,
201 . ANMODE=ANINFO_BLIND_1,
202 . C1='trus',C2='trus',c3=trim(titr),
203 . i1=id)
204 ENDIF
205 IF (ipri > 0) THEN
206 WRITE(iout,'(//)')
207 WRITE(iout,'(A,I10,3A,I6,A)')' TRUSS GROUP:',id,',',trim(titr),',',nel,' ELEMENTS: '
208 WRITE(iout,'(A)')' --------------------'
209 WRITE(iout,fmt=fmw_10i)(ixt(nixt,igrtruss(i)%ENTITY(j)),j=1,nel)
210 END IF
211180 CONTINUE
212 ENDDO
213 ENDIF
214C-----------------------------------------------
215 IF (ngrbeam > 0) THEN
216c MESS ='BEAM ELEMENT GROUP'
217c WRITE(ISTDO,'(2A)')' .. ',MESS
218 DO i = 1,ngrbeam
219 id = igrbeam(i)%ID
220 nel =igrbeam(i)%NENTITY
221 titr = igrbeam(i)%TITLE
222 IF (nsubdom>0) THEN
223C-----------> Multidomaines -> on prend le nb d'elts avant split----
224 IF ((nel==0).AND.(igrbeam(i)%R2R_ALL/=0)) GOTO 190
225 ENDIF
226C----------------------------------------------------------------------
227 IF (nel == 0 .AND. igrbeam(i)%SET_GROUP == 0) THEN
228 CALL ancmsg(msgid=534,
229 . msgtype=msgwarning,
230 . anmode=aninfo_blind_1,
231 . c1='BEAM',c2='BEAM',c3=trim(titr),
232 . i1=id)
233 ENDIF
234 IF (ipri > 0) THEN
235 WRITE(iout,'(//)')
236 WRITE(iout,'(A,I10,3A,I6,A)')' BEAM GROUP:',id,',',trim(titr),',',nel,' ELEMENTS: '
237 WRITE(iout,'(A)')' --------------------'
238 WRITE(iout,fmt=fmw_10i)(ixp(nixp,igrbeam(i)%ENTITY(j)),j=1,nel)
239 END IF
240190 CONTINUE
241 ENDDO
242 ENDIF
243C-----------------------------------------------
244 IF (ngrspri > 0) THEN
245c MESS ='SPRI ELEMENT GROUP'
246c WRITE(ISTDO,'(2A)')' .. ',MESS
247 DO i = 1,ngrspri
248 id = igrspring(i)%ID
249 titr = igrspring(i)%TITLE
250 nel =igrspring(i)%NENTITY
251 IF (nsubdom>0) THEN
252C-----------> Multidomaines -> on prend le nb d'elts avant split----
253 IF ((nel==0).AND.(igrspring(i)%R2R_ALL/=0)) GOTO 200
254 ENDIF
255C----------------------------------------------------------------------
256 IF (nel == 0 .AND. igrspring(i)%SET_GROUP == 0) THEN
257 CALL ancmsg(msgid=534,
258 . msgtype=msgwarning,
259 . anmode=aninfo_blind_1,
260 . c1='SPRI',c2='SPRI',c3=trim(titr),
261 . i1=id)
262 ENDIF
263 IF (ipri > 0) THEN
264 WRITE(iout,'(//)')
265 WRITE(iout,'(A,I10,3A,I6,A)')' SPRING GROUP:',id,',',trim(titr),',',nel,' ELEMENTS: '
266 WRITE(iout,'(A)')' --------------------'
267 WRITE(iout,fmt=fmw_10i)(ixr(nixr,igrspring(i)%ENTITY(j)),j=1,nel)
268 END IF
269200 CONTINUE
270 ENDDO
271 ENDIF
272C-----------------------------------------------
273 IF (ngrsh3n > 0) THEN
274c MESS ='SHELL3N ELEMENT GROUP'
275c WRITE(ISTDO,'(2A)')' .. ',MESS
276 DO i = 1,ngrsh3n
277 id = igrsh3n(i)%ID
278 titr = igrsh3n(i)%TITLE
279 nel =igrsh3n(i)%NENTITY
280 IF (nsubdom>0) THEN
281C-----------> Multidomaines -> on prend le nb d'elts avant split----
282 IF ((nel==0).AND.(igrsh3n(i)%R2R_ALL/=0)) GOTO 210
283 ENDIF
284C----------------------------------------------------------------------
285 IF (nel == 0 .AND. igrsh3n(i)%SET_GROUP == 0) THEN
286 IF(n2d==0)
287 . CALL ancmsg(msgid=534,
288 . msgtype=msgwarning,
289 . anmode=aninfo_blind_1,
290 . c1='SH3N',c2='SH3N',c3=trim(titr),
291 . i1=id)
292 IF(n2d/=0)
293 . CALL ancmsg(msgid=534,
294 . msgtype=msgwarning,
295 . anmode=aninfo_blind_1,
296 . c1='TRIA',c2='TRIA',c3=trim(titr),
297 . i1=id)
298 ENDIF
299 IF (ipri > 0) THEN
300 WRITE(iout,'(A)') ' '
301 WRITE(iout,'(A)') ' '
302 IF(n2d==0)WRITE(iout,'(A,I10,3A,I6,A)')' SH3N. GROUP:', id,',',trim(titr),',',nel,' ELEMENTS: '
303 IF(n2d/=0)WRITE(iout,'(A,I10,3A,I6,A)')' TRIA. GROUP:', id,',',trim(titr),',',NEL,' elements: '
304 WRITE(IOUT,'(a)')' --------------------'
305 WRITE(IOUT,FMT=FMW_10I)(IXTG(NIXTG,IGRSH3N(I)%ENTITY(J)),J=1,NEL)
306 END IF
307210 CONTINUE
308 ENDDO
309 ENDIF
310C-----------------------------------------------
311 IF (NGRPART > 0) THEN
312c MESS ='PART GROUP'
313c WRITE(ISTDO,'(2A)')' .. ',MESS
314 DO I = 1,NGRPART
315 ID = IGRPART(I)%ID
316 TITR = IGRPART(I)%TITLE
317 NEL =IGRPART(I)%NENTITY
318 IF (NSUBDOM>0) THEN
319C-----------> Multidomaines -> on prend le nb de parts avant split-----
320.AND. IF ((NEL==0)(IGRPART(I)%R2R_ALL/=0)) GOTO 220
321 ENDIF
322C----------------------------------------------------------------------
323.AND. IF (NEL == 0 IGRPART(I)%SET_GROUP == 0) THEN
324 CALL ANCMSG(MSGID=534,
325 . MSGTYPE=MSGWARNING,
326 . ANMODE=ANINFO_BLIND_1,
327 . C1='part',C2='part',C3=TRIM(TITR),
328 . I1=ID)
329 ENDIF
330 IF (IPRI > 0) THEN
331 WRITE(IOUT,'(//)')
332 WRITE(IOUT,'(a,i10,3a,i6,a)')' part group:',ID,',',TRIM(TITR),',',NEL,' parts: '
333 WRITE(IOUT,'(a)')' ---------------------'
334 WRITE(IOUT,FMT=FMW_10I)(IPART(4,IGRPART(I)%ENTITY(J)),J=1,NEL)
335 END IF
336220 CONTINUE
337 ENDDO
338 ENDIF
339C-----------------------------------------------
340 IF (NSURF > 0)THEN
341 DO I=1,NSURF
342 SRFTYP=IGRSURF(I)%TYPE
343 IF (SRFTYP == 100) THEN
344 IF (IGRSURF(I)%ID_MADYMO == 0) THEN
345 CALL ANCMSG(MSGID=692,
346 . MSGTYPE=MSGWARNING,
347 . ANMODE=ANINFO_BLIND_1,
348 . I1=IGRSURF(I)%ID)
349 END IF
350 ELSEIF (SRFTYP == 101) THEN
351 CONTINUE
352 ELSEIF (SRFTYP == 200) THEN
353 CONTINUE
354 ELSE
355 NSEG=IGRSURF(I)%NSEG
356 NSEGIGE=IGRSURF(I)%NSEG_IGE
357C-----------> Multidomaines -> on prend le nb de segments avant split----
358 IF (NSUBDOM>0) NSEG=ISURF_R2R(2,I)
359C----------------------------------------------------------------------
360.AND..AND. IF (NSEG == 0 NSEGIGE == 0 IGRSURF(I)%SET_GROUP == 0) THEN
361 CALL ANCMSG(MSGID=692,
362 . MSGTYPE=MSGWARNING,
363 . ANMODE=ANINFO_BLIND_1,
364 . I1=IGRSURF(I)%ID)
365 ENDIF
366 ENDIF
367 ENDDO
368C---
369 IF (IPRI > 0) THEN
370 DO I=1,NSURF
371C-----------> Multidomaines --------------------------------------------
372 IF (NSUBDOM>0) THEN
373.AND. IF((IGRSURF(I)%NSEG==0)(ISURF_R2R(2,I)/=0)) GOTO 300
374 ENDIF
375C----------------------------------------------------------------------
376 SRFTYP=IGRSURF(I)%TYPE
377 IF (SRFTYP == 100) THEN
378 WRITE(IOUT,'(a)') ' '
379 WRITE(IOUT,'(a)') ' '
380 TITR = IGRSURF(I)%TITLE
381 WRITE(IOUT,'(a,i10,1x,a)')' EXTERNAL coupling to surface:',IGRSURF(I)%ID,TRIM(TITR)
382 WRITE(IOUT,'(a)') ' ----------------------------'
383 WRITE(IOUT,1000) IGRSURF(I)%ID_MADYMO
384 WRITE(IOUT,'(10x,a)')'corresponding DATA will be READ in radioss engine.'
385 ELSEIF (SRFTYP == 101) THEN
386 WRITE(IOUT,'(a)') ' '
387 WRITE(IOUT,'(a)') ' '
388 TITR = IGRSURF(I)%TITLE
389 WRITE(IOUT,'(a,i10,1x,a)')' ellipsoidal surface:',IGRSURF(I)%ID,TRIM(TITR)
390 WRITE(IOUT,'(a)') ' --------------------'
391 DGR=BUFSF(IGRSURF(I)%IAD_BUFR+36)
392 WRITE(IOUT,1010) BUFSF(IGRSURF(I)%IAD_BUFR+4),BUFSF(IGRSURF(I)%IAD_BUFR+5),
393 . BUFSF(IGRSURF(I)%IAD_BUFR+6),BUFSF(IGRSURF(I)%IAD_BUFR+1),
394 . BUFSF(IGRSURF(I)%IAD_BUFR+2),BUFSF(IGRSURF(I)%IAD_BUFR+3),
395 . DGR,IGRSURF(I)%ID_MADYMO,
396 . (BUFSF(IGRSURF(I)%IAD_BUFR+7+J-1),J=1,3),
397 . (BUFSF(IGRSURF(I)%IAD_BUFR+7+J-1),J=4,6),
398 . (BUFSF(IGRSURF(I)%IAD_BUFR+7+J-1),J=7,9)
399 IGRSURF(I)%ID_MADYMO=0
400 ELSEIF (SRFTYP == 200) THEN
401 WRITE(IOUT,'(a)') ' '
402 WRITE(IOUT,'(a)') ' '
403 TITR = IGRSURF(I)%TITLE
404 WRITE(IOUT,'(a,i10,a,a)')' infinite plane surface:',IGRSURF(I)%ID,',',TRIM(TITR)
405 WRITE(IOUT,'(a)') ' --------------------'
406 WRITE(IOUT,'(a)') ' normal plane vector :'
407 WRITE(IOUT,1020)(BUFSF(IGRSURF(I)%IAD_BUFR+J),J=1,6)
408 ELSE
409 NSEG=IGRSURF(I)%NSEG
410!! IF (NSEG/=0) THEN
411 WRITE(IOUT,'(a)') ' '
412 WRITE(IOUT,'(a)') ' '
413 TITR = IGRSURF(I)%TITLE
414 WRITE(IOUT,'(a,i10,3a,i10,a)')' surface:',IGRSURF(I)%ID,',',TRIM(TITR),',',NSEG,' segments: '
415 WRITE(IOUT,'(a)')' -------------------'
416 WRITE(IOUT,'(a)')' node 1 node 2 node 3 node 4 eltyp element'
417 DO J=1,NSEG
418 ITYP=IGRSURF(I)%ELTYP(J)
419 IF (ITYP == 1) THEN
420 NE=IXS(NIXS,IGRSURF(I)%ELEM(J))
421 ELSEIF (ITYP == 2) THEN
422 NE=IXQ(NIXQ,IGRSURF(I)%ELEM(J))
423 ELSEIF (ITYP == 3) THEN
424 NE=IXC(NIXC,IGRSURF(I)%ELEM(J))
425 ELSEIF (ITYP == 7) THEN
426 NE=IXTG(NIXTG,IGRSURF(I)%ELEM(J))
427 ELSE
428 NE=0
429 ENDIF
430 IF(N2D == 0)THEN
431 WRITE(IOUT,'(6i10)')(ITAB(IGRSURF(I)%NODES(J,L)),L=1,4),ITYP,NE
432 ELSE
433 WRITE(IOUT,'(2i10,16x,2i10)')(ITAB(IGRSURF(I)%NODES(J,L)),L=1,2),ITYP,NE
434 ENDIF
435 ENDDO
436!! ENDIF ! IF (NSEG/=0)
437 IF (NSEGIGE/=0) THEN
438 NSEGIGE=IGRSURF(I)%NSEG_IGE
439 WRITE(IOUT,'(a)') ' '
440 WRITE(IOUT,'(a)') ' '
441 TITR = IGRSURF(I)%TITLE
442 WRITE(IOUT,'(a,i10,3a,i10,a)')' surface:',IGRSURF(I)%ID,',',TRIM(TITR),',',NSEGIGE,' segments isogeometriques: '
443 WRITE(IOUT,'(a)')' -------------------'
444 WRITE(IOUT,'(a)')' cp 1 cp 2 cp 3 cp 4 eltyp element'
445 DO J=1,NSEGIGE
446 ITYP=IGRSURF(I)%ELTYP_IGE(J)
447 IF (ITYP == 101) THEN
448 NE=KXIG3D(5,IGRSURF(I)%ELEM_IGE(J))
449 ELSE
450 NE=0
451 ENDIF
452 IF(N2D == 0)THEN
453 WRITE(IOUT,FMT=FMW_6I)(IGRSURF(I)%NODES_IGE(J,L),L=1,4),ITYP,NE
454 ELSE
455 WRITE(IOUT,'(2i10,16x,2i10)')(IGRSURF(I)%NODES_IGE(J,L),L=1,2),ITYP,NE
456 ENDIF
457 ENDDO
458 ENDIF ! IF (NSEGIGE/=0)
459 ENDIF ! IF (SRFTYP == 100)
460300 CONTINUE
461 ENDDO ! DO I=1,NSURF
462 ENDIF ! IF (IPRI > 0)
463 ENDIF ! IF (NSURF > 0)
464C-----------------------------------------------
465 IF (NSLIN > 0) THEN
466 DO I=1,NSLIN
467 NSEG=IGRSLIN(I)%NSEG
468C-----------> Multidomaines -> on prend le nb de segments avant split----
469 IF (NSUBDOM>0) NSEG=IGRSLIN(I)%NSEG_R2R_ALL
470C-----------> Type19 interface -> warning deactivated for lines generated in translator
471 TITR = IGRSLIN(I)%TITLE
472 IF (TITR(1:19)=='type19 interface nb') CYCLE
473C----------------------------------------------------------------------
474.AND. IF (NSEG == 0 IGRSLIN(I)%SET_GROUP == 0) THEN
475 CALL ANCMSG(MSGID=691,
476 . MSGTYPE=MSGWARNING,
477 . ANMODE=ANINFO_BLIND_1,
478 . I1=IGRSLIN(I)%ID)
479 END IF
480 END DO
481C---
482 DO I=1,NSLIN
483 NSEG=IGRSLIN(I)%NSEG
484 IF (NSUBDOM>0) THEN
485C-----------> Multidomaines --------------------------------------------
486.AND. IF ((NSEG==0)(IGRSLIN(I)%NSEG_R2R_ALL/=0)) GOTO 310
487 ENDIF
488C----------------------------------------------------------------------
489 IF (IPRI > 0) THEN
490 WRITE(IOUT,'(a)') ' '
491 WRITE(IOUT,'(a)') ' '
492 TITR = IGRSLIN(I)%TITLE
493 WRITE(IOUT,'(a,i10,3a,i10,a)')' line: ',IGRSLIN(I)%ID,',',TRIM(TITR),',',NSEG,' segments: '
494 WRITE(IOUT,'(a)')' ----------------------'
495 WRITE(IOUT,'(a)')' node 1 node 2 eltyp element'
496 DO J=1,NSEG
497 ITYP=IGRSLIN(I)%ELTYP(J)
498 IF(ITYP == 1)THEN
499 NE=IXS(NIXS,IGRSLIN(I)%ELEM(J))
500 ELSEIF(ITYP == 2)THEN
501 NE=IXQ(NIXQ,IGRSLIN(I)%ELEM(J))
502 ELSEIF(ITYP == 3)THEN
503 NE=IXC(NIXC,IGRSLIN(I)%ELEM(J))
504 ELSEIF(ITYP == 7)THEN
505 NE=IXTG(NIXTG,IGRSLIN(I)%ELEM(J))
506 ELSEIF(ITYP == 4)THEN
507 NE=IXT(NIXT,IGRSLIN(I)%ELEM(J))
508 ELSEIF(ITYP == 5)THEN
509 NE=IXP(NIXP,IGRSLIN(I)%ELEM(J))
510 ELSEIF(ITYP == 6)THEN
511 NE=IXR(NIXR,IGRSLIN(I)%ELEM(J))
512 ELSEIF(ITYP == 8)THEN
513 NE=KXX(NIXX,IGRSLIN(I)%ELEM(J))
514 ELSE
515 NE=0
516 ENDIF
517 WRITE(IOUT,FMT=FMW_4I)(ITAB(IGRSLIN(I)%NODES(J,L)),L=1,2),ITYP,NE
518 ENDDO
519 END IF
520310 CONTINUE
521 ENDDO
522 ENDIF
523C-----------------------------------------------
524 IF (NINICRACK > 0) THEN
525 DO I=1,NINICRACK
526 NSEG=INICRACK(I)%NSEG
527 IF (NSEG==0) THEN
528 CALL ANCMSG(MSGID=693,
529 . MSGTYPE=MSGWARNING,
530 . ANMODE=ANINFO_BLIND_1,
531 . I1=INICRACK(I)%ID)
532 END IF
533 END DO
534C
535 DO I=1,NINICRACK
536 NSEG=INICRACK(I)%NSEG
537 IF (IPRI > 0) THEN
538 WRITE(IOUT,'(a)') ' '
539 WRITE(IOUT,'(a)') ' '
540 TITR = INICRACK(I)%TITLE
541 WRITE(IOUT,'(a,i10,3a)')' inicrack: ',INICRACK(I)%ID,',',TRIM(TITR)
542 WRITE(IOUT,'(a)')' ----------------------'
543 WRITE(IOUT,'(a)')' node 1 node 2 ratio'
544 DO J=1,NSEG
545 WRITE(IOUT,FMT=FMW_2I_X_F)(ITAB(INICRACK(I)%SEG(J)%NODES(L)),L=1,2),INICRACK(I)%SEG(J)%RATIO
546 ENDDO
547 END IF
548 ENDDO
549 ENDIF
550C-----------------------------------------------
551 IF (NGRNOD > 0)THEN
552 DO I=1,NGRNOD
553 ID = IGRNOD(I)%ID
554 NNOD=IGRNOD(I)%NENTITY
555 IF (NSUBDOM>0) NNOD=IGRNOD(I)%R2R_ALL
556C-----------> Multidomaines -> on prend le nb de noeuds avant split----
557C----------------------------------------------------------------------
558 IF (NNOD==0) THEN
559 CALL ANCMSG(MSGID=690,
560 . MSGTYPE=MSGWARNING,
561 . ANMODE=ANINFO_BLIND_1,
562 . I1=ID)
563 END IF
564 ENDDO
565C
566 DO I=1,NGRNOD
567 ID = IGRNOD(I)%ID
568 NNOD=IGRNOD(I)%NENTITY
569 IF (NSUBDOM>0) THEN
570C-----------> Multidomaines --------------------------------------------
571.AND. IF ((NNOD==0)(IGRNOD(I)%R2R_ALL/=0)) GOTO 350
572 ENDIF
573C----------------------------------------------------------------------
574 IF (IPRI > 0) THEN
575 WRITE(IOUT,'(a)') ' '
576 WRITE(IOUT,'(a)') ' '
577 TITR = IGRNOD(I)%TITLE
578 WRITE(IOUT,'(a,i10,3a,i10,a)')' node group:',ID,',',TRIM(TITR),',',NNOD,' nodes: '
579 WRITE(IOUT,'(a)')' -------------------'
580 WRITE(IOUT,FMT=FMW_10I)(ITAB(IGRNOD(I)%ENTITY(J)),J=1,NNOD)
581 END IF
582350 CONTINUE
583 ENDDO
584 ENDIF
585C-----------
586 ENDIF
587C-----------
5881000 FORMAT(/10X,'surface definition : '
589 . /10X,'-------------------- '
590 . /10X,'reference to madymo coupling surface : ',I8)
5911010 FORMAT(/10X,'ellipsoid definition : '
592 . /10X,'---------------------- '
593 . /10X,'ellipsoid center ',1P3G20.13
594 . /10X,'ellipsoid semi-axes length ',1P3G20.13
595 . /10X,'ellipsoid degree ',I10
596 . /10X,'skew number for positioning ',i10
597 . /10x,'COMPUTED ELLIPSOID ROTATION ',
598 . /10x,' WITH RESPECT TO SKEW : ',1p3g20.13
599 . /10x,' ',1p3g20.13
600 . /10x,' ',1p3g20.13)
6011020 FORMAT(/10x,'PLANE DEFINITION : '
602 . /10x,'---------------------- '
603 . /48x,'X-ORD Y-ORD Z-ORD'
604 . /10x,'TAIL COORDINATES ',1p3g20.13
605 . /10x,'HEAD COORDINATES ',1p3g20.13)
606C-----------
607
608 RETURN
609 END
for(i8=*sizetab-1;i8 >=0;i8--)
integer, parameter nchartitle
subroutine printgroup(itab, itabm1, igrnod, ninicrack, bufsf, igrsurf, igrslin, inicrack, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixs10, ixs20, ixs16, ipart, kxx, ixig3d, kxig3d, igrquad, igrbric, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, igrpart)
Definition printgroup.F:42
program radioss
Definition radioss.F:34
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889
program starter
Definition starter.F:39