積分計算

先頭へ  前へ  次へ

 

 

多くの場合、偏微分方程式の求解において関心の対象となるのはある関数を積分したものです。FlexPDEには高度な積分計算機能が備わっており、体積積分の他、境界面上での面積分や境界線上での線積分を実行することができます。2次元の場合の形式は次のようになります。

 

Result = LINE_INTEGRAL(<expression>, <boundary name>)

   

指定された境界上で数式<expression>の線積分を実行します。
 

Note:

BINTEGRALLINE_INTEGRAL の別名です。

 

Result = VOL_INTEGRAL(<expression>, <region name>)

   

指定された領域上で数式<expression>の面積分を実行します。
 

Note:

<region name>の指定が省略された場合にはドメイン全体が積分の対象となります。

 

Note:

INTEGRALVOL_INTEGRAL の別名です。

 

Note:

2D直交座標系の場合、AREA_INTEGRALVOL_INTEGRAL とは等価です。(ドメインはZ方向に厚み1を持つと仮定されるため。)

 

 

次は'ring'上での全流束を線積分で、'blob'上の全熱エネルギーを面積分で計算する際の指定方法を示しています。

 

DEFINITIONS

{ the total flux across 'ring':

(recall that 'ring' is the name of the boundary of 'blob')}

Tflux = LINE_INTEGRAL(NORMAL(-k*grad(Phi)), 'ring')

{ the total heat energy in 'blob': }

Tenergy = VOL_INTEGRAL(Phi, 'blob')

 

内部境界の場合、境界の両側で積分値が異なることがあります。積分を実行する領域を明示することでどちらの側で計算を行うかが区別されます。次の指定の場合には'ring'の外側で線積分が計算されることになります。

 

{ the total flux across 'ring': }

Tflux = LINE_INTEGRAL(NORMAL(-k*grad(Phi)), 'ring', 'box')

{ evaluated on the 'box' side of the boundary }

 

Note:

3次元の場合の積分計算については後述します。詳細仕様についてはコマンドリファレンスマニュアルを参照してください。