私の知る限り、このスキームは、境界近くの均一有限ステンシルを非均一ステンシル(少なくとも1つの点が境界上にあるようにシフトされている)に置き換えるだけです。基本的には、任意の形状のドメインを取得し、それをボックスに入れ、ボックスを均一なグリッドで離散化し、ドメイン内に少なくとも1つのネイバーがないグリッドポイントをすべて破棄し、残りのグリッドポイントをドメイン外にシフトします。水平または垂直(どちらか短い方)で境界に配置します。(もちろん、実際の実装ははるかに退屈です。)
境界ノードの隣にあるノードの1つで非均一ステンシルを取得するには、均一ステンシルの導出(の1つ)と同様に進めます。ノードの2次多項式によって(不明)関数を補間し、2番目の派生物。ノードx 1の1次元の場合を考えるだけで十分です。です。その後バツ1= x − h1、x2= x 、x3= x − h2
D2hU (X )≈ U (X - H1)ℓ」1(x )+ u (x )ℓ」2(x )+ u (x + h2)ℓ」3(x )、
ここで、は、ノードに対応するラグランジュ多項式です。導関数の計算ℓj= Π私≠ j(x − x私)/(xj− x私)
D2hu (x )= 2h1(h1+ h2)u (x − h1)− 2h1h2u ( x )+ 2h2(h1+ h2)u (x + h2)
主張どおり。(補間多項式のニュートン形式を使用することもできます。これにより、特に高次の微分を簡単に計算できます。)で同じことを行い、ステンシルを合計すると、式(4.8.7)が得られます。y
より詳細な例は、Randy LeVequeの常微分方程式と偏微分方程式の有限差分法(たとえば、9ページ)またはこのブログ投稿(任意のおよび場合の係数を計算するためのNumPyコードも含まれています)にあります。これは、モートンとメイヤーズ、偏微分方程式の数値解、セクション3.4 でも詳細に扱われています。時間2h1h2
境界ノードの扱い方は、境界条件によって異なります。ディリクレ条件の場合は、均一メッシュの場合と同様に進めます。ノイマン条件の場合は、上記のアプローチ(不均一補間-現在はと同時に-および微分)を使用して、境界ノードでの正規微分を近似してローカルステンシルを取得します。モートンとメイヤーズの75ページ以降を参照してください。yxy