4. nis . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Les problemes de couplage diusion-contraintes avec plasticite parfaite . . . . 5
2 Le memoire du stage 6
2.1 Des cas non couples de diusion et contraintes . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Evolution de la chaleur dans un anneau . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Compression d'une plaque rectangulaire plane sans plasticite . . . . . . . . . 6
2.1.3 Compression d'une plaque rectangulaire plane avec visco-plasticite . . . . . . 7
2.1.4 Compression d'une plaque rectangulaire plane avec plasticite parfaite . . . . 9
2.2 Probleme couple de diusion et contraintes en 2d . . . . . . . . . . . . . . . . . . . . 10
2.3 Les cas 3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.1 Compression des 2 bords d'une piece medicinale sans plasticite . . . . . . . . 12
2.3.2 Compression d'une barre a section rectangulaire avec plasticite parfaite . . . 13
2.3.3 Utilisation de gmsh pour generer les maillages surfaciques 2d et 3d pour
FreeFem++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Conclusions 16
Annexes 16
A Annexe 17
A.1 Methode de Jacobi pour calculer les valeurs propres d'une matrice symetrique . . . . 17
Bibliographie 19
2
5. Introduction generale
Ce rapport a ete realise dans le cadre d'un stage de 2 mois au laboratoire Navier de l'Ecole
des Ponts et Chaussees. Sous la direction de Michael Peigney, de l'equipe Materiaux et Structures
Architectures (MSA), on s'est donne les objectifs principaux :
{ Elaborer un script FreeFem++ ou la temperature et les contraintes interagissent l'une avec
les autres. C'est-a-dire resoudre un probleme plan (2d) thermo-plastique (avec plasticite par-
faite).
{ Elaborer un script Freefem++ pour le probleme de la plasticite parfaite en 3d.
{ Creer une geometrie un peu complexe en 3d avec gmsh pour resoudre un probleme de con-
trainte sans plasticite dessus
On s'est essentiellement focaliser sur ces 3 problemes. On y est alle progressivement en traitant
en premier lieu des problemes 2d non couples.
De m^eme, pour la 3d, on s'est attache a faire le cas de contraintes sans plasticite avant d'aborder
la plasticite. Pour la 3d, on a mis en place un certaine nombre de geometrie de reference. (un
parallepipede, un cylindre creux, une sphere creuse) avant d'aborder une geometrie speci
6. que au
domaine medical.
Le probleme couple est le point original du travail. Il est tire de l'article de recherche [6].
3
7. Chapitre 1
Presentation du stage
1.1 Presentation du contexte du stage
1.1.1 Laboratoire Navier
Unite mixte de recherche commune a l'Ecole des Ponts ParisTech, a l'Institut Francais des
Sciences et Technologies des Transports, de l'Amenagement et des Reseaux (IFSTTAR) et au
CNRS (UMR 8205), le Laboratoire Navier reunit sur le site de la Cite Descartes (Marne la Vallee)
a l'est de Paris cent soixante dix personnes dont une cinquantaine de chercheurs. Les recherches
menees concernent la mecanique et la physique des materiaux et des structures, les geomateriaux
et leurs applications a la geotechnique, au genie civil, a la geophysique et a l'exploitation petroliere.
Les enjeux societaux concernent la construction durable, les risques naturels, l'environnement et
l'energie. En 2012, 18 theses du laboratoire Navier ont ete soutenues.
1.1.2 Presentation de l'encadrant
Mon directeur de stage, Monsieur Michael Peigney, est un chercheur du laboratoire Navier.
Il travaille en particulier sur les themes suivant :
{ Transformation de phase martensitique, alliages a memoire de forme
{ Systemes mecaniques non lineaires (plasticite, usure, contact)
Selection de publications :
{ Peigney M., Seguin J.P., An incremental variational approach to coupled thermo-mechanical
problems in anelastic solids. Application to shape-memory alloys, Int. J. Solids Struct., 50,
p.4043 ?4054, 2013.
{ Peigney M., Siegert D., Piezoelectric energy harvesting from trac-induced bridge vibrations,
Smart Mater. Struct. 22 (2013) 095019.
{ Peigney M., On the energy-minimizing strains in martensitic microstructures ?Part 1 : Geo-
metrically nonlinear theory, J. Mech. Phys. Solids, 61, p.1489-1510 , 2013.
4
8. 1.1.3 Horaires et organisation du travail
Le point original du stage consiste a develloper un code FreeFem++ pour un probleme couple
diusion et contraintes. Les horaires de travail sont de 9 h a 17 h du lundi au vendredi (1 heure de
pause repas).
Le stage a pour but essentiel de devellopper un script FreeFem++ (elements
9. nis) pour resoudre
un probleme de couplage diusion-contraintes Chaque semaine au cours du stage, j j'ai discute avec
Monsieur Micheal Peigney au moins 2 fois. Il m'a demande une certaine autonomie, mais il m'a
donne beaucoup de documents et d'indications.
1.2 Presentation technique
1.2.1 La methode des elements
11. nis est une methode d'approximation n umerique des equation aux
derivees partielles. Elle est tres ecace. Elle demande en premier lieu la creation d'un maillage
2d ou 3d. Elle passe ensuite par l'assemblage d'un systeme lineaire. Celui-ci est ensuite resolu au
moyen de dierents methodes. On peut notamment utiliser la methode du gradient conjugue.
1.2.2 Les problemes de couplage diusion-contraintes avec plasticite parfaite
Les problemes avec plasticite sont caracterises par un seuil de plasticite. Ce seuil du niveau
des contraintes permet de determiner le moment a partir duquel le materiaux plasti
12. e. Une fois la
plasticite atteinte, le materiaux ne recuperera plus sa forme initiale lors que le chargement se sera
arrete.
Un couplage correspond a 2 phenomenes dierents qui interagissent. On se place sur une plaque
rectangulaire plane Le premier phenomene considere ici ccorrespond a un phenomene de diusion.
Son comportement est regit par l'equation de la chaleur. Le deuxieme phenomene correspond a une
contrainte physique exerce sur la plaque. Son comportement est regit par une equation de Lame ou
l'on a rajoute la plasticite.
5
13. Chapitre 2
Le memoire du stage
2.1 Des cas non couples de diusion et contraintes
2.1.1 Evolution de la chaleur dans un anneau
Il s'agit du script thermic.edp. On resoud l'equation de la chaleur pour
un anneau forme de
2 cercles de rayon 1
2 et 1 sur l'interval de temps [0; T]. L'equation locale s'ecrit :
8
:
@tu ku = 0 sur
[0; T]
u = 1 sur @1
@u
= 0 sur @2
@n
ou @1
correspond au cercle de rayon 1
2 et @2
correspond au cercle de rayon 1.
On pose Vh = fv 2 H1(
) jv = 1 sur @1
g. La formulation faible sur Vh s'ecrit :
Z
un+1v
t
ds + k
Z
run+1rvds =
Z
unv
t
ds +
Z
@1
@un+1
@n
dl
Pour valider le code, on voit que u = 1 est solution de l'equation de la chaleur dans ce cas
2.1.2 Compression d'une plaque rectangulaire plane sans plasticite
Il s'agit du script lame.edp. On resoud l'equation de Lame pour
le rectangle [0; 10] [0; 2]
Les equations locales s'ecrivent :
8 :
div() = 0 sur
= trace()1l+ 2 sur
= 1
2 (ru + (ru)t) sur
ux = 0 sur @1
ux = 0; 2 sur @3
uy = 0 sur @
avec @1
le bord gauche du rectangle et @3
le bord droit du rectangle. La formulation faible
s'ecrit : Z
D : ds
Z
@3
t:v dl = 0
6
14. ou Dij = 1
2 (vi;j + vj;i) et t = :n est le vecteur contrainte (donnee). On peut voir [3] page 84 pour
la preuve de ce resultat, connu sous le nom de theoreme des travaux virtuels.
Pour valider le script, On remarque qu'un champs cinematiquement admissible est ux = 0:2
10 x
et uy = 0 sur
.
2.1.3 Compression d'une plaque rectangulaire plane avec visco-plasticite
Il s'agit des script plasticity_explicite.edp et plasticity_implicite.edp. Pour respecter
le cadre des petites deformations, on a fait en sorte que la plaque se deforme de moins de 1%. Pour
ce faire, on a du
15. xe un seuil de plasticite y tres bas. (y = 0:001) On resoud le probleme de
plasticite pour
le rectangle [0; 10] [0; 2] Les equations locales s'ecrivent :
8
:
div() = 0 sur
= trace(
p
)1l+ 2(
p
) sur
2 (ru + (ru)t) sur
= 1
_ p = C 1
2
p
s : s y +
s
jjsjj
ux = 0sur @1
ux = 0:01 sin(t) sur @3
ou @1
est le bord gauche du rectangle, @3
est le bord droit du rectangle et x += 0 si x = 0
et x += x si x 0
La formulation variationnelle s'ecrit :
Z
: Ddx
Z
@1
t:vdx = 0
avec D
ij = 1
2 (vi;j + vj;i). et t = :n est le vecteur contrainte (donnee).
L'algorithme s'ecrit :
1. s = 1
3 trace()
2. Si jjsjj 2y, alors p
n+1 = p
n
3. Si jjsjj 2y, alors p
n+1 = p
n + tC 1
2
p
s : s y +
s
jjsjj
ou p
old est egale au p a l'instant precedent.
Dans le cas de l'utilisation de Euler explicite d'ordre 1, on ne repete l'algorithme qu'une seule
fois par pas de temps. Dans le cas de l'utilisation de Euler implicite d'ordre 1, on repete l'algorithme
jusqu'a une rerreur relative de 1% ou de 20 iterations. On ne peut pas former de systeme lineaire
dans ces 2 cas car il s'agit d'une equation non lineaire. Pour les tests numeriques, on a pris T = 3:14
et t = T
50 .
7
16. explicite implicite
Figure 2.1 { Evolution de en fonction de au point (0,0) au cours d'un chargement croissant
de 0 puis decroissant a 0. Le plateau correspond a la phase de plasti
18. e. Il n'est pas revenu a son etat initial. A gauche, pour le
schema d'Euler explicite. A droite, pour le schema implicite. Le schema d'Euler explicite ne semble
pas ^etre qualitativement correct. Le schema d'Euler implicite est un peu douteux aussi.
On voit aussi que la vitesse a laquelle est appliquee le chargement in
uence la reponse du
materiaux.
Figure 2.2 { A gauche, la vitesse du chargement impose. A droite, la deformation plastique du
materiaux en (0; 0). On remarque que le materiaux plasti
19. e moins quand le chargement est eectue
plus rapidement.
Ce n'est pas le cas en plastite parfaite. En eet :
8
20. Figure 2.3 { A gauche, la vitesse du chargement impose. A droite, la deformation plastique du
materiaux en (0; 0). La vitesse du chargement n'a pas d'in
uence sur la deformation plastique.
2.1.4 Compression d'une plaque rectangulaire plane avec plasticite parfaite
Il s'agit du script plasticity_implicite_parfaite.edp. Pour respecter le cadre des petites
deformations, on a fait en sorte que la plaque se deforme de moins de 1%. Pour ce faire, on a du
21. xe un seuil de plasticite y tres bas. (y = 0:001) On resoud le probleme de plasticite sur
un
rectangle [0; 10] [0; 2]. Ce rectangle est assimile a une barre rectangulaire.
Les equations locales s'ecrivent :
8
:
div() = 0 sur
= trace(
p
)1l+ 2(
p
) sur
2 (ru + (ru)t) sur
= 1
ux = 0 sur @1
ux = 0:01 sin(t) sur @3
ou @1
est le bord gauche du rectangle, @3
est le bord droit du rectangle.
La formulation faible s'ecrit :
Z
: Dds
Z
@1
t:vdl = 0
avec Dij = 1
2 (vi;j + vj;i) et t = :n est le vecteur contrainte (donnee).
L'algorithme tire de [7] page 129 est :
1. s = 2( ( 1
3 ) p
old)
2. Si jjsjj
q
2
3c, alors p
n+1 = p
n
3. Si jjsjj
q
2
3 , alors p
n+1 = p
n + (1
q
2
3c
jjsjj )
ou p
old est egale au p a l'instant precedent.
Le temps represente ici en fait plutot les etats successifs de chargement plutot que d'une vraie
dependance temporelle. On retrouve un resultat classique de dependance entre et . C'est le meme
diagramme que celui du modele patin-ressort en 1d. (voir [7] page 56)
9
22. Figure 2.4 { Evolution de en fonction de au point (0,0) au cours d'un chargement croissant
de 0 puis decroissant a 0. Le plateau correspond a la phase de plasti
24. e. Il n'est pas revenu a son etat initial.
On voit aussi que le trajet de chargement in
uence la reponse du materiaux.
Figure 2.5 { A gauche, le trajet de chargement appliques au bord droit de la plaque pour t t
en rouge et t t4 en vert. On remarque que le m^eme deplacement
25. nal ux = 1 est atteint. A
droite, la valeur de 11 au point (0; 0) en fonction du temps. Le materiaux reagit plus pour le trajet
de charge uniforme que pour un trajet de charge commencant plus lentement et rattrapant apres
2.2 Probleme couple de diusion et contraintes en 2d
Il s'agit du script couplage.edp. Les equations locales s'ecrivent :
(
@u
@t
div(k(ru + rtrace ))) = 0
k(ru:n + rtrace ) = 10 sin(t)
10
26. pour l'equation de la chaleur et
8
:
div() = 0 sur
= trace(
p
)1l+ 2( p) + (u u0)1l sur
2 (ru + (ru)t)
= 1
pour le probleme de plasticite parfaite.
On note que +krtrace et (u u0)1l correspondent aux termes couples
On pose Vh = fv 2 H1(
)g. La formulation faible sur Vh s'ecrit :
Z
un+1v
t
dx + k
Z
run+1rvdx + k
Z
rtrace()rvdx =
Z
unv
t
dx +
Z
@1
@un+1
@n
dx +
Z
@2
27. vdx
Pour le probleme de plasticite parfaite, la formulation faible s'ecrit
Z
: Ddx
Z
@1
t:vdx = 0
avec D
ij = 1
2 (vi;j + vj;i). et t = :n est le vecteur contrainte (donnee).
On resoud en premier l'equation de la chaleur. Puis on resoud la plasticite parfaite par le shema
d'Euler implicite. En
28. n on repete ces 2 operations. On s'arrete quand l'erreur relative entre u
solution de l'equation de la chaleur et uold la solution a l'iteration precedente est inferieure a 1%
ou quand on a itere 20 fois.
11
30. gures du haut correspondent au cas ou l'on a retire tous les termes de couplage.
On remarque que 11 est bien nul car on n'impose pas d'eort sur les frontieres de la plaque. Les
2
31. gures du centre correspondent a un couplage sans plasticite. (y = 10000) Les 2
32. gures du bas
a un couplage avec plasticite. (y = 0:1). Les variations qualitatives de ces resultats nous laissent
penser que le script couplage.edp semble bien fonctionner.
2.3 Les cas 3d
2.3.1 Compression des 2 bords d'une piece medicinale sans plasticite
Voir le script lame3d.edp.
La piece en question est tiree de l'article de recherche [1].
12
33. Figure 2.7 { Etat initial et deforme d'une piece medicale sous l'eet d'une compression sans
plasticite sur les 2 bords rectangulaires opposes.
Critere de
Mises
Critere de
Tresca
j1j j1j
Point ou max-
imum atteint
(2.21523,
-1.48009,
0.361604)
(0; 0:5; 0) (3; 2:5; 0:25) (0; 0:5; 0)
Maximum 0.137673 0 0.0217458 0
Figure 2.8 { Dierents critere de rupture pour la piece 3d. On a utilise la methode de Jacobi en
annexe pour le calcul des valeurs propres.
2.3.2 Compression d'une barre a section rectangulaire avec plasticite parfaite
Voir le script plasticty3d.edp.
13
34. Figure 2.9 { (int2d(Th,1)(uz), int2d(Th,1)(sg33)) en fonction du temps. Les resultats sont sus-
picieux. On dirait qu'il n'y a pas eu plasticite. On a remarque que l'operateur d'interpolation
donnait des resultats incoherants. (11(0:5; 0:5; 0:5) = 0)
2.3.3 Utilisation de gmsh pour generer les maillages surfaciques 2d et 3d pour
FreeFem++
Pour les maillages 2d, l'interfacage entre FreeFem++ et gmsh ne fonctionne pas bien. Il vaut
mieux utiliser les commandes de generation de maillage integre a FreeFem++. En eet, on perd la
numerotation des bords. Du coup, on ne peut plus imposer les conditions aux limites voulues
On a construit 3 geometries dierentes :
{ Un cylindre creux (voir cylindre.geo)
{ Une sphere creuse (voir sphere.geo)
{ Un parallepipede (voir paralleppede.geo)
{ Une geomerie particuliere au domaine medicale (voir medecine2.geo)
La signi
36. chier .geo est decrite ici :
{ Point(1) = {0,0,0,0.5}; construit le point (0; 0; 0).
{ Circle(1) = {2,1,3}; construit l'arc de cercle ou le point numero 1 est le centre du cercle,
le point numero 2 est le premier point de l'arc de cercle et le numero 3 est le dernier point
de l'arc de cercle.
{ Line(17) = {2,11}; construit le segment entre les point numero 2 et 11.
{ Line Loop(1) = {1,2,3,4}; construit la ligne constitue des arcs de cercle et des segments
simples numerotes 1, 2, 3 et 4.
{ Plane Surface(1) = {1,2}; construit la surface plane de frontiere 1 et 2.
{ Ruled Surface(9) = {9}; construit une surface non plane.
{ Mesh.SaveElementTagType=2; permet de generer un maillage ou seuls les elements simple
(Surface mais pas Loop) repetes avec physical devant sont pris en compte.
{ Physical Surface(114) = {114}; permet d'identi
37. er une surface que l'on souhaite avoir
dans son maillage
39. tion du maillage)
{ Extrude {0, 0, 1}{ Surface{1,2,3}; } permet de creer une geometrie 3d a partir d'une
translation de vecteur [0, 0, 1]' d'une reunion de surface 2d (les surfaces numerotees 1, 2 et
3).
Pour generer un maillage surfacique cylindre.msh, on utilise gmsh cylindre.geo -2. Pour vi-
sualiser le maillage genere, on utilise gmsh cylindre.msh Pour lire un maillage 3d genere par
gmsh avec FreeFem++, on utilise mesh3 Th1 = gmshload3(parallepipede.msh); Pou le con-
vertir en un maillage 3d plein, on utilise : mesh3 Th = tetg(Th1,switch=pqaAAYYQ); (voir
par exemple le script lame3d.edp)
15
40. Conclusions
On a ecrit le script 2d pour le couplage diusion-contraintes. On a mis en mis en oeuvre gmsh
a
41. n de modeliser une piece un peu complexe. On a aussi mis en oeuvre la plasticite dans le cas 3d.
On espere avant tout que cette mise en oeuvre numerique permettra une meilleur comprehension
des phenomenes de couplage. On a aussi mis en oeuvre des exemples de modelisation 2d et 3d autres
a
42. n qu'il soit plus facile d'aborder une modelisation mecanique par FreeFem++ dans le futur.
16
43. Annexe A
Annexe
A.1 Methode de Jacobi pour calculer les valeurs propres d'une
matrice symetrique
On a fait une premiere version plus facile a coder avec Scilab sans gestion des if (voir CalculVal.sci)
On utilise l'algorithme suivant :
Algorithm 1 Alloue la matrice creuse P1-Lagrange
Declaration d'une matrice 3 fois 3
for k = 0 to 3 do
if A(2,2)-A(1,1)=0 then
=
4
else
= 0:5 arctan((2 A(1; 2))=(A(2; 2) A(1; 1)));
end if
Q1 = [cos(); sin(); 0;sin(); cos(); 0; 0; 0; 1];
A = Q10A Q1;
if A(3,3)-A(1,1)) then
= 0
else
= 0:5 arctan((2 A(1; 3))=(A(3; 3) A(1; 1)));
end if
Q2 = [cos(); 0; sin(); 0; 1; 0;sin(); 0; cos()];
A = Q20 A Q2;
if A(3,3)-A(2,2) then
=
4
else
= 0:5 arctan((2 A(2; 3))=(A(3; 3) A(2; 2)))
end if
Q3 = [1; 0; 0; 0; cos(); sin(); 0;sin(); cos()]
A = Q30 A Q3
end for
L'algorithme se generalise a des matrices de tailles quelconques. Grace a cet algorithme, on
peut calculer les valeurs propres de en tout point du maillage. On peut par la suite appliquer un
17
44. critere de rupture dependant des valeurs propres. On repere ainsi ou la rupture va s'initer.
18
45. Bibliographie
[1] A.R.Pelton et al. Fatigue and durability of nitinol stents. Journal of the Mechanical behavior
of biomedical materials, 1 :158{164, 2008.
[2] Bruno Despres. Approximation des edp. Polycopie de master 1.
[3] Samuel Forest. MMC. Polycopie de l'Ecole des Mines de Paris, annee 2009-2010.
[4] Frederic Hetch. FreeFem++. Documentation ocielle.
[5] William H.Press et al. Numerical Recipes. Cambridge University Press, third edition, 2007.
[6] Zhigang Suo Laurence Brassart. Reactive
ow in solids. Journal of the Mechanics and Physics
of Solids, 61 :61{77, 2013.
[7] Jean-Jacques Marigo. Plasticite et Rupture. Polycopie, 2013.
[8] Jean Salencon. Mecanique des milieux continus, volume 1. Masson, 1987.
[9] Jean Salencon. Mecanique des milieux continus, volume 2. Masson, 1987.
19