Télécharger dyne01.eso

Retour à la liste

Numérotation des lignes :

  1. C DYNE01 SOURCE PV 16/11/17 21:59:06 9180
  2. SUBROUTINE DYNE01(ICHOLX,IRSCPR,IPRIGM,IVEC)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. ************************************************************************
  6. *
  7. * D Y N E 0 1
  8. * -----------
  9. *
  10. * FONCTION:
  11. * ---------
  12. * UTILITAIRE DE L'OPERATEUR "DYNE"
  13. * LUMPAGE ET INVERSION DE LA MATRICE MASSE
  14. *
  15. * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN)
  16. * -----------
  17. *
  18. * ICHOLX (E) POINTEUR SUR LE SEGMENT MMATRI ( ACTIF )
  19. * IRSCPR (E) POINTEUR SUR LE SEGMENT ICPR ( ACTIF )
  20. * IPRIGM (E) POINTEUR SUR L'OBJET RIGIDITE M
  21. * IVEC (S) VECTEUR CONTENANT LA MATRICE LUMPEE INVERSEE
  22. * ( LAISSE ACTIF )
  23. *
  24. * REMARQUES:
  25. * ----------
  26. * ATTENTION : ON NE LUMPE QUE LES TERMES RELATIFS AUX DDL
  27. * DE TRANSLATION ; EN CE QUI CONCERNE LES DDL DE ROTATION,
  28. * SEULS LES TERMES DIAGONAUX SONT PRIS EN COMPTE.
  29. *
  30. * AUTEUR, DATE DE CREATION:
  31. * -------------------------
  32. * DENIS ROBERT, LE 15 NOVEMBRE 1988.
  33. *
  34. * MODIF 03/89 : SUPPRESSION DU TEST SUR LA VALEUR DU TERME LUMPE
  35. * ( E DE LANGRE)
  36. *
  37. * LANGAGE:
  38. * --------
  39. * ESOPE + FORTRAN77
  40. *
  41. ************************************************************************
  42. *
  43. * MODULES UTILISES:
  44. *
  45. -INC CCOPTIO
  46. -INC SMELEME
  47. -INC SMRIGID
  48. -INC SMMATRI
  49. -INC SMVECTD
  50. -INC SMCOORD
  51. *
  52. PARAMETER ( UN = 1.D0 )
  53. PARAMETER ( EPS = 1.D-10 )
  54. PARAMETER ( ZERO = 0.D0 )
  55. *
  56. CHARACTER*4 NI
  57. *
  58. *--- SEGMENTS DE TRAVAIL
  59. *
  60. SEGMENT MUITRA(NLIGRE)
  61. SEGMENT ICPR(XCOOR(/1)/(IDIM+1))
  62. *
  63. MVECTD=IVEC
  64. MMATRI=ICHOLX
  65. MINCPO=IINCPO
  66. SEGACT,MINCPO
  67. MIMIK=IIMIK
  68. SEGACT,MIMIK
  69. MIDUA=IIDUA
  70. SEGACT,MIDUA
  71. MHARK=IHARK
  72. SEGACT,MHARK
  73. ICPR=IRSCPR
  74. ININC=IMIK(/2)
  75. *
  76. *--- BOUCLE SUR LES ZONES ELEMENTAIRES DE LA RIGIDITE
  77. *
  78. MRIGID=IPRIGM
  79. NRIGEL=IRIGEL(/2)
  80. DO 20 IRI=1,NRIGEL
  81. MELEME=IRIGEL(1,IRI)
  82. SEGACT,MELEME
  83. DESCR=IRIGEL(3,IRI)
  84. SEGACT,DESCR
  85. *
  86. *--- ON REMPLIT MUITRA(IN)=IJ QUI DIT QUE LA IEME INCONNUE
  87. *--- DE LA MATRICE ELEMENTAIRE EST LA JEME DE ININC
  88. *
  89. NLIGRE=LISINC(/2)
  90. SEGINI MUITRA
  91. DO 21 IN=1,NLIGRE
  92. NI=LISINC(IN)
  93. DO 22 IJ=1,ININC
  94. IF(NI.EQ.IMIK(IJ)) GO TO 23
  95. 22 CONTINUE
  96. * END DO
  97. 23 CONTINUE
  98. IF (NI(1:1).EQ.'R') THEN
  99. MUITRA(IN)=-IJ
  100. ELSE
  101. MUITRA(IN)=IJ
  102. ENDIF
  103. 21 CONTINUE
  104. * END DO
  105. *
  106. *--- BOUCLE SUR LES MATRICES TRES ELEMENTAIRES
  107. *
  108. N1=NUM(/1)
  109. N2=NUM(/2)
  110. xMATRI=IRIGEL(4,IRI)
  111. COER=COERIG(IRI)
  112. SEGACT,xMATRI
  113. DO 30 I2=1,N2
  114. *
  115. *--- ON REMPLIT LE VECTEUR CONTENANT LA MATRICE LUMPEE
  116. *
  117. * XMATRI=IMATTT(I2)
  118. * SEGACT,XMATRI
  119. DO 33 IN=1,NLIGRE
  120. J2=ICPR(NUM(NOELEP(IN),I2))
  121. J1=MUITRA(IN)
  122. RR=ZERO
  123. IF (J1.LT.0) THEN
  124. * IKO=(IN+1)*IN/2
  125. RR=RE(IN,IN,i2)*COER
  126. J1=-J1
  127. ELSE
  128. DO 34 JN=1,NLIGRE
  129. * IF (JN.GT.IN) THEN
  130. * IKO=(JN-1)*JN/2+IN
  131. * RR=RR+RE(iko)*COER
  132. * ELSE
  133. * IKO=(IN-1)*IN/2+JN
  134. RR=RR+RE(JN,IN,i2)*COER
  135. * ENDIF
  136. 34 CONTINUE
  137. * END DO
  138. ENDIF
  139. IKI=INCPO(J1,J2)
  140. * ---- ON NE FAIT PLUS DE TEST SUR RR
  141. VECTBB(IKI)=VECTBB(IKI)+RR
  142. 33 CONTINUE
  143. * END DO
  144. * SEGDES,XMATRI
  145. 30 CONTINUE
  146. * END DO
  147. SEGDES,xMATRI,DESCR,MELEME
  148. SEGSUP,MUITRA
  149. 20 CONTINUE
  150. * END DO
  151. *
  152. *--- INVERSION DE LA MATRICE LUMPEE
  153. *
  154. LIV=VECTBB(/1)
  155. DO 100 IV=1,LIV
  156. VECTBB(IV)=UN/VECTBB(IV)
  157. 100 CONTINUE
  158. * END DO
  159. SEGDES,MRIGID
  160. *
  161. END
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  

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