Télécharger lumpin.eso

Retour à la liste

Numérotation des lignes :

lumpin
  1. C LUMPIN SOURCE PV090527 26/04/30 21:15:50 12529
  2. SUBROUTINE LUMPIN(IRIG,LMOT,ILUM)
  3. ************************************************************************
  4. *
  5. * LUMPING D'UNE MATRICE
  6. * ENTREE : IRIG POINTEUR SUR LA MATRICE A LUMPER
  7. * LMOT POINTEUR SUR LISTMOTS, 0 SI PAS DONNE
  8. *
  9. * SORTIE : ILUM POINTEUR SUR LA MATRICE LUMPEE
  10. *
  11. * M. PETIT DECEMBRE 89
  12. *
  13. ************************************************************************
  14. IMPLICIT INTEGER(I-N)
  15. IMPLICIT REAL*8 (A-H,O-Z)
  16. -INC PPARAM
  17. -INC SMRIGID
  18. -INC SMCOORD
  19. -INC SMLMOTS
  20. *
  21. * NE PAS ENLEVER LA CARTE DEBILE QUI SUIT
  22. *
  23. MLMOTS=IRIG
  24. *
  25. NMOT=0
  26. IF (LMOT.NE.0) THEN
  27. MLMOTS=LMOT
  28. SEGACT MLMOTS
  29. NMOT=MOTS(/2)
  30. ENDIF
  31. *
  32. RI1=IRIG
  33. SEGACT RI1
  34. NRIGE=RI1.IRIGEL(/1)
  35. NRIGEL=RI1.IRIGEL(/2)
  36. SEGINI MRIGID
  37. ILUM=MRIGID
  38. DO 100 I=1,NRIGEL
  39. DESCR=RI1.IRIGEL(3,I)
  40. SEGACT DESCR
  41. NLIGRP=LISINC(/2)
  42. NLIGRD=LISDUA(/2)
  43. *
  44. * TEST DE MATRICE CARREE
  45. *
  46. IF(NLIGRP.NE.NLIGRD) THEN
  47. CALL ERREUR(26)
  48. SEGDES DESCR,RI1
  49. SEGSUP MRIGID
  50. IF(LMOT.NE.0) SEGDES MLMOTS
  51. RETURN
  52. ENDIF
  53. *
  54. xMATR1=RI1.IRIGEL(4,I)
  55. SEGACT xMATR1
  56. NELRIG=xMATR1.re(/3)
  57. RIGREL=0
  58. SEGINI xMATRI
  59. IRIGEL(4,I)=xMATRI
  60. DO 200 J=1,NELRIG
  61. * XMATR1=IMATR1.IMATTT(J)
  62. * SEGACT XMATR1
  63. * SEGINI XMATRI
  64. * IMATTT(J)=XMATRI
  65. *
  66. DO 300 K=1,NLIGRP
  67. SOMM=0.D0
  68. IF (LMOT.EQ.0) THEN
  69. DO 40 JJ=1,NLIGRP
  70. RE(K,JJ,J)=0.D0
  71. SOMM=SOMM+XMATR1.RE(K,JJ,j)
  72. 40 CONTINUE
  73. RE(K,K,j)=SOMM
  74. ELSE
  75. KDIAG=0
  76. DO 21 KK=1,NMOT
  77. IF (MOTS(KK).EQ.LISINC(K)) THEN
  78. KDIAG=1
  79. GO TO 20
  80. ENDIF
  81. 21 CONTINUE
  82. 20 CONTINUE
  83. *
  84. IF(KDIAG.EQ.0) THEN
  85. DO 50 JJ=1,NLIGRP
  86. RE(K,JJ,J)=0.D0
  87. DO 51 JJJ=1,NMOT
  88. IF (MOTS(JJJ).EQ.LISINC(JJ)) GOTO 50
  89. 51 CONTINUE
  90. SOMM=SOMM+XMATR1.RE(K,JJ,j)
  91. 50 CONTINUE
  92. RE(K,K,j)=SOMM
  93. ELSE
  94. DO 52 JJ=1,NLIGRP
  95. RE(K,JJ,j)=0.D0
  96. 52 CONTINUE
  97. RE(K,K,j)=XMATR1.RE(K,K,j)
  98. ENDIF
  99. ENDIF
  100. 300 CONTINUE
  101. * SEGDES XMATR1,XMATRI
  102. 200 CONTINUE
  103. SEGDES xMATR1,xMATRI
  104. SEGINI,DES1=DESCR
  105. IRIGEL(3,I)=DES1
  106. SEGDES DESCR,DES1
  107. IRIGEL(1,I)=RI1.IRIGEL(1,I)
  108. IRIGEL(2,I)=RI1.IRIGEL(2,I)
  109. IRIGEL(5,I)=RI1.IRIGEL(5,I)
  110. IRIGEL(6,I)=RI1.IRIGEL(6,I)
  111. COERIG(I)=RI1.COERIG(I)
  112. 100 CONTINUE
  113. MTYMAT=RI1.MTYMAT
  114. IFORIG=RI1.IFORIG
  115. ISUPEQ=RI1.ISUPEQ
  116. SEGDES RI1
  117. IMGEO1=0
  118. IMGEO2=0
  119. ICHOLE=0
  120. SEGDES MRIGID
  121. IF (LMOT.NE.0) SEGDES MLMOTS
  122. RETURN
  123. END
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  

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