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