Télécharger triang.eso

Retour à la liste

Numérotation des lignes :

triang
  1. C TRIANG SOURCE MB234859 26/08/26 21:15:18 12626
  2. SUBROUTINE TRIANG(KRIGI,PREC,ISTAB,IGRADJ,INSYM)
  3. C=======================================================================
  4. C ASSEMBLE LES MATRICES ELEMENTAIRES ET LES MET SOUS LA FORME
  5. C L.D.Lt : SI MATRICE SYMETRIQUE
  6. C L.D.M : SI MATRICE NON SYMETRIQUE
  7. C ICHOLE EST LE POINTEUR DE LA MATRICE RESULTANTE
  8. C
  9. C IGRADJ : 0 si Factorisation de Choleski (solveur direct)
  10. C 1 si Factorisation incomplete de Choleski (solveur indirect)
  11. C=======================================================================
  12. C
  13. IMPLICIT INTEGER(I-N)
  14. IMPLICIT REAL*8 (A-H,O-Z)
  15. C
  16. -INC SMRIGID
  17. -INC PPARAM
  18. -INC CCOPTIO
  19. -INC SMMATRI
  20. C
  21. IF (IIMPI.EQ.1) THEN
  22. CALL GIBTEM(XKT)
  23. INTERR(1)=INT(XKT)
  24. CALL ERREUR(-259)
  25. WRITE(IOIMP,10)
  26. 10 FORMAT(' L''IMPRESSION PRECEDENTE EST AVANT ASSEM1 ')
  27. ENDIF
  28. C
  29. CALL ASSEM1(KRIGI,INSYM,MMATRX,INUINX,
  30. & ITOPOX,IPOX,IITOPX,INCTRX,
  31. & ITOPOZ,IPOZ,IITOPZ,INCTRZ)
  32. IF (IERR.NE.0) GOTO 5000
  33. C
  34. IF (IIMPI.EQ.1) THEN
  35. CALL GIBTEM(XKT)
  36. INTERR(1)=INT(XKT)
  37. CALL ERREUR(-259)
  38. WRITE(IOIMP,11)
  39. 11 FORMAT(' L''IMPRESSION PRECEDENTE EST AVANT ASSEM2')
  40. ENDIF
  41. C
  42. CALL ASSEM2(KRIGI,INSYM,MMATRX,INUINX,
  43. & ITOPOX,IPOX,IITOPX,INCTRX,
  44. & ITOPOZ,IPOZ,IITOPZ,INCTRZ,1)
  45. IF (IERR.NE.0) GOTO 5000
  46. C
  47. IF (IIMPI.EQ.1) THEN
  48. CALL GIBTEM(XKT)
  49. INTERR(1)=INT(XKT)
  50. CALL ERREUR(-259)
  51. WRITE(IOIMP,12)
  52. 12 FORMAT(' L''IMPRESSION PRECEDENTE EST AVANT SHOLE ')
  53. ENDIF
  54. C
  55. C Sauvegarde de la matrice assemblee sous forme creuse
  56. IF (INSYM.EQ.0) THEN
  57. CALL GRACO11(MMATRX)
  58. IF (IERR.NE.0) GOTO 5000
  59. ENDIF
  60. C
  61. MMATRI=MMATRX
  62. SEGACT,MMATRI*MOD
  63. MMATRI.MFACT=IGRADJ
  64. SEGDES,MMATRI
  65. C
  66. nbnnma=0
  67. nligra=0
  68. xmatri=0
  69. C
  70. CALL SHOLE(MMATRX,PREC,istab,nbnnma,nligra,xmatri,INSYM)
  71. CC CALL CHOLE(MMATRX,PREC,istab,nbnnma,nligra,xmatri)
  72. IF (IERR.NE.0) GOTO 5000
  73. C
  74. IF(IIMPI.EQ.1) THEN
  75. CALL GIBTEM(XKT)
  76. INTERR(1)=INT(XKT)
  77. CALL ERREUR(-259)
  78. WRITE(IOIMP,13)
  79. 13 FORMAT(' L''IMPRESSION PRECEDENTE EST APRES SHOLE')
  80. ENDIF
  81. C
  82. 5000 CONTINUE
  83. END
  84.  
  85.  

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