OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
outp_n_v.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!|| outp_n_v ../engine/source/output/sty/outp_n_v.F
25!||--- called by ------------------------------------------------------
26!|| genoutp ../engine/source/output/sty/genoutp.F
27!||--- calls -----------------------------------------------------
28!|| spmd_doutp_vgath ../engine/source/mpi/interfaces/spmd_outp.F
29!||====================================================================
30 SUBROUTINE outp_n_v(KEY,TEXT,LEN,VECT,NUMNOD,ITAB,ITABG,LENG,
31 . NODGLOB,WEIGHT)
32C-----------------------------------------------
33C I m p l i c i t T y p e s
34C-----------------------------------------------
35#include "implicit_f.inc"
36C-----------------------------------------------
37C C o m m o n B l o c k s
38C-----------------------------------------------
39#include "units_c.inc"
40#include "task_c.inc"
41#include "scr16_c.inc"
42#include "spmd_c.inc"
43#include "com01_c.inc"
44C-----------------------------------------------
45C D u m m y A r g u m e n t s
46C-----------------------------------------------
47 CHARACTER*10 KEY
48 CHARACTER*40 TEXT
49 INTEGER ITAB(*), LEN, NUMNOD,WEIGHT(*),ITABG(*),LENG,
50 . nodglob(*)
52 . vect(3,*)
53C-----------------------------------------------
54C L o c a l V a r i a b l e s
55C-----------------------------------------------
56 INTEGER I,J,K
57
59 . vglob(3,leng)
60C-----------------------------------------------
61
62 IF (nspmd > 1) THEN
63
64 CALL spmd_doutp_vgath(vect,nodglob,weight,vglob)
65 IF (ispmd/=0) RETURN
66 ENDIF
67
68C
69 WRITE(iugeo,'(2A)')'/NODAL /VECTOR /',key
70 WRITE(iugeo,'(A)')text(1:len)
71 IF (outyy_fmt==2) THEN
72 WRITE(iugeo,'(A)')'#FORMAT: (I8,1P3E16.9) '
73 ELSE
74 WRITE(iugeo,'(A)')'#FORMAT: (I10,1P3E20.13) '
75 ENDIF
76 WRITE(iugeo,'(2A)')'# USRNOD X',
77 . ' Y Z'
78
79 IF (nspmd == 1) THEN
80 IF (outyy_fmt==2) THEN
81 WRITE(iugeo,'(I8,1P3E16.9)')
82 . (itab(j),(vect(i,j),i=1,3),j=1,numnod)
83 ELSE
84 WRITE(iugeo,'(I10,1P3E20.13)')
85 . (itab(j),(vect(i,j),i=1,3),j=1,numnod)
86 ENDIF
87 ELSE
88 IF (outyy_fmt==2) THEN
89 WRITE(iugeo,'(I8,1P3E16.9)')
90 . (itabg(j),(vglob(i,j),i=1,3),j=1,numnodg)
91 ELSE
92 WRITE(iugeo,'(I10,1P3E20.13)')
93 . (itabg(j),(vglob(i,j),i=1,3),j=1,numnodg)
94 ENDIF
95 ENDIF
96 RETURN
97 END
98C
99!||====================================================================
100!|| outp_n_v2 ../engine/source/output/sty/outp_n_v.F
101!||--- called by ------------------------------------------------------
102!|| genoutp ../engine/source/output/sty/genoutp.F
103!||--- calls -----------------------------------------------------
104!|| spmd_glob_dsum9 ../engine/source/mpi/interfaces/spmd_th.F
105!||====================================================================
106 SUBROUTINE outp_n_v2(FOPT ,NPBY ,NOM_SECT ,NOM_WALL )
107C-----------------------------------------------
108C M o d u l e s
109C-----------------------------------------------
110C
111C-----------------------------------------------
112C I m p l i c i t T y p e s
113C-----------------------------------------------
114#include "implicit_f.inc"
115C-----------------------------------------------
116C C o m m o n B l o c k s
117C-----------------------------------------------
118#include "com04_c.inc"
119#include "param_c.inc"
120#include "scr16_c.inc"
121#include "scr17_c.inc"
122#include "task_c.inc"
123#include "units_c.inc"
124#include "com01_c.inc"
125C-----------------------------------------------
126C D u m m y A r g u m e n t s
127C-----------------------------------------------
128 INTEGER NPBY(NNPBY,*),NOM_SECT(LNOPT1,*),NOM_WALL(LNOPT1,*)
129 my_real fopt(6,*)
130C-----------------------------------------------
131C L o c a l V a r i a b l e s
132C-----------------------------------------------
133 INTEGER I,N
134C-----------------------------------------------
135 IF(nspmd > 1)THEN
136 CALL spmd_glob_dsum9(fopt,6*(nsect+nrbody+nrwall))
137 IF (ispmd/=0) THEN
138 DO n=1,nsect+nrbody+nrwall
139 DO i=1,6
140 fopt(i,n) = zero
141 ENDDO
142 ENDDO
143 RETURN
144 ENDIF
145 END IF
146C
147C----
148 WRITE(iugeo,'(A)')'/RBODY /VECTOR /FORCE'
149 WRITE(iugeo,'(A)')
150 . 'Rigid bodies : forces and moments'
151 IF (outyy_fmt==2) THEN
152 WRITE(iugeo,'(A)')'#FORMAT: (I8,1P3E16.9,/,8X,,1P3E16.9) '
153 WRITE(iugeo,'(2A,/,2A)')'#RBODYID',
154 . ' FX FY FZ',
155 . '# ',
156 . ' MX MY MZ'
157 ELSE
158 WRITE(iugeo,'(A)')'#FORMAT: (I10,1P3E20.13,/,10X,1P3E20.13) '
159 WRITE(iugeo,'(2A,/,2A)')'# RBODY_ID',
160 . ' FX FY FZ',
161 . '# ',
162 . ' MX MY MZ'
163C 12
164 END IF
165C
166C----
167 IF (outyy_fmt==2) THEN
168 WRITE(iugeo,'(I8,1P3E16.9,/,8X,1P3E16.9)')
169 . (npby(6,n),(fopt(i,nsect+n),i=1,3),
170 . (fopt(i,nsect+n),i=4,6),n=1,nrbody)
171 ELSE
172 WRITE(iugeo,'(I10,1P3E20.13,/,10X,1P3E20.13)')
173 . (npby(6,n),(fopt(i,nsect+n),i=1,3),
174 . (fopt(i,nsect+n),i=4,6),n=1,nrbody)
175 END IF
176C
177C----
178C
179C----
180 WRITE(iugeo,'(A)')'/SECTION /VECTOR /FORCE'
181 WRITE(iugeo,'(A)')
182 . 'Sections forces and moments'
183 IF (outyy_fmt==2) THEN
184 WRITE(iugeo,'(A)')'#FORMAT: (I8,1P3E16.9,/,16X,,1P3E16.9) '
185 WRITE(iugeo,'(2A,/,2A)')'#SECT_ID',
186 . ' FX FY FZ',
187 . '# ',
188 . ' MX MY MZ'
189 ELSE
190 WRITE(iugeo,'(A)')'#FORMAT: (I10,1P3E20.13,/,10X,1P3E20.13) '
191 WRITE(iugeo,'(2A,/,2A)')'# SECT_ID',
192 . ' fx fy fz',
193 . '# ',
194 . ' mx my mz'
195C 12
196 ENDIF
197C
198C----
199 IF (OUTYY_FMT==2) THEN
200 WRITE(IUGEO,'(i8,1p3e16.9,/,8x,1p3e16.9)')
201 . (NOM_SECT(1,N),(FOPT(I,N),I=1,3),
202 . (FOPT(I,N),I=4,6),N=1,NSECT)
203 ELSE
204 WRITE(IUGEO,'(i10,1p3e20.13,/,10x,1p3e20.13)')
205 . (NOM_SECT(1,N),(FOPT(I,N),I=1,3),
206 . (FOPT(I,N),I=4,6),N=1,NSECT)
207 ENDIF
208C
209 WRITE(IUGEO,'(a)')'/rwall /vector /force'
210 WRITE(IUGEO,'(a)')
211 . 'rigid wall forces'
212 IF (OUTYY_FMT==2) THEN
213 WRITE(IUGEO,'(a)')'#FORMAT: (2I8,1P3E16.9) '
214 WRITE(iugeo,'(2A)')'#RWAL_ID',
215 . ' FX FY FZ'
216 ELSE
217 WRITE(iugeo,'(A)')'#FORMAT: (2I10,1P3E20.13) '
218 WRITE(iugeo,'(2A)')'# RWAL_ID',
219 . ' FX FY FZ'
220C 12
221 ENDIF
222C
223 IF (outyy_fmt==2) THEN
224 WRITE(iugeo,'(I8,1P3E16.9)')
225 . (nom_wall(1,n),(fopt(i,nsect+nrbody+n),i=1,3),n=1,nrwall)
226 ELSE
227 WRITE(iugeo,'(I10,1P3E20.13)')
228 . (nom_wall(1,n),(fopt(i,nsect+nrbody+n),i=1,3),n=1,nrwall)
229 ENDIF
230C
231
232 RETURN
233 END
234
235!||====================================================================
236!|| outp_n_vc ../engine/source/output/sty/outp_n_v.F
237!||--- called by ------------------------------------------------------
238!|| genoutp ../engine/source/output/sty/genoutp.F
239!||--- calls -----------------------------------------------------
240!|| spmd_glob_dsum9 ../engine/source/mpi/interfaces/spmd_th.F
241!||====================================================================
242 SUBROUTINE outp_n_vc(KEY,TEXT,LEN,VECT,NUMNOD,ITAB,ITABG,LENG,
243 . NODGLOB,WEIGHT)
244C-----------------------------------------------
245C I m p l i c i t T y p e s
246C-----------------------------------------------
247#include "implicit_f.inc"
248C-----------------------------------------------
249C C o m m o n B l o c k s
250C-----------------------------------------------
251#include "units_c.inc"
252#include "task_c.inc"
253#include "scr16_c.inc"
254#include "spmd_c.inc"
255#include "com01_c.inc"
256C-----------------------------------------------
257C D u m m y A r g u m e n t s
258C-----------------------------------------------
259 CHARACTER*10 KEY
260 CHARACTER*40 TEXT
261 INTEGER ITAB(*), LEN, NUMNOD,WEIGHT(*),ITABG(*),LENG,
262 . nodglob(*)
263
264 my_real
265 . vect(3,*)
266C-----------------------------------------------
267C L o c a l V a r i a b l e s
268C-----------------------------------------------
269 INTEGER I,J,K
270
271 my_real
272 . vglob(3,numnodg)
273C-----------------------------------------------
274
275 IF (nspmd > 1) THEN
276
277 DO i=1,numnodg
278 vglob(1,i)=zero
279 vglob(2,i)=zero
280 vglob(3,i)=zero
281 ENDDO
282
283 DO k = 1, numnod
284 i = nodglob(k)
285 vglob(1,i) = vect(1,k)
286 vglob(2,i) = vect(2,k)
287 vglob(3,i) = vect(3,k)
288 END DO
289
290 CALL spmd_glob_dsum9(vglob,3*numnodg)
291 IF (ispmd/=0) RETURN
292 ENDIF
293
294C
295 WRITE(iugeo,'(2A)')'/NODAL /VECTOR /',key
296 WRITE(iugeo,'(A)')text(1:len)
297
298 IF (outyy_fmt==2) THEN
299 WRITE(iugeo,'(A)')'#FORMAT: (I8,1P3E16.9) '
300 ELSE
301 WRITE(iugeo,'(A)')'#FORMAT: (I10,1P3E20.13) '
302 ENDIF
303 WRITE(iugeo,'(2A)')'# USRNOD X',
304 . ' Y Z'
305
306 IF (nspmd == 1) THEN
307
308 IF (outyy_fmt==2) THEN
309 WRITE(iugeo,'(I8,1P3E16.9)')
310 . (itab(j),(vect(i,j),i=1,3),j=1,numnod)
311 ELSE
312 WRITE(iugeo,'(I10,1P3E20.13)')
313 . (itab(j),(vect(i,j),i=1,3),j=1,numnod)
314 ENDIF
315
316 ELSE
317
318 IF (outyy_fmt==2) THEN
319 WRITE(iugeo,'(I8,1P3E16.9)')
320 . (itabg(j),(vglob(i,j),i=1,3),j=1,numnodg)
321
322 ELSE
323
324 WRITE(iugeo,'(I10,1P3E20.13)')
325 . (itabg(j),(vglob(i,j),i=1,3),j=1,numnodg)
326
327 ENDIF
328
329
330 ENDIF
331 RETURN
332 END
#define my_real
Definition cppsort.cpp: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_n_v2(fopt, npby, nom_sect, nom_wall)
Definition outp_n_v.F:107
subroutine spmd_doutp_vgath(v, nodglob, weight, vgath)
Definition spmd_outp.F:714
subroutine spmd_glob_dsum9(v, len)
Definition spmd_th.F:380