Télécharger kres.notice

Retour à la liste thématique

Afficher cette notice en

Numérotation des lignes :
   1 : $$$$ KRES     NOTICE  GOUNAND   11/10/07    21:15:58     7149           
   2 :                                              DATE     11/10/07
   3 :  
   4 :    Operateur KRES                         Voir aussi :
   5 :       --------------  
   6 :        1)  KRES RVP CHPO1 'BETA' VAL1 VAL2 'PIMP' VAL3 VAL4 ; 
   7 :       
   8 :       
   9 :        2)  CHPO3 = KRES MA1 'TYPI' TAB1 ;
  10 : 
  11 :        2bis)  CHPO3 = KRES MA1 (CHPO2) (MOTi VALi) ;
  12 :                            
  13 :                             
  14 : 
  15 :       ----------------------
  16 :       |  1ere possibilite  |
  17 :       ----------------------
  18 : 
  19 :       Objet :
  20 :       _______
  21 : 
  22 :       Le foncteur KRES resout une equation de pression dans le
  23 :       cadre de la resolution semi-implicite des equations
  24 :       de Navier-Stokes dans CASTEM 2000.
  25 : 
  26 :       Commentaire :
  27 :       _____________
  28 : 
  29 :       RVP      : objet de type TABLE de sous-type EQPR
  30 : 
  31 :       CHPO1    : objet de type CHPOINT contenant la variable
  32 :                  PRESSION
  33 : 
  34 :       VALi     : objets de type REEL non documentes
  35 : 
  36 :       ----------------------
  37 :       |  2eme possibilite  |
  38 :       ----------------------
  39 : 
  40 :       Objet :
  41 :       _______
  42 :     
  43 :       L'operateur KRES resout un systeme d'equations lineaires
  44 :       de type Ax=b par une methode directe ou iterative.
  45 : 
  46 :       Commentaire :
  47 :       _____________
  48 : 
  49 :       MA1      : objet de type RIGIDITE (ou MATRIK)
  50 :                  c'est la matrice A.
  51 : 
  52 :       TAB1     : TABLE de sous-type METHINV contenant les 
  53 :                  informations optionnelles.
  54 : 
  55 :       CHPO2    : objet de type CHPOINT contenant le second membre
  56 :                  du systeme a resoudre.
  57 :                  C'est le "vecteur" b.
  58 :     
  59 :       CHPO3    : objet de type CHPOINT contenant en retour
  60 :                  (si la resolution a abouti) le "vecteur"
  61 :                  solution du systeme : x. 
  62 : 
  63 :       Les informations sont :
  64 :       - soit stockees dans TAB1 : TAB1 . MOTi = VALi (syntaxe 2) ;
  65 :       - soit donnees sur ligne de commande (syntaxe 2bis).
  66 : 
  67 :       MOTi et VALi peuvent prendre les valeurs suivantes :
  68 : 
  69 :       - CLIM (type CHPOINT) : 
  70 :          Conditions aux limites de Dirichlet
  71 : 
  72 :       - SMBR (type CHPOINT) : 
  73 :          Second membre CHPO2
  74 : 
  75 :       - TYPINV (type ENTIER) :
  76 :          Methode d'inversion du systeme
  77 :          defaut ->  1  : resolution directe (Crout)
  78 :                     2  : Gradient Conjugue
  79 :                     3  : Bi-Gradient Conjugue Stabilise (BiCGSTAB)
  80 :                     4  : BiCGSTAB(l)
  81 :                     5  : GMRES(m) : restarted Generalized Minimal
  82 :                                     Residual
  83 :                     6  : CGS (Conjugate Gradient Squared)
  84 :                     7  : Algebraic Multigrid Notay FCG 
  85 :                          (matrice symetrique)
  86 :                     8  : Algebraic Multigrid Notay GCR(m)
  87 :                          (matrice non symetrique)
  88 :                     9  : BiCG
  89 : 
  90 :       - MATASS (type MATRIK) :
  91 :          Matrice de meme structure que MA1 (eventuellement egale)
  92 :          servant a preconditionner l'assemblage.
  93 :          Par defaut : MA1
  94 : 
  95 :       - TYRENU (type MOT) :
  96 :          Methode de renumerotation des ddl :
  97 :          - 'RIEN' 
  98 :          - 'SLOA' : algorithme de S.W. Sloan 
  99 :          - 'GIPR' : algorithme de Gibbs-King 
 100 :          - 'GIBA' : algorithme de Gibbs-Poole-Stockmeyer
 101 :          Par defaut : 'SLOA'
 102 : 
 103 :       - PCMLAG (type MOT) :
 104 :          Methode de prise en compte des multiplicateurs de Lagrange :
 105 :          - 'RIEN'
 106 :          - 'APR2', 'APR3', 'APR4', 'APR5'.
 107 :          Par defaut : 'APR2'
 108 : 
 109 :       - SCALING (type ENTIER) :
 110 :          Scaling de la matrice :
 111 :          - 0 : pas de scaling
 112 :          - 1 : scaling par les normes euclidiennes des lignes 
 113 :                et des colonnes 
 114 :          - 2 : scaling par la norme L1 des lignes et des colonnes 
 115 :          Par defaut : 0
 116 : 
 117 :        - OUBMAT (type ENTIER) :
 118 :           Oubli des matrices elementaires :
 119 :           - x0 : non
 120 :           - x1 : oui
 121 :           - x2 : suppression
 122 :           Destruction de la matrice assemblee (et du preconditionneur
 123 :           eventuel) apres resolution :
 124 :           - 0x : non
 125 :           - 1x : oui, sauf le profil Morse
 126 :           - 2x : oui
 127 :           Par defaut : 00         
 128 : 
 129 :       - IMPR (type ENTIER) : 
 130 :          Niveau d'impression
 131 : 
 132 :       - LTIME (type LOGIQUE) :
 133 :          Si cet indice vaut VRAI, l'operateur sort un deuxieme resultat
 134 :          de type TABLE qui contient les temps CPU passes dans les grandes
 135 :          etapes de l'algorithme de resolution.
 136 : 
 137 :       - LDEPE (type LOGIQUE) :
 138 :          Si cet indice vaut VRAI (valeur par defaut) et que la matrice
 139 :          du systeme a resoudre est de type RIGIDITE, on effectue une 
 140 :          elimination (si possible) des contraintes avant de resoudre.
 141 : 
 142 :       - CVGOK (type ENTIER) (syntaxe 2 uniquement) :
 143 :            Une fois la resolution achevee, contient un entier strictement
 144 :            positif si la méthode de résolution n'a pas convergé et un 
 145 :            entier strictement négatif si une erreur empêchant toute
 146 :            résolution s'est produite.
 147 : 
 148 :       - indices specifiques aux methodes iteratives (2..9) :
 149 : 
 150 :         * XINIT (type CHPOINT) :
 151 :            Estimation de depart de l'inconnue.
 152 :            Par defaut : un chpoint nul.
 153 : 
 154 :         * MAPREC (type MATRIK) :
 155 :            Matrice de meme structure que MA1 (eventuellement egale)
 156 :            dont on utilise le preconditionneur.
 157 :            Par defaut : MA1
 158 : 
 159 :         * NITMAX (type ENTIER) :
 160 :            Nombre maximum de produits matrice-vecteur a effectuer.
 161 :            Par defaut : 2000.
 162 :         * CALRES (type ENTIER) :
 163 :            Façon de calculer le critere d'arret
 164 :            Par defaut : 0
 165 :            0 : ||b-Ax||_2 / ||b||_2
 166 :            1 : ||b-Ax||_2 / ||b-Ax0||_2
 167 :            (|| ||_2 : norme euclidienne)
 168 : 
 169 :         * RESID  (type REEL) :
 170 :            Valeur maximum du critere d'arret
 171 :            Par defaut : 1.D-10
 172 :            
 173 :         * GMRESTRT (type ENTIER) :
 174 :            Parametre m de redemarrage pour la methode GMRES(m) 
 175 :            ou pour la methode GCR(m)
 176 :            Par defaut : 50
 177 : 
 178 :         * LBCG (type ENTIER) :
 179 :            Parametre l pour BiCGSTAB(l)
 180 :            Par defaut : 4
 181 : 
 182 :         * IMPINV (type ENTIER) :
 183 :            Niveau d'impression pour la partie resolution iterative
 184 : 
 185 :         * BCGSBTOL (type REEL) :
 186 :            'Breakdown tolerance' pour les methodes de type BiCG et CGS.
 187 :            Par defaut : 1.D-40
 188 : 
 189 :         * IDDOT (type ENTIER) :
 190 :            IDDOT=0, utilisation du produit scalaire normal.
 191 :            IDDOT=1, utilisation du produit scalaire compense.
 192 :            Par defaut : 0
 193 : 
 194 :         * IMVEC (type ENTIER) :
 195 :            IMVEC=0, pas de parallélisme pour les produits matrice-vecteur
 196 :            IMVEC=1, parallélisme stratégie 1, entrelace les lignes.
 197 :            IMVEC=2, parallélisme stratégie 2, groupe les lignes.
 198 :            Par defaut : 2
 199 : 
 200 :         * FCPRECT (type ENTIER) (syntaxe 2 uniquement) :
 201 :            Frequence de recalcul du preconditionneur en fonction
 202 :            de l'indice de boucle sur les pas de temps.
 203 :            (utilise par la procedure EXEC)
 204 :            Par defaut : 1
 205 : 
 206 :         * FCPRECI (type ENTIER) (syntaxe 2 uniquement) :
 207 :            Frequence de recalcul du preconditionneur en fonction
 208 :            de l'indice de boucle sur la boucle d'iterations utilisee
 209 :            pour resoudre les non-linearites.
 210 :            (utilise par la procedure EXEC)
 211 :            Par defaut : 1
 212 : 
 213 :         * CONVINV (type LISTREEL) (syntaxe 2 uniquement) :
 214 :            Une fois la resolution achevee, contient 
 215 :            l'historique du critere d'arret en fonction du nombre 
 216 :            d'iterations effectuees.
 217 : 
 218 :         * NMATVEC (type LISTENTI) (syntaxe 2 uniquement) :
 219 :            Une fois la resolution achevee, contient 
 220 :            le nombre de produits matrice-vecteur effectues en 
 221 :            fonction du nombre d'iterations.
 222 : 
 223 :       - indices specifiques aux preconditionnements :
 224 : 
 225 :         * PRECOND (type ENTIER) : 
 226 :            Type de preconditionnement :
 227 :                      0 : pas de preconditionnement
 228 :                      1 : preconditionnement par la diagonale
 229 :                      2 : preconditionnement D-ILU
 230 :            defaut -> 3 : preconditionnement ILU(0) (Crout)
 231 :                      4 : preconditionnement MILU(0) (Crout modifie)
 232 :                      5 : preconditionnement ILUT (dual truncation)
 233 :                      6 : preconditionnement ILUT2 (une variante 
 234 :                          remplissant mieux la memoire allouee)
 235 :                      7 : preconditionnement ILUTP (avec pivoting)
 236 :                      8 : preconditionnement ILUTP+0 (avec pivoting)
 237 :                          On garde les termes qui seraient dans ILU(0)
 238 :                      9 : preconditionnement ILU(0)-PV
 239 :                     10 : preconditionnement ILU(0)-PV filtre
 240 : 
 241 :         * MILURELX (type REEL) :
 242 :            Parametre de relaxation pour le preconditionnement
 243 :            MILU(0) compris entre 0. et 1.
 244 :            S'il est egal a 0, on se ramene a ILU(0)
 245 :            S'il est egal a 1, MILU(0) est dit non relaxe
 246 :            Par defaut : 1.D0 
 247 : 
 248 :         * ILUTLFIL (type REEL) :
 249 :            Pour un preconditionnement de type ILUT :
 250 :            encombrement maximal du preconditionneur par rapport a la
 251 :            matrice MA1.
 252 :            Par defaut : 2.D0
 253 :            
 254 :         * ILUTDTOL (type REEL) (comprise entre 0.D0 et 1.D0) :
 255 :            Pour un preconditionnement de type ILUT :
 256 :            "drop tolerance" pour le preconditionneur, i.e. en-dessous de
 257 :            cette valeur relative, les termes de la factorisation
 258 :            incomplete seront oublies.
 259 :            Par defaut : -1.D0 (on garde tous les termes).
 260 : 
 261 :         * ILUTPPIV (type REEL) (compris entre 0.D0 et 1.D0) :
 262 :            Pour un preconditionnement ILUTP :
 263 :            0.D0 : on ne pivote pas
 264 :            1.D0 : on pivote tout le temps
 265 :            (recommandation : entre 0.1D0 et 0.01D0)
 266 :            Par defaut : 0.1D0 
 267 : 
 268 :         * ILUPRELX (type REEL) :
 269 :            Parametre de filtre pour le preconditionnement
 270 :            ILU(0)-PV filtre compris entre 0. et +inf
 271 :            S'il est egal a 0, on se ramene a ILU(0) qd il n'y a pas de
 272 :            pivots negatifs.
 273 :            S'il est egal a +inf, ILU(0)-PV est dit non filtre
 274 :            Par defaut : 0.5D0 
 275 : 
 276 :       Attention :
 277 :       ___________
 278 : 
 279 :       1) La methode du gradient conjugue fonctionne generalement 
 280 :          pour les matrices A SYMETRIQUES, les autres methodes iteratives
 281 :          fonctionnent egalement pour les matrices A NON-SYMETRIQUES.
 282 : 
 283 :       2) Les methodes iteratives peuvent ne pas converger (en 
 284 :          particulier si la matrice est mal conditionnee).
 285 : 
 286 :       3) Pour la methode GMRES(m), le residu b-Ax est toujours
 287 :          decroissant, mais peut eventuellement stagner.
 288 :          Plus m est grand, meilleure est la convergence, mais
 289 :          l'occupation memoire et le temps de calcul moyen
 290 :          par iteration croissent lineairement avec m.
 291 : 
 292 :       4) Les preconditionneurs sont utilises pour ameliorer le
 293 :          conditionnement du systeme a resoudre.
 294 :          
 295 :          TOUTEFOIS, les preconditionneurs (qui sont de type
 296 :          factorisation incomplete) ne sont pas garantis d'exister
 297 :          ni meme d'ameliorer le conditionnement (pivots nuls ou 
 298 :          petits).
 299 : 
 300 :          Ceci, MEME SI la matrice A est factorisable.

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