1
!-------------------------------------------------------------------------------
5
! This file is part of Code_Saturne, a general-purpose CFD tool.
7
! Copyright (C) 1998-2011 EDF S.A.
9
! This program is free software; you can redistribute it and/or modify it under
10
! the terms of the GNU General Public License as published by the Free Software
11
! Foundation; either version 2 of the License, or (at your option) any later
14
! This program is distributed in the hope that it will be useful, but WITHOUT
15
! ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16
! FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
19
! You should have received a copy of the GNU General Public License along with
20
! this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
21
! Street, Fifth Floor, Boston, MA 02110-1301, USA.
23
!-------------------------------------------------------------------------------
25
subroutine user_coal_ini1
26
!==================================
29
!===============================================================================
32
! User's routine to control outing of variables for pulverised coal combustion
33
! (these parameters are in COMMON)
34
!-------------------------------------------------------------------------------
36
!__________________.____._____.________________________________________________.
37
! name !type!mode ! role !
38
!__________________!____!_____!________________________________________________!
39
!__________________!____!_____!________________________________________________!
40
! Type: i (integer), r (real), s (string), a (array), l (logical),
41
! and composite types (ex: ra real array)
42
! mode: <-- input, --> output, <-> modifies data, --- work array
43
!===============================================================================
45
!===============================================================================
47
!===============================================================================
67
!===============================================================================
71
integer ipp , icla , icha
73
!===============================================================================
76
!===============================================================================
77
! 1. TRANSPORTED VARIABLES
78
!===============================================================================
80
! OUTLET chrono, listing, and histo
81
! if below vector are not allocated, default values will be used
83
! ICHRVR( ) = chono outlet (Yes 1/No 0)
84
! ILISVR( ) = listing outlet (Yes 1/No 0)
85
! IHISVR( ) = histo outlet (number of roiqu and number)
86
! if IHISVR(.,1) = -1 every probes defined in usini1
89
! --> Variables for the mix (carrying gas and coal particles)
92
ipp = ipprtp(isca(ihm))
97
! --> Variables for coal particles
101
! - Char mass fraction (in class ICLA)
102
ipp = ipprtp(isca(ixck(icla)))
107
! - Coal mass fraction (in class ICLA)
108
ipp = ipprtp(isca(ixch(icla)))
113
! - Number of particles for 1 kg mix (from class ICLA)
114
ipp = ipprtp(isca(inp(icla)))
119
! - Enthalpy J/kg (for class ICLA)
120
ipp = ipprtp(isca(ih2(icla)))
125
! - Water mass fraction (in class ICLA)
126
if ( ippmod(icp3pl) .eq. 1 ) then
127
ipp = ipprtp(isca(ixwt(icla)))
134
! --> Variables for the carrier phase
138
! - Mean of 1 mixture fraction
139
! (from light volatiles of char ICHA)
140
ipp = ipprtp(isca(if1m(icha)))
145
! - Mean of 2 mixture fraction
146
! (from heavy volatiles of char ICHA)
147
ipp = ipprtp(isca(if2m(icha)))
154
! ---- Variables propres a la phase continue
155
if ( noxyd .ge. 2 ) then
156
ipp = ipprtp(isca(if4m))
161
if ( noxyd .eq. 3 ) then
162
ipp = ipprtp(isca(if5m))
167
if ( ippmod(iccoal) .ge. 1 ) then
168
ipp = ipprtp(isca(if6m))
173
ipp = ipprtp(isca(if7m))
177
if ( ihtco2 .eq. 1 ) then
178
ipp = ipprtp(isca(if8m))
183
if ( ihth2o .eq. 1 ) then
184
ipp = ipprtp(isca(if9m))
191
ipp = ipprtp(isca(ifvp2m))
197
if ( ieqco2 .ge. 1 ) then
198
ipp = ipprtp(isca(iyco2))
203
if ( ieqnox .ge. 1 ) then
204
ipp = ipprtp(isca(iyhcn))
205
NOMVAR(IPP) = 'FR_HCN'
209
ipp = ipprtp(isca(iyno))
210
NOMVAR(IPP) = 'FR_NO'
214
ipp = ipprtp(isca(ihox))
215
NOMVAR(IPP) = 'Enth_Ox'
221
!===============================================================================
223
!===============================================================================
225
! OUTLET chrono, listing, and histo
226
! if below vector are not allocated, default values will be used
228
! ICHRVR( ) = chono outlet (Yes 1/No 0)
229
! ILISVR( ) = listing outlet (Yes 1/No 0)
230
! IHISVR( ) = histo outlet (number of roiqu and number)
231
! if IHISVR(.,1) = -1 every probes defined in usini1
233
! --> State varables for the mix
236
ipp = ipppro(ipproc(immel))
241
! --> State variables for coal particles
245
! - Particles' Temperature K (of class ICLA)
246
ipp = ipppro(ipproc(itemp2(icla)))
251
! - Particles' Density kg/m3 (of class ICLA)
252
ipp = ipppro(ipproc(irom2(icla)))
257
! - Particles' Diameter m (of class ICLA)
258
ipp = ipppro(ipproc(idiam2(icla)))
263
! - Rate of coal consumption (s-1) < 0
265
ipp = ipppro(ipproc(igmdch(icla)))
270
! - Rate of light volatiles exhaust (s-1) < 0
272
ipp = ipppro(ipproc(igmdv1(icla)))
277
! - Rate of heavy volatile exhaust (s-1) < 0
278
! (de la classe ICLA)
279
ipp = ipppro(ipproc(igmdv2(icla)))
284
! - Rate of char oxidation by O2 (s-1) < 0
286
ipp = ipppro(ipproc(igmhet(icla)))
291
! - Rate of char gazeification by CO2 (s-1) < 0
293
if ( ihtco2 .eq. 1 ) then
294
ipp = ipppro(ipproc(ighco2(icla)))
300
! - Rate of char gazeification by H2O (s-1) < 0
302
if ( ihth2o .eq. 1 ) then
303
ipp = ipppro(ipproc(ighh2o(icla)))
309
! - Rate of drying (s-1) < 0
311
if ( ippmod(icp3pl) .eq. 1 ) then
312
ipp = ipppro(ipproc(igmsec(icla)))
318
! - Mass fraction (of class ICLA) in mix
319
ipp = ipppro(ipproc(ix2(icla)))
326
! --> State variables for carrier gas phase
328
! - Temperature of gas mixture
329
ipp = ipppro(ipproc(itemp1))
334
! - Mass fraction (among gases) of CHx1m
335
ipp = ipppro(ipproc(iym1(1)))
340
! - mass fraction (among gases) of CHx2m
341
ipp = ipppro(ipproc(iym1(2)))
346
! - mass fraction (among gases) of CO
347
ipp = ipppro(ipproc(iym1(3)))
352
! - mass fraction (among gases) of H2S
353
ipp = ipppro(ipproc(iym1(4)))
358
! - mass fraction (among gases) of H2
359
ipp = ipppro(ipproc(iym1(5)))
364
! - mass fraction (among gases) of HCN
365
ipp = ipppro(ipproc(iym1(6)))
370
! - mass fraction (among gases) of NH3
371
ipp = ipppro(ipproc(iym1(7)))
376
! - mass fraction (among gases) of O2
377
ipp = ipppro(ipproc(iym1(8)))
382
! - mass fraction (among gases) of CO2
383
ipp = ipppro(ipproc(iym1(9)))
388
! - mass fraction (among gases) of H2O
389
ipp = ipppro(ipproc(iym1(10)))
394
! - mass fraction (among gases) of SO2
395
ipp = ipppro(ipproc(iym1(11)))
400
! - mass fraction (among gases) of N2
401
ipp = ipppro(ipproc(iym1(12)))
406
!===============================================================================
407
! 3. Computation OPTION
408
!===============================================================================
410
! --- Relaxation for density (Advisable when starting combustion computation)
411
! (Forbidden for unstationnary computation)
412
! RHO(n+1) = SRROM * RHO(n) + (1-SRROM) * RHO(n+1)
416
!===============================================================================
417
! 4. Physical constants
418
!===============================================================================
420
! --- Laminar viscosity for enthalpy (dynamical diffusivity) kg/(m.s)