純対流法

純粋な対流を計算する方法は,ファイル getfem/getfem_convect.h で定義されています.関数の呼び出しは:

getfem::convect(mf, U, mf_v, V, dt, nt, option = CONVECT_EXTRAPOLATION);

where mf is a variable of type getfem::mesh_fem, U is a vector which represents the field to be convected, mf_v is a getfem::mesh_fem for the velocity field, V is the dof vector for the velocity field, dt is the pseudo time of convection and nt the number of iterations for the computation of characteristics. option is an option for the boundary condition where there is a re-entrant convection. The possibilities are getfem::CONVECT_EXTRAPOLATION (extrapolation of the field on the nearest element) or getfem::CONVECT_UNCHANGED (no change of the value on the boundary).

この方法は,偏微分方程式

\[\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\) は大きすぎてはいけません.

この方法は分割スキームと結合する対流優位問題を解決するために使用することができることに留意してください.