Télécharger kres.notice

Retour à la liste thématique

Afficher cette notice en

Numérotation des lignes :
   1 : $$$$ KRES     NOTICE  GOUNAND   25/03/24    21:15:07     12216          
   2 :                                              DATE     25/03/24
   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 :                     10 : Algebraic Multigrid Notay FCG
  90 :                          (matrice symetrique) Stokes
  91 :                     11 : Algebraic Multigrid Notay GCR(m)
  92 :                          (matrice non symetrique) Navier-Stokes
  93 : 
  94 :       - MATASS (type MATRIK) :
  95 :          Matrice de meme structure que MA1 (eventuellement egale)
  96 :          servant a preconditionner l'assemblage.
  97 :          Par defaut : MA1
  98 : 
  99 :       - TYRENU (type MOT) :
 100 :          Methode de renumerotation des ddl :
 101 :          - 'RIEN'
 102 :          - 'SLOA' : algorithme de S.W. Sloan
 103 :          - 'GIPR' : algorithme de Gibbs-King
 104 :          - 'GIBA' : algorithme de Gibbs-Poole-Stockmeyer
 105 :          Par defaut : 'SLOA'
 106 : 
 107 :       - PCMLAG (type MOT) :
 108 :          Methode de prise en compte des multiplicateurs de Lagrange :
 109 :          - 'RIEN'
 110 :          - 'APR2', 'APR3', 'APR4', 'APR5'.
 111 :          Par defaut : 'APR2'
 112 : 
 113 :       - SCALING (type ENTIER) :
 114 :          Scaling de la matrice :
 115 :          - 0 : pas de scaling
 116 :          - 1 : scaling par les normes euclidiennes des lignes
 117 :                et des colonnes
 118 :          - 2 : scaling par la norme L1 des lignes et des colonnes
 119 :          Par defaut : 0
 120 : 
 121 :       - SCALAG (type ENTIER) :
 122 :          Mise a l'echelle des multiplicateurs de Lagrange :
 123 :          - 0 : pas de mise a l'echelle
 124 :          - 1 : mise a l'echelle
 125 :          Par defaut : 1
 126 : 
 127 :        - OUBMAT (type ENTIER) :
 128 :           Oubli des matrices elementaires :
 129 :           - x0 : non
 130 :           - x1 : oui
 131 :           - x2 : suppression
 132 :           Destruction de la matrice assemblee (et du preconditionneur
 133 :           eventuel) apres resolution :
 134 :           - 0x : non
 135 :           - 1x : oui, sauf le profil Morse
 136 :           - 2x : oui
 137 :           Par defaut : 00
 138 : 
 139 :       - IMPR (type ENTIER) :
 140 :          Niveau d'impression
 141 : 
 142 :       - LTIME (type LOGIQUE) :
 143 :          Si cet indice vaut VRAI, l'operateur sort un deuxieme resultat
 144 :          de type TABLE qui contient les temps CPU passes dans les grandes
 145 :          etapes de l'algorithme de resolution.
 146 : 
 147 :       - LDEPE (type LOGIQUE) :
 148 :          Si cet indice vaut VRAI (valeur par defaut) et que la matrice
 149 :          du systeme a resoudre est de type RIGIDITE, on effectue une
 150 :          elimination (si possible) des contraintes avant de resoudre.
 151 : 
 152 :       - CVGOK (type ENTIER) (syntaxe 2 uniquement) :
 153 :            Une fois la resolution achevee, contient un entier strictement
 154 :            positif si la méthode de résolution n'a pas convergé et un
 155 :            entier strictement négatif si une erreur empêchant toute
 156 :            résolution s'est produite.
 157 : 
 158 :       - indices specifiques aux methodes iteratives (2..9) :
 159 : 
 160 :         * XINIT (type CHPOINT) :
 161 :            Estimation de depart de l'inconnue.
 162 :            Par defaut : un chpoint nul.
 163 : 
 164 :         * MAPREC (type MATRIK) :
 165 :            Matrice de meme structure que MA1 (eventuellement egale)
 166 :            dont on utilise le preconditionneur.
 167 :            Par defaut : MA1
 168 : 
 169 :         * NITMAX (type ENTIER) :
 170 :            Nombre maximum de produits matrice-vecteur a effectuer.
 171 :            Par defaut : 2000.
 172 :         * CALRES (type ENTIER) :
 173 :            Façon de calculer le critere d'arret
 174 :            Par defaut : 0
 175 :            0 : ||b-Ax||_2 / ||b||_2
 176 :            1 : ||b-Ax||_2 / ||b-Ax0||_2
 177 :            (|| ||_2 : norme euclidienne)
 178 : 
 179 :         * RESID  (type REEL) :
 180 :            Valeur maximum du critere d'arret
 181 :            Par defaut : 1.D-10
 182 : 
 183 :         * GMRESTRT (type ENTIER) :
 184 :            Parametre m de redemarrage pour la methode GMRES(m)
 185 :            ou pour la methode GCR(m)
 186 :            Par defaut : 50
 187 : 
 188 :         * LBCG (type ENTIER) :
 189 :            Parametre l pour BiCGSTAB(l)
 190 :            Par defaut : 4
 191 : 
 192 :         * IMPINV (type ENTIER) :
 193 :            Niveau d'impression pour la partie resolution iterative
 194 : 
 195 :         * BCGSBTOL (type REEL) :
 196 :            'Breakdown tolerance' pour les methodes de type BiCG et CGS.
 197 :            Par defaut : 1.D-40
 198 : 
 199 :         * IDDOT (type ENTIER) :
 200 :            IDDOT=0, utilisation du produit scalaire normal.
 201 :            IDDOT=1, utilisation du produit scalaire compense.
 202 :            Par defaut : 0
 203 : 
 204 :         * IMVEC (type ENTIER) :
 205 :            IMVEC=0, pas de parallélisme pour les produits matrice-vecteur
 206 :            IMVEC=1, parallélisme stratégie 1, entrelace les lignes.
 207 :            IMVEC=2, parallélisme stratégie 2, groupe les lignes.
 208 :            Par defaut : 2
 209 : 
 210 :         * FCPRECT (type ENTIER) (syntaxe 2 uniquement) :
 211 :            Frequence de recalcul du preconditionneur en fonction
 212 :            de l'indice de boucle sur les pas de temps.
 213 :            (utilise par la procedure EXEC)
 214 :            Par defaut : 1
 215 : 
 216 :         * FCPRECI (type ENTIER) (syntaxe 2 uniquement) :
 217 :            Frequence de recalcul du preconditionneur en fonction
 218 :            de l'indice de boucle sur la boucle d'iterations utilisee
 219 :            pour resoudre les non-linearites.
 220 :            (utilise par la procedure EXEC)
 221 :            Par defaut : 1
 222 : 
 223 :         * CONVINV (type LISTREEL) (syntaxe 2 uniquement) :
 224 :            Une fois la resolution achevee, contient
 225 :            l'historique du critere d'arret en fonction du nombre
 226 :            d'iterations effectuees.
 227 : 
 228 :         * NMATVEC (type LISTENTI) (syntaxe 2 uniquement) :
 229 :            Une fois la resolution achevee, contient
 230 :            le nombre de produits matrice-vecteur effectues en
 231 :            fonction du nombre d'iterations.
 232 : 
 233 :       - indices specifiques aux methodes multigrilles (7..8) :
 234 : 
 235 :         * ORDINC (type LISTMOTS) :
 236 :            Precise l'ordre voulu pour les inconnues pour le solveur
 237 :            multigrille AGMG par blocs.
 238 :            Par defaut : - (pas d'ordre impose)
 239 : 
 240 :       - indices specifiques aux preconditionnements :
 241 : 
 242 :         * PRECOND (type ENTIER) :
 243 :            Type de preconditionnement :
 244 :                      0 : pas de preconditionnement
 245 :                      1 : preconditionnement par la diagonale
 246 :                      2 : preconditionnement D-ILU
 247 :            defaut -> 3 : preconditionnement ILU(0) (Crout)
 248 :                      4 : preconditionnement MILU(0) (Crout modifie)
 249 :                      5 : preconditionnement ILUT (dual truncation)
 250 :                      6 : preconditionnement ILUT2 (une variante
 251 :                          remplissant mieux la memoire allouee)
 252 :                      7 : preconditionnement ILUTP (avec pivoting)
 253 :                      8 : preconditionnement ILUTP+0 (avec pivoting)
 254 :                          On garde les termes qui seraient dans ILU(0)
 255 :                      9 : preconditionnement ILU(0)-PV
 256 :                     10 : preconditionnement ILU(0)-PV filtre
 257 : 
 258 :         * MILURELX (type REEL) :
 259 :            Parametre de relaxation pour le preconditionnement
 260 :            MILU(0) compris entre 0. et 1.
 261 :            S'il est egal a 0, on se ramene a ILU(0)
 262 :            S'il est egal a 1, MILU(0) est dit non relaxe
 263 :            Par defaut : 1.D0
 264 : 
 265 :         * ILUTLFIL (type REEL) :
 266 :            Pour un preconditionnement de type ILUT :
 267 :            encombrement maximal du preconditionneur par rapport a la
 268 :            matrice MA1.
 269 :            Par defaut : 2.D0
 270 : 
 271 :         * ILUTDTOL (type REEL) (comprise entre 0.D0 et 1.D0) :
 272 :            Pour un preconditionnement de type ILUT :
 273 :            "drop tolerance" pour le preconditionneur, i.e. en-dessous de
 274 :            cette valeur relative, les termes de la factorisation
 275 :            incomplete seront oublies.
 276 :            Par defaut : -1.D0 (on garde tous les termes).
 277 : 
 278 :         * ILUTPPIV (type REEL) (compris entre 0.D0 et 1.D0) :
 279 :            Pour un preconditionnement ILUTP :
 280 :            0.D0 : on ne pivote pas
 281 :            1.D0 : on pivote tout le temps
 282 :            (recommandation : entre 0.1D0 et 0.01D0)
 283 :            Par defaut : 0.1D0
 284 : 
 285 :         * ILUPRELX (type REEL) :
 286 :            Parametre de filtre pour le preconditionnement
 287 :            ILU(0)-PV filtre compris entre 0. et +inf
 288 :            S'il est egal a 0, on se ramene a ILU(0) qd il n'y a pas de
 289 :            pivots negatifs.
 290 :            S'il est egal a +inf, ILU(0)-PV est dit non filtre
 291 :            Par defaut : 0.5D0
 292 : 
 293 :       Attention :
 294 :       ___________
 295 : 
 296 :       1) La methode du gradient conjugue fonctionne generalement
 297 :          pour les matrices A SYMETRIQUES, les autres methodes iteratives
 298 :          fonctionnent egalement pour les matrices A NON-SYMETRIQUES.
 299 : 
 300 :       2) Les methodes iteratives peuvent ne pas converger (en
 301 :          particulier si la matrice est mal conditionnee).
 302 : 
 303 :       3) Pour la methode GMRES(m), le residu b-Ax est toujours
 304 :          decroissant, mais peut eventuellement stagner.
 305 :          Plus m est grand, meilleure est la convergence, mais
 306 :          l'occupation memoire et le temps de calcul moyen
 307 :          par iteration croissent lineairement avec m.
 308 : 
 309 :       4) Les preconditionneurs sont utilises pour ameliorer le
 310 :          conditionnement du systeme a resoudre.
 311 : 
 312 :          TOUTEFOIS, les preconditionneurs (qui sont de type
 313 :          factorisation incomplete) ne sont pas garantis d'exister
 314 :          ni meme d'ameliorer le conditionnement (pivots nuls ou
 315 :          petits).
 316 : 
 317 :          Ceci, MEME SI la matrice A est factorisable.

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