Vous êtes sur la page 1sur 3

TP N°2 : Efforts internes d’une poutre sur appuis simples

%%%% Le:
%%%% Le but:
%%%% Réalise par:
clear all % Supprimer toutes les variables de l'espace de travail
close all % Fermer toutes les figures graphiques ouvertes dans MATLAB
clc % Nettoyer la fenêtre de commande de MATLAB
%%%%
a=0.2 ; % Longueur de la section transversale de la poutre en m
b=0.4 ; % Largeur de la section transversale de la poutre en m
L=8 ; % Longueur totale de la poutre en m
L1=2 ; % Distance de la charge concentrée au point d'encastrement en m
sigma_a=28 ; % Résistance en MPa
P=40 ; % Poid de la charge ponctuelle en kN
E= 4000; % Module d'élasticité en MPa
%----- Calcul du moment d'inertie de la section transversale
Iz=a*b^3/12;
%----- Affichage de "+ Moment inertie: Iz=..m^4
fprintf('+ Moment inertie: Iz = %.4f m^4 \r\n', Iz);
%----- Calcul des réactions R1 et R2 aux points d'encastrement
R1=(P*(L-L1))/L;
R2=(P*L1)/L;
%----- Affichage de de la valeur de R1 sous forme de "+ Reaction dappuis 1: R1 =...kN"
fprintf('+ Reaction dappuis 1: R1 = %.f kN \r\n', R1);
%----- Affichage de de la valeur de R1 sous forme de "+ Reaction dappuis 2: R2 =...kN"
fprintf('+ Reaction dappuis 2: R2 = %.f kN \r\n', R2);
% Affichage de la phrase "+ Effort Tranchant T [kN] et Moment fléchissant M [kN.m] Pour
%0<=x<=L" sur la fenêtre Commande Window
disp('+ Effort Tranchant T [kN] et Moment fléchissant M [kN.m] Pour 0<=x<=L')
h=1;
for x=0:L % Pour chaque valeur de x
if x<=L1 % Si x est inférieur ou égal à L1
T=R1; % Alors la barre est soumise à un effort de tranchement T=R1
M=R1*x; % Calcul du moment fléchissant
f=M/E*Iz; % Calcul de la déformation f
% Affichage des valeurs de x, T, M et f à l'aide de la fonction fprintf
fprintf(' Pour x = %.0d m, T = %.0d kN, M = %.0d kN.m, et f = %.0d m^(-1)\r\n',x,T,M,f)
else % Si x est supérieur strictement à L1
T=-R2; % Alors la barre est soumise à un effort de tranchement T=-R2
M=R2*(L-x); % Calcul du moment fléchissant
f=M/E*Iz; % Calcul de la déformation f
% Affichage des valeurs de x, T, M et f à l'aide de la fonction fprintf
fprintf(' Pour x = %.0d m, T = %.0d kN, M=%.0d kN.m et f = %.0d m^(-1) \r\n',x,T,M,f)
end
h=h+1;
end
% Affichage de la phrase "+ Contrainte en flexion [MPa] en position du moment maximal
%variant aux valeurs de y"
% sur la fenêtre Commande Window
disp ('+ Contrainte en flexion [MPa] en position du moment maximal variant aux valeurs de
y')
y=-b/2:0.001:b/2; % Création d'un vecteur y allant de -b/2 à b/2 avec un
%pas de 0.001
M_max=R1*L1; % Calcul du moment fléchissant maximal
sigma_x=(10^-3)*y*M_max*(1/Iz); % Calcul de la contrainte en flexion sigma_x pour
chaque valeur de y
% Affichage des valeurs de y et sigma_x pour chaque valeur de y à l'aide de la fonction
fprintf
fprintf(' Pour y=%.2f m , la valeur de sigma_x vaut sigma_x=%.3f MPa \r\n',y,sigma_x)
sigma_x_max=max(sigma_x); % Calcul de la contrainte maximale sigma_x_max
% Affichage de la valeur de la contrainte maximale à l'aide de la fonction fprintf
fprintf(' Et sigma_x_max =%.4f MPa\r\n',sigma_x_max);
%----- Vérification de la contrainte maximale par rapport à la contrainte admissible
if sigma_x_max<=sigma_a % Si la contrainte maximale est inférieure ou égale à la
%contrainte admissible
disp('(Contrainte maximale <= contrainte admisible, VERIFIE!)') % Afficher un message de
%vérification
else % Si la contrainte maximale est supérieure à la contrainte admissible
disp('(Contrainte maximale > contrainte admisible, NON VERIFIE!)') %% Afficher un
%message d'avertissement
end
y1=linspace(-b/2,b/2,1000); % Crée un vecteur y1 contenant 1000 valeurs linéairement
%réparties entre -b/2 et b/2
ny=length(y1); % Assigne la longueur de y1 à la variable ny
x=linspace(0,L,1000); % Crée un vecteur x contenant 1000 valeurs linéairement
%réparties entre 0 et L
for j=1:ny % Pour chaque valeur de j dans l'intervalle [1,ny]
for i=1:1000
% Vérifier si x(i) est inférieure ou égale à L1
if x(i)<=L1;
% Si oui, affecter la valeur R1 à T(i)
T(i)=R1;
M(i)=R1*x(i);
f(i)= R1*x(i)/E*Iz;
% Calculer sigma_x1(i,j)
sigma_x1(i,j)=(10^-3).*y1(j).*M(i).*(1/Iz);
else
% Si non, affecter la valeur -R2 à T(i)
T(i)=-R2;
M(i)=R2*(L-x(i));
f(i)=R2*(L-x(i))/E*Iz;
% Calculer sigma_x1(i,j)
sigma_x1(i,j)=(10^-3).*y1(j).*M(i).*(1/Iz);
end
end
end
% Créer la première figure
figure(1)
subplot(2,2,1) % Sous-figure 1/4
plot (x,T,'b','linewidth',1.5) % Tracer la courbe de T(x)
axis ([-0.5,9,-R2-20,R1+20]) % Définir les limites des axes
title ('Diagram T') % Ajouter le titre "Diagram T"
xlabel ('x [m]') % Légende de l'axe des x
ylabel ('T(kN)') % Légende de l'axe des y
text(L1,R1+0.5,'T_max=30') % Ajouter du texte dans la figure
text(L1-0.3,-R2-5,'T_min=-10')
subplot (2,2,2) % Sous-figure 2/4
plot (x,M,'b','linewidth',1.5)
axis ([-0.5,9,min(M),max(M)+20])
title ('Graph of Moment M')
xlabel ('x [m]')
ylabel ('M(kN.m)')
text(L1,max(M)+5,'M_max')
subplot(2,2,3)
plot (x,f,'r','linewidth',1.5)
axis ([-0.5,9,1.2*min(min(f)),1.2*max(max(f))])
title ('La flèche')
xlabel ('x [m]')
ylabel ('f(m-1)')
subplot(2,2,4)
plot(y,sigma_x,'c','linewidth',1.5)
grid on
title ('varation de la contrainte')
xlabel ('y [m]')
ylabel ('sigma_x)')
figure(2)
[X Y1]=meshgrid(x,y1);
mesh(Y1,X,sigma_x1);colorbar; caxis([-11 11])
title ('varation de la contrainte en 3D')
xlabel ('y [m]')
ylabel ('x [m]')
zlabel ('sigma_x)')
% Enregistrer le résultat au ficher .txt
% Créer une matrice A qui contient les résultats à enregistrer
A=[x; T; M];
% Ouvrir un fichier texte nommé TP2case1.txt situé dans le dossier
% Desktop\TP MMC\, en mode écriture
fileid=fopen('C:\Users\Kawtar\Desktop\TP MMC\TP2case3.txt','w');
% Écrire une ligne de titre dans le fichier texte
fprintf(fileid,' x [m] T [kN] M [kN.M] \r\n');
% Écrire les données contenues dans la matrice A dans le fichier texte
fprintf(fileid,' %.3f %.3f %.3f\r\n',A);
% Fermer le fichier texte
fclose(fileid);

Vous aimerez peut-être aussi