Ich habe zwei Versionen eines hydrodynamischen Codes, der die gleiche zugrunde liegende Physik hat; Nennen wir sie Code A und B. Code B ist jedoch optimierter und objektorientierter als A. Ich habe versucht, die numerischen Ergebnisse beider Codes zu vergleichen und zu sehen, ob sie kompatibel erscheinen. Ich mache das so, dass ich beide Codes mit denselben Anfangsparametern laufen lasse und einen bestimmten hydrodynamischen Wert X berechne, der in der Größenordnung von liegt . Um beide Codes zu vergleichen, mache ich im Wesentlichen
X(A)−X(B)=ϵ wobei ϵ ein Fehler ist. Der Test gibt , was bedeuten würde, dass beide Codes für die ersten 8 Ziffern das gleiche X ausspucken.
Wie signifikant ist dieser Fehler? Ich verwende doppelte Genauigkeit für Nicht-Ganzzahlen. Würde eine solche Größe einfach einen kumulativen Rundungsfehler für die Tausenden von Berechnungen bedeuten, die an einem Hydrocode beteiligt sind? Oder ein grundlegender Unterschied, den ich übersehe?
Der beste Weg, um die Genauigkeit eines Hydrodynamikcodes zu sehen, besteht darin, ihn mit analytischen Lösungen zu testen. Wie von Winther in den Kommentaren erwähnt, ist das Sod-Stoßdämpferrohr einer der häufigsten Tests für 1D-Hydro (das magnetohydrodynamische (MHD) Analogon davon wird als Brio-Wu-Stoßdämpferrohr bezeichnet ) .
Für andere Tests (jeder Dimension, aber ohne die analytische Lösung) ist das, was Sie tun, in Ordnung (und wird häufig in professionellen, akademischen Codes durchgeführt, z. B. erwähnt diese Testsuite von Athena die Verwendung der Suite für Ihre eigenen Vergleiche).
Abhängig von Norm , die Sie dort verwenden (scheint zu sein ), ich würde den Unterschied für akzeptabel halten. Der Ursprung des Unterschieds liegt wahrscheinlich entweder in einem Optimierungs-Flag oder in einem algorithmischen Unterschied im „mehr OOP“-Code, aber ohne weitere Tests, die die beiden vergleichen, kann man nicht sagen, wie sehr sich dies in anderen Tests unterscheiden wird oder in den 'Tausenden von Berechnungen' in Ihren Simulationen.
dmckee --- Ex-Moderator-Kätzchen
Mathepuppe
tpg2114
Winter