* ENCEINTE PROCEDUR FD144363 23/12/11 21:15:04 11807
*
* E/ nbit : Nombre de pas de temps
* E/S rxt : Interface avec l'utilisateur
*
'MESS' ' ' ;
'MESS' WWW ;
'MESS' WWW ;
*
* Détection 2D/3D
'SI' ('EGA' idim 2) ;
DIM3D = FAUX ;
'SINO' ;
'SI' ('EGA' idim 3) ;
DIM3D = VRAI ;
'SINO' ;
'FINS' ;
'FINS' ;
*
* Gestion des indices de rxt
*
* listentr = table dont les indices sont ceux autorisés dans rxt
* (est complété durant le décodage par les indices optionnels lus)
* listand = liste des options surchargées par l'utilisateur
* (correspond aux valeurs par défaut modifiées par l'utilisateur)
*
*FD Ne sert à rien ? TPAROIS non pris en compte ?
* listchp = liste des indices pouvant contenir un CHPO (FLOTTANT sinon)
*FD
listentr . 'VERSION' = '' ;
listentr . 'vtf' = '' ;
listentr . 'TF0' = '' ;
listentr . 'PT0' = '' ;
* Relatif à la thermiqe des parois
listentr . 'THERMP' = '' ;
listentr . 'PAROIS' = '' ;
listentr . 'THERCO' = '' ;
listentr . 'vtp' = '' ;
listentr . 'ROCP' = '' ;
listentr . 'LAMBDA' = '' ;
listentr . 'Tp0' = '' ;
listentr . 'ECHAN' = '' ;
listentr . 'ECHEXT' = '' ;
listentr . 'parext' = '' ;
listentr . 'HEXT' = '' ;
listentr . 'TPEXT' = '' ;
listentr . 'TIMP' = '' ;
listentr . 'ECHANP' = '' ;
* Relatif aux E/S fluide
listentr . 'XFIMP' = '' ;
listentr . 'Sorties' = '' ;
listentr . 'Breches' = '' ;
listentr . 'axe' = '' ;
listentr . 'pi' = '' ;
* Table utilisée pour la définition de recombineurs
listentr . 'RECOMB' = '' ;
* Table de travail ajoutées par la procédure
listentr . 'REINIT' = '' ;
listentr . 'TIC' = '' ;
listentr . 'GEO' = '' ;
listentr . 'TBT' = '' ;
* Paramètres numériques / algorithmes
listentr . 'DISCR' = '' ;
listentr . 'KPRE' = '' ;
listentr . 'MAXELPRE' = '' ;
listentr . 'STAB' = '' ;
listentr . 'ALGO' = '' ;
* Paramètres de fonctionnement
listentr . 'CATHARE2' = '' ;
listentr . 'DT0' = '' ;
listentr . 'PERSO' = '' ;
listentr . 'TABPERSO' = '' ;
listentr . 'GRAPH' = '' ;
listentr . 'RENU' = '' ;
listentr . 'TYPINV' = '' ;
listentr . 'IMPR' = '' ;
listentr . 'FRPREC' = '' ;
listentr . 'PPDT' = '' ;
listentr . 'RESIDU' = '' ;
listentr . 'NTIT' = '' ;
listentr . 'TCPT' = '' ;
listentr . 'TKPR' = '' ;
listentr . 'TRESOU' = '' ;
listentr . 'IMPARA' = '' ;
listentr . 'TRTF' = '' ;
listentr . 'TRrvap' = '' ;
listentr . 'TRrhe' = '' ;
listentr . 'TRrh2' = '' ;
listentr . 'TRro2' = '' ;
listentr . 'TRrn2' = '' ;
listentr . 'TRrco2' = '' ;
listentr . 'TRrair' = '' ;
listentr . 'TRrco' = '' ;
* Constituant (air par défaut ) vapeur et incondensables
listentr . 'LOI-ETAT' = '' ;
listentr . 'VAPEUR' = '' ;
listentr . 'YBRO' = '' ;
listentr . 'V1alfa' = '' ;
listentr . 'TAUXcm' = '' ;
listentr . 'HE' = '' ;
listentr . 'H2' = '' ;
listentr . 'O2' = '' ;
listentr . 'N2' = '' ;
listentr . 'CO' = '' ;
listentr . 'CO2' = '' ;
listentr . 'AIR' = '' ;
* Modèles de turbulence
listentr . 'MODTURB' = '' ;
listentr . 'FPAROI' = '' ;
* Modèle de condensation en masse
listentr.'MODCOND' = '' ;
*
* On (re)crée les tables si l'utilisateur le demande où si elles
* n'existent pas (premier passage) -> TPREPA=VRAI
vertytab rxt 'REINIT' 'LOGIQUE' ;
REINIT = rxt . 'REINIT' ;
'SINO' ;
'FINS' ;
vertytab rxt 'TBT' 'TABLE ' ;
vertytab rxt 'GEO' 'TABLE ' ;
TPREPA = FAUX ;
TBT = rxt . 'TBT' ;
GEO = rxt . 'GEO' ;
'SINO' ;
TPREPA = VRAI ;
TBT = 'TABLE' ;
GEO = 'TABLE' ;
rxt . 'GEO' = GEO ;
'FINS' ;
*
* epsi = tolérance pour les maillages (ELIM)
'FINS' ;
*
* ndl = nbre de temps connus
* Tps = dernier temps connu (début du pas de temps)
vertytab rxt 'TIC' 'TABLE ' ;
tic = rxt . 'TIC' ;
'SINO' ;
tic = 'TABLE' 'INCO' ;
rxt . 'TIC' = tic ;
'FINS' ;
'MESS' 'Le calcul demarre a partir du temps' ' ' Tps ;
*
* Liste des Gaz pris en compte
*
*FD A commenter
'FINS' ;
*
*-------------------------------------------------------------
* Les données de l'utilisateur (table rxt) sont décodées,
* vérifiées et dupliquées (tables tbt et geo)
*-------------------------------------------------------------
*
* Conditions initiales
vertytab rxt 'TF0' 'FLOTTANT' ;
vertytab rxt 'PT0' 'FLOTTANT' ;
*
* Maillage fluide
vertytab rxt 'vtf' 'MAILLAGE' ;
vtf = rxt . 'vtf' ;
*
* DT0 = pas de temps
vertytab rxt 'DT0' 'FLOTTANT' ;
tic . 'DT' = rxt . 'DT0' ;
*
* Couplage éventuel avec CATHARE2
TBT . 'CATHARE2' = FAUX ;
vertytab rxt 'CATHARE2' 'LOGIQUE' ;
TBT . 'CATHARE2' = rxt . 'CATHARE2' ;
'FINS' ;
*
* On interdit VERSION = V1
TBT . 'VERSION' = 0 ;
tbvs . 'V0' = 0 ;
tbvs . 'V1' = 1 ;
TBT . 'VERSION' = tbvs . (rxt . 'VERSION') ;
'SI' ('EGA' TBT . 'VERSION' 1) ;
'MESS' ;
'MESS' ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
'MESS' ' ' ;
'MESS' ' ' ;
'MESS' ' Pas de VERSION V1 pour l instant ' ;
'MESS' ' ' ;
'FINS' ;
'FINS' ;
'SI' ('EGA' TBT . 'VERSION' 1) ;
TBT . 'YBRO' = 1.e-4 ;
TBT . 'V1alfa' = 0.8 ;
TBT . 'TAUXcm' = 1. ;
vertytab rxt 'YBRO' 'FLOTTANT' ;
TBT . 'YBRO' = rxt . 'YBRO' ;
'FINS' ;
vertytab rxt 'V1alfa' 'FLOTTANT' ;
TBT . 'V1alfa' = rxt . 'V1alfa' ;
'FINS' ;
vertytab rxt 'TAUXcm' 'FLOTTANT' ;
TBT . 'TAUXcm' = rxt . 'TAUXcm' ;
'FINS' ;
'FINS' ;
*
* On interdit LOI-ETAT = GR
TBT . 'LOI-ETAT' = 'GP' ;
TBT . 'LOI-ETAT' = rxt . 'LOI-ETAT' ;
'SI' ('EGA' TBT . 'LOI-ETAT' 'GR') ;
'MESS' ;
'MESS' ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
'MESS' ' ' ;
'MESS' ' ' ;
'MESS' ' Pas de loi d etat gaz reel pour l instant ' ;
'MESS' ' ' ;
'FINS' ;
'FINS' ;
*
* GRAPH = Logique permettant les dessins
TBT . 'GRAPH' = FAUX ;
vertytab rxt 'GRAPH' 'LOGIQUE ' ;
TBT . 'GRAPH' = rxt . 'GRAPH' ;
'FINS' ;
*
* Niveau d'impression = 0 pour les supprimer et 2 pour le mode DEBUG
TBT . 'nimpr' = 0 ;
TBT . 'IMPR' = 2 ;
vertytab rxt 'IMPR' 'ENTIER' ;
TBT . 'IMPR' = rxt . 'IMPR' ;
'FINS' ;
*
* STAB = coefficient de Stabilisation pour les MACRO
TBT . 'STAB' = 1. ;
vertytab rxt 'STAB' 'FLOTTANT' ;
TBT . 'STAB' = rxt . 'STAB' ;
'FINS' ;
*
* FRPREC = fréquence de recalcul du préconditionnement
vertytab rxt 'FRPREC' 'ENTIER' ;
TBT . 'FRPREC' = rxt . 'FRPREC' ;
'FINS' ;
*
* DETMAT = vrai si on détruit les matrices à la fin du calcul
TBT . 'DETMAT' = VRAI ;
vertytab rxt 'DETMAT' 'LOGIQUE' ;
listentr . 'DETMAT' = '' ;
TBT . 'DETMAT' = rxt . 'DETMAT' ;
'FINS' ;
*
* CORTEMP = vrai si on controle le bilan d'énergie
TBT . 'CORTEMP' = vrai ;
vertytab rxt 'CORTEMP' 'LOGIQUE' ;
listentr . 'CORTEMP' = '' ;
TBT . 'CORTEMP' = rxt . 'CORTEMP' ;
'FINS' ;
*
* CORLIM = vrai si on controle le bilan de masse en incorporant les points de la frontière où sont
* définies les conditions aux limites (sinon ces points sont exclus)
TBT . 'CORLIM' = vrai ;
vertytab rxt 'CORLIM' 'LOGIQUE' ;
listentr . 'CORLIM' = '' ;
TBT . 'CORLIM' = rxt . 'CORLIM' ;
'FINS' ;
corlim = tbt . 'CORLIM' ;
*
* RENU = Type de renumérotation pour les méthodes d'inversion
TBT . 'RENU' = 'SLOA' ;
TBT . 'RENU' = rxt . 'RENU' ;
'FINS' ;
*
* TYPINV = Type d'inversion et paramètres pour les méthodes itératives
* (cf notice KRES)
TBT . 'TYPINV' = 3 ;
vertytab rxt 'TYPINV' 'ENTIER' ;
TBT . 'TYPINV' = rxt . 'TYPINV' ;
'FINS' ;
TBT . 'RESIDU' = 1.E-20 ;
vertytab rxt 'RESIDU' 'FLOTTANT' ;
TBT . 'RESIDU' = rxt . 'RESIDU' ;
'FINS' ;
TBT . 'NTIT' = 800 ;
vertytab rxt 'NTIT' 'ENTIER' ;
TBT .'NTIT' = rxt . 'NTIT' ;
'FINS' ;
*
* TRESOU = vrai si RESO est le solveur linéaire
TBT . 'TRESOU' = FAUX ;
vertytab rxt 'TRESOU' 'LOGIQUE' ;
TBT . 'TRESOU' = rxt . 'TRESOU' ;
'FINS' ;
*
* TCPT = vrai si les matrices élémentaires sont calclées en //
TBT . 'TCPT' = FAUX ;
vertytab rxt 'TCPT' 'LOGIQUE' ;
TBT . 'TCPT' = rxt . 'TCPT' ;
'FINS' ;
*
* TKPR = vrai si la résolution des champs scalaires est en //
* Le // est effectif si au moins un champ est // (TRTOUT = vrai)
TBT . 'TKPR' = FAUX ;
vertytab rxt 'TKPR' 'LOGIQUE' ;
TBT . 'TKPR' = rxt . 'TKPR' ;
'FINS' ;
TBT . 'IMPARA' = FAUX ;
vertytab rxt 'IMPARA' 'LOGIQUE' ;
TBT . 'IMPARA' = rxt . 'IMPARA' ;
'FINS' ;
TBT . 'TRTF' = TBT . 'TKPR' ;
vertytab rxt 'TRTF' 'LOGIQUE' ;
TBT . 'TRTF' = rxt . 'TRTF' ;
'FINS' ;
TBT . 'TRrvap' = TBT . 'TKPR' ;
vertytab rxt 'TRrvap' 'LOGIQUE' ;
TBT . 'TRrvap' = rxt . 'TRrvap' ;
'FINS' ;
TBT . 'TRrhe' = TBT . 'TKPR' ;
vertytab rxt 'TRrhe' 'LOGIQUE' ;
TBT . 'TRrhe' = rxt . 'TRrhe' ;
'FINS' ;
TBT . 'TRrh2' = TBT . 'TKPR' ;
vertytab rxt 'TRrh2' 'LOGIQUE' ;
TBT . 'TRrh2' = rxt . 'TRrh2' ;
'FINS' ;
TBT . 'TRro2' = TBT . 'TKPR' ;
vertytab rxt 'TRro2' 'LOGIQUE' ;
TBT . 'TRro2' = rxt . 'TRro2' ;
'FINS' ;
TBT . 'TRrn2' = TBT . 'TKPR' ;
vertytab rxt 'TRrn2' 'LOGIQUE' ;
TBT . 'TRrn2' = rxt . 'TRrn2' ;
'FINS' ;
TBT . 'TRrco' = TBT . 'TKPR' ;
vertytab rxt 'TRrco' 'LOGIQUE' ;
TBT . 'TRrco' = rxt . 'TRrco' ;
'FINS' ;
TBT . 'TRrco2' = TBT . 'TKPR' ;
vertytab rxt 'TRrco2' 'LOGIQUE' ;
TBT . 'TRrco2' = rxt . 'TRrco2' ;
'FINS' ;
TBT . 'TRrair' = TBT . 'TKPR' ;
vertytab rxt 'TRrair' 'LOGIQUE' ;
TBT . 'TRrair' = rxt . 'TRrair' ;
'FINS' ;
TBT . 'TRTOUT' =
TBT . 'TRTF' 'OU' TBT . 'TRrvap' 'OU' TBT . 'TRrhe' 'OU'
TBT . 'TRrh2' 'OU' TBT . 'TRro2' 'OU' TBT . 'TRrn2' 'OU'
TBT . 'TRrco' 'OU' TBT . 'TRrco2' 'OU' TBT . 'TRrair' ;
*
* PPDT formulation conservative ou non conservative
* (désignée petits/grands pas de temps)
TBT . 'PPDT' = FAUX ;
vertytab rxt 'PPDT' 'LOGIQUE' ;
TBT . 'PPDT' = rxt . 'PPDT' ;
'FINS' ;
'SI' TBT . 'PPDT' ;
TBT . 'FCONS' = 'CONS2' ;
'SINO' ;
TBT . 'FCONS' = 'NOCONS' ;
'FINS' ;
*
* ALGO = choix de l'algorithme implicite / explicite
* (IMPL = semi implicite / EFM1 = semi explicite)
TBT . 'ALGO' = 'IMPL' ;
TBT . 'FEF' = 'EF' ;
TBT . 'FIMPL' = 'IMPL' ;
TBT . 'ALGO' = rxt . 'ALGO' ;
'SI' ('EGA' TBT . 'ALGO' 'EFM1') ;
TBT . 'FEF' = 'EFM1' ;
TBT . 'FIMPL' = 'EXPL' ;
'FINS' ;
'FINS' ;
*
* DISCR = Eléments pour la vitessse et les scalaires autres que P
* (LINE = linéaires / MACRO (par DEFAUT) / QUAF = quadratiques fluide)
TBT . 'discr' = 'MACRO' ;
TBT . 'discr' = rxt . 'DISCR' ;
'FINS' ;
TBT . 'discrH' = TBT . 'discr' ;
'SI' (('EGA' TBT . 'discr' 'QUAF') 'ET' DIM3D) ;
TBT . 'discrH' = 'MACRO' ;
'FINS' ;
*
* KPRE = Eléments pour la pression
TBT . 'KPRE' = 'CENTRE' ;
lxt . 'CENTRE' = ' ' ;
lxt . 'CENTREP1' = ' ' ;
lxt . 'MSOMMET' = ' ' ;
TBT . 'KPRE' = rxt . 'KPRE' ;
'FINS' ;
*
* MAXELPRE = nombre maximum d'éléments pour lequel on utilise
* une méthode directe (Cholesky) pour inverser la matrice.
TBT . 'MAXELPRE' = 150000 ;
vertytab rxt 'MAXELPRE' 'ENTIER' ;
TBT . 'MAXELPRE' = rxt . 'MAXELPRE' ;
'FINS' ;
TBT . 'MAXELPRE' ' ' 'elements' ;
*
* Definition des grandeurs Physiques :
* Rabs = constante universel des GP (J/mol/K)
* Rgi = constante des gaz (J/kg/K)
* Mki = masse molaire (kg/mol)
*
* Cpvap/Cvvap = Chaleur specifique à pression/volume constant supposé
* constant durant le calcul + hypothèse vapeur gaz parfait (J/kg/K)
* Lv = Chaleur Latente supposée constante (J/kg)
Rabs = 6.022*1.38066 ;
TBT . 'Rabs' = Rabs ;
TBT . 'Rgh2' = Rabs '/' 2.E-3 ; TBT . 'Mkh2' = 2.016E-3 ;
TBT . 'Rghe' = Rabs '/' 4.E-3 ; TBT . 'Mkhe' = 4.003E-3 ;
TBT . 'Rgo2' = Rabs '/' 3.2E-2 ; TBT . 'Mko2' = 32.00E-3 ;
TBT . 'Rgn2' = Rabs '/' 2.8E-2 ; TBT . 'Mkn2' = 28.02E-3 ;
TBT . 'Rgco2' = Rabs '/' 4.4E-2 ; TBT . 'Mkco2' = 44.01E-3 ;
TBT . 'Rgco' = Rabs '/' 2.8E-2 ; TBT . 'Mkco' = 28.01E-3 ;
TBT . 'Rgar' = Rabs '/' 4.E-2 ; TBT . 'Mkar' = 39.94E-3 ;
TBT . 'Rgch4' = Rabs '/' 16.E-3 ; TBT . 'Mkch4' = 16.04E-3 ;
TBT . 'Rgvap' = Rabs '/' 1.8E-2 ; TBT . 'Mkvap' = 18.02E-3 ;
*Rabs = 6.02214076 '*' 1.380649 ;
*TBT . 'Mkh2' = 2.D0 * 0.00100794D0 ;
*TBT . 'Rgh2' = Rabs '/' TBT . 'Mkh2' ;
*TBT . 'Mkhe' = 0.004002602D0 ;
*TBT . 'Rghe' = Rabs '/' TBT . 'Mkhe' ;
*TBT . 'Mko2' = 2.D0 * 0.0159994D0 ;
*TBT . 'Rgo2' = Rabs '/' TBT . 'Mko2' ;
*TBT . 'Mkn2' = 2.D0 * 0.0140067D0 ;
*TBT . 'Rgn2' = Rabs '/' TBT . 'Mkn2' ;
*TBT . 'Mkco2' = 2.D0 * 0.0159994D0 + 0.0120107D0 ;
*TBT . 'Rgco2' = Rabs '/' TBT . 'Mkco2' ;
*TBT . 'Mkco' = 0.0120107D0 + 0.0159994D0 ;
*TBT . 'Rgco' = Rabs '/' TBT . 'Mkco' ;
*TBT . 'Mkvap' = 2.D0 * 0.00100794D0 + 0.0159994D0 ;
*TBT . 'Rgvap' = Rabs '/' TBT . 'Mkvap' ;
*
*TBT . 'Mkar' = 39.94E-3 ; TBT . 'Rgar' = Rabs '/' TBT . 'Mkar' ;
*TBT . 'Mkch4' = 16.04E-3 ; TBT . 'Rgch4' = Rabs '/' TBT . 'Mkch4' ;
vertytab rxt 'Cpvap' 'FLOTTANT' ;
Cpvap = rxt . 'Cpvap' ;
'SINO' ;
Cpvap = 1700. ;
'FINS' ;
TBT . 'Cpvap' = Cpvap ;
TBT . 'Cvvap' = TBT . 'Cpvap' - TBT . 'Rgvap' ;
vertytab rxt 'Lv' 'FLOTTANT' ;
Lv = rxt . 'Lv' ;
'SINO' ;
Lv = 2.3E6 ;
'FINS' ;
TBT . 'Lv' = Lv ;
TBT . 'Rgair' = 287.1 ; TBT . 'Mkair' = 28.97E-3 ;
TBT . 'lamair' = 2.580e-2 ;
*
* Coefficients pour les tables de l'eau
TBT . 'B0' = -4512.70756 ; TBT . 'B1' = 4245585.9 ;
TBT . 'B2' = -1584624342.;
*
* DB = coefficient de diffusion Brownienne
vertytab rxt 'db' 'FLOTTANT' ;
db = rxt . 'db' ;
'SINO' ;
db = 1.000e-5 ;
'FINS' ;
TBT . 'db' = db ;
*
* Définition de l'axe (ou du plan) de symétrie
TBT . 'Taxe' = FAUX ;
vertytab rxt 'axe' 'MAILLAGE' ;
TBT . 'Taxe' = VRAI ;
'FINS' ;
*
* Définition des Sorties
TBT . 'TTsortie' = FAUX ;
vertytab rxt 'Sorties' 'TABLE' ;
TBT . 'TTsortie' = VRAI ;
'REPE' BBRS NBR ;
Sriches = rxt . 'Sorties' . (ibr . &BBRS) ;
vertytab Sriches 'Maillage' 'MAILLAGE' ;
vertytab Sriches 'scenario' 'TABLE ' ;
scn = Sriches . 'scenario' ;
Sriches . 'Modinj' = Sriches . 'scenario' . 'Modinj' ;
'FINS' ;
*FD
* Quid si reprise ?
*FD
'FINS' ;
'FIN' BBRS ;
TBT . 'Sorties' = rxt . 'Sorties' ;
'FINS' ;
*
* Définition des Breches
TBT . 'TTbreche' = FAUX ;
vertytab rxt 'Breches' 'TABLE' ;
TBT . 'TTbreche' = VRAI ;
'REPE' BBRS NBR ;
Briches = rxt . 'Breches' . (ibr . &BBRS) ;
vertytab Briches 'diru' 'POINT ' ;
vertytab Briches 'Maillage' 'MAILLAGE' ;
vertytab Briches 'scenario' 'TABLE ' ;
scn = Briches . 'scenario' ;
Briches . 'Modinj' = Briches . 'scenario' . 'Modinj' ;
'FINS' ;
*FD
* Quid si reprise ?
*FD
'FINS' ;
'FIN' BBRS ;
TBT . 'Breches' = rxt . 'Breches' ;
*
tic . 'Breches' = 'TABLE' ;
'FINS' ;
'FINS' ;
*
* Définition des Flux de masse imposés
TBT . 'TFIMP' = FAUX ;
TBT . 'TFIMP' = VRAI ;
vertytab rxt 'XFIMP' 'TABLE' ;
'REPE' BBFIMP NBFIMP ;
Bfimp = rxt . 'XFIMP' . (ifimp . &BBFIMP) ;
vertytab Bfimp 'MAILLAGE' 'MAILLAGE' ;
vertytab Bfimp 't' 'LISTREEL' ;
*FD
* A mettre dans prepaenc ?
*FD
vertytab Bfimp 'qt' 'LISTREEL' ;
'SINO' ;
'FINS' ;
vertytab Bfimp 'qeau' 'LISTREEL' ;
'SINO' ;
'FINS' ;
vertytab Bfimp 'qair' 'LISTREEL' ;
'SINO' ;
'FINS' ;
vertytab Bfimp 'qhe' 'LISTREEL' ;
'SINO' ;
'FINS' ;
vertytab Bfimp 'qh2' 'LISTREEL' ;
'SINO' ;
'FINS' ;
vertytab Bfimp 'qo2' 'LISTREEL' ;
'SINO' ;
'FINS' ;
vertytab Bfimp 'qn2' 'LISTREEL' ;
'SINO' ;
'FINS' ;
vertytab Bfimp 'qco' 'LISTREEL' ;
'SINO' ;
'FINS' ;
vertytab Bfimp 'qco2' 'LISTREEL' ;
'SINO' ;
'FINS' ;
'FIN' BBFIMP ;
TBT . 'XFIMP' = rxt . 'XFIMP' ;
'FINS' ;
*
* THERMP = vrai si Problème couplé Fluide-Structure
* THERCO = vrai si couplage implicite Fluide-Structure
TBT . 'THERMP' = FAUX ;
TBT . 'THERCO' = FAUX ;
TBT . 'ECHEXT' = FAUX ;
vertytab rxt 'THERMP' 'LOGIQUE' ;
TBT . 'THERMP' = rxt . 'THERMP' ;
'FINS' ;
vertytab rxt 'THERCO' 'LOGIQUE' ;
TBT . 'THERCO' = rxt . 'THERCO' ;
'SI' TBT . 'THERCO' ;
TBT . 'THERMP' = VRAI ;
'FINS' ;
'FINS' ;
*
* TPAROIS = vrai si résolution thermique dans les parois
* (nouvelle définition des parois thermiques)
TBT . 'TPAROIS' = FAUX ;
vertytab rxt 'PAROIS' 'TABLE' ;
*FD
* ECHAN est défini globalement au lieu de localement pour chaque PAROI
* (héritage de l'époque ou on avait une seulle paroi ?)
*FD
vertytab rxt 'ECHAN' 'FLOTTANT' 'CHPOINT' ;
'REPE' BPRS NPAR ;
Parois = rxt . 'PAROIS' . (ipr . &BPRS) ;
vertytab Parois 'vtp' 'MAILLAGE' ;
Mvtp = Mvtp 'ET' Parois . 'vtp' ;
vertytab Parois 'ROCP' 'FLOTTANT' 'CHPOINT' ;
vertytab Parois 'LAMBDA' 'FLOTTANT' 'CHPOINT' ;
vertytab Parois 'Tp0' 'FLOTTANT' 'CHPOINT' ;
*? vertytab Parois 'ECHAN' 'FLOTTANT' 'CHPOINT' ;
tic . CROCP = Parois . 'ROCP' ;
'FINS' ;
tic . CLAMBDA = Parois . 'LAMBDA' ;
'FINS' ;
tic . CTp0 = Parois . 'Tp0' ;
'FINS' ;
'FIN' BPRS ;
TBT . 'PAROIS' = rxt . 'PAROIS' ;
TBT . 'THERMP' = VRAI ;
TBT . 'TPAROIS' = VRAI ;
'FINS' ;
'SI' TBT . 'THERMP' ;
*FD
* Ancienne définition d'une PAROI : à detruire ?
*FD
*
* TPAROIS = faux mais THERMP = vrai (ancienne définition de LA paroi thermique)
'SI' ('NON' (TBT . 'TPAROIS')) ;
vertytab rxt 'vtp' 'MAILLAGE' ;
vertytab rxt 'ROCP' 'FLOTTANT' 'CHPOINT' ;
vertytab rxt 'LAMBDA' 'FLOTTANT' 'CHPOINT' ;
vertytab rxt 'Tp0' 'FLOTTANT' 'CHPOINT' ;
vertytab rxt 'ECHAN' 'FLOTTANT' 'CHPOINT' ;
tic . 'ROCP' = rxt . 'ROCP' ;
'FINS' ;
tic . 'LAMBDA' = rxt . 'LAMBDA' ;
'FINS' ;
tic . 'Tp0' = rxt . 'Tp0' ;
'FINS' ;
'FINS' ;
*
* Initialisation de KHW à ECHAN
tic . 'KHW' = rxt . 'ECHAN' ;
'FINS' ;
*
* ECHEXT = vrai si échange thermique avec l'extérieur
vertytab rxt 'ECHEXT' 'LOGIQUE' ;
TBT . 'ECHEXT' = rxt . 'ECHEXT' ;
'FINS' ;
'SI' TBT . 'ECHEXT' ;
vertytab rxt 'parext' 'MAILLAGE' ;
vertytab rxt 'HEXT' 'FLOTTANT' 'CHPOINT' ;
vertytab rxt 'TPEXT' 'FLOTTANT' 'CHPOINT' ;
tic . 'HEXT' = rxt . 'HEXT' ;
'FINS' ;
tic . 'TPEXT' = rxt . 'TPEXT' ;
'FINS' ;
'FINS' ;
'SINO' ;
'FINS' ;
*
* TTIMP = vrai si parois à température imposée
TBT . 'TTIMP' = FAUX ;
TBT . 'TTIMP' = VRAI ;
vertytab rxt 'TIMP' 'TABLE' ;
'REPE' BBTIMP NBTIMP ;
Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
vertytab Btimp 'MAILLAGE' 'MAILLAGE' ;
vertytab Btimp 'ECHAN' 'FLOTTANT' ;
vertytab Btimp 't' 'LISTREEL' ;
vertytab Btimp 'TIMP' 'LISTREEL' ;
* Btimp . 'Ltbpi' = 'PROG' ('IPOL' tps Btimp . 't' Btimp . 'TIMP') ;
'FIN' BBTIMP ;
TBT . 'TIMP' = rxt . 'TIMP' ;
'FINS' ;
*
* TECHANP = vrai si paroi à T constant ou imposé via une procédure personnelle
TBT . 'TECHANP' = FAUX ;
TBT . 'TECHANP' = VRAI ;
vertytab rxt 'ECHANP' 'TABLE' ;
'FINS' ;
*
* TRECOMB = vrai si présence de PARs (recombineurs)
TBT . 'TRECOMB' = FAUX ;
vertytab rxt 'RECOMB' 'TABLE ' ;
'REPE' BCL1 NBREC ;
TRECI = rxt . 'RECOMB' . &BCL1 ;
lxt . 'PAREXT' = ' ' ;
lxt . 'ENTREE' = ' ' ;
lxt . 'SORTIE' = ' ' ;
lxt . 'direntr' = ' ' ;
lxt . 'dirsort' = ' ' ;
lxt . 'NSECTION' = ' ' ;
lxt . 'TYPR' = ' ' ;
vertytab TRECI 'PAREXT' 'MAILLAGE' ;
vertytab TRECI 'ENTREE' 'MAILLAGE' ;
vertytab TRECI 'SORTIE' 'MAILLAGE' ;
vertytab TRECI 'direntr' 'POINT ' ;
vertytab TRECI 'dirsort' 'POINT ' ;
vertytab TRECI 'NSECTION' 'ENTIER ' ;
'SINO' ;
TRECI . 'NSECTION' = 1 ;
'FINS' ;
'SINO' ;
TRECI . 'TYPR' = 'SIEMENS' ;
'FINS' ;
typr = TRECI . 'TYPR' ;
'SI' ('EGA' typr 'SIEMENS') ;
lxt . 'A' = ' ' ;
lxt . 'B' = ' ' ;
lxt . 'XH2ON' = ' ' ;
lxt . 'XH2OFF' = ' ' ;
lxt . 'BETA' = ' ' ;
vertytab TRECI 'A' 'FLOTTANT' ;
'SINO' ;
TRECI . 'A' = 0.48D-8 ;
'FINS' ;
vertytab TRECI 'B' 'FLOTTANT' ;
'SINO' ;
TRECI . 'B' = 0.58D-3 ;
'FINS' ;
vertytab TRECI 'XH2ON' 'FLOTTANT' ;
'SINO' ;
TRECI . 'XH2ON' = 0.005D0 ;
'FINS' ;
vertytab TRECI 'XH2OFF' 'FLOTTANT' ;
'SINO' ;
TRECI . 'XH2OFF' = 0.005D0 ;
'FINS' ;
vertytab TRECI 'BETA' 'FLOTTANT' ;
'SINO' ;
TRECI . 'BETA' = 0.2D0 ;
'FINS' ;
'SINO' ;
lxt . 'PUISSANCE' = ' ' ;
lxt . 'QHOUSING' = ' ' ;
lxt . 'HRAPP' = ' ' ;
lxt . 'CRAPP' = ' ' ;
vertytab TRECI 'PUISSANCE' 'EVOLUTIO' ;
vertytab TRECI 'QHOUSING' 'FLOTTANT' ;
'SINO' ;
TRECI . 'QHOUSING' = 0.1D0 ;
'FINS' ;
vertytab TRECI 'HRAPP' 'FLOTTANT' ;
'SINO' ;
TRECI . 'HRAPP' = 1.7D0 ;
'FINS' ;
vertytab TRECI 'CRAPP' 'FLOTTANT' ;
'SINO' ;
TRECI . 'CRAPP' = 136.0868234D0 ;
'FINS' ;
'FINS' ;
'REPE' bouind nind ;
'MESS' ' ' ;
'MESS' ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
'MESS' ' ' ;
'MESS' ' ' ;
'MESS' ' ' ;
'FINS' ;
'FIN' bouind ;
'FIN' BCL1 ;
TBT . 'TRECOMB' = VRAI ;
TBT . 'RECOMB' = rxt . 'RECOMB' ;
'FINS' ;
*
* Gestion du modèle de turbulence MODTURB
* (NUTURB ou LMEL ou KEPSILON)
TBT . 'MODTURB' = rxt . 'MODTURB' ;
lxt . 'NUTURB' = ' ' ;
lxt . 'LMEL' = ' ' ;
'SI' ('EGA' rxt . 'MODTURB' 'NUTURB') ;
listentr . 'NUT' = '' ;
vertytab rxt 'NUT' 'FLOTTANT' ;
TBT . 'NUT' = rxt .'NUT' ;
'FINS' ;
'SI' ('EGA' rxt . 'MODTURB' 'LMEL') ;
listentr . 'LMEL' = '' ;
vertytab rxt 'LMEL' 'FLOTTANT' ;
TBT . 'LMEL' = rxt . 'LMEL' ;
'FINS' ;
' ' rxt . 'MODTURB' ;
'SINO' ;
'FINS' ;
*
* FPAROI = vrai si utilisation de fonctions de paroi
TBT . 'FPAROI' = FAUX ;
vertytab rxt 'FPAROI' 'LOGIQUE' ;
TBT . 'FPAROI' = rxt . 'FPAROI' ;
'FINS' ;
'SI' TBT . 'FPAROI' ;
listentr . 'YP' = '' ;
vertytab rxt 'YP' 'FLOTTANT' ;
TBT . 'YP' = rxt . 'YP' ;
'FINS' ;
*
* Gestion du modèle de condensation en paroi MODCOND
* (CHIL0 ou CHIL1)
TBT . 'MODCOND' = 'CHIL0' ;
TBT . 'MODCOND' = rxt . 'MODCOND' ;
lxt . 'CHIL0' = ' ' ;
lxt . 'CHIL1' = ' ' ;
'FINS' ;
*
* PERSO = vrai si une procédure personnelle est indiquée
TBT . 'PERSO' = FAUX ;
vertytab rxt 'PERSO' 'LOGIQUE' ;
TBT . 'PERSO' = rxt . 'PERSO' ;
'FINS' ;
'SI' TBT . 'PERSO' ;
listentr . 'PRCPERSO' = '' ;
TBT . 'PRCPERSO' = rxt . 'PRCPERSO' ;
'FINS' ;
vertytab rxt 'TABPERSO' 'TABLE' ;
TBT . 'TABPERSO' = rxt . 'TABPERSO' ;
'FINS' ;
*
* Identification des incondensables et des entrées associées
* (à choisir parmi H2, HE, O2, N2, CO, CO2)
TBT . 'TH2' = FAUX ;
vertytab rxt 'H2' 'LOGIQUE' ;
TBT . 'TH2' = rxt . 'H2' ;
'SI' TBT . 'TH2' ;
vertytab rxt 'Yh20' 'FLOTTANT' ;
listentr . 'Yh20' = '' ;
'FINS' ;
'FINS' ;
'FINS' ;
TBT . 'THE' = FAUX ;
vertytab rxt 'HE' 'LOGIQUE' ;
TBT . 'THE' = rxt . 'HE' ;
'SI' TBT . 'THE' ;
vertytab rxt 'Yhe0' 'FLOTTANT' ;
listentr.'Yhe0' = '' ;
'FINS' ;
'FINS' ;
'FINS' ;
TBT . 'TO2' = FAUX ;
vertytab rxt 'O2' 'LOGIQUE' ;
TBT . 'TO2' = rxt . 'O2' ;
'SI' TBT . 'TO2' ;
vertytab rxt 'Yo20' 'FLOTTANT' ;
listentr . 'Yo20' = '' ;
'FINS' ;
'FINS' ;
'FINS' ;
TBT . 'TN2' = FAUX ;
vertytab rxt 'N2' 'LOGIQUE' ;
TBT . 'TN2' = rxt . 'N2' ;
'SI' TBT . 'TN2' ;
vertytab rxt 'Yn20' 'FLOTTANT' ;
listentr . 'Yn20' = '' ;
'FINS' ;
'FINS' ;
'FINS' ;
TBT . 'TCO' = FAUX ;
vertytab rxt 'CO' 'LOGIQUE' ;
TBT . 'TCO' = rxt . 'CO' ;
'SI' TBT . 'TCO' ;
vertytab rxt 'Yco0' 'FLOTTANT' ;
listentr . 'Yco0' = '' ;
'FINS' ;
'FINS' ;
'FINS' ;
TBT . 'TCO2' = FAUX ;
vertytab rxt 'CO2' 'LOGIQUE' ;
TBT . 'TCO2' = rxt .'CO2' ;
'SI' TBT . 'TCO2' ;
vertytab rxt 'Yco20' 'FLOTTANT' ;
listentr . 'Yco20' = '' ;
'FINS' ;
'FINS' ;
'FINS' ;
*FD
* Quid de l'injection d'air sans transport de l'air
*FD
TBT . 'TAIR' = FAUX ;
vertytab rxt 'AIR' 'LOGIQUE' ;
TBT . 'TAIR' = rxt . 'AIR' ;
'SI' TBT . 'TAIR' ;
'FINS' ;
'FINS' ;
'FINS' ;
'FINS' ;
'MESS' ' Liste des incondensables : ' ;
'LIST' LINCOND ;
*
* VAPEUR = vrai en présence de vapeur dans le mélange
TBT . 'VAPEUR' = FAUX ;
vertytab rxt 'VAPEUR' 'LOGIQUE' ;
TBT . 'VAPEUR' = rxt . 'VAPEUR' ;
'SI' TBT . 'VAPEUR' ;
vertytab rxt 'Yvap0' 'FLOTTANT' ;
listentr .'Yvap0' = '' ;
'FINS' ;
listentr .'Mliq0' = '' ;
listentr .'Lv' = '' ;
listentr .'Cpvap' = '' ;
'FINS' ;
'FINS' ;
*
* CONDMAS = vrai si condensation en masse et présence de VAPEUR
TBT . 'CONDMAS' = FAUX ;
'SI' TBT . 'VAPEUR' ;
vertytab rxt 'CONDMAS' 'LOGIQUE' ;
listentr . 'CONDMAS' = '' ;
TBT . 'CONDMAS' = rxt . 'CONDMAS' ;
'FINS' ;
'FINS' ;
*
* ASPER = vrai aspersion et présence de VAPEUR
TBT . 'ASPER' = FAUX ;
'SI' TBT . 'VAPEUR' ;
vertytab rxt 'ASPER' 'LOGIQUE' ;
listentr . 'ASPER' = '' ;
TBT . 'ASPER' = rxt . 'ASPER' ;
'SI' TBT . 'ASPER' ;
vertytab rxt 'scenasp' 'TABLE ' ;
listentr . 'scenasp' = '' ;
vertytab rxt 'aspinj' 'MAILLAGE' ;
listentr . 'aspinj' = '' ;
vertytab rxt 'toitf' 'MAILLAGE' ;
listentr . 'toitf' = '' ;
vertytab rxt 'rod' 'FLOTTANT' ;
listentr . 'rod' = '' ;
vertytab rxt 'Cpd' 'FLOTTANT' ;
listentr . 'Cpd' = '' ;
'FINS' ;
'FINS' ;
'FINS' ;
*
* TRECOMB possible si présence de H2, O2, N2 et VAPEUR
'SI' TBT . 'TRECOMB' ;
LOG0 = TBT . 'TH2' 'ET' TBT . 'VAPEUR' 'ET'
TBT . 'TN2' 'ET' TBT . 'TO2' ;
'SI' ('NON' LOG0) ;
'MESS' ' ' ;
'MESS' ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
'MESS' ' ' ;
'MESS' ' ' ;
'SI' ('NON' tbt . 'TH2')
'FINS' ;
'SI' ('NON' tbt . 'TO2')
'FINS' ;
'SI' ('NON' tbt . 'TN2')
'FINS' ;
'SI' ('NON' tbt . 'VAPEUR')
'FINS' ;
'MESS' ' ' ;
'FINS' ;
'FINS' ;
*
* Vérification des entrées de RXT
'REPE' Bver n ;
'MESS' ;
'MESS' ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
'MESS' ' ' ;
'MESS' ' ' ;
'MESS' ' ' ;
'FINS' ;
'MESS' ;
'MESS' ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
'MESS' ' ' ;
'MESS' ' ' ;
'MESS' ' ' ;
'FINS' ;
'FIN' Bver ;
*
* Affichage des options surchargées
'SI' ('NON' ('EGA' n 0)) ;
'MESS' ' ' ;
'MESS' ' Liste des options surchargees :' ;
'LIST' listand ;
'MESS' ' ' ;
'FINS' ;
'MESS' ' ' ;
'FINS' ;
*
* Vérification des compatibilités entre entrées
'SI' (('EGA' TBT . 'ALGO' 'EFM1') 'ET' ('EGA' TBT . 'discr' 'QUAF')) ;
vertytab 'ERREUR' 'ERREUR'
'FINS' ;
'ET' ('NON' ('EGA' TBT . 'ALGO' 'EFM1')));
vertytab 'ERREUR' 'ERREUR'
'FINS' ;
'FINS' ;
'MESS' WWW ;
'MESS' WWW ;
'MESS' ' ' ;
*-----------------------------------------------------------------------
*-----------------------------------------------------------------------
*-----------------------------------------------------------------------
* ------------- FIN DES INITIALISATIONS ET VERIFICATIONS ---------------
*-----------------------------------------------------------------------
*-----------------------------------------------------------------------
*-----------------------------------------------------------------------
'SI' TPREPA ;
PREPAENC rxt TBT GEO TIC ;
'FINS' ;
rxt . 'TBT' = TBT ;
GEO = rxt .'GEO' ;
tic = rxt . 'TIC' ;
vtf = GEO . 'vtf' ;
'SI' TBT . 'THERMP' ;
$vtp = GEO . '$vtp' ;
$paroif = GEO . '$paroif' ;
paroif = GEO . 'paroif' ;
'FINS' ;
VTotal = GEO . 'VTotal' ;
'DOMA' $vtf 'IMPR' ;
'SI' TBT . 'THERMP' ;
'DOMA' $vtp 'IMPR' ;
'FINS' ;
Tkm = Tfm '+' 273.15 ;
*
* Initialisation et affichage des propriétés physiques
* (Cp (Tfm), Cv et Mu (Tkm))
Rgh2 = TBT . 'Rgh2' ;
Rghe = TBT . 'Rghe' ;
Rgo2 = TBT . 'Rgo2' ;
Rgn2 = TBT . 'Rgn2' ;
Rgco = TBT . 'Rgco' ;
Rgco2 = TBT . 'Rgco2' ;
Rgvap = TBT . 'Rgvap' ;
Rgair = TBT . 'Rgair' ;
Cpvap = TBT . 'Cpvap' ;
Cvair = Cpair '-' Rgair ;
Cvvap = Cpvap '-' Rgvap ;
Cvhe = Cphe '-' Rghe ;
Cvh2 = Cph2 '-' Rgh2 ;
Cvo2 = Cpo2 '-' Rgo2 ;
Cvn2 = Cpn2 '-' Rgn2 ;
Cvco = Cpco '-' Rgco ;
Cvco2 = Cpco2 '-' Rgco2 ;
Cvair = Cpair '-' Rgair ;
Lv = TBT . 'Lv' ;
'SI' TBT . 'VAPEUR' ;
'FINS' ;
'SI' TBT . 'THE' ;
'FINS' ;
'SI' TBT . 'TH2' ;
'FINS' ;
'SI' TBT . 'TO2' ;
'FINS' ;
'SI' TBT . 'TN2' ;
'FINS' ;
'SI' TBT . 'TCO' ;
'FINS' ;
'SI' TBT . 'TCO2' ;
'FINS' ;
***'SI' TBT . 'TAIR' ;
***'FINS' ;
'SI' TBT . 'THERMP' ;
'SINO' ;
'FINS' ;
'FINS' ;
*
* Initialisation et affichage des bilans initiaux 0D/CFD
'MESS' '_____________________________________________'
'____________________' ;
M0D = Rhomn '*' Vtotal ;
'SI' TBT . 'VAPEUR' ;
MV0D = Rhomv '*' Vtotal ;
MVG0D = Rhomvg '*' Vtotal ;
'FINS' ;
'SI' TBT . 'THE' ;
MHE0D = Rhomhe '*' Vtotal ;
'FINS' ;
'SI' TBT . 'TH2' ;
MH20D = Rhomh2 '*' Vtotal ;
'FINS' ;
'SI' TBT . 'TO2' ;
MO20D = Rhomo2 '*' Vtotal ;
'FINS' ;
'SI' TBT . 'TN2' ;
MN20D = Rhomn2 '*' Vtotal ;
'FINS' ;
'SI' TBT . 'TCO' ;
MCO0D = Rhomco '*' Vtotal ;
'FINS' ;
'SI' TBT . 'TCO2' ;
MCO20D = Rhomco2 '*' Vtotal ;
'FINS' ;
***'SI' TBT . 'TAIR' ;
MAIR0D = Rhomair '*' Vtotal ;
***'FINS' ;
'SI' ('EGA' ndl 1) ;
'SINO' ;
'FINS' ;
E0D = Remn ;
(rxt . 'TIC' . 'TF' '+' 273.15)) ) '/' Vtotal ;
(100. '*'(M0D '-' MMD) '/'M0D) ;
(100. '*' (E0D '-' EMD) '/' E0D) ;
'SI' (TBT . 'VAPEUR' 'ET' ('NON' ('EGA' MV0D 0.0))) ;
(100. '*' (MV0D '-' MVMD) '/' MV0D) ;
'FINS' ;
'SI' (TBT . 'THE' 'ET' ('NON' ('EGA' MHE0D 0.0))) ;
(100. '*' (MHE0D '-' MHEMD) '/' MHE0D) ;
'FINS' ;
'SI' (TBT . 'TH2' 'ET' ('NON' ('EGA' MH20D 0.0))) ;
(100. '*' (MH20D '-' MH2MD) '/' MH20D) ;
'FINS' ;
'SI' (TBT . 'TO2' 'ET' ('NON' ('EGA' MO20D 0.0))) ;
(100. '*' (MO20D '-' MO2MD) '/' MO20D) ;
'FINS' ;
'SI' (TBT . 'TN2' 'ET' ('NON' ('EGA' MN20D 0.0))) ;
(100. '*' (MN20D '-' MN2MD) '/' MN20D) ;
'FINS' ;
'SI' (TBT . 'TCO' 'ET' ('NON' ('EGA' MCO0D 0.0))) ;
(100. '*' (MCO0D '-' MCOMD) '/' MCO0D) ;
'FINS' ;
'SI' (TBT . 'TCO2' 'ET' ('NON' ('EGA' MCO20D 0.0))) ;
(100. '*' (MCO20D '-' MCO2MD) '/' MCO20D) ;
'FINS' ;
***'SI' (TBT . 'TAIR' 'ET' ('NON' ('EGA' MAIR0D 0.0))) ;
'SI' ('NON' ('EGA' MAIR0D 0.0)) ;
(100. '*' (MAIR0D '-' MAIRMD) '/' MAIR0D) ;
'FINS' ;
'MESS' '_____________________________________________'
'____________________' ;
'SI' TBT . 'THERMP' ;
'MESS' '_____________________________________________'
'____________________' ;
'FINS' ;
'MESS' ' ' ;
'MESS' ' Dimension espace: ' idim ;
'MESS' ' ' ;
'SI' TBT . 'THERMP' ;
'MESS' ' VTotal paroi =' GEO . 'VTotalp' ' '
'm3 Sparoif =' GEO . 'Sparoif' ' ' 'm2' ;
'FINS' ;
'SI' TBT . 'TTIMP' ;
'REPE' BBTIMP NBTIMP ;
Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
Btimp . 'Smtpi' ' ' 'm2' ;
'FIN' BBTIMP ;
'FINS' ;
*----------------------------------------------------------
*----- BOUCLE PRINCIPALE DE RESOLUTION SUR LE NB ----------
*----- TOTAL DE PAS DE TEMPS A REALISER -------------------
*----------------------------------------------------------
*
* Initialisation du pas de temps
tic . 'DT' = rxt . 'DT0' ;
'FINS' ;
*
* Initialisation pour le bilan de masse en vapeur
'SI' TBT . 'VAPEUR' ;
'FINS' ;
'FINS' ;
'SI' TBT . 'TPAROIF' ;
'FINS' ;
'FINS' ;
'FINS' ;
'SI' TBT . 'TTIMP' ;
'REPE' BBTIMP NBTIMP ;
Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
CQc1 = Btimp . 'Qc1' ;
'FINS' ;
CMcond1 = Btimp . 'Mcond1' ;
'FINS' ;
'FIN' BBTIMP ;
'FINS' ;
'SI' TBT . 'TECHANP' ;
'FINS' ;
'FINS' ;
'FINS' ;
'FINS' ;
*
* Initialisation systématique à 0. pour tous les constituants
* (correction de masse, densité, fraction massique, densité moyenne)
*dRhoair= 0. ;
dRhov = 0. ;
dRhohe = 0. ;
dRhoh2 = 0. ;
dRhoo2 = 0. ;
dRhon2 = 0. ;
dRhoco = 0. ;
dRhoco2= 0. ;
*
*rair = 0. ;
rvp = 0. ;
rhe = 0. ;
rh2 = 0. ;
ro2 = 0. ;
rn2 = 0. ;
rco = 0. ;
rco2 = 0. ;
*
*Yair = 0. ;
Yvap = 0. ;
Yhe = 0. ;
Yh2 = 0. ;
Yo2 = 0. ;
Yn2 = 0. ;
Yco = 0. ;
Yco2 = 0. ;
*
Rmvn = 0. ;
Rmvgn = 0. ;
Rmliqn = 0. ;
Rmbron = 0. ;
Rmhen = 0. ;
Rmh2n = 0. ;
Rmn2n = 0. ;
Rmo2n = 0. ;
Rmcon = 0. ;
Rmco2n = 0. ;
*
drclair = 0. ;
drclvp = 0. ;
drclhe = 0. ;
drclh2 = 0. ;
drclo2 = 0. ;
drcln2 = 0. ;
drclco = 0. ;
drclco2 = 0. ;
*
Emurn = 0. ;
Mcondmn = 0. ;
Mliqn = 0. ;
*
* Valeurs moyennes au début de pas de temps
Rgpn = tic . 'Rgp' ;
Tfn = tic . 'TF' ;
Tkn = Tfn '+' 273.15 ;
Rhon = tic . 'RHO' ;
*
*
'SI' TBT . 'VAPEUR' ;
'SI' TBT . 'CONDMAS' ;
'FINS' ;
drclvp = tic . 'drclvp' ;
'FINS' ;
'FINS' ;
'SI' TBT . 'THE' ;
drclhe = tic . 'drclhe' ;
'FINS' ;
'FINS' ;
'SI' TBT.'TH2' ;
drclh2 = tic . 'drclh2' ;
'FINS' ;
'FINS' ;
'SI' TBT.'TO2' ;
drclo2 = tic . 'drclo2' ;
'FINS' ;
'FINS' ;
'SI' TBT.'TN2' ;
drcln2 = tic . 'drcln2' ;
'FINS' ;
'FINS' ;
'SI' TBT.'TCO' ;
drclco = tic . 'drclco' ;
'FINS' ;
'FINS' ;
'SI' TBT.'TCO2' ;
drclco2 = tic . 'drclco2' ;
'FINS' ;
'FINS' ;
*
'SI' TBT . 'THERMP' ;
'FINS' ;
Mlq = 0. ;
Mbron = Rmbron '*' Vtotal ;
*
drhpar = 0. ;
*
*
*>> Boucle en temps
* On va de (n-1) à (n)
*
*
'REPE' BCLTPS nbit ;
Tknm = Tkn ;
Tfnm = Tfn ;
Rhonm = Rhon;
*
*>>1 Gestion de la fréquence de préconditionnement
calprec = VRAI ;
'SINO' ;
calprec = FAUX ;
'FINS' ;
'SI' ('EGA' nbit 0) ;
'QUIT' BCLTPS ;
'FINS' ;
*>>1 Gestion de la fréquence de préconditionnement FIN
*
*
*>>2 Gestion du rang du pas de temps, de sa valeur, de la liste des temps
tic . 'NUPADT' = tic . 'NUPADT' '+' 1 ;
Tps = tic . 'Tps' '+' tic . 'DT' ;
tic . 'Tps' = Tps ;
*
'SI' ( TBT . 'IMPR' '>EG' 1) ;
'MESS' '*************************************************************'
'***********************' ;
'MESS' '*************************************************************'
'***********************' ;
' Temps = ' tps 'Secondes Pas de temps : DT= ' tic . 'DT' ;
'FINS' ;
*>>2 Gestion du rang du pas de temps, etc FIN
*
*
*>>3 Gestion des E/S
*
*FD
* Il n'y a pas de Sorties et de Breches évanescentes contrairement aux
* anciennes syntaxe de Breche, Breche2 et Breche3 (Tbrechei=FAUX et tic
* . 'Qj' existe) où on complète par 0.
*FD
*
* Accumulation du débit massique (en kg/s) de chaque espèce xxx dans qoxxx
Qovp = 0. ; Qlovp = 0. ;
Qohe = 0. ;
Qoh2 = 0. ;
Qon2 = 0. ;
Qoo2 = 0. ;
Qoco = 0. ;
Qoco2 = 0. ;
* Débits de vapeur et de liquide pour les bilans (Minj et Mrest)
Qeau = 0. ;
Qlj = 0. ;
* Accumulation du débit massique dans Qtot (kg/s), du débit volumique
* dans srcs (m3/s), du débit enthalpique dans drh (J/s)
Qtot = 0. ;
drh = 0. ;
srcs = 0. ;
hmn = 0. ;
*
'SI' TBT . 'TTsortie' ;
'REPE' BBRS NBR ;
Qeau Qlj Qair Qhe Qh2 Qo2 Qn2 Qco Qco2
Qovp = Qovp '+' Qeau ; Qlovp = Qlovp '+' Qlj ;
Qohe = Qohe '+' Qhe ;
Qoh2 = Qoh2 '+' Qh2 ;
Qon2 = Qon2 '+' Qn2 ;
Qoo2 = Qoo2 '+' Qo2 ;
Qoco = Qoco '+' Qco ;
Qoco2 = Qoco2 '+' Qco2 ;
'FIN' BBRS ;
'FINS' ;
'SI' TBT . 'TTsortie' ;
'REPE' BBRS NBR ;
Rvapj Rairj Rhej Rh2j Ro2j Rn2j Rco2j Rcoj Rgj Hj Ej
asrc = Roj '*' ('ABS' src) ;
Qtot = Qtot '+' (aex '*' asrc) ;
drh = drh '+' (Qj '*' (Hj - Hmn) '*' aex) ;
srcs = srcs '+' (aex '*' src) ;
Briches = rxt . 'Sorties' . (ibr . &BBRS) ;
'FINS' ;
'FIN' BBRS ;
'FINS' ;
'SI' TBT . 'TTbreche' ;
Qovp = Qovp '+' Qeau ; Qlovp = Qlovp '+' Qlj ;
Qohe = Qohe '+' Qhe ;
Qoh2 = Qoh2 '+' Qh2 ;
Qon2 = Qon2 '+' Qn2 ;
Qoo2 = Qoo2 '+' Qo2 ;
Qoco = Qoco '+' Qco ;
Qoco2 = Qoco2 '+' Qco2 ;
Qtot = Qtot '+' Qtotb ;
drh = drh '+' drhb ;
srcs = srcs '+' srcb ;
'FINS' ;
*
Qeau = Qovp ;
Qlj = Qlovp ;
*>>3 Gestion des E/S FIN
*
*
*>>4 Gestion des sources diffuses
* Accumulation du débit massique (en kg/s) de chaque espèce xxx dans qoxxx
'SI' TBT . 'TFIMP' ;
'REPE' BBFIMP NBFIMP ;
Bfimp = rxt . 'XFIMP' . (ifimp . &BBFIMP) ;
Smfpi = Bfimp . 'Smfpi' ;
CKqt = Bfimp . 'Kqt' ;
tic . CKqt = qft '/' Smfpi ;
CKqeau = Bfimp . 'Kqeau' ;
tic . CKqeau = qfeau '/' Smfpi ;
CKqair = Bfimp . 'Kqair' ;
tic . CKqair = qfair '/' Smfpi ;
CKqhe = Bfimp . 'Kqhe' ;
tic . CKqhe = qfhe '/' Smfpi;
CKqh2 = Bfimp . 'Kqh2' ;
tic . CKqh2 = qfh2 '/' Smfpi ;
CKqn2 = Bfimp . 'Kqn2' ;
tic . CKqn2 = qfn2 '/' Smfpi ;
CKqo2 = Bfimp . 'Kqo2' ;
tic . CKqo2 = qfo2 '/' Smfpi ;
CKqco = Bfimp . 'Kqco' ;
tic . CKqco = qfco '/' Smfpi ;
CKqco2 = Bfimp . 'Kqco2' ;
tic . CKqco2 = qfco2 '/' Smfpi ;
Qovp = Qovp '+' Qfeau ;
Qohe = Qohe '+' Qfhe ;
Qoh2 = Qoh2 '+' Qfh2 ;
Qon2 = Qon2 '+' Qfn2 ;
Qoo2 = Qoo2 '+' Qfo2 ;
Qoco = Qoco '+' Qfco ;
Qoco2 = Qoco2 '+' Qfco2 ;
'FIN' BBFIMP ;
'FINS';
*>>4 Gestion des sources diffuses FIN
*
*
*>>5 Gestion du flux de chaleur en paroi
* phi = h(t)(Tg-Tw(t)), mise à jour de Tw(t) et [h si h donné]
*FD
* (h(t) par une PROCPERSO ou la condensation en paroi)
*FD
'SI' TBT . 'TTIMP' ;
'REPE' BBTIMP NBTIMP ;
Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
CTBP1 = Btimp . 'TBP1' ;
CKH1 = Btimp . 'KH1' ;
tic . CKH1 = Btimp . 'ECHAN' ;
'FINS' ;
Btimp . 'Ltbpi'
'FIN' BBTIMP ;
'FINS' ;
'SI' TBT . 'TECHANP' ;
tic . 'TBP0' = 'KCHT' RXT . 'GEO' . '$mtp0'
'SCAL' 'SOMMET' rxt . 'ECHANP' . 'TMUR' ;
'FINS' ;
tic . 'KH0' = 'KCHT' RXT . 'GEO' . '$mtp0'
'SCAL' 'CENTRE' rxt . 'ECHANP' . 'ECHAN' ;
'FINS' ;
'FINS' ;
*>>5 Gestion du flux de chaleur en paroi FIN
*
*
*>>6 Traitement de l'aspersion
'SI' TBT . 'ASPER ' ;
t = rxt.'scenasp'.'t' ;
$aspinj = GEO.'$aspinj' ;
$toitf = GEO.'$toitf' ;
* vnj = 'KCHT' $aspinj 'VECT' 'SOMMET' 'COMP'
* ('MOTS' 1VN 2VN 3VN) (0.0 0.0 vzinj) ;
'SI' (DIM3D) ;
'SINO' ;
*--------------------------------------------------------------
* modif Tojo 12/07/2007 *
*
* mise en place de vecteurs inclinés conformément
* à l'angle d'ouverture du jet
* ici l'inclinaison est fixée à 30°
* une prochaine évolution pourrait consister à mettre
* l'angle d'ouverture comme donnée d'entrée
* dans la table scenasp
*
*--------------------------------------------------------------
*
z0 = (sin(300. '*' cc1)) '*' ((cos(300. '*' cc1)) '**' (-1.0));
z0 = z0 '*' (vzinj '*' -1.) ;
z1 = z0 '*' 0. ;
z1 = z1 '+' vzinj;
vnj1 = ux0 et uy0;
*
*--------------------------------------------------------------
'FINS' ;
*--------------------fin modif Tojo Juillet 2007---------------
'FINS';
*>>6 Traitement de l'aspersion FIN
*
*
*>>7 Initialisation aux valeurs de début de pas de temps (n-1)
Rgpnm = Rgpn ;
Cvmnm = Cvmn ;
Gamnm = Gamn ;
Cpmnm = Cpmn ;
Ptmnm = Ptmn ;
Rhomnm = Rhomn ;
Remnm = Remn ;
Rmairnm = Rmairn ;
Rmvnm = Rmvn ;
Rmvgnm = Rmvgn ;
Rmliqnm = Rmliqn ;
Rmbronm = Rmbron ; Mbronm = Mbron ;
Rmhenm = Rmhen ;
Rmh2nm = Rmh2n ;
Rmn2nm = Rmn2n ;
Rmo2nm = Rmo2n ;
Rmconm = Rmcon ;
Rmco2nm = Rmco2n ;
Emurnm = Emurn ;
'SI' TBT.'ASPER ' ;
'SINO' ;
Qasp = 0.0 ;
Easp = 0.0 ;
Hasp = 0.0 ;
'FINS' ;
Qcnm = Qcn ;
Econdnm = Econdn ;
Econvnm = Econvn ;
Hcondnm = Hcondn ;
Mcondmnm = Mcondmn ;
'SI' TBT . 'VAPEUR' ;
'SI' TBT . 'TPAROIF' ;
'FINS' ;
* FD : Ne sert a rien
'SI' TBT . 'TTIMP' ;
'REPE' BBTIMP NBTIMP ;
Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
CMcond1 = Btimp . 'Mcond1' ;
'FIN' BBTIMP ;
'FINS' ;
'SI' TBT . 'TECHANP' ;
'FINS' ;
* FD : Ne sert a rien
'FINS' ;
*>>7 Initialisation au début de pas de temps (n-1)FIN
*
*
*>>8 Initialisation des champs variables pour TF
'SI' TBT . 'THERMP' ;
tic . 'KHEW' = tic . 'KHW' / (Rhomnm '*' Cpmnm) ;
tic . 'LHEW' = -1.0 * tic . 'KHEW' ;
tic . 'LHW' = -1.0 * tic . 'KHW' ;
'SI' tbt . 'THERCO' ;
'SINO' ;
'FINS' ;
'FINS' ;
'FINS' ;
'SI' TBT . 'TTIMP' ;
'REPE' BBTIMP NBTIMP ;
Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
CKHE1 = Btimp . 'KHE1' ;
CKH1 = Btimp . 'KH1' ;
tic . CKHE1 = tic . CKH1 '/' (Rhomnm '*' Cpmnm) ;
'FIN' BBTIMP ;
'FINS';
'SI' TBT . 'TECHANP' ;
tic . 'KHE0' = tic . 'KH0' '/' (Rhomnm '*' Cpmnm) ;
'FINS';
*>>8 Initialisation des champs variables pour TF FIN
*
*
*>>10 Gestion des recombineurs :
*
* Bilan 0D : Débit enthalpique (drhpar) et bilans de masse à cause de la
* combustion et de la décomposition de l'air en N2 et O2. Comme Qin=Qout
* aucune variation globale de la masse globale.
*
* Les conditions aux limites sont stockées dans rxt . 'RECOMB' . indice
* pour la vitesse et les densités partielles.
'SI' TBT . 'TRECOMB' ;
'SI' TBT . 'VAPEUR' ;
Qovp = Qovp '+' QO_H2Op ;
'FINS' ;
'SI' TBT . 'TH2' ;
Qoh2 = Qoh2 '+' QO_H2p ;
'FINS' ;
'SI' TBT . 'TN2' ;
Qon2 = Qon2 '+' QO_N2p ;
'FINS' ;
'SI' TBT . 'TO2' ;
Qoo2 = Qoo2 '+' QO_O2p ;
'FINS' ;
'FINS' ;
*>>10 Gestion des recombineurs FIN
*
*
*>>11 Avancement et stockage des grandeurs moyennes 0D au temps (n)
* à partir de l'intégrale des conditions aux limites
* (E/S, parois, PAR)
drh = drh '-' (Econvnm '-' Easp) '-' (Hcondnm '-' Hasp) '+' drhpar ;
Qtot = Qtot '+' Qasp '-' Qcnm ;
' Htot ' (Hcondnm '-' Hasp)
' drh=' drh ;
*
*>>11.1 Calcul par bilan 0D de Rhomn et Remn au temps (n)
*FD
*WARNING : On suppose que la masse est constante en ouvert
*WARNING : et Remn = Rho(n-1) Cv(n-1) Tk(n-1) en ouvert
*'SI' TBT . 'Tsortie' ;
* Rhomn = Rhomnm ;
* Remn = ('SOMT' (Diag * Rhonm * cvmnm * Tknm)) '/' VTotal ;
* tic . 'Rhomn' = tic . 'Rhomn' 'ET' ('PROG' Rhomn) ;
* tic . 'Remn' = tic . 'Remn' 'ET' ('PROG' Remn) ;
*'SINO' ;
(Rhomnm '+' (tic . 'DT' '*' Qtot '/' VTotal))) ;
*DEBUG
*'MESS' 'DEBUG Rhomnm Qtot Rhomn' ;
*'MESS' rhomnm ' ' (rhomnm '*' Vtotal) ;
*'MESS' qtot ' ' (tic . 'DT' '*' Qtot) ;
*'MESS' rhomn ' ' (rhomn '*' Vtotal) ;
*DEBUG
(Remnm '+' (tic . 'DT' '*' drh '/' VTotal)));
*'FINS' ;
*>>11.1 Calcul Rhomn et Remn FIN
*
*
*>>11.2 Calcul de l'énergie par condensation (il manque la convection)
* WARNING : Lorsque Lv dépendra de Tw on ne pourra pas
'SI' TBT.'THERMP' ;
Emurn = Emurnm '+' ( tic . 'DT' '*' Qcnm '*' TBT . 'Lv') ;
'FINS' ;
*>>11.2 Calcul de l'énergie par condensation (il manque la convection)
*
*
*>>11.3 Calcul par bilan 0D des densités moyennes au temps (n)
*FD
*WARNING Pourquoi s'intéresser au brouillard en suspension ?
*WARNING C'est bien Rmbronm car le brouillard est en (n-1)
*FD
Rmairn = Rhomn ;
'SI' TBT . 'VAPEUR' ;
(Rmvgnm '+' (tic . 'DT' '*' (Qovp '-' Qcnm '+' Qasp) '/' VTotal ))) ;
Rmvn = Rmvgn '-' Rmbronm ;
Rmairn = Rmairn '-' Rmvn ;
'FINS' ;
'SI' TBT . 'THE' ;
(Rmhenm '+' (tic . 'DT' '*' Qohe '/' VTotal ))) ;
Rmairn = Rmairn '-' Rmhen ;
'FINS' ;
'SI' TBT . 'TH2' ;
(Rmh2nm '+' (tic . 'DT' '*' Qoh2 '/' VTotal ))) ;
Rmairn = Rmairn '-' Rmh2n ;
'FINS' ;
'SI' TBT . 'TN2' ;
(Rmn2nm '+' (tic . 'DT' '*' Qon2 '/' VTotal ))) ;
Rmairn = Rmairn '-' Rmn2n ;
'FINS' ;
'SI' TBT . 'TO2' ;
(Rmo2nm '+' (tic . 'DT' '*' Qoo2 '/' VTotal ))) ;
Rmairn = Rmairn '-' Rmo2n ;
'FINS' ;
'SI' TBT . 'TCO' ;
(Rmconm '+' (tic . 'DT' '*' Qoco '/' VTotal ))) ;
Rmairn = Rmairn '-' Rmcon ;
'FINS' ;
'SI' TBT . 'TCO2';
(Rmco2nm '+' (tic . 'DT' '*' Qoco2 '/' VTotal ))) ;
Rmairn = Rmairn '-' Rmco2n ;
'FINS' ;
'SI' (Rmairn '<' 0.0) ;
'FINS' ;
*>>11.3 Calcul par bilan 0D des densités moyennes au temps (n)FIN
*
*
*>>12. Appel à la procédure PERSO
'SI' TBT . 'PERSO' ;
'SI' (TBT . 'IMPR' '>EG' 2) ;
' *' ;
'FINS' ;
'SI' (TBT . 'IMPR' '>EG' 2) ;
' *' ;
'FINS' ;
'FINS' ;
*>>12. Appel à la procédure PERSO FIN
*
*
*
*>>13. Résolution des EDP
*
*
* Terme source s de l'equation de QDM : divu = s
tic . 'DSRC' = ((-1.) '*' srcs '/' VTotal) ;
*DEBUG
*tic . 'DSRC' = ((-1.) '*' srcs '/' VTotal) ;
*'MESS' 'DSRC ' tic . 'DSRC' ;
*DEBUG
rv = TBT . 'RV' ;
*DEBUG
*tic . 'DSN2' = -1. '*' tic . 'DSRC' ;
*DEBUG
*
*>>13.1 CLIM injection u.n=uinj
'SI' TBT . 'TTsortie' ;
'REPE' BBRS NBR ;
Briches = rxt . 'Sorties' . (ibr.&BBRS) ;
gjo = gjo 'ET' (Briches . 'gj') ;
'FIN' BBRS ;
'FINS' ;
'SI' TBT . 'TTbreche' ;
** NBR = 'DIME' rxt . 'Breches' ;
** ibr = 'INDE' rxt . 'Breches' ;
** 'REPE' BBRS NBR ;
** Briches = rxt . 'Breches' . (ibr.&BBRS) ;
** gjo = gjo 'ET' (Briches . 'gj') ;
gjo = gjo 'ET' (tic . 'Breches' . 'UN') ;
** 'FIN' BBRS ;
'FINS' ;
*
* Modèle K-Epsilon EFM1 : K-Epsilon aux E/S
*FD
*WARNING Où le cas K-EPSILON Implicite est-il pris en compte ?
*FD
'SI' TBT . 'TTsortie';
Repeter BBRS NBR ;
Briches=rxt.'Sorties'.(ibr.&BBRS) ;
* mess ' Sorties CL pour QDM' (ibr.&BBRS) ;
gjs=Briches.'gj' ;
gjo= gjo et gk ;
gjo= gjo et ge ;
FIN BBRS ;
FINS ;
Si (TBT.'TTbreche') ;
** NBR=dime rxt.'Breches' ;
** ibr=index (rxt.'Breches') ;
** Repeter BBRS NBR ;
** Briches=rxt.'Breches'.(ibr.&BBRS) ;
* mess ' Breches CL pour QDM' (ibr.&BBRS) ;
** gjs=Briches.'gj' ;
gjs = tic . 'Breches' . 'UN' ;
gjo= gjo et gk ;
gjo= gjo et ge ;
** FIN BBRS ;
FINS ;
*---- Modèle K-Epsilon EFM1 -- FIN -------------------------
'FINS' ;
* Si il y a au moins une brèche ou une sortie
'SI' (TBT . 'TTbreche' 'OU' TBT . 'TTsortie') ;
rv . 'CLIM' = (rv . 'CLIM' '-' rv . 'CLIM') '+' gjo ;
'FINS' ;
* Si il y a des PARs
'SI' TBT . 'TRECOMB' ;
Urec0 = tic . 'RECOMB' . 'UN' ;
'SI' (TBT . 'TTbreche' 'OU' TBT . 'TTsortie') ;
rv . 'CLIM' = rv . 'CLIM' '+' Urec0 ;
'SINO' ;
rv . 'CLIM' = (rv . 'CLIM' '-' rv . 'CLIM') '+' Urec0 ;
'FINS' ;
'FINS' ;
*>>13.1 CLIM injection u.n=uinjFIN
*
'SI' (TBT . 'IMPR' '>EG' 2) ;
'FINS' ;
*
*>>13.2 Actualisation de tic . 'NUEFF' et tic . 'MUT'
*FD
*WARNING TTbreches et TTsortie non pris en compte pour K-EPSILON
*FD
*
tic . 'NU' = tic . 'Mu' '/' Rhomnm ;
'SI' TBT . 'FPAROI' ;
tic . 'YP' = rxt . 'YP' ;
'FINS' ;
*---- Modèle viscosité tourbillonnaire constante -----------
'SI' ('EGA' TBT . 'MODTURB' 'NUTURB') ;
tic . 'NUEFF' = tic . 'NU' + rxt . 'NUT' ;
'FINS' ;
*---- Modèle viscosité tourbillonnaire constante FIN
*---- Modèle de longueur de mélange ------------------------
'SI' ('EGA' TBT . 'MODTURB' 'LMEL') ;
un = tic . 'UN' ;
lm = TBT . 'LMEL' ;
NUT = lm '*' lm '*' (P**0.5) ;
* Réalisabilité sur Nut
Nu = tic . 'NU' ;
a = 5000. '*' Nu ;
al = 0.8 ;
ala = al '*' a ;
b = ala '*' ((2. '*' (1.-al)) '**' (-1.)) ;
'SI' (TBT . 'IMPR' '>EG' 2) ;
'FINS' ;
tic . 'NUEFF' = NUT '+' tic . 'NU' ;
'FINS' ;
*---- Modèle de longueur de mélange FIN
*---- Modèle K-Epsilon Implicite ---------------------------
'ET' ('NON' ('EGA' TBT . 'FEF' 'EFM1'))) ;
cnu = 0.09 ;
c1 = 1.44 ;
c2 = 1.92 ;
sgk = 1. ;
un = tic . 'UN' ;
Rrk = TBT . 'Rrk' ;
Rre = TBT . 'Rre' ;
En = tic . 'EN' ;
Kn = tic . 'KN' ;
* Réalisabilité sur Nut : Nut > 1.e-15
*Nut=Cnu * Kn * Kn * (inve En) ;
Nut = Lmi '*' Lma '*' (P '**' 0.5) ;
Nut = (ik*Nut) '+' ((1.-ik)*1.e-15) ;
* Nut P < En
*a= En * (inve P) * 0.133 ;
*a = En * ('INVE' P) * 0.133 ;
*al = 0.8 ;
*ala = al*a;
*b = ala*((2.*(1.-al))**(-1.)) ;
*ik = 'MASQ' Nut 'INFERIEUR' ala ;
*Nut=(ik*Nut)+( (1.-ik)*a*(Nut+b)*(inve (a+Nut+b))) ;
*Nut = kcht $vtf scal sommet Nut ;
Sk = Nut * P - ((KN**1.5)*(1./Lma)) ;
Se = EsK '*' (Nut * P - (c2*En)) ;
tic . 'Se' = Se ;
tic . 'Sk' = Sk ;
tic . 'NUEFF' = NUT + tic . 'NU' ;
*
'SI' (TBT . 'TTbreche' 'OU' TBT . 'TTsortie') ;
'MESS' 'K epsilon au revoir' ;
Rrk . 'CLIM' = cpv ;
'FINS' ;
Rrk . 'METHINV' . 'CALPREC' = calprec;
EXEC Rrk ;
Kn= tic . 'KN' ;
tic . 'KN' = Kn ;
*
'SI' (TBT . 'TTbreche' 'OU' TBT . 'TTsortie') ;
'MESS' 'K epsilon au revoir' ;
Rre . 'CLIM' = cpv ;
'FINS' ;
Rre . 'METHINV' . 'CALPREC' = calprec;
EXEC Rre ;
En= tic . 'EN' ;
tic . 'EN' = En ;
* Réalisabilité sur Nut
Nu = tic . 'NU' ;
a = 1500. '*' Nu ;
al = 0.8 ;
ala = al*a;
b = ala*((2.*(1.-al))**(-1.)) ;
tic . 'ala' = ala ;
tic . 'nut' = nut ;
Nutsnu = (1. '/' Nu) '*' Nut;
'SI' (TBT . 'IMPR' '>EG' 2) ;
'FINS' ;
tic . 'NUEFF' = NUT + tic . 'NU' ;
'FINS' ;
*---- Modèle K-Epsilon ImpliciteFIN
*---- Modèle K-Epsilon EFM1 --------------------------------
*FD
*WARNING D'ou vient tic . NUT ?
*FD
('EGA' TBT . 'FEF' 'EFM1')) ;
tic . 'NUEFF' = tic . 'NUT' + tic . 'NU' ;
'FINS' ;
*---- Modèle K-Epsilon EFM1 FIN
'SINO' ;
*---- Il n'y a pas de modèle de turbulence -----------------
tic . 'NUEFF' = tic . 'NU' ;
'FINS' ;
tic . 'MUT' = tic . 'NUEFF' * Rhomnm ;
*>>13.2 Actualisation de tic . 'NUEFF' et tic . 'MUT' FIN
*
*
*>>13.3 Résolution
rv . 'METHINV' . 'CALPREC' = calprec ;
'FINS' ;
RV . 'MRESOP' = VRAI ;
RV . 'TCPT' = rxt . 'TBT' . 'TCPT' ;
RV . 'TKPR' = rxt . 'TBT' . 'TKPR' ;
RV . 'TRESOU' = rxt . 'TBT' . 'TRESOU' ;
RV . 'IMPARA' = rxt . 'TBT' . 'IMPARA' ;
*
* NON TRTOUT = Aucun TKPR à VRAI (tout est séquentiel)
* alors on résout vitesse-pression en tête
*DEBUG
*'MESS' 'DEBUG CLIM en VITESSE' ;
*'LIST' rv . 'CLIM' ;
*DEBUG
'SI' ('NON' TBT . 'TRTOUT') ;
EXEC rv ;
'FINS' ;
*DEBUG
*'LIST' rxt . 'TIC' . 'UN' ;
*DEBUG
*
* Pour le // on concatène dans rv les résolutions à faire en //
* Puis on résout en // vitesse-pression et TKPR ad'hoc
'SI' TBT . 'TRTF' ;
rtf = rv ;
*FD
* Pourquoi n'a-t-on pas Rtf . 'resmn'
*FD
rtf . 'METHINV' . 'CALPREC' = calprec ;
'FINS' ;
'SI' (TBT . 'VAPEUR' 'ET' TBT . 'TRrvap') ;
Rrvap = rv ;
*FD
* Pourquoi n'a-t-on pas Rrvap . 'resmn'
*FD
Rrvap . 'METHINV' . 'CALPREC' = calprec ;
'FINS' ;
'SI' (TBT . 'THE' 'ET' TBT . 'TRrhe') ;
Rrhe = rv ;
Rrhe . 'METHINV' . 'CALPREC' = calprec ;
'FINS' ;
'SI' (TBT . 'TH2' 'ET' TBT . 'TRrh2') ;
Rrh2 = rv ;
Rrh2 . 'METHINV' . 'CALPREC' = calprec ;
'FINS' ;
'SI' (TBT . 'TO2' 'ET' TBT . 'TRro2') ;
Rro2 = rv ;
Rro2 . 'METHINV' . 'CALPREC' = calprec ;
'FINS' ;
'SI' (TBT . 'TN2' 'ET' TBT . 'TRrn2') ;
Rrn2 = rv ;
Rrn2 . 'METHINV' . 'CALPREC' = calprec ;
'FINS' ;
'SI' (TBT . 'TCO2' 'ET' TBT . 'TRrco2') ;
Rrco2 = rv ;
Rrco2 . 'METHINV' . 'CALPREC' = calprec ;
'FINS' ;
'SI' (TBT . 'TCO' 'ET' TBT . 'TRrco') ;
Rrco = rv ;
Rrco . 'METHINV' . 'CALPREC' = calprec ;
'FINS' ;
'SI' TBT . 'TRTOUT' ;
EXEC rv ;
'FINS' ;
*
* Résolution séquentielle des champs scalaires restant
* (ajout de la CLIM dans CLINC avant l'appel à EXEC)
*FD
* Les densités sont bornées par 1D-10 et MaxRHO dans CORMASSE
* On le faisait 2 fois avant : ici et dans CORMASSE !
*FD
'SI' (TBT . 'VAPEUR' 'ET' ('NON' TBT . 'TRrvap')) ;
Rrvap = TBT . 'Rrvap' ;
*FD
* Pourquoi n'a-t-on pas Rrvap . 'resmn' = tic . 'Rvp' NOMC 'RVP' ; ?
*FD
Rrvap . 'METHINV' . 'CALPREC' = calprec ;
EXEC Rrvap ;
'FINS';
'SI' (TBT . 'THE' 'ET' ('NON' TBT . 'TRrhe')) ;
Rrhe = TBT . 'Rrhe' ;
Rrhe . 'METHINV' . 'CALPREC' = calprec ;
EXEC Rrhe ;
'FINS' ;
'SI' (TBT . 'TH2' 'ET' ('NON' TBT . 'TRrh2')) ;
Rrh2 = TBT . 'Rrh2' ;
Rrh2 . 'METHINV' . 'CALPREC' = calprec ;
EXEC Rrh2 ;
'FINS' ;
'SI' (TBT . 'TO2' 'ET' ('NON' TBT . 'TRro2')) ;
Rro2 = TBT . 'Rro2' ;
Rro2 . 'METHINV' . 'CALPREC' = calprec ;
EXEC Rro2 ;
'FINS' ;
'SI' (TBT . 'TN2' 'ET' ('NON' TBT . 'TRrn2')) ;
Rrn2 = TBT . 'Rrn2' ;
Rrn2 . 'METHINV' . 'CALPREC' = calprec ;
EXEC Rrn2 ;
'FINS' ;
'SI' (TBT . 'TCO2' 'ET' ('NON' TBT . 'TRrco2')) ;
Rrco2 = TBT . 'Rrco2' ;
Rrco2 . 'METHINV' . 'CALPREC' = calprec ;
EXEC Rrco2 ;
'FINS' ;
'SI' (TBT . 'TCO' 'ET' ('NON' TBT . 'TRrco')) ;
Rrco = TBT . 'Rrco' ;
Rrco . 'METHINV' . 'CALPREC' = calprec ;
EXEC Rrco ;
'FINS' ;
*
* Résolution séquentielle de la température
* (ajout de la CLIM dans CLINC avant l'appel à EXEC)
'SI' ('NON' TBT . 'TRTF') ;
rtf = TBT . 'RTF' ;
rtf . 'METHINV' . 'CALPREC' = calprec ;
EXEC rtf ;
'FINS' ;
*
* Résolution séquentielle de la Tparoi découplée du fluide
* (le flux tic . 'FHP1' est calculé dans CONDENS)
'SI' TBT . 'THERMP' ;
'SI' ('NON' TBT . 'THERCO') ;
rtp = TBT . 'RTP' ;
'SI' (TBT . 'IMPR' '>EG' 2) ;
'FINS' ;
rtp . 'METHINV' . 'CALPREC' = calprec ;
EXEC rtp ;
'FINS' ;
Tp = tic . 'TP' ;
'FINS' ;
*
*>>13.3 Résolution FIN
*
*
*
*>>13.4 Bornage de TF(n)
*
* Calcul de Tfmi, minimum de la condition initiale
* et des conditions aux limites
CHrtf1 = rtf . 'CLIM';
*FD
* C'est quoi ce test charabia MArtf1=0 ?
*FD
'SI' ('NEG' MArtf1 0);
'FINS' ;
'SI' TBT.'ASPER ' ;
'FINS' ;
'SI' TBT.'THERMP' ;
'FINS' ;
'SI' TBT . 'TTIMP' ;
'REPE' BBTIMP NBTIMP ;
Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
'FIN' BBTIMP ;
'FINS' ;
'SI' TBT.'TECHANP' ;
'FINS' ;
*
* Borne inférieure de la température Tf(n) par Tfmi
*FD
* On n'a pas de raison d'imposer la positivité sur Tf (en C)
* Tfn = 'KOPS' Tfn '|<' ('MAXI' ('PROG' tfmi 0.)) ;
*FD
tic . 'TF' = Tfn ;
Tkn = Tfn '+' 273.15 ;
*>>13.4 Bornage de TF(n) FIN
*
*
*>>13.5 Aspersion
'SI' TBT.'ASPER ' ;
*** RVN *** Velocita gocce
rvn = TBT.'RVN' ;
rvn.'CLIM' = (rvn.'CLIM' '-' rvn.'CLIM') '+' vnj ;
rvn.'METHINV'.'CALPREC' = calprec ;
EXEC rvn ;
*** RXD *** Frazione volume fase dispersa
rxd = TBT.'RXD' ;
rxd.'CLIM' = (rxd.'CLIM' '-' rxd.'CLIM') '+' xdj ;
rxd.'METHINV'.'CALPREC' = calprec ;
EXEC rxd ;
*** RTD *** Temperature fase dispersa
rtd = TBT.'RTD' ;
rtd.'CLIM' = (rtd.'CLIM' '-' rtd.'CLIM') '+' tdj ;
rtd.'METHINV'.'CALPREC' = calprec ;
EXEC rtd ;
*** RDD *** Diametro fase dispersa
rdd = TBT.'RDD' ;
rdd.'CLIM' = (rdd.'CLIM' '-' rdd.'CLIM') '+' ddj ;
rdd.'METHINV'.'CALPREC' = calprec ;
EXEC rdd ;
'FINS' ;
*>>13.5 Aspersion FIN
*
*
*
*>>13. Résolution des EDP FIN
*
*
*
*>>14. Contraintes bilans de masse 0D
drclair = 0. ;
'SI' TBT . 'VAPEUR' ;
drclair = drclair '+' drclvp ;
'SI' corlim ;
Rmvgn2 = Rmvgn ;
'SINO' ;
Rmvgn2 = Rmvgn '+' drclvp ;
'FINS' ;
* Rmvn = Rmvgn '-' Rmbronm ;
MV0D = Rmvgn2 '*' Vtotal ;
tic . 'RVP' = Rvp ;
tic . 'ROVP' = tic . 'RVP' ;
tic . 'Mdrvap' = tic . 'Mdrvap' 'ET' (dRhov '*' Vtotal) ;
'SINO' ;
tic . 'RVP' = Rvp ;
'FINS' ;
'SI' TBT . 'THE' ;
drclair = drclair '+' drclhe ;
'SI' corlim ;
Rmhen2 = Rmhen ;
'SINO' ;
Rmhen2 = Rmhen '+' drclhe ;
'FINS' ;
MHE0D = Rmhen2 '*' Vtotal ;
tic . 'RHE' = Rhe ;
tic . 'Mdrhe' = tic . 'Mdrhe' 'ET' (dRhohe '*' Vtotal) ;
'FINS' ;
'SI' TBT . 'TH2' ;
drclair = drclair '+' drclh2 ;
'SI' corlim ;
Rmh2n2 = Rmh2n ;
'SINO' ;
Rmh2n2 = Rmh2n '+' drclh2 ;
'FINS' ;
MH20D = Rmh2n2 '*' Vtotal ;
tic . 'RH2' = Rh2 ;
tic . 'Mdrh2' = tic . 'Mdrh2' 'ET' (dRhoh2 '*' Vtotal) ;
'FINS' ;
'SI' TBT . 'TO2' ;
drclair = drclair '+' drclo2 ;
'SI' corlim ;
Rmo2n2 = Rmo2n ;
'SINO' ;
Rmo2n2 = Rmo2n '+' drclo2 ;
'FINS' ;
MO20D = Rmo2n2 '*' Vtotal ;
tic . 'RO2' = Ro2 ;
tic . 'Mdro2' = tic . 'Mdro2' 'ET' (dRhoo2 '*' Vtotal) ;
'FINS' ;
'SI' TBT . 'TN2' ;
drclair = drclair '+' drcln2 ;
'SI' corlim ;
Rmn2n2 = Rmn2n ;
'SINO' ;
Rmn2n2 = Rmn2n '+' drcln2 ;
'FINS' ;
MN20D = Rmn2n2 '*' Vtotal ;
tic . 'RN2' = Rn2 ;
tic . 'Mdrn2' = tic . 'Mdrn2' 'ET' (dRhon2 '*' Vtotal) ;
'FINS' ;
'SI' TBT . 'TCO' ;
drclair = drclair '+' drclco ;
'SI' corlim ;
Rmcon2 = Rmcon ;
'SINO' ;
Rmcon2 = Rmcon '+' drclco ;
'FINS' ;
MCO0D = Rmcon2 '*' Vtotal ;
tic . 'RCO' = Rco ;
tic . 'Mdrco' = tic . 'Mdrco' 'ET' (dRhoco '*' Vtotal) ;
'FINS' ;
'SI' TBT . 'TCO2' ;
drclair = drclair '+' drclco2 ;
'SI' corlim ;
Rmco2n2 = Rmco2n ;
'SINO' ;
Rmco2n2 = Rmco2n '+' drclco2 ;
'FINS' ;
MCO20D = Rmco2n2 '*' Vtotal ;
tic . 'RCO2' = Rco2 ;
tic . 'Mdrco2' = tic . 'Mdrco2' 'ET' (dRhoco2 '*' Vtotal) ;
'FINS' ;
*>>14. Contraintes bilans de masse 0D FIN
*
*
*>>15. Calcul de la PRESSION P(n) et de la densité Rho(n)
*
* Condensation en masse à Tf=cst
'SI' TBT . 'CONDMAS' ;
*
* Densité de vapeur avant la séparation de phase sans brouillard initial
Rho_b = 0. '*' Rvp ;
Rho_v = Rvp '+' Rho_b ;
*
* Pressions de vapeur, à saturation et totale (locale)
* P_v = Rvp '*' tbt . 'Rgvap' '*' Tkn ;
*
* Titre thermodynamique (locale)
* H_v = 'VARI' 'HVS' P_v Tkn ;
* H_vs = 'VARI' 'HVS' P_vs Tkn ;
* H_l = 'VARI' 'HLS' P_tot Tkn ;
* xth = (H_v '-' H_l) '/' (H_vs '-' H_l) ;
Rho_min = Rho_v '+' Rho_vs '-' ('ABS' (Rho_v '-' Rho_vs)) '/' 2. ;
xth = Rho_min '/' Rho_v ;
alpha = 1. ;
* txt1 = 'CHAI' 'Titre vapeur au temps t=' tps ;
* 'TRAC' vtf ('CONT' vtf) xth 'TITR' txt1 'NCLK' ;
* 'TRAC' vtf ('CONT' vtf) xth ;
* mm1 = 'MINI' xth ; mm2 = 'MAXI' xth ; 'MESS' 'xth mini maxi' ' ' mm1 ' ' mm2;
*
* Séparation de phase avec relaxation (sur-saturation locale)
Rho_b = 0. * (1. '-' alpha) '*' (1. '-' xth) '*' Rho_v ;
Rho_l = alpha '*' (1. '-' xth) '*' Rho_v ;
Rho_v = Rho_v '-' Rho_l ;
*
* Masse condensée (globale), correction de pression et d'énergie 0D associée
*
DE_cm = M_l '/' (Gamnm '-' 1.) ;
Ptmn = Ptmn '-' DP_cm ;
Remn = Remn '-' DE_cm ;
*FD
* ROVP est appelé à disparaitre car le brouillard n'a rien à faire dans
* RVP ou alors RVP sert à transporter la pluie et le brouillard mais
* comment séparer ensuite pour avoir la pluie à l'instant d'avant ?
*FD
*
* Sauvegarde 0D au temps (n)
Mliqn = M_l ;
Mbron = M_b ;
Mcondmn = Mcondmnm '+' M_l ;
Rhomn = Rhomn '+' (Mbronm '-' (M_l '+' M_b) '/' Vtotal) ;
Rmvn = M_v '/' Vtotal ;
Rmliqn = M_l '/' Vtotal ;
Rmbron = M_b '/' Vtotal ;
Rmvgn = Rmvn '+' Rmbron ;
Qcmn = M_l '/' tic . 'DT' ;
*
* Sauvegarde CFD
Rvp = Rho_v ;
tic . 'RBRO' = Rho_b ;
tic . 'RVP' = Rho_v '+' Rho_b ;
tic . 'ROVP' = Rho_v ;
*
'SINO' ;
'FINS' ;
*
* Incrément de pression et densité au temp (n)
Pta = (Gamnm '-' 1.) '*' Remn ;
DPDT = (Pta '-' Ptmnm) '/' tic . 'DT' ;
Rhon = Ptmn '*' irtf ;
*
* Sauvegarde
tic . 'RHO' = Rhon ;
*>>15. Calcul de la PRESSION P(n) et de la densité Rhot(n) FIN
*
*
*>>16. Contrainte sur la densité après condensation en masse
dRho = ((Rhomn '*' VTotal) '-' Rhomnt) '/' Vtotal ;
tic . 'RHO' = Rhon ;
*DEBUG
*'MESS' 'DEBUG drho RHO 16.' ;
*'LIST' tic . 'drho' ;
*'LIST' tic . 'RHO' ;
*DEBUG
*>>16. Contrainte sur la densité après condensation en masse FIN
*
*
*>>17. Contrainte sur la densité de l'air
*FD
* On se fout du transport de l'air
*FD
*'SI' TBT . 'TAIR' ;
* Rair = tic . 'RAIR' ;
*'SINO' ;
* Rair = Rhon - Rvp - Rhe - Rh2 - Ro2 - Rn2 - Rco2 - Rco;
* tic . 'RAIR' = Rair ;
*'FINS' ;
*FD
* Pourquoi Mdrair n'est-il pas nul ? On a pourtant corrigé Rhon,
* la vapeur et chaque incondensable !
*FD
Rair = Rhon - Rvp - Rhe - Rh2 - Ro2 - Rn2 - Rco2 - Rco ;
tic . 'RAIR' = Rair ;
'SI' (mRairn '<' 0.0) ;
'FINS' ;
*DEBUG
*'MESS' 'DEBUG Rair 17.' ;
*'LIST' Rair ;
*'LIST' tic . 'RAIR' ;
*'MESS' 'Rmairn :' rmairn ' ' 'MAIR0D :' (Rmairn '*' Vtotal) ;
*VOLi = 'DOMA' $vtf 'XXDIAGSI' ;
*VTotal = 'SOMT' VOLi ;
*Rair = 'KOPS' Rair '|<' 1.e-10 ;
*Rair = 'KOPS' Rair '>|' MaxRho ;
*MiCFD = 'SOMT' (VOLi '*' Rair) ;
*'MESS' 'MICFD :' micfd ;
*'LIST' rair ;
*DEBUG
'SI' corlim ;
Rmairn2 = Rmairn ;
'SINO' ;
Rmairn2 = Rmairn '-' drclair ;
'FINS' ;
'SI' (Rmairn '<' 0.0) ;
'FINS' ;
*Rmairn2 = Rmairn ;
MAIR0D = Rmairn2 '*' Vtotal ;
*dRhoair Rdumy MAIRMD = CORMASSE $vtf tic . 'RAIR' MAIR0D MaxRho ;
tic . 'RAIR' = Rair ;
*dRhoair Rair2 MAIRMD = CORMASSE $vtf Rair MAIR0D MaxRho ;
*tic . 'RAIR' = Rair2 ;
*Rair = Rair2 ;
tic . 'Mdrair' = tic . 'Mdrair' 'ET' (dRhoair '*' Vtotal) ;
*DEBUG
*'LIST' Rair ;
*'MESS' 'MAIRMD :' MAIRMD ' ' 'Mdrair :' (dRhoair '*' Vtotal) ;
*DEBUG
*>>17. Contrainte sur la densité de l'air FIN
*
*
*>>18. Contrainte 0D sur Tf / Remn = Remnm +dt*drh/V
*FD
* WARNING Cv n'est pas actualise
* WARNING On ne considere pas le brouillard
*FD
'SI' TBT . 'CORTEMP' ;
dE = (Remn '*' Vtotal) '-' Emnt ;
'SINO' ;
dE = 0. ;
'FINS' ;
Tkn = Tfn '+' 273.15 ;
tic . 'TF' = Tfn ;
*>>18. Contrainte 0D sur Tf FIN
*
*DEBUG
*'LIST' xth ;
*'LIST' TKN ;
*DEBUG
*
*>>19. Conservation energie dans le mur
*FD
* WARNING A vérifier
*FD
'SI' (TBT . 'THERMP' 'ET' ('NON' TBT . 'TPAROIS')) ;
(tp01 '+' 273.15 ) ) ) '/' Vtotalp1 ;
tic . 'TP' = Tp ;
'FINS' ;
'SI' TBT . 'TPAROIS' ;
ROCP = 0.;
'REPE' BPRS NPAR ;
Parois = rxt . 'PAROIS' . (ipr.&BPRS) ;
Diagpi = GEO . (ipr . &BPRS) . 'Diagp' ;
Rocpi = tic . CROCP ;
ROCP = ROCP '+' (Rocpi '*' Diagpi) ;
'FIN' BPRS ;
Diagp = GEO . 'Diagp' ;
'/' Vtotalp ;
tic . 'TP' = Tp ;
'FINS' ;
*>>19. Conservation energie dans le murFIN
*
*
*>>20. Température moyenne gaz et paroi
Tkmn = (Remn '*' Vtotal)
Tfmn = Tkmn - 273.15 ;
*
'SI' TBT . 'THERMP' ;
'/' GEO . 'VTotalp' ;
'FINS' ;
*>>20. Température moyenne gaz et paroiFIN
*
*>>21. Actualisation des proprietes physiques
*
*>>21.1 Cp (Tfm) et mu(Tkm)
*DEBUG
*'MESS' 'Energie moyenne :' remn ;
*'MESS' 'Temp moyenne :' tkmn ' ' tfmn ;
*DEBUG
Cpvap = TBT . 'Cpvap' ;
*>>21.1 Cp (Tfm) et mu(Tkm) FIN
*
*
*>>21.2 Mise à jour des fractions massiques Yi(n)
*FD
* Rhon a été calculé et corrigé pour avoir la masse 0D.
* Inutile donc d'en remettre une couche.
*FD
Rhont = Rair + Rvp + Rhe + Rh2 + Ro2 + Rn2 + Rco + Rco2 ;
'SI' TBT . 'VAPEUR' ;
Yair = Yair '-' Yvap ;
tic . 'YVAP' = Yvap ;
'FINS' ;
'SI' TBT . 'THE' ;
Yair = Yair '-' Yhe ;
tic . 'YHE' = Yhe ;
'FINS' ;
'SI' TBT . 'TH2' ;
Yair = Yair '-' Yh2 ;
tic . 'YH2' = Yh2 ;
'FINS' ;
'SI' TBT . 'TO2' ;
Yair = Yair '-' Yo2 ;
tic . 'YO2' = Yo2 ;
'FINS' ;
'SI' TBT . 'TN2' ;
Yair = Yair '-' Yn2 ;
tic . 'YN2' = Yn2 ;
'FINS' ;
'SI' TBT . 'TCO2' ;
Yair = Yair '-' Yco2 ;
tic . 'YCO2' = Yco2 ;
'FINS' ;
'SI' TBT . 'TCO' ;
Yair = Yair '-' Yco ;
tic . 'YCO' = Yco ;
'FINS' ;
tic . 'YAIR' = Yair ;
*>>21.2 Mise à jour des fractions massiques Yi(n) FIN
*
*
*>>21.3 Mise à jour des propriétés gaz (loi de mélange)
*
* Calcul de la constante des gaz du mélange Rgp
Rgpn = (Rgvap '*' Yvap) '+' (Rgair '*' Yair)
'+' (Rghe '*' Yhe ) '+' (Rgh2 '*' Yh2 )
'+' (Rgo2 '*' Yo2 ) '+' (Rgn2 '*' Yn2 )
'+' (Rgco '*' Yco ) '+' (Rgco2 '*' Yco2) ;
*
* Calcul du Cp du mélange
Cp = (Cpvap '*' Yvap) '+' (Cpair '*' Yair)
'+' (Cphe '*' Yhe ) '+' (Cph2 '*' Yh2 )
'+' (Cpo2 '*' Yo2 ) '+' (Cpn2 '*' Yn2 )
'+' (Cpco '*' Yco ) '+' (Cpco2 '*' Yco2) ;
*
* Calcul de la viscosité du mélange Mu
Mu = (Muvap '*' Yvap) '+' (Muair '*' Yair)
'+' (Muhe '*' Yhe ) '+' (Muh2 '*' Yh2 )
'+' (Muo2 '*' Yo2 ) '+' (Mun2 '*' Yn2 )
'+' (Muco '*' Yco ) '+' (Muco2 '*' Yco2) ;
*
* Calcul des moyennes de Rg, Cp, Cv et Gamma
Cvmn = Cpmn '-' Rgpmn ;
Gamn = Cpmn '/' Cvmn ;
*
tic . 'Mu' = Mu ;
tic . 'Rgp' = Rgpn ;
*>>21.3 Mise à jour des propriétés gaz FIN
*
*>>21. Actualisation des proprietes physiques FIN
*
*
*>>22. Calcul du terme source de l'equation energie
stf = DPDT '/' (Cpmn '*' Rhomn) ;
tic.'STF' = stf ;
*>>22. Calcul du terme source de l'equation energie FIN
*
*
*>>23. Calcul de l'energie convective
*FD
* WARNING : Cette énergie sert à calculer la puissance perdue pour la
* correction de l'énergie au pas de temps suivant. Mais c'est faux car
* suivant THERCO on ne fait pas la même chose puisque le 'FLUX' n'est pas
* le même !
*FD
Econvw = 0.0 ;
Econvi = 0.0 ;
Econv0 = 0.0 ;
'SI' (TBT . 'THERMP' 'ET' TBT . 'TPAROIF') ;
Tp = tic . 'TP' ;
'SI' tbt . 'THERCO' ;
'SINO' ;
'FINS' ;
'FINS' ;
'SI' TBT . 'TTIMP' ;
'REPE' BBTIMP NBTIMP ;
Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
Tbp1 = tic . (Btimp . 'TBP1') ;
CKH1 = Btimp . 'KH1' ;
Econvi = Econvi
'FIN' BBTIMP ;
'FINS' ;
'SI' TBT . 'TECHANP';
Tbp0 = tic . 'TBP0' ;
'FINS' ;
Econvn = Econvw '+' Econvi '+' Econv0 ;
*>>23. Calcul de l'energie convective FIN
*
*
*>>24. Bilan Aspersion
Easp = 0.0 ;
Hasp = 0.0 ;
Qasp = 0.0 ;
'SI' TBT . 'ASPER ' ;
Td = tic . 'TD' ;
Hgas = tic . 'HGAS' ;
'*' Rhomnm '*' Cpmnm ;
srvp = tic . 'SRVP' ;
*****modif 2005 (température goutte max et min)
Td = tic . 'TD' ;
'FINS' ;
*>>24. Bilan Aspersion FIN
*
*
*>>25. Prediction de la condensation pour le pas suivant
* Qc = Qcw + Qci + Qc1 + Qc2 + QC3 + Qc0
* paroif $mtpi $mtp1 $mtp2 $mtp3 $mtp0
* TTIMP TIMP? TIMP2 TIMP3 ????
Qc = 0. ;
Econd = 0. ;
Hcond = 0. ;
*
*>>25.1 Condensation en paroi thermique
'SI' (TBT . 'VAPEUR' 'ET' TBT . 'TPAROIF') ;
KHcu = rxt . 'ECHAN' ;
Qcw Fcondw Econdw Hcondw KKC ROVI FHP HT
tic . 'KKCW' = KKC ;
tic . 'ROVIW' = ROVI ;
tic . 'FHPW' = FHP ;
'SI' tbt . 'THERCO' ;
tic . 'KHW' = HT ;
'SINO' ;
'FINS' ;
tic.'Fcondw'=Fcondw ;
*'MESS' 'Calcul des flux condenses ' Qcw 'kg/s';
Qc = Qc '+' Qcw ;
Econd = Econd '+' Econdw ;
Hcond = Hcond '+' Hcondw ;
'SINO' ;
Qcw = 0. ;
Econdw = 0. ;
Hcondw = 0. ;
'FINS' ;
*>>25.1 Condensation en paroi thermiqueFIN
*
*
*>>25.2 Condensation en paroi à température imposée i
'SI' (TBT . 'VAPEUR' 'ET' TBT . 'TTIMP') ;
'REPE' BBTIMP NBTIMP ;
Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
tic . (Btimp . 'TPI1') =
KHcu = Btimp . 'ECHAN' ;
CTPI1 = Btimp . 'TPI1' ;
Qc1 Fcond1 Econd1 Hcond1 KKC ROVI FHP HT
CKKC1= Btimp . 'KKC1' ;
CROVI1 = Btimp . 'ROVI1' ;
CFHP1= Btimp . 'FHP1' ;
CKH1 = Btimp . 'KH1' ;
CFcond1 = Btimp . 'Fcond1' ;
tic . CKKC1 = KKC ;
tic . CROVI1 = ROVI ;
tic . CFHP1 = FHP ;
tic . CFcond1 = Fcond1 ;
Qc = Qc '+' Qc1 ;
Econd= Econd '+' Econd1 ;
Hcond= Hcond '+' Hcond1 ;
Mcond1 = Qc1 '*' tic . 'DT' ;
McondT1 = McondT1 '+' Mcond1 ;
CQc1 = Btimp . 'Qc1' ;
'FIN' BBTIMP ;
'FINS' ;
*>>25.2 Condensation en paroi à température imposée i FIN
*
*
*
*>>25.5 Condensation en paroi à flux imposé
'SI' (TBT . 'VAPEUR' 'ET' TBT . 'TECHANP') ;
tic . 'TPI0' =
KHcu = rxt . 'ECHANP' . 'ECHAN' ;
Qc0 Fcond0 Econd0 Hcond0 KKC ROVI FHP HT
tic . 'KKC0' = KKC ;
tic . 'ROVI0' = ROVI ;
tic . 'FHP0' = FHP ;
tic . 'Fcond0' = Fcond0 ;
Qc = Qc '+' Qc0 ;
Econd = Econd '+' Econd0 ;
Hcond = Hcond '+' Hcond0 ;
'SINO' ;
Qc0 = 0. ;
Econd0 = 0. ;
Hcond0 = 0. ;
'FINS' ;
*>>25.5 Condensation en paroi à flux imposé FIN
*
*>>25. Prediction de la condensation pour le pas suivant FIN
*
*
*>>26. Aspersion
'SI' TBT . 'ASPER ' ;
asparam rxt ;
'FINS' ;
*>>26. Aspersion FIN
*
*
*>>27. Avancement en temps
*FD
*WARNING Confusion entre stockage et avancée en temps.
*WARNING Les deux fonctions devraient être séparées. On devrait avoir
*WARNING un basculement : xxxnm = xxxn
*WARNING un stockage : tic . xxx = tic . xxx et (prog xxn)
*WARNING -> avant la boucle en temps, xxxnm = initialisation
*FD
* Calcul densité drho/rho pour le terme de flotabilite
*FD
*WARNING Tordre le coup à l'ambiguité entre rho et rhot
*FD
*Rhop = (-1.) '*' (Rhomn '-' Rho) '*' (Rho **(-1.0)) ;
Rhop = (-1.) '*' (Rhomn '-' Rhont) '*' (Rhont **(-1.0)) ;
*DEBUG
*'MESS' ' rhop' ;
*'LIST' rhop ;
*DEBUG
tic . 'Rhop' = Rhop ;
'SI' DIM3D ;
'SINO' ;
'FINS' ;
*
* Vitesse max
un = tic . 'UN' ;
*
* Bilan masse / condensation
Qcn = Qc ;
Minj = (Qeau '+' Qlj) '*' tic . 'DT' ;
MinjT = MinjT '+' Minj ;
Mcond = Qc '*' tic . 'DT' ;
McondT = McondT '+' Mcond '+' Mliqn ;
Mrest = (Qeau '-' Qc '+' Qasp) '*' tic . 'DT' '-' Mliqn ;
MrestT = MrestT '+' Mrest ;
'SI' TBT . 'VAPEUR' ;
*FD
*WARNING Il manque la structure Parois + TECHANP qui est en commentaire ?
*FD
'SI' TBT . 'TPAROIF';
Mcondw= Qcw '*' tic . 'DT' ;
McondTw = McondTw '+' Mcondw ;
'FINS' ;
'SI' TBT . 'TECHANP';
Mcond0 = Qc0 '*' tic.'DT' ;
*McondT0 = McondT0 '+' Mcond0 ;
*tic . 'Mcond0' = tic . 'Mcond0' 'ET' ('PROG' McondT0) ;
'FINS' ;
'FINS' ;
Econdn = Econd ;
* tic . 'Econdw' = tic . 'Econdw' 'ET' ('PROG' Econdw) ;
* tic . 'Econd1' = tic . 'Econd1' 'ET' ('PROG' Econd1) ;
* tic . 'Econd2' = tic . 'Econd2' 'ET' ('PROG' Econd2) ;
* tic . 'Econd3' = tic . 'Econd3' 'ET' ('PROG' Econd3) ;
Hcondn = Hcond ;
* tic . 'Hcondw' = tic . 'Hcondw' 'ET' ('PROG' Hcondw) ;
* tic . 'Hcond1' = tic . 'Hcond1' 'ET' ('PROG' Hcond1) ;
* tic . 'Hcond2' = tic . 'Hcond2' 'ET' ('PROG' Hcond2) ;
* tic . 'Hcond3' = tic . 'Hcond3' 'ET' ('PROG' Hcond3) ;
*
*>> Affichage
'SI' (TBT . 'IMPR' '>EG' 2) ;
&bcltps ' ' 'DT=' ' ' tic . 'DT' ' ' '*******' ;
*
'SI' TBT . 'TTbreche' ;
'REPE' BBRS NBR ;
Briches = rxt . 'Breches' . (ibr . &BBRS) ;
'MESS' '____________________________________________________________';
'SI' TBT . 'VAPEUR' ;
'FINS' ;
'MESS' '____________________________________________________________';
'FIN' BBRS ;
'FINS' ;
'MESS' '____________________________________________________________';
'MESS' ' ' ;
'SI' TBT . 'VAPEUR' ;
'MESS' '____________________________________________________________';
(Mliqn '/' tic . 'DT') ;
' ' '(cumul)' ' ' MinjT ;
' ' '(cumul)' ' ' MrestT ;
' ' '(cumul)' ' ' McondT ;
'SI' TBT.'TPAROIF' ;
' ' '(cumul)' ' ' McondTw ;
'FINS' ;
*FD
*WARNING Nouvelles structures TTIMP non affichées
*FD
'SI' TBT . 'TTIMP' ;
'REPE' BBTIMP NBTIMP ;
Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
ndl1 = ndl '+' 1 ;
' ' '(cumul)' ' ' McondT1 ' (' (itimp . &bbtimp) ')' ;
'FIN' BBTIMP ;
'FINS' ;
'MESS' ' ' ;
'MESS' '____________________________________________________________';
'MESS' ' ' ;
'FINS' ;
'MESS' '____________________________________________________________';
'SI' TBT . 'VAPEUR' ;
'FINS' ;
'SI' TBT . 'THE' ;
'FINS' ;
'SI' TBT . 'TH2' ;
'FINS' ;
'SI' TBT . 'TO2' ;
'FINS' ;
'SI' TBT . 'TN2' ;
'FINS' ;
'SI' TBT . 'TCO' ;
'FINS' ;
'SI' TBT . 'TCO2' ;
'FINS' ;
'SI' TBT . 'TPAROIF' ;
KHWm = tic . 'KHW' ;
'SINO' ;
'SI' tbt . 'THERCO' ;
KHW1 = tic . 'KHW' ;
'SINO' ;
'FINS' ;
'FINS' ;
'FINS' ;
'SI' TBT . 'TTIMP' ;
'REPE' BBTIMP NBTIMP ;
Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
'MESS'
'Tparoi' ' ' (itimp . &BBTIMP) ' ' '(oC)' tic . (Btimp . 'TBP1') ;
'SI' TBT . 'VAPEUR' ;
CKH1 = Btimp . 'KH1' ;
'SINO' ;
KH1m = tic . CKH1 ;
'FINS' ;
'FIN' BBTIMP ;
'FINS' ;
'SINO';
'FINS';
'MESS' '____________________________________________________________';
'MESS' ' ' ;
'MESS' '____________________________________________________________';
'SI' TBT . 'VAPEUR' ;
'FINS' ;
'SI' TBT . 'THE' ;
'FINS' ;
'SI' TBT . 'TH2' ;
'FINS' ;
'SI' TBT . 'TO2' ;
'FINS' ;
'SI' TBT . 'TN2' ;
'FINS' ;
'SI' TBT . 'TCO' ;
'FINS' ;
'SI' TBT . 'TCO2' ;
'FINS' ;
'MESS' ' ' ;
'MESS' '____________________________________________________________';
*FD
* WARNING A mettre ailleurs
M0D = Rhomn '*' Vtotal ;
MMD = Rhomnt ;
E0D = Remn ;
EMD = Remnt ;
*FD
' ' '----- Err.Rel.(%)' ;
(100. '*' (M0D '-' MMD) '/' M0D) ;
'SI' (TBT . 'VAPEUR' 'ET' ('NON' ('EGA' MV0D 0.))) ;
(100. '*' (MV0D '-' MVMD) '/' MV0D) ;
'FINS' ;
'SI' (TBT . 'THE' 'ET' ('NON' ('EGA' MHE0D 0.))) ;
(100. '*' (MHE0D '-' MHEMD) '/' MHE0D) ;
'FINS' ;
'SI' (TBT . 'TH2' 'ET' ('NON' ('EGA' MH20D 0.))) ;
(100. '*' (MH20D '-' MH2MD) '/' MH20D) ;
'FINS' ;
'SI' (TBT . 'TO2' 'ET' ('NON' ('EGA' MO20D 0.))) ;
(100. '*' (MO20D '-' MO2MD) '/' MO20D) ;
'FINS' ;
'SI' (TBT . 'TN2' 'ET' ('NON' ('EGA' MN20D 0.))) ;
(100. '*' (MN20D '-' MN2MD) '/' MN20D) ;
'FINS' ;
'SI' (TBT . 'TCO' 'ET' ('NON' ('EGA' MCO0D 0.))) ;
(100. '*' (MCO0D '-' MCOMD) '/' MCO0D) ;
'FINS' ;
'SI' (TBT . 'TCO2' 'ET' ('NON' ('EGA' MCO20D 0.))) ;
(100. '*' (MCO20D '-' MCO2MD) '/' MCO20D) ;
'FINS' ;
*** 'SI' (TBT . 'TAIR' 'ET' ('NON' ('EGA' MAIR0D 0.))) ;
'SI' ('NON' ('EGA' MAIR0D 0.)) ;
(100. '*' (MAIR0D '-' MAIRMD) '/' MAIR0D) ;
'FINS' ;
'MESS' ' ' ;
(100. '*' (E0D '-' EMD) '/' E0D) ;
'MESS' '___________________________________________________________' ;
'SI' TBT.'THERMP' ;
(100. '*' (Emurn '-' Emurm) '/' Emurn) ;
'MESS' '___________________________________________________________' ;
'FINS' ;
'FINS' ;
*>> Affichage FIN
*
*
*>> Copie des inconnues (n)->(n-1) pour le prochain pas de temps
*tic . 'RHONM' = Rhon ;
'SI' TBT . 'VAPEUR' ; tic . 'RVPNM' = Rvp ; 'FINS' ;
'SI' TBT . 'THE' ; tic . 'RHEM' = Rhe ; 'FINS' ;
'SI' TBT . 'TH2' ; tic . 'RH2M' = Rh2 ; 'FINS' ;
'SI' TBT . 'TO2' ; tic . 'RO2M' = Ro2 ; 'FINS' ;
'SI' TBT . 'TN2' ; tic . 'RN2M' = Rn2 ; 'FINS' ;
'SI' TBT . 'TCO' ; tic . 'RCOM' = Rco ; 'FINS' ;
'SI' TBT . 'TCO2' ; tic . 'RCO2M' = Rco2 ; 'FINS' ;
*'SI' TBT . 'TAIR' ; tic . 'RAIRM' = Rair ; 'FINS' ;
* tic . 'RAIRM' = Rair ;
tic . 'TFNM' = Tfn ;
'SI' TBT . 'THERMP' ;
tic . 'TPNM' = Tp ;
'FINS' ;
'ET' ('EGA' TBT . 'FEF' 'EFM1')) ;
tic . 'KNM' = tic . 'KN' ;
tic . 'ENM' = tic . 'EN' ;
'FINS' ;
'SI' TBT.'ASPER ';
tic . 'VNM' = tic .'VN' ;
tic . 'XDM' = tic .'XD' ;
tic . 'TDM' = tic .'TD' ;
tic . 'DDM' = tic .'DD' ;
'FINS' ;
*>> Copie des inconnues (n)->(n-1) FIN
*
*
*>> Gestion du pas de temps en EFM1
*
* On impose une 'CFL' de 0.5
* Il ne peut pas dépasser le pas de temps de référence
* Si il varie de plus de 10% on limite l'accroissement
'SI' ('EGA' TBT . 'FEF' 'EFM1') ;
DTDIFU = rv . 'PASDETPS' . 'DTDIFU' ;
DTCONV = rv . 'PASDETPS' . 'DTCONV' ;
DTM1 = tic . 'DT' ;
ect = (DTEXPL '-' tic . 'DT') '/' DTEXPL ;
'SI' (ect '>' 0.1) ;
tic . 'DT' = (0.3 '*' DTEXPL) '+' (0.7 '*' tic . 'DT');
'FINS' ;
'SI' (ect '<' 0.1 ) ;
tic . 'DT' = DTEXPL ;
'FINS' ;
'SI' (rxt . 'DT0' < DTEXPL) ;
tic . 'DT' = rxt . 'DT0' ;
'FINS' ;
rv . 'PASDETPS' . 'NUPASDT' = tic . 'NUPADT' ;
rv . 'PASDETPS' . 'DELTAT-1' = DTM1 ;
rv . 'PASDETPS' . 'DELTAT' = 1.e30 ;
rv . 'PASDETPS' . 'TPS' = tic . 'Tps' ;
'FINS' ;
*
*>> Couplage avec CATHARE2 : Echanges P, T et Rho moyens
'SI' TBT . 'CATHARE2' ;
'FINS' ;
*
*
*
'FIN' BCLTPS ;
*>> FIN BCLTPS
*
*-----------------------------------------------------------
*----- FIN de la boucle principale sur les pas de temps ----
*-----------------------------------------------------------
*
* Sauvegarde pour reprise
tic . 'drclvp' = drclvp ;
tic . 'drclhe' = drclhe ;
tic . 'drclh2' = drclh2 ;
tic . 'drclo2' = drclo2 ;
tic . 'drcln2' = drcln2 ;
tic . 'drclco' = drclco ;
tic . 'drclco2' = drclco2 ;
*
*
'SI' ('ET' (TBT . 'DETMAT') ('>' nbit 0)) ;
RV = TBT . 'RV' ;
REPIX RV ;
*
* 2022/11/22 : SG
* Je n'ai pas compris à quoi servent ces lignes car normalement, il n'y
* a pas de matrices à l'indice 'rvpd'.
* S'il y en a, il faudra modifier repix.procedur pour les enlever et
* supprimer les lignes suivantes
*
rv = TBT . 'RV' ;
TBT . 'RV' = rv ;
'FINS' ;
rtf = TBT . 'RTF' ;
REPIX rtf ;
'SI'((TBT . 'THERMP') 'OU' (TBT . 'TPAROIS')) ;
rtp = TBT . 'RTP' ;
REPIX rtp ;
'FINS' ;
'SI' TBT . 'VAPEUR' ;
Rrvap = TBT . 'Rrvap' ;
REPIX Rrvap ;
'FINS' ;
'SI' TBT . 'THE' ;
Rrhe = TBT . 'Rrhe' ;
REPIX Rrhe ;
'FINS' ;
'SI' TBT . 'TH2' ;
Rrh2 = TBT . 'Rrh2' ;
REPIX Rrh2 ;
'FINS' ;
'SI' TBT . 'TO2' ;
Rro2 = TBT . 'Rro2' ;
REPIX Rro2 ;
'FINS' ;
'SI' TBT . 'TN2' ;
Rrn2 = TBT . 'Rrn2' ;
REPIX Rrn2 ;
'FINS' ;
'SI' TBT . 'TCO2' ;
Rrco2 = TBT . 'Rrco2' ;
REPIX Rrco2 ;
'FINS' ;
'SI' TBT . 'TAIR' ;
Rrair = TBT . 'Rrair' ;
REPIX Rrair ;
'FINS' ;
'SI' TBT . 'TCO' ;
Rrco = TBT . 'Rrco' ;
REPIX Rrco ;
'FINS' ;
'SI' TBT . 'ASPER' ;
rvn = TBT . 'RVN' ;
REPIX rvn ;
rxd = TBT . 'RXD' ;
REPIX rxd ;
rdd = TBT . 'RDD' ;
REPIX rdd ;
rtd = TBT . 'RTD' ;
REPIX rtd ;
'FINS' ;
'FINS' ;
*
*
*-----------------------------------------------------------
* Post-traitement Graphique
*-----------------------------------------------------------
*
*
'SI' TBT . 'GRAPH' ;
*
* Initialisation
tic = rxt . 'TIC' ;
*
* ltps : Liste des pas de temps servant au tracé
* ltpsc : Liste du rang des pas de temps dans la liste des temps calculés
ltpsc = tic . 'LTPSC' ;
'SINO' ;
ltps = tic . 'LTPS' ;
'FINS' ;
*
* On trace si il y a quelque chose à tracer
*
tab1 = 'TABLE' ;
tab1 . 1 = 'MARQ CROI REGU' ;
tab1 . 3 = 'MARQ LOSA REGU' ;
tab1 . 'TITRE' = 'TABLE' ;
*
un = tic . 'UN' ;
'SI' TBT . 'ASPER ' ;
lqQas = tic . 'Qaspe' ;
Fins ;
**************************************************************
**************************************************************
* Taux d'injection de la vapeur
'SI' (TBT.'VAPEUR') ;
*.............................................................
* Trace des Debits liquide vapeur et total aux breches
tab1 . 1 = 'MARQ CROI REGU' ;
tab1 . 2 = 'MARQ CROI REGU TIRM' ;
tab1 . 3 = 'MARQ CROI REGU TIRC' ;
tab1 . 7 = 'MARQ LOSA REGU' ;
tab1 . 8 = 'MARQ LOSA REGU TIRM' ;
tab1 . 9 = 'MARQ LOSA REGU TIRC' ;
tab1 . 1 = 'MARQ CROI REGU' ;
tab1 . 2 = 'MARQ CARR REGU' ;
tab1 . 3 = 'MARQ LOSA REGU' ;
*.............................................................
'FINS';
*
*
* Débit de condensation : Total, bilan et détails
*
*
'SI' (TBT.'VAPEUR');
tab2 = table ;
tab2 . 1 = 'MARQ CROI REGU' ;
tab2 . 2 = 'MARQ TRIU REGU' ;
tab2 . 3 = 'MARQ LOSA REGU' ;
tab2 . 4 = 'MARQ CARR REGU' ;
tab2 . 5 = 'MARQ ROND REGU' ;
tab2 . 6 = 'MARQ TRID REGU' ;
tab2 . 7 = 'MARQ TRIL REGU' ;
tab2 . 8 = 'MARQ TRIR REGU' ;
tab2 . 'TITRE' = 'TABLE' ;
* Wall condensation (total)
evtq = evsrcv ;
Numero = 1 ;
* Wall condensation (paroi thermique)
Numero = Numero + 1 ;
evtq = evtq 'ET' evqcw ;
'FINS' ;
* Wall Condensation (paroi à flux imposé)
Numero = Numero + 1 ;
evtq = evtq 'ET' evqc0 ;
'FINS' ;
* Bulk condensation
Numero = Numero + 1 ;
evtq = evtq 'ET' evqcm ;
'FINS' ;
'FINS' ;
*
* Cas des Températures imposées nouvelle méthode
'SI' TBT . 'VAPEUR' ;
'SI' TBT . 'TTIMP' ;
Numero = 1 ;
evtq = evsrcv ;
'REPE' BBTIMP NBTIMP ;
Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
CQc1 = Btimp . 'Qc1' ;
Numero = Numero + 1 ;
evtq = evtq 'ET' evqci ;
'FIN' BBTIMP ;
'FINS' ;
'FINS' ;
*
*
* Eléments pour le bilan d'énergie
*
*
'SI' TBT . 'VAPEUR' ;
lqEcd = tic . 'Econd' ;
lqEcv = tic . 'Econv' ;
'FINS' ;
*
*
* Eléments pour le bilan de masse en vapeur
*
*
'SI' TBT . 'VAPEUR' ;
'SINO' ;
evMcondm = 0 . '*' evMinjv ;
'FINS' ;
*
*
* Masse et correction 0D pour chaque constituant
* (+ ensemble des constituants : Masses, corrrections 0D et densités)
*
*
tab1 = table ;
tab1 . 1 = 'MARQ CROI REGU' ;
tab1 . 2 = 'MARQ TRIU REGU' ;
tab1 . 3 = 'MARQ LOSA REGU' ;
tab1 . 4 = 'MARQ CARR REGU' ;
tab1 . 5 = 'MARQ ROND REGU' ;
tab1 . 6 = 'MARQ TRID REGU' ;
tab1 . 7 = 'MARQ TRIL REGU' ;
tab1 . 8 = 'MARQ TRIR REGU' ;
tab1 . 'TITRE' = 'TABLE' ;
tab2 = table ;
tab2 . 1 = 'MARQ CROI REGU' ;
tab2 . 2 = 'MARQ TRIU REGU' ;
tab2 . 3 = 'MARQ LOSA REGU' ;
tab2 . 4 = 'MARQ CARR REGU' ;
tab2 . 5 = 'MARQ ROND REGU' ;
tab2 . 6 = 'MARQ TRID REGU' ;
tab2 . 7 = 'MARQ TRIL REGU' ;
tab2 . 8 = 'MARQ TRIR REGU' ;
tab2 . 'TITRE' = 'TABLE' ;
tab3 = table ;
tab3 . 1 = 'MARQ CROI REGU' ;
tab3 . 2 = 'MARQ TRIU REGU' ;
tab3 . 3 = 'MARQ LOSA REGU' ;
tab3 . 4 = 'MARQ CARR REGU' ;
tab3 . 5 = 'MARQ ROND REGU' ;
tab3 . 6 = 'MARQ TRID REGU' ;
tab3 . 7 = 'MARQ TRIL REGU' ;
tab3 . 8 = 'MARQ TRIR REGU' ;
tab3 . 'TITRE' = 'TABLE' ;
tab4 = table ;
tab4 . 1 = 'MARQ CROI REGU' ;
tab4 . 2 = 'MARQ TRIU REGU' ;
tab4 . 3 = 'MARQ LOSA REGU' ;
tab4 . 4 = 'MARQ CARR REGU' ;
tab4 . 5 = 'MARQ ROND REGU' ;
tab4 . 6 = 'MARQ TRID REGU' ;
tab4 . 7 = 'MARQ TRIL REGU' ;
tab4 . 8 = 'MARQ TRIR REGU' ;
tab4 . 'TITRE' = 'TABLE' ;
ID = 1 ;
tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
allM = evM ;
alldM = evdM ;
ID = ID '+' 1 ;
tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
allM = allM 'ET' evMair ;
alldM = alldM 'ET' evdMair ;
'SI' TBT . 'THE' ;
ID = ID '+' 1 ;
tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
allM = allM 'ET' evMhe ;
alldM = alldM 'ET' evdMhe ;
'FINS' ;
'SI' TBT . 'TH2' ;
ID = ID '+' 1 ;
tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
allM = allM 'ET' evMh2 ;
alldM = alldM 'ET' evdMh2 ;
'FINS' ;
'SI' TBT . 'TO2' ;
ID = ID '+' 1 ;
tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
allM = allM 'ET' evMo2 ;
alldM = alldM 'ET' evdMo2 ;
'FINS' ;
'SI' TBT . 'TN2' ;
ID = ID '+' 1 ;
tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
allM = allM 'ET' evMn2 ;
alldM = alldM 'ET' evdMn2 ;
'FINS' ;
'SI' TBT . 'TCO' ;
ID = ID '+' 1 ;
tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
allM = allM 'ET' evMco ;
alldM = alldM 'ET' evdMco ;
'FINS' ;
'SI' TBT . 'TCO2' ;
ID = ID '+' 1 ;
tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
allM = allM 'ET' evMco2 ;
alldM = alldM 'ET' evdMco2 ;
'FINS' ;
'SI' TBT . 'VAPEUR' ;
ID = ID '+' 1 ;
tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
ID = ID '+' 1 ;
tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 2 ;
tab4 . 'TITRE' . (ID-1) = tab1 . 'TITRE' . 1 ;
allM = allM 'ET' evMv 'ET' evMvg ;
alldM = alldM 'ET' evdMv ;
'FINS' ;
*
* Pressure
*
* Temperature (fluide, parois et correction)
*
evtpf = evtpf 'ET' evtpf1 ;
*
evtpf = evtpf 'ET' evtpf2 ;
*
ID = 3 ;
*FD
* Tpm est complètement faux dans le cas multicouche donc on oublie
* A faire : Tracer la température de paroi pour TPAROIF
*FD
*'SI' TBT . 'THERMP' ;
* ID = ID + 1 ;
* evTfp = 'EVOL' 'VERT' 'MANU'
* 't(s)' ltps 'oC ' ('EXTR' tic . 'Tpm' ltpsc) ;
* tab1 . 'TITRE' . ID = 'MOT' 'Tfp oC' ;
* evtpf = evtpf 'ET' evTfp ;
*'FINS' ;
'SI' TBT . 'TTIMP' ;
'REPE' BBTIMP NBTIMP ;
Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
ID = ID + 1 ;
evtpf = evtpf 'ET' evTfpc1 ;
'FIN' BBTIMP ;
'FINS' ;
'DESS' evtpf 'MIMA'
*
'FINS' ;
'FINS' ;
*
* Post-traitement Graphique FIN
'FINPROC' ;
					© Cast3M 2003 - Tous droits réservés.
					Mentions légales