計算精度

先頭へ  前へ  次へ

 

 

FlexPDEはメッシュセル上で計算された積分値に対し一貫性チェックを行います。その結果から求解対象の変数値に対する相対誤差を推定し、それを誤差許容値と比較します。許容値を超えたセルがあった場合、そのセルは分割され、再度計算が実行されます。

 

この誤差許容値は ERRLIM と呼ばれ、スクリプトのSELECTセクションにおいてその値の指定が行えます。

 

ERRLIMのデフォルト値は0.001です。従ってFlexPDEはすべてのメッシュセルにおいて、変数値の推定誤差(変数の値域に対する相対値)が0.1%より小さくなるまでメッシュの細分化を行うことになります。

 

Note:

このことは得られた解の誤差がドメイン全体を通して0.1%以下であることを保証するものではありません。個々のセル上での誤差は予測し得ないような形で相殺したり累積したりすることがあります。

 

我々の例題においてステートメント

 

SELECT ERRLIM=1e-5

 

を追加してみましょう。これはFlexPDEに対し、推定誤差が0.001%を超えるセルについては分割するように指示します。その結果、FlexPDEはメッシュ分割を2回行い、次のようなメッシュパターンが生成されることになります。

 

 

ex1m3

 

 

 

ただしこの事例について言うなら、得られるグラフィックスはデフォルト設定の場合と比べて大差はありません。

 

Note:

時間依存型の問題の場合、空間誤差と時間誤差の双方がERRLIMによって設定されることになりますが、XERRLIMTERRLIMを使って個別に設定することも可能です。詳細はコマンドリファレンスマニュアルを参照してください。