純対流法¶
純粋な対流を計算する方法は,ファイル getfem/getfem_convect.h
で定義されています.関数の呼び出しは:
getfem::convect(mf, U, mf_v, V, dt, nt, option = CONVECT_EXTRAPOLATION);
ここで mf
は getfem::mesh_fem
型の変数です, U
は対流するフィールドを表すベクトル, mf_v
は getfem::mesh_fem
速度場の場合, V
は速度場の自由度ベクトルであり, dt
は対流の擬似時間であり, nt
は特性計算のための反復回数です. option
は境界条件が再流対流である場合のオプションです.可能なものは getfem::CONVECT_EXTRAPOLATION
(最も近い要素のフィールドの外挿)または getfem::CONVECT_UNCHANGED
(境界の値の変更なし)です.
この方法は,偏微分方程式
\[\frac{\partial U}{\partial t} + V\cdot\nabla U = 0,\]
の時間間隔 \([0, dt]\) を積分します.
使用される方法はGalerkin-Characteristicのものです.この方法は無条件に安定しているものの,散逸的で非常に簡単なバージョンです. [ZT1989] およびconvectコマンドに関するFreefem ++のドキュメントを参照してください.
定義されたメソッドは mf
がその時点の純粋なLagrange有限要素法である場合にのみ機能します.原理は常微分方程式を解くことによって有限要素節点を逆方向に対流させることです.
\[\frac{d X}{d t} = -V(X),\]
各節点に対応する初期条件を有します.この対流は nt
ステップで行われます.次に,対流節点上で解を補間します.
外挿をそれほど高コストにしないために,積 \(dt\times V\) は大きすぎてはいけません.
この方法は分割スキームと結合する対流優位問題を解決するために使用することができることに留意してください.