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 USRAY2 C ***************** C -------------------------------------------------------------- & ( IDBIA0 , IDBRA0 , & NDIM , NCELET , NCEL , NFAC , NFABOR , NFML , NPRFML , & NNOD , LNDFAC , LNDFBR , NCELBR , & NVAR , NSCAL , IPHAS , & NIDEVE , NRDEVE , NITUSE , NRTUSE , & IFACEL , IFABOR , IFMFBR , IFMCEL , IPRFML , ITYPFB , & IPNFAC , NODFAC , IPNFBR , NODFBR , C & ICODCL , IZFRDP , ISOTHP , C & TMIN , TMAX , TX , C & IDEVEL , ITUSER , IA , & XYZCEN , SURFAC , SURFBO , CDGFAC , CDGFBO , XYZNOD , VOLUME , & DT , RTP , RTPA , PROPCE , PROPFA , PROPFB , RCODCL , & COEFA , COEFB , & W1 , W2 , W3 , W4 , W5 , W6 , & RDEVEL , RTUSER , C & TPAROP , QINCID , HFCNVP , FLCNVP , & XLAMP , EPAP , EPSP , TEXTP , TINTP , C & RA ) C -------------------------------------------------------------- C*********************************************************************** C FONCTION : C ---------- c@foncb CFONC CFONC SOUS-PROGRAMME DU MODULE DE RAYONNEMENT : CFONC ----------------------------------------- CFONC CFONC CARACTERISTIQUES ET COMPORTEMENT RADIATIF DES FACES DE PAROI CFONC CFONC Ce sous-programme est appele autant de fois qu'il y a de phases CFONC pour lesquelles il faut faire un calcul de rayonnement CFONC semi-transparent CFONC CFONC IPHAS contient le numero absolu de la phase concernee CFONC CFONC CFONC CFONC EXTERIEUR PAROI DOMAINE FLUIDE CFONC | | CFONC | | CFONC | | CFONC | EPSP Qincid<--|<----- Qincid [flux incident] CFONC | | CFONC | [absorption] | CFONC | | CFONC | |-----> (1-EPSP) Qincid [reflexion] CFONC | | CFONC | | CFONC | | 4 CFONC | |-----> EPSP sigma Tparop [emission] CFONC | | CFONC | | CFONC | | CFONC | [conduction] | .....o Tfluide [convection] CFONC | | . CFONC | XLAMP | . Hfluide CFONC | | . CFONC | ...o.. CFONC | .. | Tparop (temperature en paroi) CFONC | . | CFONC | .. | CFONC | . | CFONC | .. | CFONC | . | CFONC o... | CFONC Textp| | CFONC | | CFONC |<------------->| CFONC | EPAP | CFONC | | CFONC CFONC CFONC LE CALCUL DES TEMPERATURES EST REALISEE PAR UN BILAN DE FLUX CFONC COMME SUIT : CFONC CFONC Q = Q + (Qrayt - Qrayt ) CFONC conduction convection absorption emission CFONC CFONC SOIT (flux positif si sortant du domaine de calcul) : CFONC CFONC XLAMP CFONC -----(Tparop-Textp) = CFONC EPAP CFONC 4 CFONC Hfluide (Tfluide-Tparop) + EPSP (QINCID - SIGMA Tparop ) CFONC CFONC CFONC CORPS EPSP CFONC ------------------------------------ CFONC acier poli 0,06 CFONC acier oxydé 0,80 CFONC aceir rugueux 0,94 CFONC aluminium poli 0,04 CFONC aluminium oxydé (intérieur) 0,09 CFONC aluminium oxydé (air humide) 0,90 CFONC brique 0,93 CFONC béton 0,93 CFONC papier 0,8 à 0,9 CFONC eau 0,96 CFONC CFONC c@fonce C----------------------------------------------------------------------- c@argub CARGU ARGUMENTS 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 ! NDIM ! E ! -> ! DIMENSION DE L'ESPACE ! CARGU ! NCELET ! E ! -> ! NOMBRE D'ELEMENTS HALO COMPRIS ! CARGU ! NCEL ! E ! -> ! NOMBRE D'ELEMENTS ACTIFS ! CARGU ! NFAC ! E ! -> ! NOMBRE DE FACES INTERNES ! CARGU ! NFABOR ! E ! -> ! NOMBRE DE FACES DE BORD ! CARGU ! NFML ! E ! -> ! NOMBRE DE FAMILLES D ENTITES ! CARGU ! NPRFML ! E ! -> ! NOMBRE DE PROPRIETESE DES FAMILLES ! CARGU ! NNOD ! E ! -> ! NOMBRE DE SOMMETS ! CARGU ! LNDFAC ! E ! -> ! LONGUEUR DU TABLEAU NODFAC (OPTIONNEL! CARGU ! LNDFBR ! E ! -> ! LONGUEUR DU TABLEAU NODFBR (OPTIONNEL! CARGU ! NCELBR ! E ! -> ! NOMBRE D'ELEMENTS AYANT AU MOINS UNE ! CARGU ! ! ! ! FACE DE BORD ! CARGU ! NVAR ! E ! -> ! NOMBRE TOTAL DE VARIABLES ! CARGU ! NSCAL ! E ! -> ! NOMBRE TOTAL DE SCALAIRES ! CARGU ! IPHAS ! E ! -> ! NUMERO DE LA PHASE COURANTE ! CARGU ! NIDEVE NRDEVE! E ! -> ! LONGUEUR DE IDEVEL RDEVEL ! CARGU ! NITUSE NRTUSE! E ! -> ! LONGUEUR DE ITUSER RTUSER ! CARGU ! IFACEL ! TE ! -> ! ELEMENTS VOISINS D'UNE FACE INTERNE ! CARGU ! (2, NFAC) ! ! ! ! CARGU ! IFABOR ! TE ! -> ! ELEMENT VOISIN D'UNE FACE DE BORD ! CARGU ! (NFABOR) ! ! ! ! CARGU ! IFMFBR ! TE ! -> ! NUMERO DE FAMILLE D'UNE FACE DE BORD ! CARGU ! (NFABOR) ! ! ! ! CARGU ! IFMCEL ! TE ! -> ! NUMERO DE FAMILLE D'UNE CELLULE ! CARGU ! (NCELET) ! ! ! ! CARGU ! IPRFML ! TE ! -> ! PROPRIETES D'UNE FAMILLE ! CARGU ! NFML ,NPRFML! ! ! ! CARGU ! ITYPFB(NFABOR! TE ! -> ! TYPE DES FACES DE BORD ! CARGU ! NPHAS )! ! ! ! CARGU ! IPNFAC ! TE ! -> ! POSITION DU PREMIER NOEUD DE CHAQUE ! CARGU ! (LNDFAC) ! ! ! FACE INTERNE DANS NODFAC (OPTIONNEL)! CARGU ! NODFAC ! TE ! -> ! CONNECTIVITE FACES INTERNES/NOEUDS ! CARGU ! (NFAC+1) ! ! ! (OPTIONNEL) ! CARGU ! IPNFBR ! TE ! -> ! POSITION DU PREMIER NOEUD DE CHAQUE ! CARGU ! (LNDFBR) ! ! ! FACE DE BORD DANS NODFBR (OPTIONNEL)! CARGU ! NODFBR ! TE ! -> ! CONNECTIVITE FACES DE BORD/NOEUDS ! CARGU ! (NFABOR+1) ! ! ! (OPTIONNEL) ! CARGU ! ICODCL ! TE ! -> ! CODE DE CONDITION LIMITES AUX FACES ! CARGU ! (NFABOR,NVAR! ! ! DE BORD ! CARGU ! ! ! ! = 1 -> DIRICHLET ! CARGU ! ! ! ! = 3 -> DENSITE DE FLUX ! CARGU ! ! ! ! = 4 -> GLISSEMT ET U.n=0 (VITESSE) ! CARGU ! ! ! ! = 5 -> FROTTEMT ET U.n=0 (VITESSE) ! CARGU ! ! ! ! = 9 -> ENTREE/SORTIE LIBRE (VITESSE! CARGU ! ! ! ! ENTRANTE EVENTUELLE BLOQUEE ! CARGU ! IZFRDP(NFABOR! TE ! <- ! NUMERO DE ZONE POUR LES FACES DE BORD! CARGU ! ISOTHP(NFABOR! TE ! <- ! LISTE DES FRONTIERES ISOTHERMES ! CARGU ! IDEVEL(NIDEVE! TE ! <-> ! TAB ENTIER COMPLEMENTAIRE DEVELOPEMT ! CARGU ! ITUSER(NITUSE! TE ! <-> ! TAB ENTIER COMPLEMENTAIRE UTILISATEUR! CARGU ! IA(*) ! TR ! - ! MACRO TABLEAU ENTIER ! CARGU ! XYZCEN ! TR ! -> ! POINT ASSOCIES AUX VOLUMES DE CONTROL! CARGU ! (NDIM,NCELET ! ! ! ! CARGU ! SURFAC ! TR ! -> ! VECTEUR SURFACE DES FACES INTERNES ! CARGU ! (NDIM,NFAC) ! ! ! ! CARGU ! SURFBO ! TR ! -> ! VECTEUR SURFACE DES FACES DE BORD ! CARGU ! (NDIM,NFABOR)! ! ! ! CARGU ! CDGFAC ! TR ! -> ! CENTRE DE GRAVITE DES FACES INTERNES ! CARGU ! (NDIM,NFAC) ! ! ! ! CARGU ! CDGFBO ! TR ! -> ! CENTRE DE GRAVITE DES FACES DE BORD ! CARGU ! (NDIM,NFABOR)! ! ! ! CARGU ! XYZNOD ! TR ! -> ! COORDONNES DES NOEUDS (OPTIONNEL) ! CARGU ! (NDIM,NNOD) ! ! ! ! CARGU ! VOLUME ! TR ! -> ! VOLUME D'UN DES NCELET ELEMENTS ! CARGU ! (NCELET ! ! ! ! CARGU ! DT(NCELET) ! TR ! -> ! PAS DE TEMPS ! CARGU ! RTP, RTPA ! TR ! -> ! VARIABLES DE CALCUL AU CENTRE DES ! CARGU ! (NCELET,*) ! ! ! CELLULES (INSTANT COURANT OU PREC)! CARGU ! PROPCE ! TR ! -> ! PROPRIETES PHYSIQUES AU CENTRE DES ! CARGU ! (NCELET,*) ! ! ! CELLULES ! CARGU ! PROPFA ! TR ! -> ! PROPRIETES PHYSIQUES AU CENTRE DES ! CARGU ! (NFAC,*) ! ! ! FACES INTERNES ! CARGU ! PROPFB ! TR ! -> ! PROPRIETES PHYSIQUES AU CENTRE DES ! CARGU ! (NFABOR,*) ! ! ! FACES DE BORD ! CARGU ! RCODCL ! TR ! -> ! VALEUR DES CONDITIONS AUX LIMITES ! CARGU ! (NFABOR,NVAR! ! ! AUX FACES DE BORD ! CARGU ! ! ! ! RCODCL(1) = VALEUR DU DIRICHLET ! CARGU ! ! ! ! RCODCL(2) = VALEUR DU COEF. D'ECHANGE! CARGU ! ! ! ! EXT. (INFINIE SI PAS D'ECHANGE) ! CARGU ! ! ! ! RCODCL(3) = VALEUR DE LA DENSITE DE ! CARGU ! ! ! ! FLUX (NEGATIF SI GAIN) W/m2 ! CARGU ! ! ! ! POUR LES VITESSES (VISTL+VISCT)*GRADU! CARGU ! ! ! ! POUR LA PRESSION DT*GRADP! CARGU ! ! ! ! POUR LES SCALAIRES ! CARGU ! ! ! ! CP*(VISCLS+VISCT/SIGMAS)*GRADT! CARGU ! COEFA, COEFB ! TR ! -> ! CONDITIONS AUX LIMITES AUX ! CARGU ! (NFABOR,*) ! ! ! FACES DE BORD ! CARGU ! W1...6(NCELET! TR ! - ! TABLEAU DE TRAVAIL ! CARGU ! TPAROP(NFABOR! TR ! -> ! TEMPERATURE DE PAROI EN KELVIN ! CARGU ! QINCID(NFABOR! TR ! -> ! DENSITE DE FLUX RADIATIF AUX BORDS ! CARGU ! HFCNVP(NFABOR! TR ! -> ! COEFFICIENT D'ECHANGE FLUIDE AUX ! CARGU ! ! ! ! FACES DE BORD ! CARGU ! FLCNVP(NFABOR! TR ! -> ! DENSITE DE FLUX CONVECTIF AUX FACES ! CARGU ! ! ! ! DE BORD ! CARGU ! XLAMP(NFABOR)! TR ! <- ! COEFFICIENT DE CONDUCTIVITE THERMIQUE! CARGU ! ! ! ! DES FACETTES DE PAROI (W/m/K) ! CARGU ! EPAP(NFABOR) ! TR ! <- ! EPAISSEUR DES FACETTES DE PAROI (m) ! CARGU ! EPSP (NFABOR)! TR ! <- ! EMISSIVITE DES FACETTES DE BORD ! CARGU ! TEXTP(NFABOR)! TR ! <- ! TEMPERATURE DE BORD EXTERNE ! CARGU ! ! ! ! EN KELVIN ! CARGU ! TINTP(NFABOR)! TR ! <- ! TEMPERATURE DE BORD INTERNE ! CARGU ! ! ! ! EN KELVIN ! CARGU ! RDEVEL(NRDEVE! TR ! <-> ! TAB REEL COMPLEMENTAIRE DEVELOPEMT ! CARGU ! RTUSER(NRTUSE! TR ! <-> ! TAB REEL COMPLEMENTAIRE UTILISATEUR ! CARGU ! RA(*) ! TR ! - ! MACRO TABLEAU REEL ! 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*********************************************************************** C IMPLICIT NONE C C*********************************************************************** C DONNEES EN COMMON C*********************************************************************** C INCLUDE "paramx.h" INCLUDE "numvar.h" INCLUDE "entsor.h" INCLUDE "optcal.h" INCLUDE "cstphy.h" INCLUDE "cstnum.h" INCLUDE "pointe.h" INCLUDE "parall.h" INCLUDE "period.h" INCLUDE "radiat.h" INCLUDE "ihmpre.h" C C C*********************************************************************** C C ARGUMENTS C INTEGER IDBIA0 , IDBRA0 INTEGER NDIM , NCELET , NCEL , NFAC , NFABOR INTEGER NFML , NPRFML INTEGER NNOD , LNDFAC , LNDFBR , NCELBR INTEGER NVAR , NSCAL , IPHAS INTEGER NIDEVE , NRDEVE , NITUSE , NRTUSE C INTEGER IFACEL(2,NFAC) , IFABOR(NFABOR) INTEGER IFMFBR(NFABOR) , IFMCEL(NCELET) INTEGER IPRFML(NFML,NPRFML) , ITYPFB(NFABOR,*) INTEGER IPNFAC(NFAC+1), NODFAC(LNDFAC) INTEGER IPNFBR(NFABOR+1), NODFBR(LNDFBR) INTEGER IDEVEL(NIDEVE), ITUSER(NITUSE), IA(*) C INTEGER ICODCL(NFABOR,NVAR) INTEGER IZFRDP(NFABOR), ISOTHP(NFABOR) C DOUBLE PRECISION TMIN , TMAX , TX C DOUBLE PRECISION XYZCEN(NDIM,NCELET) DOUBLE PRECISION SURFAC(NDIM,NFAC), SURFBO(NDIM,NFABOR) DOUBLE PRECISION CDGFAC(NDIM,NFAC), CDGFBO(NDIM,NFABOR) DOUBLE PRECISION XYZNOD(NDIM,NNOD), VOLUME(NCELET) DOUBLE PRECISION DT(NCELET), RTP(NCELET,*), RTPA(NCELET,*) DOUBLE PRECISION PROPCE(NCELET,*) DOUBLE PRECISION PROPFA(NFAC,*), PROPFB(NFABOR,*) DOUBLE PRECISION RCODCL(NFABOR,NVAR,3) DOUBLE PRECISION COEFA(NFABOR,*), COEFB(NFABOR,*) C DOUBLE PRECISION W1(NCELET), W2(NCELET), W3(NCELET) DOUBLE PRECISION W4(NCELET), W5(NCELET), W6(NCELET) C DOUBLE PRECISION TPAROP(NFABOR), QINCID(NFABOR) DOUBLE PRECISION HFCNVP(NFABOR),FLCNVP(NFABOR) DOUBLE PRECISION XLAMP(NFABOR), EPAP(NFABOR) DOUBLE PRECISION EPSP(NFABOR) DOUBLE PRECISION TEXTP(NFABOR), TINTP(NFABOR) C DOUBLE PRECISION RDEVEL(NRDEVE), RTUSER(NRTUSE), RA(*) C C C VARIABLES LOCALES C INTEGER IDEBIA , IDEBRA INTEGER IFAC , IFML , ICOUL , IVAR, IOK 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) C =========== ENDIF C 9000 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : ARRET A L''ENTREE DES DONNEES ',/, &'@ ********* ',/, &'@ LE SOUS-PROGRAMME UTILISATEUR usray2 DOIT ETRE COMPLETE',/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) C C C TEST_A_ENLEVER_POUR_UTILISER_LE_SOUS_PROGRAMME_FIN C======================================================================= C 0. GESTION MEMOIRE C Aucune modification requise C======================================================================= C IDEBIA = IDBIA0 IDEBRA = IDBRA0 C C======================================================================= C 1. NUMERO DE LA VARIABLE THERMIQUE C C Noter que TKELVI, disponible ici, contient 273.16D0 C Noter que SIG , disponible ici, contient 5.6703D-8 C======================================================================= C C IVAR est le numero de la variable thermique. C IVAR = ISCA(ISCALT(IPHAS)) C C C======================================================================= C 2. VALEURS MIN ET MAX ADMISSIBLES POUR LA TEMPERATURE DE PAROI C (clipping) C C C C EN KELVIN C C C (quel que soit le choix fait pour la variable thermique) C C C C C TMIN et TMAX sont respectivement les valeurs minimale et maximale C autorisees pour les temperatures de paroi. A chaque nouveau C calcul de temperature de paroi, on verifie qu'il n'y a pas C depassement, sinon il y a clipping. C C L'exemple ci-dessous correspond a un clipping tres peu contraignant. C (valeurs par defaut) C C======================================================================= C TMIN = 0.D0 TMAX = GRAND + TKELVI C C======================================================================= C 3. ZONES FRONTIERE ET PROPRIETES DES PAROIS C======================================================================= C C C DEFINITION DES ZONES FRONTIERES C =============================== C C On definit des zones de faces de paroi, et on leur affecte un type. C Ceci permet d'appliquer les conditions aux limites et de realiser C des bilans en traitant separement les differents sous ensembles C ainsi constitues (on peut ainsi connaitre par exemple le flux au C travers des differentes zones definies par l'utilisateur). C C Pour chaque face de bord IFAC (pas uniquement les faces de paroi), C l'utilisateur definit selon son propre choix un numero de zone C frontiere IZFRDP(IFAC) a partir C de la couleur des faces de bord, C ou, plus generalement, de leurs proprietes (couleurs, groupes...), C ou des conditions aux limites fixees dans usclim, C ou meme de leur coordonnees. C Attention : il est indispensable que TOUTES les faces de bord C aient ete affectees a une zone. C Le numero des zones (la valeur de IZFRDP(IFAC)) est C arbitrairement choisi par l'utilisateur, mais doit etre un C entier strictement positif et inferieur ou egal a NBZRDM C (valeur fixee en parametre dans radiat.h, a ne pas modifier). C C C C PROPRIETES DES PAROIS C ===================== C C C ATTENTION : C --------- C C L'unite des temperatures est le KELVIN C C quel que soit le choix de resolution fait par ailleurs C C C C DONNEES OBLIGATOIRES : C -------------------- C C ISOTHP = ITPIMP C repere les facettes de paroi a temperature imposee C ("Indicateur Temperature Paroi IMPosee" ou "isotherme") C la temperature a imposer est TINTP(Kelvin) C = IPGRNO ou IPREFL C repere une facette de paroi dont il faut calculer C la temperature (un bilan de flux sera fait). C IPGRNO : Indicateur de Paroi GRise ou NOire (EPSP > 0) C IPREFL : Indicateur de Paroi REFLechissante (EPSP = 0) C = IFGRNO ou IFREFL C repere une facette de paroi pour laquelle on impose un C flux (conductif en paroi ou total sur le fluide) C IFGRNO : Indicateur de Flux en paroi GRise ou NOire C IFREFL : Indicateur de Flux en paroi REFLechissante C C TINTP = Temperature de peau interne (KELVIN) C sert a l'initialisation de TPAROP en debut de calcul C (lorsqu'il n'y a pas de fichier suite rayonnement) C Si ISOTHP = ITPIMP, la valeur de TPAROP est egale a C celle imposee dans TINTP a chaque pas de temps C Dans les autres cas, TINTP ne sert qu'a l'initialisation. C C C RENSEIGNEMENTS COMLEMENTAIRES A FOURNIR SUIVANT ISOTHP (VOIR EXEMPLES) C -------------------------------------------------------------------- C C RCODCL = valeur de flux (voir USCLIM pour la definition) C C EPSP = Emissivite aux facettes de paroi (dans l'intervalle [0;1]) C C XLAMP = Conductivite thermique des parois (W/m/K) C > 0 quand il est renseigne C C EPAP = Epaisseur des parois (m) C > 0 quand il est renseigne C C TEXTP = Temperature de peau externe en KELVIN C > 0 quand il est renseigne C C C C EXEMPLE C ======= C C Attention a la coherence avec USCLIM C C Dans cet EXEMPLE, C ------- C C Les faces de paroi (IPAROI dans USCLIM), sont reparties en C 5 sous ensembles (zones) reperes par IFRFAC(IFAC) variant de C 51 a 55 (arbitraire) a chacun desquels on applique une C condition (ISOTHP) differente. C Les autres faces de bord (entree, sortie, sous-ensembles C arbitraires sur lesquels on souhaite voir imprimer des C informations) sont repartis en zones reperees C par IFRFAC(IFAC), dont la valeur peut etre arbitrairement C choisie (>0 et Exemple 1 : C Pour les faces PAROI de couleur 1 : C Profil de temperature imposee C ------------------------------------ C IF ( ITYPFB(IFAC,IPHAS).EQ.IPAROI .AND. ICOUL.EQ.1 ) THEN C C Numero de zone IZFRDP(IFAC) = 51 C C Type de condition : Paroi grise ou noire et C Profil de temperature imposee TINTP ISOTHP(IFAC) = ITPIMP C C Donnees complementaires necessaires et suffisantes C Emissivite EPSP (IFAC) = 0.1D0 C Temperature de paroi imposee ("Profil" simple ici = 473.16 K) TINTP (IFAC) = 200.D0 + TKELVI C C C C ------------------------------------------------------------------- C--> Exemple 2 : C Pour les faces PAROI de couleur 2 : C Paroi grise ou noire et C Profil de temperature imposee TEXTP C ------------------------------------ C ELSEIF ( ITYPFB(IFAC,IPHAS).EQ.IPAROI .AND. ICOUL.EQ.2 ) THEN C C Numero de zone IZFRDP(IFAC) = 52 C C Type de condition : Paroi grise ou noire et C Profil de temperature imposee TEXTP ISOTHP(IFAC) = IPGRNO C C Donnees complementaires necessaires et suffisantes C Emissivite (>0) EPSP (IFAC) = 0.9D0 C Conductivite (W/m/K) XLAMP (IFAC) = 3.0D0 C Epaisseur (m) EPAP (IFAC) = 0.1D0 C Temperature externe imposee : 473.16 K TEXTP (IFAC) = 200.D0 + TKELVI C Temperature de paroi initiale : 473.16 K TINTP (IFAC) = 200.D0 + TKELVI C C C C ------------------------------------------------------------------- C--> Exemple 3 : C Pour les faces PAROI de couleur 3 : C Paroi reflechissante (EPSP = 0) et C Profil de temperature imposee TEXTP C ------------------------------------ C ELSEIF ( ITYPFB(IFAC,IPHAS).EQ.IPAROI .AND. ICOUL.EQ.3 ) THEN C C Numero de zone IZFRDP(IFAC) = 53 C C Type de condition : Paroi reflechissante (EPSP = 0) et C Profil de temperature imposee TEXTP ISOTHP(IFAC) = IPREFL C C Donnees complementaires necessaires et suffisantes C Conductivite (W/m/K) XLAMP (IFAC) = 3.0D0 C Epaisseur (m) EPAP (IFAC) = 0.1D0 C Temperature externe imposee : 473.16 K TEXTP (IFAC) = 200.D0 + TKELVI C Temperature de paroi initiale : 473.16 K TINTP (IFAC) = 200.D0 + TKELVI C C C C ------------------------------------------------------------------- C--> Exemple 4 : C Pour les faces PAROI de couleur 4 : C Paroi grise ou noire et C Flux de conduction impose dans la paroi C C XLAMP C -----(Tparop-Textp) = Flux de conduction impose (W/m2) C EPAP C = RODCL(IFAC,IVAR,3) C C Si le flux de conduction est nul la paroi est adiabatique C Le tableau RCODCL(IFAC,IVAR,3) recoit la valeur du flux. C Densite de flux (< 0 si gain pour le fluide) C Reprise de USCLIM : C Pour les temperatures T, en Watt/m2 : C RCODCL(IFAC,IVAR,3) = CP*(VISCLS+VISCT/SIGMAS) * GRAD T C Pour les enthalpies H, en Watt/m2 : C RCODCL(IFAC,IVAR,3) = (VISCLS+VISCT/SIGMAS) * GRAD H C ------------------------------------ C ELSEIF ( ITYPFB(IFAC,IPHAS).EQ.IPAROI .AND. ICOUL.EQ.4 ) THEN C C Numero de zone IZFRDP(IFAC) = 54 C C Type de condition : Paroi grise ou noire et C Flux de conduction impose dans la paroi ISOTHP(IFAC) = IFGRNO C C Donnees complementaires necessaires et suffisantes C Emissivite (>0) EPSP (IFAC) = 0.9D0 C Flux de conduction (W/m2) RCODCL(IFAC,IVAR,3) = 0.D0 C Temperature de paroi initiale : 473.16 K TINTP (IFAC) = 200.D0 + TKELVI C C C C ------------------------------------------------------------------- C--> Exemple 5 : C Pour les faces PAROI de couleur 5 : C Paroi reflechissante (EPSP = 0) et C Flux de conduction impose dans la paroi C C Equivalent a imposer une condition de flux au fluide C C XLAMP C -----(Tparop-Textp) = Flux de conduction impose ET EPSP = 0 C EPAP C = RODCL(IFAC,IVAR,3) C C Si le flux de conduction est nul la paroi est adiabatique C Le tableau RCODCL(IFAC,IVAR,3) contient la valeur du flux (W/m2) C imposee comme condition au limite pour le fluide C Densite de flux (< 0 si gain pour le fluide) C Reprise de USCLIM : C Pour les temperatures T, en Watt/m2 : C RCODCL(IFAC,IVAR,3) = CP*(VISCLS+VISCT/SIGMAS) * GRAD T C Pour les enthalpies H, en Watt/m2 : C RCODCL(IFAC,IVAR,3) = (VISCLS+VISCT/SIGMAS) * GRAD H C ------------------------------------ C ELSEIF ( ITYPFB(IFAC,IPHAS).EQ.IPAROI .AND. ICOUL.EQ.5 ) THEN C C Numero de zone IZFRDP(IFAC) = 55 C C Type de condition : Paroi reflechissante (EPSP = 0) et C Flux de conduction impose dans la paroi ISOTHP(IFAC) = IFREFL C C Donnees complementaires necessaires et suffisantes C Flux de conduction (W/m2) RCODCL(IFAC,IVAR,3) = 0.D0 C Temperature de paroi initiale : 473.16 K TINTP (IFAC) = 200.D0 + TKELVI C C C C C C C C C C ATTENTION C C C C C C C C C C C C ------------------------------------------------------------------- C--> Pour les faces non paroi : reperage obligatoire de la zone C Les informations (flux par exemple) seront donnees zone par zone C et il est donc conseille de regrouper entre elles les faces C de meme nature. C C PAR SECURITE C DANS CE SOUS-PROGRAMME C ON DEMANDE A L'UTILISATEUR DE REPERER TOUTES LES FACES C PAROI OU NON C C (il est indispensable d'affecter une valeur a tous les C IZFRDP(IFAC), IFAC = 1, NFABOR) C C C C C ------------------------------------ C ELSEIF ( ITYPFB(IFAC,IPHAS).EQ.ISOLIB ) THEN IZFRDP(IFAC) = 61 ELSEIF ( ITYPFB(IFAC,IPHAS).EQ.IENTRE.AND. & CDGFBO(2,IFAC) .GT.0.D0 ) THEN IZFRDP(IFAC) = 62 ELSEIF ( ITYPFB(IFAC,IPHAS).EQ.IENTRE.AND. & CDGFBO(2,IFAC) .LE.0.D0 ) THEN IZFRDP(IFAC) = 63 ELSEIF ( ITYPFB(IFAC,IPHAS).EQ.ISYMET ) THEN IZFRDP(IFAC) = 64 C C C C ------------------------------------------------------------------- C--> Exemple 7 : C Verification que toutes les faces de paroi ont ete vues C Cette precaution est souhaitable dans tous les cas. C ------------------------------------ C ELSEIF ( ITYPFB(IFAC,IPHAS).EQ.IPAROI ) THEN WRITE(NFECRA,1000)IFAC IOK = IOK + 1 ENDIF C C C C C Fin de la boucle sur les faces de bord C -------------------------------------- C ENDDO C C Stop si des faces ont ete oubliees IF(IOK.NE.0) THEN CALL CSEXIT (1) C =========== ENDIF C C ------- C FORMAT C ------- C C 1000 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : ARRET A L''ENTREE DES DONNEES ',/, &'@ ********* ',/, &'@ LES DONNEES RAYONNEMENT NE SONT PAS RENSEIGNEES POUR ',/, &'@ LA FACE DE PAROI ',I10 ,/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@ Verifier usray2. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) C --- C FIN C --- C C RETURN C END