OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
initnoise.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!|| initnoise ../engine/source/general_controls/computation/initnoise.F
25!||--- called by ------------------------------------------------------
26!|| noise ../engine/source/general_controls/computation/noise.F
27!||--- uses -----------------------------------------------------
28!|| element_mod ../common_source/modules/elements/element_mod.F90
29!||====================================================================
30 SUBROUTINE initnoise(IN,NOIADD,IXS,IWA,LENGTH,IXQ)
31C-----------------------------------------------
32C M o d u l e s
33C-----------------------------------------------
34 use element_mod , only : nixs,nixq
35C-----------------------------------------------
36C I m p l i c i t T y p e s
37C-----------------------------------------------
38#include "implicit_f.inc"
39C-----------------------------------------------
40C C o m m o n B l o c k s
41C-----------------------------------------------
42#include "scrnoi_c.inc"
43#include "com01_c.inc"
44#include "com04_c.inc"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER IN(*),IXS(NIXS,*),IWA(0:*),IXQ(NIXQ,*)
49 INTEGER NOIADD(*)
50C-----------------------------------------------
51C L o c a l V a r i a b l e s
52C-----------------------------------------------
53 INTEGER I,J,LENGTH,K
54C-----------------------------------------------
55C
56C ADDRESS DES NODES SAUVES DS NOISE
57C
58 DO i=0,numnod
59 iwa(i)=0
60 ENDDO
61 DO i=1,nnoise
62 iwa(in(i))=i ! In (i) = 0 if not present in SPMD
63 noiadd(i)=0
64 ENDDO
65 noiadd(nnoise+1)=0
66C
67C STOCKE IN NOIADD(K) LE NUMBER d'ELEMENTS CONNECTES AU NODE K-1
68C
69 IF(n2d==0)THEN
70 DO i=1,numels
71 DO j=2,9
72 k=iwa(ixs(j,i))
73 IF(k/=0)
74 . noiadd(k+1)=noiadd(k+1)+1
75 ENDDO
76 ENDDO
77 ELSE
78 DO i=1,numelq
79 DO j=2,5
80 k=iwa(ixq(j,i))
81 IF(k/=0)
82 . noiadd(k+1)=noiadd(k+1)+1
83 ENDDO
84 ENDDO
85 ENDIF
86C
87C address per node in the array of elements to be saved in nodes
88C
89 noiadd(1)=1
90 DO i=2,nnoise+1
91 noiadd(i)=noiadd(i)+noiadd(i-1)
92 ENDDO
93 length=noiadd(nnoise+1)-1
94c-----------
95 RETURN
96 END
97
98!||====================================================================
99!|| initnoise2 ../engine/source/general_controls/computation/initnoise.F
100!||--- called by ------------------------------------------------------
101!|| noise ../engine/source/general_controls/computation/noise.F
102!||--- uses -----------------------------------------------------
103!|| element_mod ../common_source/modules/elements/element_mod.F90
104!||====================================================================
105 SUBROUTINE initnoise2(IN,ELNOI,ELG,NOIADD,IXS,IWA,IPARG,IXQ)
106C-----------------------------------------------
107C M o d u l e s
108C-----------------------------------------------
109 use element_mod , only : nixs,nixq
110C-----------------------------------------------
111C I m p l i c i t T y p e s
112C-----------------------------------------------
113#include "implicit_f.inc"
114C-----------------------------------------------
115C C o m m o n B l o c k s
116C-----------------------------------------------
117#include "scrnoi_c.inc"
118#include "com01_c.inc"
119#include "param_c.inc"
120C-----------------------------------------------
121C D u m m y A r g u m e n t s
122C-----------------------------------------------
123 INTEGER IN(*),IXS(NIXS,*),IXQ(NIXQ,*),IWA(*),IPARG(NPARG,*),
124 . ELNOI(*),ELG(*),NOIADD(*)
125C-----------------------------------------------
126C L o c a l V a r i a b l e s
127C-----------------------------------------------
128 INTEGER , DIMENSION (:), ALLOCATABLE :: KN
129 INTEGER I,J,K,II
130 INTEGER NG,NEL,ITY,NB2,NFT
131C-----------------------------------------------
132 IF(nnoise>0)THEN
133 ALLOCATE(kn(nnoise))
134 ENDIF
135 DO i=1,nnoise
136 kn(i)=0
137 ENDDO
138C
139C filling elnoi with the addresses from elbuf
140C
141 DO ng=1,ngroup
142 ity =iparg(5,ng)
143 IF(ity==1)THEN
144 nel =iparg(2,ng)
145 nb2 =iparg(4,ng) + nel
146 nft =iparg(3,ng)
147 DO i=1,nel
148 ii=i+nft
149 DO j=2,9
150 k=iwa(ixs(j,ii))
151 IF(k /=0)THEN
152 elnoi(noiadd(k)+kn(k))=i
153 elg(noiadd(k)+kn(k))=ng
154 kn(k)=kn(k)+1
155 ENDIF
156 ENDDO
157 ENDDO
158 ELSEIF(ity==2)THEN
159 nel =iparg(2,ng)
160 nb2 =iparg(4,ng) + nel
161 nft =iparg(3,ng)
162 DO i=1,nel
163 ii=i+nft
164 DO j=2,5
165 k=iwa(ixq(j,ii))
166 IF(k /=0)THEN
167 elnoi(noiadd(k)+kn(k))=(i-1)*6
168 elg(noiadd(k)+kn(k))=ng
169 kn(k)=kn(k)+1
170 ENDIF
171 ENDDO
172 ENDDO
173 ENDIF
174
175 ENDDO
176C
177 IF(nnoise>0)THEN
178 DEALLOCATE(kn)
179 ENDIF
180C-----------
181 RETURN
182 END
183
184
185
186
187
188
189
subroutine initnoise2(in, elnoi, elg, noiadd, ixs, iwa, iparg, ixq)
Definition initnoise.F:106
subroutine initnoise(in, noiadd, ixs, iwa, length, ixq)
Definition initnoise.F:31