Einzelnen Beitrag anzeigen

Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#10

AW: Frage zu Critical Section bei Array Zugriff

  Alt 23. Feb 2014, 16:53
Was Notxor schreibt ist meiner Meinung nach richtig: Ich schreibe die neu berechneten Werte direkt wieder in mein Array zurück und berechne dann den nächsten Punkt mit all seinen Nachbarpunkten, unabhängig ob hier der Wert der n.ten oder n-1 -ten Berechnung gespeichert ist. Ein anderer Physiker, ein Professor in den Staaten verwendet die Methode mit 2 Arrays, hat aber Aufgrund von rotationssymmetrie eine Dimension weniger zu berechnen. Mein Problem ist allerdings nicht unbedingt rotationssymmetrisch. Wenn ich allerdings die selben Startbedingungen in meinem Programm setzt, wie er in seinem, kommt die selbe Lösung heraus. Daher denke ich, dass es für den Fall des Lösens einer Poisson gleichung egal ist, ob man immer das selbe Array benutzt, oder ein Lese- und ein Schreibarray. - Zumal man ja hier so lange iteriert, bis eine Steady-State Lösung herauskommt. Wenn ich mir also das Beispiel von Medium ansehe und vorstelle, dass ich unendlich oft über seine Matrix iteriere, wird dort auch das selbe Ergebnis herauskommen, egal ob ich 2 oder 1 Array verwende.

Um das ganze zu stabilisieren, habe ich noch eine Selbstkonsistenzprüfung eingebaut, welche nach der Iteration das Ergebnis so so lange zwischen dem neuen und dem vorhergehenden Wert hin und her schiebt, bis die Poisson Gleichung erfüllt (bzw. die Abweichung miniert) ist. (Verfahren des goldenen Schnitts).

In der Tat habe ich nicht genug Ram und zwei Arrays im Speicher zu halten.
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS

Geändert von alleinherrscher (23. Feb 2014 um 17:00 Uhr)
  Mit Zitat antworten Zitat