Télécharger kres.notice

Retour à la liste thématique

Afficher cette notice en

Numérotation des lignes :
$$$$ KRES     NOTICE  GOUNAND   19/07/03    21:15:00     10248          
                                             DATE     19/07/03
 
   Operateur KRES                         Voir aussi :
      --------------  
       1)  KRES RVP CHPO1 'BETA' VAL1 VAL2 'PIMP' VAL3 VAL4 ; 
      
      
       2)  CHPO3 = KRES MA1 'TYPI' TAB1 ;

       2bis)  CHPO3 = KRES MA1 (CHPO2) (MOTi VALi) ;
                           
                            

      ----------------------
      |  1ere possibilite  |
      ----------------------

      Objet :
      _______

      Le foncteur KRES resout une equation de pression dans le
      cadre de la resolution semi-implicite des equations
      de Navier-Stokes dans CASTEM 2000.

      Commentaire :
      _____________

      RVP      : objet de type TABLE de sous-type EQPR

      CHPO1    : objet de type CHPOINT contenant la variable
                 PRESSION

      VALi     : objets de type REEL non documentes

      ----------------------
      |  2eme possibilite  |
      ----------------------

      Objet :
      _______
    
      L'operateur KRES resout un systeme d'equations lineaires
      de type Ax=b par une methode directe ou iterative.

      Commentaire :
      _____________

      MA1      : objet de type RIGIDITE (ou MATRIK)
                 c'est la matrice A.

      TAB1     : TABLE de sous-type METHINV contenant les 
                 informations optionnelles.

      CHPO2    : objet de type CHPOINT contenant le second membre
                 du systeme a resoudre.
                 C'est le "vecteur" b.
    
      CHPO3    : objet de type CHPOINT contenant en retour
                 (si la resolution a abouti) le "vecteur"
                 solution du systeme : x. 

      Les informations sont :
      - soit stockees dans TAB1 : TAB1 . MOTi = VALi (syntaxe 2) ;
      - soit donnees sur ligne de commande (syntaxe 2bis).

      MOTi et VALi peuvent prendre les valeurs suivantes :

      - CLIM (type CHPOINT) : 
         Conditions aux limites de Dirichlet

      - SMBR (type CHPOINT) : 
         Second membre CHPO2

      - TYPINV (type ENTIER) :
         Methode d'inversion du systeme
         defaut ->  1  : resolution directe (Crout)
                    2  : Gradient Conjugue
                    3  : Bi-Gradient Conjugue Stabilise (BiCGSTAB)
                    4  : BiCGSTAB(l)
                    5  : GMRES(m) : restarted Generalized Minimal
                                    Residual
                    6  : CGS (Conjugate Gradient Squared)
                    7  : Algebraic Multigrid Notay FCG 
                         (matrice symetrique)
                    8  : Algebraic Multigrid Notay GCR(m)
                         (matrice non symetrique)
                    9  : BiCG

      - MATASS (type MATRIK) :
         Matrice de meme structure que MA1 (eventuellement egale)
         servant a preconditionner l'assemblage.
         Par defaut : MA1

      - TYRENU (type MOT) :
         Methode de renumerotation des ddl :
         - 'RIEN' 
         - 'SLOA' : algorithme de S.W. Sloan 
         - 'GIPR' : algorithme de Gibbs-King 
         - 'GIBA' : algorithme de Gibbs-Poole-Stockmeyer
         Par defaut : 'SLOA'

      - PCMLAG (type MOT) :
         Methode de prise en compte des multiplicateurs de Lagrange :
         - 'RIEN'
         - 'APR2', 'APR3', 'APR4', 'APR5'.
         Par defaut : 'APR2'

      - SCALING (type ENTIER) :
         Scaling de la matrice :
         - 0 : pas de scaling
         - 1 : scaling par les normes euclidiennes des lignes 
               et des colonnes 
         - 2 : scaling par la norme L1 des lignes et des colonnes 
         Par defaut : 0

      - SCALAG (type ENTIER) :
         Mise a l'echelle des multiplicateurs de Lagrange :
         - 0 : pas de mise a l'echelle
         - 1 : mise a l'echelle
         Par defaut : 1

       - OUBMAT (type ENTIER) :
          Oubli des matrices elementaires :
          - x0 : non
          - x1 : oui
          - x2 : suppression
          Destruction de la matrice assemblee (et du preconditionneur
          eventuel) apres resolution :
          - 0x : non
          - 1x : oui, sauf le profil Morse
          - 2x : oui
          Par defaut : 00         

      - IMPR (type ENTIER) : 
         Niveau d'impression

      - LTIME (type LOGIQUE) :
         Si cet indice vaut VRAI, l'operateur sort un deuxieme resultat
         de type TABLE qui contient les temps CPU passes dans les grandes
         etapes de l'algorithme de resolution.

      - LDEPE (type LOGIQUE) :
         Si cet indice vaut VRAI (valeur par defaut) et que la matrice
         du systeme a resoudre est de type RIGIDITE, on effectue une 
         elimination (si possible) des contraintes avant de resoudre.

      - CVGOK (type ENTIER) (syntaxe 2 uniquement) :
           Une fois la resolution achevee, contient un entier strictement
           positif si la méthode de résolution n'a pas convergé et un 
           entier strictement négatif si une erreur empêchant toute
           résolution s'est produite.

      - indices specifiques aux methodes iteratives (2..9) :

        * XINIT (type CHPOINT) :
           Estimation de depart de l'inconnue.
           Par defaut : un chpoint nul.

        * MAPREC (type MATRIK) :
           Matrice de meme structure que MA1 (eventuellement egale)
           dont on utilise le preconditionneur.
           Par defaut : MA1

        * NITMAX (type ENTIER) :
           Nombre maximum de produits matrice-vecteur a effectuer.
           Par defaut : 2000.
        * CALRES (type ENTIER) :
           Façon de calculer le critere d'arret
           Par defaut : 0
           0 : ||b-Ax||_2 / ||b||_2
           1 : ||b-Ax||_2 / ||b-Ax0||_2
           (|| ||_2 : norme euclidienne)

        * RESID  (type REEL) :
           Valeur maximum du critere d'arret
           Par defaut : 1.D-10
           
        * GMRESTRT (type ENTIER) :
           Parametre m de redemarrage pour la methode GMRES(m) 
           ou pour la methode GCR(m)
           Par defaut : 50

        * LBCG (type ENTIER) :
           Parametre l pour BiCGSTAB(l)
           Par defaut : 4

        * IMPINV (type ENTIER) :
           Niveau d'impression pour la partie resolution iterative

        * BCGSBTOL (type REEL) :
           'Breakdown tolerance' pour les methodes de type BiCG et CGS.
           Par defaut : 1.D-40

        * IDDOT (type ENTIER) :
           IDDOT=0, utilisation du produit scalaire normal.
           IDDOT=1, utilisation du produit scalaire compense.
           Par defaut : 0

        * IMVEC (type ENTIER) :
           IMVEC=0, pas de parallélisme pour les produits matrice-vecteur
           IMVEC=1, parallélisme stratégie 1, entrelace les lignes.
           IMVEC=2, parallélisme stratégie 2, groupe les lignes.
           Par defaut : 2

        * FCPRECT (type ENTIER) (syntaxe 2 uniquement) :
           Frequence de recalcul du preconditionneur en fonction
           de l'indice de boucle sur les pas de temps.
           (utilise par la procedure EXEC)
           Par defaut : 1

        * FCPRECI (type ENTIER) (syntaxe 2 uniquement) :
           Frequence de recalcul du preconditionneur en fonction
           de l'indice de boucle sur la boucle d'iterations utilisee
           pour resoudre les non-linearites.
           (utilise par la procedure EXEC)
           Par defaut : 1

        * CONVINV (type LISTREEL) (syntaxe 2 uniquement) :
           Une fois la resolution achevee, contient 
           l'historique du critere d'arret en fonction du nombre 
           d'iterations effectuees.

        * NMATVEC (type LISTENTI) (syntaxe 2 uniquement) :
           Une fois la resolution achevee, contient 
           le nombre de produits matrice-vecteur effectues en 
           fonction du nombre d'iterations.

      - indices specifiques aux preconditionnements :

        * PRECOND (type ENTIER) : 
           Type de preconditionnement :
                     0 : pas de preconditionnement
                     1 : preconditionnement par la diagonale
                     2 : preconditionnement D-ILU
           defaut -> 3 : preconditionnement ILU(0) (Crout)
                     4 : preconditionnement MILU(0) (Crout modifie)
                     5 : preconditionnement ILUT (dual truncation)
                     6 : preconditionnement ILUT2 (une variante 
                         remplissant mieux la memoire allouee)
                     7 : preconditionnement ILUTP (avec pivoting)
                     8 : preconditionnement ILUTP+0 (avec pivoting)
                         On garde les termes qui seraient dans ILU(0)
                     9 : preconditionnement ILU(0)-PV
                    10 : preconditionnement ILU(0)-PV filtre

        * MILURELX (type REEL) :
           Parametre de relaxation pour le preconditionnement
           MILU(0) compris entre 0. et 1.
           S'il est egal a 0, on se ramene a ILU(0)
           S'il est egal a 1, MILU(0) est dit non relaxe
           Par defaut : 1.D0 

        * ILUTLFIL (type REEL) :
           Pour un preconditionnement de type ILUT :
           encombrement maximal du preconditionneur par rapport a la
           matrice MA1.
           Par defaut : 2.D0
           
        * ILUTDTOL (type REEL) (comprise entre 0.D0 et 1.D0) :
           Pour un preconditionnement de type ILUT :
           "drop tolerance" pour le preconditionneur, i.e. en-dessous de
           cette valeur relative, les termes de la factorisation
           incomplete seront oublies.
           Par defaut : -1.D0 (on garde tous les termes).

        * ILUTPPIV (type REEL) (compris entre 0.D0 et 1.D0) :
           Pour un preconditionnement ILUTP :
           0.D0 : on ne pivote pas
           1.D0 : on pivote tout le temps
           (recommandation : entre 0.1D0 et 0.01D0)
           Par defaut : 0.1D0 

        * ILUPRELX (type REEL) :
           Parametre de filtre pour le preconditionnement
           ILU(0)-PV filtre compris entre 0. et +inf
           S'il est egal a 0, on se ramene a ILU(0) qd il n'y a pas de
           pivots negatifs.
           S'il est egal a +inf, ILU(0)-PV est dit non filtre
           Par defaut : 0.5D0 

      Attention :
      ___________

      1) La methode du gradient conjugue fonctionne generalement 
         pour les matrices A SYMETRIQUES, les autres methodes iteratives
         fonctionnent egalement pour les matrices A NON-SYMETRIQUES.

      2) Les methodes iteratives peuvent ne pas converger (en 
         particulier si la matrice est mal conditionnee).

      3) Pour la methode GMRES(m), le residu b-Ax est toujours
         decroissant, mais peut eventuellement stagner.
         Plus m est grand, meilleure est la convergence, mais
         l'occupation memoire et le temps de calcul moyen
         par iteration croissent lineairement avec m.

      4) Les preconditionneurs sont utilises pour ameliorer le
         conditionnement du systeme a resoudre.
         
         TOUTEFOIS, les preconditionneurs (qui sont de type
         factorisation incomplete) ne sont pas garantis d'exister
         ni meme d'ameliorer le conditionnement (pivots nuls ou 
         petits).

         Ceci, MEME SI la matrice A est factorisable.

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