Télécharger pente5.eso

Retour à la liste

Numérotation des lignes :

  1. C PENTE5 SOURCE CHAT 05/01/13 02:12:29 5004
  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. -INC CCOPTIO
  68. C
  69. C**** Variables de CCOPTIO
  70. C
  71. C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
  72. C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ
  73. C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES
  74. C & ,IECHO, IIMPI, IOSPI
  75. C & ,IDIM
  76. C & ,MCOORD
  77. C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
  78. C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
  79. C & ,NORINC,NORVAL,NORIND,NORVAD
  80. C & ,NUCROU, IPSAUV
  81. C
  82. C
  83. -INC SMCHPOI
  84. -INC SMELEME
  85. -INC SMLENTI
  86. POINTEUR MPOMIN.MPOVAL, MPOMAX.MPOVAL, MPOVCL.MPOVAL,
  87. & MPOCHP.MPOVAL
  88. POINTEUR MELEFL.MELEME, MLECEN.MLENTI, MLENCL.MLENTI
  89. C
  90. INTEGER NFAC, NCOMP, NLCF, NGCEG, NLCEG, NGCF, NGCED, NLCED
  91. & , NLCL, ICOMP
  92. REAL*8 VAL
  93. C
  94. C**** N.B. Tous les pointeurs ici sont déjà activés!
  95. C
  96. C**** Maillage FACEL
  97. C Boucle sur les faces
  98. C
  99. C
  100. C**** NGCEG = Numero global centre d'elt "gauche"
  101. C NLCEG = Numero local centre d'elt "gauche"
  102. C NGCF = " global centre de face
  103. C NLCF = numero local centre de face
  104. C NGCEG = Numero global centre d'elt "gauche"
  105. C NLCEG = Numero local centre d'elt "gauche"
  106. C
  107. DO NLCF = 1, NFAC
  108. NGCEG = MELEFL.NUM(1,NLCF)
  109. NLCEG = MLECEN.LECT(NGCEG)
  110. NGCF = MELEFL.NUM(2,NLCF)
  111. NGCED = MELEFL.NUM(3,NLCF)
  112. NLCED = MLECEN.LECT(NGCED)
  113. IF(NGCEG .EQ. NGCED)THEN
  114. C
  115. C********** Cas mur
  116. C
  117. NLCL = MLENCL.LECT(NGCF)
  118. IF(NLCL .NE. 0)THEN
  119. C
  120. C************* Le point face appartient au C.L.
  121. C
  122. DO ICOMP = 1, NCOMP, 1
  123. VAL = MPOVCL.VPOCHA(NLCL,ICOMP)
  124. MPOMAX.VPOCHA(NLCEG,ICOMP)= MAX(VAL,
  125. & MPOMAX.VPOCHA(NLCEG,ICOMP))
  126. MPOMIN.VPOCHA(NLCEG,ICOMP)= MIN(VAL,
  127. & MPOMIN.VPOCHA(NLCEG,ICOMP))
  128. ENDDO
  129. ENDIF
  130. ELSE
  131. DO ICOMP = 1, NCOMP, 1
  132. VAL = MPOCHP.VPOCHA(NLCED,ICOMP)
  133. MPOMAX.VPOCHA(NLCEG,ICOMP)= MAX(VAL,
  134. & MPOMAX.VPOCHA(NLCEG,ICOMP))
  135. MPOMIN.VPOCHA(NLCEG,ICOMP)= MIN(VAL,
  136. & MPOMIN.VPOCHA(NLCEG,ICOMP))
  137. C
  138. VAL = MPOCHP.VPOCHA(NLCEG,ICOMP)
  139. MPOMAX.VPOCHA(NLCED,ICOMP)= MAX(VAL,
  140. & MPOMAX.VPOCHA(NLCED,ICOMP))
  141. MPOMIN.VPOCHA(NLCED,ICOMP)= MIN(VAL,
  142. & MPOMIN.VPOCHA(NLCED,ICOMP))
  143. ENDDO
  144. ENDIF
  145. ENDDO
  146. RETURN
  147. END
  148.  
  149.  
  150.  
  151.  

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