function krataMESv()
% rozwiazanie MES
% przy uzyciu pakietu CALFEM 
%
% opracowal: Piotr Pluciński
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% dane
E=1e6;
A=1.25e-2;
ep = [E A];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% dyskretyzacja
LE=2; LW=3; LSSW=2; 
LSSU=LW*LSSW;
K=zeros(LSSU);
F=zeros(LSSU,1);

%wspolrzedne
Coord=[3,4 ; 5.5,4 ; 0,0];

% topologia 
% (przynaleznosc stopni swobody do ES)
% numery st.sw. dla wezlow
Dof=reshape((1:LSSU),LSSW,length(Coord))';
 
% macierz topologii
Etop=[1 3; 1 2] ;

% definicja macierzy stopni swobody dla elementów
for i=1:LE
    Edof(i,:)=[i,Dof(Etop(i,1),:),Dof(Etop(i,2),:)];
end

[Ex,Ey]=coordxtr(Edof, Coord, Dof, 2);

% rysunek siatki ES
elnum=Edof(:,1);
eldraw2(Ex,Ey,[1,3,1],elnum);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% obciazenie:
% siły węzłowe
F(2)=-20;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% macierze i wektory ES
% agregacja
pe=[-12,0];


for i=1:LE
    [Ke,ze]=bar2e(Ex(i,:),Ey(i,:),ep,pe(i));
    [K,F]=assem(Edof(i,:),K,Ke,F,ze);
end %for 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


% warunki brzegowe
bc=[3 0; 4 0; 5 0; 6 0];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%rozwiazanie
[d,r]=solveq(K,F,bc)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% postprocessing
% powrot do ES
% przemieszczenia w poszczegolnych ES
de=extract_ed(Edof,d);
% rysunek zdeformowanej siatki ES
figure(1)
[sfac]=scalfact2(Ex,Ey,de,0.2);
eldisp2(Ex,Ey,de,[2,1,2],sfac);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% obliczenie sił przywezłowych
for i=1:LE
    fe(:,i)=bar2s(Ex(i,:),Ey(i,:),ep,de(i,:),pe(i),10);
end
fel=[fe(1,:);fe(end,:)]

plotpar=[2 3];

% Siły podłuzne
figure(2)
[fmax,nmax]=max(max(abs(fe)));
scal=scalfact2(Ex(nmax,:),Ey(nmax,:),max(abs(fe(nmax))),0.25);
for i=1:LE
    eldia2(Ex(i,:),Ey(i,:),-fe(:,i),plotpar,scal);
end
%axis([-2 4 -1 5]);
title('sily podluzne')
 pltscalb2(scal,[10 4 1.5]);
