Télécharger dbdst2.eso

Retour à la liste

Numérotation des lignes :

dbdst2
  1. C DBDST2 SOURCE CHAT 05/01/12 22:37:17 5004
  2. SUBROUTINE DBDST2(XEL,DD,XDDL,IGAU,BGENE,CMATE,COSA,SINA
  3. 1 ,XSTRS)
  4. C======================================================================
  5. C
  6. C AJOUTE DANS LES CONTRAINTES XSTRS LA PARTIE DHO * EPS2
  7. C QUE POUR LES ELEMENTS DST
  8. C ENTREE
  9. C XEL(3,3) =COORDONNEES LOCALES DU DST
  10. C DD(8,8) =MATRICE DE HOOKE
  11. C XDDL(18) =D D L LOCAUX DE LA FORMULATION
  12. C IGAU =NUMERO DU POINT DE GAUSS DE 1 A 3
  13. C XSTRS(8) =CONTRAINTES DHO*(EPS1 )
  14. C BGENE(8,18) =RELIE LES DEFORMATIONS AUX DDL
  15. C CMATE ='ISOTROPE' OU 'ORTHOTRO'
  16. C COSA =COSINUS ET SINUS DU L'ANGLE ENTRE l'AXE
  17. C SINA 1 DE L'ORTHOTROPIE ET L'AXE X
  18. C SORTIE
  19. C XSTRS(6) =CONTRAINTES DHO*(EPS1 + EPS2 )
  20. C
  21. C CODE EBERSOLT AOUT 85 + P DOWLATYARI OCT. 91 POUR ELEMENT DST
  22. C=======================================================================
  23. IMPLICIT INTEGER(I-N)
  24. IMPLICIT REAL*8(A-H,O-Z)
  25. DIMENSION XEL(3,*),DD(8,*),XSTRS(*),XDDL(*),BGENE(8,*)
  26. DIMENSION EPS2(3),SHP(6,9),ROT(9)
  27. CHARACTER*8 CMATE
  28. C
  29. C
  30. DATA XZER,UNDEMI,TRDEMI/0.D0,.5D0,1.5D0/
  31. C
  32. BETAX=XZER
  33. BETAY=XZER
  34. GAMAXZ=XZER
  35. GAMAYZ=XZER
  36. C
  37. CALL DKTSHP(IGAU,XEL,SHP,DJAC)
  38. C
  39. C ON EXTRAIT LES DEGRES W ROT X ROT Y
  40. C
  41. IACC= 0
  42. IADD= 2
  43. DO 100 IA=1,3
  44. DO 110 IB=1,3
  45. ROT(IACC+IB)=XDDL(IADD+IB)
  46. 110 CONTINUE
  47. IF(CMATE.NE.'ISOTROPE')THEN
  48. RRX=ROT(IACC+2)*COSA+ROT(IACC+3)*SINA
  49. RRY=ROT(IACC+2)*(-SINA)+ROT(IACC+3)*COSA
  50. ROT(IACC+2)=RRX
  51. ROT(IACC+3)=RRY
  52. ENDIF
  53. IACC=IACC+3
  54. IADD=IADD+6
  55. 100 CONTINUE
  56. C
  57. C LES ROT SONT DES W -BETAX -BETAY AUX 3 NOEUDS
  58. C LES XDDL SONT LES W RX RY AUX 3 NOEUDS
  59. C
  60. CCC = ROT(2)
  61. ROT(2)=-ROT(3)
  62. ROT(3)= CCC
  63. C
  64. CCC = ROT(5)
  65. ROT(5)=-ROT(6)
  66. ROT(6)= CCC
  67. C
  68. CCC = ROT(8)
  69. ROT(8)=-ROT(9)
  70. ROT(9)= CCC
  71. C
  72. DO 200 IA=1,9
  73. BETAX =SHP(2,IA)*ROT(IA) +BETAX
  74. BETAY =SHP(3,IA)*ROT(IA) +BETAY
  75. 200 CONTINUE
  76. C
  77. DO 210 IA=1,18
  78. GAMAXZ=BGENE(7,IA)*XDDL(IA)+GAMAXZ
  79. GAMAYZ=BGENE(8,IA)*XDDL(IA)+GAMAYZ
  80. 210 CONTINUE
  81. C
  82. C ON AJOUTE L'EFFET DE CISAILLEMENT
  83. C
  84. IF(IGAU.EQ.1)THEN
  85. DX=XEL(1,2)-XEL(1,1)
  86. DY=XEL(2,2)-XEL(2,1)
  87. ELSEIF(IGAU.EQ.2)THEN
  88. DX=XEL(1,3)-XEL(1,1)
  89. DY=XEL(2,3)-XEL(2,1)
  90. ELSE
  91. DX=XEL(1,3)-XEL(1,2)
  92. DY=XEL(2,3)-XEL(2,2)
  93. ENDIF
  94. XLONG= DX*DX + DY*DY
  95. XLON2= SQRT(XLONG)
  96. CC=DX/XLON2
  97. SS=DY/XLON2
  98. BETAX=BETAX-TRDEMI*CC*CC*GAMAXZ-TRDEMI*SS*CC*GAMAYZ
  99. BETAY=BETAY-TRDEMI*SS*CC*GAMAXZ-TRDEMI*SS*SS*GAMAYZ
  100. C
  101. C BETA EST EN REALITE -BETA DONC:W,X=BETAX+GAMAXZ
  102. C
  103. DWDX = BETAX + GAMAXZ
  104. DWDY = BETAY + GAMAYZ
  105. C
  106. EPS2(1)= DWDX*DWDX*UNDEMI
  107. EPS2(2)= DWDY*DWDY*UNDEMI
  108. EPS2(3)= DWDX*DWDY
  109. C
  110. C MULTIPLICATION PAR LA MATRICE DE HOOKE
  111. C
  112. DO 300 IB=1,3
  113. DO 300 IC=1,3
  114. XSTRS(IB)=XSTRS(IB)+ DD(IB,IC)*EPS2(IC)
  115. 300 CONTINUE
  116. C
  117. RETURN
  118. END
  119.  
  120.  

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