Vous êtes sur la page 1sur 4

U.P.M.C.

Paris 6 Année universitaire 2013/2014

Licence de Mécanique, IMOD


U.E. LA3M4 : Projet numérique - codes de calculs

Projet 2 - Barreau en torsion, 2D

1 Introduction - Résultats de la modélisation


1.1 Objectifs
L’objectif du projet est de calculer numériquement le module de rigidité à la torsion d’éprouvettes de
section droite carrée. En première partie, on montre comment s’effectue la résolution numérique de
l’équation de Poisson en deux dimensions. Ensuite, on effectue une intégration numérique en 2D, puis
une dérivation numérique pour calculer le cisaillement maximal en chaque point de la section. Pour cette
deuxième partie, on s’attachera à obtenir des valeurs numériques convergées en maillage.

1.2 Résultats de la modélisation.


On considère un barreau élastique, homogène, isotrope, d’axe Ox3 , de section droite S carrée de côté 2a
(de frontière désignée par Γ), de longueur l, qui occupe dans sa configuration non déformée le domaine
Ω:
−a < x1 < a − a < x2 < a 0 < x3 < l
On suppose que l’on connait le module de rigidité au cisaillement µ et la limite d’élasticité en traction
simple σs . On étudie le problème classique de torsion uniforme sous l’effet d’une rotation unitaire α = θ/l
donnée autour de l’axe (Ox3 ). Les efforts volumiques sont négligés.
On montre que le tenseur des contraintes solution est de la forme
 ∂φ 
0 0 ∂x2
∂φ
σ= 0 0 − ∂x ,
 
1
∂φ ∂φ
∂x2 − ∂x 1
0

où la fonction de torsion φ(x1 , x2 ) est solution du problème de Dirichlet suivant :


(
−∆φ = 2αµ, sur S
φ = 0, sur Γ

Le torseur des efforts extérieursR exercés sur la face supérieure x3 = l est un couple de moment M~e3 , avec
M = Kα d’une part et M = 2 S φds d’autre part.

− −−→
En chaque point de S, le cisaillement maximal est donné par |Ft |max = || grad φ ||. Pour que le matériau


reste élastique, le critère de Tresca suivant doit être satisfait : maxS |Ft |max ≤ σS .

2 TD : Adimensionnement, discrétisation, mise en place de la résolution


numérique
2.1 Adimensionnement
Pour le traitement numérique, on adimensionne le système en introduisant les variables réduites :
x1 x2 1 φ
x= ,y= ,P = .
2a 2a αµ 4a2

a) Ecrire le système réduit à résoudre, posé sur le domaine S1 défini par −0.5 < x, y < 0.5.

1
R
b) Exprimer le module de rigidité à la torsion K en fonction de l’intégrale I = S1 P (x, y)dxdy.

− −−→
c) Exprimer en chaque point de la section, le cisaillement maximal |Ft |max en fonction de ||grad P ||.

d) En déduire l’expression de la valeur maximale M ∗ de M pour que le matériau reste élastique suivant
−−→
le critère de Tresca, en fonction de K, µ, σS , a et maxS1 ||grad P ||.

2.2 Analyse par différences finies


Soit à résoudre le problème
(
−∆P = f (x, y), sur S1 : −0.5 < x, y < 0.5
P = g(x, y), sur Γ1 = ∂S1

Pour simplifier, on prendra g = gs en y = −0.5, g = gn en y = 0.5, g = gw en x = −0.5, g = ge en x = 0.5.


a) Maillage à deux indices. Soit nx et ny deux entiers donnés. On définit un maillage régulier à deux
1 1
indices S1h de S1 par hx = nx+1 , xi = −0.5 + ihx , (0 ≤ i ≤ nx + 1) et hy = ny+1 , yj = −0.5 + jhy ,
(0 ≤ j ≤ ny + 1).
Discrétiser l’équation en utilisant les dérivées secondes centrées à l’ordre 2. On note Pi j = P (xi , yj ).

b) Maillage à un indice I. On prend par exemple nx = ny = n = 4 (soit hx = hy = 15 ) et on utilise une


numérotation horizontale par horizontale à un indice.

0.5

0.3
13 14 15 16

0.1
9 10 11 12

-0.1
5 6 7 8

-0.3
1 2 3 4

-0.5
-0.5 -0.3 -0.1 0.1 0.3 0.5

Horizontale/Horizontale

Mettre le système linéaire sous la forme A q = b, où q est le vecteur des inconnues dans la
numérotation à un seul indice correspondante. Expliciter la matrice A et le second membres b.

c) Donner les algorithmes de remplissage de b et des diagonales de A, (As, Aw, Ap, Ae, An) dans le cas
général. Ecrire ensuite le cas particulier défini par g = 0 et f = 2.

d) Etudier la mise en oeuvre de la résolution de A q = b par les méthodes itératives SOR et SSOR.

e) Etudier la mise en oeuvre de la résolution de A q = b par les méthodes itératives des gradients
conjugués, puis des gradients conjugués préconditionnés par la méthode SSOR.

2.3 Etude de convergence en maillage.


Dans cette partie, on va supposer que l’on cherche à calculer une grandeur scalaire I, à partir de résultats
obtenus à partir de plusieurs maillages. Pour calculer l’ordre de l’erreur de troncature et obtenir une
valeur extrapolée de I, on peut suivre le principe d’extrapolation de Richardson, qui utilise des solutions
obtenues sur des maillages de finesse différente, supposés dans la zone de convergence asymptotique : on
suppose que la loi de convergence est de la forme Ih = I + C hδ . En supposant que cette loi est satisfaite
pour les 3 maillages définis par h1 (donné), h2 = h1 /2 et h3 = h1 /4, calculer δ, C et la valeur extrapolée
I en fonction de Ih1 , Ih2 et Ih3 .

2
3 TP : programmation Fortran
3.1 Calcul de la fonction q (8h)
1. Initialisation. La matrice A sera entrée sous forme de 5 vecteurs As, Aw, Ap, Ae, An.

• Dans un fichier nommé sor.f90, commencer un programme en définissant nx, ny, nn comme
paramètre avec nx = 4, ny = nx, nn = nx × ny.
• Dans un fichier nommé tp2 mod.f90, écrire un sous-programme init() d’initialisation des 5
vecteurs As, Aw, Ap, Ae, An de la matrice A, et du vecteur b.
• Afficher à l’écran (si nx = 4), les 6 vecteurs afin de vérifier l’initialisation. Par la suite, on
prendra nx = 63, et on n’affichera plus les vecteurs à l’écran.

2. Résolution par la méthode SOR.

• En utilisant l’algorithme de Richardson généralisé, écrire le programme de résolution de A q = b.


On partira d’une solution initiale q = 0, et on fixera le paramètre de relaxation ω = 1.9. On
vérifiera à chaque itération si la norme L2 du résidu (||r k ||2 = ||b − A q k ||2 ) est inférieure à ǫ
fixé (ǫ = 10−8 ).
• Toutes les kech itérations, on écrira dans un fichier res sor.out l’itération courante k, et la
norme du résidu correspondant ||r k ||2 sur une même ligne. La syntaxe est la suivante :
if (mod(k,kech)==0) write(10,fmt=’(I6,E14.5)’) k,nores
• Tracer l’évolution du résidu en fonction des itérations avec une échelle lin-log.

3. Visualisation. Tracer les isovaleurs de q par Gnuplot.

• Pour visualiser la solution sous la forme d’isolignes avec Gnuplot, il est nécessaire de passer de la
numérotation à un indice q(i) à une numérotation à deux indices P (ix, jy) pour (0 ≤ ix ≤ nx+1
et 0 ≤ jy ≤ ny + 1). Ce changement d’indice se fera dans un sous-programme solP() où on
utilisera la relation suivante de numérotation horizontale/horizontale :
P (ix, jy) = q(ix + (jy − 1) ∗ nx). Ne pas oublier d’imposer les conditions limites sur P .
• Ecrire un sous-programme ecrgnu() de sortie de la solution P (ix, jy) dans un fichier isoligne.dat
à trois colonnes (xix , yjy , P (ix, iy)) suivant l’algorithme donné ci-dessous.
do jy=0,ny+1
do ix=0,nx+1
write (20,fmt=’(3E14.6)’) x(ix), y(jy), P(ix,jy)
enddo
write (20,*) ’ ’
enddo
• Tracer avec Gnuplot les isolignes de la solution. Pour cela visualiser la solution P(x,y) du
fichier ”isoligne.dat” par splot "isoth.dat" w l. Etudier séparément l’effet des commandes
: set contour (isolignes) ; unset surface ; set view 0,0,1 ; set cntrparam levels 11 ;
set key at 1.25,1.15.
Pour sauvegarder la figure, on utilise : set term png medium ; set output "fichier.png" ;
replot ; quit.

4. Résolution par la méthode SSOR.

• Dupliquer le programme sor.f90 sous le nom ssor.f90. Modifier la partie résolution de ce


nouveau programme.
• Faire varier nx + 1= 64, 128, 256, 512. Comparer les performances des deux méthodes (on
pourra fixer le critère d’arrêt à ǫ = 10−8 ).

3
5. Résolution par la méthode GC des gradients conjugués.

• Dupliquer le programme sor.f90 sous le nom gc.f90. Modifier la partie résolution de ce


nouveau programme.
• Faire varier nx + 1= 64, 128, 256, 512. Comparer les performances des deux méthodes (on
pourra fixer le critère d’arrêt à ǫ = 10−8 ).

6. Résolution par la méthode GCP des gradients conjugués préconditionnés par SSOR (facultatif).

• Dupliquer le programme gc.f90 sous le nom gcp.f90. Introduire la partie préconditionnement


par SSOR dans la partie résolution de ce nouveau programme.
• Faire varier nx + 1= 64, 128, 256, 512. Comparer les performances des deux méthodes (on
pourra fixer le critère d’arrêt à ǫ = 10−8 ).

3.2 Calcul du module de rigidité à la torsion (2h)


R
1. Intégrale de P . Calculer une valeur approchée Ih de l’intégrale I = S1 P (x, y)dxdy, par une méthode
d’intégration composite à (n + 2)2 points en utilisant la formule de quadrature à 4 points suivante,
provenant de la quadrature des trapèzes suivant les deux directions x ! et y :
Z Z Z Z
Ii,j = f (x, y) dx dy = f (x, y) dx dy
[xi ,xi +h] [yj ,yj +h] [xi ,xi +h] [yj ,yj +h]
h h2
Z
= Jj (x) dx = [Jj (xi ) + Jj (xi + h)] = [fi,j + fi,j+1 + fi+1,j + fi+1,j+1 ]
[xi ,xi +h] 2 4

2. Convergence en maillage.

• Faire varier nx. Montrer que la valeur de l’intégrale converge lorsque le maillage devient de
plus en plus fin.
• Calculer l’ordre de l’erreur de troncature et obtenir une valeur extrapolée de I, en utilisant
le principe d’extrapolation de Richardson (choisir judicieusement h1 , et prendre h2 = h1 /2 et
h3 = h1 /4).
• Déterminer quelles sont les finesses de maillage qui se trouvent dans la zone de convergence
asymptotique, et donner le nombre de chiffres significatifs obtenu par le calcul approché le plus
fin.
• Calcul du module de rigidité à la torsion. Les valeurs des constantes élastiques de l’acier E et
ν du matériau sont telles que µ = 7 × 1010 P a. D’autre part, on a a = 2.5mm. Calculer le
module de rigidité K.

3.3 Calcul du cisaillement maximal (2h)


−−→
1. Calculer en chaque point du maillage une valeur approchée de ||grad P || en utilisant des schémas
d’ordre 2.
−−→
2. En déduire maxS1 ||grad P ||.

3. On donne σs = 109 P a. En utilisant la valeur de K trouvée précédemment, calculer la valeur




maximale M ∗ de M pour que le matériau reste élastique suivant le critère de Tresca, maxS |Ft |max ≤
σS .

4. Faire varier nx et mener une étude semblable à la précédente pour la convergence en maillage.

5. Tracer, pour la valeur M ∗ , les isolignes de cisaillement maximal.

Vous aimerez peut-être aussi