Ist eine variable Skalierung bei der numerischen Lösung einiger PDE-Probleme erforderlich?

14

In der Halbleitersimulation ist es üblich, dass die Gleichungen so skaliert werden, dass sie normalisierte Werte haben. Beispielsweise kann in extremen Fällen die Elektronendichte in Halbleitern über eine Größenordnung von 18 variieren, und das elektrische Feld kann sich über eine Größenordnung von 6 (oder mehr) formschön ändern.

Die Zeitungen geben jedoch nie wirklich einen Grund dafür an. Persönlich beschäftige ich mich gerne mit Gleichungen in reellen Einheiten, gibt es dafür einen numerischen Vorteil, ist das sonst unmöglich? Ich dachte mit doppelter Genauigkeit, es gäbe genug Ziffern, um mit diesen Schwankungen fertig zu werden.


Beide Antworten sind sehr nützlich, vielen Dank!

Boyfarrell
quelle
1
"kann über 18 Größenordnungen variieren" - und wenn Sie sich überlegen, wie viele Stellen doppelt genau gespeichert sind, werden Sie feststellen, ob "mit doppelter Genauigkeit genügend Stellen vorhanden sind, um diese Schwankungen zu bewältigen", was in der Tat zutrifft ...
JM
1
Und das eigentliche Problem beginnt, wenn Sie diese Zahlen in einen numerischen Algorithmus eingeben: Nehmen Sie das Quadrat und plötzlich haben Sie 36 Größenordnungen Unterschied ...
Christian Clason

Antworten:

9

Das Lösen einer (linearen) PDE besteht darin, die Gleichung zu diskretisieren, um ein lineares System zu erhalten, das dann von einem linearen Löser gelöst wird, dessen Konvergenz (Rate) von der Bedingungsnummer der Matrix abhängt. Durch Skalieren der Variablen wird diese Bedingungszahl häufig verringert, wodurch die Konvergenz verbessert wird. (Dies läuft im Wesentlichen auf die Anwendung eines diagonalen Vorkonditionierers hinaus, siehe Nicholas Highams Genauigkeit und Stabilität numerischer Algorithmen .)

Das Lösen nichtlinearer PDEs erfordert außerdem eine Methode zum Lösen nichtlinearer Gleichungen, beispielsweise die Newton-Methode, bei der die Skalierung auch die Konvergenz beeinflussen kann.

Da das Normalisieren normalerweise nur sehr wenig Aufwand erfordert, ist es fast immer eine gute Idee.

Christian Clason
quelle
Ich bin sicher, @ArnoldNeumaier hat mehr zu diesem Thema zu sagen.
Christian Clason
Die Bedingungsnummer der von mir verwendeten Matrizen (nicht skalierte Variablen) beträgt ~ 1,25 . Scheint das vernünftig? Dies wird nach der 2-Norm-Methode berechnet ( docs.scipy.org/doc/numpy/reference/generated/… ).
Boyfarrell
@boy, wenn es nichts anderes gibt, das die 1,25 multipliziert, dann ist das eine akzeptable Bedingungszahl, besonders wenn Sie sich daran erinnern, dass Einheitsmatrizen . κ2=1
JM
1
@boyfarrell: Ich arbeite routinemäßig mit Bedingungsnummern von bis zu 10 ^ 7 und akzeptablen Ergebnissen. Ich würde jedoch keine Bedingungsnummern akzeptieren, die viel höher als 10 ^ 9 sind.
Jvriesem
9

-εΔu+u=0 auf Ω,u=1 auf Ω.

Das heißt, es gibt keine Skalierung von Variablen oder Domänen, die diese Schwierigkeit beseitigt.

Ein vernünftiger Grund für die Skalierung physikalischer Größen besteht darin, die tatsächliche Gleichung so einfach wie möglich zu halten, dh so wenig Parameter wie möglich (mit denen Sie herumspielen müssten). Anstatt zum Beispiel nach der Lösung suchenuα

-α2Δu=fα auf αΩ
αu1
-Δu=f auf Ω.
uα(x): =u1(x/α)αα
Nico Schlömer
quelle
4
Die übrigen Parameter müssen dann für die Bestimmung des qualitativen Verhaltens der Lösung entscheidend sein - deshalb ist die Reynolds-Zahl für die Fluiddynamik so wichtig. Dieser Vorgang wird als Nichtdimensionalisierung bezeichnet .
Christian Clason
Natürlich ist das Auffinden solcher Parameteräquivalenzen im Wesentlichen das Problem des Auffindens von Symmetriegruppen der PDE, ein Problem, das im Allgemeinen
schwierig
2

Der Umgang mit Fließkommazahlen kann sowohl in Bezug auf die Subtraktion kleiner Zahlen von größeren Zahlen als auch in Bezug auf viele andere Aspekte ein Trick sein. Ich würde empfehlen, John D. Cooks Blog-Posts darüber zu lesen, wie z

Anatomie einer Gleitkommazahl

sowie Oracle

Was jeder Informatiker über Gleitkommaarithematik wissen sollte

Auch bestimmte numerische Algorithmen zur Minimierung oder Maximierung erfordern eine Normalisierung für die numerische Stabilität.

Phillip Nordwall
quelle