42 0 2MB
Groupe A4 Berthet Viviane Gonçalves Victor1 Tessier Théo
Table des matières Introduction............................................................................................................................................. 3 I.
Programmation modèle « poutres » ............................................................................................... 3 A.
Définition des paramètres d’entrés ............................................................................................ 3
B.
Bloc de données .......................................................................................................................... 3
C.
Position et intensité de la force................................................................................................... 3
D.
Caractéristiques mécaniques ...................................................................................................... 4
E.
Table des nœuds ......................................................................................................................... 4
F.
Table des connections ................................................................................................................. 4
G.
Conditions limites ........................................................................................................................ 5
H.
Matrice de rigidité ....................................................................................................................... 5
I.
Bloc principal ............................................................................................................................... 6
J.
Introduction des conditions limites............................................................................................. 7
K.
Résolution des déplacements et réactions ................................................................................. 7
II.
Programmation modèle « barres » ................................................................................................. 8 A.
Bloc de données .......................................................................................................................... 8
B.
Position et intensité de la force................................................................................................... 8
C.
Conditions limites ........................................................................................................................ 8
D.
Bloc principal ............................................................................................................................... 9
E.
Résolution des déplacements et réactions ................................................................................. 9
III.
Exploitation du code et interprétation ...................................................................................... 10
F.
Formulation type « poutres ».................................................................................................... 10 i.
Structure symétrique............................................................................................................. 10
ii.
Structure asymétrique........................................................................................................... 12
G.
Formulation type « barres » ...................................................................................................... 14 iii.
Structure symétrique............................................................................................................. 14
iv.
Structure asymétrique........................................................................................................... 15
Conclusion ............................................................................................................................................. 16
2
Introduction Les TPs de modélisation numérique ont pour objectif de réaliser un programme sous MATLAB afin de déterminer la valeur des réactions d’appuis, du déplacement et des rotations d’une structure soumise à un chargement arbitraire. Le programme est réalisé avec nos connaissances en matière de théorie élastique des structures et de modélisation numérique. Les structures choisies sont, en parallèle, modélisées sur le logiciel RDM6 afin de vérifier nos résultats, constater et critiquer d’éventuelles écarts entre le logiciel et notre programme. Dans ce rapport, nous développerons dans un premier temps les étapes de construction de notre programme de calcul pour un modèle type « poutres ». Nous indiquerons ensuite les modifications à réaliser pour un modèle de type « barres ».
I.
Programmation modèle « poutres » A. Définition des paramètres d’entrés
Les premières lignes de notre programme visent à mettre clairement en avant les postulats utilisés pour pouvoir ensuite interpréter correctement les résultats. % Axe horizontale X de gauche à droite positif % Axe vertical Y de bas en haut positif % Moment positif vers la gauche % unité: N ; mm ; MPa On retrouve, en effet, dans ces lignes de code : l’orientation des axes, le sens de rotation positif du moment ainsi que les unités d’entrée à utiliser.
B. Bloc de données Ce bloc est l’endroit où l’opérateur va pouvoir décrire sa structure avec : le nombre de barres, le nombre de nœuds. % Bloc de données : %Nombre de barres nbar nbar = 5; nn=4; ndim=3*nn; Ici est décrit une structure de : -
5 barres 4 nœuds ndim = 3*4= 12 car on considère (3 inconnues par nœuds : déplacement X,Y et rotation)
C. Position et intensité de la force Un nouveau bloc vient ensuite définir la position des forces extérieures et leur intensité par les lignes de code suivantes :
3
%Position et intensité de la force F=zeros(ndim,1); F(5,1)=-500; F(8,1)=-500; La force décrite est la suivante : -
force verticale de -500 N sur le nœud 2 force verticale de -500 N sur le nœud 3
D. Caractéristiques mécaniques On dédit ensuite un bloc à la définition des caractéristiques mécaniques des éléments structurels de notre portique. Le module d’Young et les sections des éléments sont misent sous forme de vecteurs : % Carcatéristiques mécaniques : module d'young E % Section A E0=210000; E = [E0,E0,E0,E0,E0]; A0 = 2848; A = [A0,A0,A0,A0,A0]; I0=19431700; M = [I0,I0,I0,I0,I0]; Dans cet exemple, tous les éléments on le même module de rigidité, 210 000 MPa, ainsi que la même section, 2 848 mm², et la même inertie, 19 431 700 mm4 (utilisation d’un IPE 200).
E. Table des nœuds On constitue ensuite une « table des nœuds » afin de donner à chaque nœuds des coordonnées précise en X et en Y. %TABLLE DES NŒUDS : X = [0,0,9000,9000] ; Y = [0,7000,7000,0] ; XY= [X’,Y’] On décrit ici un portique de 9 mètres de long par 7 mètres de haut. La variable XY est notre table des nœuds, elle a la forme suivante : 𝑋1 𝑋2 𝑋𝑌 = [ 𝑋3 𝑋4
𝑌1 0 0 𝑌2 0 7000 ]=[ ] 𝑌3 9000 7000 9000 0 𝑌4
F. Table des connections La table des connections permet de d’indiquer les nœuds d’origine (NO) et d’extrémité (NE) de chacune des poutres. Par exemple la poutre 1 a pour origine le nœud 1 et extrémité le nœud 2. Les vecteurs NO et NE sont ensuite placés dans un matrice TC (table des connections). %TABLE DES CONNECTIONS NO = [1,2,3,2,1] ; 4
NE=[2,3,4,4,3] ; TC = [NO’,NE’] ; La table des connections permet d’indiquer les nœuds d’origine (NO) et d’extrémité (NE) de chacune des poutres. Par exemple la poutre 1 a pour origine le nœud 1 et extrémité le nœud 2. Les vecteurs NO et NE sont ensuite placés dans un matrice TC (table des connections). La table est de la forme suivante : 𝑁𝑂1 𝑁𝑂2 𝑇𝐶 = [ 𝑁𝑂3 𝑁𝑂4
𝑁𝐸1 𝑁𝐸2 ] 𝑁𝐸3 𝑁𝐸4
G. Conditions limites On propose maintenant d’intégrer les conditions limites de notre structure. Nous avons fait le choix d’encastrer notre structure en pied, donc aucun degré de liberté aux nœuds 1 et 4. %INFORMATIONS POUR LES CONDITIONS LIMITES % 0 : ddl Libre ; 1:ddl bloqué CL = zeros(ndim,1); CL(1,1)=1; CL(2,1)=1; CL(3,1)=1; CL(10,1)=1; CL(11,1)=1; CL(12,1)=1; Comme indiquer, le 1 correspond au blocage et le 0 à la un degré de liberté libre. Tous les ddl des nœuds 1 et 4 étant bloqués, les u, v et θ respectifs prennent donc la valeur 1. Les conditions limites sont ensuite mises dans un vecteur, qui a la forme suivante dans cet exemple : 𝑢1 1 𝑣1 1 𝜃1 1 0 0 𝐶𝐿 = … = … 0 0 𝑢4 1 𝑣4 1 { 𝜃4 } { 1 }
H. Matrice de rigidité L’intégralité des paramètres précédents nous permettrons de calculer la matrice de rigidité globale de notre structure. On choisit d’initialiser la valeur de la matrice, de dimension ndim X ndim, à 0 en tous termes. K=zeros(ndim,ndim)
5
I. Bloc principal Le bloc principal correspond au « cœur » de notre programme. En effet c’est ici que les données d’entrés sont traité, et les calculs itératifs effectués. Nous allons commenter cette partie dans la partie droite du tableau ci-dessous. %%BLOC PRINCIPAL pas d'accès utilisateurs for i=1:nbar NOR=TC(i,1); NEX=TC(i,2); XO=XY(NOR,1); XE=XY(NEX,1); YO=XY(NOR,2); YE=XY(NEX,2); Li=sqrt((XE-XO)^2+(YE-YO)^2); C=(XE-XO)/Li; S=(YE-YO)/Li; a=E(i)*A(i)/Li; b=12*E(i)*M(i)/Li^3; f=6*E(i)*M(i)/Li^2; d=4*E(i)*M(i)/Li; e=2*E(i)*M(i)/Li;
Pour chaque poutre, on identifie le nœud d’origine et d’extrémité (NOR et NEX) dans la table des connections. Les valeurs des NOR et NEX sont ensuite utilisées pour localiser les coordonnées d’origine (XO, YO) et d’extrémité (XE, YE) de la poutre dans la matrice XY. On calcule ensuite, grâce à ces coordonnées la longueur de notre poutre (𝐿𝑖 = √∆𝑋 2 + ∆𝑌²). On introduit par ailleurs les fonctions Cosinus (C) et Sinus (S) qui nous servirons à composer nos matrices de rigidité. Nous utilisons les constantes a, b, f, d et e afin simplifié l’écriture des matrices de rigidité locales (keloc).
keloc= [a,0,0,-a,0,0; 0,b,f,0,-b,f; 0,f,d,0,-f,e; -a,0,0,a,0,0; 0,-b,-f,0,b,-f; 0,f,e,0,-f,d]; T= [C,S,0,0,0,0; -S,C,0,0,0,0; 0,0,1,0,0,0; 0,0,0,C,S,0; 0,0,0,-S,C,0; 0,0,0,0,0,1]; keglob=T'*keloc*T; LOC=zeros(6,ndim); k1=3*NOR-2; k2=3*NOR-1; k3=3*NOR; k4=3*NEX-2; k5=3*NEX-1; k6=3*NEX; LOC(1,k1)=1; LOC(2,k2)=1; LOC(3,k3)=1; LOC(4,k4)=1; LOC(5,k5)=1; LOC(6,k6)=1;
La matrice T est la matrice de transfert, que l’on utilise pour passer la matrice de rigidité du repère locale au repère globale.
Le principe de ces étapes est de « gonfler » les matrices keglob pour passer d’une dimension 4X4 à une dimension ndimXndim. Les termes inutiles valent 0, puis on somme les keglob pour avoir notre matrice globale (ndimXndim). La matrice qui nous permet de « gonfler » keglob est la matrice de localisation (LOC). Celle-ci contient les lignes UO, VO, θ0 , UE, VE et θE et les colonnes U1, V1, θ1,…,U4, V4, θ4. Les ki permettent de déterminer les U, V et θ inconnus. Ces valeurs sont ensuite utilisées pour créer la diagonale unité dans notre matrice de rigidité K. 6
K=K+LOC'*keglob*LOC; End KS=K;
Cette dernière ligne permet de sommer la matrice keglob gonflées. On stock ensuite la matrice K dans la variable KS qui correspond à la matrice de rigidité de notre structure.
J. Introduction des conditions limites Ce bloque exploite les conditions limites définies par l’utilisateur. %%Introduction des conditions limites for i=1:ndim; if(CL(i)==1); for j=1:ndim; K(i,j)=0; K(j,i)=0; end K(i,i)=1; end end Ces lignes permettent d’identifier les composantes U, V et θ bloqués et d’imposé une valeur nulle dans le matrice de rigidité.
K. Résolution des déplacements et réactions On réalise des manipulations sur la matrice K pour déterminer les déplacements inconnues et les réactions d’appuis. La matrice de rigidité de la structure reste la matrice KS. % Résolution déplacements + réactions U=(K\F)*10^3 disp('Résulat en µm') R=KS*U
La fonction K\F permet la résolution automatique de l’équation par la méthode de Gauss.
for i=1:nbar; NOR=TC(i,1); NEX=TC(i,2); XO=XY(NOR,1); XE=XY(NEX,1); YO=XY(NOR,2); YE=XY(NEX,2); Li=sqrt((XE-XO)^2+(YE-YO)^2); coef=E(i)*A(i)/Li; C=(XE-XO)/2; S=(YE-YO)/2;
Le début de cette boucle est exactement le même que précédemment.
uo= C*U(NOR*3-2)+S*U(3*NOR-1); ue= C*U(NEX*3-2)+S*U(3*NEX-1); N2=coef*(ue-uo);
On calcul ici les déplacements des nœuds à l’origine (uo) et à l’extrémité (ue) de chacune des barres. On calcul ensuite l’effort normale N2 et N1. Le 7
N1=-N2; if N2