RegistrierenRegistrieren   LoginLogin   FAQFAQ    SuchenSuchen   
Ladungsverteilung auf Kugeloberfläche
Gehe zu Seite 1, 2, 3  Weiter 
Neue Frage »
Antworten »
    Foren-Übersicht -> Elektrik
Autor Nachricht
JJJane



Anmeldungsdatum: 05.01.2015
Beiträge: 11

Beitrag JJJane Verfasst am: 15. Dez 2024 11:10    Titel: Ladungsverteilung auf Kugeloberfläche Antworten mit Zitat

Hallo,

Wir sollen die Ladungsverteilung von bis zu 12 elektrischen Ladungen (erstmal alle mit Ladung +1) auf einer Kugeloberfläche numerisch berechnen. Abseits der mathematischen Lösung des Problems und der Code-Implementierung versuche ich gerade als ersten Schritt die Physik zu verstehen.

Mir ist intuitiv klar, dass wenn man das Problem einmal auf 2 Teilchen einschränkt, und annimmt, das eine Teilchen befindet sich am Nordpol der Kugel, dass das andere Teilchen seine finale Position am Südpol haben wird. Aber wie komme ich zu dieser (einmal auf 2 Teilchen eingeschränkten) Lösung?

Meinem physikalischen Verständnis nach üben die beiden Teilchen aufeinander eine Coulomb-Kraft:



Daraus ergibt sich die potentielle Energie wie folgt:



Diese potentielle Energie müsste nun minimiert werden, wobei sich das ganze Problem einmal auf der Einheitskugel (r=1) abspielt und in Kugelkoordinaten zu rechnen ist, d.h., dass das r die Großkreisdistanz der beiden Teilchen ist.

Wie kann ich aber aus diesen physikalischen Erkenntnissen die notwendigen DGL ableiten, deren Lösung ich dann in meinem Code implementieren müsste?

Vielen Dank!

JJJ
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5740

Beitrag DrStupid Verfasst am: 15. Dez 2024 11:33    Titel: Re: Ladungsverteilung auf Kugeloberfläche Antworten mit Zitat

JJJane hat Folgendes geschrieben:
Wie kann ich aber aus diesen physikalischen Erkenntnissen die notwendigen DGL ableiten, deren Lösung ich dann in meinem Code implementieren müsste?


Das schreit nach dem Lagrange-Formalismus. Allerdings sehe ich da zwei Probleme:

1. Die Lösung mit dem obigen Ansatz wird Dir kein Energieminimum liefern, sondern eine Oszillation. Du müsstest noch berücksichtigen, dass beschleunigte Ladungen Energie abstrahlen.

2. Warum willst Du das Ganze überhaupt physikalisch korrekt beschreiben, wenn es Dir nur um einen stabilen Endzustand geht? Ein rein mathematisches Optimierungsverfahren würde doch reichen.
JJJane



Anmeldungsdatum: 05.01.2015
Beiträge: 11

Beitrag JJJane Verfasst am: 15. Dez 2024 14:16    Titel: Antworten mit Zitat

An Lagrange habe ich natürlich auch gedacht, aber mir ging es in erster Linie mal darum, das Konzept zu verstehen und in ein DGLs zu gießen.

Muss ich die potentielle Energie ableiten und null setzendem sie zu minimieren? Aber ich habe ja die beiden Richtungen theta und phi zur Verfügung um mich vom Nordpol zu entfernen. Wie bekomme ich diese DGLs?


Zuletzt bearbeitet von JJJane am 15. Dez 2024 14:17, insgesamt einmal bearbeitet
377 Ohm



Anmeldungsdatum: 14.05.2024
Beiträge: 84

Beitrag 377 Ohm Verfasst am: 15. Dez 2024 14:16    Titel: Re: Ladungsverteilung auf Kugeloberfläche Antworten mit Zitat

JJJane hat Folgendes geschrieben:
Wie kann ich aber aus diesen physikalischen Erkenntnissen die notwendigen DGL ableiten, deren Lösung ich dann in meinem Code implementieren müsste?

Warum Differentialgleichungen? Es sind doch nur die Positionen der Ladungen gesucht, also 24 Zahlen bei 12 Ladungen. Die Ableitung des Gesamtpotentials nach jeder einzelnen dieser Koordinaten soll verschwinden. Das ergibt 24 Gleichungen mit 24 Unbekannten.

Natürlich spielt die Symmetrie eine große Rolle. Bei 4 Ladungen würde ich als Lösung einen Tetraeder vermuten, bei 8 einen Würfel. Weil man die Kugel beliebig drehen kann, wäre die Lösung nicht eindeutig und man hätte ein singuläres Gleichungsystem. (Die Aufgabe ist etwas hinterhältig ...) Aber man kann, ohne Beschränkung der Allgemeinheit, eine Ladung auf den Nordpol legen, und eine zweite auf den Nullmeridian.
JJJane



Anmeldungsdatum: 05.01.2015
Beiträge: 11

Beitrag JJJane Verfasst am: 15. Dez 2024 14:19    Titel: Antworten mit Zitat

Die Aufgabenstellung bezieht sich auf das numerische Lösen von DGL-Systemen. Meine Vermutung ist diese Minimierung der potentiellen Energie. Bekomme ich da nicht für ein 2-Teilchensystem auf der Kugel einfach zwei (gekoppelte?) DGLs?
377 Ohm



Anmeldungsdatum: 14.05.2024
Beiträge: 84

Beitrag 377 Ohm Verfasst am: 15. Dez 2024 14:28    Titel: Antworten mit Zitat

Und ich dachte, es geht um die Ladungsverteilung.
Differentialgleichungen liefern ja Funktionen, aber hier geht es nur um einzelne Koordinaten (Ruhelagen). Also die Stelle, an der die Ableitungen verschwinden. Man kann natürlich alles komplizierter machen ... smile
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5740

Beitrag DrStupid Verfasst am: 15. Dez 2024 14:50    Titel: Antworten mit Zitat

JJJane hat Folgendes geschrieben:
Muss ich die potentielle Energie ableiten und null setzendem sie zu minimieren?


Mit der Coulomb-Kraft hast Du doch schon die Ableitung. Davon musst Du nur noch die tangentiale Komponente ermitteln und Null setzen.

JJJane hat Folgendes geschrieben:
Aber ich habe ja die beiden Richtungen theta und phi zur Verfügung um mich vom Nordpol zu entfernen. Wie bekomme ich diese DGLs?


Genau das kannst Du mit dem Lagrange-Formalismus machen. Für die Lagrange-Funktion brauchst Du noch die kinetische Energie. Dann kannst Du die Lagrange-Gleichungen mit den generalisierten Koordinaten theta und phi konstruieren.

Es bleibt aber das Problem, dass die Lösung dieser Gleichungen keine Gleichgewichte, sondern Bewegung der Ladungen auf der Kugeloberfläche liefert. Um diese Bewegungen im Gleichgewicht enden zu lassen, musst Du zusätzlich etwas einbauen, was Energie aus dem System zieht (wie z.B. Strahlung oder Reibung). Das macht die Sache deutlich komplizierter.

Wenn es nur um die Gleichgewichtslage geht, dann würde ich weiterhin eine numerische Methode für die Minimierung der Energie (z.B. Gradientenverfahren) oder für die Lösung des von 377 Ohm erwähnten Gleichungssystems in Betracht ziehen.
JJJane



Anmeldungsdatum: 05.01.2015
Beiträge: 11

Beitrag JJJane Verfasst am: 15. Dez 2024 15:19    Titel: Antworten mit Zitat

Also DGLs sind meiner Meinung nach aus zweierlei Gründen notwendig:

1. Die Aufgabenstellung ist ja das numerische Lösen von DGLs.
2. Nein, es geht nicht nur darum, die 12 Positionen (24 Koordinaten) zu finden/haben, sondern die Ladungen sollen sich aus 12 Zufallspositionen in die Gleichgewichtslage begeben. Dafür brauche mich doch Bewegungsgleichungen, richtig?

Ich werde das mal mit Lagrange probieren. Mal sehen, was da rauskommt.

Ich experimentiere da ja mal nir mit 2 Teilchen mit gleicher Ladung herum, um das Problem und den Lösungsalgorithmus zu entwickeln. Am Ende ist das Problem etwas komplizierter (variabel bis zu 12 Teilchen, eines davon mit mehrfacher Ladung).
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5740

Beitrag DrStupid Verfasst am: 15. Dez 2024 16:00    Titel: Antworten mit Zitat

JJJane hat Folgendes geschrieben:
1. Die Aufgabenstellung ist ja das numerische Lösen von DGLs.


Dann ist die Aufgabenstellung unvollständig. Wie lautet der komplette Wortlaut?

JJJane hat Folgendes geschrieben:
2. Nein, es geht nicht nur darum, die 12 Positionen (24 Koordinaten) zu finden/haben, sondern die Ladungen sollen sich aus 12 Zufallspositionen in die Gleichgewichtslage begeben. Dafür brauche mich doch Bewegungsgleichungen, richtig?


Wenn für jede zufällige Startkonfiguration die zugehörige Gleichgewichtslage gesucht ist, dann brauchst Du die Bewegungsgleichungen. Aber wie ich schon mehrfach sagte, reicht Dein Ansatz dafür nicht aus.

JJJane hat Folgendes geschrieben:
Ich werde das mal mit Lagrange probieren.


Dafür musst Du erstens Deinen Ansatz um eine Bremskraft erweitern, für die in Deiner bisherigen Beschreibung der Aufgabe die notwendigen Informationen fehlen und zweitens musst Du berücksichtigen, dass das nicht mit der üblichen Form der Lagrange-Gleichungen geht.

Normalerweise sehen die Lagrange-Gleichungen so aus:



Wenn nicht-konservative Kräfte im Spiel sind, dann ist die rechte Seite dieser Gleichung nicht Null. Wenn ich mich recht entsinne, dann steht da sowas wie



Wobei Fn und rn Bremskraft und Ort des Teilchens n in kartesischen Koordinaten sind. Aber da fragst Du besser jemanden, der sich damit auskennt. Ich habe das noch nie auf diese Weise berechnet, sondern verwende in solchen Fällen die gute alte Newtonsche Mechanik.

JJJane hat Folgendes geschrieben:
(variabel bis zu 12 Teilchen, eines davon mit mehrfacher Ladung).


Was heißt mit "mehrfacher Ladung". Sollen da auch noch Dipole ins Spiel kommen?
Sonnenwind



Anmeldungsdatum: 25.04.2022
Beiträge: 906

Beitrag Sonnenwind Verfasst am: 15. Dez 2024 16:33    Titel: Antworten mit Zitat

Ich hatte sowas schon mal programmiert.

1) Ich habe nicht Längen- und Breitengrad verwendet, sondern x,y,z, weil Umrechnung viel zu kompliziert.

2) Ich benutzte Viskomechanik, bei der nicht die Beschleunigung, sondern die Geschwindigkeit proportional zur Kraft ist. Simuliert effektiv die Dämpfung.

3) Nach jeder Iteration sitzen die Ladungen nicht mehr auf der Kugeloberfläche, sondern sind tangential etwas weggewandert. Sie werden in jeder Iteration wieder auf die Kugeloberfläche projiziert.

Ich habe das nur programmiert, weil ich den Fall n=7 künstlerisch interessant fand, ansonsten ist die Aufgabenstellung möglicherweise für Liganden in der Chemie bedeutend.

_________________
Das Photon: Eine Geschichte voller Missverständnisse.
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 21442

Beitrag TomS Verfasst am: 15. Dez 2024 17:22    Titel: Antworten mit Zitat

Wenn man die resultierende DGL numerisch lösen will, muss man den Nabla-Operator in sphärischen Koordinaten verwenden, d.h. die Variation der Positionen in den Winkeln theta und phi berechnen.

Alternativ könnte man kartesische Koordinaten verwenden und den Lagrangian um eine entsprechende Zwangsbedingung erweitern, die die Ladungen auf der Kugeloberfläche festhält.

Für eine größere Anzahl von Ladungen erscheint mir eine stochastische Lösung mittels Simulated Annealing besser geeignet, da man nicht so leicht in lokalen Minima hängen bleibt.

Und speziell für N = 12 existiert tatsächlich eine einfache exakte Lösung.

_________________
Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.


Zuletzt bearbeitet von TomS am 15. Dez 2024 23:27, insgesamt 3-mal bearbeitet
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5740

Beitrag DrStupid Verfasst am: 15. Dez 2024 17:47    Titel: Antworten mit Zitat

TomS hat Folgendes geschrieben:
Für eine größere Anzahl von Punkten erscheint mir eine stochastische Lösung mittels Simulated Annealing besser geeignet.


Das ergibt aber auch nur irgend ein Gleichgewicht und nicht dasjenige, dass sich aus einem vorgegebenen Anfangszustand ergibt.
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 21442

Beitrag TomS Verfasst am: 15. Dez 2024 17:51    Titel: Antworten mit Zitat

Das verstehe ich nicht.
_________________
Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5740

Beitrag DrStupid Verfasst am: 15. Dez 2024 18:06    Titel: Antworten mit Zitat

Solange das System deterministisch ist, führen gleiche Startbedingungen immer zum gleichen Resultat - auch wenn es mehrere mögliche Gleichgewichtszustande gibt. Simuliertes Ausglühen liefert aber zufällig irgend eine der möglichen Lösungen.
Sonnenwind



Anmeldungsdatum: 25.04.2022
Beiträge: 906

Beitrag Sonnenwind Verfasst am: 15. Dez 2024 18:21    Titel: Antworten mit Zitat

Ist denn bewiesen, dass diese Fragestellung mehrere lokale Minima hat?

Kann man sowas überhaupt beweisen?

Beispielsweise hätte die entsprechende Fragestellung in 2D, also Ladungen auf einem Kreis, nur lokales Minimum = globales Minimum = symmetrische Verteilung.

_________________
Das Photon: Eine Geschichte voller Missverständnisse.
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5740

Beitrag DrStupid Verfasst am: 15. Dez 2024 18:32    Titel: Antworten mit Zitat

Sonnenwind hat Folgendes geschrieben:
Ist denn bewiesen, dass diese Fragestellung mehrere lokale Minima hat?

Kann man sowas überhaupt beweisen?


Man könnte es beweisen indem man ein Beispiel findet.

Sonnenwind hat Folgendes geschrieben:
Beispielsweise hätte die entsprechende Fragestellung in 2D, also Ladungen auf einem Kreis, nur lokales Minimum = globales Minimum = symmetrische Verteilung.


Das funktioniert so in 3D nicht. Es gibt zwar beliebig viele regelmäßige Polygone aber nur 5 platonische Körper. Und selbst im zweidimensionalen Fall würde ich mehrere Lösungen erwarten, wenn es genügend Teilchen mit unterschiedlicher Ladung gibt.
Sonnenwind



Anmeldungsdatum: 25.04.2022
Beiträge: 906

Beitrag Sonnenwind Verfasst am: 15. Dez 2024 18:56    Titel: Antworten mit Zitat

DrStupid hat Folgendes geschrieben:
Sonnenwind hat Folgendes geschrieben:
Ist denn bewiesen, dass diese Fragestellung mehrere lokale Minima hat?

Kann man sowas überhaupt beweisen?

Man könnte es beweisen indem man ein Beispiel findet.

Ja natürlich, wenn man zwei lokale Minima findet. Aber gibt es dann noch ein drittes oder viertes?

Kann man jemals wissen, ob man im globalen Minimum ist?

Ich glaube, das weiß nur Gott.

_________________
Das Photon: Eine Geschichte voller Missverständnisse.
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 21442

Beitrag TomS Verfasst am: 15. Dez 2024 20:43    Titel: Antworten mit Zitat

DrStupid hat Folgendes geschrieben:
Solange das System deterministisch ist, führen gleiche Startbedingungen immer zum gleichen Resultat - auch wenn es mehrere mögliche Gleichgewichtszustande gibt. Simuliertes Ausglühen liefert aber zufällig irgend eine der möglichen Lösungen.

Der Punkt ist, dass man mittels Gradient Descent o.ä. zumeist das nächste und häufig nur lokale Minimum findet, während man bei Simulated Annealing den gesamten Lösungsraum oft effizienter abtastet. Natürlich muss man in allen Fällen mehrere Runs durchführen. Ich probiere bei sowas normalerweise immer zunächst eine Monre-Carlo-Methode aus.

Im vorliegenden Fall habe ich das jetzt mal für N = 4, 6, 8 durchgeführt und überprüft; letzteres funktioniert einfach, indem man die auftretenden paarweisen Distanzen berechnet und mit denen der zu erwartenden platonischen Körper vergleicht. Für N = 8 erhält man numerisch interessanterweise nicht den Würfel.

Für größere N wird meine gerade gebastelte Implementierung schnell ineffizient, erstens weil ich für jeden Schritt immer die vollständige Energie neu berechne, nicht nur die für eine geänderte Position; und zweitens weil meine Methode des "Würfelns" neuer Positionsvektoren auch recht aufwändig ist. Ich bin gerade dabei, das zu verbessern.


Zuletzt bearbeitet von TomS am 15. Dez 2024 23:40, insgesamt 2-mal bearbeitet
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 21442

Beitrag TomS Verfasst am: 15. Dez 2024 20:54    Titel: Antworten mit Zitat

Sonnenwind hat Folgendes geschrieben:
Ist denn bewiesen, dass diese Fragestellung mehrere lokale Minima hat?

Kann man sowas überhaupt beweisen?

Erfahrungsgemäß verhält es sich in der Praxis so, dass derartige Probleme für hochdimensionale Konfigurationsräume fast immer lokale Minima aufweisen; man tut also gut daran, davon auszugehen, dass das auch hier der Fall ist.

Die Zahl der Dimensionen beträgt hier 12*(3-1) = 24.
MBastieK



Anmeldungsdatum: 06.10.2012
Beiträge: 1474
Wohnort: Berlin-Wedding

Beitrag MBastieK Verfasst am: 15. Dez 2024 21:00    Titel: Antworten mit Zitat

JJJane hat Folgendes geschrieben:
Wie kann ich aber aus diesen physikalischen Erkenntnissen die notwendigen DGL ableiten, deren Lösung ich dann in meinem Code implementieren müsste?


Muss es denn notwendigerweise über eine DGL oder FEM gelöst werden?

Ohne ein anwendbares Gefühl oder Verständnis von DGLs zu haben, würde ich es dennoch rein programmatisch realisiert bekommen, da ich ähnliches schon gelöst habe. Ich würde über ein Time-Delta gehen und die Kraft-Einwirkung auf ein Teilchen, die durch die restlichen Teilchen geschieht, über eine For-Schleife aufsummieren. Und eine Art Widerstand einbauen, um eine End-Position jedes Teilchens zu erhalten.

Darf die Lösung über Code beliebig sein, oder gibt es Vorgaben? Wie z.B. die schon erwähnte FE-Methode?

Nette Grüsse

_________________
„Ein Test für außerordentliche Intelligenz ist die Fähigkeit zwei gegensätzliche Ideen gleichzeitig zu verfolgen, ohne dabei verrückt zu werden.“ - F. Scott Fitzgerald

Was mit Energie-Aufwand gelernt, verteidigt man dementsprechend.


Zuletzt bearbeitet von MBastieK am 15. Dez 2024 23:05, insgesamt einmal bearbeitet
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 21442

Beitrag TomS Verfasst am: 15. Dez 2024 21:41    Titel: Antworten mit Zitat

JJJane hat Folgendes geschrieben:
... die Ladungen sollen sich aus 12 Zufallspositionen in die Gleichgewichtslage begeben. Dafür brauche ich doch Bewegungsgleichungen, richtig?

Ich sehe das jetzt erst.

Nein, dazu brauchst du nicht die Bewegungsgleichungen.

JJJane hat Folgendes geschrieben:
Diese potentielle Energie müsste nun minimiert werden, wobei sich das ganze Problem einmal auf der Einheitskugel (r=1) abspielt und in Kugelkoordinaten zu rechnen ist, d.h., dass das r die Großkreisdistanz der beiden Teilchen ist.

Zu minimieren ist nur



ohne den kinetischen Term, d.h. auch ohne eine Bewegung; gesucht ist der stationäre Grundzustand dieser Ladungen



Z.B. so: https://en.wikipedia.org/wiki/Gradient_descent

Zur Sicherheit könntest du aber auch die Aufgabe vollständig einstellen.
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5740

Beitrag DrStupid Verfasst am: 15. Dez 2024 22:35    Titel: Antworten mit Zitat

TomS hat Folgendes geschrieben:
JJJane hat Folgendes geschrieben:
... die Ladungen sollen sich aus 12 Zufallspositionen in die Gleichgewichtslage begeben. Dafür brauche ich doch Bewegungsgleichungen, richtig?

Ich sehe das jetzt erst.

Nein, dazu brauchst du nicht die Bewegungsgleichungen.


Auch auf die Gefahr hin, mich zu wiederholen: Ohne Lösung der Bewegungsgleichungen erhält man irgendein Minimum. Wenn es nur darum ginge, warum solte man dann konkrete Anfangfsbedingungen auswürfeln? Außerdem soll es ausdrücklich um das Lösen von Differentialgleichungen geehen.

Aus den spärlichen Informationen schließe ich, dass das Minimum berechnet werden soll, in dem ein reales System landen würde. Dafür fehlt allerdings die dafür notwendige Bremskraft. Weil ich nicht davon ausgehe, das man das mit der Bremsstrahung machen soll, fehlt hier irgendetwas. Ohne den vollständigen Wortlaut der Aufgabe kommen wir nicht weiter.
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 21442

Beitrag TomS Verfasst am: 15. Dez 2024 23:16    Titel: Antworten mit Zitat

DrStupid hat Folgendes geschrieben:
Aus den spärlichen Informationen schließe ich, …

Und ich schließe daraus auf etwas anderes, nämlich auf ein gut einhundert Jahre altes, sehr berühmtes Problem für die statischen Konfigurationen minimaler potentieller Energie 😁

DrStupid hat Folgendes geschrieben:
… erhält man irgendein Minimum.

Man erhält – bis auf Symmetrien – eine Menge eindeutiger Minima, für einige N sogar eindeutiger globaler Minima.

DrStupid hat Folgendes geschrieben:
Außerdem soll es ausdrücklich um das Lösen von Differentialgleichungen geehen.

Das tut es. Es gibt für dieses Problem diverse Ansätze.

_________________
Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5740

Beitrag DrStupid Verfasst am: 16. Dez 2024 09:36    Titel: Antworten mit Zitat

TomS hat Folgendes geschrieben:
Und ich schließe daraus auf etwas anderes, nämlich auf ein gut einhundert Jahre altes, sehr berühmtes Problem für die statischen Konfigurationen minimaler potentieller Energie


Das habe ich ursprünglich auch gedacht und deshalb vorgeschlagen irgendein Optimierungsverfahren zu verwenden. Das hat sich aber geändert, als die Forderung dazu kam "die Ladungen sollen sich aus 12 Zufallspositionen in die Gleichgewichtslage begeben". Wie willst Du ermitteln, aus welchen Ausgangspositionen sich die Ladungen in welche Gleichgewichtslage begeben, ohne die Bewegungsgleichung zu lösen?
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 21442

Beitrag TomS Verfasst am: 16. Dez 2024 12:07    Titel: Antworten mit Zitat

Ich habe jetzt mal drei Ansätze für N = 2 bis 12 ausprobiert:

1. simulated annealing, Python, selbst implementiert
2. gradient descent, Python, selbst implementiert
3. sequential quadratic programming, Python, aus scipy.optimize

3. ist natürlich super optimiert. Meine beiden habe ich schnell zusammengetickert: 1. ist etwas langsamer, 2. bleibt in lokalen Minima hängen. 1. und 3. funktionieren einwandfrei und liefern die aus der Literatur bekannten Ergebnisse für die Gleichgewichtspositionen.

DrStupid hat Folgendes geschrieben:
[... als die Forderung dazu kam "die Ladungen sollen sich aus 12 Zufallspositionen in die Gleichgewichtslage begeben". Wie willst Du ermitteln, aus welchen Ausgangspositionen sich die Ladungen in welche Gleichgewichtslage begeben, ohne die Bewegungsgleichung zu lösen?

1. simulated annealing, also ein random walk in die Gleichgewichtslage
2., 3.: mittels Gradienten in die Gleichgewichtslage

Ich verwende:



Der Update bei 1. erfolgt gemäß



wobei e_i ein zu r_i senkrecht stehender Zufalls-Einheitsvektor ist, sigma eine variable Schrittweite, und wobei ich zuletzt wieder auf die S³ projiziere.

Der Update bei 2. erfolgt gemäß



wobei die Ladung nun nicht zufällig sondern in Richtung des Gradienten verschoben wird, sigma wieder eine variable Schrittweite darstellt, und wobei ich zuletzt wieder auf die S³ projiziere.


Zuletzt bearbeitet von TomS am 16. Dez 2024 16:16, insgesamt 3-mal bearbeitet
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 21442

Beitrag TomS Verfasst am: 16. Dez 2024 12:19    Titel: Antworten mit Zitat

Hier die Ergebnisse mit der Anzahl der Ladungen, der Energie sowie dem Fehler ggü. dem Wert aus der Literatur.

Code:
sequential quadratic programming
2 0.4999999999196275 -1.6074497288798284e-10
3 1.7320505356788578 -1.5722468482692875e-07
4 3.6742344122201382 -5.491752241848502e-08
5 6.474691368764962 -1.949668770873103e-08
6 9.985281085710307 -2.8871464108348732e-08
7 14.452977346598626 -4.663494035384019e-09
8 19.67528770698988 -7.827591685938273e-09
9 25.75998637229105 -6.161064991516696e-09
10 32.716949252880525 -6.3306475617253e-09
11 40.59645008742303 -1.0409209716399914e-08
12 49.165252957932005 -2.035339785599888e-09

simulated annealing
2 0.5000000565167957 1.1303359137571078e-07
3 1.7320511364612905 1.8963721437614822e-07
4 3.6742376599662734 8.290070159233665e-07
5 6.474692922488261 2.2047201198027722e-07
6 9.985283953365865 2.5831679351107084e-07
7 14.453187247277631 1.4518342596137046e-05
8 19.675348543026338 3.084174766021519e-06
9 25.759996354403338 3.8134349678031754e-07
10 32.71912348329233 6.644944984812717e-05
11 40.596578666085996 3.156829830874841e-06
12 49.17180655717802 0.00013329534112838104
MBastieK



Anmeldungsdatum: 06.10.2012
Beiträge: 1474
Wohnort: Berlin-Wedding

Beitrag MBastieK Verfasst am: 17. Dez 2024 20:13    Titel: Antworten mit Zitat

JJJane hat Folgendes geschrieben:
die [12] Ladungen sollen sich aus 12 Zufallspositionen in die Gleichgewichtslage begeben.

Wenn die 12 Teilchen "zufallig" auf einer Kreislinie auf einem Äquator der Kugel starten, würden die sich dann quasi in eine weitere Dimension verteilen? Oder sich einfach nur auf dieser Kreislinie ausgeglichen verteilen, da die Kräfte ausserhalb des Äquators symmetrisch bzw. nicht vorhanden sind.

Nette Grüsse

_________________
„Ein Test für außerordentliche Intelligenz ist die Fähigkeit zwei gegensätzliche Ideen gleichzeitig zu verfolgen, ohne dabei verrückt zu werden.“ - F. Scott Fitzgerald

Was mit Energie-Aufwand gelernt, verteidigt man dementsprechend.
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5740

Beitrag DrStupid Verfasst am: 17. Dez 2024 20:45    Titel: Antworten mit Zitat

MBastieK hat Folgendes geschrieben:
Wenn die 12 Teilchen "zufallig" auf einer Kreislinie auf einem Äquator der Kugel starten, würden die sich dann quasi in eine weitere Dimension verteilen? Oder sich einfach nur auf dieser Kreislinie ausgeglichen verteilen, da die Kräfte ausserhalb des Äquators symmetrisch bzw. nicht vorhanden sind.


Theoretisch bleiben sie in einer Ebene aber praktisch nicht. Es genügen beliebig kleine Störungen, um alles räumlich zu verteilen.

Ich habe jetzt auch mal eine Simulation programmiert und festgestellt, dass eine Diferentialgleichung für phi und theta nicht so praktisch ist, wie man meinen könnte. Die Ableitungen von phi gehen an den Polen gegen unendlich. Das mögen die üblichen Integratoren überhaupt nicht.
MBastieK



Anmeldungsdatum: 06.10.2012
Beiträge: 1474
Wohnort: Berlin-Wedding

Beitrag MBastieK Verfasst am: 17. Dez 2024 20:55    Titel: Antworten mit Zitat

DrStupid hat Folgendes geschrieben:
Theoretisch bleiben sie in einer Ebene aber praktisch nicht. Es genügen beliebig koeine Störungen, um alles räumlich zu verteilen.

Ja, darauf wollte ich hinaus. D.h. theoretisch, dass nicht jede Anfangs-Position die selbe Endposition hat.

DrStupid hat Folgendes geschrieben:
Ich habe jetzt auch mal eine Simulation priogrammiert und festgestellt, dass eine Diferentialgleichung für phi und theta nicht so praktisch ist, wie man meinen könnte. Die Ableitungen von phi gehen an den Polen gegen unendlich. Das mögen die üblchen Integratoren überhaupt nicht.

Ich habe auch einen groben Quell-Code im Kopf, der ohne DGLs arbeitet, aber der würde mir zurzeit 1-2 Tage stehlen, um ihn umzusetzen. (Jede menge trigonometrische Projektionen.)

Eine stationäre oder zeit-unabhängige FEM-Umsetzung müsste eigentlich auf die gewünschte End-Position aller Teilchen führen müssen!?! Aber Zeit-Unabhängigkeit war ja nicht die Aufgabenstellung.

Nette Grüsse

_________________
„Ein Test für außerordentliche Intelligenz ist die Fähigkeit zwei gegensätzliche Ideen gleichzeitig zu verfolgen, ohne dabei verrückt zu werden.“ - F. Scott Fitzgerald

Was mit Energie-Aufwand gelernt, verteidigt man dementsprechend.
MBastieK



Anmeldungsdatum: 06.10.2012
Beiträge: 1474
Wohnort: Berlin-Wedding

Beitrag MBastieK Verfasst am: 17. Dez 2024 21:26    Titel: Antworten mit Zitat

Was ich mich Frage:
Soll die Kraft quasi nur auf Oberfläche der Kugel entlanglaufen(wie in einer Raum-Krümmung) und so auf die anderen Teilchen wirken? Oder durchdringt sie quasi die Kugel bzw. den normalen 3D-Raum, während die Teilchen auf der Kugel-Oberfläche gefangen sind? Beim Programmieren ohne DGLs wäre das relativ einfach, da man dann eigentlich nur eine Funktion bzw. Methode austauschen muss.

Man könnte für den ersten Fall auch eine Variante erzeugen, wo die Kraft quasi mehrfach um die Kugel rotiert* und sich so aufsummiert, aber ob dies letztendlich was ändert, weiss ich nicht. Ich schätze nicht.

*bzw. überlagert sich aufsummiert

Nette Grüsse

_________________
„Ein Test für außerordentliche Intelligenz ist die Fähigkeit zwei gegensätzliche Ideen gleichzeitig zu verfolgen, ohne dabei verrückt zu werden.“ - F. Scott Fitzgerald

Was mit Energie-Aufwand gelernt, verteidigt man dementsprechend.
Sonnenwind



Anmeldungsdatum: 25.04.2022
Beiträge: 906

Beitrag Sonnenwind Verfasst am: 17. Dez 2024 22:03    Titel: Antworten mit Zitat

MBastieK hat Folgendes geschrieben:
Was ich mich Frage:
Soll die Kraft quasi nur auf Oberfläche der Kugel entlanglaufen(wie in einer Raum-Krümmung) und so auf die anderen Teilchen wirken? Oder durchdringt sie quasi die Kugel bzw. den normalen 3D-Raum, während die Teilchen auf der Kugel-Oberfläche gefangen sind?

Um nicht komplett in Fantasie zu versinken, sollte man sich anschauen, wo das in der Praxis auftritt. Ich komme nur auf:

https://de.m.wikipedia.org/wiki/Komplexchemie
Räumliche Gestalt von Komplexen (Molekülgeometrie)

Allerdings fehlt hier die strenge Kugeloberflächenbedingung.

_________________
Das Photon: Eine Geschichte voller Missverständnisse.
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 21442

Beitrag TomS Verfasst am: 17. Dez 2024 22:56    Titel: Antworten mit Zitat

Das sind ein paar berechtigte Fragen.

Zunächst mal werden die Probleme häufig für ein Coulomb-Potential zwischen auf der Kugeloberfläche festgehaltenen Ladungen gestellt. D.h. die Kraft wirkt nicht tangential zur Oberfläche. Daher muss man entweder die Kraft geeignet berechnen d.h. auf die Tangentialebene projizieren oder die Verschiebung der Ladungen weg von der Kugeloberfläche durch Projektion auf letztere korrigieren - oder beides.

Arbeitet man mit sphärischen Koordinaten theta und phi, so tritt das Problem nicht auf, allerdings ist das aus anderen Gründen oft recht mühsam.

Für die Euler-Lagrange-Gleichung kann man in kartesischen Koordinaten plus Zwangsbedingung arbeiten, aber auch dann ist eine Korrektur der Positionen ratsam.

Außerdem muss man beachten, dass der Zeitschritt klein genug ist.

Ich habe nicht die Euler-Lagrange-Gleichung sondern das Wandern der Ladungen in die Potential-Minima berechnet. Dabei tritt ebenfalls das Problem auf, dass bei zu großen Schrittweiten im Gradientenverfahren die Ladung weit ab von der Kugeloberfläche landet und die anschließende Projektion auf die selbe keine Verbesserung der Energie liefert. Ich habe folgenden Update-Schritt implementiert:

Statt





verwende ich nun





D.h. ich versetze die Ladungen bei großen Gradienten nur maximal um sigma, so dass sie kaum von der Kugeloberfläche weglaufen. Damit ist mein Algorithmus sogar schneller als der von Python in scipy.optimize, jedoch etwas schlechter bzgl. der Genauigkeit.

Das ladungsweise clippen des Gradienten funktioniert bei den Euler-Lagrange-Gleichungen nicht.

Die bekannten Lösungen werden bzgl. der Geometrie sehr gut reproduziert. Das Gradientenverfahren bleibt nicht mehr in vermeintlichen lokalen Minima hängen; diese waren nur Artefakte der schlechten Numerik.

Ich habe die Verfahren auch mal mit 72 (132) Ladungen d.h. dem Fußball (u.a. geodesic spheres) getestet - funktioniert sehr gut (annealing langsamer).

Inzwischen habe ich außerdem die Wanderung der Punkte auf der Kugeloberfläche geplottet, hier mal für N = 12.

Der Code mit allen drei Methoden – davon zwei selbst implementiert – ist inkl. Grafik keine 300 Zeilen lang.

https://en.wikipedia.org/wiki/Thomson_problem
https://mathpages.com/home/kmath005/kmath005.htm



gradient_descent.png
 Beschreibung:

Download
 Dateiname:  gradient_descent.png
 Dateigröße:  58.74 KB
 Heruntergeladen:  150 mal


simulated_annealing.png
 Beschreibung:

Download
 Dateiname:  simulated_annealing.png
 Dateigröße:  132.96 KB
 Heruntergeladen:  147 mal


_________________
Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.


Zuletzt bearbeitet von TomS am 18. Dez 2024 06:12, insgesamt 2-mal bearbeitet
MBastieK



Anmeldungsdatum: 06.10.2012
Beiträge: 1474
Wohnort: Berlin-Wedding

Beitrag MBastieK Verfasst am: 17. Dez 2024 22:58    Titel: Antworten mit Zitat

Sonnenwind hat Folgendes geschrieben:
Um nicht komplett in Fantasie zu versinken, sollte man sich anschauen, wo das in der Praxis auftritt.

Manche Fantasien kann man in Logik giessen.

Interessant wäre auch, ob die von mir angesprochenen verschiedenen Methoden die selben End-Positions-Ergebnisse erzeugen. Aber egal.

Nette Grüsse

_________________
„Ein Test für außerordentliche Intelligenz ist die Fähigkeit zwei gegensätzliche Ideen gleichzeitig zu verfolgen, ohne dabei verrückt zu werden.“ - F. Scott Fitzgerald

Was mit Energie-Aufwand gelernt, verteidigt man dementsprechend.
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5740

Beitrag DrStupid Verfasst am: 18. Dez 2024 00:39    Titel: Antworten mit Zitat

MBastieK hat Folgendes geschrieben:
Interessant wäre auch, ob die von mir angesprochenen verschiedenen Methoden die selben End-Positions-Ergebnisse erzeugen. Aber egal.


Das sollten sie tun, wenn es nur eine Lösung gibt. Aber schon bei vier verschiedenen Ladungen erwarte ich zwei mögliche Lösungen. Dann hängt es vom Verfahren ab, bei welcher davon man landet. Dieses Problem habe ich oben schon mehrfach angesproichen. Das Ergebnis sollte nur von den Anfangsbedingungen abhängen. Dafür braucht man aber eine Bremskraft, die nicht gegeben ist.
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 21442

Beitrag TomS Verfasst am: 18. Dez 2024 06:17    Titel: Antworten mit Zitat

DrStupid hat Folgendes geschrieben:
Aber schon bei vier verschiedenen Ladungen erwarte ich zwei mögliche Lösungen. Dann hängt es vom Verfahren ab, bei welcher davon man landet. Dieses Problem habe ich oben schon mehrfach angesproichen. Das Ergebnis sollte nur von den Anfangsbedingungen abhängen. Dafür braucht man aber eine Bremskraft, die nicht gegeben ist.

Das Thompson-Problem – also das Minimieren der Coulomb-Energie für N identische Ladungen auf der 3-Sphäre – hat bis auf Symmetrie für die meisten kleinen N eindeutige Lösungen – siehe die Links. Die Anfangsbedingungen sind wiederum bis auf Symmetrie irrelevant.

Die von mir verwendeten Ansätze finden diese globalen Minima.

Inwieweit eine Lösung mittels Dynamik und Reibung daran etwas ändert, kann man sich überlegen. Es ändert ggf. etwas an der Konvergenz, aber sicher nicht an der jeweiligen stationären Lösung = dem globalen Minimum.

Gesucht ist eine Konfiguration r mit



Ich suche diese direkt mittels



Mit Dynamik



wäre zu lösen



Wegen



führt das wieder auf



Anders gesagt, nicht verschwindende Geschwindigkeiten führen immer zu positiven Beiträgen der kinetischen Energie und ggf. zusätzlich zu höherer potentieller Energie. Die Dynamik kann also nichts an den stationären Lösungen ändern, lediglich daran, ob und wie sie erreicht werden. Ohne Reibung werden sie nicht erreicht.

_________________
Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.


Zuletzt bearbeitet von TomS am 18. Dez 2024 16:55, insgesamt einmal bearbeitet
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5740

Beitrag DrStupid Verfasst am: 18. Dez 2024 13:13    Titel: Antworten mit Zitat

TomS hat Folgendes geschrieben:
Das Thompson-Problem – also das Minimieren der Coulomb-Energie für N identische Ladungen auf der 3-Sphäre – hat bis auf Symmetrie für die meisten kleinen N eindeutige Lösungen – siehe die Links. Die Anfangsbedingungen sind wiederum bis auf Symmetrie irrelevant.


Die Symmetrien sind aber gerade das Problem. Spiegelsymmetrische Konfiguartionen (und die gibt es bei mehr als drei verschiedenen Ladungen) lassen sich eindeutig unterscheiden und können auch physikalische Auswirkungen haben, wie z.B. optische Aktivität bei Molekülen. Mit einem rein mathematischen Optimierungsverfahren lassen sich bestimmte Eigenschaften des Systems nicht untersúchen - z.B. ob eine linksdrehende Ausgangskonfiguration auch immer zu einem linksdrehenden Gleichgewichtszustand führt, oder ob sich die Orientierung ändern kann.
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 21442

Beitrag TomS Verfasst am: 18. Dez 2024 23:23    Titel: Antworten mit Zitat

Also Symmetrie unter Rotation oder Spiegelung findet man.

DrStupid hat Folgendes geschrieben:
Spiegelsymmetrische Konfigurationen (und die gibt es bei mehr als drei verschiedenen Ladungen) lassen sich eindeutig unterscheiden und können auch physikalische Auswirkungen haben, wie z.B. optische Aktivität bei Molekülen. Mit einem rein mathematischen Optimierungsverfahren lassen sich bestimmte Eigenschaften des Systems nicht untersuchen - z.B. ob eine linksdrehende Ausgangskonfiguration auch immer zu einem linksdrehenden Gleichgewichtszustand führt, oder ob sich die Orientierung ändern kann.

Für welches N existieren energetisch äquivalente jedoch bzgl. Rotation inäquivalente Konfigurationen?

Was bedeutet deine Anmerkung, wenn die Ausgangskonfiguration i.A. gar keine Symmetrie existiert und man überhaupt nicht von einer "linksdrehenden Ausgangskonfiguration" sprechen kann?

_________________
Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.


Zuletzt bearbeitet von TomS am 19. Dez 2024 00:04, insgesamt einmal bearbeitet
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5740

Beitrag DrStupid Verfasst am: 19. Dez 2024 00:03    Titel: Antworten mit Zitat

TomS hat Folgendes geschrieben:
Also Symmetrie unter Rotation oder Spiegelung findet man.

Letztere treten aber beim hier vorliegenden Problem nicht auf. Oder doch? Für welches N?


Wie ich oben schon sagte, gibt es Siegelsymmetrien ab 4 verschiedenen Ladungen. Das ergibt einen verzerrten Tetraeder mit vier verschiedenen Ecken. Wenn die nach aufsteigender Ladung von 1 bis 4 durchnumeriert werden und der Tetraeder so auf einer Seite liegt, dass Ecke 4 oben ist, dann sind die anderen drei von oben gesehen entweder links oder rechts herum von 1 bis 3 numeriert. Diese beiden Konfigurationen lassen sich nicht ineinander überführen ohne die relativen Positionen der Ladungen zu verändern - genausowenig, wie man einen linken Handschuh in einen rechten verwandeln kann, ohne ihn umzukrempeln.
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 21442

Beitrag TomS Verfasst am: 19. Dez 2024 00:07    Titel: Antworten mit Zitat

Aber diese Konfiguration (verzerrte Tetraeder) liefert kein globales energetisches Minimum, ist also irrelevant?
_________________
Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5740

Beitrag DrStupid Verfasst am: 19. Dez 2024 00:21    Titel: Antworten mit Zitat

TomS hat Folgendes geschrieben:
Aber diese Konfiguration (verzerrte Tetraeder) liefert kein globales energetisches Minimum, ist also irrelevant?


Vier verschiedene Ladungen bilden im Energieminimum einen verzerrten Tetraeder. Nur vier gleiche Ladungen bilden im Gleichgewicht einen regulären Tetraeder.

Das ist aber egal. Jedem Tetraeder mit vier unterscheidbaren Ecken kann eine Vorzugsrichtung zugeordnet werden. Das beantwortet auch Deine obige Frage nach der Symmetrie der Ausgangsposition. Wenn die Ladungen nicht in einer Ebene liegen, dann lässt sich immer eindeutig feststellen, ob die Konfiguration nach einer geeigneten Regel (wie z.B. oben beschrieben) links-oder rechtsdrehend ist.
Neue Frage »
Antworten »
    Foren-Übersicht -> Elektrik