Télécharger raye0.eso

Retour à la liste

Numérotation des lignes :

raye0
  1. C RAYE0 SOURCE CB215821 24/04/12 21:17:02 11897
  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.  
  25. -INC PPARAM
  26. -INC CCOPTIO
  27. -INC SMMODEL
  28.  
  29. C **********************************************************
  30. C **** Declaration des variables du probleme ****
  31. C **********************************************************
  32.  
  33. SEGMENT ,INFOEL
  34. LOGICAL KCOQ(N1),KQUAD(N1)
  35. ENDSEGMENT
  36.  
  37. POINTEUR MODL.MMODEL
  38.  
  39. C **********************************************************
  40.  
  41. SEGACT MODL
  42. N1 = MODL.KMODEL(/1)
  43. SEGINI INFOEL
  44.  
  45. DO 10 ITYP = 1, N1
  46.  
  47. IMODEL = MODL.KMODEL(ITYP)
  48. SEGACT IMODEL
  49.  
  50. IF (FORMOD(1).NE.'THERMIQUE'.and.
  51. $ matmod(2).ne.'RAYONNEMENT') THEN
  52. CALL ERREUR(21)
  53. RETURN
  54. ENDIF
  55.  
  56. C **** On va regarder quelle est la nature de l'élément****
  57.  
  58. IF (IDIM.EQ.3) THEN
  59.  
  60. IF ((NEFMOD.EQ.4).OR.(NEFMOD.EQ.8)) THEN
  61. C TRI3 ou QUA4
  62. KQUAD(ITYP)=.FALSE.
  63. KCOQ(ITYP) =.FALSE.
  64. ELSEIF ((NEFMOD.EQ.27).OR.(NEFMOD.EQ.49)) THEN
  65. C COQ3 ou COQ4
  66. KQUAD(ITYP)=.FALSE.
  67. KCOQ(ITYP) =.TRUE.
  68. ELSEIF ((NEFMOD.EQ.6).OR.(NEFMOD.EQ.10)) THEN
  69. C TRI6 ou QUA8
  70. KQUAD(ITYP)=.TRUE.
  71. KCOQ(ITYP) =.FALSE.
  72. ELSEIF ((NEFMOD.EQ.56).OR.(NEFMOD.EQ.41)) THEN
  73. C COQ6 ou COQ8
  74. KQUAD(ITYP)=.TRUE.
  75. KCOQ(ITYP) =.TRUE.
  76. ELSE
  77. CALL ERREUR(16)
  78. RETURN
  79. ENDIF
  80.  
  81. ELSEIF (IDIM.EQ.2) THEN
  82.  
  83. IF (NEFMOD.EQ.2) THEN
  84. C SEG2
  85. KQUAD(ITYP)=.FALSE.
  86. KCOQ(ITYP) =.FALSE.
  87. ELSEIF (NEFMOD.EQ.44) THEN
  88. C COQ2
  89. KQUAD(ITYP)=.FALSE.
  90. KCOQ(ITYP) =.TRUE.
  91. ELSEIF (NEFMOD.EQ.3) THEN
  92. C SEG3
  93. KQUAD(ITYP)=.TRUE.
  94. KCOQ(ITYP) =.FALSE.
  95. ELSE
  96. CALL ERREUR(16)
  97. RETURN
  98. ENDIF
  99.  
  100. ELSE
  101. CALL ERREUR(14)
  102. RETURN
  103. ENDIF
  104.  
  105. 10 CONTINUE
  106.  
  107. SEGDES INFOEL
  108.  
  109. END
  110.  
  111.  
  112.  
  113.  

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