Télécharger dktgr1.eso

Retour à la liste

Numérotation des lignes :

dktgr1
  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.  
  38. -INC PPARAM
  39. -INC CCOPTIO
  40. -INC SMCOORD
  41. -INC SMRIGID
  42.  
  43. DIMENSION XE(3,3),XEL(3,3),BPSS(3,3),XRE(18,18)
  44. DIMENSION VECZ(3),VECN(3)
  45. DATA UNSIX,UN12/.166666666666666666D0,.833333333333333333D-1/
  46.  
  47. C
  48. C MATRICE DE PASSAGE
  49. C
  50. CALL VPAST(XE,BPSS)
  51. C
  52. C COORDONNEES LOCALES
  53. C
  54. CALL VCORLC(XE,XEL,BPSS)
  55. C
  56. C MISE A 0 DE LA MATRICE
  57. C
  58. XMATRI = IXMATR
  59.  
  60. X21=XEL(1,2)-XEL(1,1)
  61. Y31=XEL(2,3)-XEL(2,1)
  62. SURF=X21*Y31*.5D0*RG
  63.  
  64. C
  65. C CONSTRUCTION DE LA NORMALE
  66. C
  67. XG1 = XE(1,2) - XE(1,1)
  68. YG1 = XE(2,2) - XE(2,1)
  69. ZG1 = XE(3,2) - XE(3,1)
  70. XG2 = XE(1,3) - XE(1,1)
  71. YG2 = XE(2,3) - XE(2,1)
  72. ZG2 = XE(3,3) - XE(3,1)
  73. VECN(1) = YG1*ZG2 - ZG1*YG2
  74. VECN(2) = ZG1*XG2 - XG1*ZG2
  75. VECN(3) = XG1*YG2 - YG1*XG2
  76. XNORM = VECN(1)*VECN(1) + VECN(2)*VECN(2) + VECN(3)*VECN(3)
  77. XNORM = SQRT(XNORM)
  78. DO 10 IA=1,3
  79. VECN(IA) = VECN(IA)/XNORM
  80. 10 CONTINUE
  81.  
  82. C
  83. C DETERMINATION ET NORMALISATION DE VECZ
  84. C
  85. IF (IPOIN1.NE.0) THEN
  86. VECZ(1) = XCOOR((IPOIN1-1)*(IDIM+1) + 1)
  87. VECZ(2) = XCOOR((IPOIN1-1)*(IDIM+1) + 2)
  88. VECZ(3) = XCOOR((IPOIN1-1)*(IDIM+1) + 3)
  89. ELSE
  90. VECZ(1) = VECN(1)
  91. VECZ(2) = VECN(2)
  92. VECZ(3) = VECN(3)
  93. ENDIF
  94. XNORM = VECZ(1)*VECZ(1) + VECZ(2)*VECZ(2) + VECZ(3)*VECZ(3)
  95. XNORM = SQRT(XNORM)
  96. DO 20 IA=1,3
  97. VECZ(IA) = VECZ(IA)/XNORM
  98. 20 CONTINUE
  99.  
  100. C
  101. C TERMES DE LA MATRICE DANS LE REPERE GLOBAL
  102. C
  103. DO 100 IA=1,13,6
  104. DO 110 IC= 1,3
  105. IAA = IA + IC - 1
  106. DO 120 IB=1,13,6
  107. DO 130 ID = 1,3
  108. IBB = IB + ID -1
  109. IF (IA.NE.IB) THEN
  110. XRE(IBB ,IAA) =UN12*VECN(ID)*VECZ(IC)*SURF
  111. ELSE
  112. XRE(IBB ,IAA) =UNSIX*VECN(ID)*VECZ(IC)*SURF
  113. ENDIF
  114. 130 CONTINUE
  115. 120 CONTINUE
  116. 110 CONTINUE
  117. 100 CONTINUE
  118.  
  119. * symetrisation de la matrice
  120. DO 200 IA=1,13,6
  121. DO 210 IC= 1,3
  122. IAA = IA + IC - 1
  123. DO 220 IB=1,13,6
  124. DO 230 ID = 1,3
  125. IBB = IB + ID -1
  126. IF (IDISS.EQ.0) THEN
  127. RE(IAA,IBB,iel) = 0.5D0*(XRE(IAA, IBB) + XRE(IBB,IAA))
  128. ELSE
  129. RE(IAA,IBB,iel) = XRE(IAA,IBB)
  130. ENDIF
  131. 230 CONTINUE
  132. 220 CONTINUE
  133. 210 CONTINUE
  134. 200 CONTINUE
  135.  
  136.  
  137. RETURN
  138. END
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  

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