Sources/Lexikon/Reibkennlinie: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Datei:Reibkennlinie-01.png|mini|Koordinanten und Schnittkräfte|alternativtext=|200x200px]]Reiben oder haften Körper aneinander, so wird ihre geschwindigkeitsabhängige Kontaktkraft ''K(v)'' in der Tangentialebene oft durch den Reib- und Haftbeiwert ''μ'' bzw. ''μ<sub>0</sub>'' beschreiben: | |||
::<math>\begin{array}{ccrl}|K|&<&\mu_0 \cdot N&\text{ für } v=0\\K&=&\mu\cdot N &\text{ für } v>0\\K&=&-\mu\cdot N &\text{ für } v<0\end{array}</math> | |||
mit | |||
::<math>v = \dot{u}</math> | |||
== Erster Ansatz mit Geradenstücken == | |||
[[Datei:Reibkennlinie-11.png|mini|Kennlinie (erster Anlauf)]]Statt zwischen Haften und Reiben zu unterscheiden, kann man mit folgender Kennlinie arbeiten, die Schaltstellen für v<sub>0</sub> = +/- ε hat. | |||
Die stückweise definierte Funktion ist: | |||
::<math>K = N \cdot \left\{ \begin{array}{ll} -\mu &\text{ für } v<=-2\,\epsilon \\ +\mu &\text{ für } v>=+2\,\epsilon \\ -((2\,\mu_0-\mu)\,\epsilon+(\mu_0-\mu)\,v)/\epsilon &\text{ für } v<= -\epsilon \\ -((\mu-2\,\mu_0)\,\epsilon+(\mu_0-\mu)\,v)/\epsilon &\text{ für } v>= +\epsilon \\ \mu_0\,(v/\epsilon); &\text{ sonst} \end{array}\right.</math> | |||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Maxima Code | |||
|text=Zum Einbauen in Ihr Programm: der Quellcode zur Kennlinie. | |||
|code= | |||
<syntaxhighlight lang="lisp" line start=1> | |||
/* friction characteristic */ | |||
/* piecewise linear */ | |||
subst(solve([c[0]+c[1]*(+epsilon)=+b,c[0]+c[1]*2*(+epsilon)=+a],[c[0],c[1]])[1],c[0]+c[1]*v) | |||
mu(a,b,epsilon,v) := if v<=-2*epsilon then -a | |||
elseif v>=+2*epsilon then +a | |||
elseif v<= -epsilon then -((2*b-a)*epsilon+(b-a)*v)/epsilon | |||
elseif v>= +epsilon then -((a-2*b)*epsilon+(b-a)*v)/epsilon | |||
else b*(v/epsilon); | |||
plot2d(mu(0.5,1,0.01,v),[v,-0.1,0.1], [ylabel,"v/V->"], [xlabel,"μ/1->"], [legend, "friction coefficient"]); | |||
</syntaxhighlight> | |||
}} | |||
[[Datei:Reibkennlinie-02.mp4|mini|Erläuterungen zur Reibkennlinie]] | [[Datei:Reibkennlinie-02.mp4|mini|Erläuterungen zur Reibkennlinie]] | ||
Und so funktionierts:Steigert man die Kraft ''F'' auf den Körper, so "kriecht" der Körper - seine Geschwindigkeit ''v'' bleibt sehr klein. Wählt man also die Schaltstellen v<sub>0</sub> = +/- ε passend klein, dann sieht es so aus, als würde der Körper "haften". Überschreitet ''F'' die maximale Haftkraft, also F > ''μ''<sub>0</sub>''∙N'', dann fällt ''μ(v)'' auf den Reib-Beiwert ab, der Körper wird beschleunigt. | |||
[[Datei: | |||
[[Datei:Reibkennlinie-14.png|mini|Ein Ausschnitt der Kennlinie mit den Abschnitten ''I, II'' und ''III'']] | Das Problem: diese Kennlinie ist nicht stetig differenzierbar - Löser, die das zur Schrittweiten-Steuerung voraussetzen "fressen" sich an den Schaltstellen fest. | ||
[[ | <br clear="all"/> | ||
[[Datei: | |||
== Verbesserter Ansatz: stückweise mit einem Polynom 5ten Grades == | |||
[[Datei:Reibkennlinie-12.png|mini|Stetig differenzierbare Reibkennlinie mit einem Polynom 5ter Ordnung (aus [[Gelöste Aufgaben/Kv53|Kv53]])]]Um eine stetig differenzierbare Reibkennlinie zu erhalten, setzten wir stückweise ein Polynom an. Es soll Punkt-symmetrisch sowie an den Übergangsstellen stetig und stetig differenzierbar sein! | |||
Hier arbeiten wir mit der dimensionslosen Geschwindigkeit | |||
::<math>\displaystyle \nu = \frac{v}{v_0}</math> | |||
und setzen für den mittleren Teil ''-v<sub>0</sub> < v < v<sub>0</sub>'' das Polynom | |||
::<math>\mu = a_1\cdot \nu^1 + a_3\cdot \nu^3 + a_5\cdot \nu^5</math>. | |||
an. | |||
Dann ist - hier für ''μ''<sub>0</sub>=1/2 und ''μ=''1/4: | |||
::<math>K = N \cdot \left\{ \begin{array}{ll} -\mu &\text{ für } \nu<=-1\\ +\mu &\text{ für } \nu>=+1\\1.2 \nu^5-2.5 \nu^3+1.5 \nu &\text{ sonst} \end{array}\right.</math> | |||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Maxima Code | |||
|text=Zum Einbauen in Ihr Programm: der Quellcode zur Kennlinie. | |||
|code= | |||
<syntaxhighlight lang="lisp" line start=1> | |||
/* parameter */ | |||
params: [mu[0] = 1/2, | |||
mu[1] = 1/4]$ | |||
/**** define nonlinear friction characteristic ***/ | |||
/* choose generic polynom */ | |||
p : lsum(a[i]*nu^i,i,[1,3,5]); | |||
mu(nu,charc) := if abs(nu)<1 then subst(charc, lsum(a[i]*nu^i,i,[1,3,5])) else subst(charc, mu[1])*signum(nu); | |||
/* ... and adapt to these conditions */ | |||
bcs : [subst([nu= 1 ], p ) = mu[1], | |||
subst([nu= 1 ], diff(p,nu)) = 0 , | |||
subst([nu=gamma], diff(p,nu)) = 0 , | |||
subst([nu=gamma], p ) = mu[0]]; | |||
coe : [a[1],a[3],a[5],gamma]; | |||
sol: solve(subst(params,bcs),coe)$ | |||
charc : append(params,sol[1]); | |||
plot2d(mu(nu,charc),[nu,-2,2], [xlabel,"ν →"], [xlabel,"μ →"])$ | |||
</syntaxhighlight> | |||
}} | |||
Die Gleichung für die Kennlinie können wir nicht analytisch explizit angeben - Sie können die Kennlinie also nicht ohne Maxima in ein anderes Programm übertragen. | |||
Abhilfe schafft dieser Ansatz: | |||
== Verbesserter Ansatz: stückweise mit Polynomen 2ten und 3ten Grades == | |||
[[Datei:Reibkennlinie-13.png|mini|Skizze: Stetig differenzierbare Reibkennlinie mit angestückelten Polynomen.|alternativtext=|200x200px]]Wir bleiben bei der stetig differenzierbaren Reibkennlinie, suchen nun aber nach einfacheren Polynomen, deren Koeffizienten wir auch explizit in ''μ''<sub>0</sub> und ''μ'' angeben können. Alles hat seinen Preis: wir brauchen nun zwei Polynome (I und II)für den ersten Teil! | |||
Wir arbeiten weiter mit | |||
::<math>\displaystyle \nu = \frac{v}{v_0}</math> | |||
und setzen für den mittleren Teil ''-v<sub>0</sub> < v < v<sub>0</sub>'' nun zwei Polynome | |||
::<math>\begin{array}{lllllll} \mu_I &=& &a_{I,2}\cdot\nu^2 &+ a_{I,1} \cdot\nu &\\ \mu_{II}&=& a_{II,3}\cdot \nu^3 + &a_{II,2}\cdot\nu^2&+ a_{II,1}\cdot\nu&+ a_{II,0} \end{array}</math> | |||
an. | |||
Dann ist | |||
::<math>K = N \cdot \left\{ \begin{array}{ll} +\mu &\text{ für } +1<\nu\\ 16\cdot \mu_0 \left( 1-\frac{\mu_1}{\mu_0} \right) \cdot \nu^3 -36\cdot \mu_0 \left( 1-\frac{\mu_1}{\mu_0} \right) \cdot \nu^2 +24\cdot \mu_0 \left( 1-\frac{\mu_1}{\mu_0} \right) \cdot \nu + 5\cdot \mu_1 -4\cdot \mu_0 &\text{ für } +\frac{1}{2}<\nu<=+1\\ 4\cdot \mu_{0}\cdot (\nu-\nu^{2}) &\text{ für } \;\;\;\;\;0<\nu<=+\frac{1}{2} \\ \text{und punktsymmetrisch} &\text{ sonst} \end{array}\right.</math>[[Datei:Reibkennlinie-14.png|mini|Ein Ausschnitt der Kennlinie mit den Abschnitten ''I, II'' und ''III'']] | |||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Maxima Code | |||
|text=Zum Einbauen in Ihr Programm: der Quellcode zur Kennlinie. | |||
|code= | |||
<syntaxhighlight lang="lisp" line start=1> | |||
/* parameter */ | |||
params : [mu[0]=1, mu[1] = 0.5]; | |||
/**** define nonlinear friction characteristic ***/ | |||
/* choose generic polynoms for three sections */ | |||
r : [sum(a[i]*nu^i,i,0,2), | |||
sum(a[i]*nu^i,i,0,3), | |||
mu[1]]; | |||
/* ... and adapt to these conditions */ | |||
sol: [solve([subst([nu= 0 ], r[1]) = 0, | |||
subst([nu=1/2], r[1]) = mu[0], | |||
subst([nu=1/2],diff(r[1],nu)) = 0], [a[2],a[1],a[0]])[1], | |||
solve([subst([nu=1/2], r[2]) = mu[0], | |||
subst([nu=1 ], r[2]) = mu[1], | |||
subst([nu=1/2],diff(r[2],nu)) = 0, | |||
subst([nu=1 ],diff(r[2],nu)) = 0], [a[3],a[2],a[1],a[0]])[1]]; | |||
r : ratsimp([subst(sol[1],r[1]),subst(sol[2],r[2]),r[3]]); | |||
print(transpose(r)); | |||
/* ... and plot ... */ | |||
r : subst(nu=t,subst(params,r)); | |||
plot2d([[parametric, t, r[1], [t, 0 ,1/2]], | |||
[parametric, t, r[2], [t, 1/2, 1 ]], | |||
[parametric, t, r[3], [t, 1 , 2 ]]], [legend,"I","II","III"], | |||
[xlabel,"ν →"], [ylabel,"μ →"])$ | |||
</syntaxhighlight> | |||
}} | |||
Hier ist die tangentiale Kontaktkraft konstant, wenn der Körper eine relevante Relativgeschwindigkeit gegenüber seiner Unterlage hat. Diese Vorstellung passt oft nicht mit Messungenüberein - außerdem gibt es einen weiteren Nachteil: Die Kennlinie fällt nur in einem ganz kleinen Bereich und es wird schwer, damit im Modell eine Selbsterregung zu erzeugen. | |||
Besser geht das mit einer stetig fallenden Kennlinie: | |||
== Verbesserter Ansatz: Stetig fallende Reibkennlinie == | |||
Die gesuchte stetig differenzierbare Kennlinie ''μ(ν)'' mit stetig abnehmendem Reibkoeffizienten setzen wir aus sin- und e-Funktion zusammen. | |||
Sie muss punkt-symmetrisch sein (die Reibkraft ändert ihr Vorzeichen mit der Orientierung der Relativgeschwindigkeit). Die Sinus-Funktion verwenden wir für den Mittelteil (Haften) und die Exponential-Funktionen für die Gebiete, in denen die Körper aufeinander reiben.:[[Datei:Kw25-03.png|mini|Reibkennline mit stetig fallender Charakteristik - aus Aufgabe [[Gelöste Aufgaben/Kw25|Kw25]]]]Im Mittelteil (blau) setzen wir für die Sinus-Funktion an | |||
::<math>\displaystyle \mu = \left\{ \begin{array}{lllll}\ldots&\text{für}&\nu&<-b\\\sin(\pi\;b\;\nu)&\text{für}-b<&\nu&<+b\\\ldots&\text{für}+b<&\nu&\end{array}\right. </math> | |||
mit | |||
::<math>\displaystyle \nu = \frac{v_r}{v_0}</math>. | |||
Dieses Mittelteil stückeln wir stetig differenzierbar jeweils an eine Exponentialfunktion mit den Parametern ''E'' und ''κ'' an, hier | |||
::<math>E\cdot e^{\displaystyle \kappa\cdot (b+\nu)} -a</math> | |||
mit | |||
::<math>\displaystyle E=a-\mathrm{sin}\left( \pi \cdot {{b}^{2}}\right) ,\kappa=-\frac{\pi \cdot b\cdot \mathrm{cos}\left( \pi \cdot {{b}^{2}}\right) }{\mathrm{sin}\left( \pi \cdot {{b}^{2}}\right) -a}</math>. | |||
Damit ist | |||
::<math>\displaystyle \mu = \left\{ \begin{array}{lllll}\left( a-\sin\left( \pi \cdot {{b}^{2}}\right) \right) \cdot {{e}^{\displaystyle -\frac{\pi \cdot b\cdot \mathrm{cos}\left( \pi \cdot {{b}^{2}}\right) \cdot \left( b+\nu\right) }{\mathrm{sin}\left( \pi \cdot {{b}^{2}}\right) -a}}}-a&\text{für}&\nu&<-b\\\sin(\pi\;b\;\nu)&\text{für}-b<&\nu&<+b\\a-\left( a-\sin\left( \pi \cdot {{b}^{2}}\right) \right) \cdot {{e}^{\displaystyle -\frac{\pi \cdot b\cdot \cos\left( \pi \cdot {{b}^{2}}\right) \cdot \left( b-\nu\right) }{\sin\left( \pi \cdot {{b}^{2}}\right) -a}}}&\text{für}+b<&\nu&\end{array}\right. </math> | |||
die gesuchte Kennlinie.<hr/> | |||
<!--------------------------------------------------------------------------------> | |||
{{MyCodeBlock|title=Maxima Code | |||
|text=Zum Einbauen in Ihr Programm: der Quellcode zur Kennlinie. | |||
|code= | |||
<syntaxhighlight lang="lisp" line start=1> | |||
/* define degressive friction characteristics */ | |||
/*********************************************************/ | |||
/* parameter */ | |||
params: [a=1/2, b = 5/6, V0=0.001]; | |||
ch : [sin(b*%pi*nu),0,0]; | |||
ch[2]: E*%e^(kappa*(nu+b))-a; | |||
ch[2] : subst(solve([subst([nu=-b],ch[2]=ch[1]),subst([nu=-b],diff(ch[2]=ch[1],nu))],[E,\kappa])[1],ch[2]); | |||
ch[3] : subst([nu=-nu],-ch[2]); | |||
plot2d([[parametric, t, subst(params,subst(t,nu,ch[1])),subst(params,[t,-b, b])], | |||
[parametric, t, subst(params,subst(t,nu,ch[2])),subst(params,[t,-3,-b])], | |||
[parametric, t, subst(params,subst(t,nu,ch[3])),subst(params,[t,+b,+3])]],[legend,"sec. 0","sec -1","sec +1"], | |||
[y,-1,1], | |||
[style, [lines,3,1], [lines,3,2], [lines,3,2]], [xlabel, "Geschwindigkeit v/V0 →"], [ylabel, "Reib-Koeffizient μ/1 →"])$ | |||
/**** define nonlinear friction characteristic ***/ | |||
fric(nu, a,b) := | |||
if nu < -b then | |||
(a-sin(%pi*b^2))*%e^(-(%pi*b*cos(%pi*b^2)*(b+nu))/(sin(%pi*b^2)-a))-a /*ch[2]*/ | |||
elseif nu > +b then | |||
a-(a-sin(%pi*b^2))*%e^(-(%pi*b*cos(%pi*b^2)*(b-nu))/(sin(%pi*b^2)-a)) /*ch[3]*/ | |||
else | |||
sin(%pi*b*nu) /*ch[1]*/ | |||
; | |||
</syntaxhighlight> | |||
}} | |||
<hr/> | <hr/> | ||
'''Links''' | '''Links''' | ||
* [[Gelöste Aufgaben/Kw25|Kw25]] | * [[Gelöste Aufgaben/Kw25|Kw25]] |
Aktuelle Version vom 21. April 2021, 07:45 Uhr
Reiben oder haften Körper aneinander, so wird ihre geschwindigkeitsabhängige Kontaktkraft K(v) in der Tangentialebene oft durch den Reib- und Haftbeiwert μ bzw. μ0 beschreiben:
mit
Erster Ansatz mit Geradenstücken
Statt zwischen Haften und Reiben zu unterscheiden, kann man mit folgender Kennlinie arbeiten, die Schaltstellen für v0 = +/- ε hat.
Die stückweise definierte Funktion ist:
Maxima Code
Zum Einbauen in Ihr Programm: der Quellcode zur Kennlinie.
/* friction characteristic */
/* piecewise linear */
subst(solve([c[0]+c[1]*(+epsilon)=+b,c[0]+c[1]*2*(+epsilon)=+a],[c[0],c[1]])[1],c[0]+c[1]*v)
mu(a,b,epsilon,v) := if v<=-2*epsilon then -a
elseif v>=+2*epsilon then +a
elseif v<= -epsilon then -((2*b-a)*epsilon+(b-a)*v)/epsilon
elseif v>= +epsilon then -((a-2*b)*epsilon+(b-a)*v)/epsilon
else b*(v/epsilon);
plot2d(mu(0.5,1,0.01,v),[v,-0.1,0.1], [ylabel,"v/V->"], [xlabel,"μ/1->"], [legend, "friction coefficient"]);
Und so funktionierts:Steigert man die Kraft F auf den Körper, so "kriecht" der Körper - seine Geschwindigkeit v bleibt sehr klein. Wählt man also die Schaltstellen v0 = +/- ε passend klein, dann sieht es so aus, als würde der Körper "haften". Überschreitet F die maximale Haftkraft, also F > μ0∙N, dann fällt μ(v) auf den Reib-Beiwert ab, der Körper wird beschleunigt.
Das Problem: diese Kennlinie ist nicht stetig differenzierbar - Löser, die das zur Schrittweiten-Steuerung voraussetzen "fressen" sich an den Schaltstellen fest.
Verbesserter Ansatz: stückweise mit einem Polynom 5ten Grades
Um eine stetig differenzierbare Reibkennlinie zu erhalten, setzten wir stückweise ein Polynom an. Es soll Punkt-symmetrisch sowie an den Übergangsstellen stetig und stetig differenzierbar sein!
Hier arbeiten wir mit der dimensionslosen Geschwindigkeit
und setzen für den mittleren Teil -v0 < v < v0 das Polynom
- .
an.
Dann ist - hier für μ0=1/2 und μ=1/4:
Maxima Code
Zum Einbauen in Ihr Programm: der Quellcode zur Kennlinie.
/* parameter */
params: [mu[0] = 1/2,
mu[1] = 1/4]$
/**** define nonlinear friction characteristic ***/
/* choose generic polynom */
p : lsum(a[i]*nu^i,i,[1,3,5]);
mu(nu,charc) := if abs(nu)<1 then subst(charc, lsum(a[i]*nu^i,i,[1,3,5])) else subst(charc, mu[1])*signum(nu);
/* ... and adapt to these conditions */
bcs : [subst([nu= 1 ], p ) = mu[1],
subst([nu= 1 ], diff(p,nu)) = 0 ,
subst([nu=gamma], diff(p,nu)) = 0 ,
subst([nu=gamma], p ) = mu[0]];
coe : [a[1],a[3],a[5],gamma];
sol: solve(subst(params,bcs),coe)$
charc : append(params,sol[1]);
plot2d(mu(nu,charc),[nu,-2,2], [xlabel,"ν →"], [xlabel,"μ →"])$
Die Gleichung für die Kennlinie können wir nicht analytisch explizit angeben - Sie können die Kennlinie also nicht ohne Maxima in ein anderes Programm übertragen.
Abhilfe schafft dieser Ansatz:
Verbesserter Ansatz: stückweise mit Polynomen 2ten und 3ten Grades
Wir bleiben bei der stetig differenzierbaren Reibkennlinie, suchen nun aber nach einfacheren Polynomen, deren Koeffizienten wir auch explizit in μ0 und μ angeben können. Alles hat seinen Preis: wir brauchen nun zwei Polynome (I und II)für den ersten Teil!
Wir arbeiten weiter mit
und setzen für den mittleren Teil -v0 < v < v0 nun zwei Polynome
an.
Dann ist
Maxima Code
Zum Einbauen in Ihr Programm: der Quellcode zur Kennlinie.
/* parameter */
params : [mu[0]=1, mu[1] = 0.5];
/**** define nonlinear friction characteristic ***/
/* choose generic polynoms for three sections */
r : [sum(a[i]*nu^i,i,0,2),
sum(a[i]*nu^i,i,0,3),
mu[1]];
/* ... and adapt to these conditions */
sol: [solve([subst([nu= 0 ], r[1]) = 0,
subst([nu=1/2], r[1]) = mu[0],
subst([nu=1/2],diff(r[1],nu)) = 0], [a[2],a[1],a[0]])[1],
solve([subst([nu=1/2], r[2]) = mu[0],
subst([nu=1 ], r[2]) = mu[1],
subst([nu=1/2],diff(r[2],nu)) = 0,
subst([nu=1 ],diff(r[2],nu)) = 0], [a[3],a[2],a[1],a[0]])[1]];
r : ratsimp([subst(sol[1],r[1]),subst(sol[2],r[2]),r[3]]);
print(transpose(r));
/* ... and plot ... */
r : subst(nu=t,subst(params,r));
plot2d([[parametric, t, r[1], [t, 0 ,1/2]],
[parametric, t, r[2], [t, 1/2, 1 ]],
[parametric, t, r[3], [t, 1 , 2 ]]], [legend,"I","II","III"],
[xlabel,"ν →"], [ylabel,"μ →"])$
Hier ist die tangentiale Kontaktkraft konstant, wenn der Körper eine relevante Relativgeschwindigkeit gegenüber seiner Unterlage hat. Diese Vorstellung passt oft nicht mit Messungenüberein - außerdem gibt es einen weiteren Nachteil: Die Kennlinie fällt nur in einem ganz kleinen Bereich und es wird schwer, damit im Modell eine Selbsterregung zu erzeugen.
Besser geht das mit einer stetig fallenden Kennlinie:
Verbesserter Ansatz: Stetig fallende Reibkennlinie
Die gesuchte stetig differenzierbare Kennlinie μ(ν) mit stetig abnehmendem Reibkoeffizienten setzen wir aus sin- und e-Funktion zusammen.
Sie muss punkt-symmetrisch sein (die Reibkraft ändert ihr Vorzeichen mit der Orientierung der Relativgeschwindigkeit). Die Sinus-Funktion verwenden wir für den Mittelteil (Haften) und die Exponential-Funktionen für die Gebiete, in denen die Körper aufeinander reiben.:
Im Mittelteil (blau) setzen wir für die Sinus-Funktion an
mit
- .
Dieses Mittelteil stückeln wir stetig differenzierbar jeweils an eine Exponentialfunktion mit den Parametern E und κ an, hier
mit
- .
Damit ist
die gesuchte Kennlinie.
Maxima Code
Zum Einbauen in Ihr Programm: der Quellcode zur Kennlinie.
/* define degressive friction characteristics */
/*********************************************************/
/* parameter */
params: [a=1/2, b = 5/6, V0=0.001];
ch : [sin(b*%pi*nu),0,0];
ch[2]: E*%e^(kappa*(nu+b))-a;
ch[2] : subst(solve([subst([nu=-b],ch[2]=ch[1]),subst([nu=-b],diff(ch[2]=ch[1],nu))],[E,\kappa])[1],ch[2]);
ch[3] : subst([nu=-nu],-ch[2]);
plot2d([[parametric, t, subst(params,subst(t,nu,ch[1])),subst(params,[t,-b, b])],
[parametric, t, subst(params,subst(t,nu,ch[2])),subst(params,[t,-3,-b])],
[parametric, t, subst(params,subst(t,nu,ch[3])),subst(params,[t,+b,+3])]],[legend,"sec. 0","sec -1","sec +1"],
[y,-1,1],
[style, [lines,3,1], [lines,3,2], [lines,3,2]], [xlabel, "Geschwindigkeit v/V0 →"], [ylabel, "Reib-Koeffizient μ/1 →"])$
/**** define nonlinear friction characteristic ***/
fric(nu, a,b) :=
if nu < -b then
(a-sin(%pi*b^2))*%e^(-(%pi*b*cos(%pi*b^2)*(b+nu))/(sin(%pi*b^2)-a))-a /*ch[2]*/
elseif nu > +b then
a-(a-sin(%pi*b^2))*%e^(-(%pi*b*cos(%pi*b^2)*(b-nu))/(sin(%pi*b^2)-a)) /*ch[3]*/
else
sin(%pi*b*nu) /*ch[1]*/
;
Links