Télécharger pas_rayo.procedur

Retour à la liste

Numérotation des lignes :

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

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