6. Application
6.1. Exemple : statique1.dgibi
6.1.1. Description
On propose de résoudre l'équilibre d'une poutre en flexion simple soumise à son poids propre. Une de ses extrémités est donc encastrée ; l'autre est soumise à un effort tranchant \(\vec{F}\). Sous l'effet de la pesanteur, elle est également soumise à une densité volumique de force \(\vec{f}=\rho\vec{g}\). Le problème mécanique ainsi posé est illustré par la figure ci-dessous.
Le comportement mécanique de la poutre est élasto-plastique parfait. Ses caractéristiques mécaniques et ses dimensions sont données dans les tables ci-dessous. Son épaisseur étant fournie (dimension normale au plan de la figure ci-dessus), ce problème sera modélisé en trois dimensions.
Module de Young (GPa) |
Coefficient de Poisson |
Limite élastique (MPa) |
Masse volumique (kg.m-3) |
40 |
0,2 |
25 |
2000 |
Longueur (m) |
Hauteur (m) |
Épaisseur (m) |
15 |
0,6 |
0,3 |
6.1.2. Mise en données
La mise en données de ce problème est fournie en annexe. Ce jeu de données est également disponible sur le site Cast3M.
Pour résoudre l'équilibre, on a programmé le précédent algorithme de minisation du résidu. La programmation en Gibiane de la boucle de résolution de l'équilibre est présentée dans le code ci-dessous.
Le problème est résolu en un pas de calcul. Les conditions initiales
étant nulles, l'expression du premier résidu se limite à :
\(R_1 = F_1^V + F_1^S\) (variable R1
, ligne 5).
On initialise également le champ de déplacement solution par un champ nul (variable U1
, ligne 6).
La valeur de l'effort de référence \(F^{ref}\) est fixée à la première itération de
la boucle de résolution (variable Fref1
, ligne 20).
La précision \(\zeta\) est définie en tête du jeu de donnée et vaut 10-4
(variable zprec1
, ligne 25).
Extrait du script Cast3M statique1.dgibi : algorithme de minimisation du résidu
1*** Resolution iterative par Minimisation du Residu ***
2* On resout de facon iterative le champ de deplacement solution
3* en controlant le critere sur l'equilibre des efforts.
4* En dessous d'une valeur cible (zprec1), on sort :
5R1 = Fv1 + Fs1 ;
6U1 = manu chpo V1 3 ux 0. uy 0. uz 0. ;
7lsm1 = extr mo1 contraintes ;
8repe b1 20 ;
9 dDu1 = reso Kel1 R1 ;
10 U1 = U1 + dDu1 ;
11 Fr1 = reac A1 U1 ;
12 eps1 = epsi line mo1 U1 ;
13 comp1 = comp mo1 (eps1*0.) (eps1 et ma1) ;
14 sig1 = exco comp1 lsm1 lsm1 ;
15 bsg1 = bsig mo1 sig1 ;
16 R1 = Fv1 + Fs1 + Fr1 - bsg1 ;
17 si (&b1 ega 1) ;
18 opti echo 0 ;
19 mess ' Ite. Critere Forces Epse' ;
20 Fref1 = maxi abs (Fv1 + Fs1 + Fr1) ;
21 fins ;
22 zcr1 = (maxi abs R1) / Fref1 ;
23 epse1 = exco comp1 epse epse ;
24 mess &B1 ' ' zcr1 ' ' (maxi epse1) ;
25 si (zcr1 < zprec1) ;
26 mess ' > Convergence a l iteration ' &B1 ;
27 opti echo 1 ;
28 quit b1 ;
29 fins ;
30fin b1 ;
6.1.3. Exécution
Les lignes ci-dessous présentent les messages
affichés par le jeu de données au cours de la résolution de
l'équilibre. Ces affichages indiquent que l'équilibre est atteint en
10 itérations. En plus de la valeur du critère sur le résidu Critère Forces
,
le jeu de données affiche également la valeur de la déformation plastique cumulée Epse
.
Pour illustrer le résultat du calcul, les figures suivantes présentent les isovaleurs de la contrainte \(\sigma_{xx}\) et de la déformation plastique cumulée \(\varepsilon^p_{eq}\) obtenues à l'équilibre, affichées sur le maillage déformé avec un facteur d'amplification de 20.