[updated 30.Oct.2008]

Librairie syslin > Fichier fimlu.f

Qui appelle fimlu ?

line
      SUBROUTINE FIMLU (NMMATR,NVMATR,SYMSTR,NPLCAT,NMFACT,NVFACT
     &                 ,NIVIMP) 
line
  Auteurs : D.Martin (Octobre 1991) 
  Derniere modification : D.Martin (08 octobre 2008)
  Version 2
   
  Factorisation L.U incomplete, le cas echeant apres remplissage, d'une matrice 
  stockee 'Morse ligne' ou 'Bi-Morse'. Le remplissage consiste en la 
  concatenation des NPLCAT plages sous et sur-diagonales.
  Le resultat est un terme stocke sous forme 'Bi-Morse'.
   
 -- Arguments d'entree -- 
  NMMATR nom du tableau contenant la matrice a factoriser 
  NVMATR son niveau
  SYMSTR indicateur de structure symetrique de la matrice NMMATR,NVMATR
         SYMSTR(1:1) = 'S' ==> Matrice symetrique en structure
  NPLCAT nombre de plages sous et sur-diagonales concatenees avant factorisation
  NMFACT nom du tableau devant contenir la matrice factorisee LU
  NVFACT son niveau
  NIVIMP niveau d'impression pour la matrice factorisee 
line
      IMPLICIT NONE
      CHARACTER*(*) SYMSTR,NMMATR,NMFACT
      INTEGER NVMATR,NPLCAT,NVFACT,NIVIMP
   
      INCLUDE 'ALLOC'
      INCLUDE 'CONTEX'
 
      CHARACTER STODLN*6
      INTEGER  INDSYM
      INTEGER  ITYSNO,ITSYMA,INSTOK,MCMATR,MCFACT,NVBMOR,MCBMOR
     &        ,NBLIGN,NBPLAL,MCPLAL,MCPLIL,LGMORL,MCMATL,MCFACL
     &        ,NBCOLO,NBPLAU,MCPLAU,MCPLIU,LGMORU,MCMATU,MCFACU,NCPINC
      LOGICAL       NOTIDM  
      CHARACTER     ERCODE*120,TYMATR*4,TYFACT*6,NMSTOK*6
      COMMON/FORMAH/ERCODE 
      EQUIVALENCE  (ERCODE(89:89),TYFACT),(ERCODE(97:97),TYMATR)
line
      CALL PRFXMJ (1,'*FimLU*')
      TYFACT='L.U'
      ITYSNO=INDSYM (' ')                                               !utilite
      NOTIDM=NMMATR.NE.NMFACT.OR.NVMATR.NE.NVFACT
 
 --   Cas d'une matrice stockee sous forme Morse-ligne ou Bi-Morse  
      CALL FIPREP (NMMATR,NVMATR,SYMSTR,NPLCAT,TYMATR,ITSYMA,INSTOK
     &            ,MCMATR,TYFACT,NMFACT,NVFACT,MCFACT,NVBMOR,MCBMOR
     &            ,NCPINC,NIVIMP,IMPSDR)                                !syslin
      CALL EXBMOR (MCBMOR,IST(MCBMOR),NBLIGN,NBPLAL,MCPLAL,MCPLIL,LGMORL
     &            ,NBCOLO,NBPLAU,MCPLAU,MCPLIU,LGMORU)                  !sdexplo
   
 --   Factorisation incomplete proprement dite 
 
      MCMATL=MCMATR+MIN (NBLIGN,NBCOLO)
      MCMATU=MCMATL+LGMORL
      La matrice a factoriser est:
      soit identique a la factorisee L.U. non-symetrique,
      soit a ete recopiee en entier dans la factorisee L.U. non-symetrique
      MCFACL=MCFACT+MIN (NBLIGN,NBCOLO)
      MCFACU=MCFACL+LGMORL
 
      CALL LUIBM (TYMATR,NBLIGN,IST(MCPLAL),IST(MCPLIL),IST(MCPLAU)
     &           ,IST(MCPLIU),MCMATR,MCMATL,MCMATU,EPSMAC
     &           ,MCFACT,MCFACL,MCFACU,RST,CST)                         !syslin
   
      IF (NIVIMP.GT.0) CALL PRTERM (NMFACT,NVFACT,NIVIMP,IMPSDR)        !sdexplo
   
      Sauvegarde des matrices 
      IF (NOTIDM) CALL TBSAVE ( NMMATR ,NVMATR)
      CALL TBSAVE ( NMFACT ,NVFACT)
      CALL TBSAVE ('&BMORS',NVBMOR)
      IF ( NCPINC.GT.1 ) THEN
         NMSTOK = STODLN (INSTOK,NCPINC,NCPINC)                         !utilite
         CALL TBSAVE (NMSTOK,NVBMOR)
      ENDIF
 
      CALL PRFXMJ (-1,'*FimLU*')  
line
 -- File history
  Version 2 : D.Martin (08 octobre 2008)
   Changement de nom des structures en DL (appel de STODLN)
  Version 1.0.1 : D.Martin (26 Juin 2001)
line
                                                                    END !FimLU
line
top

fimlu est appelé dans (4 procédures)

filu.f (syslin) logfile pph3new.f (A_helmz3d)
pphelmz3_s.f (E_4helmz3d)    

top