Télécharger fcub20.eso

Retour à la liste

Numérotation des lignes :

  1. C FCUB20 SOURCE CHAT 05/01/12 23:57:41 5004
  2. C
  3. C
  4. C
  5. SUBROUTINE FCUB20(ITYPE,INDONN,IRESUL,NBRESU)
  6. C **********************************************************************
  7. C OBJET FCUB20 : RENVOI LES INFO SUR LE CUB20
  8. C EN ENTREE :
  9. C ITYPE : TYPE DES INFORMATION SOUHAITEES
  10. C INDONN : DONNEES POUR LA REQUETE FORMULEE
  11. C EN SORTIE :
  12. C IRESUL : TABLEAU D'ENTIER CONTENANT LE RESULTAT
  13. C NBRESU : NOMBRE D'INFORMATION CONTENU DANS IRESUL
  14. C
  15. C **********************************************************************
  16. IMPLICIT INTEGER(I-N)
  17. INTEGER ITYPE,INDONN(*),IRESUL(*),NBRESU
  18. C
  19. C
  20. INTEGER INDMIN,INDMAX,I
  21. C ==========================
  22. C ------------- DESCRIPTION DE L'ELEMENT --------------------
  23. C ==========================
  24. INTEGER NSOAR,NNOAR,NSOFA,NNOFA,NSOVO,NNOVO,NNOTOT
  25. PARAMETER ( NSOAR = 24, NNOAR = 25, NSOFA = 31, NNOFA = 1,
  26. > NSOVO = 8, NNOVO = 1, NNOTOT = 12 )
  27. INTEGER ISOAR(NSOAR),INOAR(NNOAR),ISOFA(NSOFA),INOFA(NNOFA)
  28. INTEGER ISOVO(NSOVO),INOVO(NNOVO),INOTOT(NNOTOT)
  29. DATA ISOAR / 1,3,3,5,5,7,7,1,1,13,3,15,5,17,7,19,13,15,
  30. > 15,17,17,19,19,13 /
  31. DATA INOAR /14,15,16,17,18,19,20,21,22,23,24,25,26,
  32. > 2,4,6,8,9,10,11,12,14,16,18,20/
  33. DATA ISOFA / 7,11,15,19,23,27,31,
  34. > 1,3,5,7, 1,13,15,3, 3,15,17,5,
  35. > 5,17,19,7, 7,19,13,1, 13,19,17,15 /
  36.  
  37. DATA INOFA / 0 /
  38. DATA ISOVO / 1,3,5,7,13,15,17,19 /
  39. DATA INOVO / 0 /
  40. DATA INOTOT /2,4,6,8,9,10,11,12,14,16,18,20 /
  41. C ------------------------------------------------------------
  42. C
  43. GOTO(10,20,30,40,50,60,70,80,90) ITYPE
  44. 1 NBRESU = 0
  45. GOTO 9999
  46. C
  47. C ============================================================
  48. C 1 : LES INDICES DES NOEUDS MILIEU DES SOMMETS (D'UNE ARETE)
  49. C ============================================================
  50. 10 CONTINUE
  51. INDMIN = MIN(INDONN(1),INDONN(2))
  52. INDMAX = MAX(INDONN(1),INDONN(2))
  53. NBRESU = 1
  54. IF( INDMAX.LE.8 )THEN
  55. CALL ELSN2D( INDMIN,INDMAX,8,IRESUL )
  56. GOTO 9999
  57. ENDIF
  58. IF( INDMIN.GE.13)THEN
  59. CALL ELSN2D( INDMIN-12,INDMAX-12,8,IRESUL )
  60. IRESUL(1) = IRESUL(1) + 12
  61. GOTO 9999
  62. ENDIF
  63. IRESUL(1) = 9 + INDMIN / 2
  64. GOTO 9999
  65. C
  66. C ============================================================
  67. C 2 : LES INDICES DES SOMMETS D'UNE ARETE
  68. C ============================================================
  69. 20 CONTINUE
  70. NBRESU = NSOAR
  71. DO 21 I=1,NBRESU
  72. IRESUL(I) = ISOAR(I)
  73. 21 CONTINUE
  74. GOTO 9999
  75. C
  76. C ============================================================
  77. C 3 : LES INDICES DES NOEUDS MILIEU D'UNE ARETE
  78. C ============================================================
  79. 30 CONTINUE
  80. NBRESU = NNOAR
  81. DO 31 I=1,NBRESU
  82. IRESUL(I) = INOAR(I)
  83. 31 CONTINUE
  84. GOTO 9999
  85. C
  86. C ============================================================
  87. C 4 : LES INDICES DES NOEUDS MILIEU DES SOMMETS (D'UNE FACE)
  88. C ============================================================
  89. 40 CONTINUE
  90. NBRESU = 0
  91. GOTO 9999
  92. C
  93. C ============================================================
  94. C 5 : LES INDICES DES SOMMETS D'UNE FACE
  95. C ============================================================
  96. 50 CONTINUE
  97. NBRESU = NNOAR
  98. DO 51 I=1,NBRESU
  99. IRESUL(I) = ISOFA(I)
  100. 51 CONTINUE
  101. GOTO 9999
  102. C
  103. C ============================================================
  104. C 6 : LES INDICES DES NOEUDS MILIEU D'UNE FACE
  105. C ============================================================
  106. 60 CONTINUE
  107. NBRESU = NNOFA
  108. DO 61 I=1,NBRESU
  109. IRESUL(I) = INOFA(I)
  110. 61 CONTINUE
  111. GOTO 9999
  112. C
  113. C ============================================================
  114. C 7 : LES INDICES DES NOEUDS DU VOLUME
  115. C ============================================================
  116. 70 CONTINUE
  117. NBRESU = NNOVO
  118. DO 71 I=1,NBRESU
  119. IRESUL(I) = INOVO(I)
  120. 71 CONTINUE
  121. GOTO 9999
  122. C
  123. C ============================================================
  124. C 8 : LES INDICES DES SOMMETS
  125. C ============================================================
  126. 80 CONTINUE
  127. NBRESU = NSOVO
  128. DO 81 I=1,NBRESU
  129. IRESUL(I) = ISOVO(I)
  130. 81 CONTINUE
  131. GOTO 9999
  132. C
  133. C ============================================================
  134. C 9 : LES INDICES DES NOEUDS
  135. C ============================================================
  136. 90 CONTINUE
  137. NBRESU = NNOTOT
  138. DO 91 I=1,NBRESU
  139. IRESUL(I) = INOTOT(I)
  140. 91 CONTINUE
  141. GOTO 9999
  142. C
  143. 9999 END
  144.  
  145.  
  146.  

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