Télécharger raye0.eso

Retour à la liste

Numérotation des lignes :

  1. C RAYE0 SOURCE CHAT 12/06/07 21:15:54 7389
  2. SUBROUTINE RAYE0(MODL, INFOEL)
  3.  
  4.  
  5. C **********************************************************
  6. C **** SUBROUTINE DE LECTURE DE LA STRUCTURE COQ DU ****
  7. C **** DOMAINE ****
  8. C **** ****
  9. C **** En entree : MODL modele sur lequel s'appuie le ****
  10. C **** calcul. ****
  11. C **** En sortie : INFOEL segment qui contient la ****
  12. C **** structure COQue ou QUAdratique ****
  13. C **** de la zone etudiee. ****
  14. C **** ****
  15. C **********************************************************
  16.  
  17. IMPLICIT INTEGER(I-N)
  18. IMPLICIT REAL*8 (A-H,O-Z)
  19.  
  20. C **********************************************************
  21. C **** Entree des includes ****
  22. C **********************************************************
  23.  
  24. -INC CCOPTIO
  25. -INC SMMODEL
  26.  
  27. C **********************************************************
  28. C **** Declaration des variables du probleme ****
  29. C **********************************************************
  30.  
  31. SEGMENT ,INFOEL
  32. LOGICAL KCOQ(N1),KQUAD(N1)
  33. ENDSEGMENT
  34.  
  35. POINTEUR MODL.MMODEL
  36.  
  37. C **********************************************************
  38.  
  39. SEGACT MODL
  40. N1 = MODL.KMODEL(/1)
  41. SEGINI INFOEL
  42.  
  43. DO 10 ITYP = 1, N1
  44.  
  45. IMODEL = MODL.KMODEL(ITYP)
  46. SEGACT IMODEL
  47.  
  48. IF (FORMOD(1).NE.'THERMIQUE'.and.
  49. $ matmod(2).ne.'RAYONNEMENT') THEN
  50. CALL ERREUR(21)
  51. RETURN
  52. ENDIF
  53.  
  54. C **** On va regarder quelle est la nature de l'élément****
  55.  
  56. IF (IDIM.EQ.3) THEN
  57.  
  58. IF ((NEFMOD.EQ.4).OR.(NEFMOD.EQ.8)) THEN
  59. C TRI3 ou QUA4
  60. KQUAD(ITYP)=.FALSE.
  61. KCOQ(ITYP) =.FALSE.
  62. ELSEIF ((NEFMOD.EQ.27).OR.(NEFMOD.EQ.49)) THEN
  63. C COQ3 ou COQ4
  64. KQUAD(ITYP)=.FALSE.
  65. KCOQ(ITYP) =.TRUE.
  66. ELSEIF ((NEFMOD.EQ.6).OR.(NEFMOD.EQ.10)) THEN
  67. C TRI6 ou QUA8
  68. KQUAD(ITYP)=.TRUE.
  69. KCOQ(ITYP) =.FALSE.
  70. ELSEIF ((NEFMOD.EQ.56).OR.(NEFMOD.EQ.41)) THEN
  71. C COQ6 ou COQ8
  72. KQUAD(ITYP)=.TRUE.
  73. KCOQ(ITYP) =.TRUE.
  74. ELSE
  75. CALL ERREUR(16)
  76. RETURN
  77. ENDIF
  78.  
  79. ELSEIF (IDIM.EQ.2) THEN
  80.  
  81. IF (NEFMOD.EQ.2) THEN
  82. C SEG2
  83. KQUAD(ITYP)=.FALSE.
  84. KCOQ(ITYP) =.FALSE.
  85. ELSEIF (NEFMOD.EQ.44) THEN
  86. C COQ2
  87. KQUAD(ITYP)=.FALSE.
  88. KCOQ(ITYP) =.TRUE.
  89. ELSEIF (NEFMOD.EQ.3) THEN
  90. C SEG3
  91. KQUAD(ITYP)=.TRUE.
  92. KCOQ(ITYP) =.FALSE.
  93. ELSE
  94. CALL ERREUR(16)
  95. RETURN
  96. ENDIF
  97.  
  98. ELSE
  99. CALL ERREUR(14)
  100. RETURN
  101. ENDIF
  102.  
  103. SEGDES IMODEL
  104.  
  105. 10 CONTINUE
  106.  
  107. SEGDES INFOEL
  108. SEGDES MODL
  109.  
  110. RETURN
  111. END
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  

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