Télécharger cisaf.eso

Retour à la liste

Numérotation des lignes :

cisaf
  1. C CISAF SOURCE CHAT 05/01/12 22:03:15 5004
  2. SUBROUTINE CISAF(XE,EXX,EYY,DDHOMU,AIR,ASS,AXX,AYY,
  3. 1 BSS,BXX,BYY)
  4. C
  5. C******************* FONCTIONS DE CISAILLEMENT *****************
  6. C
  7. C CE SOUS PROGRAMME CALCULE LES CONSTANTES as'(k),ax'(i)
  8. C ay'(i),bs'(k),bx'(i),by'(i) ,ou i=1--->3 k=4---->6
  9. C
  10. C Y
  11. C . 3
  12. C . *
  13. C .5 * * 4 (4,5,6,noueuds condenses)
  14. C . + +
  15. C .* *
  16. C 1 + * * + * * + 2 . . . . . . .X
  17. C 6
  18. C*****************************************************************
  19. C
  20. IMPLICIT INTEGER(I-N)
  21. IMPLICIT REAL*8 (A-H,O-Z)
  22. DIMENSION XE(3,*),EXX(*),EYY(*),DDHOMU(8,*),ASS(*),BSS(*)
  23. DIMENSION AXX(*),AYY(*),BXX(*),BYY(*)
  24. DIMENSION VV2(3,3),DFON(6,3),VV3(3,3)
  25. DIMENSION AAX(6),AAY(6),BBX(6),BBY(6)
  26. *
  27. CALL ZERO(DFON,6,3)
  28. DFON(1,1)=4.D0
  29. DFON(1,2)=4.D0
  30. DFON(1,3)=4.D0
  31. DFON(2,1)=4.D0
  32. DFON(3,2)=4.D0
  33. DFON(4,3)=4.D0
  34. DFON(5,2)=-8.D0
  35. DFON(6,3)=-4.D0
  36. DFON(5,3)=-4.D0
  37. DFON(6,1)=-8.D0
  38. DPSIX=(XE(2,3)-XE(2,1))/(2.D0*AIR)
  39. DPSIY=-(XE(1,3)-XE(1,1))/(2.D0*AIR)
  40. DETAX=(XE(2,1)-XE(2,2))/(2.D0*AIR)
  41. DETAY=-(XE(1,1)-XE(1,2))/(2.D0*AIR)
  42. *
  43. CALL ZERO(VV3,3,3)
  44. C calcul de la matrice jacobienne du second ordre
  45. VV3(1,1)=DPSIX*DPSIX
  46. VV3(1,2)=DETAX*DETAX
  47. VV3(2,1)=DPSIY*DPSIY
  48. VV3(2,2)=DETAY*DETAY
  49. VV3(1,3)=2.D0*DPSIX*DETAX
  50. VV3(2,3)=2.D0*DPSIY*DETAY
  51. VV3(3,2)=DETAX*DETAY
  52. VV3(3,1)=DPSIY*DPSIX
  53. VV3(3,3)=DPSIY*DETAX+DETAY*DPSIX
  54. *
  55. RAF=DDHOMU(4,4)
  56. RAC1=DDHOMU(7,7)
  57. RAC2=DDHOMU(8,8)
  58. RAFC1= RAF/RAC1
  59. RAFC2= RAF/RAC2
  60. PXY=DDHOMU(4,5)/DDHOMU(4,4)
  61. RAPU=DDHOMU(6,6)/DDHOMU(4,4)
  62. RAFF=DDHOMU(5,5)/DDHOMU(4,4)
  63. CALL ZERO(AAX,6,1)
  64. CALL ZERO(BBX,6,1)
  65. CALL ZERO(AAY,6,1)
  66. CALL ZERO(BBY,6,1)
  67. DO 30 I=1,6
  68. AAX(I)=VV3(1,1)*DFON(I,1)+VV3(1,2)*DFON(I,2)+VV3(1,3)*DFON(I,3)
  69. $+RAPU*(VV3(2,1)*DFON(I,1)+VV3(2,2)*DFON(I,2)+VV3(2,3)*DFON(I,3))
  70. AAY(I)=(VV3(3,1)*DFON(I,1)+VV3(3,2)*DFON(I,2)+VV3(3,3)*DFON(I,3))
  71. $*PXY
  72. $+RAPU*(VV3(3,1)*DFON(I,1)+VV3(3,2)*DFON(I,2)+VV3(3,3)*DFON(I,3))
  73. BBX(I)=(VV3(3,1)*DFON(I,1)+VV3(3,2)*DFON(I,2)+VV3(3,3)*DFON(I,3))
  74. $*PXY
  75. $+RAPU*(VV3(3,1)*DFON(I,1)+VV3(3,2)*DFON(I,2)+VV3(3,3)*DFON(I,3))
  76. BBY(I)=(VV3(2,1)*DFON(I,1)+VV3(2,2)*DFON(I,2)+VV3(2,3)*DFON(I,3))
  77. $*RAFF
  78. $+RAPU*(VV3(1,1)*DFON(I,1)+VV3(1,2)*DFON(I,2)+VV3(1,3)*DFON(I,3))
  79. AAX(I)=RAFC1*AAX(I)
  80. AAY(I)=RAFC1*AAY(I)
  81. BBX(I)=RAFC2*BBX(I)
  82. BBY(I)=RAFC2*BBY(I)
  83. 30 CONTINUE
  84. *
  85. CALL ZERO(ASS,6,1)
  86. CALL ZERO(BSS,6,1)
  87. ASS(4)=AAX(4)*EXX(1)+AAY(4)*EYY(1)
  88. ASS(5)=AAX(5)*EXX(2)+AAY(5)*EYY(2)
  89. ASS(6)=AAX(6)*EXX(3)+AAY(6)*EYY(3)
  90. BSS(4)=BBX(4)*EXX(1)+BBY(4)*EYY(1)
  91. BSS(5)=BBX(5)*EXX(2)+BBY(5)*EYY(2)
  92. BSS(6)=BBX(6)*EXX(3)+BBY(6)*EYY(3)
  93. CALL ZERO(AXX,3,1)
  94. CALL ZERO(AYY,3,1)
  95. CALL ZERO(BYY,3,1)
  96. CALL ZERO(BXX,3,1)
  97. AXX(1)=AAX(1)+0.5D0*EYY(2)*(AAX(5)*EYY(2)-AAY(5)*EXX(2))
  98. $+0.5D0*EYY(3)*(AAX(6)*EYY(3)-AAY(6)*EXX(3))
  99. AXX(2)=AAX(2)+0.5D0*EYY(1)*(AAX(4)*EYY(1)-AAY(4)*EXX(1))
  100. $+0.5D0*EYY(3)*(AAX(6)*EYY(3)-AAY(6)*EXX(3))
  101. AXX(3)=AAX(3)+0.5D0*EYY(1)*(AAX(4)*EYY(1)-AAY(4)*EXX(1))
  102. $+0.5D0*EYY(2)*(AAX(5)*EYY(2)-AAY(5)*EXX(2))
  103. AYY(1)=AAY(1)-0.5D0*EXX(2)*(AAX(5)*EYY(2)-AAY(5)*EXX(2))
  104. $-0.5D0*EXX(3)*(AAX(6)*EYY(3)-AAY(6)*EXX(3))
  105. AYY(2)=AAY(2)-0.5D0*EXX(1)*(AAX(4)*EYY(1)-AAY(4)*EXX(1))
  106. $-0.5D0*EXX(3)*(AAX(6)*EYY(3)-AAY(6)*EXX(3))
  107. AYY(3)=AAY(3)-0.5D0*EXX(1)*(AAX(4)*EYY(1)-AAY(4)*EXX(1))
  108. $-0.5D0*EXX(2)*(AAX(5)*EYY(2)-AAY(5)*EXX(2))
  109. BXX(1)=BBX(1)+0.5D0*EYY(2)*(BBX(5)*EYY(2)-BBY(5)*EXX(2))
  110. $+0.5D0*EYY(3)*(BBX(6)*EYY(3)-BBY(6)*EXX(3))
  111. BXX(2)=BBX(2)+0.5D0*EYY(1)*(BBX(4)*EYY(1)-BBY(4)*EXX(1))
  112. $+0.5D0*EYY(3)*(BBX(6)*EYY(3)-BBY(6)*EXX(3))
  113. BXX(3)=BBX(3)+0.5D0*EYY(1)*(BBX(4)*EYY(1)-BBY(4)*EXX(1))
  114. $+0.5D0*EYY(2)*(BBX(5)*EYY(2)-BBY(5)*EXX(2))
  115. BYY(1)=BBY(1)-0.5D0*EXX(2)*(BBX(5)*EYY(2)-BBY(5)*EXX(2))
  116. $-0.5D0*EXX(3)*(BBX(6)*EYY(3)-BBY(6)*EXX(3))
  117. BYY(2)=BBY(2)-0.5D0*EXX(1)*(BBX(4)*EYY(1)-BBY(4)*EXX(1))
  118. $-0.5D00*EXX(3)*(BBX(6)*EYY(3)-BBY(6)*EXX(3))
  119. BYY(3)=BBY(3)-0.5D0*EXX(1)*(BBX(4)*EYY(1)-BBY(4)*EXX(1))
  120. $-0.5D0*EXX(2)*(BBX(5)*EYY(2)-BBY(5)*EXX(2))
  121. *
  122. RETURN
  123. END
  124.  
  125.  

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