Télécharger pente5.eso

Retour à la liste

Numérotation des lignes :

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

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