|
9 | 9 | IMPLICIT NONE |
10 | 10 | DOUBLE PRECISION :: VOL,Ly,Lz,ENNE,XMIN,XMAX,YMIN,TI |
11 | 11 | DOUBLE PRECISION :: YMAX,ZMIN,ZMAX,PI,U0,HU,RIZ,RDIVz,UAVE(3) |
12 | | - DOUBLE PRECISION :: SIGMA_VALUE,NE_SEM,MAXVSEM,MINVSEM |
| 12 | + DOUBLE PRECISION :: SIGMA_VALUE,NE_SEM,MAXVSEM,MINVSEM,rrandom |
13 | 13 | INTEGER :: DIVY,DIVZ,IY,IZ,II,N,I,J,M,IT,IGLOBAL |
14 | 14 | INTEGER,allocatable,dimension(:)::lsy,lsz,ley,lez |
15 | 15 | !THE BOX DIMENSIONS ARE DIFINED AS [XLENGHT] * [Ly] * [Lz] |
|
111 | 111 |
|
112 | 112 | UAVE = UAVE / (DIVY * DIVZ) |
113 | 113 | VOL = (XMAX - XMIN) * (YMAX - YMIN) * (ZMAX - ZMIN) |
| 114 | + |
| 115 | + call RANDOM_SEED() |
114 | 116 | !GENERATION OF THE EDDY LOCATION INSIDE THE BOX AND INITIALIZATION OF THE [Ksem] VECTOR |
115 | 117 | DO II=1,N |
116 | | - X_EDDY(1,II) = (XMAX - XMIN) * RAND() + XMIN |
117 | | - X_EDDY(2,II) = (YMAX - YMIN) * RAND() + YMIN |
118 | | - X_EDDY(3,II) = (ZMAX - ZMIN) * RAND() + ZMIN |
| 118 | + |
| 119 | + call RANDOM_NUMBER(rrandom) |
| 120 | + X_EDDY(1,II) = (XMAX - XMIN) * rrandom + XMIN |
| 121 | + X_EDDY(2,II) = (YMAX - YMIN) * rrandom + YMIN |
| 122 | + X_EDDY(3,II) = (ZMAX - ZMIN) * rrandom + ZMIN |
119 | 123 | Ksem(II) = 0 |
120 | 124 | !INITIALIZATION OF THE INTENSITIES. FOR EVERY DIRECTION THE AVERAGE INTENSITY VALUE IS CALCULATED AND |
121 | 125 | !IT IS FORCED TO BE LOWER THAN THE [VLIM] VALUE |
122 | | - EPSILO(1,II) = (RAND()*2.0D0 - 1.0D0) |
123 | | - EPSILO(2,II) = (RAND()*2.0D0 - 1.0D0) |
124 | | - EPSILO(3,II) = (RAND()*2.0D0 - 1.0D0) |
| 126 | + call RANDOM_NUMBER(rrandom) |
| 127 | + EPSILO(1,II) = (rrandom*2.0D0 - 1.0D0) |
| 128 | + EPSILO(2,II) = (rrandom*2.0D0 - 1.0D0) |
| 129 | + EPSILO(3,II) = (rrandom*2.0D0 - 1.0D0) |
125 | 130 | END DO |
126 | 131 | !INITIALIZATION OF THE [R(3,3)] MATRIX WITH THE CHOLENSKY DECOMPOSITION |
127 | 132 | !OF THE REYNOLDS STRESS TENSOR |
|
196 | 201 | !THE SEM BOX DEFINED EARLIER |
197 | 202 | !WHEN A EDDY IS RE-GENERATE THE Ksem(I) FACTOR ASSUME THE 1 VALUE. THIS VALUE IS USED LATER TO |
198 | 203 | !GENERATE A NEW INTENSITY FOR THE NEW EDDY |
| 204 | + |
199 | 205 | IF (X_EDDY(1,II) > XMAX) THEN |
| 206 | + call RANDOM_NUMBER(rrandom) |
200 | 207 | X_EDDY(1,II) = XMIN |
201 | | - X_EDDY(2,II) = (YMAX - YMIN) * RAND() + YMIN |
202 | | - X_EDDY(3,II) = (ZMAX - ZMIN) * RAND() + ZMIN |
| 208 | + X_EDDY(2,II) = (YMAX - YMIN) * rrandom + YMIN |
| 209 | + X_EDDY(3,II) = (ZMAX - ZMIN) * rrandom + ZMIN |
203 | 210 | Ksem(II) = 1 |
204 | 211 | ELSE IF (X_EDDY(1,II) < XMIN) THEN |
| 212 | + call RANDOM_NUMBER(rrandom) |
205 | 213 | X_EDDY(1,II) = XMAX |
206 | | - X_EDDY(2,II) = (YMAX - YMIN) * RAND() + ZMIN |
207 | | - X_EDDY(3,II) = (ZMAX - ZMIN) * RAND() + ZMIN |
| 214 | + X_EDDY(2,II) = (YMAX - YMIN) * rrandom + ZMIN |
| 215 | + X_EDDY(3,II) = (ZMAX - ZMIN) * rrandom + ZMIN |
208 | 216 | Ksem(II) = 1 |
209 | 217 | ELSE IF (X_EDDY(2,II) > YMAX) THEN |
210 | | - X_EDDY(1,II) = (XMAX - XMIN) * RAND() + XMIN |
| 218 | + call RANDOM_NUMBER(rrandom) |
| 219 | + X_EDDY(1,II) = (XMAX - XMIN) * rrandom + XMIN |
211 | 220 | X_EDDY(2,II) = YMIN |
212 | | - X_EDDY(3,II) = (ZMAX - ZMIN) * RAND() + ZMIN |
| 221 | + X_EDDY(3,II) = (ZMAX - ZMIN) * rrandom + ZMIN |
213 | 222 | Ksem(II) = 1 |
214 | 223 | ELSE IF (X_EDDY(2,II) < YMIN) THEN |
215 | | - X_EDDY(1,II) = (XMAX - XMIN) * RAND() + XMIN |
| 224 | + call RANDOM_NUMBER(rrandom) |
| 225 | + X_EDDY(1,II) = (XMAX - XMIN) * rrandom + XMIN |
216 | 226 | X_EDDY(2,II) = YMAX |
217 | | - X_EDDY(3,II) = (ZMAX - ZMIN) * RAND() + ZMIN |
| 227 | + X_EDDY(3,II) = (ZMAX - ZMIN) * rrandom + ZMIN |
218 | 228 | Ksem(II) = 1 |
219 | 229 | ELSE IF (X_EDDY(3,II) > ZMAX) THEN |
220 | | - X_EDDY(1,II) = (XMAX - XMIN) * RAND() + XMIN |
221 | | - X_EDDY(2,II) = (YMAX - YMIN) * RAND() + ZMIN |
| 230 | + call RANDOM_NUMBER(rrandom) |
| 231 | + X_EDDY(1,II) = (XMAX - XMIN) * rrandom + XMIN |
| 232 | + X_EDDY(2,II) = (YMAX - YMIN) * rrandom + ZMIN |
222 | 233 | X_EDDY(3,II) = ZMIN |
223 | 234 | Ksem(II) = 1 |
224 | 235 | ELSE IF (X_EDDY(3,II) < ZMIN) THEN |
225 | | - X_EDDY(1,II) = (XMAX - XMIN) * RAND() + XMIN |
226 | | - X_EDDY(2,II) = (YMAX - YMIN) * RAND() + ZMIN |
| 236 | + call RANDOM_NUMBER(rrandom) |
| 237 | + X_EDDY(1,II) = (XMAX - XMIN) * rrandom + XMIN |
| 238 | + X_EDDY(2,II) = (YMAX - YMIN) * rrandom + ZMIN |
227 | 239 | X_EDDY(3,II) = ZMAX |
228 | 240 | Ksem(II) = 1 |
229 | 241 | END IF |
230 | 242 | !INTENSITY GENERATION FOR THE RE-CREATED EDDIES. WE ARE USING THE Ksem FACTOR AS EXPLAINED FATOR. |
231 | 243 | IF (Ksem(II)== 1) THEN |
232 | | - EPSILO(3,II) = (RAND()*2.0D0 - 1.0D0) |
233 | | - EPSILO(2,II) = (RAND()*2.0D0 - 1.0D0) |
234 | | - EPSILO(1,II) = (RAND()*2.0D0 - 1.0D0) |
| 244 | + call RANDOM_NUMBER(rrandom) |
| 245 | + EPSILO(3,II) = (rrandom*2.0D0 - 1.0D0) |
| 246 | + EPSILO(2,II) = (rrandom*2.0D0 - 1.0D0) |
| 247 | + EPSILO(1,II) = (rrandom*2.0D0 - 1.0D0) |
235 | 248 | END IF |
236 | 249 | Ksem(II) = 0 |
237 | 250 | END DO |
|
0 commit comments