Télécharger dyne05.eso

Retour à la liste

Numérotation des lignes :

  1. C DYNE05 SOURCE PV 16/11/17 21:59:09 9180
  2. SUBROUTINE DYNE05(IRIGK,ICHT22,ICHT23,NDDL,MUCT)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. ************************************************************************
  6. *
  7. * D Y N E 0 5
  8. * -----------
  9. *
  10. * FONCTION:
  11. * ---------
  12. * UTILITAIRE DE L'OPERATEUR "DYNE"
  13. * CALCUL DU PRODUIT : - K * U
  14. *
  15. * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN)
  16. * -----------
  17. *
  18. * IRIGK (E) POINTEUR SUR L'OBJET RIGIDITE K ( ACTIF )
  19. * VEC1 (E) VECTEUR CONTENANT U
  20. * VEC2 (S) VECTEUR CONTENANT LE PRODUIT K * U
  21. * NDDL (E) NOMBRE DE DEGRES DE LIBERTE
  22. * MUCT (E) POINTEUR SUR LE SEGMENT MUCTRA ( ACTIF )
  23. *
  24. * AUTEUR, DATE DE CREATION:
  25. * -------------------------
  26. * DENIS ROBERT, LE 25 NOVEMBRE 1988.
  27. * REVU ET CORRIGE DECEMBRE 89 MP
  28. *
  29. * LANGAGE:
  30. * --------
  31. * ESOPE + FORTRAN77
  32. *
  33. ************************************************************************
  34. *
  35. * MODULES UTILISES:
  36. *
  37. -INC CCOPTIO
  38. -INC SMELEME
  39. -INC SMRIGID
  40. -INC SMMATRI
  41. -INC SMCOORD
  42. *
  43. SEGMENT,MCHT2
  44. REAL*8 VCC2(NDDL)
  45. ENDSEGMENT
  46. POINTEUR MCHT22.MCHT2,MCHT23.MCHT2
  47. *
  48. * REAL*8 VEC1(*),VEC2(*)
  49. CHARACTER*4 NI
  50. *
  51. SEGMENT MUCTRA
  52. REAL*8 CC(NLIGMA)
  53. INTEGER MUCPO,MUCMIK,MUCDUA,MUIPOS(NLIGMA),MUCPR
  54. ENDSEGMENT
  55. SEGMENT ICPR(XCOOR(/1)/(IDIM+1))
  56. *
  57. MUCTRA=MUCT
  58. MCHT22=ICHT22
  59. MCHT23=ICHT23
  60. *
  61. DO 1 I1=1,NDDL
  62. MCHT23.VCC2(I1)=0.D0
  63. 1 CONTINUE
  64. * END DO
  65. *
  66. MINCPO=MUCPO
  67. MIMIK=MUCMIK
  68. ICPR=MUCPR
  69. ININC=IMIK(/2)
  70. *
  71. *--- BOUCLE SUR LES ZONES ELEMENTAIRES DE LA RIGIDITE
  72. *
  73. MRIGID=IRIGK
  74. NRIGEL=IRIGEL(/2)
  75. DO 20 IRI=1,NRIGEL
  76. MELEME=IRIGEL(1,IRI)
  77. DESCR=IRIGEL(3,IRI)
  78. *
  79. *--- ON REMPLIT MUIPOS(IN)=JN QUI DIT QUE LA IEME INCONNUE
  80. *--- DE LA MATRICE ELEMENTAIRE EST LA JEME DE IINC
  81. *
  82. DO 21 IN=1,LISINC(/2)
  83. NI=LISINC(IN)
  84. DO 22 IJ=1,ININC
  85. IF (NI.EQ.IMIK(IJ)) GO TO 23
  86. 22 CONTINUE
  87. * END DO
  88. 23 CONTINUE
  89. MUIPOS(IN)=IJ
  90. 21 CONTINUE
  91. * END DO
  92. *
  93. *--- BOUCLE SUR LES MATRICES TRES ELEMENTAIRES DE LA RIGIDITE
  94. *
  95. N1=NUM(/1)
  96. N2=NUM(/2)
  97. xMATRI=IRIGEL(4,IRI)
  98. COER=COERIG(IRI)
  99. DO 30 I2=1,N2
  100. *
  101. *--- FABRICATION D'UN TABLEAU ISSU DU CHPOINT
  102. *
  103. DO 33 IN=1,LISINC(/2)
  104. CC(IN)=0.D0
  105. J2=ICPR(NUM(NOELEP(IN),I2))
  106. J1=MUIPOS(IN)
  107. CC(IN)=MCHT22.VCC2(INCPO(J1,J2))
  108. 33 CONTINUE
  109. * END DO
  110. *
  111. *--- BOUCLE SUR LES LIGNES D'UNE MATRICE ELEMENTAIRE
  112. *
  113. * XMATRI=IMATTT(I2)
  114. DO 35 IN=1,LISINC(/2)
  115. VA=0.D0
  116. J2=ICPR(NUM(NOELEP(IN),I2))
  117. J1=MUIPOS(IN)
  118. DO 38 JN=1,LISINC(/2)
  119. * IF (JN.GT.IN) THEN
  120. * IKO=(JN-1)*JN/2+IN
  121. VA=VA+CC(JN)*RE(JN,IN,i2)
  122. * ELSE
  123. * IKO=(IN-1)*IN/2+JN
  124. * VA=VA+CC(JN)*RE(IKO)
  125. * ENDIF
  126. 38 CONTINUE
  127. * END DO
  128. IKKK=INCPO(J1,J2)
  129. MCHT23.VCC2(IKKK)=MCHT23.VCC2(IKKK)-VA*COER
  130. 35 CONTINUE
  131. * END DO
  132. 30 CONTINUE
  133. * END DO
  134. 20 CONTINUE
  135. * END DO
  136. *
  137. END
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  

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