Télécharger dktgr1.eso

Retour à la liste

Numérotation des lignes :

  1. C DKTGR1 SOURCE CHAT 09/10/09 21:17:17 6519
  2. SUBROUTINE DKTGR1(XE,RG,IPOIN1,IDISS,IXMATR,iel)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. C=======================================================================
  6. C
  7. C CALCULE LA MATRICE DE RAIDEUR LIEE A LA VARIATION DE PRESSION DUE
  8. C AU MOUVEMENT SUIVANT VECZ DANS UN CHAMP DE PESANTEUR
  9. C
  10. C cette matrice est non symetrique mais combinée avec la mattrice kp
  11. c donne une matrice symetrique c'est pourquoi on calcule les matrices
  12. c symetriques et dissymetriques.
  13. c
  14. c on utilise des fonctions de formes linéaires meme pour les ddl normaux
  15. c au plan car c'est ce qu'on fait pour kp et ksig aussi.
  16. c
  17. C
  18. C ENTREE
  19. C XE(3,3)=COODONNEES DE L ELEMENT
  20. C RG =MASSE VOLUMIQUE * ACCELERATION DE GRAVITE
  21. C IPOIN1 =VECTEUR(POINT) DEFINISSANT LE SENS DE GRAVITE
  22. * IDISS : 0 ---> MATRICE SYMETRIQUE
  23. * 1 ---> MATRICE DISSYMETRIQUE
  24. * IXMATR : pointeur du segment xmatri
  25. * iel njumero de l'element
  26. C TRAVAIL
  27. C XEL(3,3) =COORDONNEES LOCALES DE L ELEMENT
  28. C BPSS(3,3) =MATRICE DE PASSAGE
  29. C VECN(3) =VECTEUR DEFINISSANT LA NORMALE
  30. C VECZ(3) =VECTEUR DEFINISSANT LE SENS DE GRAVITE
  31. C SORTIES
  32. C RE(18,18)=MATRICE DE RAIDEUR REPERE GLOBAL (dans le segment xmatri)
  33. C
  34. C JUILLET 95 I. POLITOPOULOS
  35. C
  36. C=======================================================================
  37. -INC CCOPTIO
  38. -INC SMCOORD
  39. -INC SMRIGID
  40.  
  41. DIMENSION XE(3,3),XEL(3,3),BPSS(3,3),XRE(18,18)
  42. DIMENSION VECZ(3),VECN(3)
  43. DATA UNSIX,UN12/.166666666666666666D0,.833333333333333333D-1/
  44.  
  45. C
  46. C MATRICE DE PASSAGE
  47. C
  48. CALL VPAST(XE,BPSS)
  49. C
  50. C COORDONNEES LOCALES
  51. C
  52. CALL VCORLC(XE,XEL,BPSS)
  53. C
  54. C MISE A 0 DE LA MATRICE
  55. C
  56. XMATRI = IXMATR
  57.  
  58. X21=XEL(1,2)-XEL(1,1)
  59. Y31=XEL(2,3)-XEL(2,1)
  60. SURF=X21*Y31*.5D0*RG
  61.  
  62. C
  63. C CONSTRUCTION DE LA NORMALE
  64. C
  65. XG1 = XE(1,2) - XE(1,1)
  66. YG1 = XE(2,2) - XE(2,1)
  67. ZG1 = XE(3,2) - XE(3,1)
  68. XG2 = XE(1,3) - XE(1,1)
  69. YG2 = XE(2,3) - XE(2,1)
  70. ZG2 = XE(3,3) - XE(3,1)
  71. VECN(1) = YG1*ZG2 - ZG1*YG2
  72. VECN(2) = ZG1*XG2 - XG1*ZG2
  73. VECN(3) = XG1*YG2 - YG1*XG2
  74. XNORM = VECN(1)*VECN(1) + VECN(2)*VECN(2) + VECN(3)*VECN(3)
  75. XNORM = SQRT(XNORM)
  76. DO 10 IA=1,3
  77. VECN(IA) = VECN(IA)/XNORM
  78. 10 CONTINUE
  79.  
  80. C
  81. C DETERMINATION ET NORMALISATION DE VECZ
  82. C
  83. IF (IPOIN1.NE.0) THEN
  84. VECZ(1) = XCOOR((IPOIN1-1)*(IDIM+1) + 1)
  85. VECZ(2) = XCOOR((IPOIN1-1)*(IDIM+1) + 2)
  86. VECZ(3) = XCOOR((IPOIN1-1)*(IDIM+1) + 3)
  87. ELSE
  88. VECZ(1) = VECN(1)
  89. VECZ(2) = VECN(2)
  90. VECZ(3) = VECN(3)
  91. ENDIF
  92. XNORM = VECZ(1)*VECZ(1) + VECZ(2)*VECZ(2) + VECZ(3)*VECZ(3)
  93. XNORM = SQRT(XNORM)
  94. DO 20 IA=1,3
  95. VECZ(IA) = VECZ(IA)/XNORM
  96. 20 CONTINUE
  97.  
  98. C
  99. C TERMES DE LA MATRICE DANS LE REPERE GLOBAL
  100. C
  101. DO 100 IA=1,13,6
  102. DO 110 IC= 1,3
  103. IAA = IA + IC - 1
  104. DO 120 IB=1,13,6
  105. DO 130 ID = 1,3
  106. IBB = IB + ID -1
  107. IF (IA.NE.IB) THEN
  108. XRE(IBB ,IAA) =UN12*VECN(ID)*VECZ(IC)*SURF
  109. ELSE
  110. XRE(IBB ,IAA) =UNSIX*VECN(ID)*VECZ(IC)*SURF
  111. ENDIF
  112. 130 CONTINUE
  113. 120 CONTINUE
  114. 110 CONTINUE
  115. 100 CONTINUE
  116.  
  117. * symetrisation de la matrice
  118. DO 200 IA=1,13,6
  119. DO 210 IC= 1,3
  120. IAA = IA + IC - 1
  121. DO 220 IB=1,13,6
  122. DO 230 ID = 1,3
  123. IBB = IB + ID -1
  124. IF (IDISS.EQ.0) THEN
  125. RE(IAA,IBB,iel) = 0.5D0*(XRE(IAA, IBB) + XRE(IBB,IAA))
  126. ELSE
  127. RE(IAA,IBB,iel) = XRE(IAA,IBB)
  128. ENDIF
  129. 230 CONTINUE
  130. 220 CONTINUE
  131. 210 CONTINUE
  132. 200 CONTINUE
  133.  
  134.  
  135. RETURN
  136. END
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  

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