1 : * CHARTHER PROCEDUR PASCAL 13/07/24 21:15:02 7799 2 : 'DEBP' CHARTHER PRECED*'TABLE' tt*'FLOTTANT' IAPPEL*ENTIER; 3 : *mess ' entree dans charther tt vaut ' tt ' *****' ; 4 : * IAPPEL vaut - 1 si l'appel vient de DUPONT2 5 : * - 2 si premier appel de TRANSNON 6 : * - 3 si deuxième appel de TRANSNON 7 : * 8 : 9 : TAA=TABLE; ETAB=PRECED.'WTABLE'; 10 : 11 : 'SI' ETAB.'RAYO'; 12 : * pour le rayonnement le calcul des facteurs de forme et des matrices et du 13 : * chpoint est à faire si appel par DUPONT2 14 : * Seul le calul des facteurs de formes en cas du premier appel par TRANSNON 15 : * Seuls les matrices et CHPOINT pour deuxieme appel par TRANSNON 16 : * 17 : * travail pas beau sur le rayonnement pour ne pas tout refaire tout de 18 : * suite!!!!! pour cela on recree la table rayo_val 19 : * 20 : 21 : mor= etab.'MOD_RAY'; 22 : mar= etab.'MAT_RAY'; 23 : tabray= 'EXTR' mor 'ZONE'; 24 : NDIM3 = ('DIME' tabray) / 2 ; 25 : rayo_val=table; 26 : repe iuy ndim3; 27 : ia= 2*&iuy - 1; 28 : tabr= table; 29 : rayo_val . &iuy =tabr; 30 : tabr. 'MODELE'= tabray . ia; 31 : 'SI' ('EXISTE' tabr.'MODELE' 'MATE' 'CAVITE' ); 32 : tabr.'TYPE'= 'CAVITE'; 33 : 'SINON'; 34 : 'SI' ('EXISTE' tabr.'MODELE' 'MATE' 'INFINI'); 35 : tabr.'TYPE'= 'INFINI'; 36 : tabr.'EMIS_INFI'=1.; 37 : 'SINON'; 38 : tabr.'TYPE'= 'FAC_A_FAC'; 39 : 'FINSI'; 40 : 'FINSI'; 41 : fin iuy; 42 : NDIM3 = 'DIME' RAYO_VAL; 43 : 44 : 45 : * premiere partie du rayonnement calcul des facteurs de formes. 46 : 'SI' ('<' IAPPEL 3 ) ; 47 : 'SI'('EXISTE' ETAB 'CTE_STEFAN_BOLTZMANN') ; 48 : CTE_SB = ETAB.'CTE_STEFAN_BOLTZMANN' ; 49 : 'SINON' ; 50 : CTE_SB = 5.673E-8 ; 51 : 'MESS' 'ATTENTION ! Constante de Stefan-Boltzmann en unités SI' ; 52 : 'MESS' ' soit ' CTE_SB ; 53 : 'FINSI' ; 54 : etab.'DEJA_CALC_CHARTHER'=TT; 55 : ifacfo=0; 56 : 'SI'(ETAB.'REA_GEOM' 'OU' ('NON' ('EXISTE' 57 : etab 'FAC_FORM'))); ifacfo=1;'FINSI'; 58 : 'SI' ( 'NON' ('EXIS' etab 'FAC_FORM')); 59 : etab .'FAC_FORM'= 'TABLE'; 60 : 'FINSI'; 61 : 'REPETER' BOU_RAY NDIM3 ; 62 : mora= rayo_val . &BOU_RAY .'MODELE'; 63 : mara= 'REDU' mar mora; 64 : *! 'SI' ( 'EXIS' mora 'MATE' 'CAVITE'); 65 : 'SI' ( ( 'EXIS' mora 'MATE' 'CAVITE') 'ET' ('EGA' ifacfo 1) ); 66 : etab . 'FAC_FORM' . &bou_ray = 'FFOR' mora mara; 67 : 'FINSI' ; 68 : 69 : * 70 : *---On profite de la boucle pour vérifier s'il y a rayonnement à l'infin 71 : * ou face a face 72 : 'SI'('EXIS' mora 'MATE' 'INFINI' ); 73 : 'SI' ('NON' ('EXISTE' RAYO_VAL.(&BOU_RAY) 'EMIS_INFI' )); 74 : RAYO_VAL . (&BOU_RAY) . 'EMIS_INFI' = 1.; 75 : 'FINSI' ; 76 : 'FINSI' ; 77 : 'FIN' BOU_RAY ; 78 : 'FINSI'; 79 : 80 : 81 : * deuxieme partie du rayonnement calcul matrices et chpoint 82 : 'SI' ( ('EGA' IAPPEL 1 ) 'OU' ( 'EGA' IAPPEL 3)); 83 : TREF=ETAB.'TREF'; TEMM=TT; 84 : CTE_SB = ETAB.'CTE_STEFAN_BOLTZMANN' ; 85 : 86 : U0=ETAB.'THER_COURANT' + TREF; 87 : MAT_CHPO=(U0 'EXCO' 'T' 'Q' )*0.; 88 : MAT_CHPO= CHANG 'ATTRIBUT' MAT_CHPO 'NATURE' 'DISCRET'; 89 : NDIM3 = 'DIME' (RAYO_VAL) ; 90 : 'REPETER' BOU_RA1 NDIM3 ; 91 : CH_EMI = 'REDU' ETAB.'CHMAT' 92 : (RAYO_VAL.(&BOU_RA1).'MODELE') ; 93 : CH_EMI2 = 'CHAN' 'NOEUD' (RAYO_VAL.(&BOU_RA1).'MODELE') 94 : CH_EMI ; 95 : 96 : MAIL_RAD = 'EXTR' CH_EMI 'MAIL' ; 97 : CH_RAD = 'REDU' U0 MAIL_RAD ; 98 : RTYPE = RAYO_VAL.(&BOU_RA1).'TYPE' ; 99 : 100 : *--------------------------------------------------------------------- 101 : 'SI' (NEG RTYPE 'CAVITE') ; 102 : *--------- Calcul des différents CHPOINT sur le maillage ---------- 103 : *------------- Cas du rayonnement à l'infini ------------------------- 104 : *------------------ou face a face -------------------------------- 105 : 106 : 'SI' ('EGA' RTYPE 'FAC_A_FAC' ) ; 107 : * on est en face a face 108 : * on recupere les obnjets par extraire obje 109 : fac1 fac2 geo mcv= 'EXTR' (RAYO_VAL.&BOU_RA1.'MODELE') 'OBJE'; 110 : * MCV = RAYO_VAL.(&BOU_RA1).'MO_CONV' ; 111 : * fac1 = RAYO_VAL.(&BOU_RA1).'FAC1' ; 112 : * fac2 = RAYO_VAL.(&BOU_RA1).'FAC2' ; 113 : mo_ray1 = 'REDU' (RAYO_VAL.(&BOU_RA1).'MODELE') FAC1 ; 114 : mo_ray2 = 'REDU' (RAYO_VAL.(&BOU_RA1).'MODELE') FAC2 ; 115 : ma_ray1 = 'REDU' CH_EMI2 mo_ray1 ; 116 : ma_ray2 = 'REDU' CH_EMI2 mo_ray2 ; 117 : * 118 : * CH_RAD = U0 'REDU' MAIL_RAD ; 119 : * 120 : * GEO = RAYO_VAL.(&BOU_RA1).'GEO' ; 121 : * 122 : * correction 06/12/06: on met d'abord la face 1 puis la face 2 123 : * en cohérence avec l'orientation des éléments du maillage GEO 124 : MAT_RAD = HRAYO MCV mo_ray1 ma_ray1 ( 'REDU' CH_RAD fac1) 125 : mo_ray2 ma_ray2 ( 'REDU' CH_RAD fac2) 126 : GEO CTE_SB ; 127 : *TC list resu mat_rad; 128 : 'SINON' ; 129 : * rayonnement à l'infini 130 : CH_TER = 'TIRE' (ETAB.'CHARGEMENT') 'TERA' TEMM ; 131 : CH_TER = CH_TER + TREF ; 132 : mcv = ('EXTR' (RAYO_VAL.(&BOU_RA1).'MODELE') 'MAIL') 133 : 'MODE' 'THERMIQUE' CONVECTION ; 134 : mo_ray = RAYO_VAL.(&BOU_RA1).'MODELE' ; 135 : ma_ray = 'REDU' CH_EMI2 mo_ray ; 136 : ma_inf = 'MATE' mo_ray 'EMIS' 137 : (RAYO_VAL.(&BOU_RA1).'EMIS_INFI') ; 138 : CH_TE1 = 'REDU' CH_TER MAIL_RAD; 139 : 140 : * CH_RAD = U_BOU1 'REDU' MAIL_RAD ; 141 : * 142 : MAT_RAD= HRAYO MCV mo_ray ma_ray CH_RAD 143 : mo_ray ma_inf CH_TE1 144 : CTE_SB ; 145 : * 146 : CHAL_TES = 'CONVECTION' MCV MAT_RAD CH_TE1 ; 147 : MAT_CHPO = MAT_CHPO + CHAL_TES ; 148 : 'FINSI' ; 149 : * 150 : RIG_RAD = 'CONDUCTIVITE' MCV MAT_RAD ; 151 : *TC list resu rig_rad; 152 : * 153 : 'SINON' ; 154 : *------------- Cas du rayonnement dans une cavite-------------------- 155 : *--------------------------------------------------------------------- 156 : 157 : * 'MESS' 'CH_RAD: ' ('MINI' CH_RAD) ('MAXI' CH_RAD); 158 : LDEFAUT=VRAI ; 159 : 'SI' ('EXIS' (RAYO_VAL.&BOU_RA1. 'MODELE') 'MATE' 'TRAYO' ); 160 : LDEFAUT= FAUX; 161 : 'FINSI'; 162 : * méthode avec calcul de la matrice de rayonnement 163 : 'SI' LDEFAUT; 164 : * méthode avec le calcul de la température de rayonnement 165 : * à l'infini équivalente à l'ensemble de la cavité pour la 166 : * face considérée 167 : * 'MESS' ' méthode 2'; 168 : 169 : U_CAK2 = 'CHAN' 'CHAM' (RAYO_VAL.(&BOU_RA1).'MODELE') 170 : CH_RAD 'GRAVITE' ; 171 : 172 : MRT = RAYO_VAL.(&BOU_RA1).'MODELE'; 173 : TCAV = 'RAYE' MRT 1.E-7 (ETAB.'FAC_FORM'.&BOU_RA1) 174 : CH_EMI U_CAK2; 175 : 176 : HRAD = HRCAV MRT CH_EMI U_CAK2 TCAV; 177 : 178 : TCAV_N1= 'CHAN' 'CHPO' MRT TCAV; 179 : 180 : TCAV_N = 'NOMC' TCAV_N1 'T' 'NATU' 'DIFFUS'; 181 : 182 : RIG_RAD = 'COND' MRT HRAD; 183 : 184 : CHAL_TES = 'CONV' MRT HRAD TCAV_N; 185 : 186 : MAT_CHPO = MAT_CHPO + CHAL_TES ; 187 : 188 : * list MAT_CHPO; 189 : 190 : 'SINON'; 191 : * (méthode par défaut) 192 : MAT_RAYE = 'RAYE' (RAYO_VAL.(&BOU_RA1).'MODELE') 193 : (ETAB.'FAC_FORM'.&BOU_RA1) 194 : CH_EMI ; 195 : 196 : U_CAK2 = 'CHAN' 'CHAM' (RAYO_VAL.(&BOU_RA1).'MODELE') 197 : CH_RAD 'GRAVITE' ; 198 : * ('REDU' U_BOU1 MAIL_RAD) 'GRAVITE' ; 199 : 200 : RIG_RAD = 'RAYN' (RAYO_VAL.(&BOU_RA1).'MODELE') 201 : MAT_RAYE U_CAK2 CTE_SB ; 202 : 203 : 204 : 'FINSI'; 205 : 206 : 207 : * MAT_COND = MAT_COND 'ET' RIG_RAD; 208 : 'FINSI'; 209 : 'SI' ( &BOU_RA1 'EGA' 1); 210 : bb= rig_rad ; 211 : 'SINON'; 212 : bb= rig_rad 'ET' bb; 213 : 'FINSI' ; 214 : 215 : 'FIN' BOU_RA1 ; 216 : 217 : 218 : 219 : TAA.'ADDI_SECOND'= MAT_CHPO; 220 : TAA.'ADDI_MATRICE'=bb ; 221 : TAA.'RAYO_VALEUR' = RAYO_VAL; 222 : 'FINSI'; 223 : 'FINSI'; 224 : 225 : 'FINPROC' TAA; 226 : 227 : 228 : 229 : 230 : 231 : 232 : 233 : 234 : 235 :
© Cast3M 2003 - All rights reserved.
Disclaimer