File: /nfs/home/0/users/jenkins/mfix.git/model/write_out0.f

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