Wie hoch springt ein Flummi? - Der Flummi-Simulator

Zur physikalischen Beantwortung dieser Frage bietet es sich an, einen Flummi-Simulator zu schreiben, um dem Problem ohne aufwendige Aufbauten im Freien pseudo-experimentell auf den Grund gehen zu können.
Die Auf- und Abbewegung des Flummis wird auf den eindimensionalen Fall reduziert und für \(x > 0\) durch die Differentialgleichung \[m\ddot{x} - k \dot{x}^2 + mg = 0\] beschrieben. Dabei ist g die Erdbeschleunigung (9,81m/s2), m die Masse des Flummis und k der Reibungskoeffizient für den Luftwiderstand. Für ihn gilt \[k= \frac{1}{2}\rho c_w A\] mit der Querschnittsfläche in Strömungsrichtung A, der Luftdichte \(\rho\) und dem Strömungswiderstandskoeffizienten \(c_w\), der für eine Kugel zu 0,40 anzunehmen ist.
Wenn \(x < 0\), befindet sich der Flummi in einem inelastischen Stoßvorgang mit dem Boden, sodass die obige Differntialgleichung hier um zwei Terme ergänzt werden muss. \[m\ddot{x} - k \dot{x}^2 + mg = -D x - r \dot{x}^2\] D ist die Federkonstante der als Hooksche Feder idealisierten Flummiverformung, r ist der Reibungskoeffizient für die viskose Reibung, die bei der Verformung des Flummis auftritt und mechanische in innere Energie umwandelt.
Das folgende in C++ geschriebene Programm implementiert die numerische Integration der so stückweise definierten Differentialgleichung \[m\ddot{x} - k \dot{x}^2 + mg = 0 \qquad x > 0 \\ m\ddot{x} - k \dot{x}^2 + mg = -D x - r \dot{x}^2 \qquad x <0\] und stellt somit im Sinne der beschriebenen Annahmen und Gesetze einen Flummi-Simulator dar.
 
 
//***************************************************************
//*                        FLUMMI SIMULATOR                     *
//***************************************************************
using namespace std;
#include <iostream>
#include <math.h>
 
typedef double F(double, double, double);
 
const double PI = 3.14159265;
const double k = 0.000430884; //Luftreibungskoeffizient
const double m = 0.05; //Masse des Flummis
const double g = 9.81; //Erdbeschleunigung
const double D = 15000; //Federkonstante des Flummis
const double r = 20; //Reibungskoeffizient für die viskose Reibung bei der Verformung des Flummis
 
//Runge-Kutta-2-Verfahren
void rk2(F f1, F f2, double y10, double y20, double a, double b, double h){
    double y1 = y10;
    double y2 = y20;
    double y1new;
    double y2new;
    for (double t = a; t < b; t = t + h) {
        cout << t << "\t" <<  y1 << "\t" << y2 << endl;
        y1new = y1 + h*f1(t+(h/2), y1 + (h/2)*f1(t,y1,y2), y2 + (h/2)*f2(t,y1,y2));
        y2new = y2 + h*f2(t+(h/2), y1 + (h/2)*f1(t,y1,y2), y2 + (h/2)*f2(t,y1,y2));
        y1 = y1new;
        y2 = y2new;
    }
    cout << endl;
    cout << endl;
}
 
//Implementierung der Differentialgleichung
double x(double t, double phi1, double phi2){
    return phi2;
}
double v(double t, double phi1, double phi2){
    double toreturn = 0;
 
    if (phi2 < 0) {
        toreturn = (k/m * pow(phi2,2)) - g;
    }
    else {
        toreturn = -(k/m * pow(phi2,2)) - g;
    }
 
    if (phi1 < 0) {    
        toreturn = toreturn + (-D*phi1 -r*phi2);
    }
    return toreturn;
}
 
// Hauptprogramm
int main() {
    rk2(x, v, 10, 0, 0, 10, 0.0001); //Durchführung der Simulation (-,-, Startposition x0, Anfangsgeschwindigkeit v0, Startzeitpunkt a, Endzeitpunkt b,Schrittweite h)    
}
 
Die Parameter k, m, r und D können im oberen Teil angepasst werden (bei den const double- Zeilen), Anfangshöhe und Anfangsgeschwindigkeit werden der Funktion rk2 als Argumente in der vorletzten Zeile des Codes mit auf den Weg gegeben.
Ein erster Test mit den frei erfundenen Parametern r = 0.5, D = 2000, k = 0.00040, m=0.03 und der Anfangshöhe 56.7m (die Höhe der ersten Aussichtsplattform des Eiffelturms) lässt das typische Sprungverhalten des Flummis wiedererkennen.
 
simulator demo
 
Als konkretes Fallbeispiel dient nun ein gewöhnlicher Flummi mit einem Durchmesser von 4,5cm und einer Masse von 50g. Der Koeffizient k berechnet sich dann zu 0.000430884. Der Gummiball wurde aus einer Höhe von 2,00m über Parkettboden fallen gelassen. Mithilfe eines Mikrofons konnten die exakten Zeiten gemessen werden, wann es zum Rückstoß am Boden kam. Mit \(h=\frac{1}{8} g T^2\) und den Zeitdifferenzen T zwischen zwei Bodenwechselwirkungen ist eine Abschätzung der Scheitelhöhen möglich, ohne diese gesondert durch Messung zu erfassen. Die nachfolgende Tabelle hält die so experimentell gewonnenen Datenpunkte fest.
 

t/s h/m t/s h/m
0.643883 0 1.1714113447 1.3649935875
1.6989396893 0 2.1439283515 0.9712631307
2.5889170136 0 2.9667628186 0.7002743538
3.3446086236 0 3.6682027279 0.513617973
3.9917968322 0 4.268712932 0.3761277916
4.5456290317 0 4.7839623651 0.278617625
5.0222956984 0 5.2275791451 0.2067030446
5.4328625918 0 5.6110938844 0.1558141608
5.7893251769 0 5.9443591905 0.1178943501
6.0993932041 0 6.2345972857 0.0896641048
6.3698013673 0 6.4876585102 0.0681319515
6.6055156531 0 6.7077378753 0.0512542222
6.8099600975 0 6.8986108912 0.0385482146
6.9872616848 0 7.0642117982 0.0290440743
7.1411619116 0 7.2080439977 0.021941112
7.2749260839 0 7.3327265374 0.0163870774
 

 
Nun wird versucht, durch gezieltes Anpassen der Parameter D und r den theoretischen Verlauf aus der Simulation und den experimentellen aus obiger Tabelle miteinander in Einklang zu bringen. Dies ist beispielsweise für D = 1000 und r = 0.75 (ohne Einheiten) auf ausreichend überzeugende Weise der Fall.
 
 
Gezieltes Herumprobieren zeigt, dass es mehrere Möglichkeiten für D und r gibt; ein Hinweis darauf, dass die einzelnen Werte dieser Variablen bedingt durch die provisorischen Umstände dieses Experiments (keine gesonderte Berücksichtigung der Dämpfung durch den Parkettboden, Rotation des Flummis und horizontale Positionsänderung etc.) nicht besondern ernst zu nehmen sind. Doch kann davon ausgegangen werden, dass eine plausible Wahl von D und r zusammen die Dämpfung durch den inelastischen Stoß zwischen Flummi und Boden unabhängig davon, ob die tatsächlichen Werte per se plausibel erscheinen, ausreichend gut beschreibt und modelliert.
Um nun wieder zur Behandlung der ursprünglichen Frage zu kommen, wie hoch denn ein Flummi springen kann, d.h. welche Höhe er nach der ersten Wechselwirkung mit dem Boden erreicht, nutzen wir die angefertigte Simulationssoftware und lassen den Flummi aus verschiedenen Starthöhen herunterfallen.
 
sprungverhalten große anfangshoehen
 
Das in der Abbildung visualisierte Ergebnis offenbart, dass mit zunehmender Anfangshöhe, aus der der Flummi fallen gelassen wird, zunächst auch die Sprunghöhe nach einem Aufprall konsequent ansteigt, allerdings ab etwa 200m Anfangshöhe unterhalb von 40m stagniert. Das bedeutet, dass auch wenn der Flummi aus einer Reiseflughöhe von 10km in Richtung Erdboden stürzt, seine Rückstoßhöhe die 40m-Marke nicht überschreiten wird. Grenzwerte in der selben Größenordnung werden sich für alle gewöhnlichen Gummibälle ergeben, nicht nur für den hier exemplarisch untersuchten.
 
Der Grund für diese maximale Rücksprunghöhe liegt in den Dämpfungstermen, zu denen die Reibung durch den Luftwiderstand sowie die viskose Gummiverformung bei Bodenkontakt zählt. Sie sind den antreibenden Termen, nämlich der Gewichtskraft bzw. der Rückstoßkraft bei verformten Gummiball welche eine Beschleunigung des Flummis bewirken, entgegengesetzt und bremsen ihn ab. Da die Dämpfungsterme geschwindigkeitsabhängig sind, gibt es eine maximale Geschwindigkeit, ab der die dämpfende Wirkung überwiegt und eine weitere Geschwindigkeitszunahme unmöglich macht. Aus diesem Grund kann es nicht sein, dass, wenn der Flummi aus einer immer größeren Anfangshöhe fallen gelassen wird, auch die Sprunghöhe nach dem ersten Aufprall unbegrenzt immer weiter steigt, in der sich die Geschwindigkeit des Gummiballs unmittelbar nach dem inelastischen Stoß am Boden äußert. Stattdessen verhält es sich so wie bei einem Fallschirmspringer, der aus einem Flugzeug springt und dank des Luftwiderstands nicht auf ewig beschleunigt, sondern dessen Geschwindigkeit etwa 200km/h nicht überschreitet. So wird auch ein Flummi mit einer Anfangshöhe von 1km, 10km oder 100km bei seinem ersten Bodenkontakt nicht viel schneller als etwa 120km/h sein, verliert weitere Energie bei seiner Verformung beim Aufschlag, wird wiederum auf seinem Weg nach oben durch den Luftwiderstand gebremst und kommt schließlich auf gerade mal eine Sprunghöhe, die deutlich unter 100m liegt.

2016-04-05 15:07:46