Télécharger cq3grf.eso

Retour à la liste

Numérotation des lignes :

  1. C CQ3GRF SOURCE CHAT 05/01/12 22:26:55 5004
  2. SUBROUTINE CQ3GRF(XXE,UUE,GRADF,
  3. 1 UE,XX,YY,P,XE,YE,ZE,DT,DF,T,Q,SD,TM)
  4. C|=====================================================================|
  5. C| |
  6. C| ELEMENT COQ3 CALCUL DES GRADIENS EN FLEXION ( GARFLEXI ) |
  7. C| |
  8. C|== ENTREE |
  9. C| XXE(3,3) COORDONEES DES 3 NOEUDS DE L ELEMENT |
  10. C| RANGES X(1,2)=COORDONNEE X DU NOEUD 2 |
  11. C| X(2,2)=COORDONNEE Y DU NOEUD 2 |
  12. C| X(3,2)=COORDONNEE Z DU NOEUD 2 |
  13. C| UUE(18) VECTEUR DEPLACEMENT DE L ELEMENT |
  14. C| |
  15. C|== SORTIE |
  16. C| GARDF(9) GARFLEXI AUX CENTRE DE GRAVITE |
  17. C| RANGEE 1-9 |
  18. C| WDXX WDXY 0 0 WDYX WDYY 0 0 0 |
  19. C| |
  20. C| CODE SUO X.Z. |
  21. C|=====================================================================|
  22. IMPLICIT INTEGER(I-N)
  23. IMPLICIT REAL*8(A-H,O-Z)
  24. DIMENSION GRADF(9),XXE(3,3),UUE(18)
  25. DIMENSION TM(4),UE(18),DT(6),DF(9)
  26. DIMENSION XX(3),YY(3),P(3,3),XE(3),YE(3),ZE(3)
  27. DIMENSION T(4,3),Q(3,9),SD(3)
  28. DATA UNTIER,DETIER/.333333333333333D0,.6666666666666667D0/
  29. DATA QUTIER,CISOIX/1.33333333333333D0,.0833333333333333D0/
  30. DATA UNSIX/0.1666666666666667D0/
  31. C
  32. C
  33. C
  34. DO 2 IP=1,18
  35. 2 UE(IP)=UUE(IP)
  36. DO 4 IP=1,3
  37. XE(IP)=XXE(1,IP)
  38. YE(IP)=XXE(2,IP)
  39. ZE(IP)=XXE(3,IP)
  40. 4 CONTINUE
  41. CALL PASSA(XE,YE,ZE,P,X13,X23,Y13,Y23)
  42. DO 10 IP=1,6
  43. IP1=3*(IP-1)
  44. DO 5 IQ=1,3
  45. 5 XX(IQ)=UE(IQ+IP1)
  46. CALL MULMAT(YY,P,XX,3,1,3)
  47. DO 7 IQ=1,3
  48. 7 UE(IQ+IP1)=YY(IQ)
  49. 10 CONTINUE
  50. DO 8 IP=1,3
  51. IP1=IP-1
  52. IP2=2*IP1
  53. IP3=3*IP1
  54. IP6=6*IP1
  55. DO 9 IQ=1,2
  56. 9 DT(IQ+IP2)=UE(IQ+IP6)
  57. DO 11 IQ=3,5
  58. IQ2=IQ-2
  59. 11 DF(IQ2+IP3)=UE(IQ+IP6)
  60. 8 CONTINUE
  61. C ===
  62. S=1./(X13*Y23-X23*Y13)
  63. A1=Y13
  64. A2=-X13
  65. A3=Y23
  66. A4=-X23
  67. C === MATRICE T(4,3)
  68. T(1,1)=Y23*Y23
  69. T(1,2)=Y13*Y13
  70. T(1,3)=-2.0D0*Y13*Y23
  71. T(2,1)=-X23*Y23
  72. T(2,2)=-X13*Y13
  73. T(2,3)=(X13*Y23+X23*Y13)
  74. T(3,1)=-X23*Y23
  75. T(3,2)=-X13*Y13
  76. T(3,3)=(X13*Y23+X23*Y13)
  77. T(4,1)=X23*X23
  78. T(4,2)=X13*X13
  79. T(4,3)=-2.0D0*X13*X23
  80. C=== MATRICE Q(3,9)
  81. Q(1,1)=DETIER
  82. Q(1,2)=UNTIER*(2.*A1+A3)
  83. Q(1,3)=UNTIER*(2.*A2+A4)
  84. Q(1,4)=-QUTIER
  85. Q(1,5)=UNTIER*(-A1+2.*A3)
  86. Q(1,6)=UNTIER*(-A2+2.*A4)
  87. Q(1,7)=DETIER
  88. Q(1,8)=-A1+UNTIER*A3
  89. Q(1,9)=-A2+UNTIER*A4
  90. Q(2,1)=-QUTIER
  91. Q(2,2)=UNTIER*(2.*A1-A3)
  92. Q(2,3)=UNTIER*(2.*A2-A4)
  93. Q(2,4)=DETIER
  94. Q(2,5)=UNTIER*(A1+2.*A3)
  95. Q(2,6)=UNTIER*(A2+2.*A4)
  96. Q(2,7)=DETIER
  97. Q(2,8)=-A3+UNTIER*A1
  98. Q(2,9)=-A4+UNTIER*A2
  99. Q(3,1)=-DETIER
  100. Q(3,2)=UNTIER*A1+0.5*A3
  101. Q(3,3)=UNTIER*A2+0.5*A4
  102. Q(3,4)=-DETIER
  103. Q(3,5)=0.5*A1+UNTIER*A3
  104. Q(3,6)=0.5*A2+UNTIER*A4
  105. Q(3,7)=QUTIER
  106. Q(3,8)=-UNSIX*(A1+A3)
  107. Q(3,9)=-UNSIX*(A2+A4)
  108. C ===
  109. CALL MULMAT(SD,Q,DF,3,1,9)
  110. CALL MULMAT(TM,T,SD,4,1,3)
  111. GRADF(1)=-S*S*TM(1)
  112. GRADF(2)=-S*S*TM(2)
  113. GRADF(3)=0.0D0
  114. GRADF(4)=-S*S*TM(3)
  115. GRADF(5)=-S*S*TM(4)
  116. GRADF(6)=0.0D0
  117. GRADF(7)=0.0D0
  118. GRADF(8)=0.0D0
  119. GRADF(9)=0.0D0
  120. RETURN
  121. END
  122.  
  123.  

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