Télécharger convec.eso

Retour à la liste

Numérotation des lignes :

convec
  1. C CONVEC SOURCE OF166741 24/08/06 21:15:02 11982
  2.  
  3. C=======================================================================
  4. C= C O N V E C =
  5. C= ----------- =
  6. C= =
  7. C= OPERATEUR CAST3M "CONVEC" : =
  8. C= --------------------------- =
  9. C= FF1 = 'CONVECTION' MODL1 MAT1 | 'T ' TE | ; =
  10. C= | CHPTE | =
  11. C= =
  12. C= Cet operateur sert a calculer les flux nodaux equivalents a une =
  13. C= condition de type convection forcee (CHPOINT au second membre). =
  14. C= =
  15. C= ARGUMENTS : =
  16. C= ----------- =
  17. C= MODL1 (MMODEL) Modele de la structure (contour ou enveloppe) =
  18. C= MAT1 (MCHAML) Caracteristiques : coefficient d'echange =
  19. C= 'T ' (MOT) Precise que la temperature du milieu exterieur =
  20. C= imposee est constante (flottant suivant) =
  21. C= TE (FLOTTANT) Valeur de la temperature imposee (constante) =
  22. C= CHPTE (CHPOINT) Valeurs des temperatures aux NOEUDS =
  23. C= =
  24. C= RESULTAT : =
  25. C= ---------- =
  26. C= FF1 (CHPOINT) Flux nodaux equivalents =
  27. C= Le CHPOINT resultat FF1 est de nature DISCRETE. =
  28. C= =
  29. C= Denis ROBERT, le 15 avril 1988. =
  30. C=======================================================================
  31.  
  32. SUBROUTINE CONVEC
  33.  
  34. IMPLICIT INTEGER(I-N)
  35. IMPLICIT REAL*8 (A-H,O-Z)
  36.  
  37. -INC PPARAM
  38. -INC CCOPTIO
  39.  
  40. -INC SMCOORD
  41. -INC SMMODEL
  42. -INC SMCHPOI
  43. -INC SMELEME
  44.  
  45. PARAMETER (NBMOCV=3)
  46. CHARACTER*(LOCOMP) MOCNV(NBMOCV),MOCOMP
  47. CHARACTER*(8) TYPOBJ
  48.  
  49. DATA MOCNV/ 'T ','TINF','TSUP' /
  50.  
  51. IPMODE = 0
  52. IPMODC = 0
  53. IPCHCA = 0
  54. IPCHTE = 0
  55. valeTE = 0.D0
  56. IPCHPT = 0
  57. IPCONV = 0
  58.  
  59. C 1 - LECTURE DES ARGUMENTS DE L'OPERATEUR
  60. C ==========================================
  61. C 1.1 - Lecture OBLIGATOIRE du modele (IPMODE)
  62. C =====
  63. MOTERR(1:8)=' MODELE '
  64. CALL MESLIR(-137)
  65. TYPOBJ = 'MMODEL '
  66. CALL LIROBJ(TYPOBJ,IPMODE,1,iret)
  67. IF (IERR.NE.0) RETURN
  68.  
  69. C =====
  70. C 1.2 - Lecture OBLIGATOIRE du champ de caracteristiques (IPCHEL)
  71. C =====
  72. CALL MESLIR(-145)
  73. TYPOBJ = 'MCHAML '
  74. CALL LIROBJ(TYPOBJ,IPCHEL,1,iret)
  75. IF (IERR.NE.0) RETURN
  76.  
  77. C =====
  78. C 1.3 - Lecture OBLIGATOIRE des temperatures exterieures donnees par :
  79. C 1) un CHPOINT (IPCHTE)
  80. C ou 2) un mot ('T ') et un flottant (valeTE)
  81. C =====
  82. CALL MESLIR(-146)
  83. TYPOBJ = 'CHPOINT '
  84. CALL LIROBJ(TYPOBJ,IPCHTE,0,iret)
  85. IF (IERR.NE.0) RETURN
  86. IF (IPCHTE.EQ.0) THEN
  87. CALL LIRCHA(MOCOMP,1,iret)
  88. IF (IERR.NE.0) RETURN
  89. iret = 0
  90. CALL PLACE(MOCNV,NBMOCV,iret,MOCOMP)
  91. IF (iret .EQ. 0) THEN
  92. MOTERR=MOCOMP
  93. CALL ERREUR(197)
  94. RETURN
  95. ENDIF
  96. CALL MESLIR(-147)
  97. CALL LIRREE(valeTE,1,iret)
  98. IF (IERR.NE.0) RETURN
  99. ENDIF
  100.  
  101. C 2 - ANALYSE DES ARGUMENTS
  102. C ===========================
  103. C 2.1 - Le modele (IPMODE)
  104. C =====
  105. TYPOBJ = 'MMODEL '
  106. CALL ACTOBJ(TYPOBJ,IPMODE,1)
  107. IF (IERR.NE.0) RETURN
  108.  
  109. C Modele THERMIQUE 'CONVECTION' sans RACCORD et 'RAYONNEMENT'
  110. CALL SELMOD(IPMODE,IPMODC)
  111. mmodel = IPMODC
  112. * segact,mmodel
  113. N1C = mmodel.kmodel(/1)
  114.  
  115. C= Cas particulier du modele ne contenant que des elements raccords
  116. C= Le champ de flux nodaux equivalents est vide.
  117. IF (N1C.EQ.0) THEN
  118. NSOUPO=0
  119. NAT=1
  120. SEGINI,MCHPOI
  121. MTYPOI='CHALEUR '
  122. JATTRI(1)=2
  123. IFOPOI=IFOUR
  124. IPCONV = MCHPOI
  125. GOTO 900
  126. ENDIF
  127.  
  128. C =====
  129. C 2.2 - Champ de caracteristiques (IPCHEL)
  130. C =====
  131. TYPOBJ = 'MCHAML '
  132. CALL ACTOBJ(TYPOBJ,IPCHEL,1)
  133. IF (IERR.NE.0) GOTO 990
  134. CALL REDUAF(IPCHEL,IPMODC,IPCHCA,0,ir,ker)
  135. IF (ir .NE. 1) CALL ERREUR(ker)
  136. IF (IERR .NE. 0) GOTO 990
  137.  
  138. C =====
  139. C 2.3 - Temperatures exterieures (IPCHPT)
  140. C =====
  141. IF (IPCHTE.NE.0) THEN
  142. IPCHPT = IPCHTE
  143. ELSE
  144. C Extraction du MAILLAGE du MODELE
  145. CALL EXTRA8(IPMODC,IPGEOM)
  146. IF (IERR.NE.0) GOTO 990
  147. CALL CHANGE(IPGEOM,1)
  148. IF (IERR.NE.0) GOTO 990
  149. MELEME = IPGEOM
  150. * SEGACT,MELEME
  151.  
  152. C Creation d'un CHPOINT de composante MOCOMP et de valeur TE
  153. NSOUPO=1
  154. NAT =1
  155. SEGINI,MCHPOI
  156. MTYPOI = ' '
  157. MOCHDE = ' '
  158. IFOPOI = IFOMOD
  159. C NATURE 'DIFFUS'
  160. JATTRI(1)=1
  161. NC=1
  162. N =NUM(/2)
  163. SEGINI,MSOUPO,MPOVAL
  164. IPCHP(1) = MSOUPO
  165. NOCOMP(1)= MOCOMP
  166. IGEOC = IPGEOM
  167. IPOVAL = MPOVAL
  168. DO io = 1, N
  169. mpoval.vpocha(io,1) = valeTE
  170. ENDDO
  171. IPCHPT = MCHPOI
  172. ENDIF
  173. TYPOBJ = 'CHPOINT '
  174. CALL ACTOBJ(TYPOBJ,IPCHPT,1)
  175.  
  176. segact,mcoord*nomod
  177.  
  178. C 3 - CALCUL DES FLUX NODAUX EQUIVALENTS
  179. C ========================================
  180. CALL CONVMA(IPMODC,IPCHCA,IPCHPT,IPCONV)
  181. IF (IERR.NE.0) GOTO 990
  182.  
  183. C 4 - ECRITURE DU CHPOINT RESULTAT
  184. C ==================================
  185. C= Attribution d'une nature DISCRETE au CHPOINT resultat
  186. 900 CONTINUE
  187. IF (IPCONV.NE.0) THEN
  188. MCHPOI=IPCONV
  189. NAT=MAX(JATTRI(/1),1)
  190. NSOUPO=IPCHP(/1)
  191. SEGADJ,MCHPOI
  192. JATTRI(1)=2
  193. TYPOBJ = 'CHPOINT '
  194. CALL ACTOBJ(TYPOBJ,IPCONV,1)
  195. CALL ECROBJ(TYPOBJ,IPCONV)
  196. ENDIF
  197.  
  198. C 5 - MENAGE :
  199. C ==============
  200. 990 CONTINUE
  201. IF (IPCHTE.EQ.0) CALL DTCHPO(IPCHPT)
  202.  
  203. c return
  204. END
  205.  
  206.  
  207.  

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