Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
FreePascal / Lazarus
|
AW: Finde kein Konvergenzkriterium für eine Iteration
11. Nov 2015, 08:11
Ich hab mir deinen Code jetzt nicht im Detail angeschaut, aber so Sachen wie N/mm² und kX klingen für mich nach einem Finite-Elemente-/Finite-Differenzen-Code.
Bei solchen iterativen Geschichten kommt es immer auf die Schrittweite an. Ist die zu groß, ist der Code instabil. Vielleicht wäre es hilfreich, wenn du deinen berechneten Wert für Verschiebungen und Kräfte nicht einfach für die nächste Iteration übernimmst, sondern mit einem Faktor "unterrelaxierst":
Wert_fuer_naechste_Iteration := alpha * Wert_der_aktuellen_Iteration + (1 - alpha) * Soeben_ausgerechneter_Wert
Mit alpha kannst du dann so lange spielen, bis du einen guten Kompromiss zwischen Stabilität und Geschwindigkeit gefunden hast.
Julian J. Pracht
|