One Dimensional Finite Element Method
Weighted Residual Method-10

■右端がNeumann型の近似式■
前のページでは、計算をしたら偶然に右端でdu/dx=0になっている状況を紹介しました。 ここでは、意識的にdu/dx=Sを右端に与える近似式を作ってみましょう。 これには、ちょっとしたテクニックが必要になってきます。この先を見る前に、貴方もトライしてみませんか。
近似式の型は、前と同じ u(x)=φ0(x) + a1φ1(x) ですが、 φ0(x)とφ1(x) が前とかなり違ってきます。 以下の様になります。N1=(1-x/L)でN2=x/Lです。

φ0(x)についてですが、下図の左に示す様な条件を満足しています。 貴方もチェックしてみて下さいね。つまり、φ0(x)は、下の右図の様になっていることに気付くと思います。

φ1(x)はというと、下の左に示す条件を満足しています。 グラフにすると、φ1(x)は、下の右図になります。いいですかね?。

u(x)をxで微分しx=Lでの値を計算すると、下に示す様に、du/dx=S になっていますね。 貴方もそうなることを確認して下さいね。

さらに、u(L)=u(0)+a1ですから、a1が計算できれば、u(L)が簡単に得られますね。

ここで作った近似式を積分式に代入すると、a1が計算できますよね。 その前に、もう一度、積分式をここに表示しておきます。

すると、上式の境界積分は、下に示す様に S になりますね。これは分かりますよね。

つまり、次の式を解けば、a1が計算されます。

上に式とここで紹介した近似式でプログラムを作ってみました。 プログラムの名前は、WRM1X1S.FORです。 計算もちょっとやってみました。 まず、u(0)=1, S=0, L=0.5, α2=1 の場合の計算結果と u(0)=1, S=0.5, L=0.5, α2=2 の場合の計算結果です。

ここで補足しておきます。φ0(x)ですが、境界条件でx=0のDirichlet、x=LのNeumannの2つの条件で φ0(x)を導くと、φ0(x)=u(0)+LSN2になります。図では下になります。

上に図とここで紹介した近似式でプログラムWRM1X1S1.FORを作ってみました。 計算条件は、u(0)=1, S=0.5, L=0.5, α2=1 でφ0(x)=u(0)+LSN2の 計算結果がえられました。 また計算条件は同じでφ0(x)=u(0)-LSN2N2の 計算結果はφ0(x)=u(0)+LSN2のu(x)の値と同じになりました。

■”変位法”■
上の例題を見て解る様に、Neumann型境界条件を取り扱うのは、ちょっと大変そうですね。それもそのはずです。 近似式もS=du/dxを満足し、積分式もSを満足しています。何となくオーバースペックになっている様です。 何とか簡単にならないかと言う感じですね。これは、Hermite型の近似式です。 市販のFEMソフトの場合、近似式は、S=du/dxを満足していません。 積分式のみがSを満足しています。この様な方法を変位法と呼んでいます。 この方法を使うことにより、Neumann型境界条件の取り扱いが非常に簡単になりますが、Neumann型境界での計算精度は、ちょっと落ちることになります。 手の込んだ近似式を作ることを思うと、かなり楽ですね。

これで、領域全体を1つのスムーズな式で近似するのは、終わりです。 これからは、折れ線グラフみたいな近似式を使って積分式を計算します。 そして、Neumann型境界条件の取り扱いには、変位法を使うことにします。

BACK NEXT
Menu View Helm wrm Lin Element Rmrk Vari Para Non-L Wire