% FEMSET-Berechnung: Ebenes Fachwerk (Aufgabe aus dem Kapitel "Ebene Systeme starrer Koerper")
clear all
%    Knotenkoordinaten:
%      1     2     3     4     5      6     7   
xy = [0 2 ; 0 0 ; 2 2 ; 2 1 ; 2 0 ; 4  2 ; 4 1] ; 
%    Verhinderte Verschiebungen:
kr = [1 1 ; 1 1 ; 0 0 ; 0 0 ; 0 0 ; 0  0 ; 0 0] ; 
%    Kraefte:  
bk = [0 0 ; 0 0 ; 0 0 ; 0 0 ; 0 0 ; 0 -1 ; 1 0] ;
%    Koinzidenzmatrix ("An welchen Knoten sind die Staebe angeschlossen?"):
%      1     2     3     4     5     6     7     8     9     10              
km = [6 7 ; 3 6 ; 3 7 ; 5 7 ; 3 4 ; 4 5 ; 1 3 ; 1 4 ; 2 4 ; 2 5] ;                                         
% Dehnsteifigkeiten (fuer Statik-Problem nicht relevant, aber formal erforderlich):
nElem = 10 ; ep(1:nElem,1) = 1 ;                              

drawfw2d (xy , km , kr , bk , 'ek') ;                  % 2D-Fachwerk zeichnen

% Finite-Elemente-Algorithmus:
[succ uv] = feskal_m (xy , km , ep , kr , bk) ; 

if succ == 1                                           % Nach erfolgreicher Rechnung: 
    sk = Stabkraefte2D (xy , km , ep , uv) ;           % Berechnung der Stabkraefte ...
    for i = 1:nElem
       disp (['Stab ',num2str(i), ': Stabkraft F = ',num2str(sk(i)),' kN']) ;
    end
    clf ;
    drawfw2dsk (xy , km , kr , bk , sk , 'e') ;        % ... und in Graphik-Fenster darstellen
end