Sample Scripts from GB Books

ここで紹介するスクリプトはGunnar Backstrom氏の承諾のもと、書籍 “Simple Fields of Physics by Finite Element Analysis” に記されている多数のFlexPDE適用事例 の中からその一部を紹介するものです。

PDF版 (638KB)

GB002:  2次元静電場

ここでは2次元静電場を表すラプラス方程式を種々の境界条件の下で解き、電場の様子を調べてみることにします。今、静電ポテンシャルを U、電場ベクトルを E とすると、真空中の定常状態では

  

(1)

  

(2)

という数式が成り立ちます。(2)は電荷が存在しない状態での電場を規定するマックスウェルの方程式です。この2式より U に関するラプラス方程式

  

(3)

が導かれます。U(x, y) を求めることができれば(1)を使って E(x, y) を算出することができます。

1. 金属箱中の金属棒

ここでは断面が正方形の金属箱の中心部に断面が円形の金属棒がつるされている状態を考えます。金属箱も金属棒もz軸方向には十分な長さを持つものとします。また金属棒はその両端を絶縁性のワイアで固定されているものとします。右の図はその金属箱と金属棒の中央付近での断面図で、正方形の1辺の長さは2、円の半径は0.3とします。
外側の金属箱の電位は0、内側の金属棒の電位は1に保たれているとしたとき、右図のグレイで塗った領域内での静電場の様子をFlexPDEで調べてみましょう。

1.1 Problem descriptor [ estatic01a.pde ]

まずタイトルを設定します。
  TITLE
    'Metal Rod in a Box'    { estatic01a.pde }

次に演算精度に関するセレクタをセットします。デフォルトは 0.002 なのですが、ここでは精度を 0.001 とします。
  SELECT
    Errlim = 1e-3


従属変数を定義します。
  VARIABLES
    U                       { Electric potential }


偏微分方程式の定義に先立ち、パラメータ類を定義します。これらは境界の定義、及び境界条件の設定に際して使用されます。
  DEFINITIONS
    L = 1    r0 = 0.3    U_rod = 1.0
    Ex = -dx(U)    Ey = -dy(U)
    E = -grad(U)    Em = magnitude(E)


ラプラス方程式を定義します(座標系については定義していないので2次元直交座標系が仮定されます)。
  EQUATIONS
    div(grad(U)) = 0


次に境界の形状と境界条件を設定します。今回の境界条件は外側境界、内側境界、共にDirichlet型であるため、Value文を使用します。なお、境界に対して 'box' 'rod' という名称を設定していますが、それらはPLOTSセクションの中で使用されることになる点に注意してください。
  BOUNDARIES
    Region 1
      Start 'box' (-L, -L)
        Value(U) = 0  Line to (L, -L) to (L, L) to (-L, L) to Close
      Start 'rod' (r0, 0)
        Value(U) = U_rod  Arc(Center = 0,0) Angle = 360


最後に出力すべき情報を指定します。
  PLOTS
   
Grid(x, y)
    Contour(U)    Surface(U)
    Elevation(U) on 'box'    Elevation(U) on 'rod'
    Contour(Em)    Elevation(Em) on 'box'
    Vector(E) norm

  END

1.2 実行結果

(1) Grid(x, y)
FlexPDEによって設定されたグリッドの形状を示しています。メッシュ密度に目立った変化は見られません。

(2) Contour(U)
解析対象領域(ドメイン)上での関数 U(x, y) の等高線図、すなわち等電位線は次のようになります。 'rod'上で U = 1、'box'上で U = 0 となっている点に注意してください。

(3) Surface(U)
関数 U(x, y) の曲面の形状をプロットしたものです。

(4) Elevation(U) on 'box'
U(x, y) の値を境界'box'上でプロットしたものです。指定値通り、境界'box'上では U の値は0となっています。なお、境界線上の点との対応は赤の数字で示されています。

(5) Elevation(U) on 'rod'
U(x, y) の値を境界'rod'上でプロットしたものです。指定値通り、境界'rod'上では U の値は1となっています。

(6) Contour(Em)
電場ベクトル E の絶対値(大きさ)に関する等高線図を示したものです。

(7) Elevation(Em) on 'box'
電場ベクトル E の大きさを境界'box'上でプロットしたものです。各辺の中央部で E の大きさは最も大きくなっています。

(8) Vector(E) norm
これは電場ベクトル E のベクトル場をプロットしたものです。normという修飾子を指定しているため、矢印の長さは等長となります。ベクトル場の向きはこれによってより明確なものとなりますが、大きさについては色で判断することになります。金属棒表面から放射状に放たれたベクトルは金属箱の近傍で向きを変え、その表面には垂直な形で入射している点に注意してください。

次へ