Vous êtes sur la page 1sur 15

Version

Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 1/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

Conseils de mise en uvre de calculs non-linaires

Rsum

Lobjectif de cet document est de donner des conseils un utilisateur souhaitant raliser des calculs non-
linaires avec Code_Aster. L'utilisateur de calculs linaires y trouvera aussi des informations et des conseils
utiles.

Les aspects suivant seront abords :


maillage et modlisation,
chargements et conditions aux limites,
matriaux et lois de comportement,
rsolution non-linaire,
gestion mmoire/temps et optimisation,
contrle de l'erreur et qualit.

Ce document ne traite pas des questions spcifiques la dynamique.

Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 2/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

1 Maillage et modlisation
Le choix des lments finis influe directement sur la solution. Par choix, on entend le choix du degr
de l'approximation lments-finis ainsi que le choix d'une formulation. Le degr de l'approximation
tant gnralement reli au degr des mailles, les paragraphes suivant traitent du choix du degr du
maillage et le choix d'une formulation lments-finis, avec un point particulier pour les problmes
d'incompressibilit.

1.1 Gnralits sur le choix du degr du maillage et le choix des


lments finis
De manire gnrale, l'utilisation d'un maillage linaire est conseill en thermique et l'utilisation d'un
maillage quadratique est conseill en mcanique. La commande CREA_MAILLAGE (LINE_QUAD et
QUAD_LINE) permet de passer d'un maillage linaire un maillage quadratique et vice-versa, mais ne
permet pas de gnrer des lments quadratiques bords courbes. Il est d'ailleurs prfrable de
gnrer directement les lments quadratiques avec l'outil de maillage (le module de maillage de
Salome-Meca par exemple). Pour la mcanique de la rupture, l'utilisation d'lments de Barsoum en
fond de fissure amliore la qualit du rsultat (commande MODI_MAILLAGE / NOEUD_QUART).

Le choix des lments finis est ralis dans la commande AFFE_MODELE. En thermique, il est
conseill d'utiliser des lments lumps (_DIAG). En mcanique, les lments finis classiquement
utiliss sont les lments iso-paramtriques (3D, D_PLAN, C_PLAN, AXIS). Cependant, ces lments
sont mal adapts aux problmes quasi-incompressibles. Le choix d'une formulation rpondant ce
problme fait l'objet du paragraphe suivant.

Pour plus de dtails, voir [U2.01.10] Notice d'utilisation sur le choix des lments finis

1.2 Choix d'une formulation pour traiter les problmes quasi-


incompressibles
Un problme est quasi-incompressible si le coefficient de Poisson est proche de 0,5 ( 0,45 ) ou si
le taux de dformations plastiques est lev. Cela se traduit par une oscillation de la trace des
contraintes. Il existe 6 formulations pour traiter ce problme dans Code_Aster dont le choix dpend du
type de mailles, du modle de dformation et du ratio qualit/cot calcul.

Les formulations possibles sont :


en petites dformations : _SI, _INCO_UP, _INCO_UPG, INCO_UPO
en grandes dformations : _INCO_UP, _INCO_UPG.

Toutes les formulations sont compatibles avec les modlisations 3D, D_PLAN et AXIS mais en
contraintes planes (C_PLAN) seule la formulation sous-intgre (_SI) est possible.

Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 3/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

Le tableau ci-dessous prsente la compatibilit entre formulation quasi-incompressible et type de


mailles (limites au principales mailles 3D).

_SI _INCO_UP _INCO_UPG _INCO_UPO


HEXA20 X X X
PENTA15 X X
PYRAM13
TETRA10 X X X
HEXA8 X X
PENTA6 X
PYRAM5 X
TETRA4 X X

Dans le cas gnral, il est donc ncessaire de mixer diffrentes formulations pour couvrir tous les
types de mailles (par exemple, comme aucune formulation ne gre les mailles PYRAM13, il faut aussi
affecter une modlisation iso-paramtrique).

Dans le cas o on reste en petites dformations, il est conseill d'utiliser un mlange de formulations
(le maillage pouvant comporter plusieurs types de mailles) :

qualit cot

MODELISATION=('3D', '3D_INCO_UPG', '3D_INCO_UPO') +++ +++

MODELISATION=('3D', '3D_INCO_UP' , '3D_INCO_UPO') ++ ++

MODELISATION=('3D', '3D_SI' , '3D_INCO_UPO') + +

Pour plus de dtails, voir [U2.01.10] Notice d'utilisation sur le choix des lments finis

Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 4/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

2 Chargements, conditions aux limites, conditions initiales


2.1 Cur du problme
Les chargements et conditions aux limites sont importants pour une bonne modlisation. Leur
influence sur les rsultats est la plupart du temps directe, si bien que l'on peut vrifier leur application
par un calcul prliminaire simple, par exemple l'aide de MECA_STATIQUE, ou en visualisant les
conditions aux limites via le mot-cl CONCEPT de IMPR_RESU au format MED.

En ce qui concerne les conditions aux limites, il s'agit souvent d'en introduire le minimum pour bloquer
les dplacements de solide rigide, donc pour viter d'avoir des corps flottants dans la structure, ce qui
provoquerait un pivot nul ou une matrice singulire lors de la rsolution.

Certaines conditions aux limites sont non-linaires, par exemple le contact unilatral. Leur vrification
ne peut donc tre faite l'aide d'un premier calcul linaire ( MECA_STATIQUE ) : les diffrents objets
en contact ne doivent pas avoir de mouvement de corps rigide [U2.04.04] Notice d'utilisation du
contact. Si c'est le cas, on peut viter les pivots nuls en ajoutant des lments discrets (ressorts) de
faible rigidit.

Les chargements (autre que les blocages) peuvent consister soit en conditions de dplacement
imposs, soit en efforts imposs, soit de type champ initial impos.

Dans tous les cas, il importe de bien reprsenter la ralit. On pourra utiliser avec profit les conditions
de symtrie ou d'antisymtrie [1].

De faon gnrale, une condition de type dplacement impos ne fournit pas les mmes rsultats
qu'une condition de type force impose : un dplacement impos sur une partie de la frontire impose
que le dplacement (impos) soit constant en espace sur cette partie, donc apporte de la rigidit,
voire des singularits. Prenons l'exemple du poinonnement d'un massif : le dplacement impos sur
le bord du poinon induit des singularits de contraintes de mme nature que celles qui sont
rencontres au fond d'une fissure.

Figure 2.1-1: Exemple de courbe force-dplacement


Figure 2.1-2: poinonnement
dplacement impos

De plus, pour les calculs non linaires, la conduite du calcul n'est pas la mme : en cas
d'adoucissement ou de charge limite, le chargement force impose peut tre illicite (au-del du
chargement limite). Prenons par exemple le poinonnement (voir Figure 2.1-1 et Figure 2.1-2 ) : la
rponse en termes de force rsultante sur le poinon en fonction du dplacement montre que plus la
force impose s'approche de la charge limite, plus la convergence sera difficile, jusqu' tre
impossible au-del de la charge limite. Si la modlisation correcte ncessite d'appliquer une force
impose, le problme peut tre rsolu via le pilotage de la force impose par rapport au dplacement

Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 5/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

d'un point ou d'un ensemble de points (mthode de continuation ou de longueur d'arc) (voir [R5.03.80]
Mthodes de pilotage du chargement ).

Les documentations d'utilisation relatives l'application des chargements et conditions aux limites
sont [U4.44.01] AFFE_CHAR_MECA et [U4.44.03] AFFE_CHAR_CINE .

2.2 Prcautions pour l'application des chargements


Il est utile pour l'application des chargements de parcourir les diffrents mots-cls de [U4.44.01]
AFFE_CHAR_MECA. Attention au vocabulaire, en particulier, les chargements de type FORCE_FACE,
PRES_REP, FORCE_CONTOUR, FORCE_ARETE, FORCE_INTERNE, FORCE_COQUE, FORCE_TUYAU
correspondent des forces rparties (linique, surfacique, volumique) et sont exprimes en unit de
contraintes (par exemple des Pa en unit S.I.). Seules les FORCE_NODALE sont exprimes en unit
de forces ( N ), et les forces rparties de poutres (FORCE_POUTRE) en units de force divise par une
longueur.

En ce qui concerne les pressions (PRES_REP, FORCE_COQUE/PRES), la pression applique est


positive suivant le sens contraire de la normale l'lment. Il est fortement conseill de rorienter ces
normales via l'oprateur MODI_MAILLAGE, mots-cls ORIE_PEAU_*, ORIE_NORM_COQUE.

Pour les milieux continus 2D, 3D, l'utilisation de forces ponctuelles (FORCE_NODALE) est proscrire,
car elle entrane toujours des singularits.

L'application de charges fonction du temps peut tre effectue de deux faons :


soit en dfinissant des charges constantes, puis en appliquant un coefficient multiplicateur
fonction du temps ces charges lors de la rsolution (mot-cl FONC_MULT sous EXCIT dans
STAT_NON_LINE),
soit en dfinissant directement des charges fonction du temps via AFFE_CHAR_MECA_F.

Dans le cas o les chargements sont de type dplacements imposs, ceux-ci peuvent tre introduits
soit par AFFE_CHAR_MECA(_F), soit par AFFE_CHAR_CINE(_F). L'utilisation de cette dernire
commande permet un gain de temps calcul qui peut tre apprciable en non-linaire (car elle n'ajoute
pas de multiplicateurs de Lagrange, il y a donc moins d'quations rsoudre).

Les variables de commandes ne font pas partie des commandes AFFE_CHAR_MECA(_F). Elles sont
pourtant, dans beaucoup de modlisations, assimilables des chargements : par exemple la dilatation
thermique peut elle seule engendrer des tats de contraintes et de dformations conduisant des
non-linarits de comportement. Les variables de commandes sont appliques via AFFE_MATERIAU.

Il faut toutefois signaler ici une prcaution de modlisation concernant ces variables de commande :
en effet, ds que le calcul est incrmental, STAT_NON_LINE utilise chaque pas de temps
l'incrment de variable de commande pour calculer les dformations correspondantes (cf. par
exemple [R5.03.02] Intgration des relations de comportement lasto-plastique de Von Mises). En
gnral, il est prfrable qu linstant initial, la structure soit non contrainte, non dforme. Si ce n'est
pas le cas, il faut ajouter un instant prliminaire o la structure est au repos, voir par exemple le test
FORMA30 [V7.20.101] FORMA30 - Cylindre creux thermolastique. En cas de dtection de
contraintes dues aux variables de commandes l'instant initial on obtient l'alarme :

----------------------------------------------------------------------------
<A> <MECANONLINE2_97> :
-> Les variables de commandes initiales induisent des contraintes incompatibles :
l'tat initial (avant le premier instant de calcul) est tel que les variables de commande
(temprature, hydratation, schage...) conduisent des contraintes non quilibres.

-> Risque & Conseil : dans le cas d'une rsolution incrmentale, on ne considre que la
variation des variables de commande entre l'instant prcdent et l'instant actuel. On ne prend
donc pas en compte d'ventuelles contraintes incompatibles dues ces variables de commande
initiales.
Pour tenir compte de ces contraintes vous pouvez :
partir d'un instant fictif antrieur o toutes les variables de commande sont nulles ou
gales aux valeurs de rfrence
Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 6/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c
choisir des valeurs de rfrence adaptes
Pour plus d'information, voir la documentation de STAT_NON_LINE (U4.51.03) mot-cl EXCIT, et le
test FORMA30 (V7.20.101).
----------------------------------------------------------------------------

2.3 Les diffrents types de conditions aux limites


Les conditions aux limites les plus simples servent principalement introduire des conditions de
symtrie, d'une part, et empcher les mouvements de solide rigide, d'autre part. Quand elles sont de
type degr de libert impos, on peut utiliser soit AFFE_CHAR_MECA, soit (pour optimiser le temps
calcul) AFFE_CHAR_CINE [U2.01.02] Notice d'utilisation des conditions aux limites traites par
limination.

Un conseil mthodologique : il est toujours prfrable d'appliquer les conditions aux limites sur des
groupes de mailles plutt que sur des groupes de nuds ou des listes de nuds ou de mailles. En
effet, les groupes de mailles correspondent des zones gomtriques, et sont conservs lors d'un
raffinement du maillage (manuel ou l'aide de Homard), alors que les groupes de nuds sont
modifis. C'est pourquoi dans AFFE_CHAR_MECA les mot-cls DDL_IMPO, FACE_IMPO,
LIAISON_UNIF, ainsi que tous les mots cls de AFFE_CHAR_CINE comportent le mot cl GROUP_MA,
privilgier donc.

Il est parfois ncessaire d'imposer des relations linaires entre degrs de libert. Les mots-cls
LIAISON_* de AFFE_CHAR_MECA permettent d'introduire ce type de relation. Les relations
lmentaires peuvent tre dfinies l'aide de LIAISON_DDL, mais cela devient fastidieux si les
quations crire sont nombreuses. Des fonctionnalits de plus haut niveau sont disponibles, par
exemple :
LIAISON_SOLIDE pour rigidifier une partie de la structure, (en petites dformations et petits
dplacements uniquement) [R3.03.02] Conditions de liaison de corps solide ;
LIAISON_UNIF pour assurer qu'une partie de la frontire gardera le mme dplacement
(inconnu a priori) ; [U4.44.01] AFFE_CHAR_MECA
LIAISON_MAIL, LIAISON_GROUP pour relier deux bords,
et d'autres mots cls spcifiques de AFFE_CHAR_MECA.

De plus il est possible de raccorder (au sens nergtique) des modlisations de natures diffrentes,
via LIAISON_ELEM et plusieurs options (en petites dformations et petits dplacements uniquement)
'2D_POU','3D_POU', poutres ou discrets avec lments 2D ou 3D [R3.03.03] Raccords
2D-poutre et 3D-poutre;
'COQ_TUYAU','3D_TUYAU', lments tuyau avec avec plaques et coques, 3D ;
'COQ_POU', poutres ou discrets avec plaques et coques [R3.03.06] Liaison coque-poutre.

Remarque : dans certains cas, les conditions aux limites ou les chargements de type dplacement
impos ne conviennent pas car ils apportent trop de rigidit locale. Il peut tre intressant de
remplacer ces conditions par une liaison entre la partie de la frontire concerne et un lment
discret, sur lequel seront appliques les conditions de dplacement imposs ou un torseur d'efforts
imposs. Cela signifie que les dplacements de la frontire seront gaux en moyenne au
dplacement de l'lment discret, sans introduire de contraintes parasites. Par contre, ce procd
introduit des degrs de libert supplmentaires (multiplicateurs de Lagrange), la rsolution des
systmes linaires peut donc tre plus coteuse.

Le contact unilatral, avec ou sans frottement, est un type de conditions aux limites particulier. Il est
fortement non linaire, et son traitement dans STAT_NON_LINE / DYNA_NON_LINE ncessite des
itrations supplmentaires pour obtenir la convergence. Il est fortement conseill de consulter le
document [U2.04.04 Notice d'utilisation du contact ] pour modliser correctement ces phnomnes.

2.4 Les conditions initiales


Dans AFFE_CHAR_MECA, il est possible de dfinir des chargements de dformations moyennes ou de
contraintes moyennes, globalement uniformes (mots cls PRE_EPSI, PRE_SIGM).

Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 7/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

Il ne faut pas confondre ces chargements et les dformations et contraintes initiales utilises en non
linaire, car ces quantits n'interviennent pas directement dans l'expression de la loi de
comportement, mais seulement au second membre.

Les champs de contraintes, dplacements et variables internes initiaux sont fournir directement
dans STAT_NON_LINE (mot cl ETAT_INIT). Pour construire ces champs, il peut tre utile de
consulter le document [U2.01.09] Dfinition analytique d'un champ de contraintes et d'un champ de
variables internes initiaux.

3 Matriaux et comportements

3.1 Choix de la loi de comportement


Le choix de la loi de comportement est bien sr fonction du matriau que l'on modlise, mais
galement des phnomnes traiter : par exemple, un mme acier sera lasto-plastique basse
temprature, et visco-plastique haute temprature. Les valeurs des paramtres de ces lois (dans
DEFI_MATERIAU ) sont souvent identifies dans une gamme de dformation, de vitesse, de
temprature bien spcifiques.

Pour les comportements lastoplastiques, voir [U2.04.03] Choix du comportement lasto-(visco)-


plastique
Pour les lois avec endommagement (cas du bton par exemple), voir [U2.05.06] Ralisation de
calculs d'endommagement en quasi- statique
Pour la mtallurgie, voir [U2.03.04] Notice dutilisation pour des calculs
thermomtallomcaniques sur des aciers
Pour les milieux poreux en THM, voir [U2.04.05] Notice d'utilisation du modle THM et [R7.01.11]
Modles de comportement THHM
Pour l'utilisation des lments CZM, voir [U2.05.07] Notice d'utilisation des modles de zones
cohsives

3.2 Mots-cls de COMPORTEMENT


3.2.1 DEFORMATION

Ce mot-cl permet de dfinir les hypothses utilises pour le calcul des dformations : par dfaut, on
considre de petits dplacements et petites dformations. Le type de dformation utilis peut avoir
une grande influence sur le calcul ds qu'une composante des dformations dpasse quelques %
(typiquement 5%).

PETIT : petites dformations, petits dplacements. Linarit de l'oprateur dformation.

GROT_GDEP : permet de traiter les grandes rotations et les grands dplacements, mais en restant
en petites dformations. Ceci est particulirement utile pour les structures lances (modlises
en poutres, coques, ou 3D) et l'tude du flambement (voir par exemple le test [V6.02.134]
SSNL134 - Ruine lasto-plastique du portique de Lee ).

En ce qui concerne les lois hyper-lastiques de type ELAS_VMIS , elles ne sont pas adaptes aux
grandes dformations (perte d' existence de la solution, voir le 2,1 de [R5.03.20] Relation de
comportement lastique non linaire en grands dplacements ). Il faut utiliser soit un modle de
grandes dformations avec VMIS_ISOT , soit le comportement ELAS_HYPER .

GDEF_LOG : modle de grandes dformations, utilisant une mesure de dformation


logarithmique, et qui permet d'utiliser des lois de comportement lastoplastiques crouissage
isotrope ou cinmatique (voir la liste des comportements dans [U4.51.11] Comportements non
linaires ). La relation contraintes-dformation tant hypo-lastique, cette formulation est limite
aux faibles dformations lastiques (mais grandes dformations plastiques).

Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 8/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

SIMO_MIEHE : modle de grandes dformations des lois de comportements s'appuyant sur un


critre de Von Mises crouissage isotrope, et tous les comportements crouissage isotrope
associs un matriau subissant des changements de phases mtallurgiques. La relation
contraintes-dformations lastique est hyper-lastique, ce qui permet de traiter les grandes
dformations lastiques (pour peu que cela ait un sens pour le matriau utilis).

d'autres formulations existent, voir [U4.51.11] .

3.2.2 ALGO_INTE , ITER_INTE_MAXI , RESI_INTE_RELA , ITER_INTE_PAS

Permet de prciser le type de schma d'intgration pour rsoudre l'quation ou le systme d'quations
non-linaires form par les quations constitutives des modles de comportement variables
internes. Une mthode de rsolution par dfaut est prvue pour chaque comportement. Toutefois, il
est possible de modifier la mthode de rsolution par dfaut pour un certain nombre de
comportements (voir [U4.51.11]).

Dans le cas d'une rsolution itrative (c'est dire si ALGO_INTE n'est pas ANALYTIQUE), les mots-
cls ITER_INTE_MAXI et RESI_INTE_RELA dfinissent le nombre maximum d'itrations et le rsidu
relatif pour intgrer le comportement. Si cette intgration choue, il est possible de subdiviser le pas
de temps, soit localement (mot-cl ITER_INTE_PAS) soit globalement (commande
DEFI_LIST_INST). La valeur par dfaut de ITER_INTE_MAXI est 20. Cela peut tre insuffisant pour
certains comportements (MONOCRISTAL par exemple). Ne pas hsiter dans ce cas augmenter ce
paramtre (100 par exemple). Par contre il est fortement dconseill d'augmenter RESI_INTE_RELA
( 106 par dfaut), sous peine d'obtenir des solutions non converges.

La subdivision locale du pas de temps est moyen d'amliorer la robustesse de l'intgration locale, par
contre elle ne permet pas de fournir une matrice tangente cohrente (perte de la convergence
quadratique du problme global).

3.2.3 POST_ITER='CRIT_RUPT'

Dfinition d'un critre de rupture en contrainte critique en post-traitement des itrations de Newton,
chaque pas de temps. Si la plus grande contrainte principale moyenne dans un lment dpasse un
seuil donn c , le module d'Young est divis au pas de temps suivant par un coefficient. Ces deux
coefficients sont dfinis sous le mot- cl CRIT_RUPT de l'oprateur DEFI_MATERIAU.

3.2.4 RESI_RADI_RELA

Mesure de l'erreur due la discrtisation en temps, directement relie la rotation de la normale la


surface de charge. On calcule l'angle entre la normale au critre de plasticit au dbut du pas de
temps et la normale au critre de plasticit calcule la fin du pas de temps. Le pas de temps est
dcoup (via DEFI_LIST_INST) si l'erreur est suprieure la tolrance dfinie par l'utilisateur.

Ce critre est oprationnel pour les comportements lastoplastiques de Von Mises crouissage
isotrope, cinmatique linaire et mixte et pour les comportements lasto-visco-plastiques de
Chaboche.

Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 9/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

4 Rsolution non-linaire
Les 3 grands types de non-linarits dans Code_Aster sont les suivants :
non-linarit lie au comportement du matriau (par exemple plastique) ;
non-linarit lie la gomtrie (par exemple en grands dplacements) ;
non-linarit lie au contact-frottant.

Les conseils gnraux de rsolution de problmes non-linaires font l'objet d'un document spcifique
dont on recommande fortement la lecture : [U2.04.01] Conseils d'utilisation de STAT_NON_LINE .

Avant tout calcul non-linaire, il est indispensable de s'assurer que le calcul fonctionne correctement
en lasticit linaire. Les non-linarits pourront alors tre ajoutes les unes aprs les autres.

On rappelle brivement les conseils majeurs sur la discrtisation temporelle et les paramtres
numriques de rsolution non-linaire dans les paragraphes suivants.

4.1 Non-linarit et discrtisation temporelle


La rsolution d'un problme non-linaire ncessite gnralement d'appliquer le chargement extrieur
progressivement, par incrment de charge. Ainsi le temps (ou pseudo-temps en quasi-statique) est
discrtis en pas de temps et chaque pas de temps correspond un incrment de charge ( voir 2.2).
Plus le pas de temps est petit, moins le problme est non-linaire donc plus facile rsoudre. Afin
d'autoriser le sous-dcoupage du pas de temps en cas d'chec de convergence, il est indispensable
d'utiliser la commande DEFI_LIST_INST (pour plus de dtails sur la gestion de la liste d'instants, voir
le paragraphe 3.1 du document [U2.04.01])

Pour vrifier la cohrence des donnes (systme d'units, conditions aux limites, caractristiques
lmentaires, effet des variables de commandes), il est toujours utile d'effectuer un premier calcul
lastique linaire (STAT_NON_LINE/RELATION='ELAS', ou MECA_STATIQUE), avant toute tude
non linaire, puis d'ajouter les non linarits les unes aprs les autres.

4.2 Paramtres numriques pour l'algorithme de rsolution non-linaire


Par dfaut, l'algorithme de rsolution non-linaire est bas sur la mthode de Newton-Raphson
(STAT_NON_LINE / METHODE='NEWTON').

Il est conseill d'utiliser une matrice tangente ractualise chaque itration de Newton :
REAC_ITER=1 afin de faciliter la convergence de l'algorithme (voir le paragraphe 2.2 du document
[U2.04.01]).

Il est fortement recommand de ne pas augmenter le critre de convergence de la mthode de


Newton (RESI_GLOB_RELA=106 par dfaut). D'autres critres de convergence sont galement
disponibles (voir le paragraphe 3.3 du document [U2.04.01]).

Remarques :
Pour des problmes adoucissants, Code_Aster offre la possibilit d'utiliser une mthode
alternative la mthode Newton-Raphson : c'est la mthode IMPLEX qui est une mthode
robuste mais approche (voir le paragraphe 4.5 du document [U2.04.01]).
Pour une optimisation du temps de calcul, Code_Aster offre la possibilit d'utiliser une
mthode de Newton inexacte ( condition que le solveur linaire choisi soit un solveur
itratif) : c'est la mthode NEWTON_KRYLOV.

Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 10/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

5 Gestion mmoire/temps et optimisation


Avant de parler d'optimisation, la premire question que l'on se pose est comment choisir les
paramtres d'excution dans Astk : mmoire totale et temps pour que le premier lancement du calcul
se termine correctement. Ensuite, une fois que le calcul sera pass une premire fois, il sera toujours
possible d'essayer de l'optimiser en fonction des informations que l'on aura rcupres du 1 er calcul.

5.1 Premire excution d'un calcul


La connaissance de la taille de la mmoire dont on dispose est ncessaire. La rponse dpend bien
entendu de la machine d'excution : serveur centralis, machine locale.... Sur une machine locale, il
est toujours possible d'autoriser la mmoire maximale disponible alors que sur le serveur centralis, il
peut tre opportun de ne pas demander trop de mmoire sous peine de devoir attendre que la classe
de job associe se libre.

Estimation de la mmoire ncessaire : en quasi-statique, la mmoire totale est gnralement


fonction de la taille du ou des systmes linaires rsoudre. Pour les lments finis iso-
paramtriques, il est assez facile d'estimer la taille globale de ces systmes. Le nombre de degrs de
libert peut tre estim par la relation : (nombre de nuds du maillage) x (dimension du problme (2
ou 3))
Cette relation ne prend pas en compte les ddls relatifs aux conditions aux limites dualises. Mais
gnralement, cette part est faible. Si les lments finis ne sont pas iso-paramtriques (formulations
mixtes par exemple), cette estimation est plus dlicate.

De toute manire, la taille des systmes linaires est affiche chaque rsolution dans le fichier
.mess : nombre total d'quations ou la matrice est de taille n quations. Il est
important de connatre ce nombre (bien qu' lui seul, il ne soit pas toujours un indicateur totalement
fiable, car la mmoire et le temps ncessaire la rsolution d'un systme linaire dpend de bien
d'autres paramtres : taille de la largeur de bande, nombre de termes non nuls dans la matrice,
renumroteur... mais cela nous emmnerait trop loin). Donc si on ne sait pas estimer la taille du
systme linaire, il est intressant de lancer une premire fois l'tude en mode dgrad : lecture
du maillage, affectation des lments-finis, du matriau et rsolution (MECA_STATIQUE ou
STAT_NON_LINE) avec le solveur direct MUMPS. Lancer l'tude simplifie en mode interactif avec
suivi interactif, puis arrter le calcul une fois l'information sur la taille du systme connue.

Dans l'idal1, il faut disposer d'environ 30 Go pour faire passer un calcul un million de degrs de
libert (cas du cube maill en HEXA8, dont une face est encastre par dualisation), la mmoire
minimale 2 tant 9 Go. Le tableau ci-dessous donne des ordres de grandeur de la mmoire idale
(ou optimale) et minimale pour rsoudre un systme de taille donne (avec le solveur direct MUMPS).

Nombre de Mmoire minimale Mmoire idale


degrs de libert
200000 1 Go 4 Go
400000 2,5 Go 9 Go
600000 4 Go 15 Go
800000 6 Go 23 Go
1000000 9 Go 31 Go

Une fois la mmoire ncessaire estime, on peut lancer le calcul complet avec le solveur direct
MUMPS. A la suite de ce 1er calcul, il est trs intressant de regarder :

1 Idal voulant dire ici gestion de mmoire IN_CORE


2 Minimale voulant dire ici pour une gestion OUT_OF_CORE
Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 11/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

Dans le fichier .mess la mmoire totale (JEVEUX + python + librairies externes) utilise par
le calcul : cette information est affiche la fin du fichier : voir MAXIMUM DE MEMOIRE
UTILISEE PAR LE PROCESSUS ;
Dans le fichier .resu : le temps de rsolution (MECA_STATIQUE / STAT_NON_LINE) par
rapport au temps total du calcul.
5.2 Optimisation d'un calcul
L'optimisation d'un calcul sur les aspects temps et mmoire est une opration intressante mais un
peu dlicate car il n'existe pas de recette miracle. D'ailleurs il n'est pas toujours facile de faire la
distinction entre optimisation de la mmoire et optimisation du temps de calcul, donc dans les
paragraphes suivants, on donne des pistes d'optimisation au sens large et on renvoie vers les
documents adquats.

Le paralllisme
L'utilisation du paralllisme est certainement la solution la plus facile et la plus sre pour diminuer le
temps de calcul (et parfois aussi la mmoire ncessaire). Le paralllisme consiste excuter des
oprations sur plusieurs processeurs en mme temps. La mise en place du paralllisme n'est efficace
que si le temps pass dans STAT_NON_LINE est prpondrant par rapport au temps total du calcul.
Pour cela, il suffit de choisir un solveur adquat (exemple : MUMPS, PETSC), une version MPI de
Code_Aster et de spcifier le nombre de processeurs dans Astk (menu Options/mpi_nbcpu). Sur
le serveur centralis aster4, on conseille de commencer par choisir mpi_nbcpu=2, d'observer le
gain en temps puis de recommencer avec mpi_nbcpu=4, puis ventuellement mpi_nbcpu=8. Il est
possible de choisir mpi_nbcpu=16 mais on risque d'attendre longtemps avant que tous ces
processeurs soient disponibles, donc avant que le calcul ne dmarre (tout dpend de la charge
machine !).
De nombreux conseils sur le paralllisme sont donns dans le document [U2.08.06] Notice
d'utilisation du paralllisme . Des informations plus fines sur les temps passs dans chaque partie de
la rsolution sont galement affiches, et peuvent servir mieux paramtrer le calcul (temps,
mmoire, nombre de processeurs...). On renvoie pour cela la documentation [U1.03.03]
Indicateurs de performance d'un calcul (temps/mmoire) .

Le solveur linaire
Suivant la taille de la matrice, l'utilisation d'un solveur itratif (comme PETSC) la place d'un solveur
direct permettra un gain en temps. titre d'information, on considre qu'un solveur itratif est plus
rapide qu'un solveur direct (par dfaut) partir d'environ 200 000 quations en 3d. Mais cela dpend
du type de structure3. La contre-partie de l'utilisation d'un solveur itratif est une robustesse non
garantie. Il est noter que l'utilisation de PETSC ncessite une version MPI de Code_Aster (mme si
on n'utilise qu'un seul processeur). A partir d'une certaine taille de problme (quelques millions de
ddls), l'utilisation d'un solveur direct devient impossible et il est indispensable d'utiliser un solveur
itratif.
En cas d'chec de la rsolution par un solveur itratif, les leviers d'actions sont le choix d'un autre
prconditionneur (prconditionneur direct simple prcision par dfaut LDLT_SP, prconditionneur
incomplet LDLT_INC, ), le choix d'un autre algorithme itratif (GMRES par dfaut, CG, CR, ).
De nombreux conseils sur le choix du solveur sont donns dans [U2.08.03] Notice d'utilisation des
solveurs linaires .

La gestion de la base globale


En cas de dpassement de la mmoire limite, on peut jouer sur l'archivage des rsultats. L'archivage
(mot-cl facteur ARCHIVAGE de STAT_NON_LINE ) permet de rduire sensiblement la taille des bases
en slectionnant les instants sauvegards. Par dfaut, tout est archiv (mme les instants issus du
sous-dcoupage du pas de temps). Dans la phase de mise en place d'une tude, cela peut s'avrer
utile, mais trop couteux en mmoire. L'observation et le suivi de certaines grandeurs peut rpondre de
manire efficace au besoin d'archivage (voir 3.4 de [U2.04.01] Conseils d'utilisation de
STAT_NON_LINE ). Une fois l'tude mise en place, on peut restreindre l'archivage un nombre
limit de pas de temps (instants de post-traitement par exemple).
Pour rduire l'encombrement de la structure de donnes resultat, il est possible de choisir a
posteriori les champs archiver soit en indiquant les champs conserver, soit en indiquant les

3 Un cube est pnalisant pour le solveur direct, alors qu'une structure mince ou lance donne un avantage au solveur direct
Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 12/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

champs exclure (commande EXTR_RESU). L'extraction peut aussi se faire sur une partie du maillage
ou du modle. La commande DETRUIRE peut aussi tre utilise pour dtruire un concept. Suite ces
oprations d'extraction ou de suppression, il faut spcifier RETASSAGE='OUI' dans la commande
FIN afin de rcuprer effectivement l'espace disque associe la base globale.

Pour rduire la taille des fichiers rsultat au format MED (.rmed) : utiliser IMPR_RESU/RESTREINT.
Dans un objectif d'une poursuite, on peut dans certains cas remplacer la base par l'impression de
champs MED. La poursuite dbutera alors par les commandes DEBUT puis LIRE_RESU.

Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 13/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

6 Contrle de la qualit
De faon gnrale, la qualit globale dune tude dpend de plusieurs facteurs. Parmi les causes qui
peuvent altrer la qualit d'une tude, on peut distinguer en particulier :
les incertitudes sur les donnes,
les choix de modlisation (passage de la physique au numrique),
les erreurs de discrtisation, une fois les donnes tablies et la modlisation choisies.

6.1 Incertitudes sur les donnes


Sur ce point les incertitudes peuvent tre multiples car elles peuvent concerner chacun des aspects
suivants.

Les donnes matriau : une fois la loi de comportement choisie, et ses paramtres correctement
identifis sur des essais de caractrisation appropris, il peut subsister une incertitude sur les
valeurs des paramtres de cette loi, due la variabilit des matriaux.
La gomtrie exacte de la structure modliser peut comporter des incertitudes : les dimensions
relles ne sont pas celles prvues la conception, ou bien la dgradation de la forme d'un pice
conduit une gomtrie mal matrise (en dehors de tout aspect de discrtisation).
Les chargements (y compris thermiques ou dus d'autres variables de commandes : irradiation,
hydratation, schage, etc..) et les conditions aux limites peuvent prsenter de nombreuses
incertitudes.
Les conditions initiales, en particulier celles dues fabrication (contraintes rsiduelles,
crouissage initial).

Pour chacun des paramtres incertains voqus ci-dessus, il sera parfois ncessaire d'effectuer une
analyse de sensibilit :

soit l'utilisateur effectue quelques simulations pour des valeurs extrmes des paramtres
incertains, ce qui suffit dans le cas d'une variation monotone du rsultat ces paramtres (mais
ce n'est pas toujours le cas : par exemple la dpendance des contraintes aux valeurs extrmes
de temprature, avec des coefficients matriau qui en sont fonction, c'est pas triviale.)
Signalons ce propos la possibilit d'effectuer trs simplement des calculs paramtriques avec
Code_Aster (cf. [U2.08.07] Distribution de calculs paramtriques)
soit dans le cas de paramtres hautement variables, il effectue une analyse mcanofiabiliste,
avec OpenTurns (http://www.openturns.org) coupl Code_Aster, dans la plate-forme Salome-
Meca [SV1.04.01] Gestionnaire d'tude chane Openturns/Aster).

6.2 Choix de modlisation et vrification des donnes


Mme si les donnes sont fiables, la qualit des rsultats dpend aussi de choix effectus par
l'utilisateur relatifs la simulation effectuer. Les paragraphes prcdent dcrivent ces choix.
Rappelons quelques conseils gnraux :

Au del du maillage, il peut tre utile de vrifier les donnes du calcul, comme par exemple,
visualiser les conditions aux limites et chargements (sens et lieu d'application), les affectations
des matriaux, et des caractristiques lmentaires (orientation des poutres, paisseurs,
sections). Pour cela, utiliser IMPR_RESU/CONCEPT.

D'autres vrifications peuvent tre effectues directement dans le fichier de commandes ; par
exemple, vrifier la cohrence du systme d'units, les conditions aux limites, les caractristiques
lmentaires, il est toujours utile d'effectuer un premier calcul lastique, avant toute tude non
linaire.

Pour vrifier les donnes matriau, il peut tre utile d'effectuer avec la mise en donnes de
Code_Aster un essai plus simple que l'tude, par exemple sur point matriel (SIMU_POINT_MAT).
Retrouve-t-on la courbe de traction-compression ?
Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 14/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

Le calcul de la masse (ou du volume) de la structure fait galement partie des vrifications
simples mais parfois utiles.

6.3 Matriser les erreurs dues la discrtisation spatiale


Sur ce point, nous rappelons ici quelques gnralits, mais la lecture de [U2.08.01] Utilisation des
indicateurs derreur et stratgies dadaptation de maillages associes est plus que conseille.

Indpendamment de tout dsir de raliser de ladaptation de maillage, nous conseillons de vrifier le


maillage initial avec la commande MACR_INFO_MAIL [U7.03.02] Macro-commande
MACR_INFO_MAIL. Cette commande permet de raliser, peu de frais, les vrifications suivantes :
vrifier la concordance du maillage avec la gomtrie initiale (en dimension, en volume) ;
lister les GROUP_MA et GROUP_NO, pour une bonne modlisation des conditions aux limites ;
diagnostiquer dventuels problmes (connexit, trous, interpntration de mailles) ;
fournir des critres de qualit des mailles (valus maille par maille).

Pour matriser plus facilement l'effet de la qualit du maillage, une stratgie automatique d'adaptation
de maillage est oprationnelle : elle s'appuie sur le logiciel d'adaptation de maillage Homard, qui peut
tre appel directement depuis le fichier de commandes de Code_Aster ou dans la plate-forme
Salome-Meca, et utilise soit des indicateurs d'erreur permettant de piloter l'adaptation, soit les valeurs
d'un champ, soit le saut dun champ dun lment lautre. Plusieurs motivations apparaissent pour
adapter un maillage :

Le maillage est trs compliqu raliser : on part dune version simple et on confie un
processus automatique la charge de laffiner.
On veut sassurer de la convergence de la solution numrique : plutt que de raliser la main
des maillages de plus en plus fins, on laisse le logiciel chercher lui-mme les endroits o il
faudrait affiner le maillage pour augmenter la prcision du rsultat.
Les conditions du calcul changent au cours de son droulement : les zones qui doivent tre
mailles finement se dplacent. Si on maille fin partout ds le dbut, le maillage est trop gros. En
adaptant au fur et mesure, (raffinement - draffinement) le maillage ne sera fin quaux endroits
ncessaires : sa taille sera rduite et la qualit de la solution sera bonne.

Les zones raffiner peuvent tre repres :

Soit avec un indicateur derreur. Notons que les plus simples (ZZ1, de type Zhu-Zienkiewicz) sont
trs robustes, disponibles en 2D et 3D, et mme s'ils ne fournissent pas les meilleurs majorants
de l'erreur, leurs variations suffisent piloter l'adaptation. Les estimateurs en quantit d'intrt
sont plus pertinents pour fournir une borne de l'erreur commise.
Soit avec un champ (dformation, variable interne) pertinent. Attention, en plasticit, la contrainte
de Von Mises ne l'est pas toujours. On peut utiliser :
soit les valeurs extrmes de ce champ (par exemple demander de raffiner les 5% d'lments
qui ont la valeurs la plus forte),
soit piloter l'adaptation par le saut des valeurs de ce champ la frontire entre deux
lements finis.
Soit par des botes (raffinement uniforme dans des zones gomtriques).

Pour plus d'information, voir [U2.08.01] Utilisation des indicateurs derreur et stratgies dadaptation
de maillages associes

6.4 Erreurs de discrtisation en temps


Pour la plupart des non linarits (comportement, contact, grandes dformations) la discrtisation
temporelle influence le rsultat. Des rsultats de convergence existent (fort heureusement) dans tous
les cas classiques (lasto-visco-plasticit, contact) , mais il reste nanmoins s'assurer que pour un
pas de temps choisi la solution est suffisamment proche de la solution continue en temps.

Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)


Version
Code_Aster default
Titre : Conseils de mise en uvre de calculs non-linaires Date : 25/02/2014 Page : 15/15
Responsable : GNIAUT Samuel Cl : U2.04.02 Rvision :
112317bb069c

La solution la plus simple est similaire au raffinement uniforme pour l'adaptation de maillage : elle
consiste raffiner uniformment le pas de temps sur tout le transitoire et relancer STAT_NON_LINE.
Ceci peut tre automatis grce une fonctionnalit de DEFI_LIST_INST (voir [U2.04.01] et
[U4.34.03]).

Un autre critre de matrise du pas de temps est la subdivision en fonction d'une grandeur d'intrt :
DEFI_LIST_INST / DELTA_GRANDEUR permet en effet de redcouper le pas de temps si la
variation maximum d'une quantit donne (par exemple une composante de dformation plastique)
est suprieure un seuil fourni.

De plus, pour les comportements lastoplastiques, il est possible d'estimer directement l'erreur due
la discrtisation en temps, de faon analogue RESI_RADI_RELA (cf.3.2.4). Si ce critre n'a pas t
pris en compte lors du calcul, il est possible de le calculer en post-traitement, dans CALC_CHAMP : la
composante ERR_RADI de l'option DERA_ELGA contient l'estimation d'erreur chaque instant et en
chaque point d'intgration.

7 Rfrences
[1] Mcanique des structures , p.658, F.Voldoire ; Y.Bamberger, Presses de l'ENPC 2008.

Manuel d'utilisation Fascicule u2.04: Mcanique non linaire

Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Vous aimerez peut-être aussi