* INIMUR PROCEDUR MAGN 01/10/16 21:15:16 4216 *------------------------------------------------------------ * Procedure d'initialisation des murs pour la procedure ENCEINTE * * La definition des murs se fait de la facon suivante : * 1/ on definit les materiaux utilises et leurs proprietes * rxt.'MATMUR' = TABLE ; * rxt.'MATMUR'.'NMAT' = 2 ; Nombre de materiaux definis * rxt.'MATMUR'.'LAMBDA'.1 = 0.15 ; Definition de Lambda (W/m/K) * rxt.'MATMUR'.'ROCP'.1 = 120000. ; Definition de rho*cp (J/M3/K) * * 2/ on definit les murs en contact avec le fluide * rxt.'TABMUR' = TABLE ; * rxt.'TABMUR'.'NMUR' = 3 ; Nombre de murs * rxt.'TABMUR'.'TYPE'.1 = 'THERM' ou 'CLIMT' thermique paroi ou CLIM * rxt.'TABMUR'.'MAILLAGE'.1 = mail1 ; maillage associe au mur * surface ou volume suivant TYPE * rxt.'TABMUR'.'MATER'.1 = 1 ou 2 : numero du materiau si TYPE=THERM * rxt.'TABMUR'.'TPINI'.1 = cste ou 'Tp1' : conditions initiales * cste : si THERM * 'Tp1' : nom de Tp(t) dans rxt.scenario * pour CLIMT *---------------------------------------------------------------- * Entree : TABLE RXT * Sortie : TABLE RXT avec aux indices suivants : * 'vtp' : maillage contenant les elements pour la thermique paroi * 'rocpb' : CHAMPOINT SCAL CENTRE sur $vtp contenant les rhocp * 'lamb' : CHAMPOINT SCAL CENTRE sur $vtp contenant les lambda * 'paroif' : paroi du fluide en contact avec des murs THERM * 'THERMP' : logique pour le traitement de la thermique paroi * 'paroic' : maillage pour la condensation (surface totale THERM et * CLIMT ) = PAROIC1 ET MTPI * 'paroic1' : maillage pour l'equation en TF (que murs THERM) * 'mtpi' : maillage pour les CLIM de TF (que murs CLIMT) * 'TPAROIC' : logique pour le traitement des parois condensantes * 'TTIMP' : logique pour le traitement des CLIM sur TF * Il faut aussi les modeles correspondants a chaque maillage * $vtp $paroic $paroic1 $mtpi $paroif * Un CHAMPOINT TP0 sur $vtp pour les CI de l'inconnue TP (SOMMET) TBM = rxt.'TABMUR' ; THERMP = FAUX ; TPAROIC = FAUX ; TTIMP = FAUX ; NBMUR = TBM.'NMUR' ; NTHER = 0 ; NCLIM = 0 ; T_MTHER = TABLE 'VECTEUR' ; T_MCLIM = TABLE 'VECTEUR' ; T_LAMBD = TABLE 'VECTEUR' ; T_ROCP = TABLE 'VECTEUR' ; T_TTP0 = TABLE 'VECTEUR' ; T_CTP0 = TABLE 'VECTEUR' ; vtf=rxt.'vtf' ; 'REPETER' BOUC0 NBMUR ; 'SINON' ; 'FINSI' ; GEO.'paroif' = paroif ; 'FINSI' ; 'FIN' BOUC0 ; 'REPETER' BOUC1 NBMUR ; *-- On regarde le type pour mettre a jour les variables logiques 'FINSI' ; NTHER = NTHER + 1 ; 'SI' ( 'NON' THERMP ) ; vtp = TBM.'MAILLAGE' . &BOUC1 ; 'SINON' ; vtp = rxt.'vtp' 'ET' TBM.'MAILLAGE'. &BOUC1 ; 'FINSI' ; T_MTHER.NTHER = TBM.'MAILLAGE' . &BOUC1 ; IMATM = TBM.'MATER' . &BOUC1 ; TMAT = rxt.'MATMUR' ; T_LAMBD . NTHER = TMAT.'LAMBDA' . IMATM ; T_ROCP . NTHER = TMAT.'ROCP' . IMATM ; T_TTP0 . NTHER = TBM.'TPINI' . &BOUC1 ; THERMP = VRAI ; TPAROIC = VRAI ; 'FINSI' ; NCLIM = NCLIM + 1 ; 'SI' ( 'NON' TTIMP ) ; mtpi = TBM.'MAILLAGE' . &BOUC1 ; 'SINON' ; mtpi = mtpi 'ET' TBM.'MAILLAGE' . &BOUC1 ; 'FINSI' ; T_MCLIM . NCLIM = TBM.'MAILLAGE' . &BOUC1 ; T_CTP0 . NCLIM = TBM.'TPINI' . &BOUC1 ; TPAROIC = VRAI ; TTIMPI= FAUX ; TTIMP = VRAI ; 'FINSI' ; NCLIM = NCLIM + 1 ; 'SI' ( 'NON' TTIMP ) ; mtpi = TBM.'MAILLAGE' . &BOUC1 ; 'SINON' ; mtpi = mtpi 'ET' TBM.'MAILLAGE' . &BOUC1 ; 'FINSI' ; T_MCLIM . NCLIM = TBM.'MAILLAGE' . &BOUC1 ; T_CTP0 . NCLIM = TBM.'TPINI' . &BOUC1 ; TPAROIC = VRAI ; TTIMP = VRAI ; TTIMPI= VRAI ; 'FINSI' ; 'FIN' BOUC1 ; *--------------------------------------------------------- * Traitement des maillages THERMIQUE PAROI 'SI' ( THERMP ) ; vtf = rxt.'vtf' ; vtp = rxt.'vtp' ; Mvtf = GEO.'Mvtf' ; 'SINON' ; 'FINSI' ; paroic = paroif ; paroic1 = paroif ; 'SI' TBT.'GRAPH' ; 'FINSI' ; 'SI' (exist rxt 'paroif') ; paroif = rxt.'paroif' et paroif ; 'FINSI' ; *--- Creation du modele sur le maillage VTP 'SI' TBT.'GRAPH' ; 'TRACE' vtp 'TITR' 'Maillage pour THERMIQUE ' ; 'FINSI' ; *--- Creation des champs points sur VTP : Lambda, rocp et Tp0 'REPETER' BOUC2 NTHER ; maili = T_MTHER . &BOUC2 ; 'NATURE' 'DISCRET' ; 'NATURE' 'DISCRET' ; 'NATURE' 'DISCRET' ; 'FIN' BOUC2 ; *---- On doit passer par ELNO NOEL pour les points milieux FACT = 1.0 ; 'SINON' ; FACT = 2.0 ; 'FINSI' ; *--- Trace de verification 'SI' TBT.'GRAPH' ; * 'TRACE' lambdan vtp * 'TITR' 'Conductivite Thermique initiale (W/m/K)' ; * rocpbn = 'ELNO' $vtp rocpb ; * 'TRACE' rocpbn vtp * 'TITR' 'Rho.Cp initiale (J/m3/K)'; Si (exist tic 'TP'); 'TRACE' tic.'TP' vtp Finsi ; 'FINSI' ; 'FINSI' ; *--------------------------------------------------------- * Traitement des maillages CONDITIONS AUX LIMITES 'SI' ( TTIMP ) ; *--- Ajout des maillages pour paroif et paroic 'SI' THERMP ; paroif = paroif 'ET' mtpi ; paroic = paroic 'ET' mtpi ; 'SINON' ; paroif = mtpi ; paroic = mtpi ; 'FINSI' ; *--- Creation du modele sur le maillage MTPI GEO.'$mtpi' = $mtpi ; GEO.'mtpi' = mtpi ; 'SI' TBT.'GRAPH' ; 'FINSI' ; *--- Creation des champs points sur MTPI : cTp0 'REPETER' BOUC3 NCLIM ; maili = T_MCLIM . &BOUC3 ; *--- Calcul de la temperature a partir du nom de la table t = rxt.'scenario'.'t' ; 'NATURE' 'DISCRET' ; 'FIN' BOUC3 ; FACT = 1.0 ; 'SINON' ; FACT = 4.0/ 3.0 ; 'FINSI' ; *--- Trace de verification 'SI' TBT.'GRAPH' ; 'TRACE' cTp0 mtpi 'SI' THERMP ; 'TRACE' (Tp0 et cTp0) (vtp et mtpi) 'FINSI' ; 'FINSI' ; 'FINSI' ; * Sauvegarde dans la TABLE RXT * TBT.'THERMP' = THERMP ; TBT.'TPAROIC' = TPAROIC ; TBT.'TTIMP' = TTIMP ; TBT.'TTIMPI' = TTIMPI ; 'SI' THERMP ; GEO.'vtp' = vtp ; GEO.'$vtp' = $vtp ; GEO.'paroic1' = paroic1 ; tbt.'lambda' = lambda ; tbt.'rocpb' = rocpb ; tbt.'Tp0' = Tp0 ; 'FINSI' ; GEO.'paroif' = paroif ; 'SI' TPAROIC ; GEO.'paroic' = paroic ; 'FINSI' ; 'SI' (TTIMP) ; TBT.'cTp0' = cTp0 ; *----------- Sauvegarde pour INTERPOLATION TBT.'NCLIM'= NCLIM ; TBT.'T_MCLIM' = T_MCLIM ; TBT.'T_CTP0' = T_CTP0 ; 'FINSI' ; 'FINPROC' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales