C TOCOND SOURCE CHAT 05/01/13 03:42:42 5004 SUBROUTINE TOCOND C C-------------------------------------------------------------------- C Gestion de la condensation en paroi : évaluation du coef. d'échange C thermique en paroi, du débit de condensation, du titre vapeur C-------------------------------------------------------------------- C C--------------------------- C Phrase d'appel (GIBIANE) : C--------------------------- C C TSAT1 XV3 ALAT0 ALAT3 ECHAN1 = VARI TOCOND TAB1 MAIL1 NOMMODE; C ou C TSAT1 XV3 = VARI TOCOND TAB1 ; C C------------------------ C Opérandes et résultat : C------------------------ C C TAB1 : TABLE SET contenant l'ensemble des data 0D C MAIL1 : Maillage contenant l'ensemble des points faces associés C au modele C NOMMODE: Mot définissant le modele de condensation utilisé C ALAT0 : Enthalpie liquide C ALAT3 : Débit de condensation / Flux thermique C ECHAN1 : Coefficient d'échange global en paroi C TSAT1 : Température de saturation C XV3 : Titre vapeur C C-------------------------------------------------------------------- C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) CHARACTER*4 NOMTOT(1) CHARACTER*8 TYPE,TYPS,MTYPI,MTYPR,MODCON(3) CHARACTER*72 CHARR,MOT1 LOGICAL LOGI,LOGR DATA MODCON/'TAGAMI ','UCHIDA ','CHILTON '/ C -INC CCOPTIO -INC SMCHPOI -INC SMELEME -INC SMTABLE POINTEUR MPOVA7.MPOVAL,MPOVA8.MPOVAL,MPOVA9.MPOVAL,MPOVAA.MPOVAL, & MPOVAB.MPOVAL,MPOVAC.MPOVAL,MPOVAD.MPOVAL,MPOVAE.MPOVAL, & MPOVAF.MPOVAL, & MPOMIA.MPOVAL,MPOMIB.MPOVAL,MPOMIC.MPOVAL,MPOMID.MPOVAL, & MPOMIE.MPOVAL,MPODV1.MPOVAL, & MPOUT1.MPOVAL,MPOUT2.MPOVAL,MPOUT3.MPOVAL C TYPS = ' ' TMAX = 500.D0 HMAX = 5000.D0 BETA = 0.92D0 GAMA = 0.5D0 TTAG = 0.D0 TAGA = 0.D0 TIME2 = 0.D0 C C- Lecture et controles des données d'entrée, C C MTAB1 : Table SET C Lecture de la table SET CALL LIRTAB('SET',MTAB1,1,IRETOU) IF (IERR.NE.0) RETURN C Lecture du maillage de points envoyé CALL LIROBJ('MAILLAGE',IPT2,0,IRETOU) IF (IERR.NE.0) RETURN C Lecture du modele de condensation utilise ICOR = 0 CALL LIRMOT(MODCON,3,ICOR,0) IF (IERR.NE.0) RETURN C MTAB2 : Table INCO C MTAB3 : Table COMPONENT C MTAB4 : Table GEOINF C MTAB5 : Table DATA C MTAB6 : Table PHYSICAL C MTAB7 : Table CELLAY C MTYPI = 'MOT ' MTYPR = 'TABLE ' CALL ACCTAB(MTAB1,MTYPI,IVALI,XVALI,'INCO',LOGI,IRETI, & MTYPR,IVALR,XVALR,CHARR,LOGR,MTAB2) IF (IERR.NE.0) RETURN CALL ACCTAB(MTAB1,MTYPI,IVALI,XVALI,'COMPONENT',LOGI,IRETI, & MTYPR,IVALR,XVALR,CHARR,LOGR,MTAB3) IF (IERR.NE.0) RETURN CALL ACCTAB(MTAB1,MTYPI,IVALI,XVALI,'GEOINF',LOGI,IRETI, & MTYPR,IVALR,XVALR,CHARR,LOGR,MTAB4) IF (IERR.NE.0) RETURN CALL ACCTAB(MTAB1,MTYPI,IVALI,XVALI,'DATA',LOGI,IRETI, & MTYPR,IVALR,XVALR,CHARR,LOGR,MTAB5) IF (IERR.NE.0) RETURN CALL ACCTAB(MTAB1,MTYPI,IVALI,XVALI,'PHYSICAL',LOGI,IRETI, & MTYPR,IVALR,XVALR,CHARR,LOGR,MTAB6) IF (IERR.NE.0) RETURN C --------------------------------------------------------------------C C Données utilisées quelque soit le cas traité C condensation ou non ! C C IPT1 : Maillage POI1 des CELL TYPE = 'MAILLAGE' CALL ACMO(MTAB4,'CELL',TYPE,IPT1) IF (IERR.NE.0) RETURN C C MPOVA1 : Pression C MPOVA2 : Température C MPOVA3 : Densité C MPOVA4 : Densité d'H2O C MPOVA5 : Titre vapeur C TYPE = 'CHPOINT ' CALL ACMO(MTAB2,'PT',TYPE,MCHPO1) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPO1,MPOVA1,TYPS,IGEO1) IF (IGEO1.NE.IPT1) THEN INDIC = 1 NBCOMP = -1 CALL QUEPOI(MCHPO1,IPT1,INDIC,NBCOMP,NOMTOT) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPO1,MPOVA1,TYPS,IGEO1) ENDIF C TYPE = 'CHPOINT ' CALL ACMO(MTAB2,'TGAS',TYPE,MCHPO2) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPO2,MPOVA2,TYPS,IGEO1) IF (IGEO1.NE.IPT1) THEN INDIC = 1 NBCOMP = -1 CALL QUEPOI(MCHPO2,IPT1,INDIC,NBCOMP,NOMTOT) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPO2,MPOVA2,TYPS,IGEO1) ENDIF C TYPE = 'CHPOINT ' CALL ACMO(MTAB2,'RGAS',TYPE,MCHPO3) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPO3,MPOVA3,TYPS,IGEO1) IF (IGEO1.NE.IPT1) THEN INDIC = 1 NBCOMP = -1 CALL QUEPOI(MCHPO3,IPT1,INDIC,NBCOMP,NOMTOT) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPO3,MPOVA3,TYPS,IGEO1) ENDIF C TYPE = 'CHPOINT ' CALL ACMO(MTAB2,'RH2O',TYPE,MCHPO4) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPO4,MPOVA4,TYPS,IGEO1) IF (IGEO1.NE.IPT1) THEN INDIC = 1 NBCOMP = -1 CALL QUEPOI(MCHPO4,IPT1,INDIC,NBCOMP,NOMTOT) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPO4,MPOVA4,TYPS,IGEO1) ENDIF C TYPE = 'CHPOINT ' CALL ACMO(MTAB2,'XV',TYPE,MCHPO5) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPO5,MPOVA5,TYPS,IGEO1) IF (IGEO1.NE.IPT1) THEN INDIC = 1 NBCOMP = -1 CALL QUEPOI(MCHPO5,IPT1,INDIC,NBCOMP,NOMTOT) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPO5,MPOVA5,TYPS,IGEO1) ENDIF C C RELINT : Facteur de relaxation pour les paramètres physiques internes C MOT1 : Type de correlation C TIME2 : Temps physique en fin de pas de temps C TTAG : Temps physique caractéristique pour TAGAMI-UCHIDA C TAGA : Coefficient constant intervenant dans TAGAMI-UCHIDA C MTYPI = 'MOT ' MTYPR = 'FLOTTANT' CALL ACCTAB(MTAB1,MTYPI,IVALI,XVALI,'RELINT',LOGI,IRETI, & MTYPR,IVALR,RELINT,CHARR,LOGR,IRETR) IF (IERR.NE.0) RETURN C C- Répartition vapeur/eau liquide au sein de chaque compartiment et C- données thermodynamiques associées à la vapeur C C MPOVA6 : Titre vapeur actualisé C MPOVA7 : Densité vapeur C MPOVA8 : Pression partielle de vapeur C MPOVA9 : Température de saturation C C Le calcul de TSAT et XV se fait par défaut CALL TOCON1(TMAX,RELINT,MPOVA2,MPOVA4,MPOVA5, & MPOVA6,MPOVA7,MPOVA8,MPOVA9) C --------------------------------------------------------------------C C Si on veut calculer les grandeurs liées à la condensation C passons par ici ! C --------------------------------------------------------------------C C DEBUT CALCUL DE LA CONDENSATION C --------------------------------------------------------------------C IF (IPT2.NE.0.AND.ICOR.NE.0) THEN C IPT3 : Maillage POI1 des WALL C IPT4 : Maillage SEG2 de CELLAYW (connectivites CELL-LAYERW) C TYPE = 'MAILLAGE' CALL ACMO(MTAB4,'WALL',TYPE,IPT3) IF (IERR.NE.0) RETURN CALL ACMO(MTAB4,'CELLAYW',TYPE,IPT4) IF (IERR.NE.0) RETURN C si on utilise le modele de TAGAMI IF (ICOR.EQ.1) THEN MTYPI = 'MOT ' MTYPR = 'FLOTTANT' CALL ACCTAB(MTAB2,MTYPI,IVALI,XVALI,'TIME2',LOGI,IRETI, & MTYPR,IVALR,TIME2,CHARR,LOGR,IRETR) IF (IERR.NE.0) RETURN CALL ACCTAB(MTAB6,MTYPI,IVALI,XVALI,'TTAG',LOGI,IRETI, & MTYPR,IVALR,TTAG,CHARR,LOGR,IRETR) IF (IERR.NE.0) RETURN CALL ACCTAB(MTAB6,MTYPI,IVALI,XVALI,'TAGA',LOGI,IRETI, & MTYPR,IVALR,TAGA,CHARR,LOGR,IRETR) IF (IERR.NE.0) RETURN ENDIF C C MPOVAA : Coeff d'echange par conduction C MPOVAB : Température des murs C MPOVAC : Aire de la surface de contact CELL/WALL C TYPE = 'CHPOINT ' CALL ACMO(MTAB5,'ECHAC',TYPE,MCHPOA1) IF (IERR.NE.0) RETURN CALL REDUIR(MCHPOA1,IPT2,MCHPOA) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPOA,MPOVAA,TYPS,IGEO1) IF (IERR.NE.0) RETURN C TYPE = 'CHPOINT ' CALL ACMO(MTAB2,'TWAL',TYPE,MCHPOB) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPOB,MPOVAB,TYPS,IGEO1) IF (IGEO1.NE.IPT3) THEN INDIC = 1 NBCOMP = -1 CALL QUEPOI(MCHPOB,IPT3,INDIC,NBCOMP,NOMTOT) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPOB,MPOVAB,TYPS,IGEO1) ENDIF C TYPE = 'CHPOINT ' CALL ACMO(MTAB5,'AREAC',TYPE,MCHPOC1) IF (IERR.NE.0) RETURN CALL REDUIR(MCHPOC1,IPT2,MCHPOC) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPOC,MPOVAC,TYPS,IGEO1) IF (IERR.NE.0) RETURN C C- Evaluation du coefficient d'échange en paroi C- et du débit de condensation C IF (ICOR.EQ.1 .OR. ICOR.EQ.2) THEN C C MPOVAD : Facteur correctif du coef d'échange pour relaxaion béton C TYPE = 'CHPOINT ' CALL ACMO(MTAB6,'UCHI',TYPE,MCHPOD1) IF (IERR.NE.0) RETURN CALL REDUIR(MCHPOD1,IPT2,MCHPOD) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPOD,MPOVAD,TYPS,IGEO1) IF (IERR.NE.0) RETURN C C MPOUT1 : Coefficient d'échange global en paroi C MPOUT2 : Débit de condensation / flux thermique C MPOUT3 : Enthalpie liquide C CALL UCHIDA(ICOR,IPT1,IPT2,IPT3,IPT4, & MPOVA7,MPOVA3,MPOVA4,MPOVAA,MPOVA1, & MPOVA8,MPOVA9,MPOVA2,MPOVAB,MPOVAC, & MPOVAD,HMAX,BETA,GAMA,TTAG,TIME2,TAGA, & MPOUT1,MPOUT2,MPOUT3) C ELSE C C MPOVAD : Ancien flux thermique global C TYPE = 'CHPOINT ' CALL ACMO(MTAB2,'QW',TYPE,MCHPOD1) IF (IERR.NE.0) RETURN CALL REDUIR(MCHPOD1,IPT2,MCHPOD) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPOD,MPOVAD,TYPS,IGEO1) IF (IERR.NE.0) RETURN C MTYPI = 'MOT ' MTYPR = 'FLOTTANT' CALL ACCTAB(MTAB6,MTYPI,IVALI,XVALI,'GRAVITY',LOGI,IRETI, & MTYPR,IVALR,G1,CHARR,LOGR,IRETR) IF (IERR.NE.0) RETURN C C MPODV1 : Coeff de diffusion de la vapeur dans le mélange C CALL ECROBJ('TABLE ',MTAB1) CALL TODIFF CALL LIROBJ('CHPOINT ',MCHDV1,1,IRET) IF (IERR.NE.0) RETURN CALL LRCHT(MCHDV1,MPODV1,TYPS,IGEO1) IF (IGEO1.NE.IPT1) THEN INDIC = 1 NBCOMP = -1 CALL QUEPOI(MCHDV1,IPT1,INDIC,NBCOMP,NOMTOT) IF (IERR.NE.0) RETURN CALL LRCHT(MCHDV1,MPODV1,TYPS,IGEO1) ENDIF C C MPOMIA : Lambda du mélange C MPOMIB : Mu du mélange C MPOMIC : Nu du mélange C MPOMID : Constante des gaz parfait des incondensables C MPOMIE : Densité des incondensables C CALL TOMIXT(MTAB2,MTAB3,MTAB6,IPT1,MPOVA3, & MPOMIA,MPOMIB,MPOMIC,MPOMID,MPOMIE) C CALL CHILTO(IPT1,IPT2,IPT3,IPT4, & MPOVA1,MPOVA2,MPOVA3,MPOVA7,MPOVA8,MPOVA9, & MPOVAA,MPOVAB,MPOVAC,MPOVAD, & MPOMIA,MPOMIC,MPOMID,MPODV1, & G1,HMAX, & MPOUT1,MPOUT2,MPOUT3) C ENDIF C C- Relaxation du coeff d'échange global et du débit de condensation C C MPOVAE : Ancien Coefficient d'échange global en paroi C MPOVAF : Ancien Débit de condensation / flux thermique C TYPE = 'CHPOINT ' CALL ACMO(MTAB2,'ECHA',TYPE,MCHPOE1) IF (IERR.NE.0) RETURN CALL REDUIR(MCHPOE1,IPT2,MCHPOE) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPOE,MPOVAE,TYPS,IGEO1) IF (IERR.NE.0) RETURN C TYPE = 'CHPOINT ' CALL ACMO(MTAB2,'ALAT',TYPE,MCHPOF1) IF (IERR.NE.0) RETURN CALL REDUIR(MCHPOF1,IPT2,MCHPOF) IF (IERR.NE.0) RETURN CALL LRCHT(MCHPOF,MPOVAF,TYPS,IGEO1) IF (IERR.NE.0) RETURN C SEGACT IPT2 NBLAY = IPT2.NUM(/2) SEGDES IPT2 DO 10 I=1,NBLAY MPOUT1.VPOCHA(I,1) = RELINT * MPOUT1.VPOCHA(I,1) & + (1.D0 - RELINT) * MPOVAE.VPOCHA(I,1) MPOUT2.VPOCHA(I,1) = RELINT * MPOUT2.VPOCHA(I,1) & + (1.D0 - RELINT) * MPOVAF.VPOCHA(I,1) 10 CONTINUE C C- Ibid chpo contenant le coefficient d'échange global C SEGINI, MCHPOI=MCHPO1 NC = 1 SEGINI MSOUPO IPCHP(1) = MSOUPO NOCOMP(1) = 'SCAL' IGEOC = IPT2 IPOVAL = MPOUT1 NOHARM(1) = NIFOUR SEGDES MCHPOI,MSOUPO,MPOUT1 CALL ECROBJ('CHPOINT',MCHPOI) C C- Ibid chpo contenant le débit de condensation C SEGINI, MCHPOI=MCHPO1 NC = 1 SEGINI MSOUPO IPCHP(1) = MSOUPO NOCOMP(1) = 'SCAL' IGEOC = IPT2 IPOVAL = MPOUT2 NOHARM(1) = NIFOUR SEGDES MCHPOI,MSOUPO,MPOUT2 CALL ECROBJ('CHPOINT',MCHPOI) C C- Ibid chpo contenant l'enthalpie liquide C SEGINI, MCHPOI=MCHPO1 NC = 1 SEGINI MSOUPO IPCHP(1) = MSOUPO NOCOMP(1) = 'SCAL' IGEOC = IPT2 IPOVAL = MPOUT3 NOHARM(1) = NIFOUR SEGDES MCHPOI,MSOUPO,MPOUT3 CALL ECROBJ('CHPOINT',MCHPOI) C C Menage des chpo utilisé pour le calcul de la condensation C SEGDES MPOVAA,MPOVAB,MPOVAC,MPOVAD,MPOVAE ENDIF C --------------------------------------------------------------------C C FIN CALCUL DE LA CONDENSATION C --------------------------------------------------------------------C C C- Création/remplissage du chpo contenant le titre vapeur C SEGINI, MCHPOI=MCHPO1 NC = 1 SEGINI MSOUPO IPCHP(1) = MSOUPO NOCOMP(1) = 'SCAL' IGEOC = IPT1 IPOVAL = MPOVA6 NOHARM(1) = NIFOUR SEGDES MCHPOI,MSOUPO,MPOVA6 CALL ECROBJ('CHPOINT',MCHPOI) C C- Ibid chpo contenant Tsat C SEGINI, MCHPOI=MCHPO1 NC = 1 SEGINI MSOUPO IPCHP(1) = MSOUPO NOCOMP(1) = 'SCAL' IGEOC = IPT1 IPOVAL = MPOVA9 NOHARM(1) = NIFOUR SEGDES MCHPOI,MSOUPO,MPOVA9 CALL ECROBJ('CHPOINT',MCHPOI) C C- Ménage C SEGDES MPOVA1,MPOVA2,MPOVA3,MPOVA4,MPOVA5 SEGSUP MPOVA7,MPOVA8 C RETURN END