# Kapitel 7_b:
# Schwingungsversuch an einer Probe aus viskoelastischem Material
# (Kelvin-Modell)
# © 2015  Friedrich U. Mathiak, 
# mathiak@mechanik-info.de
# 
> restart: with(plots):
#  Es soll ein Schwingungsversuch an einer Probe aus viskoelastischem Material durchgeführt werden. Zur mathematischen Beschreibung des Versuchs verwenden wir das Kelvin-Modell und belasten die spannungsfreie Probe zurzeit t = 0 mit der harmonischen Kraft F(t) = A cos©t, (A: Amplitude; ©: Erregerkreisfrequenz).
# Das Beispiel orientiert sich an meinem  Buchtitel:
# F. U. Mathiak: Technische Mechanik 3, Kinematik und Kinetik  mit Maple- und MapleSim-Anwendungen, Verlag Walter de Gruyter, 2015
# 
# Ein Kelvin-Modell (s.h. obige Abbildung) besteht aus der Parallelschaltung von Feder und Dämpfer. Ist l0 die Elementlänge zum Zeitpunkt t = t0, dann lautet die zugehörige Differenzialgleichung:
> ode1:=diff(l(t),t)+k/c*l(t)-1/c*(F(t)+k*l0);
# Wir führen noch dl(t) = l(t) - l0 ein, also
> l(t):=dl(t) + l0;
# Dann ist
> ode1;
# Die äußere Belastung sei harmonisch (A: Amplitude, ©: Erregerkraftfrequenz)
> F(t):=A*cos(Omega*t);
# Zum Zeitpunkt t = t0 sei das Element entspannt.  Damit lautet die Anfangsbedingung
> AB:=dl(t0)=0;
# Das führt auf folgende Lösung für die Längenänderung dl(t)
> loe:=dsolve({ode1,AB},dl(t)); assign(%);
# Ist die Feder zum Zeitpunkt t = t0 = 0 entspannt, also
> t0:=0;
# dann verbleibt
> dl:=unapply(simplify(rhs(loe)),t);
# Für den weiteren Rechengang wählen wir folgende Systemwerte
> A:=1; Omega:=1; k:=1; c:=1/5;
# Das führt auf die Längenänderung des Kelvin-Modells
> dl(t);
# Damit ergeben sich folgende Kräfte in Feder und Dämpfer
> FF:=unapply(k*dl(t),t);     #Federkraft
;
> FD:=unapply(c*D(dl)(t),t);  #Dämpferkraft
;
# 
> FM:=unapply(FF(t)+FD(t),t);
> tE:=20.;
# Wir stellen die Ergebnisse grafisch dar. Zunächst werden die Kräfte im Kelvin-Modell als Funktion der Zeit t geplottet. 
> plot([FF(t),FD(t),F(t)],t=0..tE,title ="\nKräfte im Kelvin-Modell\n",titlefont=["ROMAN",15],legend =["Feder","Dämpfer","Gesamt"],legendstyle=[font = ["HELVETICA", 9],location=bottom],color=[blue,red,black],labels = ["Zeit t","Kräfte"],gridlines=true,axes=boxed);
# In einem zweiten Schritt erfolgt die Ausgabe der Kräfte als Funktion den Elementlängenänderung dl.
> tae:=t=0..2.*Pi/Omega;
> plot([[dl(t),FF(t),tae],[dl(t),FD(t),tae],[dl(t),F(t),tae]],title ="\nKräfte im Kelvin-Modell\n", titlefont = ["ARIAL", 15], legend = ["F", "Dämpfer","Gesamt"], legendstyle = [font = ["HELVETICA", 9], location = bottom],axes = boxed,scaling = constrained,gridlines=true, color=[blue, red, black],labels = ["Verschiebung Gesamtmodell","Kräfte"]);
# Hinweis: Nach hinreichend großer Zeit verschwindet die Anfangsstörung  in den Lösungen und die anfangs offenen Ellipsen sind dann näherungsweise geschlossen:
> tae:=t=10*Pi/Omega..12*Pi/Omega;
> plot([[dl(t),FF(t),tae],[dl(t),FD(t),tae],[dl(t),F(t),tae]],title ="\nKräfte im Kelvin-Modell\n", titlefont = ["ARIAL", 15], legend = ["F", "Dämpfer","Gesamt"], legendstyle = [font = ["HELVETICA", 9], location = bottom],axes = boxed,scaling = constrained,gridlines=true, color=[blue, red, black],labels = ["Verschiebung Gesamtmodell","Kräfte"]);
# Abschließend untersuchen wir noch den Kriechversuch am Kelvin-Element. Dazu belasten wir auf das Kelvin-Modell zum Zeitpunkt t = t0 mit einer konstante Kraft F = F0, die zum Zeitpunkt t = t1 wieder entfernt wird. 
# 
> restart:
> F(t):=piecewise(t < t1 and t > t0,F0,0);
> ode1:=diff(l(t),t)+k/c*l(t)-1/c*(F(t)+k*l0);
> l(t):=dl(t) + l0;
> ode1;
# Wir wählen folgende Systemwerte
> F0:=0.5; k:=0.5; c:=2; t0:=5; t1:=40; tE:= 80;
# Die Anfangsbedingung lautet
> AB:=dl(t0)=0;
# Damit ergibt sich folgende Lösung
> loe:=dsolve({ode1,AB},dl(t)): dl:=unapply(rhs(loe),t);
# Wir geben die Element-Längenänderung als Funtion der Zeit aus:
> plot(dl,0..tE,gridlines,title = "\nKriechversuch am Kelvin-Modell\n",titlefont = ["ARIAL", 15],labels = ["Zeit t", "Längenänderung dl"], labeldirections = ["horizontal", "vertical"],axes=boxed,filled = [color = "Blue", transparency = .5]);
# Beim Kelvin-Modell tritt nach der Entlastung keine bleibende Verformung auf. Das Modell verhält sich unmittelbar nach Lastaufbringung viskos, langfristig dagegen elastisch. Dieser Effekt wird verzögerte Elastizität, elastische Nachwirkung oder auch Anelastizität genannt. Wird die Last entfernt, dann tritt Rückkriechen (Kriecherholung) des Modells auf die Länge l0 auf (dl = 0) auf. Wird die Länge l konstant gehalten, dann resultiert daraus eine Kraft F = k dl.
>  
;
> 
;
