1
!-------------------------------------------------------------------------------
3
! This file is part of Code_Saturne, a general-purpose CFD tool.
5
! Copyright (C) 1998-2011 EDF S.A.
7
! This program is free software; you can redistribute it and/or modify it under
8
! the terms of the GNU General Public License as published by the Free Software
9
! Foundation; either version 2 of the License, or (at your option) any later
12
! This program is distributed in the hope that it will be useful, but WITHOUT
13
! ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14
! FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
17
! You should have received a copy of the GNU General Public License along with
18
! this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
19
! Street, Fifth Floor, Boston, MA 02110-1301, USA.
21
!-------------------------------------------------------------------------------
23
subroutine cs_coal_prop &
24
!======================
27
!===============================================================================
31
! INIT DES POSITIONS DES VARIABLES D'ETAT SELON
32
! COMBUSTION CHARBON PULVERISE
33
! (DANS VECTEURS PROPCE, PROPFA, PROPFB)
35
!-------------------------------------------------------------------------------
37
!__________________.____._____.________________________________________________.
38
! name !type!mode ! role !
39
!__________________!____!_____!________________________________________________!
40
! ipropp ! e ! <-- ! numero de la derniere propriete !
41
! ! ! ! (les proprietes sont dans propce, !
42
! ! ! ! propfa ou prpfb) !
43
! ipppst ! e ! <-- ! pointeur indiquant le rang de la !
44
! ! ! ! derniere grandeur definie aux !
45
! ! ! ! cellules (rtp,propce...) pour le !
46
! ! ! ! post traitement !
47
!__________________!____!_____!________________________________________________!
49
! TYPE : E (ENTIER), R (REEL), A (ALPHANUMERIQUE), T (TABLEAU)
50
! L (LOGIQUE) .. ET TYPES COMPOSES (EX : TR TABLEAU REEL)
51
! MODE : <-- donnee, --> resultat, <-> Donnee modifiee
52
! --- tableau de travail
53
!===============================================================================
55
!===============================================================================
57
!===============================================================================
75
!===============================================================================
81
integer ipropp, ipppst
85
integer iprop, ige , icla, iprop2
87
!===============================================================================
89
! ---> Definition des pointeurs relatifs aux variables d'etat
93
! Phase continue (melange gazeux)
99
! ---- Cf. definition de NGAZE dans cs_coal_readata
106
if ( ieqnox .eq. 1 ) then
117
! Phase dispersee (classes de particules)
119
iprop = iprop2 + icla
121
iprop = iprop2 + 1*nclacp + icla
123
iprop = iprop2 + 2*nclacp + icla
125
iprop = iprop2 + 3*nclacp + icla
127
iprop = iprop2 + 4*nclacp + icla
129
iprop = iprop2 + 5*nclacp + icla
131
iprop = iprop2 + 6*nclacp + icla
133
iprop = iprop2 + 7*nclacp + icla
135
if ( ihtco2 .eq. 1 ) then
136
iprop = iprop2 + 8*nclacp + icla
138
if ( ihth2o .eq. 1 ) then
139
iprop = iprop2 + 9*nclacp + icla
141
if ( ippmod(iccoal) .ge. 1 ) then
142
iprop = iprop2 + 10*nclacp + icla
146
if ( ippmod(iccoal) .ge. 1 ) then
147
iprop = iprop2 + 9*nclacp + icla
152
if ( ihth2o .eq. 1 ) then
153
iprop = iprop2 + 8*nclacp + icla
155
if ( ippmod(iccoal) .ge. 1 ) then
156
iprop = iprop2 + 9*nclacp + icla
160
if ( ippmod(iccoal) .ge. 1 ) then
161
iprop = iprop2 + 8*nclacp + icla
178
! ---- Nb de variables algebriques (ou d'etat)
179
! propre a la physique particuliere NSALPP
182
nsalpp = iprop - ipropp
185
! ---- On renvoie IPROPP au cas ou d'autres proprietes devraient
186
! etre numerotees ensuite
190
! ---> Positionnement dans le tableau PROPCE
191
! et reperage du rang pour le post-traitement
195
! Phase continue (melange gazeux)
197
ipproc(itemp1) = iprop
199
ipppro(iprop) = ipppst
202
ipproc(irom1) = iprop
204
ipppro(iprop) = ipppst
206
do ige = 1, (ngaze-2*ncharb)
207
! ---- Cf. definition de NGAZE dans cs_coal_readata
209
ipproc(iym1(ige)) = iprop
211
ipppro(iprop) = ipppst
215
ipproc(immel) = iprop
217
ipppro(iprop) = ipppst
220
if ( ieqnox .eq. 1 ) then
222
ipproc(ighcn1) = iprop
224
ipppro(iprop) = ipppst
227
ipproc(ighcn2) = iprop
229
ipppro(iprop) = ipppst
232
ipproc(ignoth) = iprop
234
ipppro(iprop) = ipppst
239
! Phase dispersee (classes de particules)
242
iprop = iprop2 + icla
243
ipproc(itemp2(icla)) = iprop
245
ipppro(iprop) = ipppst
247
iprop = iprop2 + 1*nclacp + icla
248
ipproc(ix2(icla)) = iprop
250
ipppro(iprop) = ipppst
252
iprop = iprop2 + 2*nclacp + icla
253
ipproc(irom2(icla)) = iprop
255
ipppro(iprop) = ipppst
257
iprop = iprop2 + 3*nclacp + icla
258
ipproc(idiam2(icla)) = iprop
260
ipppro(iprop) = ipppst
262
iprop = iprop2 + 4*nclacp + icla
263
ipproc(igmdch(icla)) = iprop
265
ipppro(iprop) = ipppst
267
iprop = iprop2 + 5*nclacp + icla
268
ipproc(igmdv1(icla)) = iprop
270
ipppro(iprop) = ipppst
272
iprop = iprop2 + 6*nclacp + icla
273
ipproc(igmdv2(icla)) = iprop
275
ipppro(iprop) = ipppst
277
iprop = iprop2 + 7*nclacp + icla
278
ipproc(igmhet(icla)) = iprop
280
ipppro(iprop) = ipppst
282
if ( ihtco2 .eq. 1 ) then
283
iprop = iprop2 + 8*nclacp + icla
284
ipproc(ighco2(icla)) = iprop
286
ipppro(iprop) = ipppst
288
if ( ihth2o .eq. 1 ) then
289
iprop = iprop2 + 9*nclacp + icla
290
ipproc(ighh2o(icla)) = iprop
292
ipppro(iprop) = ipppst
294
if ( ippmod(iccoal) .eq. 1 ) then
295
iprop = iprop2 + 10*nclacp + icla
296
ipproc(igmsec(icla)) = iprop
298
ipppro(iprop) = ipppst
302
if ( ippmod(iccoal) .eq. 1 ) then
303
iprop = iprop2 + 9*nclacp + icla
304
ipproc(igmsec(icla)) = iprop
306
ipppro(iprop) = ipppst
311
if ( ihth2o .eq. 1 ) then
312
iprop = iprop2 + 8*nclacp + icla
313
ipproc(ighh2o(icla)) = iprop
315
ipppro(iprop) = ipppst
317
if ( ippmod(iccoal) .eq. 1 ) then
318
iprop = iprop2 + 9*nclacp + icla
319
ipproc(igmsec(icla)) = iprop
321
ipppro(iprop) = ipppst
325
if ( ippmod(iccoal) .eq. 1 ) then
326
iprop = iprop2 + 8*nclacp + icla
327
ipproc(igmsec(icla)) = iprop
329
ipppro(iprop) = ipppst
339
ipproc(ibcarbone) = iprop
341
ipppro(iprop) = ipppst
344
ipproc(iboxygen) = iprop
346
ipppro(iprop) = ipppst
349
ipproc(ibhydrogen) = iprop
351
ipppro(iprop) = ipppst
356
! ---> Positionnement dans le tableau PROPFB
357
! Au centre des faces de bord
362
! ---> Positionnement dans le tableau PROPFA
363
! Au centre des faces internes (flux de masse)
369
! - Interface Code_Saturne
370
! ======================
371
! Construction de l'indirection entre la numerotation du noyau et XML
372
if (iihmpr.eq.1) then
375
( nclacp, nsalpp, nsalto, ippmod, iccoal, ipppro, &
376
ipproc, ihtco2, itemp1, irom1, iym1, immel, &
377
itemp2, ix2, irom2, idiam2, igmdch, igmdv1, &
378
igmdv2, igmhet, ighco2, igmsec)