!SOLVER¶
Contrôle du solveur
Donnée de contrôle obligatoire.
Paramètres¶
METHOD = Méthode de résolution (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : Méthode directe sauf pour l'analyse de contact (traitement série uniquement) (actuellement indisponible)
DIRECTmkl : Méthode directe utilisant Intel MKL
MUMPS : Méthode directe utilisant MUMPS
Lorsqu'une méthode directe est sélectionnée, les lignes de données sont ignorées.
Les méthodes itératives pour les problèmes à 3 DDL prennent en charge l'exécution parallèle par threads avec OpenMP
PRECOND = Méthode de préconditionnement des solveurs itératifs (1, 2, 3, 5, 10, 11, 12)
1, 2 : SSOR (par blocs) (avec ordonnancement multicolore uniquement pour les problèmes à 3 DDL)
3 : Mise à l'échelle diagonale (par blocs)
5 : AMG utilisant le paquet de préconditionnement multigrille ML
10 : ILU(0) par blocs
11 : ILU(1) par blocs
12 : ILU(2) par blocs
10, 11 et 12 ne sont disponibles que pour les problèmes à 3 DDL
Pour l'exécution parallèle par threads OpenMP, SSOR, la mise à l'échelle diagonale ou ML sont recommandés
ITERLOG = Indique s'il faut produire l'historique de convergence du solveur itératif (YES/NO)(Valeur par défaut : NO)
TIMELOG = Indique s'il faut produire le temps de calcul du solveur (YES/NO/VERBOSE)(Valeur par défaut : NO)
USEJAD = Indique s'il faut utiliser l'ordonnancement pour les processeurs vectoriels (YES/NO)(Valeur par défaut : NO)
Valide uniquement lorsqu'une méthode itérative est utilisée pour un problème à 3 DDL
SCALING = Indique s'il faut mettre la matrice à l'échelle pour que les termes diagonaux valent 1 (YES/NO)(Valeur par défaut : NO)
Valide uniquement lorsqu'une méthode itérative est utilisée pour un problème à 3 DDL
DUMPTYPE = Format de vidage de la matrice (NONE, MM, CSR, BSR) (principalement pour le débogage)
NONE : Aucun vidage (valeur par défaut)
MM : Format Matrix Market
CSR : Format Compressed Sparse Row (CSR)
BSR : Format CSR par blocs
DUMPEXIT = Termine le programme immédiatement après le vidage de la matrice (YES/NO)(Valeur par défaut : NO)
MPCMETHOD = Méthode de traitement des contraintes multipoints (1, 2, 3)
1: Méthode de pénalisation (valeur par défaut lorsqu'une méthode directe est utilisée)
2: Méthode MPC-CG (obsolète)
3: Élimination explicite des DDL (valeur par défaut lorsqu'une méthode itérative est utilisée)
ESTCOND = Fréquence d'estimation du nombre de condition (expérimental)
Estime le nombre de condition à chaque intervalle d'itération spécifié et à la fin des itérations
Aucune estimation n'est effectuée lorsque 0 est spécifié
METHOD2 = Méthode de résolution secondaire (BiCGSTAB, GMRES, GPBiCG) (expérimental)
Valide uniquement lorsque CG est spécifié pour METHOD
Si CG diverge, bascule automatiquement vers la méthode secondaire et poursuit la résolution
Les mêmes valeurs sont utilisées pour les autres paramètres et lignes de données
CONTACT_ELIM = Spécifie si l'élimination des DDL est effectuée dans l'analyse de contact (0,1)
0: Effectue l'élimination des DDL uniquement lorsqu'une méthode itérative est utilisée (valeur par défaut)
1: Effectue toujours l'élimination des DDL (y compris lorsqu'une méthode directe est utilisée)
** 2e ligne et suivantes **
| Variable | Attribut | Description |
|---|---|---|
| NITER | I | Nombre d'itérations (valeur par défaut : 100) |
| iterPREmax | I | Nombre d'itérations du préconditionnement Additive Schwarz (valeur par défaut : 1) (Valeur recommandée : 1 ; 2 peut être efficace dans certains calculs parallèles) |
| NREST | I | Nombre de sous-espaces de Krylov (valeur par défaut : 10) (Valide uniquement lorsque GMRES est sélectionné comme méthode de résolution) |
| NCOLOR_IN | I | Nombre cible de couleurs pour l'ordonnancement multicolore (valeur par défaut : 10) (Valide uniquement lorsque le nombre de threads OpenMP est supérieur ou égal à 2) |
| RECYCLEPRE | I | Nombre de réutilisations des informations de configuration du préconditionneur (valeur par défaut : 3) (Valide uniquement en analyse non linéaire) |
| Variable | Attribut | Description |
|---|---|---|
| RESID | R | Erreur de troncature (valeur par défaut : 1.0e-8) |
| SIGMA_DIAG | R | Facteur d'échelle appliqué aux termes diagonaux lors du calcul de la matrice de préconditionnement (valeur par défaut : 1.0) (Si une division par zéro ou une divergence se produit avec le préconditionnement ILU, le problème peut converger lorsqu'une valeur supérieure à 1.0 est spécifiée) |
| SIGMA | R | Non utilisé (valeur par défaut : 0.0) |
Lorsque PRECOND=5 (facultatif)¶
Si une autre valeur est spécifiée pour PRECOND, la 4e ligne est ignorée.
| Variable | Attribut | Description |
|---|---|---|
| ML_CoarseSolver | I | Solveur de grille grossière pour ML (1 : utiliser le lisseur, 2 : KLU (méthode directe série), 3 : MUMPS (méthode directe parallèle)) (valeur par défaut : 1) (Recommandation : 3 ou 2 pour les problèmes difficiles, 1 pour les problèmes ordinaires) |
| ML_Smoother | I | Lisseur ML (1 : Chebyshev, 2 : SymBlockGaussSeidel, 3 : Jacobi) (valeur par défaut : 1) (Recommandation : 1) |
| ML_MGCycle | I | Cycle multigrille ML (1 : cycle V, 2 : cycle W, 3 : cycle V complet) (valeur par défaut : 1) (Recommandation : 2 pour les problèmes difficiles, 1 pour les problèmes ordinaires) |
| ML_MaxLevels | I | Nombre maximal de niveaux ML (valeur par défaut : 10) (Pour les problèmes particulièrement difficiles, utilisez un solveur direct sur la grille grossière et 2 niveaux (ou 3 si la mémoire est insuffisante) ; pour les problèmes ordinaires, 10 est recommandé) |
| ML_CoarseningScheme | I | Schéma de grossissement ML (1 : UncoupledMIS, 2 : METIS, 4 : Zoltan, 5 : DD) (valeur par défaut : 1) (Recommandation : 1 ou 5) |
| ML_NumSweep | I | Nombre de balayages du lisseur ML (degré du polynôme pour Chebyshev) (valeur par défaut : 2) (Recommandation : 2 pour Chebyshev, 1 pour SymBlockGaussSeidel) |
Exemples¶
Utiliser CG avec préconditionnement SSOR et fixer le nombre maximal d'itérations à 10000 et l'erreur de troncature à 1.0e-8
Utiliser GMRES avec préconditionnement SSOR et fixer le nombre de sous-espaces de Krylov à 40 et le nombre cible de couleurs pour l'ordonnancement multicolore à 100
Utiliser CG avec préconditionnement ILU(0) et fixer à 1.1 le facteur d'échelle appliqué aux termes diagonaux lors du calcul de la matrice de préconditionnement
Utiliser AMG par ML comme préconditionneur pour CG
Utiliser AMG par ML comme préconditionneur pour CG et MUMPS comme solveur de grille grossière (pour les problèmes difficiles)
Utiliser AMG par ML comme préconditionneur pour CG et le cycle W comme cycle multigrille (pour les problèmes difficiles)
Utiliser AMG par ML comme préconditionneur pour CG, MUMPS comme solveur de grille grossière et fixer le nombre maximal de niveaux à 2 (pour les problèmes très difficiles)