Télécharger dtrigi.eso

Retour à la liste

Numérotation des lignes :

dtrigi
  1. C DTRIGI SOURCE MB234859 26/09/01 21:15:06 12631
  2. SUBROUTINE DTRIGI(IRET)
  3. C **** DESTRUCTION DE LA MATRICE SI ELLE EXISTE,DESTRUCTION DU CHAPEAU
  4. C **** MATRICE: ON DETRUIT TOUT
  5. IMPLICIT INTEGER(I-N)
  6. character*4 momot(1)
  7. character*6 msorse
  8. integer i,ico, idet, inc, ipile, iret
  9.  
  10. -INC PPARAM
  11. -INC CCOPTIO
  12. -INC COCOLL
  13. -INC SMRIGID
  14. -INC SMMATRI
  15. -INC SMELEME
  16. -INC TMCOLAC
  17.  
  18. pointeur piles.LISPIL
  19. pointeur jcolac.ICOLAC
  20. pointeur jlisse.ILISSE
  21. pointeur jtlacc.ITLACC
  22. pointeur pile.ITLACC
  23. DATA MOMOT(1)/'ELEM'/
  24. iun=1
  25. CALL LIRMOT(MOMOT,1,IDET,0)
  26. MRIGID=IRET
  27. 1000 continue
  28. SEGACT MRIGID
  29. IF(IIMPI.EQ.1) WRITE(IOIMP,10) ICHOLE
  30. 10 FORMAT('ON DETRUIT UNE RIGIDITE CHOLEVSKISE SI ICHOLE = 1',I5)
  31. IF(ICHOLE.EQ.0) GOTO 2
  32. C
  33. C **** DESTRUCTION DE LA MATRICE
  34. MMATRI=ICHOLE
  35. SEGACT MMATRI
  36. MDIAG=IDIAG
  37. SEGSUP MDIAG
  38. MELEME=IGEOMA
  39. IF(IPSAUV.NE.0) THEN
  40. ICOLAC = IPSAUV
  41. SEGACT ICOLAC
  42. ILISSE=ILISSG
  43. SEGACT ILISSE*MOD
  44. CALL TYPFIL('MAILLAGE',ICO)
  45. ITLACC = KCOLA(ICO)
  46. SEGACT ITLACC*MOD
  47. CALL AJOUN0(ITLACC,MELEME,ILISSE,iun)
  48. * SEGDES ITLACC,ILISSE
  49. * SEGDES ICOLAC
  50. ENDIF
  51. C Suppression du meleme des piles d'objets communiques
  52. if(piComm.gt.0) then
  53. piles=piComm
  54. segact piles
  55. call typfil('MAILLAGE',ico)
  56. do ipile=1,piles.proc(/1)
  57. jcolac= piles.proc(ipile)
  58. if(jcolac.ne.0) then
  59. segact jcolac
  60. jlisse=jcolac.ilissg
  61. segact jlisse*mod
  62. jtlacc=jcolac.kcola(ico)
  63. segact jtlacc*mod
  64. call ajoun0(jtlacc,MELEME,jlisse,iun)
  65. segdes jtlacc
  66. segdes jlisse
  67. segdes jcolac
  68. endif
  69. enddo
  70. segdes piles
  71. endif
  72. *** SEGSUP MELEME
  73. MINCPO=IINCPO
  74. SEGSUP MINCPO
  75. MIDUA=IIDUA
  76. SEGSUP MIDUA
  77. MHARK=IHARK
  78. SEGSUP MHARK
  79. MIMIK=IIMIK
  80. SEGSUP MIMIK
  81. MDNOR=IDNORM
  82. SEGSUP MDNOR
  83. MILIGN=IILIGN
  84. SEGACT MILIGN
  85. INC=ILIGN(/1)
  86. DO 1 I=1,INC
  87. LIGN=ILIGN(I)
  88. SEGSUP LIGN
  89. 1 CONTINUE
  90. SEGSUP MILIGN
  91. SEGSUP MMATRI
  92. C
  93. C **** DESTRUCTION DU CHAPEAU
  94. 2 CONTINUE
  95. C
  96. CCCCCCCCCCCCC SI ON MIS DETRUIRE ELEM ON DETRUIT AUSSI LES RIGI
  97. C ELEMENTAIRES
  98. IF(IMGEO1.NE.0) THEN
  99. IMGEOD=IMGEO1
  100. SEGSUP IMGEOD
  101. ENDIF
  102. IF(IVECRI.NE.0) then
  103. MVECRI=IVECRI
  104. segsup MVECRI
  105. endif
  106. IF(IDET.EQ.1) THEN
  107. ktrace = -1
  108. CALL DERIGI(IRET,ktrace,msorse)
  109. ENDIF
  110. mrigt=jrcond
  111. IF(IRET.NE.0) then
  112. nrigel=irigel(/2)
  113. segadj mrigid
  114. imgeo1=0
  115. ICHOLE=0
  116. ivecri=0
  117. endif
  118. mrigid=mrigt
  119. if(mrigid.ne.0) goto 1000
  120. IRET=0
  121. RETURN
  122. END
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  

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