# Kapitel 5_f:
# Stoßbelastungen an Trägern und Stützen
# © 2015  Friedrich U. Mathiak, 
# mathiak@mechanik-info.de
# 
> restart: with(LinearAlgebra): with(plots): 
# 
# 
# Auf den in der obigen Abb. skizzierten Biegeträger mit der Gesamtmasse mB und der Biegesteifigkeit EI schlägt an der Stelle x0 eine Masse m1 mit der Geschwindigkeit v1 auf. Vor dem Stoß befindet sich der Träger in gestreckter Lage im Zustand der Ruhe. Gesucht wird die maximale Auslenkung wmax der Trägerachse an der Stelle x = x0 unter angenäherter Berücksichtigung der Trägermasse. Vereinfachend soll angenommen werden, dass der Stoßvorgang am Ende der Kompressionsphase zum Zeitpunkt t = t* abgeschlossen ist, und ein Ablösen beider Körper findet nach der Kompressionsphase nicht mehr statt. 
# Die Beispiele orientieren sich an meinem  Buchtitel:
# F. U. Mathiak: Technische Mechanik 3, Kinematik und Kinetik  mit Maple- und MapleSim-Anwendungen, Verlag Walter de Gruyter, 2015
# Als Beispiel behandeln wir den beidseitig drehbar gelagerten Träger auf zwei Stützen mit einer Einzelkraft F an der Stelle x = x0. Dazu gehört die statische Durchbiegung
> w:=unapply(F*l^3/B2/6*(xi*(alpha-1)*(alpha^2-2*alpha+xi^2)-(alpha-xi)^3*Heaviside(xi-alpha)),xi,alpha);
# Im obigen Ausdruck wurden folgende Abkürzungen eingeführt: ¾ = x/, ± = x0/, Biegesteifigkeit: B2 = E I22 (E: Elastizitätsmodul, I22: Flächenträgheitsmoment).
# Um die Verschiebungsfunktion w für den gesamten Wertebereich von ¾ anwendbar zu machen, wurde die Heaviside-Funktion eingeführt:
> convert(Heaviside(x),piecewise);
# Aus nummerischen Gründen weisen wir der Heaviside-Funktion den Wert  Heaviside(0) = 1 zu. 
> NumericEventHandler(invalid_operation = `Heaviside/EventHandler`(value_at_zero = 1));
> convert(Heaviside(x),piecewise);
# Unter der Einzelkraft an der Stelle ¾ = ± erhalten wir die Verschiebung
> w(alpha,alpha);
# Die bezogene statische Auslenkung der Trägerachse infolge einer Einzelkraft an der Stelle  ¾ = ±  ist dann 
> f:=unapply(w(xi,alpha)/w(alpha,alpha),xi,alpha);
# Steht die Einzelkraft etwa in Trägermitte, dann ist ± = 1/2 und damit folgt für die bezogene Durchbiegung
> f(xi,1/2);
> plot(f(xi,1/2),xi=0..1,gridlines=true);
> kappa[1]:=unapply(collect(int(f(xi,alpha),xi=0..1),[Heaviside(1-alpha)]),alpha) assuming alpha::positive;
> kappa[2]:=unapply(collect(int(f(xi,alpha)^2,xi=0..1),[Heaviside(1-alpha)]),alpha) assuming alpha::positive;
# Insbesondere für ± = 1/2 sind
> kappa[1](1/2);kappa[2](1/2);
# Wir konkretisieren unser Beispiel des beidseitig drehbar gelagerten Trägers. Wir wählen einen Stahlträger IPB 240 mit folgenden Systemwerten
> with(Units[Standard]):
> l:=8*Unit(meter[SI]);A:=106*Unit('cm^2');rho:=7.85*Unit('g'/'cm^3'); g:=9.81*Unit('m'/'s^2');
> E:=210000.*Unit('N'/'mm^2');I22:=11260*Unit('cm^4');
# Biegesteifigkeit des Trägers
> B2:=E*I22;
# Masse des Trägers:
> mB:=simplify(rho*l*A);
# Das Eigengewicht des Trägers beträgt
> GB:=mB*g;
# Der ohne Anfangsgeschwindigkeit aus einer Höhe von h = 2 m herabfallende Körper hat die  Masse m1 = 100 kg. Damit ist seine Geschwindigkeit beim Aufschlag auf den Träger 
> h:=2*Unit(meter[SI]);m1:=100*Unit(kilogram[SI]);
> v1:=sqrt(2*g*h);
# Die Masse m1 schlägt an der Stelle ± = 0.5 auf. Damit liegt aus die gemeinsame Geschwindigkeit am Ende der Kompressionsphase fest:
> u:=m1*v1/(m1+kappa[1](0.5)*mB);
# Wir betrachten den Träger als lineare Wegfeder. Dann folgt für die Federsteifigkeit
> k:=F/w(1/2,1/2);
> w0_st:=m1*g/k;
> eta:=k*v1^2/mB/g^2;
> mu:=m1/mB;
> wmax:=w0_st*(1+sqrt(1+eta*(mu+kappa[2](1/2))/(mu+kappa[1](1/2))^2));
# Der Faktor, mit dem die statische Auslenkung multipliziert werden muss, um die dynamische Antwort zu erhalten, beträgt immerhin
> wmax/w0_st;
> restart: with(LinearAlgebra): with(plots): 
# Beispiel 5-9:
# 
# Auf das Ende des Kragträgers fällt aus der Höhe h eine Masse m1. Gesucht wird die maximale Durchbiegung wmax am Trägerende.
# Geg.: h = 1 m, m1 = 50 kg,  g = 10 m/s2, Stahlträger:  = 5 m,  , A = 106 cm2,  ñ = 7,85 g/cm3.
# Die statische Auslenkung entnehmen wir einem Tabellenwerk der Ingenieurliteratur zu
> w:=unapply(F*l^3/B2/6*xi^2*(3-xi),xi);
# Die bezogene statische Auslenkung der Trägerachse infolge einer Einzelkraft an der Stelle  ¾ = 1  ist dann 
> f:=unapply(w(xi)/w(1),xi);
> plot(f(xi),xi=0..1,gridlines=true);
> kappa[1]:=int(f(xi)  ,xi=0..1);
> kappa[2]:=int(f(xi)^2,xi=0..1);
# Wir konkretisieren unser Beispiel des beidseitig drehbar gelagerten Trägers. Wir wählen einen Stahlträger IPB 240 mit folgenden Systemwerten
> with(Units[Standard]):
> l:=5.0*Unit(meter[SI]);A:=106*Unit('cm^2');rho:=7.85*Unit('g'/'cm^3'); g:=10.*Unit('m'/'s^2');
> E:=210000.*Unit('N'/'mm^2');I22:=11260.*Unit('cm^4');
# Biegesteifigkeit des Trägers
> B2:=E*I22;
# Masse des Trägers:
> mB:=simplify(rho*l*A);
# Das Eigengewicht des Trägers beträgt
> GB:=mB*g;
# Der ohne Anfangsgeschwindigkeit aus einer Höhe von h = 1 m herabfallende Körper hat die  Masse m1 = 50 kg. 
> h:=1.*Unit(meter[SI]);m1:=50.*Unit(kilogram[SI]);
# Damit ist seine Geschwindigkeit beim Aufschlag auf den Träger 
> v1:=sqrt(2*g*h);
# Damit liegt aus die gemeinsame Geschwindigkeit am Ende der Kompressionsphase fest:
> u:=m1*v1/(m1+kappa[1]*mB);
# Wir betrachten den Träger als lineare Wegfeder. Dann folgt für die Federsteifigkeit
> k:=F/w(1);
> w0_st:=m1*g/k;
> eta:=k*v1^2/mB/g^2;
> mu:=m1/mB;
> wmax:=w0_st*(1+sqrt(1+eta*(mu+kappa[2])/(mu+kappa[1])^2));
# Der Faktor, mit dem die statische Auslenkung multipliziert werden muss, um die dynamische Antwort zu erhalten, ist immerhin
> wmax/w0_st;
> restart: with(LinearAlgebra): with(plots):
# 
# Beispiel 5-10:
# 
# Der oben skizzierte Stab der Länge  = 5 m wird in Längsrichtung durch die anprallende Masse m1 = 50 kg mit der Geschwindigkeit v1 = 3 m/s belastet. Der Stab besteht aus Kiefernholz mit einem Elastizitätsmodul E = 11000 N/mm2 parallel zur Faserrichtung und einer Querschnittsfläche A = 400 cm2. Die Rohdichte des Kiefernholzes ist ñk = 520 kg/m3. Unter der Voraussetzung gerade bleibender Stabachse (kein Knicken), ist die maximale Kopfpunktverschiebung wmax zu berechnen.
# Im statischen Fall stellt sich unter Berücksichtigung der eingeführten Koordinate x1 und der Einzelkraft F (als Druckkraft positiv) die Verschiebungsfunktion 
> w:=unapply(-F*l/EA*xi,xi);
# In der obigen Beziehung bezeichnet EA die Dehnsteifigkeit des Stabes. Die bezogene statische Kopfpunktverschiebung an der Stelle  ¾ = 1  ist 
> f:=unapply(w(xi)/w(1),xi);
> plot(f(xi),xi=0..1,gridlines=true);
> kappa[1]:=int(f(xi)  ,xi=0..1);
> kappa[2]:=int(f(xi)^2,xi=0..1);
# Wir konkretisieren unser Beispiel und wählen einen Stab mit folgenden Systemwerten
> with(Units[Standard]):
> l:=5.0*Unit(meter[SI]);A:=400*Unit('cm^2');rho:=520*Unit('kg'/'m^3'); g:=10.*Unit('m'/'s^2');
> E:=11000.*Unit('N'/'mm^2'); 
# Dehnsteifigkeit des Stabes
> EA:=E*A;
# Masse des Stabes:
> mB:=simplify(rho*l*A);
# Das Eigengewicht des Stabes beträgt
> GB:=mB*g;
# Der anprallende Körper hat die  Masse m1 = 50 kg. 
> m1:=50*Unit(kilogram[SI]);
# Seine Geschwindigkeit beim Aufschlag ist
> v1:=3.*Unit('m'/'s');
# Wir betrachten den Stab als lineare Wegfeder. Dann folgt für die Federsteifigkeit
> k:=EA/l;
> w0_st:=m1*g/k;
> eta:=k*v1^2/mB/g^2;
> mu:=m1/mB;
> wmax:=w0_st*(1+sqrt(1+eta*(mu+kappa[2])/(mu+kappa[1])^2));
# Der Faktor, mit dem die statische Auslenkung multipliziert werden muss, um die dynamische Antwort zu erhalten, ist immerhin
> wmax/w0_st;
> 
;
