1 : * INIMUR PROCEDUR MAGN 01/10/16 21:15:16 4216 2 : 'DEBPROC' INIMUR rxt*TABLE tbt*TABLE ; 3 : 4 : *------------------------------------------------------------ 5 : * Procedure d'initialisation des murs pour la procedure ENCEINTE 6 : * 7 : * La definition des murs se fait de la facon suivante : 8 : * 1/ on definit les materiaux utilises et leurs proprietes 9 : * rxt.'MATMUR' = TABLE ; 10 : * rxt.'MATMUR'.'NMAT' = 2 ; Nombre de materiaux definis 11 : * rxt.'MATMUR'.'LAMBDA'.1 = 0.15 ; Definition de Lambda (W/m/K) 12 : * rxt.'MATMUR'.'ROCP'.1 = 120000. ; Definition de rho*cp (J/M3/K) 13 : * 14 : * 2/ on definit les murs en contact avec le fluide 15 : * rxt.'TABMUR' = TABLE ; 16 : * rxt.'TABMUR'.'NMUR' = 3 ; Nombre de murs 17 : * rxt.'TABMUR'.'TYPE'.1 = 'THERM' ou 'CLIMT' thermique paroi ou CLIM 18 : * rxt.'TABMUR'.'MAILLAGE'.1 = mail1 ; maillage associe au mur 19 : * surface ou volume suivant TYPE 20 : * rxt.'TABMUR'.'MATER'.1 = 1 ou 2 : numero du materiau si TYPE=THERM 21 : * rxt.'TABMUR'.'TPINI'.1 = cste ou 'Tp1' : conditions initiales 22 : * cste : si THERM 23 : * 'Tp1' : nom de Tp(t) dans rxt.scenario 24 : * pour CLIMT 25 : *---------------------------------------------------------------- 26 : * Entree : TABLE RXT 27 : * Sortie : TABLE RXT avec aux indices suivants : 28 : * 'vtp' : maillage contenant les elements pour la thermique paroi 29 : * 'rocpb' : CHAMPOINT SCAL CENTRE sur $vtp contenant les rhocp 30 : * 'lamb' : CHAMPOINT SCAL CENTRE sur $vtp contenant les lambda 31 : * 'paroif' : paroi du fluide en contact avec des murs THERM 32 : * 'THERMP' : logique pour le traitement de la thermique paroi 33 : * 'paroic' : maillage pour la condensation (surface totale THERM et 34 : * CLIMT ) = PAROIC1 ET MTPI 35 : * 'paroic1' : maillage pour l'equation en TF (que murs THERM) 36 : * 'mtpi' : maillage pour les CLIM de TF (que murs CLIMT) 37 : * 'TPAROIC' : logique pour le traitement des parois condensantes 38 : * 'TTIMP' : logique pour le traitement des CLIM sur TF 39 : * Il faut aussi les modeles correspondants a chaque maillage 40 : * $vtp $paroic $paroic1 $mtpi $paroif 41 : * Un CHAMPOINT TP0 sur $vtp pour les CI de l'inconnue TP (SOMMET) 42 : TBM = rxt.'TABMUR' ; 43 : THERMP = FAUX ; 44 : TPAROIC = FAUX ; 45 : TTIMP = FAUX ; 46 : NBMUR = TBM.'NMUR' ; 47 : NTHER = 0 ; 48 : NCLIM = 0 ; 49 : T_MTHER = TABLE 'VECTEUR' ; 50 : T_MCLIM = TABLE 'VECTEUR' ; 51 : T_LAMBD = TABLE 'VECTEUR' ; 52 : T_ROCP = TABLE 'VECTEUR' ; 53 : T_TTP0 = TABLE 'VECTEUR' ; 54 : T_CTP0 = TABLE 'VECTEUR' ; 55 : 56 : vtf=rxt.'vtf' ; 57 : 58 : 'REPETER' BOUC0 NBMUR ; 59 : 'SI' ('EGA' TBM.'TYPE' . &BOUC0 'ADIAB') ; 60 : mess '============> Paroi adiabatique <============' ; 61 : 'SI' (NON ('EGA' ('VALE' 'DIME') 3 )) ; 62 : paroif = (cont vtf) ; 63 : 'SINON' ; 64 : paroif = (enve vtf) ; 65 : 'FINSI' ; 66 : GEO.'paroif' = paroif ; 67 : 'QUITTER' inimur ; 68 : 'FINSI' ; 69 : 'FIN' BOUC0 ; 70 : 71 : 'REPETER' BOUC1 NBMUR ; 72 : *-- On regarde le type pour mettre a jour les variables logiques 73 : 'SI' ( 'NON' ( ('EGA' TBM.'TYPE' . &BOUC1 'THERM') 'OU' 74 : ('EGA' TBM.'TYPE' . &BOUC1 'CLIMT') 'OU' 75 : ('EGA' TBM.'TYPE' . &BOUC1 'CLIMI') ) ) ; 76 : 'ERRE' 5 ; 77 : 'FINSI' ; 78 : 'SI' ( 'EGA' TBM.'TYPE' . &BOUC1 'THERM' ) ; 79 : NTHER = NTHER + 1 ; 80 : 'SI' ( 'NON' THERMP ) ; 81 : vtp = TBM.'MAILLAGE' . &BOUC1 ; 82 : 'SINON' ; 83 : vtp = rxt.'vtp' 'ET' TBM.'MAILLAGE'. &BOUC1 ; 84 : 'FINSI' ; 85 : T_MTHER.NTHER = TBM.'MAILLAGE' . &BOUC1 ; 86 : IMATM = TBM.'MATER' . &BOUC1 ; 87 : TMAT = rxt.'MATMUR' ; 88 : T_LAMBD . NTHER = TMAT.'LAMBDA' . IMATM ; 89 : T_ROCP . NTHER = TMAT.'ROCP' . IMATM ; 90 : T_TTP0 . NTHER = TBM.'TPINI' . &BOUC1 ; 91 : THERMP = VRAI ; 92 : TPAROIC = VRAI ; 93 : 'FINSI' ; 94 : 'SI' ( 'EGA' TBM.'TYPE' . &BOUC1 'CLIMT' ) ; 95 : NCLIM = NCLIM + 1 ; 96 : 'SI' ( 'NON' TTIMP ) ; 97 : mtpi = TBM.'MAILLAGE' . &BOUC1 ; 98 : 'SINON' ; 99 : mtpi = mtpi 'ET' TBM.'MAILLAGE' . &BOUC1 ; 100 : 'FINSI' ; 101 : T_MCLIM . NCLIM = TBM.'MAILLAGE' . &BOUC1 ; 102 : T_CTP0 . NCLIM = TBM.'TPINI' . &BOUC1 ; 103 : TPAROIC = VRAI ; 104 : TTIMPI= FAUX ; 105 : TTIMP = VRAI ; 106 : 'FINSI' ; 107 : 'SI' ( 'EGA' TBM.'TYPE' . &BOUC1 'CLIMI' ) ; 108 : NCLIM = NCLIM + 1 ; 109 : 'SI' ( 'NON' TTIMP ) ; 110 : mtpi = TBM.'MAILLAGE' . &BOUC1 ; 111 : 'SINON' ; 112 : mtpi = mtpi 'ET' TBM.'MAILLAGE' . &BOUC1 ; 113 : 'FINSI' ; 114 : T_MCLIM . NCLIM = TBM.'MAILLAGE' . &BOUC1 ; 115 : T_CTP0 . NCLIM = TBM.'TPINI' . &BOUC1 ; 116 : TPAROIC = VRAI ; 117 : TTIMP = VRAI ; 118 : TTIMPI= VRAI ; 119 : 'FINSI' ; 120 : 'FIN' BOUC1 ; 121 : *--------------------------------------------------------- 122 : * Traitement des maillages THERMIQUE PAROI 123 : 'SI' ( THERMP ) ; 124 : 'MESS' '==> THERMIQUE PAROI ' ; 125 : vtf = rxt.'vtf' ; 126 : vtp = rxt.'vtp' ; 127 : Mvtf = GEO.'Mvtf' ; 128 : 'SI' (NON ('EGA' ('VALE' 'DIME') 3 )) ; 129 : paroif = inte (cont vtf) (cont vtp) ; 130 : 'SINON' ; 131 : paroif = inte (enve vtf) (enve vtp) ; 132 : 'FINSI' ; 133 : paroic = paroif ; 134 : paroic1 = paroif ; 135 : 'SI' TBT.'GRAPH' ; 136 : 'TRACE' paroic 'TITR' 'Surface contact FLUIDE/THERM' ; 137 : 'FINSI' ; 138 : 139 : 'SI' (exist rxt 'paroif') ; 140 : paroif = rxt.'paroif' et paroif ; 141 : 'FINSI' ; 142 : *--- Creation du modele sur le maillage VTP 143 : 'SI' TBT.'GRAPH' ; 144 : 'TRACE' vtp 'TITR' 'Maillage pour THERMIQUE ' ; 145 : 'FINSI' ; 146 : Mvtp = 'CHAN' vtp 'QUAF' ; 147 : 'ELIM' GEO.'epsi' (Mvtf 'ET' Mvtp) ; 148 : $vtp = 'MODE' Mvtp 'NAVIER_STOKES' TBT.'discr' ; 149 : 150 : *--- Creation des champs points sur VTP : Lambda, rocp et Tp0 151 : lambda = 'KCHT' $vtp SCAL SOMMET 0.0 ; 152 : rocpb = 'KCHT' $vtp SCAL SOMMET 0.0 ; 153 : Tp0 = 'KCHT' $vtp SCAL SOMMET 0.0 ; 154 : 155 : 'REPETER' BOUC2 NTHER ; 156 : maili = T_MTHER . &BOUC2 ; 157 : tempo = 'MANU' 'CHPO' maili 1 'SCAL' T_LAMBD . &BOUC2 158 : 'NATURE' 'DISCRET' ; 159 : lambda = 'KCHT' $vtp SCAL SOMMET lambda tempo ; 160 : tempo = 'MANU' 'CHPO' maili 1 'SCAL' T_ROCP . &BOUC2 161 : 'NATURE' 'DISCRET' ; 162 : rocpb = 'KCHT' $vtp SCAL SOMMET rocpb tempo ; 163 : tempo = 'MANU' 'CHPO' maili 1 'SCAL' T_TTP0 . &BOUC2 164 : 'NATURE' 'DISCRET' ; 165 : Tp0 = 'KCHT' $vtp SCAL SOMMET Tp0 tempo ; 166 : 'FIN' BOUC2 ; 167 : *---- On doit passer par ELNO NOEL pour les points milieux 168 : lambdac= NOEL $vtp lambda ; 169 : rocpc = NOEL $vtp rocpb ; 170 : tp0c = NOEL $vtp Tp0 ; 171 : Tp0 = ELNO $vtp tp0c ; 172 : 'SI' (('EGA' TBT.'discr' 'LINE' ) 'OU' ('EGA' ('VALE' 'DIME') 2)) ; 173 : FACT = 1.0 ; 174 : 'SINON' ; 175 : FACT = 2.0 ; 176 : 'FINSI' ; 177 : 178 : lambda = 'KCHT' $vtp SCAL CENTRE (lambdac * FACT) ; 179 : rocpb = 'KCHT' $vtp SCAL CENTRE (rocpc * FACT) ; 180 : Tp0 = 'KCHT' $vtp SCAL SOMMET (Tp0 * FACT ) ; 181 : *--- Trace de verification 182 : 'SI' TBT.'GRAPH' ; 183 : lambdan = 'ELNO' $vtp lambda ; 184 : * 'TRACE' lambdan vtp 185 : * 'TITR' 'Conductivite Thermique initiale (W/m/K)' ; 186 : * rocpbn = 'ELNO' $vtp rocpb ; 187 : * 'TRACE' rocpbn vtp 188 : * 'TITR' 'Rho.Cp initiale (J/m3/K)'; 189 : Si (exist tic 'TP'); 190 : 'TRACE' tic.'TP' vtp 191 : 'TITR' 'Température Initiale (C)'; 192 : Finsi ; 193 : 'FINSI' ; 194 : 'FINSI' ; 195 : *--------------------------------------------------------- 196 : * Traitement des maillages CONDITIONS AUX LIMITES 197 : 'SI' ( TTIMP ) ; 198 : *--- Ajout des maillages pour paroif et paroic 199 : 'SI' THERMP ; 200 : paroif = paroif 'ET' mtpi ; 201 : paroic = paroic 'ET' mtpi ; 202 : 'SINON' ; 203 : paroif = mtpi ; 204 : paroic = mtpi ; 205 : 'FINSI' ; 206 : 207 : *--- Creation du modele sur le maillage MTPI 208 : Mmtpi = 'CHAN' mtpi 'QUAF' ; 209 : 'ELIM' GEO.'epsi' (Mvtf 'ET' Mmtpi) ; 210 : $mtpi = 'MODE' Mmtpi 'NAVIER_STOKES' TBT.'discr' ; 211 : mtpi = doma $mtpi maillage ; 212 : GEO.'$mtpi' = $mtpi ; 213 : GEO.'mtpi' = mtpi ; 214 : 'SI' TBT.'GRAPH' ; 215 : 'TRACE' mtpi 'TITR' 'Maillage pour C.L. THERMIQUE ' ; 216 : 'FINSI' ; 217 : 218 : *--- Creation des champs points sur MTPI : cTp0 219 : cTp0 = 'KCHT' $mtpi SCAL SOMMET 0.0 ; 220 : 221 : 'REPETER' BOUC3 NCLIM ; 222 : maili = T_MCLIM . &BOUC3 ; 223 : *--- Calcul de la temperature a partir du nom de la table 224 : t = rxt.'scenario'.'t' ; 225 : ctp1 = 'IPOL' 0.0 t (rxt.'scenario'. (T_CTP0 . &BOUC3) ) ; 226 : tempo = 'MANU' 'CHPO' maili 1 'SCAL' ctp1 227 : 'NATURE' 'DISCRET' ; 228 : cTp0 = 'KCHT' $mtpi SCAL SOMMET cTp0 tempo ; 229 : 'FIN' BOUC3 ; 230 : ctp0c = NOEL $mtpi cTp0 ; 231 : cTp0 = ELNO $mtpi ctp0c ; 232 : 'SI' (('EGA' TBT.'discr' 'LINE' ) 'OU' ('EGA' ('VALE' 'DIME') 2)) ; 233 : FACT = 1.0 ; 234 : 'SINON' ; 235 : FACT = 4.0/ 3.0 ; 236 : 'FINSI' ; 237 : cTp0 = 'KCHT' $mtpi SCAL SOMMET (cTp0 * FACT ) ; 238 : *--- Trace de verification 239 : 'SI' TBT.'GRAPH' ; 240 : 'TRACE' cTp0 mtpi 241 : 'TITR' 'Température Initiale (C)'; 242 : 'SI' THERMP ; 243 : 'TRACE' (Tp0 et cTp0) (vtp et mtpi) 244 : 'TITR' 'Température Initiale (C)'; 245 : 'FINSI' ; 246 : 'FINSI' ; 247 : 'FINSI' ; 248 : 249 : * Sauvegarde dans la TABLE RXT 250 : * 251 : TBT.'THERMP' = THERMP ; 252 : TBT.'TPAROIC' = TPAROIC ; 253 : TBT.'TTIMP' = TTIMP ; 254 : TBT.'TTIMPI' = TTIMPI ; 255 : 256 : 'SI' THERMP ; 257 : GEO.'vtp' = vtp ; 258 : GEO.'$vtp' = $vtp ; 259 : GEO.'paroic1' = paroic1 ; 260 : tbt.'lambda' = lambda ; 261 : tbt.'rocpb' = rocpb ; 262 : tbt.'Tp0' = Tp0 ; 263 : 'FINSI' ; 264 : 265 : GEO.'paroif' = paroif ; 266 : 267 : 'SI' TPAROIC ; 268 : GEO.'paroic' = paroic ; 269 : 'FINSI' ; 270 : 271 : 'SI' (TTIMP) ; 272 : TBT.'cTp0' = cTp0 ; 273 : *----------- Sauvegarde pour INTERPOLATION 274 : TBT.'NCLIM'= NCLIM ; 275 : TBT.'T_MCLIM' = T_MCLIM ; 276 : TBT.'T_CTP0' = T_CTP0 ; 277 : 'FINSI' ; 278 : 'FINPROC' ; 279 :
© Cast3M 2003 - All rights reserved.
Disclaimer