FlexPDEは計算の実行中にドメイン境界と計算用メッシュを移動させる機能をサポートしています。
この機能は既存のスクリプト言語を拡張する形で実現されています。メッシュ移動に関わる定義変更は次の3つです。
• | 移動させたい座標変数ごとに代替変数(surrogate variable)を宣言します。 |
VARIABLES
Xm = MOVE(x)
EQUATIONS
dt(xm) = umesh
BOUNDARIES
START (0,0) VELOCITY(xm) = umesh
通常の方程式の記述は境界やメッシュの動きによって影響されません。EQUATIONSは常にオイラー形式(実験室形式)で記述します。FlexPDEは移動補正項をシンボリックな形で方程式に適用します。結果はALEモデル(Arbitrary Lagrange/Eulerian model)に従ったものとなるわけですが、その場合、ユーザはメッシュ速度として次のものを選択できます。
• | メッシュ速度を流体の速度にロックさせる。結果はラグランジュモデルになります(FlexPDEはよじれたメッシュを元に戻すメカニズムを持っていないので、動きが激しい場合にこのモデルを使用することは推奨されません)。
|
• | メッシュ速度を流体の速度とは別に保つ。これによってメッシュのintegrityを維持しつつ、境界面の変形や流れの大筋の運動(bulk motion)への追従は可能になります。
|
• | メッシュの動きが指定されなかった場合にはデフォルトのオイラーモデルとなります。 |
|