DDBanner02

Zur Startseite

TM-aktuell
Aufgaben zur Festigkeitslehre

Aufgabe 18-10, Lösung mit MATLAB unter der “Sparse Matrix”-Speicherung für die Koeffizientenmatrix

In der nachfolgend gelisteten M-Datei wird das Gleichungssystem für veränderliches Flächenträgheitsmoment aufgebaut, so dass sie als Muster für andere Probleme dieser Art verwendet werden kann. Für die Realisierung einer feineren Diskretisierung ist nur die Änderung des Wertes nA in der farblich gekennzeichneten Zeile erforderlich (Empfehlung: Man verwende Vielfache von 60, damit alle markanten Punkte des Trägers auch Stützpunkte des Differenzenverfahrens sind). Das Gleichungssystem wird mit einer ”Sparse Matrix” als Koeffizientenmatrix A aufgebaut:

% Differenzenverfahren: Gerader Traeger mit Gelenk und Feder (Aufgabe 18-10),
% Berechnung mit der "Sparse-Matrix-Strategie" von MATLAB

clear all

La = 220   ;
Lb = 260   ;
Lc = 300   ;
Ld = 420   ;
EI1 = 2.1e5*2400 ;
EI2 = 2.1e5*800  ;
cF = 300   ;
q0 = 2     ;
F  = 800   ;

L  = La+Lb+Lc+Ld ;    % Laenge
EIB = EI1 ;            % Bezugs-Biegesteifigkeit
nA = 4800   ;        % Anzahl der Abschnitte
n  = nA + 5 ;        % Anzahl der Gleichungen
h  = L / nA ;        % Schrittweite

b  = zeros (n,1) ;     % Rechte Seite b
qi = zeros (n,1) ;     % Linienlast
mi = zeros (n,1) ;     % Ii = mi * IB
ki = zeros (n,1) ;     % Bettungszahlen an Stuetzpunkten

% Markante Punkte:
iKraft = round (nA *  La/L        + 3) ;
iGelenk = round (nA * (La+Lb)/L    + 3) ;
iFeder = round (nA * (La+Lb+Lc)/L + 3) ;
iRechts = n - 2 ;

% Belastung
qi(iFeder:iRechts) = q0  ;
qi(iKraft)         = F/h ;

% Biegesteifigkeit (mue-Werte):
mi(1:iGelenk-1) = EI1/EIB ;
mi(iGelenk)    = 0      ;
mi(iGelenk+1:n) = EI2/EIB ;

% Feder:
ki(iFeder) = cF/h ;

nRBlinks = 3 ; % 3 Werte fuer Beschreibung der Einspannung
nRBrechts = 4 ; % 4 Werte fuer Beschreibung der momentenfreien Lagerung
nspare = (n-4)*5+nRBlinks+nRBrechts ;   
AA     = zeros (nspare,1) ;
ipos   = zeros (nspare,1) ;   
jpos   = zeros (nspare,1) ;   

%Einspannung links:
ipos(1:3) = [1 2 2] ;
jpos(1:3) = [3 2 4] ;
AA (1:3) = [1 -1 1] ;

ii = 4 ;
for i=3:n-2                            % Matrix A:
   ipos(ii:ii+4) = i ;
   jpos(ii:ii+4) = i-2:i+2 ;
   AA (ii:ii+4) = [mi(i-1) -2*(mi(i-1)+mi(i)) mi(i-1)+4*mi(i)+mi(i+1)+ki(i)*h^4/EIB ...
                                                           -2*(mi(i)+mi(i+1)) mi(i+1)] ;   
   ii=ii+5 ;
end

% Momentenfreies Lager rechts:
ipos(ii:ii+3) = [n-1 n-1 n-1 n]  ;
jpos(ii:ii+3) = [n-3 n-2 n-1 n-2] ;
AA (ii:ii+3) = [mi(iRechts) -2*mi(iRechts) mi(iRechts) 1] ;

A = sparse(ipos,jpos,AA,n,n) ;

% Rechte Seite b:
for i=3:iRechts                         
   b(i) = qi(i)*h^4/(EIB) ;
end

v = A \ b ;    % Loesen des Gleichungssystems (Berechnung der Durchbiegung v)
 
clf;
z = 0 : h : L ;
subplot (3,1,1) ; plot (z , v(3:n-2)) , axis ij ,
                       grid on , title ('Durchbiegung') % Biegelinie

for i=3:n-2                     
   Mb(i) = -mi(i)*EIB * (v(i-1)-2*v(i)+v(i+1))/h^2 ;  % Biegemoment
   FQ(i) = 0.5*EIB * (mi(i-1)*v(i-2)-2*mi(i-1)*v(i-1)+(mi(i-1)-mi(i+1)) ...
                       *v(i)+2*mi(i+1)*v(i+1)-mi(i+1)*v(i+2))/h^3 ;  % Querkraft
end
  
subplot (3,1,2) ; plot (z , Mb(3:n-2)) , grid on , title ('Biegemoment')
subplot (3,1,3) ; plot (z , FQ(3:n-2)) , grid on , title ('Querkraft')  

format long
AbsenkungKraft = v(iKraft)  % Ausgabe in das Command window:  
AbsenkungGelenk = v(iGelenk) % Zahlenwerte der Verschiebungen ...
AbsenkungFeder = v(iFeder)  % ... an drei speziellen Punkten ...
MbA = Mb(3)                  % ... und das Einspannmoment am Punkt A

Nachfolgend sind die Ergebnisse im “Command Window” und das Graphik-Fenster für eine Rechnung mit  nA = 4800  zu sehen:

Die oben gelistete M-Datei ist als Aufg18_10Sparse.m zum Download verfügbar.

Zur Übersicht der Aufgaben zur Festigkeitslehre

www.DankertDankert.de

 

TM1-Aufgaben TM2-Aufgaben
TM3-Aufgaben TM3-Aufgaben