100% ont trouvé ce document utile (1 vote)
162 vues37 pages

Calculs de Structures sous MATLAB

Le document décrit l'environnement MATLAB et introduit les concepts clés comme les nombres, les variables, les matrices et les boucles. Il présente également comment créer des scripts et des fonctions dans MATLAB pour effectuer des calculs structuraux simples sur des barres.

Transféré par

Lamia Brioual
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
162 vues37 pages

Calculs de Structures sous MATLAB

Le document décrit l'environnement MATLAB et introduit les concepts clés comme les nombres, les variables, les matrices et les boucles. Il présente également comment créer des scripts et des fonctions dans MATLAB pour effectuer des calculs structuraux simples sur des barres.

Transféré par

Lamia Brioual
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Travaux Pratique de la MEF

Chapitre 5 : Calculs des structures par MEF sous Matlab


Pr. Yassine EL HALOUI Filière : 4GC
Cours MEF
1. Introduction

Environnement MATLAB

La fenêtre La fenêtre
La fenêtre Command La fenêtre
Workspace Command
Current Folder Window History

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 2
Cours MEF
1. Introduction
Première interaction avec MATLAB :

Le moyen le plus simple pour utiliser MATLAB est d’écrire directement dans la fenêtre de commande (Command Window)
juste après le curseur (prompt) >>
Pour calculer une expression mathématique il suffit de l’écrire comme ceci :
>> 5+6 Puis on clique sur la touche Entrer pour voir le résultat.
ans =
11

Si nous voulons qu’une expression soit calculée mais sans afficher le résultat, on ajoute un point virgule ‘;’ à la fin de
l’expression comme suit :
>> 5+6 ;
>>
Pour créer une variable on utilise la structure simple :
nom_variable = valeur
sans se préoccuper du type de la variable.

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 3
Cours MEF
1. Introduction
Première interaction avec MATLAB :

Par exemple:
>> a = 5;
>> b = ‘bonjour’;
C’est un point essentiel du langage Matlab, il permet d’utiliser dynamiquement les variables et même de leurs changer de type
au cours du programme.

L’opération La signification
+ L’addition
- La soustraction
* La multiplication
/ La division
\ La division gauche (ou la division inverse)
^ La puissance
‘ Le transposé
( ) Les parenthèses spécifient l’ordre d’évaluation

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 4
Cours MEF
1. Introduction
Les nombres en MATLAB :

Le type Exemples
Entier 5 -83
Réel en notation décimale 0.0205 3.1415926
Réel en notation scientifique 1.60210e-20 (1.60210x10-20)

üPour afficher davantage de chiffres utiliser la commande


format long (14 chiffres après la virgule).
üPour retourner à l’affichage par défaut, utiliser la
commande format short.
üPour afficher uniquement 02 chiffres après la virgule,
utiliser la commande format bank.
üPour afficher les nombres sous forme d’une ration, utiliser
la commande format rat.

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 5
Cours MEF
1. Introduction
Les variable en MATLAB :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 6
Cours MEF
1. Introduction
Les matrice en MATLAB :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 7
Cours MEF
1. Introduction
Les matrice en MATLAB :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 8
Cours MEF
1. Introduction
Les matrice en MATLAB :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 9
Cours MEF
1. Introduction
Les matrice en MATLAB :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 10
Cours MEF
1. Introduction
Les matrice en MATLAB :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 11
Cours MEF
1. Introduction
Les matrice en MATLAB :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 12
Cours MEF
1. Introduction
Les matrice en MATLAB :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 13
Cours MEF
1. Introduction
Les matrice en MATLAB :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 14
Cours MEF
1. Introduction
Les matrice en MATLAB :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 15
Cours MEF
1. Introduction
Les matrice en MATLAB :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 16
Cours MEF
1. Introduction
Les matrice en MATLAB :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 17
Cours MEF
1. Introduction
Les matrice en MATLAB :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 18
Cours MEF
1. Introduction
Boucle for

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 19
Cours MEF
1. Introduction
Boucle for

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 20
Cours MEF
1. Introduction
Boucle for

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 21
Cours MEF
1. Introduction
Les entrées /sorties

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 22
Cours MEF
2. Fichiers SCRIPT et FUNCTION

File => New => Script / function

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 23
Cours MEF
2. Fichiers SCRIPT et FUNCTION

Exemple Script : Ecrire un Script qui permet de calculer la rigidité k d’une barre

Résultat :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 24
Cours MEF
2. Fichiers SCRIPT et FUNCTION

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 25
Cours MEF
2. Fichiers SCRIPT et FUNCTION

Exemple fonction : Ecrire une fonction qui permet de saisir les valeur de E, A et L et puis calculer la rigidité k d’une barre

Ou écrire la commende de la fonction


dans un Script

Résultat :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 26
Cours MEF
2. Fichiers SCRIPT et FUNCTION

Exemple script contient une fonction :

Ou écrire la commende de la fonction


dans un Script

Résultat :

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 27
Cours MEF
3. Calculs des structures barre par Matlab

Ecrire un script (puis une fonction) permet de :


• Saisir par l’utilisateur des valeurs de E, L et A (ou S)
æ E.S E.S ö
æ 11 12 ö
K K ç - ÷
• Calcul de ki =EA/L K = çç ÷÷ = ç L L ÷ : matrice de rigidité
K K
è 21 22 ø ç -ç E .S E .S ÷÷
• Remplir la matrice k è L L ø

Solution :

Script Function

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 28
Cours MEF
3. Calculs des structures barre par Matlab

Ecrire un script (puis une fonction) permet de :


• Saisir par l’utilisateur des valeurs de E, L, A et theta
• Calcul de ki =EA/L, cos , sin
• Remplir la matrice k

Solution :

function k = kelementrotation
(E,A,L, theta)

E=input ('Saisir une valeur de E :


');
A=input ('Saisir une valeur de A :
');
L=input ('Saisir une valeur de L :
');
theta=input ('Saisir une valeur de
theta en degree : ');
x = theta*pi/180;
C = cos(x);
S = sin(x);
k = E*A/L*[C*C C*S -C*C -C*S ; C*S
S*S -C*S -S*S ; -C*C -C*S C*C C*S;-
C*S -S*S C*S S*S] ;

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 29
Cours MEF
3. Calculs des structures barre par Matlab

æ E.S E.S ö
æK K ö ç - ÷
Ecrire un script qui permet de : K = çç 11 12 ÷÷ = ç L L ÷ : matrice de rigidité
è K 21 K 22 ø çç - E.S E.S ÷÷
• Saisir par l’utilisateur des valeurs de Ei, Li, Ai d’une structure de n barres è L L ø

• Calcul de ki =EiAi/Li
• Remplir la matrice ki de chaque élément de la structure

Solution :

clear all
NB=input ('Saisir le nombre de barres de la structure: ');
%NB est le nombre des barres de la structure
for t = 1:NB
str=sprintf('Entrer E de la barre (%d) en SI: ',t);
E(t) = input(str);
str=sprintf('Entrer L de la barre (%d) en SI: ',t);
L(t) = input(str);
str=sprintf('Entrer A de la barre (%d) en SI: ',t);
A(t) = input(str);
ki=E(t)*A(t)/L(t);
k{t}=[ki -ki ;-ki ki]
end
E,A,L,k
%affichage des k
for i=1:NB
k{i}
end

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 30
Cours MEF
3. Calculs des structures barre par Matlab
Ecrire un script qui permet de :
• Saisir par l’utilisateur des valeurs de Ei, Li, Ai et tetha i d’une structure de n barres
• Calcul de ki =EiAi/Li , cos , sin
• Remplir la matrice ki de chaque élément de la structure
Solution :
clear all
NB=input ('Saisir le nombre de barres de la structure: ');
%NB est le nombre des barres de la structure
for t = 1:NB
str=sprintf('Entrer E de la barre (%d) en SI: ',t);
E(t) = input(str);
str=sprintf('Entrer L de la barre (%d) en SI: ',t);
L(t) = input(str);
str=sprintf('Entrer A de la barre (%d) en SI: ',t);
A(t) = input(str);
str=sprintf('Entrer theta de la barre (%d) en SI: ',t);
theta(t) = input(str);
x = theta(t)*pi/180;
C = cos(x);
S = sin(x);
m=[C*C C*S -C*C -C*S ; C*S S*S -C*S -S*S ; -C*C -C*S C*C C*S;-C*S -
S*S C*S S*S];
k{t} = E(t)*A(t)/L(t)*m;
end
E,A,L,theta,k

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 31
Cours MEF
3. Calculs des structures barre par Matlab

Ecrire un script qui permet d’assembler les matrices


des éléments (matrice élément à l’échelle globale) pour
déterminer la matrice globale de la structure

Solution :
Pour le faire, on va réaliser tout d’abord un petit programme pour enregistrer les numéros des nœuds de chaque barre :

%on aura besoin des num?ro des noeuds


n=[];
for t = 1:NB
str1=sprintf('Entrer le premier neud de la barre (%d) en SI: ',t);
str2=sprintf('Entrer le deuxieme neud de la barre (%d) en SI: ',t);
crdb1(t)=input(str1);
crdb2(t)=input(str2);
n{t}=[crdb1(t) crdb2(t)];
end
%pour affichage
for t=1:NB
n{t}
end

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 32
Cours MEF
3. Calculs des structures barre par Matlab

Ecrire un script qui permet d’assembler les matrices


des éléments (matrice élément à l’échelle globale) pour
déterminer la matrice globale de la structure

Solution :

%calcul de la matrice globale


K=zeros(2*NN,2*NN);
%NN est le nombre des noeuds de la structure
for t=1:NB
x = theta(t)*pi/180;
C = cos(x);
S = sin(x);
m=[C*C C*S -C*C -C*S ; C*S S*S -C*S -S*S ; -C*C -
C*S C*C C*S;-C*S -S*S C*S S*S];
k{t} = E(t)*A(t)/L(t)*m;
fn=2*n{t}(1)-1;
sn=2*n{t}(2)-1;
K(fn:fn+1,fn:fn+1)=K(fn:fn+1,fn:fn+1)+k{t}(1:2,1:
2);
K(fn:fn+1,sn:sn+1)=K(fn:fn+1,sn:sn+1)+k{t}(1:2,3:
4);
K(sn:sn+1,fn:fn+1)=K(sn:sn+1,fn:fn+1)+k{t}(3:4,1:
2);
K(sn:sn+1,sn:sn+1)=K(sn:sn+1,sn:sn+1)+k{t}(3:4,3:
4);
end
K

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 33
Cours MEF
3. Calculs des structures barre par Matlab

Ecrire un script qui permet d’isoler un sous matrice de la matrice globale K dont les déplacements est inconnus

Solution :

%C.L
K=rand(8,8) % rand genere une matrice aleatoire
NLIC=[];
NLIC=input('Saisir les numeros des lignes de U dont
la valeur est inconnue');
Ku=K;
Ku=Ku([NLIC],[NLIC]); %foltrage de la matrice
Ku

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 34
Cours MEF
3. Calculs des structures barre par Matlab

Ecrire un script qui permet de résoudre un système F=Ku. Avec u est l’inconnu,
saisir un vecteur contient les forces connues puis calculer u (utiliser K-1) dont les déplacements est inconnus

Solution :

%calcul des di
U=[];
F=[];
F=input('Saisir la valeur des forces dont le
deplacement Ui est determine ');
U=inv(Ku)*F';%Ku est le sousmatrice d?termin? a
l??tape pr?c?dente
U

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 35
Cours MEF
3. Calculs des structures barre par Matlab

Ecrire un script qui permet de calculer les forces inconnues.


Saisir le vecteur du déplacement

Solution :

%calcul des Fi
U=[];
F=[];
U=input('Saisir le vecteur U ');
U=U';
K=rand(4,4)
F=K*U % la matrice K globale est connue

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 36
Cours MEF
3. Calculs des structures barre par Matlab

Ecrire un script qui permet de calculer la contrainte dans la barre.

Solution :

%calcul de la contrainte pour chaque barre


% donnees de chaque barre
NB=input ('Saisir le nombre de barres de la structure: ');
for t = 1:NB
str=sprintf('Entrer E de la barre (%d) en SI: ',t); E(t) = input(str);
end
for t = 1:NB
str=sprintf('Entrer L de la barre (%d) en SI: ',t);L(t) = input(str);
end
for t = 1:NB
str=sprintf('Entrer A de la barre (%d) en SI: ',t);A(t) = input(str);
end
for t = 1:NB
str=sprintf('Entrer theta de la barre (%d) en SI: ',t);theta(t) = input(str);
end
for t = 1:NB
f=[]; % f est le vecteur de forces locales
str=sprintf('Saisir le vecteur u de la barre (%d): ',t);
u = input(str); u=u';
x = theta(t)*pi/180;
C = cos(x);
S = sin(x);
f = E(t)*A(t)/L(t)*[-C -S C S]* u;
f
Sigma =f/A(t)
end

Yassine EL HALOUI Chapitre 5 : Calculs des structures par MEF sous Matlab 37

Vous aimerez peut-être aussi