OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
initnoise.F File Reference
#include "implicit_f.inc"
#include "scrnoi_c.inc"
#include "com01_c.inc"
#include "com04_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine initnoise (in, noiadd, ixs, iwa, length, ixq)
subroutine initnoise2 (in, elnoi, elg, noiadd, ixs, iwa, iparg, ixq)

Function/Subroutine Documentation

◆ initnoise()

subroutine initnoise ( integer, dimension(*) in,
integer, dimension(*) noiadd,
integer, dimension(nixs,*) ixs,
integer, dimension(0:*) iwa,
integer length,
integer, dimension(nixq,*) ixq )

Definition at line 30 of file initnoise.F.

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

◆ initnoise2()

subroutine initnoise2 ( integer, dimension(*) in,
integer, dimension(*) elnoi,
integer, dimension(*) elg,
integer, dimension(*) noiadd,
integer, dimension(nixs,*) ixs,
integer, dimension(*) iwa,
integer, dimension(nparg,*) iparg,
integer, dimension(nixq,*) ixq )

Definition at line 105 of file initnoise.F.

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