Sample Scripts from GB Books
ラプラス方程式、ポアッソン方程式

今度は解析対象のドメインを四分円としてラプラス方程式を解いてみます。検証用の厳密解としては

  

(4)

を想定し、境界条件はすべてDirichlet型で設定することにします。

1. Problem descriptor [ laplace01e.pde ]

最初に作成したスクリプト laplace01a.pde に対し修正を施したものを示しておきます。円弧の境界を設定するにはArc文を使用します。
  TITLE
    'Laplace Equation'      { laplace01e.pde }


  SELECT
    Errlim = 1e-5           { Requested relative accuracy }

  VARIABLES
    U                       { Unknown }

  DEFINITIONS
    r0 = 1
    U_ex = 2*x*y            { Exact solution }

  EQUATIONS
    div(grad(U)) = 0        { Laplace PDE }

  BOUNDARIES
    Region 1                { Set exact values on boundaries }
      Start(0, 0)
      Value(U) = U_ex  Line to (r0, 0)
                       Arc(Center = 0,0) to (0, r0)
                       Line to Close

  PLOTS
    Grid(x, y)
    Contour(U)
    Surface(U)
    Contour(U_ex)
    Contour(U - U_ex)

  END

2. 実行結果

(1) Grid(x, y)
問題が単純なため、自動生成されたメッシュ構成も特に複雑なものとはなっていません。

(2) Contour(U)
ドメイン上での関数 U(x, y) の等高線図は次のようになります。

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

(4) Contour(U_ex)
厳密解の等高線図ですが、見た目は Contour(U) と全く変わらないため省略します。

(5) Contour(U - U_ex)
これはFlexPDEの計算結果と理論曲面との差をプロットしたものです。スケールは E-5 (= 10^(-5)) ということで、矩形領域の場合に比べると悪くなっていますが、SELECTセクションで設定した誤差許容値のレベルには到達しています。境界に曲線を含むセル上で誤差が大きくなっています。

前へ       次へ

page_top_icon