Résolution non-linéaire ======================= Les 3 grands types de non-linéarités dans *Code_Aster* sont les suivants: * non-linéarité liée au comportement du matériau (par exemple plastique); * non-linéarité liée à la géométrie (par exemple en grands déplacements); * non-linéarité liée au contact-frottant. Les conseils généraux de résolution de problèmes non-linéaires font l'objet d'un document spécifique dont on recommande fortement la lecture: :ref:`u2.04.01` :ref:`u2.04.01` :ref:`u2.04.01`. Avant tout calcul non-linéaire, il est indispensable de s'assurer que le calcul fonctionne correctement en élasticité linéaire. Les non-linéarités pourront alors être ajoutées les unes après les autres. On rappelle brièvement les conseils majeurs sur la discrétisation temporelle et les paramètres numériques de résolution non-linéaire dans les paragraphes suivants. Non-linéarité et discrétisation temporelle ------------------------------------------ La résolution d'un problème non-linéaire nécessite généralement d'appliquer le chargement extérieur progressivement, par incrément de charge. Ainsi le temps (ou pseudo-temps en quasi-statique) est discrétisé en pas de temps et à chaque pas de temps correspond un incrément de charge (voir § :ref:`2.2 ` ). Plus le pas de temps est petit, moins le problème est non-linéaire donc plus facile à résoudre. Afin d'autoriser le sous-découpage du pas de temps en cas d'échec de convergence, il est indispensable d'utiliser la commande DEFI_LIST_INST (pour plus de détails sur la gestion de la liste d'instants, voir le paragraphe §3.1 du document :ref:`u2.04.01`) Pour vérifier la cohérence des données (système d'unités, conditions aux limites, caractéristiques élémentaires, effet des variables de commandes), il est toujours utile d'effectuer un premier calcul élastique linéaire (STAT_NON_LINE/RELATION='ELAS', ou MECA_STATIQUE), avant toute étude non linéaire, puis d'ajouter les non linéarités les unes après les autres. Paramètres numériques pour l'algorithme de résolution non-linéaire ------------------------------------------------------------------ Par défaut, l'algorithme de résolution non-linéaire est basé sur la méthode de Newton-Raphson (STAT_NON_LINE / METHODE='NEWTON'). Il est conseillé d'utiliser une matrice tangente réactualisée à chaque itération de Newton: REAC_ITER=1 afin de faciliter la convergence de l'algorithme (voir le paragraphe §2.2 du document :ref:`u2.04.01`). Il est fortement recommandé de ne pas augmenter le critère de convergence de la méthode de Newton (RESI_GLOB_RELA=106 par défaut). D'autres critères de convergence sont également disponibles (voir le paragraphe §3.3 du document :ref:`u2.04.01`). Remarques: * Pour des problèmes adoucissants, *Code_Aster* offre la possibilité d'utiliser une méthode alternative à la méthode Newton-Raphson: c'est la méthode IMPLEX qui est une méthode robuste mais approchée (voir le paragraphe §4.5 du document :ref:`u2.04.01`). * Pour une optimisation du temps de calcul, *Code_Aster* offre la possibilité d'utiliser une méthode de Newton inexacte (à condition que le solveur linéaire choisi soit un solveur itératif): c'est la méthode NEWTON_KRYLOV.