Sicherlich hat jemand die Lösungen für die harten Sphärenkollisionen gefunden (in Dimensionen) zweier Massekörper Und , also die resultierenden Geschwindigkeiten (oder Impulse) der beiden Körper nach einem harten Kugelstoß gegeben Und . Ich habe eine Lösung (sowohl für elastische als auch für unelastische Kollisionen), aber ich frage mich, ob sie richtig ist oder nicht.
Zu Ihrer Information, hier sind meine Lösungen für elastische Kollisionen mit harten Kugeln:
wo in Richtung der "harten Kugel" (dh des Einheitsvektors, der die beiden Mittelpunkte der beiden Kugeln verbindet). Sie können sehen, dass meine Formulierung trivial den Impuls konserviert – die Frage ist, ob sie auch Energie konserviert oder nicht.
Wenn es hilft, hier ist meine vollständige Erklärung . Zu diesem Zweck sollten Sie zum Abschnitt über n-dimensionale Fälle (Seite 6) springen. Ich habe dies als Referenz für mich selbst geschrieben, um Physiksimulationen durchzuführen, da ich keine Referenz zu Kollisionen mit harten Kugeln finden konnte (außer Referenzen, die das Problem aufstellen, die keine Lösungen liefern).
Hier ist eine verkürzte Arbeit zum Finden der letzten Impulse aus dem elastischen Fall:
Genau wie im Im D-Fall addieren und subtrahieren wir den gleichen Impuls von jedem Teilchen - außer dass wir jetzt einen Vektor addieren und subtrahieren: , was bedeutet, dass (so dass Und ). Dies ergibt die Endenergie als:
Wir schreiben die Endenergie nun in der Größenordnung von und das Skalarprodukt dazwischen Und und ebenso für . Beachten Sie, dass, wenn Sie die Richtung für wählen um a priori zu wirken (wie im Fall der harten Kugel), die Skalarprodukte Und bekannt werden:
Wie gewohnt vereinfacht die elastische Hülle enorm:
Dies führt zu einer trivialen Lösung von (es kommt zu keiner Kollision) und:
Daher meine Lösungen von:
Koordinatentransformationen verkomplizieren das Problem nur. Der Kern der Sache ist, dass Sie in n Dimensionen n Freiheitsgrade für die Geschwindigkeiten der COM jeder Kugel haben, und Sie haben nur n Impulserhaltungsgleichungen plus eine Energieerhaltungsgleichung. Das bedeutet, dass Sie weitere n-1 Gleichungen benötigen, um das Problem zu lösen.
Die zusätzlichen Gleichungen ergeben sich aus der Tatsache, dass, wenn Sie einen reibungsfreien Aufprall* annehmen, der auf jedes Objekt ausgeübte Impuls/Kraft senkrecht zur Oberfläche sein muss. Dadurch wird die Richtung des Impulses eingeschränkt. Zusammen mit der Magnitude würde uns diese Richtung n Freiheitsgrade geben. Ohne sie erhalten wir also n-1: genau die Zahl, die wir brauchen.
Da wir Kugeln haben, ist die Richtung senkrecht zur Aufprallfläche der Vektor, der von einer COM zur anderen zeigt. Nennen wir diesen Normalvektor .
Nun können die Geschwindigkeiten der Kugeln A und B angegeben werden als Und vor dem Zusammenstoß u Und nach der Kollision.
Nennen wir den Impuls, der auf Ball A übertragen wird . Dann haben wir:
Dann können wir die Energieerhaltung (multipliziert mit 2) schreiben als:
Das Einsetzen für unsere Geschwindigkeiten nach der Kollision ergibt:
Division durch die Größe von Erträge:
Nennen wir den Vektor, der vom Mittelpunkt von Ball B zum Mittelpunkt von Ball A zeigt . Das wissen wir vor dem Aufprall Wo ist der Unterschied in den Ausgangspositionen der Kugeln Und ist die Differenz der Anfangsgeschwindigkeiten der Kugeln .
Im Moment des Aufpralls:
Wir können diese zweite Gleichung transformieren, um t zu finden:
Wenn diese Zeit negativ oder imaginär ist, wird die Kollision nicht stattfinden. Ansonsten im Moment des Aufpralls kann durch Einstecken von t gefunden werden:
Also Ausgangspositionen gegeben Und , Anfangsgeschwindigkeiten Und , und Kugelradien Und die Endgeschwindigkeiten Und finden Sie nach folgendem Verfahren:
Berechnen Sie die relativen Positionen und Geschwindigkeiten:
Einwirkzeit berechnen:
Berechnen Sie die Impulsrichtung:
*Die Kollision muss reibungsfrei sein, wenn wir Trägheitsmomente nicht berücksichtigen, da jede Reibung ein Drehmoment auf die Kugel ausüben würde, das Energie und Rotationsträgheit auf die Kugel übertragen würde. Das Problem wird in diesem Fall etwas komplizierter, da man annehmen muss, wie die Reibung dazu führt, dass die Kugeln interagieren, was nicht trivial ist, da viele der einfachen Annahmen mit der Energieerhaltung in Konflikt stehen.
Hier ist eine allgemeine Abbildung einer Kollision harter Kugeln, die im Massenmittelpunkt der Masse gezeichnet ist vor dem Zusammenstoß. An diesem Rahmen ist der schwarze Punkt angebracht.
Um das Problem zu lösen, müssen Sie beobachten
Ich habe ein 2D-Problem gezeichnet, also hast du vier Unbekannte (zwei für und zwei für ). Und es gibt vier Gleichungen (eine für Energie und Drehmoment, zwei für Impuls). Das Problem ist also gelöst.
In drei Dimensionen haben Sie unbekannt, Energieerhaltung liefert eine Gleichung, Impulserhaltung liefert Gleichungen und Drehmomenterhaltung bietet zwei.
Dieser Thread ist etwas alt, aber ich dachte, ich würde mich einmischen, falls jemand nach dieser Antwort sucht. Kurz gesagt, Tom-Tom liegt mit seiner Analyse des Problems genau richtig. Ich werde dies jedoch für einen vollständigen 3D-Fall schrittweise aufschlüsseln und versuchen, einige der Punkte zu erklären, über die es Streit gab (z. B. Drehimpuls).
Zunächst einmal sind hier die Annahmen, mit denen wir arbeiten:
Ich werde nicht jeden der Begriffe wirklich lösen (es wird ziemlich chaotisch), aber ich werde skizzieren, wie der Prozess abläuft. Der Vollständigkeit halber gehe ich nicht davon aus, dass wir wissen, dass die Körper kollidieren werden. Wir werden im Rahmen der Analyse sehen, dass diese Bestimmung ziemlich leicht hinfällig wird.
Hier ist das Verfahren:
1) Bewegen Sie sich zuerst zum Ruhesystem eines der Partikel. Jetzt vergleichen wir einen Punkt und eine 3D-Linie, was die Geometrie stark vereinfacht, anstatt zwei 3D-Linien.
2) Erinnern Sie sich an den grundlegenden Beweis der 3D-Geometrie, dass eine Linie und ein Punkt im 3D-Raum immer in einer einzigen Ebene enthalten sein können. Wir können im Prinzip eine Koordinatentransformation (Rotation in Und in sphärischen Koordinaten um das Teilchen am Ursprung).
3) Gut, jetzt haben wir eine Linie und einen Punkt in einer einzigen Ebene. Es sollte offensichtlich sein, dass eine andere Drehung (im Polarwinkel) sicherstellen kann, dass sich das sich bewegende Teilchen nur auf der x-Achse bewegt. Dies reproduziert ein Bild wie die erste Figur, die Tom-Tom gepostet hat. Jetzt haben wir unser 3D-Problem auf das 2D-Problem reduziert, für das Tom-Tom eine Methode angegeben hat!
4) Kollisionserkennung: Woher wissen wir, ob sie getroffen haben? Wir müssen 2 Dinge überprüfen: 1) ist , Wo sind die Radien und der Schlagparameter ist; 2) Wir müssen überprüfen, ob das sich bewegende Teilchen hineinkommt der x-Achse. Das ist nur der Satz des Pythagoras für das Dreieck, das die Kugeln bei Kontakt bilden. Sind beide Kriterien erfüllt, liegt eine Kollision vor.
5) Jetzt sind wir alle eingerichtet und arbeiten mit Tom-Toms Lösung. Ich werde den Rest nicht ausarbeiten, aber ich werde ein paar Notizen machen, um Verwirrung zu beseitigen.
Drehimpuls: Im Gegensatz zu Jareds Kommentar oben können wir im Allgemeinen kein Koordinatensystem auswählen, in dem der Drehimpuls Null ist. Der Drehimpuls wird nur in zwei Spezialfällen Null sein: 1) die Teilchen sind zueinander in Ruhe; 2) das sich bewegende Teilchen wird direkt auf das stationäre Teilchen zugesteuert. Warum? . Wenn die Teilchen in Ruhe sind, (Offensichtlich haben wir auch in diesem Fall keine Kollision). Wenn der Impact-Parameter Null ist, bedeutet das Und sind aneinandergereiht. Abrufen, , Wo ist der Winkel zwischen den beiden Vektoren. Im Fall, . In allen anderen Fällen ist der Drehimpuls ungleich Null, egal welches Koordinatensystem Sie wählen!
Die Radien sind wichtig! Sie gehen in die Drehimpulsgleichung ein. Um die Drehimpulsgleichung zu lösen, beachten Sie zunächst Folgendes , daher ist der Winkel zwischen dem Impuls und dem radialen Vektor Null, was den Drehimpuls des zweiten Körpers als Null ergibt (wie die Tom-Tom-Gleichung angezeigt hat). Sie sind für die erste Sphäre nicht parallel. Ein paar Minuten auf die Geometrie zu starren sollte Sie eher davon überzeugen , Wo ist der Vektor, der vom Mittelpunkt des Körpers 1 zum Mittelpunkt des Körpers 2 zeigt. Dieser Vektor hat einen Betrag . Wir können dann den Satz des Pythagoras verwenden, um zu brechen in Komponenten (Anmerkung: die y-Komponente ist nur b). Die x-Komponente wird sein . Wir verwenden die obige Vektoraddition zum Eliminieren für . Hinweis: t ist beliebig und kann auf 1 gesetzt werden. Führen Sie abschließend das Drehimpuls-Kreuzprodukt durch. Sie werden sehen, dass die Term überlebt und wird daher in Ihre endgültigen Gleichungen eingehen!
Von diesem Punkt an ist es nur noch chaotische Algebra. Wir haben 4 Unbekannte und 4 Gleichungen. Lösen Sie diese Gleichungen, und Sie haben die Geschwindigkeiten. Ein wenig zusätzliche Arbeit kann Ihnen sagen, wann genau die Kollision auftritt, was für Simulationen wichtig ist, und Ihnen sagen, wie weit Sie die Kugeln mit der neuen Geschwindigkeit nach der Kollision verschieben müssen (um dem Zeitschritt der Simulation zu entsprechen).
Der allerletzte Schritt, nachdem Sie das alles getan haben, besteht darin, daran zu denken, wieder in die Systemkoordinaten umzuwandeln. Rollen Sie dazu einfach alles rückwärts ab und drehen Sie die Zeichen der Winkel und Übersetzungen um.
Hoffe, das klärt die Dinge für jemanden auf, der sich mit diesem Problem befasst. Dies ist ein klassisches dieser Probleme, das scheinbar trivial einfach sein sollte, sich aber im Allgemeinen als ziemlich kompliziert zu lösen herausstellt.
AKTUALISIEREN
Das alles brachte mich zum Nachdenken und ich ging zurück, um das Problem noch einmal ein wenig zu untersuchen. Kurz gesagt, das Problem stellt sich als viel subtiler heraus, als ich ursprünglich dachte. Hier ein paar neue Kommentare:
Der Grund, warum Sie den Drehimpuls benötigen, ist, dass der Drehimpuls erhalten bleiben muss , damit die Simulation physikalisch ist. Wenn Sie den Drehimpuls brechen, brechen Sie die Rotationsinvarianz Ihres Systems. Wenn Sie eine einfache Spiel-Engine erstellen, ist das vielleicht in Ordnung, aber wenn Sie versuchen, Physik zu machen, ist das definitiv nicht erlaubt. Die Drehimpulserhaltung macht die Radien wichtig.
Ich muss das, was ich über den Spin gesagt habe, zurückziehen. Spin ist notwendig (wie ich unten zeigen werde). Die Newtonsche Gravitation kann jedoch nicht die Quelle des Spins sein. Um Spin einzuführen, muss ein Nettodrehmoment vorhanden sein. Erinnern Sie sich daran für jedes (konservative) Potential der Form , ist die Kraft einer Kugel gleich der Kraft eines Punktes in ihrem Mittelpunkt. Kurz gesagt, jedes Drehmoment, das auf einer Seite der Kugel erzeugt würde, wird von der anderen Seite aufgehoben, und nur die Kraft entlang der radialen Linie überlebt. Die Newtonsche Gravitation ist eindeutig ein Potential dieser Form (wie zB Coulomb, Yukakawa und fast jedes "echte" Potential, mit dem wir uns befassen).
Also habe ich eine Lösung ausgearbeitet, die linearen Impuls, Drehimpuls und kinetische Energie berücksichtigt. Ich setze hier nur die x-Komponente des Geschwindigkeitsvektors ein (die anderen hängen einfach zusammen, indem ich dies wieder in die Gleichungen einsetze:
Wenn Sie neugierig sind, wird der folgende Code dieses Ergebnis in Mathematica erhalten:
(* Setup vectors: No Q *)
vi = {v1x, 0, 0};
v1 = {v1xf, v1yf, 0};
v2 = {v2xf, v2yf, 0};
\[Alpha] = {-Sqrt[(R1 + R2)^2 - b^2], b, 0}; (* The vector that connects the two centers at impact *)
r1 = \[Alpha] +
v1 \[CapitalDelta]t; (* NOTE: \[CapitalDelta]t should drop out! *)
r2 = v2 \[CapitalDelta]t;
(* Physics *)
Eqns0 = Simplify[{
m1 (vi.vi) == m1 (v1.v1) + m2 (v2.v2)(*+Q m1(vi.vi)*),
m1 v1x == m1 v1xf + m2 v2xf,
0 == m1 v1yf + m2 v2yf,
m1 v1x b == (m1 (r1 \[Cross] v1) + m2 (r2 \[Cross] v2))[[3]]
} /. {m1 -> m, m2 -> \[Mu] m, b -> \[Beta] (R1 + R2)},
\[Beta] < 1 && \[Beta] >= 0 && m > 0 && \[Mu] > 0 && R1 > 0 &&
R2]; Eqns0 // MatrixForm
Eqns1 = Eqns0 /. Solve[Eqns0[[2]], v2xf] //
Flatten; Eqns1 // MatrixForm
Eqns2 = Eqns1 /. Solve[Eqns1[[3]], v2yf] //
Flatten; Eqns2 // MatrixForm
(Eqns2[[1]] /. Solve[Eqns2[[4]], v1yf] // Flatten)[[1]]
FullSimplify[
Solve[%, v1xf], \[Beta] < 1 && \[Beta] >= 0 && m > 0 && \[Mu] > 0 &&
R1 > 0 && R2] // Flatten
Ich habe alles in dimensionslose Einheiten gebracht, um das Ergebnis transparenter zu machen. Speziell, ist das Verhältnis , ist das Verhältnis , Wo ist der Schlagparameter. Beachten Sie, dass Sie mit den dimensionslosen Parametern schnell überprüfen können, ob alle Terme auf der rechten Seite tatsächlich Geschwindigkeitsdimensionen haben.
Aber warte! Hier wird es interessant. Beachten Sie, dass der Begriff im Radikal für reale Situationen negativ werden kann, was zu komplexen Geschwindigkeiten führt. Das darf nicht sein. Wir können planen
vs
um die "erlaubte" Region anzuzeigen:
Das ist eindeutig ein Problem. Es ist durchaus physikalisch möglich z jeden Wert zwischen 0 und 1 annehmen, aber wir erhalten imaginäre Geschwindigkeiten, wenn ist im Vergleich zu groß .
Kurz gesagt, die Auflösung ist, dass (klassische) Streuung an harten Kugeln im Allgemeinen nicht elastisch sein kann (obwohl dies in speziellen Fällen der Fall sein kann). Ich werde gleich erklären, warum das so ist, aber zuerst werde ich eine Lösung vorstellen, die "funktioniert". Hier führe ich einen weiteren dimensionslosen Parameter ein , das ist das Verhältnis des Energieverlusts zur anfänglichen kinetischen Energie. Die modifizierte Lösung lautet:
Wir können jetzt plotten
vs.
für unterschiedliche Werte von
:
Es ist wichtig zu beachten, dass dies nur eine Grenze darstellt . Es sagt uns nicht, welchen Wert von Wir sollten ... benutzen. Mit anderen Worten, das Problem ist nicht mehr vollständig eingeschränkt. Also, was ist hier los und wie können wir es lösen?
Hier ist das Fazit: Die Streuung harter Kugeln ist nicht physikalisch! Um eine echte harte Kugel (dh undurchdringlich) zu haben, müsste die Kraft an der Oberfläche der Kugeln unendlich sein, dh das Kraftgesetz wäre eine Dirac-Delta-Funktion. Der erlebte Impuls wäre dann: . Dies ist undefiniert. Es ist daher nicht verwunderlich, dass wir aus der Streuung harter Sphären eine seltsame Physik bekommen könnten. Darüber hinaus ist es nicht verwunderlich, dass das Problem uneingeschränkt wäre.
Wir können aber noch ein bisschen mehr sagen. Bisher bin ich davon ausgegangen, dass wir den alten Standby verwenden könnten: . Aber diese Regel gilt nur für konservative Kräfte. Denken Sie daran, dass eine konservative Kraft eine pfadunabhängige Kraft ist. Mit anderen Worten, wenn Sie an Punkt beginnen und nehmen Sie einen beliebigen Weg, den Sie möchten, um zum Punkt zurückzukehren Das Potenzial bleibt gleich. Dies ist eindeutig nicht der Fall für die Streuung harter Kugeln. Jeder Pfad, der keine Kollision beinhaltet, wird sich dramatisch von jedem Pfad unterscheiden, der dies tut. Tatsächlich ist dies eine allgemeine Regel für jede wirklich lokalisierte Kraft (Anmerkung: Das Yukawa-Potenzial ist eine „lokalisierte“ Kraft, aber in Wirklichkeit hat es nur einen exponentiellen Abfall, also ist es keine lokalisierte Kraft in diesem Sinne).
Im Falle einer nicht-konservativen Kraft können wir nicht mehr verwenden . Stattdessen müssen wir die Helmholtz-Zerlegung verwenden, die besagt, dass jedes Kraftvektorfeld wie folgt zerlegt werden kann: . Das heißt, wir müssen ein Vektorpotential einführen.
Dies bringt uns zurück zum Begriff des Spins. Eine schnelle Berechnung verifiziert, dass das Vektorpotential im Allgemeinen ein Nettodrehmoment in den Streuprozess einführt, das einen Spin erzeugt (natürlich für sehr spezielle das wird nicht passieren).
Das eigentliche Problem ist jetzt das ist völlig unabhängig von dem Problem. Es ist verbunden mit , und damit die inneren Freiheitsgrade der Kugel. Aber wir haben von Anfang an angenommen, dass die Kugel eine „Black Box“ ist, für die wir keine Physik spezifizieren. Dies ist eine unphysikalische Annahme, und es stellt sich heraus, dass sie von Bedeutung ist. Die offensichtlichen internen Freiheitsgrade, die berücksichtigt werden müssen, sind der Spinvektor und die Temperatur (es ist eine ziemlich natürliche Annahme, dass Kollisionen zwischen realen Körpern den Wärmegehalt der Körper beeinflussen würden). Das obige Argument legt nahe, dass zumindest ein Teil dieser Energie in die Spinenergie fließen sollte, aber wahrscheinlich nicht alles. Wie viel in jeden dieser Freiheitsgrade einfließen sollte, hängt von den Besonderheiten der internen Physik ab.
Ich denke, das ist ungefähr so weit, wie wir mit dem Problem gehen können. Wenn wir das Problem vollständig spezifizieren wollen, müssen wir so etwas wie eine „Zustandsgleichung“ (analog) für die Sphären erstellen, die bestimmt, wie sich die Energie in Körpern verteilt. Eine vernünftige Annäherung könnte darin bestehen, nur ein Verhältnis von Temperatur zu Spin anzugeben, obwohl die physikalische Intuition nahe legt, dass höhere Aufprallparameter mehr Spin und weniger Temperatur übertragen sollten, also sollte dies vielleicht eine Funktion von sein . Ein spontaner Vorschlag wäre, Spin als Power Series in anzunehmen , wobei die Reihenkonstanten experimentell bestimmt oder durch detailliertere theoretische Modelle der inneren Physik der Körper geschätzt werden konnten.
Wenn Sie ein physikalisches Modell der Streuung wünschen, müssen Sie die Physik der Körper spezifizieren. Eine saubere Lösung, die für viele Fälle sinnvoll ist (z. B. tatsächliche makroskopische starre Körper wie Billardkugeln), wäre die Verwendung von Yukawa-Streuung. Das Yukawa-Potential ist konservativ und wurde speziell entwickelt, um die Effekte der elektrodynamischen Abschirmung zu approximieren, die in makroskopischen, (meistens) elektrisch neutralen Körpern auftritt.
m1 ([\Alpha] \[Cross] vi)
, was äquivalent ist zu -m1 v1x b
. Alle Ihre folgenden Ergebnisse müssen aktualisiert werden.
Ruslan
Tom-Tom
Jared
Jared
QMechaniker
Jared
QMechaniker
Jared
QMechaniker
John Alexiou
John Alexiou
John Alexiou
Jared