Computerrechnung für ein ebenes Fachwerk mit drei verschiedenen Verfahren (1)
Statisch bestimmtes ebenes Fachwerk

Aufgabe

Für das skizzierte Fachwerk sind die Stabkräfte zu berechnen.

Gegeben: F.

Berechnung mit dem Programm "Statisch bestimmte ebene Fachwerke"

Mit dem Programm "Statisch bestimmte ebene Fachwerke" wurde folgendes Ergebnis erzielt:

Berechnung interaktiv mit dem Programm 'Statisch bestimte ebene Fachwerke'

Kontrollrechnung mit Matlab-Femset


Knoten- und Elementnummerierung
Knoten-Informationen
  Kn.-Koord. Kn.-Lasten u-verh.
Kn. x y Fx Fy ux uy
1 0 2 0 0 1 1
2 0 0 0 0 1 1
3 2 2 0 0 0 0
4 2 1 0 0 0 0
5 2 0 0 0 0 0
6 4 2 0 0 0 0
7 4 1 0 0 0 0

Die Rechnung soll mit Matlab-Femset verifiziert werden. Matlab-Femset erwartet die Beschreibung des physikalischen Modells mit "Knoten-Informationen" und "Element-Informationen", die in Matrizen zusammengestellt sind (vgl. hierzu die Erläuterungen im Kapitel "Der Stab als finites Element").

Nebenstehend ist die komplette Nummerierung der Stäbe und Knoten zu sehen, wie sie für die Berechnung mit dem Programm "Statisch bestimmte ebene Fachwerke" benutzt wurde. Um die Ergebnisse leichter vergleichen zu können, soll für die Berechnung mit Matlab-Femset die gleiche Nummerierung verwendet werden.

Element-Informationen
El.Kn.Kn. El.Kn.Kn.
167 645
236 713
337 814
457 924
534 1025

Die Koordinaten der Knoten können aus dem Bild entnommen werden (der Ursprung des nach rechts bzw. oben gerichteten Koordinatensystems liegt im unteren Lager). Für die beiden Kräfte wurden Einheitslasten angenommen. In den beiden Spalten ux und uy zeigt eine 1 an, dass diese Verschiebung verhindert ist (Lager).

Nebenstehend sind die Element-Informationen zusammengestellt (an welchen Knoten sind die jeweiligen Elemente angeschlossen?):

Im folgenden Matlab-Script findet man diese Matrizen wieder. Nur der farblich abgehobene Teil muss dem aktuellen Problem angepasst werden (das sind genau die Matrizen, die das Modell definieren):

% 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

Nachfolgend sind links die Ergebnisse der Matlab-Rechnung zu sehen, rechts die von Matlab erzeugte Graphik. Die Ergebnisse bestätigen die oben zu sehenden Stabkräfte:

Matlab-Ergebnisse der Stabkräfte   Matlab-Graphik des Systems

Das oben gelistete Matlab-Script und alle verwendeten Functions und DLLs stehen zum Download zur Verfügung: FW2.m, Stabkraefte2D.m, drawfw2d.m, drawfw2dsk.m, Elemat_m.dll, feskal_m.dll.

Stab- und Knotennummerierung

Knotenrundschnittverfahren

Neben den 10 Stabkräften werden auch die 4 Lagerkraftkomponenten als "Unbekannte" in die Berechnung einbezogen (jeweils nach rechts bzw. oben positiv). Dafür sind an den 7 Knoten insgesamt 14 Gleichgewichtsbedingungen zu formulieren.

Beim Aufschreiben der Gleichgewichtsbedingungen für die Knotenschnitte kommt man mit einem Winkel aus (α in der nebenstehenden Skizze). Die für die Berechnung erforderlichen Winkelfunktionen werden vor dem Aufstellen des Gleichungssystems im Matlab-Script bereitgestellt. Die (willkürlich wählbare) Reihenfolge der Unbekannten wird folgendermaßen festgelegt: FS1, FS2, FS3, ... , FS10, F1x, F1y, F2x, F2y (die drei letztgenannten sind die Lagerreaktionen an den Knoten 1 und 2).

Das nachfolgend gelistete Matlab-Script (Download als FW2Gls.m möglich) baut das Gleichungssystem aus den 14 Gleichgewichtsbedingungen auf und löst es:

% Fachwerk aus der Aufgabenserie des Kapitels "Ebene Systeme starrer Koerper" 
clear all

alpha = atan(1/2) ; ca = cos(alpha) ; sa = sin(alpha) ;

%     FS1  FS2  FS3  FS4  FS5  FS6  FS7  FS8  FS9 FS10  F1x  F1y  F2x  F2y
A = [  0    0    0    0    0    0    1    ca   0   0     1    0    0    0 ;   %1x
       0    0    0    0    0    0    0   -sa   0   0     0    1    0    0 ;   %1y
       0    0    0    0    0    0    0    0    ca  1     0    0    1    0 ;   %2x
       0    0    0    0    0    0    0    0    sa  0     0    0    0    1 ;   %2y
       0    1    ca   0    0    0   -1    0    0   0     0    0    0    0 ;   %3x
       0    0   -sa   0   -1    0    0    0    0   0     0    0    0    0 ;   %3y
       0    0    0    0    0    0    0   -ca  -ca  0     0    0    0    0 ;   %4x
       0    0    0    0    1   -1    0    sa  -sa  0     0    0    0    0 ;   %4y
       0    0    0    ca   0    0    0    0    0  -1     0    0    0    0 ;   %5x
       0    0    0    sa   0    1    0    0    0   0     0    0    0    0 ;   %5y
       0   -1    0    0    0    0    0    0    0   0     0    0    0    0 ;   %6x
      -1    0    0    0    0    0    0    0    0   0     0    0    0    0 ;   %6y
       0    0   -ca  -ca   0    0    0    0    0   0     0    0    0    0 ;   %7x
       1    0    sa  -sa   0    0    0    0    0   0     0    0    0    0 ] ; %7y
      
b = [0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; -1 ; 1 ; 0 ] ;    % Rechte Seite

FSi = A \ b ;

for i=1:10
 disp(['FS', num2str(i) , ' = ' , num2str(FSi(i))]) ;
end
disp(['F1x = ' , num2str(FSi(11))]) ;
disp(['F1y = ' , num2str(FSi(12))]) ;
disp(['F2x = ' , num2str(FSi(13))]) ;
disp(['F2y = ' , num2str(FSi(14))]) ;
Ergebnisse der Rechnung nach dem Knotenrundschnittverfahren

Nebenstehend sind die berechneten Ergebnisse zu sehen, die die oben beschriebenen Rechnungen bestätigen.