OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
globvars.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!|| globvars ../starter/source/spmd/globvars.F
25!||--- called by ------------------------------------------------------
26!|| lectur ../starter/source/starter/lectur.F
27!||--- calls -----------------------------------------------------
28!|| nlocal ../starter/source/spmd/node/ddtools.F
29!||====================================================================
30 SUBROUTINE globvars(IGEO,IXR,NSTRF)
31C-----------------------------------------------
32C M o d u l e s
33C-----------------------------------------------
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C C o m m o n B l o c k s
40C-----------------------------------------------
41#include "com04_c.inc"
42#include "spmd_c.inc"
43#include "com01_c.inc"
44#include "param_c.inc"
45#include "sphcom.inc"
46C-----------------------------------------------
47C D u m m y A r g u m e n t s
48C-----------------------------------------------
49 INTEGER IGEO(NPROPGI,*),IXR(NIXR,*),
50 . NSTRF(*)
51C-----------------------------------------------
52C F u n c t i o n
53C-----------------------------------------------
54 INTEGER NLOCAL
55 EXTERNAL nlocal
56C-----------------------------------------------
57C L o c a l V a r i a b l e s
58C-----------------------------------------------
59 INTEGER I,P,NNOD,NSEGC,NSEGTG,NSEGS,K0
60
61C Variable Globale NUMNODG nombre global des noeuds
62 numnodg = numnod
63
64C Variable globale NUMELTGG,NUMELCG, nombre global de triangles
65 numelqg = numelq
66 numelcg = numelc
67 numeltgg = numeltg
68 numelsg = numels
69 numelpg = numelp
70 numelrg = numelr
71 numeltrg = numelt
72 numels10g = numels10
73 numels16g = numels16
74 numels20g = numels20
75 numsphg = numsph
76 numelxg = numelx
77C Variable globales NUMNODM (MAX des NUMNOD_L)
78 numnodm = 0
79C Nombre global des RBE2
80 nrbe2g = nrbe2
81C Nombre global des RBE3
82 nrbe3g = nrbe3
83
84 DO p = 1,nspmd
85 nnod=0
86 DO i = 1, numnod
87 IF(nlocal(i,p)==1)THEN
88 nnod = nnod + 1
89 ENDIF
90 ENDDO
91 numnodm = max(numnodm,nnod)
92 ENDDO
93C
94C calcul nu nombre Elts 1D pour animations.
95
96 nb1dg = numelt + numelr + numelp
97 nskewag = numelp + numelt + numskw
98
99 DO i=1,numelr
100 IF(igeo(11,ixr(1,i))==4 .OR.
101 . igeo(11,ixr(1,i))==26.OR.
102 . igeo(11,ixr(1,i))==13.OR.
103 . igeo(11,ixr(1,i))==25.OR.
104 . igeo(11,ixr(1,i))==45.OR.
105 . igeo(11,ixr(1,i))>=29.AND.
106 . igeo(11,ixr(1,i))<=33 .OR.
107 . igeo(11,ixr(1,i))==23)THEN
108
109 nskewag=nskewag+1
110
111 ELSEIF(igeo(11,ixr(1,i))==12)THEN
112
113 nskewag=nskewag+2
114 nb1dg =nb1dg+1
115 ENDIF
116
117 ENDDO
118C pour les sections et pour le proc0 on calcule le max
119C des nombres d'elements coques pour toutes les sections
120cow
121 sectiom = 0
122 IF (nsect>0) THEN
123 k0 = nstrf(25)
124
125 DO i=1,nsect
126
127C
128 nsegc = nstrf(k0+9)
129 nsegtg = nstrf(k0+13)
130 nsegs=nstrf(k0+7)
131 sectiom = max(sectiom,nsegc,nsegtg,nsegs)
132 k0 = nstrf(k0+24)
133 ENDDO
134 ENDIF
135
136 RETURN
137 END
subroutine globvars(igeo, ixr, nstrf)
Definition globvars.F:31
#define max(a, b)
Definition macros.h:21