Télécharger tshape.eso

Retour à la liste

Numérotation des lignes :

  1. C TSHAPE SOURCE PASCAL 19/11/06 21:15:01 10362
  2.  
  3. C=======================================================================
  4. C= T S H A P E =
  5. C= ----------- =
  6. C= =
  7. C= Fonction : =
  8. C= ---------- =
  9. C= Calcul des fonctions de forme et de leurs derivees soit aux noeuds =
  10. C= soit aux points de Gauss d'un element fini MASSIF a integration =
  11. C= numerique (branchement vers les sous-programmes adequats). =
  12. C= =
  13. C= Parametres : (E)=Entree (S)=Sortie =
  14. C= ------------ =
  15. C= NEF (E) Numero de l'ELEMENT FINI dans NOMTP (cf. CCHAMP) =
  16. C= POINTS (E) Chaine de caracteres indiquant si l'on souhaite les =
  17. C= valeurs aux noeuds (='NOEUD') ou aux points de Gauss =
  18. C= (='GAUSS') de l'element fini considere =
  19. C= IPINTE (S) Pointeur sur le segment MINTE =
  20. C= =
  21. C= Remarque : Il s'agit des derivees par rapport aux coordonnees de =
  22. C= ---------- l'element de reference (Eta,Qsi,Dzeta). =
  23. C= =
  24. C= Denis ROBERT, le 6 janvier 1988. P. DOWLATYARI, mars 1992 =
  25. C=======================================================================
  26.  
  27. SUBROUTINE TSHAPE (NEF,POINTS,IPINTE)
  28.  
  29. IMPLICIT INTEGER(I-N)
  30. IMPLICIT REAL*8 (A-H,O-Z)
  31.  
  32.  
  33. -INC PPARAM
  34. -INC CCOPTIO
  35.  
  36. CHARACTER*(*) POINTS
  37. SEGMENT ISEG(0)
  38.  
  39. C 1 - Verification : Les valeurs ne peuvent etre donnees qu'aux
  40. C ==================== noeuds ou aux points d'integration (Gauss).
  41. IF (POINTS(1:5).NE.'GAUSS'.AND.POINTS(1:5).NE.'NOEUD') THEN
  42. CALL ERREUR(19)
  43. RETURN
  44. ENDIF
  45.  
  46. C 2 - Appel a la procedure suivant le type de l'ELEMENT FINI
  47. C ============================================================
  48. C 2.1 - Elements SEG2 RAC2 COQ2 BARRe T1D2
  49. C =====
  50. IF (NEF.EQ.2.OR.NEF.EQ.12.OR.NEF.EQ.44.OR.NEF.EQ.46.OR.
  51. . NEF.EQ.191.or.nef.eq.269) THEN
  52. CALL TSEG2F(POINTS,IPINTE)
  53. C =====
  54. C 2.2 - Elements SEG3 RAC3 T1D3
  55. C =====
  56. ELSE IF (NEF.EQ.3.OR.NEF.EQ.13.OR.NEF.EQ.192.or.nef.eq.270) THEN
  57. CALL TSEG3(POINTS,IPINTE)
  58. C =====
  59. C 2.3 - Elements TRI3 LIA3 COQ3
  60. C =====
  61. ELSE IF (NEF.EQ.4.OR.NEF.EQ.18.OR.NEF.EQ.27) THEN
  62. CALL TTRI3F(POINTS,IPINTE)
  63. C =====
  64. C 2.4 - Elements TRI6 LIA6
  65. C =====
  66. ELSE IF (NEF.EQ.6.OR.NEF.EQ.20) THEN
  67. CALL TTRI6(POINTS,IPINTE)
  68. C =====
  69. C 2.5 - Elements QUA4 LIA4
  70. C =====
  71. ELSE IF (NEF.EQ.8.OR.NEF.EQ.19) THEN
  72. CALL TQUA4(POINTS,IPINTE)
  73. C =====
  74. C 2.6 - Elements QUA8 LIA8
  75. C =====
  76. ELSE IF (NEF.EQ.10.OR.NEF.EQ.21) THEN
  77. CALL TQUA8(POINTS,IPINTE)
  78. C =====
  79. C 2.7 - Element CUB8
  80. C =====
  81. ELSE IF (NEF.EQ.14) THEN
  82. CALL TCUB8(POINTS,IPINTE)
  83. C =====
  84. C 2.8 - Element CU20
  85. C =====
  86. ELSE IF (NEF.EQ.15) THEN
  87. CALL TCU20(POINTS,IPINTE)
  88. C =====
  89. C 2.9 - Element PRI6
  90. C =====
  91. ELSE IF (NEF.EQ.16) THEN
  92. CALL TPRI6(POINTS,IPINTE)
  93. C ======
  94. C 2.10 - Element PR15
  95. C ======
  96. ELSE IF (NEF.EQ.17) THEN
  97. CALL TPR15(POINTS,IPINTE)
  98. C ======
  99. C 2.11 - Element TET4
  100. C ======
  101. ELSE IF (NEF.EQ.23) THEN
  102. CALL TTET4F(POINTS,IPINTE)
  103. C ======
  104. C 2.12 - Element TE10
  105. C ======
  106. ELSE IF (NEF.EQ.24) THEN
  107. CALL TTE10(POINTS,IPINTE)
  108. C ======
  109. C 2.13 - Element PYR5
  110. C ======
  111. ELSE IF (NEF.EQ.25) THEN
  112. CALL TPYR5(POINTS,IPINTE)
  113. C ======
  114. C 2.14 - Element PY13
  115. C ======
  116. ELSE IF (NEF.EQ.26) THEN
  117. CALL TPY13(POINTS,IPINTE)
  118. C ======
  119. C 2.15 - Element COQ4
  120. C ======
  121. ELSE IF (NEF.EQ.49) THEN
  122. CALL TCOQ4(POINTS,IPINTE)
  123. C ======
  124. C 2.16 - Element COQ8
  125. C ======
  126. ELSE IF (NEF.EQ.41) THEN
  127. CALL TCOQ8(POINTS,IPINTE)
  128. C ======
  129. C 2.17 - Element COQ6
  130. C ======
  131. ELSE IF (NEF.EQ.56) THEN
  132. CALL TCOQ6(POINTS,IPINTE)
  133. C ======
  134. C 2.18 - Element POI1
  135. C ======
  136. ELSE IF ((NEF.EQ.45).OR.(NEF.EQ.1)) THEN
  137. CALL TPOI1(POINTS,IPINTE)
  138. C ======
  139. C 2.19 - ERREUR : Element fini non implemente
  140. C ======
  141. ELSE
  142. CALL ERREUR(19)
  143. RETURN
  144. ENDIF
  145.  
  146. ISEG=IPINTE
  147. SEGACT,ISEG
  148.  
  149. END
  150.  
  151.  
  152.  
  153.  

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