Soweit ich das beurteilen kann, besteht dieses Schema lediglich darin, die Schablone mit gleichmäßiger endlicher Differenz in der Nähe der Grenze durch eine ungleichmäßige Schablone zu ersetzen (wobei mindestens ein Punkt verschoben ist, um auf der Grenze zu liegen). Grundsätzlich nehmen Sie Ihre beliebig geformte Domäne, legen sie in eine Box, diskretisieren die Box mit einem einheitlichen Raster, werfen alle Rasterpunkte weg, die nicht mindestens einen Nachbarn innerhalb der Domäne haben, und verschieben die verbleibenden Rasterpunkte auch außerhalb der Domäne horizontal oder vertikal (je nachdem, was am kürzesten ist), so dass sie an der Grenze liegen. (Die eigentliche Implementierung ist natürlich viel langwieriger.)
Um die ungleichmäßige Schablone an einem der Knoten neben einem Grenzknoten zu erhalten, geht man ähnlich wie bei (einer) der Ableitungen der einheitlichen Schablone vor: Interpoliere die (unbekannte) Funktion durch ein quadratisches Polynom in den Knoten und nimm das zweite Derivat. Es genügt, den eindimensionalen Fall mit den Knoten . Dannx1=x−h1,x2=x,x3=x−h2
D2hu(x)≈u(x−h1)ℓ′′1(x)+u(x)ℓ′′2(x)+u(x+h2)ℓ′′3(x),
Dabei sind die Lagrange-Polynome, die den Knoten entsprechen. Berechnung der Derivatausbeutenℓj=Πi≠j(x−xi)/(xj−xi)
D2hu(x)=2h1(h1+h2)u(x−h1)−2h1h2u(x)+2h2(h1+h2)u(x+h2)
wie behauptet. (Sie können auch die Newton-Form des interpolierenden Polynoms verwenden, was die Berechnung der Ableitungen vereinfacht, insbesondere für höhere Ordnungen.) Wenn Sie dasselbe in tun und die Schablonen summieren, erhalten Sie Gleichung (4.8.7).y
Detailliertere Beispiele finden Sie in Randy LeVeques Finite-Differenzen-Methoden für gewöhnliche und partielle Differentialgleichungen (z. B. Seite 9) oder in diesem Blog-Beitrag (der auch NumPy-Code zur Berechnung der Koeffizienten enthält, denen willkürlich und ). Dies wird auch in Morton und Mayers, Numerische Lösung partieller Differentialgleichungen , Abschnitt 3.4, ausführlich behandelt .h 2h1h2
Wie Sie die Randknoten behandeln, hängt von Ihren Randbedingungen ab. Unter Dirichlet-Bedingungen verfahren Sie wie bei einem einheitlichen Netz. Für Neumann-Bedingungen verwenden Sie den obigen Ansatz (ungleichmäßige Interpolation - jetzt gleichzeitig in und - und Differenzierung), um die normale Ableitung am Grenzknoten zu approximieren und eine lokale Schablone zu erhalten. siehe Morton und Mayers, Seite 75ff.yxy