Télécharger pas_rayo.procedur

Retour à la liste

Numérotation des lignes :

  1. * PAS_RAYO PROCEDUR CB215821 25/05/21 21:15:01 12273
  2. *
  3. * Procedure pour le calcul des termes dus au rayonnement
  4. * (facteurs de forme, matrices, seconds membres)
  5. *
  6. * PRECED table de calcul envoyee a PASAPAS
  7. * TEMM instant courant du calcul
  8. * IAPPEL vaut - 1 si l'appel vient de DUPONT2
  9. * - 2 si premier appel de TRANSNON
  10. * - 3 si deuxieme appel de TRANSNON
  11. *
  12. 'DEBP' PAS_RAYO PRECED*'TABLE' TEMM*'FLOTTANT' IAPPEL*'ENTIER' ;
  13.  
  14. *'MESS' '*--- Entree dans PAS_RAYO TEMM = ' TEMM IAPPEL '---*' ;
  15.  
  16. etab = PRECED.'WTABLE' ;
  17. TAA = 'TABLE' ;
  18.  
  19. *----------------------------------------------------------------------*
  20. * En cas d'appel non prevu : pas de rayonnement --> sortie directe
  21. *----------------------------------------------------------------------*
  22. 'SI' ('NON' etab.'RAYO') ;
  23. 'RESPRO' TAA ;
  24. 'QUITTER' PAS_RAYO ;
  25. 'FINSI' ;
  26. *----------------------------------------------------------------------*
  27. * Pour le rayonnement, le calcul des facteurs de forme, des matrices et
  28. * du chpoint est a faire si appel vient de DUPONT2.
  29. * Seul le calcul des facteurs de forme est a faire lors du premier appel
  30. * par TRANSNON.
  31. * Seuls les matrices et CHPOINT sont a evaluer lors du deuxieme appel
  32. * par TRANSNON.
  33. *----------------------------------------------------------------------*
  34. * 04/2014
  35. *! ne pas partitionner selon le type d'element mais
  36. *! utiliser la table deja obtenue avec 'PRRA' dans PAS_DEFA
  37. *! (procedure de pretraitement de PASAPAS):
  38. *! tabray = 'PRRA' (etab.'MOD_RAY');
  39. *! au lieu de:
  40. * tabray= 'EXTR' mor 'ZONE';
  41. *! NDIM3 = ('DIME' tabray) / 2 ;
  42. *! on obtient ainsi directement la table RAYO_VAL avec le type de
  43. *! la condition (infini, fac_a_fac, cavite)
  44. *----------------------------------------------------------------------*
  45. rayo_val = etab.'RAYONNEMENT' ;
  46. mo_ray_tot = etab.'MOD_RAY' ;
  47. NDIM3 ='DIME' rayo_val ;
  48.  
  49. * On recupere les composantes PRIMALES (T, Tinf, Tsup, etc.) directement dans le MMODEL
  50. LM_PRIM='EXTR' mo_ray_tot 'DEPL';
  51.  
  52.  
  53. *----------------------------------------------------------------------*
  54. * Premiere partie du rayonnement calcul des facteurs de forme
  55. *----------------------------------------------------------------------*
  56. 'SI' ('<' IAPPEL 3) ;
  57.  
  58. 'SI' ('NON' ('EXISTE' etab 'CTE_STEFAN_BOLTZMANN')) ;
  59. CTE_SB = 5.673E-8 ;
  60. etab.'CTE_STEFAN_BOLTZMANN' = CTE_SB ;
  61. 'MESS' 'ATTENTION ! Constante de Stefan-Boltzmann en unites SI' ;
  62. 'MESS' ' soit ' CTE_SB ;
  63. 'FINSI' ;
  64.  
  65. etab.'DEJA_CALC_PAS_RAYO' = TEMM ;
  66.  
  67. mar = etab.'MAT_RAY' ;
  68.  
  69. * Mise a jour des facteurs de forme (CAVITE) si necessaire :
  70. b_z = 'NON' ('EXIS' etab 'FAC_FORM') ;
  71. 'SI' b_z ;
  72. etab. 'FAC_FORM' = 'TABLE' ;
  73. 'FINSI' ;
  74.  
  75. 'SI' (etab.'REA_GEOM' 'OU' b_z) ;
  76. 'REPETER' bou_ray NDIM3 ;
  77. mo_ray = rayo_val . &bou_ray . 'MODELE' ;
  78. 'SI' ('EXIS' mo_ray 'MATE' 'CAVITE') ;
  79. ma_ray = 'REDU' mar mo_ray ;
  80. etab. 'FAC_FORM' . &bou_ray = 'FFOR' mo_ray ma_ray ;
  81. 'FINSI' ;
  82. 'FIN' bou_ray ;
  83. 'FINSI' ;
  84.  
  85. 'FINSI' ;
  86.  
  87. *----------------------------------------------------------------------*
  88. * Deuxieme partie du rayonnement calcul matrices et chpoint
  89. *----------------------------------------------------------------------*
  90. 'SI' ( ('EGA' IAPPEL 1) 'OU' ('EGA' IAPPEL 3) ) ;
  91. CTE_SB = etab.'CTE_STEFAN_BOLTZMANN' ;
  92.  
  93. TREF = etab.'TREF' ;
  94. U0 =('EXCO' etab.'THER_COURANT' LM_PRIM LM_PRIM) + TREF ;
  95. MAT_CHPO = 0. ;
  96.  
  97. 'REPETER' bou_ray NDIM3 ;
  98.  
  99. mo_ray = rayo_val. &bou_ray .'MODELE';
  100. RTYPE = rayo_val. &bou_ray .'TYPE' ;
  101.  
  102. * Pourrait-on prendre etab.'MAT_RAY' plutot que etab.'CHMAT' ?
  103. CH_EMI = 'REDU' etab.'CHMAT' mo_ray ;
  104.  
  105. MAIL_RAD = 'EXTR' CH_EMI 'MAIL' ;
  106. CH_RAD = 'REDU' U0 MAIL_RAD ;
  107. * 'MESS' 'CH_RAD: ' ('MINI' CH_RAD) ('MAXI' CH_RAD);
  108.  
  109. *--------- Calcul des differents CHPOINTs sur le maillage -------------*
  110. *----------------------------------------------------------------------*
  111. 'SI' ('NEG' RTYPE 'CAVITE') ;
  112. *
  113. CH_EMI2 = 'CHAN' 'NOEUD' mo_ray CH_EMI ;
  114. *
  115. *------------- Cas du rayonnement face a face -------------------------*
  116. 'SI' ('EGA' RTYPE 'FAC_A_FAC') ;
  117. * on recupere les objets par extraire obje pour le face a face :
  118. fac1 fac2 geo mcv = 'EXTR' mo_ray 'OBJE' ;
  119. mo_ray1 = 'REDU' mo_ray fac1 ;
  120. mo_ray2 = 'REDU' mo_ray fac2 ;
  121. ma_ray1 = 'REDU' CH_EMI2 mo_ray1 ;
  122. ma_ray2 = 'REDU' CH_EMI2 mo_ray2 ;
  123. ch_rad1 = 'REDU' CH_RAD fac1 ;
  124. ch_rad2 = 'REDU' CH_RAD fac2 ;
  125. *
  126. * correction 06/12/06: on met d'abord la face 1 puis la face 2
  127. * en coherence avec l'orientation des elements du maillage GEO
  128. MAT_RAD = HRAYO mcv mo_ray1 ma_ray1 ch_rad1
  129. mo_ray2 ma_ray2 ch_rad2
  130. geo CTE_SB ;
  131. *
  132. *------------- Cas du rayonnement a l'infini --------------------------*
  133. 'SINON' ;
  134. ma_ray = 'REDU' CH_EMI2 mo_ray ;
  135. 'SI' ('EXIS' (etab.'CHARGEMENT') 'TERA') ;
  136. *Note on pourrait faire une seule fois ce TIRE !
  137. CH_TER = 'TIRE' (etab.'CHARGEMENT') 'TERA' TEMM ;
  138. 'SINON' ;
  139. CH_TER = 'EXCO' ma_ray 'T_IN' 'T' ;
  140. CH_TER = 'CHAN' 'CHPO' mo_ray CH_TER ;
  141. 'FINSI' ;
  142. CH_TE1 = 'REDU' CH_TER MAIL_RAD ;
  143. CH_TE1 = CH_TE1 '+' TREF ;
  144.  
  145. *??? mcv = mail_rad 'MODE' 'THERMIQUE' CONVECTION ;
  146. mcv = ('EXTR' mo_ray 'MAIL') 'MODE' 'THERMIQUE' CONVECTION ;
  147.  
  148. * on prend pour E_IM la valeur 1. par defaut :
  149. 'SI' ('NON' ('EXIS' MA_RAY 'E_IN'));
  150. ** ma_rayin = 'MATE' mo_ray 'E_IN' 1. ;
  151. ** ma_ray = ma_ray 'ET' ('CHAN' 'NOEUD' MO_RAY MA_RAYIN) ;
  152. ma_rayin = 'MANU' 'CHML' mo_ray 'E_IN' 1.
  153. 'TYPE' 'CARACTERISTIQUES' 'NOEUD' ;
  154. ma_ray = ma_ray 'ET' ma_rayin ;
  155. 'FINSI' ;
  156.  
  157. MAT_RAD = HRAYO mcv mo_ray ma_ray CH_RAD CH_TE1 CTE_SB ;
  158.  
  159. CHAL_TES = 'CONVECTION' mcv MAT_RAD CH_TE1 ;
  160. MAT_CHPO = MAT_CHPO '+' CHAL_TES ;
  161.  
  162. 'FINSI' ;
  163. *
  164. RIG_RAD = 'CONDUCTIVITE' mcv MAT_RAD ;
  165. *
  166. *------------- Cas du rayonnement dans une cavite--------------------
  167. 'SINON' ;
  168.  
  169. U_CAK2 = 'CHAN' 'CHAM' mo_ray CH_RAD 'GRAVITE' ;
  170. *
  171. * Methode avec calcul de la matrice de rayonnement
  172. 'SI' ('NON' ('EXIS' mo_ray 'MATE' 'TRAYO')) ;
  173. * methode avec le calcul de la temperature de rayonnement a l'infini
  174. * equivalente a l'ensemble de la cavite pour la face consideree
  175. MCH_FF = etab.'FAC_FORM'. &bou_ray ;
  176. TCAV ='RAYE' mo_ray 1.E-7 MCH_FF CH_EMI U_CAK2 ;
  177. HRAD = HRCAV mo_ray CH_EMI U_CAK2 TCAV ;
  178. RIG_RAD ='COND' mo_ray HRAD ;
  179.  
  180. TCAV_N1 = 'CHAN' 'CHPO' mo_ray TCAV ;
  181. TCAV_N = 'NOMC' TCAV_N1 'T' 'NATU' 'DIFFUS';
  182. CHAL_TES = 'CONV' mo_ray HRAD TCAV_N ;
  183. MAT_CHPO = MAT_CHPO '+' CHAL_TES ;
  184.  
  185. 'SINON';
  186. * Methode par defaut
  187. MAT_RAYE = 'RAYE' mo_ray (etab.'FAC_FORM'.&bou_ray)
  188. CH_EMI ;
  189. RIG_RAD = 'RAYN' mo_ray MAT_RAYE U_CAK2 CTE_SB ;
  190. 'FINSI';
  191.  
  192. 'FINSI';
  193. *---------------------------------------------------------------------
  194.  
  195. 'SI' ('EGA' &bou_ray 1) ;
  196. bb = rig_rad ;
  197. 'SINON';
  198. bb = rig_rad 'ET' bb;
  199. 'FINSI' ;
  200.  
  201. 'FIN' bou_ray ;
  202.  
  203. * On n'ajoute second membre que si c'est un CHPOINT !
  204. 'SI' ('NEG' MAT_CHPO 0.) ;
  205. TAA.'ADDI_SECOND' = MAT_CHPO ;
  206. 'FINSI' ;
  207. TAA.'ADDI_MATRICE' = bb ;
  208. TAA.'RAYO_VALEUR' = rayo_val ;
  209.  
  210. 'FINSI';
  211.  
  212. 'RESPRO' TAA ;
  213. 'FINPROC' ;
  214.  
  215.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales