% FEMSET-Berechnung: Ebenes Fachwerk (Aufgabe aus dem Kapitel "Ebene Systeme starrer Koerper")
clear all
%    Knotenkoordinaten:
%      1     2     3     4     5      6     7     8     9     10  
xy = [1 5 ; 0 2 ; 3 0 ; 1 4 ; 4  4 ; 2 3 ; 3 3 ; 1 2 ; 2 2 ; 3 1] ; 
%    Verhinderte Verschiebungen:
kr = [1 1 ; 1 1 ; 1 1 ; 0 0 ; 0  0 ; 0 0 ; 0 0 ; 0 0 ; 0 0 ; 0 0] ; 
%    Kraefte:  
bk = [0 0 ; 0 0 ; 0 0 ; 0 0 ; 0 -1 ; 0 0 ; 0 0 ; 0 0 ; 0 0 ; 0 0] ;
%    Koinzidenzmatrix ("An welchen Knoten sind die Staebe angeschlossen?"):
%      1     2     3      4     5     6     7     8     9     10    11     12     13     14          
km = [1 4 ; 2 8 ; 3 10 ; 4 5 ; 4 6 ; 5 7 ; 6 7 ; 4 8 ; 8 9 ; 6 9 ; 7 10 ; 9 10 ; 8 10 ; 5 10] ;                                         
% Dehnsteifigkeiten (fuer Statik-Problem nicht relevant, aber formal erforderlich):
nElem = 14 ; 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