Aller au contenu

!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 **

(2e ligne) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
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)
(3e ligne) RESID, SIGMA_DIAG, SIGMA
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.

(4e ligne) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
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

!SOLVER, METHOD=CG, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

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

!SOLVER, METHOD=GMRES, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1, 40, 100
  1.0e-8, 1.0, 0.0

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

!SOLVER, METHOD=CG, PRECOND=10, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.1, 0.0

Utiliser AMG par ML comme préconditionneur pour CG

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

Utiliser AMG par ML comme préconditionneur pour CG et MUMPS comme solveur de grille grossière (pour les problèmes difficiles)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3

Utiliser AMG par ML comme préconditionneur pour CG et le cycle W comme cycle multigrille (pour les problèmes difficiles)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  1, 1, 2

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)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3, 1, 1, 2