* PAS_RAYO PROCEDUR PASCAL 21/02/01 21:15:07 10875 * * Procedure pour le calcul des termes dus au rayonnement * (facteurs de forme, matrices, seconds membres) * * PRECED table de calcul envoyee a PASAPAS * TEMM instant courant du calcul * IAPPEL vaut - 1 si l'appel vient de DUPONT2 * - 2 si premier appel de TRANSNON * - 3 si deuxieme appel de TRANSNON * *'MESS' '*--- Entree dans PAS_RAYO TEMM = ' TEMM IAPPEL '---*' ; etab = PRECED.'WTABLE' ; TAA = 'TABLE' ; *----------------------------------------------------------------------* * En cas d'appel non prevu : pas de rayonnement --> sortie directe *----------------------------------------------------------------------* 'SI' ('NON' etab.'RAYO') ; 'RESPRO' TAA ; 'FINSI' ; *----------------------------------------------------------------------* * Pour le rayonnement, le calcul des facteurs de forme, des matrices et * du chpoint est a faire si appel vient de DUPONT2. * Seul le calcul des facteurs de forme est a faire lors du premier appel * par TRANSNON. * Seuls les matrices et CHPOINT sont a evaluer lors du deuxieme appel * par TRANSNON. *----------------------------------------------------------------------* * 04/2014 *! ne pas partitionner selon le type d'element mais *! utiliser la table deja obtenue avec 'PRRA' dans PAS_DEFA *! (procedure de pretraitement de PASAPAS): *! tabray = 'PRRA' (etab.'MOD_RAY'); *! au lieu de: * tabray= 'EXTR' mor 'ZONE'; *! NDIM3 = ('DIME' tabray) / 2 ; *! on obtient ainsi directement la table RAYO_VAL avec le type de *! la condition (infini, fac_a_fac, cavite) *----------------------------------------------------------------------* rayo_val = etab.'RAYONNEMENT' ; *----------------------------------------------------------------------* * Premiere partie du rayonnement calcul des facteurs de forme *----------------------------------------------------------------------* 'SI' ('<' IAPPEL 3) ; 'SI' ('NON' ('EXISTE' etab 'CTE_STEFAN_BOLTZMANN')) ; CTE_SB = 5.673E-8 ; etab.'CTE_STEFAN_BOLTZMANN' = CTE_SB ; 'MESS' ' soit ' CTE_SB ; 'FINSI' ; etab.'DEJA_CALC_PAS_RAYO' = TEMM ; mar = etab.'MAT_RAY' ; * Mise a jour des facteurs de forme (CAVITE) si necessaire : 'SI' b_z ; etab. 'FAC_FORM' = 'TABLE' ; 'FINSI' ; 'SI' (etab.'REA_GEOM' 'OU' b_z) ; 'REPETER' bou_ray NDIM3 ; mo_ray = rayo_val . &bou_ray . 'MODELE' ; 'FINSI' ; 'FIN' bou_ray ; 'FINSI' ; 'FINSI' ; *----------------------------------------------------------------------* * Deuxieme partie du rayonnement calcul matrices et chpoint *----------------------------------------------------------------------* 'SI' ( ('EGA' IAPPEL 1) 'OU' ('EGA' IAPPEL 3) ) ; CTE_SB = etab.'CTE_STEFAN_BOLTZMANN' ; TREF = etab.'TREF' ; U0 = etab.'THER_COURANT' '+' TREF ; MAT_CHPO = 0. ; 'REPETER' bou_ray NDIM3 ; mo_ray = rayo_val. &bou_ray .'MODELE'; * Pourrait-on prendre etab.'MAT_RAY' plutot que etab.'CHMAT' ? * 'MESS' 'CH_RAD: ' ('MINI' CH_RAD) ('MAXI' CH_RAD); *--------- Calcul des differents CHPOINTs sur le maillage -------------* *----------------------------------------------------------------------* 'SI' ('NEG' RTYPE 'CAVITE') ; * * *------------- Cas du rayonnement face a face -------------------------* 'SI' ('EGA' RTYPE 'FAC_A_FAC') ; * on recupere les objets par extraire obje pour le face a face : * * correction 06/12/06: on met d'abord la face 1 puis la face 2 * en coherence avec l'orientation des elements du maillage GEO MAT_RAD = HRAYO mcv mo_ray1 ma_ray1 ch_rad1 mo_ray2 ma_ray2 ch_rad2 geo CTE_SB ; * *------------- Cas du rayonnement a l'infini --------------------------* 'SINON' ; *Note on pourrait faire une seule fois ce TIRE ! 'SINON' ; 'FINSI' ; CH_TE1 = CH_TE1 '+' TREF ; *??? mcv = mail_rad 'MODE' 'THERMIQUE' CONVECTION ; * on prend pour E_IM la valeur 1. par defaut : ** ma_rayin = 'MATE' mo_ray 'E_IN' 1. ; ** ma_ray = ma_ray 'ET' ('CHAN' 'NOEUD' MO_RAY MA_RAYIN) ; 'TYPE' 'CARACTERISTIQUES' 'NOEUD' ; ma_ray = ma_ray 'ET' ma_rayin ; 'FINSI' ; MAT_RAD = HRAYO mcv mo_ray ma_ray CH_RAD CH_TE1 CTE_SB ; CHAL_TES = 'CONVECTION' mcv MAT_RAD CH_TE1 ; MAT_CHPO = MAT_CHPO '+' CHAL_TES ; 'FINSI' ; * RIG_RAD = 'CONDUCTIVITE' mcv MAT_RAD ; * *------------- Cas du rayonnement dans une cavite-------------------- 'SINON' ; * * Methode avec calcul de la matrice de rayonnement * methode avec le calcul de la temperature de rayonnement a l'infini * equivalente a l'ensemble de la cavite pour la face consideree MRT = mo_ray ; CH_EMI U_CAK2 ; MAT_CHPO = MAT_CHPO '+' CHAL_TES ; 'SINON'; * Methode par defaut CH_EMI ; 'FINSI'; 'FINSI'; *--------------------------------------------------------------------- 'SI' ('EGA' &bou_ray 1) ; bb = rig_rad ; 'SINON'; bb = rig_rad 'ET' bb; 'FINSI' ; 'FIN' bou_ray ; * On n'ajoute second membre que si c'est un CHPOINT ! 'SI' ('NEG' MAT_CHPO 0.) ; TAA.'ADDI_SECOND' = MAT_CHPO ; 'FINSI' ; TAA.'ADDI_MATRICE' = bb ; TAA.'RAYO_VALEUR' = rayo_val ; 'FINSI'; 'RESPRO' TAA ; 'FINPROC' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales