Télécharger clim1.eso

Retour à la liste

Numérotation des lignes :

  1. C CLIM1 SOURCE KK2000 14/04/10 21:15:05 8032
  2. SUBROUTINE CLIM1
  3. C************************************************************************
  4. C
  5. C PROJET : CASTEM 2000
  6. C
  7. C NOM : CLIM1
  8. C
  9. C DESCRIPTION : Subroutine appellée par KON1
  10. C
  11. C Modelisation 2D/3D des equations d'Euler
  12. C Conditions aux limites
  13. C
  14. C Calcul du flux/residu
  15. C
  16. C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
  17. C
  18. C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/LTMF
  19. C
  20. C************************************************************************
  21. C
  22. C*** SYNTAXE
  23. C
  24. C Discrétisation en VF "cell-centered" des équations d'Euler pour
  25. C un gaz parfait polytropique
  26. C Inconnues: densités, quantité de mouvement, énergie totale par
  27. C unité de volumes (variables conservatives)
  28. C Conditions au limit
  29. C
  30. C RCHPLI RCHPRE = 'KONV' 'VF' 'PERFMONO' 'CLIM'
  31. C 'RESI' $MOD1 $MOD2 LMOTC LMOTP CHPRN CHPVN CHPPN CHPGN
  32. C MOT1 CHPLI ;
  33. C
  34. C $MOD1 : l'objet modele du domaine interieur
  35. C ($TAB1 est sa table domaine)
  36. C
  37. C $MOD2 : l'objet modele du domaine du bord
  38. C ($TAB2 est sa table domaine)
  39. C
  40. C LMOTC : LISTMOTS, noms des variables conservatives
  41. C
  42. C LMOTP : LISTMOTS, noms des variables primitives
  43. C
  44. C CHPRN : densité (SPG = 'CENTRE', une seule
  45. C composante, 'SCAL')
  46. C
  47. C CHPVN : vitesse (SPG = $TAB1 . 'CENTRE',
  48. C composantes: 'UX', 'UY', ('UZ'))
  49. C
  50. C CHPPN : pression (SPG = $TAB1 . 'CENTRE', une seule
  51. C composante, 'SCAL')
  52. C
  53. C CHPGN : gamma (SPG = $TAB1 . 'CENTRE', une seule
  54. C composante, 'SCAL')
  55. C
  56. C CHPRNI : densité (SPG = $TAB2 . 'CENTRE', une seule
  57. C composante, 'SCAL')
  58. C
  59. C MOT1 : MOT, type de condition limite:
  60. C 'INRI' : inlet, invariants de Riemann
  61. C
  62. C CHPLI : condition limit imposé (SPG = $TAB2 . 'CENTRE')
  63. C Les composantes dependent de MOT1
  64. C 'INRI' : on donne densité 'RN', vitesse 'UX' 'UY' ('UX')
  65. C pression 'PN'
  66. C 'OUTRI': on donne densité 'RN', vitesse 'UX' 'UY' ('UX')
  67. C pression 'PN'
  68. C 'INSS' : on donne densité 'RN', vitesse 'UX' 'UY' ('UX')
  69. C pression 'PN'
  70. C 'OUTSS': chpoint vide
  71. C 'OUTP' : on donne la pression 'PN', on recupere la
  72. C vitesse et la densité à l'interieur
  73. C 'INSU' : on donne l'enthalpie totale 'HT', l'entropie 'S',
  74. C on impose que la vitesse tangentielle est nulle,
  75. C on recupere la pression à l'interieur
  76. C 'INJE' : on donne le flux de masse et RT (temperature fois
  77. C la constante de gaz); on impose que la vitesse
  78. C tangentielle est nulle, on calcule la pression.
  79. C 'INJELM' : hypothese BM: on donne le flux de masse et RT
  80. C (temperature fois la constante de gaz); on impose
  81. C que la vitesse tangentielle est nulle, on recupere
  82. C la pression de l'interieur.
  83. C
  84. C SORTIES
  85. C
  86. C RCHPLI : on donne densité, vitesse, pression sur le bord
  87. C (SPG = $TAB2 . 'CENTRE', composantes en LMOTP)
  88. C
  89. C RCHPRE : residu (SPG = $TAB1 . 'CENTRE', composantes en LMOTC)
  90. C
  91. C************************************************************************
  92. C
  93. C HISTORIQUE (Anomalies et modifications éventuelles)
  94. C
  95. C HISTORIQUE :
  96. C
  97. C************************************************************************
  98. IMPLICIT INTEGER(I-N)
  99. IMPLICIT REAL*8(A-H,O-Z)
  100.  
  101. -INC CCOPTIO
  102. C
  103. INTEGER NBOPT, ICELL, IJAC
  104. C
  105. PARAMETER (NBOPT=3)
  106. CHARACTER*8 LOPT(NBOPT)
  107. C
  108. DATA LOPT/'RESI ','JACOCONS','JACOPRIM'/
  109. C
  110. CALL LIRMOT(LOPT,NBOPT,ICELL,1)
  111. IF(IERR .NE. 0) GOTO 9999
  112. IF(ICELL .EQ. 1)THEN
  113. C 'RESI '
  114. IJAC=0
  115. CALL CLIM11(IJAC)
  116. IF(IERR .NE. 0) GOTO 9999
  117. ELSEIF(ICELL .EQ. 2)THEN
  118. C 'JACOCONS'
  119. IJAC=1
  120. CALL CLIM11(IJAC)
  121. IF(IERR .NE. 0) GOTO 9999
  122. ELSEIF(ICELL .EQ. 3)THEN
  123. C 'JACOPRIM'
  124. IJAC=2
  125. CALL CLIM11(IJAC)
  126. IF(IERR .NE. 0) GOTO 9999
  127. ENDIF
  128. 9999 CONTINUE
  129. RETURN
  130. END
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  

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