File: RELATIVE:/../../../mfix.git/model/write_out0.f
1
2
3
4
5
6
7
8
9 SUBROUTINE WRITE_OUT0
10
11
12
13
14 USE bc
15 USE compar
16 USE constant
17 USE discretelement
18 USE fldvar
19 USE funits
20 USE geometry
21 USE ic
22 USE indices
23 USE is
24 USE leqsol
25 USE machine
26 USE mfix_pic
27 USE mpi_utility
28 USE output
29 USE param
30 USE param1
31 USE particle_filter
32 USE physprop
33 USE run
34 USE rxns
35 USE scalars
36 USE scales
37 USE sendrecv
38 USE toleranc
39 USE ur_facs
40
41 IMPLICIT NONE
42
43
44
45
46
47
48
49
50
51 INTEGER :: L, M, N
52
53 INTEGER :: MMAX_TOT
54 DOUBLE PRECISION :: TMP_DP
55
56
57 DOUBLE PRECISION, DIMENSION(6) :: LOC
58
59
60 CHARACTER(LEN=3), DIMENSION(3) :: LEGEND
61 CHARACTER(LEN=12), DIMENSION(0:9) :: DISCR_NAME
62 CHARACTER(LEN=12), DIMENSION(0:9) :: DISCR_NAME1
63 CHARACTER(LEN=8), DIMENSION(1:4) :: LEQ_METHOD_NAME
64
65
66
67 DATA DISCR_NAME/'FOUP', 'FOUP', 'Superbee', 'Smart', 'Ultra-Quick', &
68 'QUICKEST', 'Muscl', 'VanLeer', 'Minmod', 'Central'/
69 DATA DISCR_NAME1/'FOUP', 'FOUP', 'Fourth Order', 'Smart', 'Ultra-Quick', &
70 'QUICKEST', 'Muscl', 'VanLeer', 'Minmod', 'Central'/
71 DATA LEQ_METHOD_NAME/' SOR ', 'BiCGSTAB', ' GMRES ', ' CG '/
72
73 if (myPE.ne.PE_IO) return
74
75 MMAX_TOT = MMAX + DES_MMAX
76
77
78
79 WRITE(UNIT_OUT,1000)ID_VERSION,ID_HOUR,ID_MINUTE,ID_MONTH,ID_DAY,ID_YEAR
80 WRITE (UNIT_OUT, 1010) ID_NODE(1:50)
81
82
83
84
85
86 WRITE (UNIT_OUT, 1100)
87 WRITE (UNIT_OUT, 1110) RUN_NAME
88 WRITE (UNIT_OUT, 1120) DESCRIPTION
89 WRITE (UNIT_OUT, 1130) UNITS
90 IF (DT /= UNDEFINED) THEN
91 WRITE (UNIT_OUT, 1135) TIME, TSTOP, DT, DT_MAX, DT_MIN, DT_FAC
92 ELSE
93 WRITE (UNIT_OUT, 1136)
94 ENDIF
95 WRITE (UNIT_OUT, 1137) RUN_TYPE
96 IF (RUN_TYPE == 'NEW') THEN
97 WRITE (UNIT_OUT, 1138)
98 ELSE IF (RUN_TYPE == 'RESTART_1') THEN
99 WRITE (UNIT_OUT, 1139)
100 ENDIF
101 IF (MOMENTUM_X_EQ(0)) THEN
102 WRITE (UNIT_OUT, 1140) 'X', ' '
103 ELSE
104 WRITE (UNIT_OUT, 1140) 'X', ' NOT '
105 ENDIF
106 IF (MOMENTUM_Y_EQ(0)) THEN
107 WRITE (UNIT_OUT, 1140) 'Y', ' '
108 ELSE
109 WRITE (UNIT_OUT, 1140) 'Y', ' NOT '
110 ENDIF
111 IF (MOMENTUM_Z_EQ(0)) THEN
112 WRITE (UNIT_OUT, 1140) 'Z', ' '
113 ELSE
114 WRITE (UNIT_OUT, 1140) 'Z', ' NOT '
115 ENDIF
116 DO M = 1, MMAX
117 IF (MOMENTUM_X_EQ(M)) THEN
118 WRITE (UNIT_OUT, 1141) M, 'X', ' '
119 ELSE
120 WRITE (UNIT_OUT, 1141) M, 'X', ' NOT '
121 ENDIF
122 IF (MOMENTUM_Y_EQ(M)) THEN
123 WRITE (UNIT_OUT, 1141) M, 'Y', ' '
124 ELSE
125 WRITE (UNIT_OUT, 1141) M, 'Y', ' NOT '
126 ENDIF
127 IF (MOMENTUM_Z_EQ(M)) THEN
128 WRITE (UNIT_OUT, 1141) M, 'Z', ' '
129 ELSE
130 WRITE (UNIT_OUT, 1141) M, 'Z', ' NOT '
131 ENDIF
132 END DO
133 IF (GRANULAR_ENERGY) THEN
134 WRITE (UNIT_OUT, 1142)
135 IF(KT_TYPE /= UNDEFINED_C) WRITE (UNIT_OUT, 1123) KT_TYPE(1:50)
136 ENDIF
137 IF (ENERGY_EQ) THEN
138 WRITE (UNIT_OUT, 1143)
139 ELSE
140 WRITE (UNIT_OUT, 1144)
141 ENDIF
142 IF (SPECIES_EQ(0)) THEN
143 WRITE (UNIT_OUT, 1145)
144 ELSE
145 WRITE (UNIT_OUT, 1146)
146 ENDIF
147 DO M = 1, MMAX_TOT
148 IF (SPECIES_EQ(M)) THEN
149 WRITE (UNIT_OUT, 1147) M
150 ELSE
151 WRITE (UNIT_OUT, 1148) M
152 ENDIF
153 END DO
154 IF (CALL_USR) THEN
155 WRITE (UNIT_OUT, 1149) ' '
156 ELSE
157 WRITE (UNIT_OUT, 1149) ' NOT '
158 ENDIF
159 IF (MODEL_B) WRITE (UNIT_OUT, 1101)
160 IF (Nscalar /= 0)THEN
161 WRITE (UNIT_OUT, 1102)NScalar
162 DO L = 1, NScalar
163 WRITE (UNIT_OUT, 1103)L, Phase4Scalar(L)
164 END DO
165 ENDIF
166 IF (K_Epsilon) WRITE (UNIT_OUT, 1104)
167 IF (SIMONIN) WRITE (UNIT_OUT, 1105)
168 IF (AHMADI) WRITE (UNIT_OUT, 1106)
169 IF (SIMONIN .OR. AHMADI) WRITE (UNIT_OUT, 1107)
170 IF (SCHAEFFER) WRITE (UNIT_OUT, 1108)
171 IF (FRICTION) WRITE (UNIT_OUT, 1109)
172 IF (ADDED_MASS) WRITE (UNIT_OUT, 1111)
173
174
175
176 WRITE (UNIT_OUT, 1150)
177 IF (C_E /= UNDEFINED) WRITE (UNIT_OUT, 1151) C_E
178 IF (C_F /= UNDEFINED) WRITE (UNIT_OUT, 1152) C_F
179 IF (PHI /= UNDEFINED) WRITE (UNIT_OUT, 1153) PHI
180 IF (PHI_W /= UNDEFINED) WRITE (UNIT_OUT, 1154) PHI_W
181 WRITE (UNIT_OUT, 1155) L_SCALE0, MU_GMAX
182 IF (V_EX /= ZERO) WRITE (UNIT_OUT, 1156) V_EX
183 WRITE (UNIT_OUT, 1157) P_REF, P_SCALE, GRAVITY
184 WRITE (UNIT_OUT, 1158)
185 IF(FPFOI) THEN
186 WRITE (UNIT_OUT, 1159) (UR_FAC(L),LEQ_IT(L),&
187 LEQ_METHOD_NAME(LEQ_METHOD(L)),&
188 LEQ_SWEEP(L), LEQ_TOL(L), LEQ_PC(L),&
189 DISCR_NAME1(DISCRETIZE(L)),L=1,9)
190 ELSE
191 WRITE (UNIT_OUT, 1159) (UR_FAC(L),LEQ_IT(L),&
192 LEQ_METHOD_NAME(LEQ_METHOD(L)),&
193 LEQ_SWEEP(L), LEQ_TOL(L), LEQ_PC(L),&
194 DISCR_NAME(DISCRETIZE(L)),L=1,9)
195 ENDIF
196
197 DO L = 1, DIMENSION_C
198 IF (C(L) /= UNDEFINED) WRITE (UNIT_OUT, 1190) C_NAME(L), L, C(L)
199 END DO
200
201
202 IF(.NOT.REINITIALIZING) THEN
203 WRITE (UNIT_OUT, 1200)
204 WRITE (UNIT_OUT, 1201) COORDINATES
205 IF (CYCLIC_X_PD) THEN
206 WRITE (UNIT_OUT, 1202) 'X', ' with pressure drop'
207 WRITE (UNIT_OUT, 1203) 'X', DELP_X
208 ELSE IF (CYCLIC_X) THEN
209 WRITE (UNIT_OUT, 1202) 'X'
210 ENDIF
211 IF (CYCLIC_Y_PD) THEN
212 WRITE (UNIT_OUT, 1202) 'Y', ' with pressure drop'
213 WRITE (UNIT_OUT, 1203) 'Y', DELP_Y
214 ELSE IF (CYCLIC_Y) THEN
215 WRITE (UNIT_OUT, 1202) 'Y'
216 ENDIF
217 IF (CYCLIC_Z_PD) THEN
218 WRITE (UNIT_OUT, 1202) 'Z', ' with pressure drop'
219 WRITE (UNIT_OUT, 1203) 'Z', DELP_Z
220 ELSE IF (CYCLIC_Z) THEN
221 WRITE (UNIT_OUT, 1202) 'Z'
222 ENDIF
223 WRITE (UNIT_OUT, 1210)
224 LEGEND(1) = ' I'
225 LEGEND(2) = ' DX'
226 LEGEND(3) = 'X_E'
227 CALL WRITE_TABLE (LEGEND, DX, XMIN, 1, IMAX2)
228 IF (XMIN /= ZERO) WRITE (UNIT_OUT, 1211) XMIN
229 WRITE (UNIT_OUT, 1212) IMAX
230 WRITE (UNIT_OUT, 1213) XLENGTH
231 WRITE (UNIT_OUT, 1220)
232 LEGEND(1) = ' J'
233 LEGEND(2) = ' DY'
234 LEGEND(3) = 'Y_N'
235 CALL WRITE_TABLE (LEGEND, DY, ZERO, 1, JMAX2)
236 WRITE (UNIT_OUT, 1221) JMAX
237 WRITE (UNIT_OUT, 1222) YLENGTH
238 WRITE (UNIT_OUT, 1230)
239 LEGEND(1) = ' K'
240 LEGEND(2) = ' DZ'
241 LEGEND(3) = 'Z_T'
242 CALL WRITE_TABLE (LEGEND, DZ, ZERO, 1, KMAX2)
243 WRITE (UNIT_OUT, 1231) KMAX
244 WRITE (UNIT_OUT, 1232) ZLENGTH
245 ENDIF
246
247
248
249
250 WRITE (UNIT_OUT, 1300)
251 IF (RO_G0 /= UNDEFINED) WRITE (UNIT_OUT, 1305) RO_G0
252 IF (MU_G0 /= UNDEFINED) WRITE (UNIT_OUT, 1310) MU_G0
253 IF (SPECIES_EQ(0)) THEN
254 WRITE (UNIT_OUT, 1315) NMAX(0)
255 WRITE (UNIT_OUT, 1316)
256 DO N = 1, NMAX(0)
257 WRITE (UNIT_OUT, 1317) N, MW_G(N)
258 END DO
259 ENDIF
260 IF (MW_AVG /= UNDEFINED) WRITE (UNIT_OUT, 1320) MW_AVG
261
262
263
264
265 WRITE (UNIT_OUT, 1400)
266 WRITE (UNIT_OUT, 1401) MMAX_TOT
267
268
269 1400 FORMAT(//,3X,'5. SOLIDS PHASE',/)
270 1401 FORMAT(7X,'Number of particulate phases (MMAX) = ',I2)
271
272 IF(MMAX_TOT > 0) THEN
273
274 WRITE (UNIT_OUT, 1405)
275 DO M = 1, MMAX_TOT
276 TMP_DP = merge(BASE_ROs(M), RO_s0(M), SOLVE_ROs(M))
277 WRITE (UNIT_OUT, 1406) M, SOLIDS_MODEL(M), D_P0(M), &
278 TMP_DP, CLOSE_PACKED(M)
279 END DO
280
281
282 1405 FORMAT(/7x,'M',4x,'Model',5x,'Diameter',8x,'Density',6x, &
283 'Close_Packed')
284 1406 FORMAT(6x,I2,4x,A3,5X,G12.5,3x,G12.5,9x,L1)
285
286 1410 FORMAT(/7X,'Number of solids-',I2,' species (NMAX(',I2,')) = ',I3)
287
288 1411 FORMAT(9x,'Solid',5x,'Molecular')
289 1412 FORMAT(26x,'Density',4x,'Mass Fraction')
290
291 1415 FORMAT(8x,'Species',5x,'weight',7x,'Alias',5x,'Name')
292 1416 FORMAT(7x,'(RO_Xs0)',6x,'(X_s0)')
293
294
295 DO M = 1, MMAX_TOT
296 IF(.NOT.SPECIES_EQ(M)) CYCLE
297 WRITE (UNIT_OUT, 1410) M, M, NMAX(M)
298
299
300 WRITE(UNIT_OUT,1411,ADVANCE='NO')
301 IF(SOLVE_ROs(M)) WRITE(UNIT_OUT,1412, ADVANCE='NO')
302 WRITE(UNIT_OUT,*)' '
303
304
305 WRITE(UNIT_OUT,1415,ADVANCE='NO')
306 IF(SOLVE_ROs(M)) WRITE(UNIT_OUT,1416,ADVANCE='NO')
307 WRITE(UNIT_OUT,*)' '
308
309
310 DO N = 1, NMAX(M)
311 WRITE(UNIT_OUT, 1420, ADVANCE='NO') N, MW_S(M,N), &
312 SPECIES_ALIAS_s(M,N)(1:8), SPECIES_s(M,N)(1:8)
313 IF(SOLVE_ROs(M)) WRITE(UNIT_OUT, 1421, ADVANCE='NO') &
314 RO_Xs0(M,N), X_s0(M,N)
315 WRITE(UNIT_OUT,*) ' '
316
317 1420 FORMAT(10x,I2,5x,G12.5,2(2x,A8))
318 1421 FORMAT(2(2x,G12.5))
319
320 END DO
321 END DO
322
323
324 IF(TFM_SOLIDS) THEN
325 WRITE (UNIT_OUT, 1430) EP_STAR
326 DO M = 1,MMAX
327 IF(MU_S0(M) /= UNDEFINED) &
328 WRITE(UNIT_OUT, 1431) M, MU_S0(M)
329 ENDDO
330 ENDIF
331 1430 FORMAT(/7X,'Void fraction at maximum packing (EP_star) = ',G12.5)
332 1431 FORMAT(7X,'Constant solids viscosity (MU_s0(',I2,') = ',G12.5)
333
334
335 IF(DEM_SOLIDS .OR. PIC_SOLIDS) THEN
336 IF(.NOT.DES_CONTINUUM_COUPLED) THEN
337 WRITE(UNIT_OUT,"(/7X,'Gas/Solids NOT coupled.')")
338 ELSE
339 WRITE(UNIT_OUT,"(/7X,'Gas/Solids Coupling Information:')")
340
341 IF(DES_INTERP_ON) THEN
342 WRITE(UNIT_OUT,1440) 'interpolation'
343 ELSE
344 WRITE(UNIT_OUT,1440) 'cell averaging'
345 ENDIF
346
347 IF(DES_INTERP_MEAN_FIELDS) THEN
348 WRITE(UNIT_OUT,1441) 'interpolation'
349 ELSE
350 WRITE(UNIT_OUT,1441) 'cell averaging'
351 ENDIF
352 ENDIF
353
354 1440 FORMAT(10X,'Use ',A,' to calculate gas/particle drag.')
355 1441 FORMAT(10X,'Use ',A,' to calculate dispersed phase scalar fields.')
356
357 ENDIF
358
359 IF(DEM_SOLIDS) THEN
360
361 1450 FORMAT(/7X,'Use ',A,' collsion model.',2/10X,&
362 'Spring Coefficients:',T37,'Normal',7x,'Tangential')
363
364 IF(DES_COLL_MODEL_ENUM .EQ. LSD) THEN
365 WRITE(UNIT_OUT,1450) 'Linear spring-dashpot'
366 WRITE(UNIT_OUT,1455) 'Particle-particle', KN, KT
367 WRITE(UNIT_OUT,1455) 'Particle-wall', KN_W, KT_W
368
369 ELSEIF(DES_COLL_MODEL_ENUM .EQ. HERTZIAN) THEN
370 WRITE(UNIT_OUT,1450) 'Hertzian spring-dashpot'
371
372 DO M = 1, DES_MMAX
373 DO N = M, DES_MMAX
374 IF(M==N) THEN
375 WRITE(UNIT_OUT,1456)M,N,HERT_KN(M,N),HERT_KT(M,N)
376 ELSE
377 WRITE(UNIT_OUT,1457)N,HERT_KN(M,N),HERT_KT(M,N)
378 ENDIF
379 ENDDO
380 WRITE(UNIT_OUT,1458) HERT_KWN(M),HERT_KWT(M)
381 ENDDO
382 ENDIF
383
384 WRITE(UNIT_OUT,1451)
385 1451 FORMAT(/10X,'Damping Coefficients:',T37,'Normal',7x,'Tangential')
386
387 DO M = 1, DES_MMAX
388 DO N = M, DES_MMAX
389 IF(M==N) THEN
390 WRITE(UNIT_OUT,1456)M,N,DES_ETAN(M,N),DES_ETAT(M,N)
391 ELSE
392 WRITE(UNIT_OUT,1457)N,DES_ETAN(M,N),DES_ETAT(M,N)
393 ENDIF
394 ENDDO
395 WRITE(UNIT_OUT,1458) DES_ETAN_WALL(M),DES_ETAT_WALL(M)
396 ENDDO
397
398 1455 FORMAT(12X,A,T35,g12.5,3x,g12.5)
399 1456 FORMAT(12X,'Phase',I2,'-Phase',I2,' = ',T35,g12.5,3x,g12.5)
400 1457 FORMAT(19X,'-Phase',I2,' = ',T35,g12.5,3x,g12.5)
401 1458 FORMAT(19X,'-Wall',3x,' = ',T35,g12.5,3x,g12.5)
402
403 ENDIF
404
405 IF(PIC_SOLIDS) THEN
406 WRITE(UNIT_OUT,"(/7X,A)") 'MP-PIC Model Parameters:'
407 IF(MPPIC_SOLID_STRESS_SNIDER) THEN
408 WRITE(UNIT_OUT,"(10X,A)") &
409 'SNIDER model for solids Stress and integration'
410 ENDIF
411 ENDIF
412
413 ENDIF
414
415
416
417
418 WRITE (UNIT_OUT, 1500)
419 DO L = 1, DIMENSION_IC
420 IF (IC_DEFINED(L)) THEN
421 WRITE (UNIT_OUT, 1510) L
422 LOC(1) = LOCATION(IC_I_W(L),XMIN,DX) - HALF*DX(IC_I_W(L))
423 LOC(2) = LOCATION(IC_I_E(L),XMIN,DX) + HALF*DX(IC_I_E(L))
424 LOC(3) = LOCATION(IC_J_S(L),ZERO,DY) - HALF*DY(IC_J_S(L))
425 LOC(4) = LOCATION(IC_J_N(L),ZERO,DY) + HALF*DY(IC_J_N(L))
426 LOC(5) = LOCATION(IC_K_B(L),ZERO,DZ) - HALF*DZ(IC_K_B(L))
427 LOC(6) = LOCATION(IC_K_T(L),ZERO,DZ) + HALF*DZ(IC_K_T(L))
428 WRITE (UNIT_OUT, 1520) IC_X_W(L), LOC(1), IC_X_E(L), LOC(2), IC_Y_S&
429 (L), LOC(3), IC_Y_N(L), LOC(4), IC_Z_B(L), LOC(5), IC_Z_T(L), &
430 LOC(6)
431 WRITE (UNIT_OUT, 1530) IC_I_W(L), IC_I_E(L), IC_J_S(L), IC_J_N(L), &
432 IC_K_B(L), IC_K_T(L)
433 WRITE (UNIT_OUT, 1540) IC_EP_G(L)
434 IF (IC_P_G(L) /= UNDEFINED) WRITE (UNIT_OUT, 1541) IC_P_G(L)
435 WRITE (UNIT_OUT, 1542) IC_T_G(L)
436 IF (SPECIES_EQ(0)) THEN
437 WRITE (UNIT_OUT, 1543)
438 DO N = 1, NMAX(0)
439 WRITE (UNIT_OUT, 1544) N, IC_X_G(L,N)
440 END DO
441 ENDIF
442 IF (IC_GAMA_RG(L) /= ZERO) WRITE (UNIT_OUT, 1545) IC_GAMA_RG(L), &
443 IC_T_RG(L)
444
445 WRITE (UNIT_OUT, 1550) IC_U_G(L), IC_V_G(L), IC_W_G(L)
446 DO M = 1, MMAX_TOT
447 WRITE (UNIT_OUT, 1560) M, IC_ROP_S(L,M)
448 WRITE (UNIT_OUT, 1561) M, IC_T_S(L,M)
449
450 END DO
451 DO M = 1, MMAX_TOT
452 IF (SPECIES_EQ(M)) THEN
453 WRITE (UNIT_OUT, 1563) M
454
455 DO N = 1, NMAX(M)
456 WRITE (UNIT_OUT, 1564) N, IC_X_S(L,M,N)
457 END DO
458 ENDIF
459 END DO
460 DO M = 1, MMAX_TOT
461 IF (IC_GAMA_RS(L,M) /= ZERO) WRITE (UNIT_OUT, 1565) M, &
462 IC_GAMA_RS(L,M), IC_T_RS(L,M)
463
464 WRITE(UNIT_OUT,1570)M,IC_U_S(L,M),M,IC_V_S(L,M),M,IC_W_S(L,M)
465 END DO
466 IF (IC_P_STAR(L) /= UNDEFINED) WRITE (UNIT_OUT, 1574) IC_P_STAR(L)
467 IF(IC_L_SCALE(L)/=UNDEFINED)WRITE(UNIT_OUT,1575)IC_L_SCALE(L)
468 ENDIF
469 END DO
470
471
472 WRITE (UNIT_OUT, 1600)
473 IF (U_G0 /= UNDEFINED) WRITE (UNIT_OUT, 1601) 'U_g (U_g0) = ', U_G0
474 IF (V_G0 /= UNDEFINED) WRITE (UNIT_OUT, 1601) 'V_g (V_g0) = ', V_G0
475 IF (W_G0 /= UNDEFINED) WRITE (UNIT_OUT, 1601) 'W_g (W_g0) = ', W_G0
476 DO M = 1, MMAX_TOT
477 IF (U_S0(M) /= UNDEFINED) WRITE (UNIT_OUT, 1602) 'U_s (U_s0[', M, &
478 ']) = ', U_S0(M)
479 IF (V_S0(M) /= UNDEFINED) WRITE (UNIT_OUT, 1602) 'V_s (V_s0[', M, &
480 ']) = ', V_S0(M)
481 IF (W_S0(M) /= UNDEFINED) WRITE (UNIT_OUT, 1602) 'W_s (W_s0[', M, &
482 ']) = ', W_S0(M)
483 END DO
484 DO L = 1, DIMENSION_BC
485 IF (BC_DEFINED(L)) THEN
486 WRITE (UNIT_OUT, 1610) L
487 WRITE (UNIT_OUT, 1611) BC_TYPE(L)
488 SELECT CASE (TRIM(BC_TYPE(L)))
489 CASE ('MASS_INFLOW','CG_MI')
490 WRITE (UNIT_OUT, 1612)
491 CASE ('MASS_OUTFLOW')
492 WRITE (UNIT_OUT, 1613)
493 CASE ('P_INFLOW')
494 WRITE (UNIT_OUT, 1614)
495 CASE ('P_OUTFLOW','CG_PO')
496 WRITE (UNIT_OUT, 1615)
497 CASE ('FREE_SLIP_WALL','CG_FSW')
498 WRITE (UNIT_OUT, 1616)
499 CASE ('NO_SLIP_WALL','CG_NSW')
500 WRITE (UNIT_OUT, 1617)
501 CASE ('PAR_SLIP_WALL','CG_PSW')
502 WRITE (UNIT_OUT, 1618)
503 CASE ('OUTFLOW')
504 WRITE (UNIT_OUT, 1619)
505 END SELECT
506 IF (BC_TYPE(L)(1:2)/='CG') THEN
507 LOC(1) = LOCATION(BC_I_W(L),XMIN,DX) - HALF*DX(BC_I_W(L))
508 LOC(2) = LOCATION(BC_I_E(L),XMIN,DX) + HALF*DX(BC_I_E(L))
509 LOC(3) = LOCATION(BC_J_S(L),ZERO,DY) - HALF*DY(BC_J_S(L))
510 LOC(4) = LOCATION(BC_J_N(L),ZERO,DY) + HALF*DY(BC_J_N(L))
511 LOC(5) = LOCATION(BC_K_B(L),ZERO,DZ) - HALF*DZ(BC_K_B(L))
512 LOC(6) = LOCATION(BC_K_T(L),ZERO,DZ) + HALF*DZ(BC_K_T(L))
513 WRITE (UNIT_OUT, 1620) BC_X_W(L), LOC(1), BC_X_E(L), LOC(2), BC_Y_S&
514 (L), LOC(3), BC_Y_N(L), LOC(4), BC_Z_B(L), LOC(5), BC_Z_T(L), &
515 LOC(6)
516 WRITE (UNIT_OUT, 1630) BC_I_W(L), BC_I_E(L), BC_J_S(L), BC_J_N(L), &
517 BC_K_B(L), BC_K_T(L)
518 ENDIF
519 WRITE (UNIT_OUT,1635) BC_AREA(L)
520
521 IF (BC_EP_G(L) /= UNDEFINED) WRITE (UNIT_OUT, 1640) BC_EP_G(L)
522 IF (BC_P_G(L) /= UNDEFINED) WRITE (UNIT_OUT, 1641) BC_P_G(L)
523 IF (BC_T_G(L) /= UNDEFINED) WRITE (UNIT_OUT, 1642) BC_T_G(L)
524 IF (SPECIES_EQ(0) .AND. BC_X_G(L,1)/=UNDEFINED) THEN
525 WRITE (UNIT_OUT, 1643)
526 DO N = 1, NMAX(0)
527 WRITE (UNIT_OUT, 1644) N, BC_X_G(L,N)
528 END DO
529 ENDIF
530 IF (BC_MASSFLOW_G(L) /= UNDEFINED) WRITE (UNIT_OUT, 1648) &
531 BC_MASSFLOW_G(L)
532 IF (BC_VOLFLOW_G(L) /= UNDEFINED) WRITE (UNIT_OUT, 1649) &
533 BC_VOLFLOW_G(L)
534 IF (BC_U_G(L) /= UNDEFINED) WRITE (UNIT_OUT, 1650) BC_U_G(L)
535 IF (BC_V_G(L) /= UNDEFINED) WRITE (UNIT_OUT, 1651) BC_V_G(L)
536 IF (BC_W_G(L) /= UNDEFINED) WRITE (UNIT_OUT, 1652) BC_W_G(L)
537 IF (BC_DT_0(L) /= UNDEFINED) THEN
538 IF (BC_JET_G0(L) /= UNDEFINED) THEN
539 WRITE (UNIT_OUT, 1655) BC_DT_0(L), BC_JET_G0(L), BC_DT_L(L), &
540 BC_JET_GL(L), BC_DT_H(L), BC_JET_GH(L)
541 ELSE
542 WRITE (UNIT_OUT, 1656) BC_DT_0(L)
543 ENDIF
544 ENDIF
545 DO M = 1, MMAX_TOT
546 IF (BC_ROP_S(L,M) /= UNDEFINED) THEN
547 WRITE (UNIT_OUT, "(' ')")
548 WRITE (UNIT_OUT, 1660) M, BC_ROP_S(L,M)
549 WRITE (UNIT_OUT, 1661) M, BC_T_S(L,M)
550 ENDIF
551 END DO
552 DO M = 1, MMAX_TOT
553 IF (SPECIES_EQ(M) .AND. BC_X_S(L,M,1)/=UNDEFINED) THEN
554 WRITE (UNIT_OUT, "(' ')")
555 WRITE (UNIT_OUT, 1663) M
556 DO N = 1, NMAX(M)
557 WRITE (UNIT_OUT, 1664) N, BC_X_S(L,M,N)
558 END DO
559 ENDIF
560 END DO
561 DO M = 1, MMAX_TOT
562 WRITE (UNIT_OUT, "(' ')")
563 IF (BC_MASSFLOW_S(L,M) /= UNDEFINED) WRITE (UNIT_OUT, 1668) M, &
564 BC_MASSFLOW_S(L,M)
565 IF (BC_VOLFLOW_S(L,M) /= UNDEFINED) WRITE (UNIT_OUT, 1669) M, &
566 BC_VOLFLOW_S(L,M)
567 IF(BC_U_S(L,M)/=UNDEFINED)WRITE(UNIT_OUT,1670)M,BC_U_S(L,M)
568 IF(BC_V_S(L,M)/=UNDEFINED)WRITE(UNIT_OUT,1671)M,BC_V_S(L,M)
569 IF(BC_W_S(L,M)/=UNDEFINED)WRITE(UNIT_OUT,1672)M,BC_W_S(L,M)
570 END DO
571 IF (BC_TYPE(L) == 'PAR_SLIP_WALL') THEN
572 WRITE (UNIT_OUT, 1675) BC_HW_G(L), BC_UW_G(L), BC_VW_G(L), &
573 BC_WW_G(L)
574 DO M = 1, MMAX_TOT
575 WRITE (UNIT_OUT, 1676) M, BC_HW_S(L,M), BC_UW_S(L,M), BC_VW_S&
576 (L,M), BC_WW_S(L,M)
577 END DO
578 ENDIF
579 ENDIF
580 END DO
581 WRITE (UNIT_OUT, 1700)
582 DO L = 1, DIMENSION_IS
583 IF (IS_DEFINED(L)) THEN
584 WRITE (UNIT_OUT, 1710) L
585 WRITE (UNIT_OUT, 1711) IS_TYPE(L)
586 IF(IS_TYPE(L)=='IMPERMEABLE' .OR. &
587 IS_TYPE(L)(3:13)=='IMPERMEABLE') THEN
588 WRITE (UNIT_OUT, 1712)
589 ELSE IF (IS_TYPE(L)=='SEMIPERMEABLE' .OR. &
590 IS_TYPE(L)(3:15)=='SEMIPERMEABLE') THEN
591 WRITE (UNIT_OUT, 1713)
592 ENDIF
593 LOC(1) = LOCATION(IS_I_W(L),XMIN,DX) - HALF*DX(IS_I_W(L))
594 LOC(2) = LOCATION(IS_I_E(L),XMIN,DX) + HALF*DX(IS_I_E(L))
595 LOC(3) = LOCATION(IS_J_S(L),ZERO,DY) - HALF*DY(IS_J_S(L))
596 LOC(4) = LOCATION(IS_J_N(L),ZERO,DY) + HALF*DY(IS_J_N(L))
597 LOC(5) = LOCATION(IS_K_B(L),ZERO,DZ) - HALF*DZ(IS_K_B(L))
598 LOC(6) = LOCATION(IS_K_T(L),ZERO,DZ) + HALF*DZ(IS_K_T(L))
599 WRITE (UNIT_OUT, 1720) IS_X_W(L), LOC(1), IS_X_E(L), LOC(2), IS_Y_S&
600 (L), LOC(3), IS_Y_N(L), LOC(4), IS_Z_B(L), LOC(5), IS_Z_T(L), &
601 LOC(6)
602 WRITE (UNIT_OUT, 1730) IS_I_W(L), IS_I_E(L), IS_J_S(L), IS_J_N(L), &
603 IS_K_B(L), IS_K_T(L)
604 IF (IS_PC(L,1) /= UNDEFINED) WRITE (UNIT_OUT, 1740) IS_PC(L,1)
605 IF (IS_PC(L,2) /= UNDEFINED) WRITE (UNIT_OUT, 1741) IS_PC(L,2)
606 DO M = 1, MMAX_TOT
607 WRITE (UNIT_OUT, 1742) M, IS_VEL_S(L,M)
608 END DO
609 ENDIF
610 END DO
611
612
613
614
615 WRITE (UNIT_OUT, 1800)
616 WRITE (UNIT_OUT, 1801) &
617 '.OUT','This file (ASCII)',OUT_DT
618 WRITE (UNIT_OUT, 1801) &
619 '.LOG','Log file containing messages (ASCII)',UNDEFINED
620 WRITE (UNIT_OUT, 1801) &
621 '.RES','Restart file (Binary)', RES_DT
622 WRITE (UNIT_OUT, 1801) &
623 '.SP1','EP_g (Binary, single precision)',SPX_DT(1)
624 WRITE (UNIT_OUT, 1801) &
625 '.SP2','P_g, P_star (Binary, single precision)',SPX_DT(2)
626 WRITE (UNIT_OUT, 1801) &
627 '.SP3','U_g, V_g, W_g (Binary, single precision)',SPX_DT(3)
628 WRITE (UNIT_OUT, 1801) &
629 '.SP4','U_s, V_s, W_s (Binary, single precision)',SPX_DT(4)
630 WRITE (UNIT_OUT, 1801) &
631 '.SP5','ROP_s (Binary, single precision)',SPX_DT(5)
632 WRITE (UNIT_OUT, 1801) &
633 '.SP6','T_g, T_s (Binary, single precision)',SPX_DT(6)
634 WRITE (UNIT_OUT, 1801) &
635 '.SP7','X_g, X_s (Binary, single precision)',SPX_DT(7)
636 WRITE (UNIT_OUT, 1801) &
637 '.SP8','Theta_m (Binary, single precision)',SPX_DT(8)
638 WRITE (UNIT_OUT, 1801) &
639 '.SP9','User Scalar (Binary, single precision)',SPX_DT(9)
640 WRITE (UNIT_OUT, 1801) &
641 '.SPA','ReactionRates (Binary, single precision)',SPX_DT(10)
642 WRITE (UNIT_OUT, 1801) &
643 '.SPB','K and Epsilon (Binary, single precision)',SPX_DT(11)
644
645
646
647 WRITE (UNIT_OUT, 1900)
648 WRITE (UNIT_OUT, 1901) ZERO_EP_S
649 WRITE (UNIT_OUT, 1904) TOL_RESID, TOL_RESID_T, TOL_RESID_X, TOL_DIVERGE
650 WRITE (UNIT_OUT, 1905) TOL_COM
651 IF(NScalar /= 0)WRITE (UNIT_OUT, 1906) TOL_RESID_Scalar
652 IF(K_Epsilon)WRITE (UNIT_OUT, 1907) TOL_RESID_K_Epsilon
653 IF(GRANULAR_ENERGY)WRITE (UNIT_OUT, 1908) TOL_RESID_Th
654
655
656
657 WRITE (UNIT_OUT, '(/,1X,1A1)') CHAR(12)
658 IF (CALL_USR) CALL USR_WRITE_OUT0
659
660 RETURN
661 1000 FORMAT(17X,'MM MM FFFFFFFFFF IIIIII XX XX',/17X,&
662 'MM MM FFFFFFFFFF IIIIII XX XX',/17X,&
663 'MMMM MMMM FF II XX XX',/17X,&
664 'MMMM MMMM FF II XX XX',/17X,&
665 'MM MM MM FF II XX XX ',/17X,&
666 'MM MM MM FF II XX XX ',/17X,&
667 'MM MM FFFFFFFF II XX ',/17X,&
668 'MM MM FFFFFFFF II XX ',/17X,&
669 'MM MM FF II XX XX ',/17X,&
670 'MM MM FF II XX XX ',/17X,&
671 'MM MM FF II XX XX',/17X,&
672 'MM MM FF II XX XX',/17X,&
673 'MM MM FF IIIIII XX XX',/17X,&
674 'MM MM FF IIIIII XX XX',2/20X,&
675 'Multiphase Flow with Interphase eXchanges'/34X,'Version: ',A,/20X,&
676 'Time: ',I2,':',I2,20X,'Date: ',I2,'-',I2,'-',I4)
677 1010 FORMAT(/7X,'Computer : ',A50,/,1X,79('_'))
678 1100 FORMAT(//,3X,'1. RUN CONTROL',/)
679 1101 FORMAT(/7X,'* Model B momentum equations are solved')
680 1102 FORMAT(/7X,'Number of scalars = ', I4,&
681 /7X,'Scalar No. Carrier Phase (Phase4Scalar)')
682 1103 FORMAT(/7X, I4,' ',I4)
683 1104 FORMAT(/7X,'* K and Epsilon equations are solved.')
684 1111 FORMAT(/7X,'* Virtual mass force is applied to momentum equations.')
685 1105 FORMAT(/7X,'* Simonin model is solved')
686 1106 FORMAT(/7X,'* Ahmadi model is solved')
687 1107 FORMAT(/7X,'** Note: When Simonin or Ahmadi model is solved, K-Epsilon', &
688 ' and granular energy are automatically solved.')
689 1108 FORMAT(/7X,'* Schaeffer frictional model is solved')
690 1109 FORMAT(/7X,'* Savage frictional model is solved')
691 1110 FORMAT(7X,'Run name(RUN_NAME): ',A60)
692 1120 FORMAT(7X,'Brief description of the run (DESCRIPTION) :',/9X,A60)
693 1123 FORMAT(14X,'Kinetic Theory : ',A50)
694 1130 FORMAT(7X,'Units (UNITS) : ',A16)
695 1135 FORMAT(7X,'Start-time (TIME) = ',G12.5,/7X,'Stop_time (TSTOP) = ',G12.5,/7X&
696 ,'Time step (DT) = ',G12.5,/7X,'Max time step (DT_MAX) = ',G12.5,/7X&
697 ,'Min time step (DT_MIN) = ',G12.5,/7X,&
698 'Time step adjustment factor (DT_FAC) = ',G12.5)
699 1136 FORMAT(7X,'* Steady state simulation.')
700 1137 FORMAT(7X,'Type of run (RUN_TYPE) : ',A16)
701 1138 FORMAT(30X,'(Initial conditions from the input (.DAT) file)')
702 1139 FORMAT(30X,'(Initial conditions from the restart (.RES) file)')
703 1140 FORMAT(/7X,'* Gas momentum equation-',A,' is',A,'solved.')
704 1141 FORMAT(/7X,'* Solids-',I2,' momentum equation-',A,' is',A,'solved.')
705 1142 FORMAT(/7X,'* Granular energy equation(s) is solved.')
706 1143 FORMAT(/7X,'* Energy equations are solved.')
707 1144 FORMAT(/7X,'* Energy equations are NOT solved.')
708 1145 FORMAT(/7X,'* Gas Species equations are solved.')
709 1146 FORMAT(/7X,'* Gas Species equations are NOT solved.')
710 1147 FORMAT(/7X,'* Solids-',I2,' Species equations are solved.')
711 1148 FORMAT(/7X,'* Solids-',I2,' Species equations are NOT solved.')
712 1149 FORMAT(/7X,'* User-defined subroutines are',A,'called.')
713
714 FORMAT(//,3X,'2. PHYSICAL AND NUMERICAL PARAMETERS',/)
715 1151 FORMAT(7X,'Coefficient of restitution (C_e) = ',G12.5)
716 1152 FORMAT(7X,'Coefficient of friction (C_f) = ',G12.5)
717 1153 FORMAT(7X,'Angle of internal friction (Phi) = ',G12.5)
718 1154 FORMAT(7X,'Angle of wall_particle friction (Phi_w) = ',G12.5)
719 1155 FORMAT(7X,'Default turbulence length scale (L_scale0) = ',G12.5,/7X,&
720 'Maximum turbulent viscosity (MU_gmax) = ',G12.5)
721 1156 FORMAT(7X,'Excluded volume for B-M stress term (V_ex) = ',G12.5)
722 1157 FORMAT(7X,'Reference pressure (P_ref) = ',G12.5,/7X,&
723 'Pressure scale-factor (P_scale) = ',G12.5,/7X,&
724 'Gravitational acceleration (GRAVITY) = ',G12.5)
725 1158 FORMAT(7X,'Under relaxation (UR_FAC) and',&
726 ' Iterations in Leq solver (LEQ_IT):'/,9X,&
727 ' UR_FAC',2X,'LEQ_IT',' LEQ_METHOD',&
728 ' LEQ_SWEEP', ' LEQ_TOL', ' LEQ_PC', ' DISCRETIZE')
729 1159 FORMAT(9X,&
730 'Fluid cont. and P_g = ',F6.3,2X,I4,6X,A8,5x,A4,4X,G11.4,3X,A4,3X,A12/9X,&
731 'Solids cont. and P_s = ',F6.3,2X,I4,6X,A8,5x,A4,4X,G11.4,3X,A4,3X,A12/9X,&
732 'U velocity = ',F6.3,2X,I4,6X,A8,5x,A4,4X,G11.4,3X,A4,3X,A12/9X,&
733 'V velocity = ',F6.3,2X,I4,6X,A8,5x,A4,4X,G11.4,3X,A4,3X,A12/9X,&
734 'W velocity = ',F6.3,2X,I4,6X,A8,5x,A4,4X,G11.4,3X,A4,3X,A12/9X,&
735 'Energy = ',F6.3,2X,I4,6X,A8,5x,A4,4X,G11.4,3X,A4,3X,A12/9X,&
736 'Species = ',F6.3,2X,I4,6X,A8,5x,A4,4X,G11.4,3X,A4,3X,A12/9X,&
737 'Granular Energy = ',F6.3,2X,I4,6X,A8,5x,A4,4X,G11.4,3X,A4,3X,A12/9X,&
738 'User scalar = ',F6.3,2X,I4,6X,A8,5x,A4,4X,G11.4,3X,A4,3X,A12/)
739 1190 FORMAT(7X,1A20,'- C(',I2,') = ',G12.5)
740
741 FORMAT(//,3X,'3. GEOMETRY AND DISCRETIZATION',/)
742 1201 FORMAT(7X,'Coordinates: ',1A16/)
743 1202 FORMAT(7X,'Cyclic boundary conditions in ',A,' direction',A)
744 1203 FORMAT(7X,'Pressure drop (DELP_',A,') = ',G12.5)
745 1210 FORMAT(7X,'X-direction cell sizes (DX) and East face locations:')
746 1211 FORMAT(7X,'Minimum value of X, or R (XMIN) =',G12.5)
747 1212 FORMAT(7X,'Number of cells in X, or R, direction (IMAX) = ',I4)
748 1213 FORMAT(7X,'Reactor length in X, or R, direction (XLENGTH) =',G12.5//)
749 1220 FORMAT(7X,'Y-direction cell sizes (DY) and North face locations:')
750 1221 FORMAT(7X,'Number of cells in Y direction (JMAX) = ',I4)
751 1222 FORMAT(7X,'Reactor length in Y direction (YLENGTH) =',G12.5//)
752 1230 FORMAT(7X,'Z-direction cell sizes (DZ) and Top face locations:')
753 1231 FORMAT(7X,'Number of cells in Z, or theta, direction (KMAX) = ',I4)
754 1232 FORMAT(7X,'Reactor length in Z, or theta, direction (ZLENGTH) =',G12.5)
755
756 FORMAT(//,3X,'4. GAS PHASE',/)
757 1305 FORMAT(7X,'Gas density (RO_g0) = ',G12.5,&
758 ' (A constant value is used everywhere)')
759 1310 FORMAT(7X,'Viscosity (MU_g0) = ',G12.5,&
760 ' (A constant value is used everywhere)')
761 1315 FORMAT(7X,'Number of gas species (NMAX(0)) = ',I3)
762 1316 FORMAT(7X,'Gas species',5X,'Molecular weight (MW_g)')
763 1317 FORMAT(7X,3X,I3,15X,G12.5)
764 1320 FORMAT(7X,'Average molecular weight (MW_avg) = ',G12.5,&
765 ' (A constant value is used everywhere)')
766
767
768 FORMAT(//,3X,'6. INITIAL CONDITIONS')
769 1510 FORMAT(/7X,'Initial condition no : ',I4)
770 1520 FORMAT(9X,39X,' Specified ',5X,' Simulated ',/9X,&
771 'X coordinate of west face (IC_X_w) = ',G12.5,5X,G12.5/,9X,&
772 'X coordinate of east face (IC_X_e) = ',G12.5,5X,G12.5/,9X,&
773 'Y coordinate of south face (IC_Y_s) = ',G12.5,5X,G12.5/,9X,&
774 'Y coordinate of north face (IC_Y_n) = ',G12.5,5X,G12.5/,9X,&
775 'Z coordinate of bottom face (IC_Z_b) = ',G12.5,5X,G12.5/,9X,&
776 'Z coordinate of top face (IC_Z_t) = ',G12.5,5X,G12.5)
777 1530 FORMAT(9X,'I index of cell at west (IC_I_w) = ',I4,/,9X,&
778 'I index of cell at east (IC_I_e) = ',I4,/,9X,&
779 'J index of cell at south (IC_J_s) = ',I4,/,9X,&
780 'J index of cell at north (IC_J_n) = ',I4,/,9X,&
781 'K index of cell at bottom (IC_K_b) = ',I4,/,9X,&
782 'K index of cell at top (IC_K_t) = ',I4)
783 1540 FORMAT(9X,'Void fraction (IC_EP_g) = ',G12.5)
784 1541 FORMAT(9X,'Gas pressure (IC_P_g) = ',G12.5)
785 1542 FORMAT(9X,'Gas temperature (IC_T_g) = ',G12.5)
786 1543 FORMAT(9X,'Gas species',5X,'Mass fraction (IC_X_g)')
787 1544 FORMAT(9X,3X,I3,15X,G12.5)
788 1545 FORMAT(9X,'Gas radiation coefficient (IC_GAMA_Rg) = ',G12.5,/,9X,&
789 'Gas radiation temperature (IC_T_Rg) = ',G12.5)
790 1550 FORMAT(9X,'X-component of gas velocity (IC_U_g) = ',G12.5,/9X,&
791 'Y-component of gas velocity (IC_V_g) = ',G12.5,/9X,&
792 'Z-component of gas velocity (IC_W_g) = ',G12.5)
793 1560 FORMAT(9X,'Solids phase-',I2,' Density x Volume fr. (IC_ROP_s) = ',G12.5)
794 1561 FORMAT(9X,'Solids phase-',I2,' temperature (IC_T_s) = ',G12.5)
795 1563 FORMAT(9X,'Solids-',I2,' species',5X,'Mass fraction (IC_X_s)')
796 1564 FORMAT(9X,3X,I3,20X,G12.5)
797 1565 FORMAT(9X,'Solids phase-',I2,' radiation coefficient (IC_GAMA_Rs)',' =',&
798 G12.5,/9X,'Solids phase-',I2,' radiation temperature (IC_T_Rs) =',&
799 G12.5)
800 1570 FORMAT(9X,'X-component of solids phase-',I2,' velocity (IC_U_s) =',G12.5,&
801 /9X,'Y-component of solids phase-',I2,' velocity (IC_V_s) =',G12.5,/9X&
802 ,'Z-component of solids phase-',I2,' velocity (IC_W_s) =',G12.5)
803 1574 FORMAT(9X,'Solids pressure (IC_P_star) = ',G12.5)
804 1575 FORMAT(9X,'Turbulence length scale (IC_L_scale) = ',G12.5)
805
806 FORMAT(//,3X,'7. BOUNDARY CONDITIONS')
807 1601 FORMAT(/7X,'Average value of ',A,G12.5)
808 1602 FORMAT(/7X,'Average value of ',A,I2,A,G12.5)
809 1610 FORMAT(/7X,'Boundary condition no : ',I4)
810 1611 FORMAT(9X,'Type of boundary condition : ',A16)
811 1612 FORMAT(11X,'(Inlet with specified gas and solids mass flux)')
812 1613 FORMAT(11X,'(Outlet with specified gas and solids mass flux)')
813 1614 FORMAT(11X,'(Inlet with specified gas pressure)')
814 1615 FORMAT(11X,'(Outlet with specified gas pressure)')
815 1616 FORMAT(11X,'(Gradients of parallel velocity components are zero)')
816 1617 FORMAT(11X,'(Velocity is zero at wall)')
817 1618 FORMAT(11X,'(Partial slip condition at wall)')
818 1619 FORMAT(11X,'(Outflow condition)')
819 1620 FORMAT(9X,39X,' Specified ',5X,' Simulated ',/9X,&
820 'X coordinate of west face (BC_X_w) = ',G12.5,5X,G12.5/,9X,&
821 'X coordinate of east face (BC_X_e) = ',G12.5,5X,G12.5/,9X,&
822 'Y coordinate of south face (BC_Y_s) = ',G12.5,5X,G12.5/,9X,&
823 'Y coordinate of north face (BC_Y_n) = ',G12.5,5X,G12.5/,9X,&
824 'Z coordinate of bottom face (BC_Z_b) = ',G12.5,5X,G12.5/,9X,&
825 'Z coordinate of top face (BC_Z_t) = ',G12.5,5X,G12.5)
826 1630 FORMAT(9X,'I index of cell at west (BC_I_w) = ',I4,/,9X,&
827 'I index of cell at east (BC_I_e) = ',I4,/,9X,&
828 'J index of cell at south (BC_J_s) = ',I4,/,9X,&
829 'J index of cell at north (BC_J_n) = ',I4,/,9X,&
830 'K index of cell at bottom (BC_K_b) = ',I4,/,9X,&
831 'K index of cell at top (BC_K_t) = ',I4)
832 1635 FORMAT(9X,'Boundary area = ',G12.5)
833 1640 FORMAT(9X,'Void fraction (BC_EP_g) = ',G12.5)
834 1641 FORMAT(9X,'Gas pressure (BC_P_g) = ',G12.5)
835 1642 FORMAT(9X,'Gas temperature (BC_T_g) = ',G12.5)
836 1643 FORMAT(9X,'Gas species',5X,'Mass fraction (BC_X_g)')
837 1644 FORMAT(9X,3X,I3,15X,G12.5)
838 1648 FORMAT(9X,'Gas mass flow rate (BC_MASSFLOW_g) = ',G12.5)
839 1649 FORMAT(9X,'Gas volumetric flow rate (BC_VOLFLOW_g) = ',G12.5)
840 1650 FORMAT(9X,'X-component of gas velocity (BC_U_g) = ',G12.5)
841 1651 FORMAT(9X,'Y-component of gas velocity (BC_V_g) = ',G12.5)
842 1652 FORMAT(9X,'Z-component of gas velocity (BC_W_g) = ',G12.5)
843 1655 FORMAT(9X,'Initial interval when jet vel= BC_Jet_g0 (BC_DT_0) = ',G12.5,/9X,&
844 'Initial jet velocity (BC_Jet_g0) = ',G12.5,/9X,&
845 'Interval when jet vel= BC_Jet_gl (BC_DT_l) = ',G12.5,/9X,&
846 'Low value of jet velocity (BC_Jet_gl) = ',G12.5,/9X,&
847 'Interval when jet vel = BC_Jet_gh (BC_DT_h) = ',G12.5,/9X,&
848 'High value of jet velocity (BC_Jet_gh) = ',G12.5)
849 1656 FORMAT(9X,'Interval for averaging outflow rates= (BC_DT_0) = ',G12.5)
850 1660 FORMAT(9X,'Solids phase-',I2,' Density x Volume fr. (BC_ROP_s) = ',G12.5)
851 1661 FORMAT(9X,'Solids phase-',I2,' temperature (BC_T_s) = ',G12.5)
852
853 1663 FORMAT(9X,'Solids-',I2,' species',5X,'Mass fraction (BC_X_s)')
854 1664 FORMAT(9X,3X,I3,20X,G12.5)
855 1668 FORMAT(9X,'Solids phase-',I2,' mass flow rate (BC_MASSFLOW_s) =',G12.5)
856 1669 FORMAT(9X,'Solids phase-',I2,' volumetric flow rate (BC_VOLFLOW_s) =',&
857 G12.5)
858 1670 FORMAT(9X,'X-component of solids phase-',I2,' velocity (BC_U_s) =',G12.5)
859 1671 FORMAT(9X,'Y-component of solids phase-',I2,' velocity (BC_V_s) =',G12.5)
860 1672 FORMAT(9X,'Z-component of solids phase-',I2,' velocity (BC_W_s) =',G12.5)
861 1675 FORMAT(9X,'Partial slip coefficient (BC_hw_g) = ',G12.5,/,9X,&
862 'Slip velociity U at wall (BC_Uw_g) = ',G12.5,/,9X,&
863 'Slip velociity V at wall (BC_Vw_g) = ',G12.5,/,9X,&
864 'Slip velociity W at wall (BC_Ww_g) = ',G12.5)
865 1676 FORMAT(9X,'Solids phase: ',I2,/,11X,&
866 'Partial slip coefficient (BC_hw_s) = ',G12.5,/,11X,&
867 'Slip velociity U at wall (BC_Uw_s) = ',G12.5,/,11X,&
868 'Slip velociity V at wall (BC_Vw_s) = ',G12.5,/,11X,&
869 'Slip velociity W at wall (BC_Ww_s) = ',G12.5)
870
871 FORMAT(//,3X,'8. INTERNAL SURFACES')
872 1710 FORMAT(/7X,'Internal surface no : ',I4)
873 1711 FORMAT(9X,'Type of internal surface : ',A16)
874 1712 FORMAT(11X,'(No gas or solids flow through the surface)')
875 1713 FORMAT(11X,'(Only gas flows through the surface)')
876 1720 FORMAT(9X,39X,' Specified ',5X,' Simulated ',/9X,&
877 'X coordinate of west face (IS_X_w) = ',G12.5,5X,G12.5/,9X,&
878 'X coordinate of east face (IS_X_e) = ',G12.5,5X,G12.5/,9X,&
879 'Y coordinate of south face (IS_Y_s) = ',G12.5,5X,G12.5/,9X,&
880 'Y coordinate of north face (IS_Y_n) = ',G12.5,5X,G12.5/,9X,&
881 'Z coordinate of bottom face (IS_Z_b) = ',G12.5,5X,G12.5/,9X,&
882 'Z coordinate of top face (IS_Z_t) = ',G12.5,5X,G12.5)
883 1730 FORMAT(9X,'I index of cell at west (IS_I_w) = ',I4,/,9X,&
884 'I index of cell at east (IS_I_e) = ',I4,/,9X,&
885 'J index of cell at south (IS_J_s) = ',I4,/,9X,&
886 'J index of cell at north (IS_J_n) = ',I4,/,9X,&
887 'K index of cell at bottom (IS_K_b) = ',I4,/,9X,&
888 'K index of cell at top (IS_K_t) = ',I4)
889 1740 FORMAT(9X,'Permeability (IS_PC1) = ',G12.5)
890 1741 FORMAT(9X,'Inertial resistance factor (IS_PC2) = ',G12.5)
891 1742 FORMAT(9X,'Solids phase-',I2,' Velocity (IS_VEL_s) = ',G12.5)
892
893 FORMAT(//,3X,'9. OUTPUT DATA FILES:',/7X,'Extension',T18,&
894 'Description',T59,'Interval for writing')
895 1801 FORMAT(7X,A4,T18,A,T61,G12.5)
896
897 FORMAT(//,3X,'10. TOLERANCES',/7X,&
898 'The following values are specified in the file TOLERANCE.INC.')
899 1901 FORMAT(/7X,'Minimum value of EP_s tracked (ZERO_EP_s) = ',G12.5)
900 1904 FORMAT(7X,'Maximum average residual (TOL_RESID) = ',G12.5,/7X,&
901 'Maximum average residual (TOL_RESID_T) = ',G12.5,/7X,&
902 'Maximum average residual (TOL_RESID_X) = ',G12.5,/7X,&
903 'Minimum residual at divergence (TOL_DIVERGE) = ',G12.5)
904 1905 FORMAT(7X,'Tolerance for species and energy balances (TOL_COM) = ',G12.5)
905 1906 FORMAT(7X,'Tolerance for scalar mass balances (TOL_RESID_Scalar) = ',G12.5)
906 1907 FORMAT(7X,'Tolerance for K-Epsilon balances (TOL_RESID_K_Epsilon) = ',G12.5)
907 1908 FORMAT(7X,'Tolerance for Granular Temp. balances (TOL_RESID_Th) = ',G12.5)
908
909
910 CONTAINS
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930 DOUBLE PRECISION FUNCTION LOCATION (L2, XMIN, DX)
931
932
933
934
935
936
937 USE param
938 USE param1
939 IMPLICIT NONE
940
941
942
943
944
945 INTEGER L2
946
947
948 DOUBLE PRECISION XMIN
949
950
951
952
953 DOUBLE PRECISION DX(0:L2)
954
955
956
957
958 INTEGER L
959
960
961 = XMIN - HALF*DX(1)
962 L = 2
963 IF (L2 - 1 > 0) THEN
964
965
966
967
968
969 = LOCATION + SUM(HALF*(DX(1:(L2-1))+DX(2:L2)))
970 L = L2 + 1
971
972 ENDIF
973 RETURN
974 END FUNCTION LOCATION
975
976 END SUBROUTINE WRITE_OUT0
977
978 SUBROUTINE WRITE_FLAGS
979 USE param
980 USE param1
981 USE funits
982 USE geometry
983 USE indices
984 USE compar
985 USE mpi_utility
986 USE sendrecv
987 USE functions
988 IMPLICIT NONE
989 integer ijk
990
991 character(LEN=3), allocatable :: array1(:)
992 character(LEN=4), dimension(:), allocatable :: array2, array3
993
994 if (myPE .eq. PE_IO) then
995 allocate (array1(ijkmax3))
996 allocate (array2(dimension_3))
997 allocate (array3(ijkmax3))
998 else
999 allocate (array1(1))
1000 allocate (array2(dimension_3))
1001 allocate (array3(1))
1002 end if
1003
1004
1005
1006
1007
1008 call gather (icbc_flag,array1,PE_IO)
1009 call scatter (icbc_flag,array1,PE_IO)
1010
1011
1012
1013
1014 DO ijk = IJKSTART3, IJKEND3
1015 array2(ijk) = ' '
1016 array2(ijk)(1:3) = icbc_flag(ijk)(1:3)
1017 IF (IP_AT_E(IJK)) THEN
1018 array2(IJK)(4:4) = 'E'
1019 ELSE IF (SIP_AT_E(IJK)) THEN
1020 array2(IJK)(4:4) = 'e'
1021 ENDIF
1022
1023 IF (IP_AT_N(IJK)) THEN
1024 array2(IJK)(4:4) = 'N'
1025 ELSE IF (SIP_AT_N(IJK)) THEN
1026 array2(IJK)(4:4) = 'n'
1027 ENDIF
1028
1029 IF (IP_AT_T(IJK)) THEN
1030 array2(IJK)(4:4) = 'T'
1031 ELSE IF (SIP_AT_T(IJK)) THEN
1032 array2(IJK)(4:4) = 't'
1033 ENDIF
1034 ENDDO
1035 call gather (array2,array3,PE_IO)
1036
1037 if(myPE.eq.PE_IO) then
1038 WRITE (UNIT_OUT, 2000)
1039 CALL OUT_ARRAY_C (array3, 'BC/IC condition flags')
1040 WRITE (UNIT_OUT, *)
1041 ENDIF
1042
1043
1044 deallocate (array1)
1045 deallocate (array2)
1046 deallocate (array3)
1047
1048 FORMAT(//,3X,'11. INITIAL AND BOUNDARY CONDITION FLAGS',/7X,&
1049 'The initial and boundary conditions specified are shown in',/7X,&
1050 'the following map. Each computational cell is represented',/7X,&
1051 'by a string of three characters. The first character',/7X,&
1052 'represents the type of cell, and the last two characters',/7X,&
1053 'give a number that identifies a boundary or initial condi-',/7X,&
1054 'tion. For example, .02 indicates a cell where Initial',/7X,&
1055 'Condition No. 2 will be specified. Only the last two digits'/7X,&
1056 'are written. Hence, for example, Condition No. 12, 112, 212'/7X,&
1057 'etc. will be represented only as 12.',/7X,&
1058 ' First Character Description'/7X,&
1059 ' . Initial condition'/7X,&
1060 ' W No slip wall'/7X,&
1061 ' S Free-slip wall'/7X,&
1062 ' s Partial-slip wall'/7X,&
1063 ' c Cyclic boundary'/7X,&
1064 ' C Cyclic boundary with pressure drop'/7X,&
1065 ' I Specified mass-flux inflow cell'/7X,&
1066 ' O Outflow cell'/7X,&
1067 ' p Specified pressure inflow cell'/7X,&
1068 ' P Specified pressure outflow cell'/7X,&
1069 ' '/7X,&
1070 'Internal surfaces at East, North or Top of each cell is',/7X,&
1071 'is represented by the following letters to the right of the',/7X,&
1072 'three-character string:',/7X,&
1073 ' Side Impermeable Semipermeable',/7X,&
1074 ' East E e ',/7X,&
1075 ' North N n ',/7X,&
1076 ' Top T t ',/7X,&
1077 'For cells with internal surfaces on more than one side',/7X,&
1078 'the characters will be over-written in the above order',/1X,A1)
1079 RETURN
1080 END SUBROUTINE WRITE_FLAGS
1081
1082
1083