Télécharger pente5.eso

Retour à la liste

Numérotation des lignes :

pente5
  1. C PENTE5 SOURCE OF166741 24/12/13 21:16:56 12097
  2. SUBROUTINE PENTE5(NFAC,NCOMP,MELEFL,MPOCHP,MLECEN,MPOVCL,MLENCL,
  3. & MPOMIN,MPOMAX)
  4. C
  5. C************************************************************************
  6. C
  7. C PROJET : CASTEM 2000
  8. C
  9. C NOM : PENTE5
  10. C
  11. C DESCRIPTION : Cette subroutine est appellée par la subroutine
  12. C PENTE1 (calcul du gradient d'un CHPOINT de type
  13. C CENTRE)
  14. C Elle contient la partie du calcul de max et min
  15. C sur les noeuds voisins, dans le cas de
  16. C reconstruction quadratique exacte
  17. C
  18. C LANGAGE : ESOPE 2000 avec extensions CISI
  19. C
  20. C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/TTMF
  21. C
  22. C************************************************************************
  23. C
  24. C
  25. C APPELES (E/S) : none
  26. C
  27. C APPELES (Calcul) : none
  28. C
  29. C
  30. C************************************************************************
  31. C
  32. C ENTREES : NFAC : nombre de faces
  33. C
  34. C NCOMP : nombre de composantes de CHPOINT dont on veut
  35. C calculer les pentes
  36. C
  37. C MELEFL : pointeur du MELEME 'FACEL'
  38. C
  39. C MPOCHP : pointeur de MPOVAL de CHPOINT dont on veut le
  40. C gradient
  41. C
  42. C MLECEN : pointeur de MLENTI qui contient la table
  43. C numerotation global/local de CENTREs
  44. C
  45. C MPOVCL : MPOVAL du CHPOINT de C.L.
  46. C
  47. C MLENCL : table numerotation global/local pour les
  48. C SPG du CHPOINT de C.L. ou
  49. C table de 0 si ce CHPOINT n'existe pas
  50. C
  51. C
  52. C SORTIES : MPOMIN : pointeur de MPOVAL du minimum sur le stencil
  53. C
  54. C MPOMAX : pointeur de MPOVAL du maximum sur le stencil
  55. C
  56. C
  57. C************************************************************************
  58. C
  59. C HISTORIQUE (Anomalies et modifications éventuelles)
  60. C
  61. C HISTORIQUE : Cree le 12-5-2000
  62. C
  63. C
  64. C************************************************************************
  65. C
  66. IMPLICIT INTEGER(I-N)
  67.  
  68. -INC PPARAM
  69. -INC CCOPTIO
  70. C
  71. -INC SMCHPOI
  72. -INC SMELEME
  73. -INC SMLENTI
  74. POINTEUR MPOMIN.MPOVAL, MPOMAX.MPOVAL, MPOVCL.MPOVAL,
  75. & MPOCHP.MPOVAL
  76. POINTEUR MELEFL.MELEME, MLECEN.MLENTI, MLENCL.MLENTI
  77. C
  78. INTEGER NFAC, NCOMP, NLCF, NGCEG, NLCEG, NGCF, NGCED, NLCED
  79. & , NLCL, ICOMP
  80. REAL*8 VAL
  81. C
  82. C**** N.B. Tous les pointeurs ici sont déjà activés!
  83. C
  84. C**** Maillage FACEL
  85. C Boucle sur les faces
  86. C
  87. C
  88. C**** NGCEG = Numero global centre d'elt "gauche"
  89. C NLCEG = Numero local centre d'elt "gauche"
  90. C NGCF = " global centre de face
  91. C NLCF = numero local centre de face
  92. C NGCEG = Numero global centre d'elt "gauche"
  93. C NLCEG = Numero local centre d'elt "gauche"
  94. C
  95. DO NLCF = 1, NFAC
  96. NGCEG = MELEFL.NUM(1,NLCF)
  97. NLCEG = MLECEN.LECT(NGCEG)
  98. NGCF = MELEFL.NUM(2,NLCF)
  99. NGCED = MELEFL.NUM(3,NLCF)
  100. NLCED = MLECEN.LECT(NGCED)
  101. IF(NGCEG .EQ. NGCED)THEN
  102. C
  103. C********** Cas mur
  104. C
  105. NLCL = MLENCL.LECT(NGCF)
  106. IF(NLCL .NE. 0)THEN
  107. C
  108. C************* Le point face appartient au C.L.
  109. C
  110. DO ICOMP = 1, NCOMP, 1
  111. VAL = MPOVCL.VPOCHA(NLCL,ICOMP)
  112. MPOMAX.VPOCHA(NLCEG,ICOMP)= MAX(VAL,
  113. & MPOMAX.VPOCHA(NLCEG,ICOMP))
  114. MPOMIN.VPOCHA(NLCEG,ICOMP)= MIN(VAL,
  115. & MPOMIN.VPOCHA(NLCEG,ICOMP))
  116. ENDDO
  117. ENDIF
  118. ELSE
  119. DO ICOMP = 1, NCOMP, 1
  120. VAL = MPOCHP.VPOCHA(NLCED,ICOMP)
  121. MPOMAX.VPOCHA(NLCEG,ICOMP)= MAX(VAL,
  122. & MPOMAX.VPOCHA(NLCEG,ICOMP))
  123. MPOMIN.VPOCHA(NLCEG,ICOMP)= MIN(VAL,
  124. & MPOMIN.VPOCHA(NLCEG,ICOMP))
  125. C
  126. VAL = MPOCHP.VPOCHA(NLCEG,ICOMP)
  127. MPOMAX.VPOCHA(NLCED,ICOMP)= MAX(VAL,
  128. & MPOMAX.VPOCHA(NLCED,ICOMP))
  129. MPOMIN.VPOCHA(NLCED,ICOMP)= MIN(VAL,
  130. & MPOMIN.VPOCHA(NLCED,ICOMP))
  131. ENDDO
  132. ENDIF
  133. ENDDO
  134. RETURN
  135. END
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  

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