Télécharger dktgr1.eso

Retour à la liste

Numérotation des lignes :

dktgr1
  1. C DKTGR1 SOURCE PV090527 26/04/30 21:15:28 12529
  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.  
  149.  
  150.  

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