WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception d'une application pour le calcul et la simulation des efforts sur les pylônes

( Télécharger le fichier original )
par Clovis Bernard Tsopgo
Université de Douala - Ingénieur  2011
  

précédent sommaire

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Annexes

Annexe 1 : quelques éléments d'un site de télécommunication Annexe 1.a : lecture des azimuts

Annexe 1.b : BTS

Annexe 1.c : Baie

Annexe 2 : quelques données de la norme NV 65 Annexe 2-a: coefficient de réduction

Annexe 2-b : coefficient de réponse

Annexe 2-c : coefficient de pulsation

Annexe 3 : Fonctions essentielles utilisées dans le code

Annexe 3-a : coordonnées et connectivités entre les noeuds.

function [t,p]=schema36(B,H) %

%cette fonction dessine le pylone %B: longueur des bases

%H:hauteur du pylone

%t:table de connectivité %p:coordonnées des noeuds %tsopgo clovis, faculte de genie industriel

%

[t,p]=type4(B(1),B(2),H(1));

for i=2:7

if i<6

[T,P]=type4(B(i),B(i+1),H(i)); elseif i==6

[T,P]=type5(B(i),B(i+1),H(i));

else

[T,P]=type6(B(i),B(i+1),H(i));

end

T=T+size(p,1)-2;

P=P(3:size(P,1),:);

P(:,2)=P(:,2)+sum(H(1:i-1));

t=[t;T]; p=[p;P];

end

return

Annexe 3-b: localisation de la matrice élémentaire dans la matrice globale

function L = Localise(t)

%calcul de la localisation de la matrice elementaire % dans la matrice globale

% t : table de connectivités de l'element % L : table de loacalisation

%

% tsopgo clovis,faculte de genie industriel

nne = length(t);

for i= 1:nne

L([2*i1 2*i]) = [2*t(i)1 2*t(i)];

end

return

annexe 3-c: longueurs et cosines directeurs des barres

function [ds,c,s] = EltLen(XY)

%

% Calcul de la longueur, du cos et du sin de la matrice de rotation pour un

% element barre à deux noeuds (x1,y1) (x2,y2)

% c : cosinus de l'angle

% s : sinus de l'angle

% XY: cordonnées des noeuds XY = [x1,y1; x2,y2]

%

% tsopgo clovis,faculte de genie industriel

dx = XY(2,1) - XY(1,1);
dy = XY(2,2) - XY(1,2);

ds = sqrt(dx^2 + dy^2);

c = dx/ds; s = dy/ds; return

annexe 3-d: élimination des noeuds bloqués

function A = DelDOFs(A,L)

% A = DelDOFs(A,L)

%

% A : matrice globale après assemblage

% L : liste des degrés de liberté à éliminer % tsopgo clovis faculté de genie industriel

L = sort(L); % tri de la liste des DDL

n = length(L); % longueur de L

if (size(A,2) == 1) % cas d'un vecteur

for i = n:-1:1 % parcourir L à partir du plus grand indice

A(L(i)) =[] ; % suppression de la composante associée au DDL

courant

end

else % cas d'une matrice

for i = n:-1:1

A(L(i),:) =[] ; % suppression de la ligne L(i)

A(:,L(i)) =[] ; % suppression de la colonne L(i)

end end return

annexe 3-e : ajout des noeuds bloqués

function U = AddDOFs(U,L)

%

% U = K \ F : FE solution

% L : Table de localisation des noeuds d'appuis

%

%tsopgo clovis faculté de génie industriel

[m,n] = size(L);

L = reshape(L,m*n,1); L = L(find(L));

L = sort(L);

n = length(L);

for i = 1:n

U = AddToVect(U,L(i),0);

end

U = U';

return

annexe 3-f : calcul des efforts normaux

function [F,R] = TrussForces(t,p,A,E,U)

% F : forces axiales dans les barres

% R : forces aux niveaux des noeuds = réactions dans le cas d'appuis % t : table de connectivités des éléments

% p : table des coordonnées des noeuds

% A : sections des éléments

% E : modules d'élasticité

% U : solution en déplacement

%

% tsopgo clovis, faculte de genie industriel

net = size(t,1); % nombre d'éléments total

nnt = size(p,1); % nombre de noeuds total

R = zeros(2*nnt,1); % Forces aux noeuds

for ie = 1:net % boucle sur les éléments

L = localise(t(ie,:)); % table de localisation

ke = truss2dKe(p(t(ie,:),:),A(ie),E); % matrice élémentaire

ue = U(L); % déplacements des noeuds

fe = ke*ue; % forces élémentaires dans (oxy)

R(L) = R(L) + fe; % tous les éléments liés au noeud

[L,c,s] = EltLen(p(t(ie,:),:)); % les cosinus directeurs

F(ie,:) = -( c*fe(1) + s*fe(2) ); % rotation au repère local

end % fin de boucle

return

annexe 3-g : maillage du pylône

function plotmesh(haut,base,entete,EltLabels,NodeLabels)

%

% cette fonction dessine le pylone

% haut: hauteur du pylone

% base: longueur de la base

% entete: longueur de l'entete

% NodeLabels : vaut true pour afficher les éléments

% EltLabels : vaut true pour afficher les noeuds

% color : couleur des lignes

% % %tsopgo clovis, faculte de genie industriel

%

axis equal

[hauteur, D,d,H,B]=geom(haut,base,entete);

[t,p]=schema(B,H); Net = size(t,1); for ie = 1:Net

XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','r','linewidth',2)

if(EltLabels)

x = mean(XY(:,1));

y = mean(XY(:,2));

axis equal text(x,y,num2str(ie),'color','g')

end

end

Np = size(p,1); if(NodeLabels) for i=1:Np

text(p(i,1),p(i,2),num2str(i),'color','b')

end

end

if hauteur ==36; for ie = 21:40

XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

for ie = 61:80

XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

for ie = 101:108

XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

elseif hauteur ==54;

for ie = 1:26

XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

for ie = 53:72

XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

for ie = 93:112

XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

for ie = 133:152
XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

for ie = 173:180

XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

elseif hauteur ==72;

for ie = 27:52

XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

for ie = 73:92

XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

for ie = 113:132

XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

for ie = 153:172
XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

for ie = 193:212

XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

for ie = 234:241

XY = p(t(ie,:),:);

X = [XY(:,1)];

Y = [XY(:,2)]; line(X,Y,'color','w','linewidth',2)

end

end

X=[-D -D];

Y=[-0.5 sum(H)+0.5];

line(X,Y,'color','w')

h=[0 H];

B = num2str(B,'%10.2f');

B=str2num(B);

x=[-D -1.5*D];

y=[0 0];

line(x,y,'color','w')

text(-1.6*D,0.45,num2str(B(1)),'color','b')

z1=[0.5*D+1 0.5*D+4]; z2=[sum(h)-1 sum(h)-1]; t1=[0.5*D+3.5 0.5*D+4]; t2=[sum(h)-1.5 sum(h)-1]; t3=[sum(h)-0.5 sum(h)-1];

line(z1,z2,'color','w','linewidth',2) line(t1,t2,'color','w','linewidth',2)

line(t1,t3,'color','w','linewidth',2)

text(0.5*D+2,sum(h)-0.4,'vent','color','w')

for i= 1:length(H)

s=0.5*(B(i+1)+B(i))*H(i); y=[sum(H(1:i)) sum(H(1:i))]; line(x,y,'color','w')

text(-D+0.3,sum(h(1:i))+0.5*h(i+1),'T','color','g') text(-D+0.9,sum(h(1:i))+0.5*h(i+1),num2str(i),'color','g') text(-1.35*D,sum(h(1:i))+0.5*h(i+1),num2str(s),'color','g') text(-1.6*D,sum(H(1:i))+0.45,num2str(B(i+1)),'color','b')

end

return

annexe 3-h: matrice de rigidité élémentaire

function [ke,L] = truss2dKe(XY,A,E)

%

% Calcul de la matrice elementaire pour un

% element barre à deux noeuds (x1,y1) (x2,y2) % A : section de l'element

% E : module d'élasticité

% XY: cordonnées des noeuds XY = [x1,y1; x2,y2] % L:longueur de la barre

%tsopgo clovis, faculte de genie industriel

[L,c,s] = EltLen(XY); % longueur et orientation de l'élément

cc = c*c; % cos(angle)^2

cs = c*s; % cos(angle)*sin(angle)

ss = s*s; % sin(angle)^2

ke = (A*E/L) * [ cc cs -cc -cs % matrice élémentaire Ke

cs ss -cs -ss -cc -cs cc cs cs ss cs ss

];

return

Annexe 3- i : programme principal

function [P,R,sigma,Ux,Umax,Rx1,Ry1,Rx2,Ry2,T,U,t,p,A,ba,Long,fy,obs,alpha] = truss2dKM(haut,base,entete,q,sa,masse,cornieres,ks,direct)

% haut: hauteur du pylone

% base: longueur de la base

% entete: longueur de l'entete % q:pression à 10 mètres du sol % sa: charge en tete du pylone % masse: masse des antennes

% cornières: matrice des cornières à utiliser

% ks: coefficient de site % direct:direction du vent

% P:vecteur des efforts normaux % R:réactions au niveau du sol

% sigma: vecteur des contraintes

% Ux: valeur de la flèche en tete du pylone

% Umax: déplacement maximal en tete du pylone

% RX, RY: valeurs des réactions au niveau du sol

% T: périodes propres

% U: vecteur déplacement % t : table de connectivités des éléments

% p : table des coordonées des noeuds

% A : sections des éléments (des barres)

% ba :numéros des barres

% long :longueur des barres % fy :contraintes maximales

% obs:vecteur à deux états: "oui" si sigma < fy et "non" sinon

% alpha: angle de rotation en tete

%tsopgo clovis, faculte de genie industriel

%

clc % effacer tout le contenu de la

fenetre de commande

[B,Al,A,si,sp,dens,E,G,H,Fv,Fp,t,p,iv,fy,Iw]=traitement(haut,base,entete,q,co rnieres,ks,direct);

if direct==0 %direction du vent qui vaut 0 pour

le vent

Fv=Fv/1.41; % diagonal et 1 pour le vent normal

end %fin de la boucle

qa=1.3*2.5*q*sa*(sum(H)+16)/(sum(H)+58); % frce du vent dur les antennes

net = size(t,1); %nombre de barres

nnt = 2*size(p,1); % nombre de noeuds, 2 signifie le

nombre de degré de liberté

K = sparse(nnt,nnt); % initialisation des matrices de

rigidité, d'inertie, et des forces

Kw = zeros(nnt,nnt); % par des matrices creuses nulles

M = sparse(nnt,nnt); FV = sparse(nnt,1); FP = sparse(nnt,1); Mw = sparse(nnt,1);

Fp=2*Fp; % prise en compte des barrres

latérales

FV(end -3) = FV(end-3)+0.5*qa; %ajout du poids des antennes

Long=zeros(net,1); %initialisation des longueurs des

barres

for i = 1:net %début de boucle sur les éléments

ti = t(i,:); %table de connectivité et de

Li = localise(ti); %localisation de l'élément courant

[Ke,l] = truss2dKe(p(ti,:),A(i),E);%matrice de rigidité élémentaire kw=((81e+9)*Iw(i)/l)*[1 0 -1 0;... %matrice de rigidité élémentaire 0 0 0 0;-1 0 1 0;0 0 0 0]; %en torsion

Long(i)=l;

Me = truss2dMe(p(ti,:),A(i),dens);%matrice masse élémentaire fe=Fv(i)*l*[0.5;0;0.5;0];

Fe=-Fp(i)*[0;0.5;0;0.5];

K(Li,Li)

=

K(Li,Li) +

Ke;

Kw(Li,Li)

=

Kw(Li,Li)

+ kw;

M(Li,Li)

=

M(Li,Li) +

Me;

%assemblage de la fonction K %assemblage de la matrice kw %assemblage de la matrice M

FV(Li) = FV(Li) + fe; %assemblage de la matrice FV

% FP(Li) = FP(Li) + Fe; %assemblage de la matrice FP

end %fin de la boucle

Long = num2str(Long,'%10.2f'); %choix du format d'affichage

Long=str2num(Long); %des longueurs

Mw(end-2)= 0.1*qa; %valeur du moment en tete

poids=masse*9.81; %poids des antennes

nul=1:4; %noeuds encastrés

K = DelDOFs(K,nul); %application

M = DelDOFs(M,nul); %des

FV = DelDOFs(FV,nul); %conditions

Mw = DelDOFs(Mw,nul); %aux

Kw = DelDOFs(Kw,nul); %limites

[y,kk]=chol(K); %décomposition

[yw,kk]=chol(Kw); %de cholesky

angle=yw'\Mw; %angle de

angle=yw\angle; %rotation

alpha= angle(end2)*180/3.14; %en tete du pylone

alpha = num2str(alpha,'%10.2f'); %normaux

alpha=str2num(alpha);

x=y'\FV; %calcul de

U=y\x; %la solution

U = AddDOFs(U,nul); %ajout des DDl des noeuds encastrés

Ux=100*U(end-1); %calcul de la flèche en tete

Ux = num2str(Ux,'%10.2f');

Ux=str2num(Ux);

Umax=sum(H)/2; %déplacement maximal

FP(end)=FP(end)-0.5*poids;

FP(end-2)=FP(end-2)-0.5*poids;

FP = DelDOFs(FP,nul); %conditions aux limites

U1=y'\(1.33*FP+1.5*FV);

U1=y\U1;

U1 = AddDOFs(U1,nul); % Ajouter les DDL des noeuds encastré

[phi, omega2] = eigs(K,M); % modes propres

omega = sqrt(diag(omega2)); % pulsations

T = 2*pi./sort(omega); % périodes propres par ordre croissant

T = num2str(T,3); % et choix du format d'affichage

[P,R] = TrussForces(t,p,A,E,U1); %calcul

sigma=(1e-6)*P./A %des éfforts

sigma = num2str(sigma,'%10.2f'); %normaux

sigma=str2num(sigma); %des contraintes

ba=1:length(t(:,1));

Rx1=R(1)/1000; %des réactions

Rx2=R(3)/1000; %et choix du format

Ry1=R(2)/1000; %d'affichage

Ry2=R(4)/1000;

Rx1 = num2str(Rx1,'%10.2f'); Rx1=str2num(Rx1);

Rx2 = num2str(Rx2,'%10.2f'); Rx2=str2num(Rx2);

Ry1 = num2str(Ry1,'%10.2f'); Ry1=str2num(Ry1);

Ry2 = num2str(Ry2,'%10.2f'); Ry2=str2num(Ry2);

%%%%% DIMMENSIONNEMENT %%%%%%

lam=Long./iv; %calcul de lamda

lam1=93.9*sqrt(235./fy); %de lamda 1

lba=lam./lam1; %de lamda barre

fi=0.5*(1+0.49*(lba-0.2)+lba.*lba); %de phi

ki=fi+sqrt(fi.*fi-lba.*lba); %de ki

ki=1./ki; %et

simax=ki.*fy./1.1; %de sigma max

for i=1:net % boucle de

if (lba(i)>0.2 && sigma(i)<=0) %vérification

fy(i)= simax(i); %des contraintes

end % fin

end % de la boucle

%%%%% FIN DU DIMENSIONNEMENT %%%%

P=P/1000; %conversion de la force en kN

P = num2str(P,'%10.2f'); %choix du format d'affichage

P=str2num(P); %de l'effort

fy = num2str(fy,'%10.2f'); %et de

fy=str2num(fy); %l'effort maximal

obs=100*ones(net,1); %affichage

sigma=troncon(sigma,H); %de la contrainte

P=troncon(P,H); %de l'effort normal

A=A*1e+6;

A=troncon(A,H); %de la section

ba=troncon(ba,H); %des numéros des barres

Long=troncon(Long,H); %des longueurs

fy=troncon(fy,H); %de la contrainte maximale

obs=troncon(obs,H); %et de l'observation en fonction de la

hauteur

return %fin de la fonction

Annexe 4 : pylône dans robot millénium

Annexe 4-a : vue en élévation du pylône (numéro des noeuds et des barres)

Annexe 4-b : déformée du pylône

Annexe 4-c valeur des réactions

Annexe 4-d : quelques valeurs des contraintes et déplacements

précédent sommaire






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"La première panacée d'une nation mal gouvernée est l'inflation monétaire, la seconde, c'est la guerre. Tous deux apportent une prospérité temporaire, tous deux apportent une ruine permanente. Mais tous deux sont le refuge des opportunistes politiques et économiques"   Hemingway