Télécharger lumpin.eso

Retour à la liste

Numérotation des lignes :

lumpin
  1. C LUMPIN SOURCE CB215821 25/04/23 21:15:28 12247
  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. SEGINI xMATRI
  58. IRIGEL(4,I)=xMATRI
  59. DO 200 J=1,NELRIG
  60. * XMATR1=IMATR1.IMATTT(J)
  61. * SEGACT XMATR1
  62. * SEGINI XMATRI
  63. * IMATTT(J)=XMATRI
  64. *
  65. DO 300 K=1,NLIGRP
  66. SOMM=0.D0
  67. IF (LMOT.EQ.0) THEN
  68. DO 40 JJ=1,NLIGRP
  69. RE(K,JJ,J)=0.D0
  70. SOMM=SOMM+XMATR1.RE(K,JJ,j)
  71. 40 CONTINUE
  72. RE(K,K,j)=SOMM
  73. ELSE
  74. KDIAG=0
  75. DO 21 KK=1,NMOT
  76. IF (MOTS(KK).EQ.LISINC(K)) THEN
  77. KDIAG=1
  78. GO TO 20
  79. ENDIF
  80. 21 CONTINUE
  81. 20 CONTINUE
  82. *
  83. IF(KDIAG.EQ.0) THEN
  84. DO 50 JJ=1,NLIGRP
  85. RE(K,JJ,J)=0.D0
  86. DO 51 JJJ=1,NMOT
  87. IF (MOTS(JJJ).EQ.LISINC(JJ)) GOTO 50
  88. 51 CONTINUE
  89. SOMM=SOMM+XMATR1.RE(K,JJ,j)
  90. 50 CONTINUE
  91. RE(K,K,j)=SOMM
  92. ELSE
  93. DO 52 JJ=1,NLIGRP
  94. RE(K,JJ,j)=0.D0
  95. 52 CONTINUE
  96. RE(K,K,j)=XMATR1.RE(K,K,j)
  97. ENDIF
  98. ENDIF
  99. 300 CONTINUE
  100. * SEGDES XMATR1,XMATRI
  101. 200 CONTINUE
  102. SEGDES xMATR1,xMATRI
  103. SEGINI,DES1=DESCR
  104. IRIGEL(3,I)=DES1
  105. SEGDES DESCR,DES1
  106. IRIGEL(1,I)=RI1.IRIGEL(1,I)
  107. IRIGEL(2,I)=RI1.IRIGEL(2,I)
  108. IRIGEL(5,I)=RI1.IRIGEL(5,I)
  109. IRIGEL(6,I)=RI1.IRIGEL(6,I)
  110. COERIG(I)=RI1.COERIG(I)
  111. 100 CONTINUE
  112. MTYMAT=RI1.MTYMAT
  113. IFORIG=RI1.IFORIG
  114. ISUPEQ=RI1.ISUPEQ
  115. SEGDES RI1
  116. IMGEO1=0
  117. IMGEO2=0
  118. ICHOLE=0
  119. SEGDES MRIGID
  120. IF (LMOT.NE.0) SEGDES MLMOTS
  121. RETURN
  122. END
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  

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