Télécharger trihr2.eso

Retour à la liste

Numérotation des lignes :

trihr2
  1. C TRIHR2 SOURCE CHAT 05/01/13 03:47:25 5004
  2. SUBROUTINE TRIHR2(XGENE,DJAC,VKL1,VKL2,LRE,NST,NBNO,IFOU,REL)
  3. C=======================================================================
  4. C
  5. C INTEGRE LE PRODUIT NT KL N
  6. C POUR LES ELEMENTS HOMOGENEISES TRIH ET TRH6
  7. C
  8. C ROUTINE FORTRAN PUR
  9. C
  10. C=======================================================================
  11. C NBDL = NOMBRE DE DDL PAR NOEUD
  12. C INPUT
  13. C XGENE(NBNO,NST)=MATRICE N
  14. C DJAC =JACOBIEN
  15. C VKL1=(COEFPR**2)/(RHO*C**2)*SFLU/SCEL
  16. C VKL2= EI/((EPS**2)*SCEL)
  17. C LRE=TAILLE DE LA MATRICE DE RIGIDITE
  18. C NST=NOMBRE DE COLONNES DE LA MATRICE XGENE
  19. C NBNO=NOMBRE DE NOEUDS DE L ELEMENT CONSIDERE
  20. C IFOU=IFOUR DE CCOPTIO
  21. C OUTPUT
  22. C REL=MATRICE DE RIGIDITE
  23. C=======================================================================
  24. IMPLICIT INTEGER(I-N)
  25. IMPLICIT REAL*8 (A-H,O-Z)
  26. DIMENSION REL(LRE,*),XGENE(NBNO,*)
  27. NBDL=LRE/NBNO
  28. C
  29. C TERMES EN P*P
  30. C
  31. IX1=0
  32. IY1=0
  33. DO 300 IX=1,LRE ,NBDL
  34. IX1=IX1 + 1
  35. DO 400 IY=1,IX ,NBDL
  36. IY1=IY1 + 1
  37. REL(IX,IY) = REL(IX,IY) + DJAC*VKL1*XGENE(IX1,1)*XGENE(IY1,1)
  38. REL(IY,IX) = REL(IX,IY)
  39. 400 CONTINUE
  40. IY1=0
  41. 300 CONTINUE
  42. C
  43. C CAS PLAN ( NST = 1 )
  44. C
  45. IF(NST.EQ.1) THEN
  46. C
  47. C TERMES EN (UX,UY)*(UX,UY)
  48. C
  49. IX1=0
  50. IY1=0
  51. DO 301 IX=3,LRE ,NBDL
  52. IX1=IX1 + 1
  53. DO 401 IY=3,IX ,NBDL
  54. IY1=IY1 + 1
  55. REL(IX,IY) = REL(IX,IY) + DJAC*VKL2*XGENE(IX1,1)*XGENE(IY1,1)
  56. REL(IY,IX) = REL(IX,IY)
  57. REL(IX+1,IY+1) = REL(IX,IY)
  58. REL(IY+1,IX+1) = REL(IX,IY)
  59. 401 CONTINUE
  60. IY1=0
  61. 301 CONTINUE
  62. C
  63. ELSE
  64. C
  65. C CAS AXISYMETRIQUE OU FOURIER ( NST = 3 )
  66. C
  67. C TERMES EN (UR,RT )*(UR,RT )
  68. C
  69. IX1=0
  70. IY1=0
  71. DO 302 IX=3,LRE ,NBDL
  72. IX1=IX1 + 1
  73. DO 402 IY=3,IX ,NBDL
  74. IY1=IY1 + 1
  75. REL(IX,IY) = REL(IX,IY) + DJAC*VKL2*XGENE(IX1,2)*XGENE(IY1,2)
  76. REL(IX+1,IY) = REL(IX+1,IY) + DJAC*VKL2*XGENE(IX1,3)*XGENE(IY1,2)
  77. REL(IX,IY+1) = REL(IX,IY+1) + DJAC*VKL2*XGENE(IX1,2)*XGENE(IY1,3)
  78. REL(IX+1,IY+1) = REL(IX+1,IY+1) + DJAC*VKL2*XGENE(IX1,3)*
  79. #XGENE(IY1,3)
  80. REL(IY,IX) = REL(IX,IY)
  81. REL(IY,IX+1) = REL(IX+1,IY)
  82. REL(IY+1,IX) = REL(IX,IY+1)
  83. REL(IY+1,IX+1) = REL(IX+1,IY+1)
  84. 402 CONTINUE
  85. IY1=0
  86. 302 CONTINUE
  87. C
  88. IF(IFOU.EQ.1) THEN
  89. C
  90. C TERMES EN (UT,RR )*(UT,RR )
  91. C NON NULS QUE DANS LE CAS FOURIER
  92. C
  93. DO 303 IX=5,LRE ,NBDL
  94. DO 403 IY=5,LRE ,NBDL
  95. REL(IX,IY) = REL(IX-2,IY-2)
  96. REL(IX+1,IY) = REL(IX-1,IY-2)
  97. REL(IX,IY+1) = REL(IX-2,IY-1)
  98. REL(IX+1,IY+1) = REL(IX-1,IY-1)
  99. 403 CONTINUE
  100. 303 CONTINUE
  101. ENDIF
  102. ENDIF
  103. RETURN
  104. END
  105.  
  106.  
  107.  

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