c@a c@versb C----------------------------------------------------------------------- C CVERS Code_Saturne version 1.3 C ------------------------ C C This file is part of the Code_Saturne Kernel, element of the C Code_Saturne CFD tool. C C Copyright (C) 1998-2007 EDF S.A., France C C contact: saturne-support@edf.fr C C The Code_Saturne Kernel is free software; you can redistribute it C and/or modify it under the terms of the GNU General Public License C as published by the Free Software Foundation; either version 2 of C the License, or (at your option) any later version. C C The Code_Saturne Kernel is distributed in the hope that it will be C useful, but WITHOUT ANY WARRANTY; without even the implied warranty C of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the C GNU General Public License for more details. C C You should have received a copy of the GNU General Public License C along with the Code_Saturne Kernel; if not, write to the C Free Software Foundation, Inc., C 51 Franklin St, Fifth Floor, C Boston, MA 02110-1301 USA C C----------------------------------------------------------------------- c@verse SUBROUTINE CPPHY1 C ***************** C ------------------------------------------------------------- & ( IDBIA0 , IDBRA0 , & NCELET , NCEL , & NITBCP , NRTBCP , NITBMC , NRTBMC , NITBWO , NRTBWO , & F1M , F2M , F3M , F4M , F3P2M , F4P2M , & ENTH , & RTP , PROPCE , ROM1 , & ITBCP , RTBCP , & ITBMC , RTBMC , & ITBWO , RTBWO ) C ------------------------------------------------------------- C*********************************************************************** C FONCTION : C -------- c@foncb CFONC CFONC CALCUL DES PROPRIETES PHYSIQUES DE LA PHASE GAZEUSE CFONC VALEURS CELLULES CFONC ---------------- CFONC TEMPERATURE, MASSE VOLUMIQUE ET CONCENTRATIONS MOYENNES CFONC (UTILISATION D'UNE PDF RECTANGLE-DIRAC) CFONC CFONC ==> CHIMIE RAPIDE MODELE EN 3 POINTS CFONC EXTENSION A TROIS COMBUSTIBLES POUR LE CHARBON PULVERISE CFONC -------------------- CFONC CFONC REACTIONS HETEROGENES CFONC - Pyrolyse CFONC Composition elementaire de la mole de matieres volatiles CFONC Le charbon reactif s'ecrit C(1)H(ALPHA)O(BETA) CFONC CFONC -(k1)-> ALPHA/4 CH4 + BETA CO + (1-ALPHA/4-BETA) Coke CFONC Charbon reactif CFONC -(k2)-> ALPHA/Y CXHY + BETA CO + (1-ALPHA/RYSX-BETA) Coke CFONC CFONC Avec RYSX = Y/X CFONC CFONC - Combustion heterogene CFONC CFONC Coke + 1/2 (O2 + XSI N2) -> CO + XSI/2 N2 CFONC CFONC - Reactions en phase gaz CFONC CFONC (4/(4-RYSX)) CH4 + (O2 + XSI N2) -(1)-> 4/X/(4-RYSX)*CXHY + 2 H2O CFONC + XSI N2 CFONC CXHY + X/4*(2+RYSX) (O2 + XSI N2) -(2)-> X CO + Y/2 H2O CFONC + X/4*(2+RYSX)*XSI N2 CFONC CO + 1/2 (O2 + XSI N2) -(3)-> CO2 + XSI/2 N2 CFONC CFONC CHOIX DES VARIABLES CFONC CFONC F1 est la fractions massique des matieres volatiles : CH4 + CO CFONC F2 est la fractions massique des matieres volatiles : CXHY + CO CFONC F3 est la fraction massique de carbone venant de la combustion CFONC heterogene CFONC CFONC Soit Y les fractions massiques et Z les concentrations (moles/kg) CFONC indice f avant reaction, b final CFONC CFONC PDF CONJOINTE DEGENERE EN UNE PDF 1D DE TYPE RECTANGLE - DIRAC CFONC c@fonce C ARGUMENTS c@argub CARGU .______________.____._____.______________________________________. CARGU ! NOM !TYPE!MODE ! ROLE ! CARGU !______________!____!_____!______________________________________! CARGU ! IDBIA0 ! E ! -> ! NUMERO DE LA 1ERE CASE LIBRE DANS IA ! CARGU ! IDBRA0 ! E ! -> ! NUMERO DE LA 1ERE CASE LIBRE DANS RA ! CARGU ! NCELET ! E ! -> ! NOMBRE D'ELEMENTS HALO COMPRIS ! CARGU ! NCEL ! E ! -> ! NOMBRE D'ELEMENTS ACTIFS ! CARGU ! NITBCP ! E ! -> ! TAILLE DU MACRO TABLEAU CP ENTIERS ! CARGU ! NRTBCP ! E ! -> ! TAILLE DU MACRO TABLEAU CP REELS ! CARGU ! NITBMC ! E ! -> ! TAILLE DU MACRO TABLEAU MC ENTIERS ! CARGU ! NRTBMC ! E ! -> ! TAILLE DU MACRO TABLEAU MC REELS ! CARGU ! NITBWO ! E ! -> ! TAILLE DU MACRO TABLEAU WORK ENTIERS ! CARGU ! NRTBWO ! E ! -> ! TAILLE DU MACRO TABLEAU WORK REELS ! CARGU ! PA ! TR ! -> ! PRESSION ABSOLUE EN PASCALS ! CARGU ! F1M ! TR ! -> ! MOYENNE DU TRACEUR 1 MVl [CHx1+CO] ! CARGU ! F2M ! TR ! -> ! MOYENNE DU TRACEUR 2 MVL [CHx2+CO] ! CARGU ! F3M ! TR ! -> ! MOYENNE DU TRACEUR 3 (CO C.HET) ! CARGU ! F4M ! TR ! -> ! MOYENNE DU TRACEUR 4 (AIR) ! CARGU ! F3P2M ! TR ! -> ! VARIANCE DU TRACEUR 3 (CO C.HET) ! CARGU ! F4P2M ! TR ! -> ! VARIANCE DU TRACEUR 4 (AIR) ! CARGU ! ENTH ! TR ! -> ! ENTHALPIE EN J/KG SOIT DU GAZ ! CARGU ! ! ! ! SOIT DU MELANGE ! CARGU ! RTP ! TR ! -> ! VARIABLES DE CALCUL AU CENTRE DES ! CARGU ! (NCELET,*) ! ! ! CELLULES (INSTANT COURANT) ! CARGU ! PROPCE ! TR ! <-> ! PROPRIETES PHYSIQUES AU CENTRE DES ! CARGU ! (NCELET,*) ! ! ! CELLULES ! CARGU ! ITBCP ! TR ! <-> ! MACRO TABLEAU ENTIER CP TRAVAIL ! CARGU ! RTBCP ! TR ! <-> ! MACRO TABLEAU REEL CP TRAVAIL ! CARGU ! ITBMC ! TR ! <-> ! MACRO TABLEAU ENTIER MC TRAVAIL ! CARGU ! RTBMC ! TR ! <-> ! MACRO TABLEAU REEL MC TRAVAIL ! CARGU ! ITBWO ! TR ! <-> ! MACRO TABLEAU ENTIER TRAVAIL ! CARGU ! RTBWO ! TR ! <-> ! MACRO TABLEAU REEL TRAVAIL ! CARGU !______________!____!_____!______________________________________! c@argue C c@commb CCOMM COMMONS CCOMM .______________.____._____.______________________________________. CCOMM ! NOM !TYPE!MODE ! ROLE ! CCOMM !______________!____!_____!______________________________________! CCOMM !______________!____!_____!______________________________________! c@comme C C TYPE : E (ENTIER), R (REEL), A (ALPHANUMERIQUE), T (TABLEAU) C L (LOGIQUE) .. ET TYPES COMPOSES (EX : TR TABLEAU REEL) C MODE : -> DONNEE, <- RESULTAT, <-> DONNEE MODIFIEE, C - TABLEAU DE TRAVAIL C*********************************************************************** C IMPLICIT NONE C C*********************************************************************** C DONNEES EN COMMON C*********************************************************************** C INCLUDE "paramx.h" INCLUDE "numvar.h" INCLUDE "optcal.h" INCLUDE "cstphy.h" INCLUDE "cstnum.h" INCLUDE "entsor.h" INCLUDE "ppppar.h" INCLUDE "ppthch.h" INCLUDE "coincl.h" INCLUDE "cpincl.h" INCLUDE "ppincl.h" C C*********************************************************************** C C ARGUMENTS C INTEGER IDBIA0 , IDBRA0 INTEGER NCELET , NCEL INTEGER NITBCP , NRTBCP INTEGER NITBMC , NRTBMC INTEGER NITBWO , NRTBWO INTEGER ITBCP(NCELET,NITBCP) INTEGER ITBMC(NCELET,NITBMC) INTEGER ITBWO(NCELET,NITBWO) C DOUBLE PRECISION F1M(NCELET), F2M(NCELET) DOUBLE PRECISION F3M(NCELET), F4M(NCELET) DOUBLE PRECISION F3P2M(NCELET), F4P2M(NCELET), ENTH(NCELET) DOUBLE PRECISION RTP(NCELET,*), PROPCE(NCELET,*) DOUBLE PRECISION ROM1(NCELET) DOUBLE PRECISION RTBCP(NCELET,NRTBCP) DOUBLE PRECISION RTBMC(NCELET,NRTBMC) DOUBLE PRECISION RTBWO(NCELET,NRTBWO) C C VARIABLES LOCALES C INTEGER IDEBIA , IDEBRA INTEGER IEL , IPHAS , ICE INTEGER IITBCP , IITBMC , IITBWO INTEGER IPCTE1 INTEGER IPCYF1 , IPCYF2 , IPCYF3 , IPCYOX INTEGER IPCYP1 , IPCYP2 , IPCYIN , IPCYCE DOUBLE PRECISION WMOLME , WMCHX1 , WMCHX2 C C*********************************************************************** C C======================================================================= C 1. INITIALISATIONS C======================================================================= C C --- Initialisation memoire C IDEBIA = IDBIA0 IDEBRA = IDBRA0 C C --- Initialisation des tableaux d'entiers de travail C DO IEL = 1, NCEL DO IITBCP = 1, NITBCP ITBCP(IEL,IITBCP) = 0 ENDDO DO IITBMC = 1, NITBMC ITBMC(IEL,IITBMC) = 0 ENDDO DO IITBWO = 1, NITBWO ITBWO(IEL,IITBWO) = 0 ENDDO ENDDO C C --- Initialisation des tableaux de reels de travail C DO IEL = 1, NCEL DO IITBCP = 1, NRTBCP RTBCP(IEL,IITBCP) = ZERO ENDDO DO IITBMC = 1, NRTBMC RTBMC(IEL,IITBMC) = ZERO ENDDO DO IITBWO = 1, NRTBWO RTBWO(IEL,IITBWO) = ZERO ENDDO ENDDO C C C======================================================================= C 2. DETERMINATION DU TYPE DE PDF C======================================================================= C C --> Determination du type de PDF C IF ( IPPMOD(ICP3PV).GE.0 ) THEN C C ---- Reconstitution de 3 moyennes et de 2 variances C CALL CPPDF5 C =========== & ( NCELET , NCEL , & F1M , F2M , F3M , F4M , F3P2M , F4P2M , & ITBCP(1,1) , C INDPDF & RTBCP(1,1) , RTBCP(1,2) , RTBCP(1,3) , RTBCP(1,4) ) C SI7 SI8 SP2M F4I7 C ELSE C C ---- Reconstitution de 3 moyennes et de 1 variance C CALL CPPDF4 C =========== & ( NCELET , NCEL , & F1M , F2M , F3M , F4M , F4P2M , & ITBCP(1,1) , C INDPDF & RTBCP(1,1) , RTBCP(1,2) , RTBCP(1,3) , RTBCP(1,4) ) C SI7 SI8 SP2M F4I7 C ENDIF C C C======================================================================= C 3. CALCUL DES PARAMETRES DE LA PDF CENTREE RECTANGLE - PICS DE DIRAC C======================================================================= C CALL CPPDFR C =========== & ( NCELET , NCEL , & ITBCP(1,1) , RTBCP(1,1) , RTBCP(1,2) , RTBCP(1,3) , C INTPDF SI7 SI8 SP2M & RTBCP(1,5) , RTBCP(1,6) , RTBCP(1,7) , RTBCP(1,8) , C DSI7 DSI8 SDEB SFIN & RTBCP(1,9) ) C HAUT C C C======================================================================= C 4. CALCUL DES CONCENTRATIONS MOYENNES C======================================================================= C C IPCYF1 = IPPROC(IYM1(ICHX1)) IPCYF2 = IPPROC(IYM1(ICHX2)) IPCYF3 = IPPROC(IYM1(ICO )) IPCYOX = IPPROC(IYM1(IO2 )) IPCYP1 = IPPROC(IYM1(ICO2 )) IPCYP2 = IPPROC(IYM1(IH2O )) IPCYIN = IPPROC(IYM1(IN2 )) C CALL CPCYM1 C =========== & ( NCELET , NCEL , NITBMC , NRTBMC , & RTP , & F1M , F2M , F3M , F4M , & ITBCP(1,1) , C INTPDF & RTBCP(1,1) , RTBCP(1,2) , RTBCP(1,3) , RTBCP(1,4) , C SI7 SI8 SP2M F4I7 & RTBCP(1,5) , RTBCP(1,6) , RTBCP(1,7) , RTBCP(1,8) , C DSI7 DSI8 SDEB SFIN & RTBCP(1,9) , C HAUT & PROPCE(1,IPCYF1) , PROPCE(1,IPCYF2) , PROPCE(1,IPCYF3) , & PROPCE(1,IPCYOX) , PROPCE(1,IPCYP1) , PROPCE(1,IPCYP2) , & PROPCE(1,IPCYIN) , & ITBMC , RTBMC , C MACRO TABLEAU MULTI CHARBONS ENTIERS REELS & ITBWO(1,1) , & RTBWO(1,1) , RTBWO(1,2) , RTBWO(1,3), RTBWO(1,4) ) C TABLEAUX DE TRAVAIL C C IMPORTANT : Voir dams PPINI1 pour savoir comment est range RTBMC C C --> Clipping eventuel des fractions massiques C DO IEL = 1, NCEL DO ICE = 1, (NGAZE-2*NCHARB) IPCYCE = IPPROC(IYM1(ICE)) IF ( ABS(PROPCE(IEL,IPCYCE)).LT.EPSICP ) & PROPCE(IEL,IPCYCE) = ZERO ENDDO ENDDO C C C======================================================================= C 4. CALCUL DE LA TEMPERATURE ET DE LA MASSE VOLUMIQUE C======================================================================= C IPCTE1 = IPPROC(ITEMP1) C IF ( IPPMOD(ICP3PL).EQ.1 .OR. IPPMOD(ICP3PV).EQ.1 ) THEN C C --- Transport d'H2 C CALL CPTEH1 C =========== & ( NCELET , NCEL , NITBMC , NRTBMC , & ENTH, & PROPCE(1,IPCYF1), PROPCE(1,IPCYF2), PROPCE(1,IPCYF3), & PROPCE(1,IPCYOX), PROPCE(1,IPCYP1), PROPCE(1,IPCYP2), & PROPCE(1,IPCYIN), & PROPCE(1,IPCTE1), & ITBMC , RTBMC , C MACRO TABLEAU MULTI CHARBONS ENTIERS REELS & RTBWO(1,1) , RTBWO(1,2) ) C TABLEAUX DE TRAVAIL C ELSE C C --- Sans transport d'H2 C CALL CPTEHM C =========== & ( NCELET , NCEL , NITBMC , NRTBMC , & ENTH , RTP , & PROPCE(1,IPCYF1), PROPCE(1,IPCYF2), PROPCE(1,IPCYF3), & PROPCE(1,IPCYOX), PROPCE(1,IPCYP1), PROPCE(1,IPCYP2), & PROPCE(1,IPCYIN), & PROPCE(1,IPCTE1), & ITBMC , RTBMC , C MACRO TABEAU MULTI CHARBONS ENTIERS REELS & RTBWO(1,1) , RTBWO(1,2) , RTBWO(1,3) ) C TABLEAUX DE TRAVAIL C ENDIF C IPHAS = 1 IPCTE1 = IPPROC(ITEMP1) DO IEL = 1, NCEL WMCHX1 = WMOLAT(IATC)+RTBMC(IEL,IX1MC)*WMOLAT(IATH) WMCHX2 = WMOLAT(IATC)+RTBMC(IEL,IX2MC)*WMOLAT(IATH) WMOLME = PROPCE(IEL,IPCYF1)/WMCHX1 & + PROPCE(IEL,IPCYF2)/WMCHX2 & + PROPCE(IEL,IPCYF3)/WMOLE(ICO ) & + PROPCE(IEL,IPCYOX)/WMOLE(IO2 ) & + PROPCE(IEL,IPCYP1)/WMOLE(ICO2) & + PROPCE(IEL,IPCYP2)/WMOLE(IH2O) & + PROPCE(IEL,IPCYIN)/WMOLE(IN2 ) C C stockage de la masse molaire du melange C PROPCE(IEL,IPPROC(IMMEL)) = 1.D0 / WMOLME C C ---- On ne met pas la pression mecanique RTP(IEL,IPR(IPHAS)) C mais P0(IPHAS) C ROM1(IEL) = P0(IPHAS) / (WMOLME*RR*PROPCE(IEL,IPCTE1)) ENDDO C C C======================================================================= C FORMATS C---- C C C C---- C FIN C---- C RETURN END c@z