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