Sample Scripts from GB Books
GB009:  3次元の電場

3. 金属箱中のコイン

今度は1辺が5cmの金属製の箱の中心部分に半径2cm、厚さ4mmのコインが細いナイロン糸によって吊り下げられている状態を考えます。コイン表面の電位を1Vとしたときの周囲の電場の様子を解析します。ただし外側の金属箱は電位 0 に保たれているものとします。

x-y平面上のリージョンをz軸方向にextrudeする形で3次元の領域を規定して行くわけですが、その際以下のネーミングに注意してください。

リージョン構成(平面図)

レイヤ構成(立面図)

3.1 Problem descriptor [ 3dfields1c.pde ]

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

次に演算精度に関するセレクタをセットします。
  SELECT
    Errlim = 1e-3

座標系が3次元直交座標系であることを明示します(デフォルトはCartesian2)。
  COORDINATES
    Cartesian3

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

偏微分方程式の定義に先立ち、パラメータ類 や関係式を定義します。ドメインの立方体の辺の長さを2*L(m)、コインの半径をr0(m)、厚みを2*d0(m)としています。
  DEFINITIONS
    L = 0.05  r0 = 0.02  d0 = 2e-3
    U0 = 1.0
    Ex = -dx(U)  Ey = -dy(U)  Ez = -dz(U)  { Field components }
    E = -grad(U)  Em = magnitude(E)


3次元の静電場を表す偏微分方程式を定義します。この方程式の誘導については GB002 を参照ください。
  EQUATIONS
    div(grad(U)) = 0

z軸方向へのextrusionを定義します。下から順に境界面(Surface)とそれらにはさまれた層(Layer)を規定して行きます(上記立面図参照)。
  EXTRUSION                  { Parallel surfaces }
    Surface 'bottom' z = -L
    Layer 'air 1'            { Layer below coin }
    Surface 'lower' z = -d0
    Layer 'metal'            { Layer containing coin }
    Surface 'upper' z = d0
    Layer 'air 2'            { Layer above coin }
    Surface 'top' z = L

BOUNDARIESセクションにおいてbase plane上でのリージョン構成と境界条件を定義します(上記平面図参照)。これらbase plane上での形状定義や境界条件は基本的にz軸方向にextrudeされて行きます。実際、base plane上での外側境界上での境界条件はextrudeされた3次元オブジェクトの境界壁に対する境界条件ともなります。ただし上面と下面についてはSurface文にて境界条件を明示します。なお導体であるコインの部分を計算対象からはずす(exclude)ために、リージョン'coin'の定義中にvoidという修飾子を用いている点に注意してください。
  BOUNDARIES
    Surface 'bottom' Value(U) = 0
    Surface 'top' Value(U) = 0

    Region 'domain'               { Full solution domain }
      Start(-L, -L) Value(U) = 0  { For all four faces }
        Line to (L, -L) to (L, L) to (-L, L) to Close

    Region 'coin'                 { Exclude volume }
      Surface 'lower' Value(U) = U0
      Surface 'upper' Value(U) = U0
      Layer 'metal' Void
      Start (r0, 0) Layer 'metal' Value(U) = U0  { Coin }
        Arc(Center=0,0) Angle = 360 to Close

最後に出力すべき情報を規定します。
  PLOTS
    Grid(x, y, z)
    Contour(U) painted on z = 0
    Surface(U) on z = 0
    Contour(U) painted on z = 2*d0
    Contour(U) painted on z = 0.5*L
    Contour(U) painted on x = 0
    Vector(E) norm on z = 0.5*L
    Contour(Em) painted on x = 0
    Vector(E) norm on x = 0
    Elevation(U) from (-L, 0, d0) to (L, 0, d0)

  END

3.2 実行結果

計算に先立ち、3次元ドメインを構成するリージョンやレイヤが順次表示されて行きますが、通常は一瞬のうちに消えてしまい、計算の実行が開始されてしまいます。ドメインの構成をチェックしつつ計算への移行も手動で制御したい場合には、「Controls」:「Domain Review」と操作してください。ドメインを構成する各部分領域が下から順に表示されて行きます。

(1) Grid(x, y, z)
FlexPDEによって生成された3次元のメッシュ構成を示しています。

(2) Contour(U) painted on z = 0
平面 z = 0 上における等電位線のプロットです。

(3) Surface(U) on z = 0
プロット(2)と同じ内容ですが、等高線図ではなく曲面図の形にしたものです。

(4) Contour(U) painted on z = 2*d0
コインの上面は z = d0 上に位置するわけですが、次の図は z = 2*d0 上での等電位線を示したものです。U の最大値は 1 をわずかに下回っています。

(5) Contour(U) painted on z = 0.5*L
箱の上面とbase plane z = 0 との中間地点における等電位線プロットです。U の最大値は 0.32 まで下がっています。

(6) Contour(U) painted on x = 0
平面 x = 0 上における等電位線図です。

(7) Vector(E) norm on z = 0.5*L
平面 z = 0.5*L 上における電場 E のベクトルプロットです。

(8) Contour(Em) painted on x = 0
平面 x = 0 上で電場ベクトル E の絶対値をプロットしたものです。コインの端の部分にピークが見られます。

(9) Vector(E) norm on x = 0
平面 x = 0 上における電場 E のベクトルプロットを示したものです。

(10) Elevation(U) from (-L, 0, d0) to (L, 0, d0)
コイン上面を含む平面 z = d0 上の直線 y = 0 に沿って電位 U の値をプロットしたものです。コイン上で 1、箱の表面で 0 という境界条件が満たされていることがわかります。

前へ       次へ

page_top_icon