12345678910111213141516171819202122232425262728293031323334353637383940 |
- function [Ke,Fe] = barre_ke(iel)
- % Calcul de la matrice raideur Ke et de la force generalisee Fe
- % pour un element (iel) d'une structure treillis
- %
- % appel [Ke,Fe] = barre_ke(iel)
- % ou [Ke,Fe] = feval('barre_ke',iel)
- % en entree iel : numero de l'element
- % en sortie Ke : matrice raideur elementaire (2*ndim,2*ndim)
- % Fe : force generalisee elementaire (2*ndim)
- %
- % H.Oudin
- global ndim
- global Coord Connec Nprop Prop
- ES=Prop(Nprop(iel),1);
- X = Coord(Connec(iel,:),:); % ----- Coordonnees des 2 noeuds de l'element
- dX = X(2,:) - X(1,:); % ----- x2-x1 et y2-y1
- if ndim == 1
- L = abs(dX);
- Ke = (ES/L)*[ 1 -1
- -1 1 ];
- f=Prop(Nprop(iel),2);
- Fe = (f*L/2)*[1;1];
- elseif ndim == 2
- L = sqrt(dX(1)^2 + dX(2)^2);
- c = dX(1)/L; s = dX(2)/L; % ----- Cosinus directeurs de l'element
- cc = c*c; ss = s*s; cs = c*s;
- Ke = (ES/L)*[ cc cs -cc -cs
- cs ss -cs -ss
- -cc -cs cc cs
- -cs -ss cs ss];
- fx=Prop(Nprop(iel),2); fy=Prop(Nprop(iel),3);
- Fe = (L/2)*[fx;fy;fx;fy];
- %Fe =(L/2)*[fx*c-fy*s; fx*s+fy*c; fx*c-fy*s; fx*s+fy*c];
- elseif ndim == 3
- disp('================================================ ');
- disp(' element non programme ');
- disp('================================================ ');
- end
- return
|