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 USCPI1 C ***************** C ------------------------------------------------------------- C ------------------------------------------------------------- C*********************************************************************** C FONCTION : C --------- c@foncb CFONC CFONC ROUTINE UTILISATEUR POUR ENTREE DES PARAMETRES DE CALCUL CFONC RELATIFS A LA COMBUSTION DU CHARBON PULVERISE CFONC (COMMONS) CFONC c@fonce C----------------------------------------------------------------------- C ARGUMENTS c@argub CARGU .______________.____._____.______________________________________. CARGU ! NOM !TYPE!MODE ! ROLE ! CARGU !______________!____!_____!______________________________________! 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 "dimens.h" INCLUDE "numvar.h" INCLUDE "optcal.h" INCLUDE "cstphy.h" INCLUDE "entsor.h" INCLUDE "cstnum.h" INCLUDE "parall.h" INCLUDE "period.h" INCLUDE "ihmpre.h" INCLUDE "ppppar.h" INCLUDE "ppthch.h" INCLUDE "coincl.h" INCLUDE "cpincl.h" INCLUDE "ppincl.h" C C*********************************************************************** C INTEGER IPP , ICLA , ICHA C C*********************************************************************** C C TEST_A_ENLEVER_POUR_UTILISER_LE_SOUS_PROGRAMME_DEBUT C======================================================================= C 0. CE TEST PERMET A L'UTILISATEUR D'ETRE CERTAIN QUE C'EST C SA VERSION DU SOUS PROGRAMME QUI EST UTILISEE C ET NON CELLE DE LA BIBLIOTHEQUE C======================================================================= C IF (IIHMPR.EQ.1) THEN RETURN ELSE WRITE(NFECRA,9000) CALL CSEXIT (1) ENDIF C 9000 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : ARRET A L''ENTREE DES DONNEES ',/, &'@ ********* ',/, &'@ CHARBON PULVERISE : ',/, &'@ LE SOUS-PROGRAMME UTILISATEUR uscpi1 DOIT ETRE COMPLETE',/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) C C======================================================================= C TEST_A_ENLEVER_POUR_UTILISER_LE_SOUS_PROGRAMME_FIN C C C======================================================================= C 1. VARIABLES TRANSPORTEES C======================================================================= C C Sortie chrono, suivi listing, sortie histo C Si l'on n'affecte pas les tableaux suivants, C les valeurs par defaut seront utilisees C C ICHRVR( ) = sortie chono (oui 1/non 0) C ILISVR( ) = suivi listing (oui 1/non 0) C IHISVR( ) = sortie historique (nombre de sondes et numeros) C si IHISVR(.,1) = -1 sortie sur toutes les sondes definies C dans usini1 C C C --> Variables propres a la suspension gaz - particules C C - Enthalpie de la suspension IPP = IPPRTP(ISCA(IHM)) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1)= -1 C C --> Variables propres a la phase dispersee C DO ICLA = 1, NCLACP C C - Fraction massique de coke (de la classe ICLA) IPP = IPPRTP(ISCA(IXCK(ICLA))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1)= -1 C C - Fraction massique de charbon reactif (de la classe ICLA) IPP = IPPRTP(ISCA(IXCH(ICLA))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1)= -1 C C - Nb de particules par kg de melange (de la classe ICLA) IPP = IPPRTP(ISCA(INP(ICLA))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1)= -1 C C - Enthalpie massique (de la classe ICLA) IF ( IPPMOD(ICP3PL).EQ.1 .OR. IPPMOD(ICP3PV).EQ.1 ) THEN IPP = IPPRTP(ISCA(IH2(ICLA))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1)= -1 ENDIF ENDDO C C --> Variables propres a la phase continue C DO ICHA = 1, NCHARB C C - Moyenne du traceur 1 C (representatif des MV legeres du charbon ICHA) IPP = IPPRTP(ISCA(IF1M(ICHA))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1)= -1 C C - Moyenne du traceur 2 C (representatif des MV lourdes du charbon ICHA) IPP = IPPRTP(ISCA(IF2M(ICHA))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1)= -1 C ENDDO C C - Moyenne du traceur 3 (representatif du C libere sous forme de CO C lors de la combustion heterogene) IPP = IPPRTP(ISCA(IF3M)) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1)= -1 C C - Variance associe au traceur 4 (representatif de l'air) IPP = IPPRTP(ISCA(IF4P2M)) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1)= -1 C C - Variance associe au traceur 3 IF ( IPPMOD(ICP3PV).GE.0 ) THEN IPP = IPPRTP(ISCA(IF3P2M)) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1)= -1 ENDIF C C C======================================================================= C 2. VARIABLES ALGEBRIQUES OU D'ETAT C======================================================================= C C Sortie chrono, suivi listing, sortie histo C Si l'on n'affecte pas les tableaux suivants, C les valeurs par defaut seront utilisees C C ICHRVR( ) = sortie chono (oui 1/non 0) C ILISVR( ) = suivi listing (oui 1/non 0) C IHISVR( ) = sortie historique (nombre de sondes et numeros) C si IHISVR(.,1) = -1 sortie sur toutes les sondes definies C dans usini1 C C --> Variables algebriques propres a la suspension gaz - particules C C - Masse molaire du melange gazeux IPP = IPPPRO(IPPROC(IMMEL)) ICHRVR(IPP) = 0 ILISVR(IPP) = 0 IHISVR(IPP,1) = -1 C C --> Variables algebriques propres a la phase dispersee C DO ICLA = 1, NCLACP C C - Temperature des particules (de la classe ICLA) IF ( IPPMOD(ICP3PL).EQ.1 .OR. IPPMOD(ICP3PV).EQ.1 ) THEN IPP = IPPPRO(IPPROC(ITEMP2(ICLA))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1) = -1 ENDIF C C - Masse volumique des particules (de la classe ICLA) IPP = IPPPRO(IPPROC(IROM2(ICLA))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1) = -1 C C - Diametre des particules (de la classe ICLA) IPP = IPPPRO(IPPROC(IDIAM2(ICLA))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1) = -1 C C - Taux de disparition du charbon reactif (s-1) < 0 C (de la classe ICLA) IPP = IPPPRO(IPPROC(IGMDCH(ICLA))) ICHRVR(IPP) = 0 ILISVR(IPP) = 0 IHISVR(IPP,1) = -1 C C - Transfert de masse du au degagemnt des MV legeres (s-1) < 0 C (de la classe ICLA) IPP = IPPPRO(IPPROC(IGMDV1(ICLA))) ICHRVR(IPP) = 0 ILISVR(IPP) = 0 IHISVR(IPP,1) = -1 C C - Transfert de masse du au degagemnt des MV lourdes (s-1) < 0 C (de la classe ICLA) IPP = IPPPRO(IPPROC(IGMDV2(ICLA))) ICHRVR(IPP) = 0 ILISVR(IPP) = 0 IHISVR(IPP,1) = -1 C C - Taux de disparition du charbon reactif (s-1) < 0 C (de la classe ICLA) IPP = IPPPRO(IPPROC(IGMHET(ICLA))) ICHRVR(IPP) = 0 ILISVR(IPP) = 0 IHISVR(IPP,1) = -1 C C - Fraction massique de solide (de la classe ICLA) IPP = IPPPRO(IPPROC(IX2(ICLA))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1) = -1 C ENDDO C C --> Variables algebriques propres a la phase continue C C - Temperature du melange gazeux IPP = IPPPRO(IPPROC(ITEMP1)) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1) = -1 C C - Fraction massique (dans le melange gazeux) du CHx1m IPP = IPPPRO(IPPROC(IYM1(1))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1) = -1 C C - Fraction massique (dans le melange gazeux) du CHx2m IPP = IPPPRO(IPPROC(IYM1(2))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1) = -1 C C - Fraction massique (dans le melange gazeux) du CO IPP = IPPPRO(IPPROC(IYM1(3))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1) = -1 C C - Fraction massique (dans le melange gazeux) du O2 IPP = IPPPRO(IPPROC(IYM1(4))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1) = -1 C C - Fraction massique (dans le melange gazeux) du CO2 IPP = IPPPRO(IPPROC(IYM1(5))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1) = -1 C C - Fraction massique (dans le melange gazeux) du H2O IPP = IPPPRO(IPPROC(IYM1(6))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1) = -1 C C - Fraction massique (dans le melange gazeux) du N2 IPP = IPPPRO(IPPROC(IYM1(7))) ICHRVR(IPP) = 1 ILISVR(IPP) = 1 IHISVR(IPP,1) = -1 C C C======================================================================= C 3. OPTIONS DE CALCUL C======================================================================= C C --- Coefficient de relaxation de la masse volumique C RHO(n+1) = SRROM * RHO(n) + (1-SRROM) * RHO(n+1) C SRROM = 0.95D0 C C C======================================================================= C 4. CONSTANTES PHYSIQUES C======================================================================= C C ---> Viscosite laminaire associee au scalaire enthalpie C DIFTL0 (diffusivite dynamique en kg/(m s)) DIFTL0 = 4.25D-5 C C C---- C FIN C---- C RETURN C END c@z