Hallo Community
2 Dinge Vorweg
* meine Letzte Mathe/Physik Vorlesung ist schon eine Weile her und ich hatte das nur im Nebenfach (bin Informatiker)
* Die Prämise unter der der folgende Beitrag steht, basiert auf einem System, das am Ende nur in einfacher Genauigkeit rechnen kann
Ich schlag mich sein einiger zeit mit dem Gedanken herum, wie eine Objekt relativistisch beschleunigt, wenn man eine konstante Kraft anlegt. Zur vereinfachung erzeugt das Objekt diese Kraft selber (Schub) und das Universum ist leer (keine anderen kräft) und unbewegt (wie starten bei v0 = 0). Keep thinks simple.
Mein erster versuch das Problem zu lösen, ging über den relativistischen Impuls:
F = dP / dt = [P(v0+dv) - P(v0)] / dt
mit P(v) = m0 * v / L(v) => L(v) = sqrt(1-(v/C)²)
F = [m0 * (v0+dv) / L(v0+dv) - m0*v0/L(v0)] / dt
F = m0/dt +[(v0+dv)/L(v0+dv) - v0/L(v0)]
Hier scheitere ich an meinen eingeschränkten Mathe-Fähigkeiten. Ich bekomme den Term dv/dt nicht so isoliert, dass ich eine Integration starten kann.
Da ich etwas frustriert war und ein Ergebnis haben wollte, habe ich den Holzhammer ausgepackt: den Ansatz als Informatiker/Ingenieur (kein Schreck bekommen, Kaffe schon mal wegstellen!)
P(v) = m0 * v / L(v)
=> hier stumpf dv eingesetzt ergibt
P(dV) = m0 * dv / L(v)
=> da L(dV) keinen sinn ergibt, lass ich erstmal L(v) einfach in der Formel.
F = dP/dt = m0 / L(v0) * dv/dt
mit a = dv/dt
F = m0 / L(v0) * a
für kleine a und dt sollte man L(v0) als konstant betrachten können. Also
a = F/m0 * L(v0)
womit a auch als konstant ist und man die klassischen formeln verwenden kann.
Um ein "Ergebnis" zu bekommen muss man nun numerisch integrieren.
speed = initialSpeed;
deltaTime = 1ms;
for (time = 0; time < maxTime; time+=deltaTime)
{
speedFactor = speed / Constants.SpeedOfLight;
lorenz = Sqrt(1 - speedFactor²);
speed += acceleration * lorenz * deltaTime;
}
Das ganze lieferte auch erstmal "anschauliche" Ergebnisse und passte "vom Algoritmus her" gut zur Umgebung. (Man kann viel vorberechnen, die Methode wird eh im ms-Takt aufgerufen, somit ist deltaTime immer hinreichend klein).
So wirklich zufrieden war ich mit dem Ansatz jedoch nie. Dann wurde das Video von Herr Kroll bei YT released, wo es um die "Relativistische Raktenbewegung" ging. Zu meiner Enttäuschung, setzt er in seinem Beispiel die Beschleunigung als Konstant voraus und setzt den LorenzFaktor einfach in die Geschwindigkeitsgleichung. Dazu macht er ihn "einfach" von t abhängig via L(t) = sqrt(1-(a*t/C)²). Ich war etwas erstaunt, dass man das so einfach machen darf. Das war jedoch der Denkanstoß, den ich brauchte: was der darf, darf ich auch (hoffe ich ... irgendwie)
Ich definiere mir den zeitabhängigen LorenzFaktor wie folgt:
wobei tmax erstmal unbekannt ist und noch ermittelt werden muss.
daraus foglt a(t):
a(t)=F/m0*L(v0)*L(t)
=> Den L(v0) braucht es für den Fall, dass das Objekt schon inital beschleunigt ist.
=> zur Vereinfachung ersetze ich F/m0*L(v0) = a0. Dieser Wert ist konstant und somit kein Problem.
Somit muss man nur noch L(t) integrieren und bekommt folgende Formel für v(t)
v(t) = a0 * tmax/2 * arcsin(t/tmax) + a0 *t/2*L(t) + v0
vmax = C = v(tmax)
C = a0 * tmax/2 * arcsin(tmax/tmax) + a0 *t/2*L(tmax) + v0
=> arcsin(tmax/tmax) = arcsin(1) = PI/2
=> L(tmax) = 0
C=a0 * tmax/2 * PI/2 + v0
C-v0=a0*PI*tmax/4
tmax = 4(C-v0)/(a0*PI)
somit ergibt sich final
v(t) = a0 * 4(C-v0)/(2*a0*PI) * arcsin(t/tmax) + a0 *t/2*L(t) + v0
v(t) = 2(C-v0)/PI * arcsin(t/tmax) + a0 *t/2*L(t) + v0
Für eine CPU kann man das ganze noch weiter zusammenfassen/vereinfachen aber das wird unübersichtlich.
Meine abschließende Frage ist nun. Darf ich einfach L(t) und a(t) so definieren wie ich es getan habe? Wenn das kompletter Murks ist, was wäre der korrekte weg?
PS: Mein versuch meine Formel in F=dP/dt mit P(t) = m0*v(t) einzusetzten und zu überprüfen, dass nur F überbleibt, bekomme ich nur mit Tricks und Kniffen so hingeboben, das so etwas ähnliches wie F auskommt (bei mir bleibt ein Faktor 1/2 über).