Télécharger cq3grf.eso

Retour à la liste

Numérotation des lignes :

cq3grf
  1. C CQ3GRF SOURCE CB215821 26/10/26 21:15:23 12682
  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. UE(IP)=UUE(IP)
  36. 2 CONTINUE
  37. DO 4 IP=1,3
  38. XE(IP)=XXE(1,IP)
  39. YE(IP)=XXE(2,IP)
  40. ZE(IP)=XXE(3,IP)
  41. 4 CONTINUE
  42. CALL PASSA(XE,YE,ZE,P,X13,X23,Y13,Y23)
  43. DO 10 IP=1,6
  44. IP1=3*(IP-1)
  45. DO 5 IQ=1,3
  46. XX(IQ)=UE(IQ+IP1)
  47. 5 CONTINUE
  48. CALL MULMAT(YY,P,XX,3,1,3)
  49. DO 7 IQ=1,3
  50. UE(IQ+IP1)=YY(IQ)
  51. 7 CONTINUE
  52. 10 CONTINUE
  53. DO 8 IP=1,3
  54. IP1=IP-1
  55. IP2=2*IP1
  56. IP3=3*IP1
  57. IP6=6*IP1
  58. DO 9 IQ=1,2
  59. DT(IQ+IP2)=UE(IQ+IP6)
  60. 9 CONTINUE
  61. DO 11 IQ=3,5
  62. IQ2=IQ-2
  63. DF(IQ2+IP3)=UE(IQ+IP6)
  64. 11 CONTINUE
  65. 8 CONTINUE
  66. C ===
  67. S=1./(X13*Y23-X23*Y13)
  68. A1=Y13
  69. A2=-X13
  70. A3=Y23
  71. A4=-X23
  72. C === MATRICE T(4,3)
  73. T(1,1)=Y23*Y23
  74. T(1,2)=Y13*Y13
  75. T(1,3)=-2.0D0*Y13*Y23
  76. T(2,1)=-X23*Y23
  77. T(2,2)=-X13*Y13
  78. T(2,3)=(X13*Y23+X23*Y13)
  79. T(3,1)=-X23*Y23
  80. T(3,2)=-X13*Y13
  81. T(3,3)=(X13*Y23+X23*Y13)
  82. T(4,1)=X23*X23
  83. T(4,2)=X13*X13
  84. T(4,3)=-2.0D0*X13*X23
  85. C=== MATRICE Q(3,9)
  86. Q(1,1)=DETIER
  87. Q(1,2)=UNTIER*(2.*A1+A3)
  88. Q(1,3)=UNTIER*(2.*A2+A4)
  89. Q(1,4)=-QUTIER
  90. Q(1,5)=UNTIER*(-A1+2.*A3)
  91. Q(1,6)=UNTIER*(-A2+2.*A4)
  92. Q(1,7)=DETIER
  93. Q(1,8)=-A1+UNTIER*A3
  94. Q(1,9)=-A2+UNTIER*A4
  95. Q(2,1)=-QUTIER
  96. Q(2,2)=UNTIER*(2.*A1-A3)
  97. Q(2,3)=UNTIER*(2.*A2-A4)
  98. Q(2,4)=DETIER
  99. Q(2,5)=UNTIER*(A1+2.*A3)
  100. Q(2,6)=UNTIER*(A2+2.*A4)
  101. Q(2,7)=DETIER
  102. Q(2,8)=-A3+UNTIER*A1
  103. Q(2,9)=-A4+UNTIER*A2
  104. Q(3,1)=-DETIER
  105. Q(3,2)=UNTIER*A1+0.5*A3
  106. Q(3,3)=UNTIER*A2+0.5*A4
  107. Q(3,4)=-DETIER
  108. Q(3,5)=0.5*A1+UNTIER*A3
  109. Q(3,6)=0.5*A2+UNTIER*A4
  110. Q(3,7)=QUTIER
  111. Q(3,8)=-UNSIX*(A1+A3)
  112. Q(3,9)=-UNSIX*(A2+A4)
  113. C ===
  114. CALL MULMAT(SD,Q,DF,3,1,9)
  115. CALL MULMAT(TM,T,SD,4,1,3)
  116. GRADF(1)=-S*S*TM(1)
  117. GRADF(2)=-S*S*TM(2)
  118. GRADF(3)=0.0D0
  119. GRADF(4)=-S*S*TM(3)
  120. GRADF(5)=-S*S*TM(4)
  121. GRADF(6)=0.0D0
  122. GRADF(7)=0.0D0
  123. GRADF(8)=0.0D0
  124. GRADF(9)=0.0D0
  125. RETURN
  126. END
  127.  
  128.  
  129.  

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