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