移動するドメイン境界内において計算用メッシュを均等化させる便利な方法は座標系自体、またはメッシュ速度を拡散させることです。
一例としてサイズが Rm=0.5 + 0.25*cos(t) という形で振動する球をモデル化するものとします。
メッシュ座標系の拡散
まず代替座標系を定義します。
VARIABLES
Phi
Xm = MOVE(x)
Ym = MOVE(y)
メッシュ座標変数に対する EQUATIONS としては内部の点をスムーズに分散させるべく単純な拡散方程式を使用します(実際の動きは境界条件によってドライブされることを期待)。
Div(Grad(Xm)) = 0
Div(Grad(Ym)) = 0
Blob表面上のメッシュ座標系に対しては境界速度(Rの時間微分から誘導)を直接適用することができます。
VELOCITY(Xm) = -0.25*sin(t)*x/r
VELOCITY(Ym) = -0.25*sin(t)*y/r
メッシュ速度の拡散
別のアプローチとして、代替座標系に加えてメッシュ速度変数を定義する方法もあります。
VARIABLES
Phi
Xm = MOVE(x)
Ym = MOVE(y)
Um
Vm
メッシュ座標変数に対する EQUATIONS としては単に速度の関係式を規定します。
dt(Xm) = Um
dt(Ym) = Vm
メッシュ速度としては内部の点をスムーズに分散させるために単純な拡散方程式を使用します。
div(grad(Um)) = 0
div(grad(Vm)) = 0
Blob上でのメッシュ速度に関する境界条件は上の場合と同一です。
VALUE(Um) = -0.25*sin(t)*x/r
VALUE(Vm) = -0.25*sin(t)*y/r
境界上のノードにおいて適用される有限要素法の等式はセルを通しての平均となるため、blob境界上のメッシュ座標変数に対しては速度を明示する必要があります。
VELOCITY(Xm) = Um
VELOCITY(Ym) = Vm
|