Ich stehe vor folgendem Problem:
Ein System von vielen Teilchen > 1000, ideal >10000, wobei jedes Teilchen mit seinen direkten Nachbarn wechselwirkt (z.B. im einfachsten Fall über eine Federkopplung, d.h. Kraftwirkung zwischen den Teilchen folgt einem linearen Gesetz).
Eine Teil der Teilchen wird ausgelenkt, gesucht ist die (Gleichgewichts-)Position die die anderen Teilchen daraufhin einnehmen (2D als auch 3D).
Das ganze ist momentan in Mathemetica in der Art programmiert das die Teilchen die energetisch niedrigste Position einnimmt, d.h. die Summe der „Energieänderungen“ durch die Abstandsänderung zu den Nachbarn wird minimiert für das Gesamtsystem (mit dem Befehl FindMinimum). Außerdem erlischt die Wechselwirkung zwischen den Teilchen sobald der Abstand zu groß wird.
Der Algorithmus fuktioniert zwar, nur ist die Rechenzeit unter jeder kritik (>20 h für 50-Teilchenmodell auf einem 1GHz Rechner; und die Rechenzeit steigt leider nicht linear).
Hat jemand Anregungen wie das anders schneller zu lösen wäre bzw. ob es Lösungen für ähnliche Probleme schon irgendwo gibt?
THX
Andi