ソース項ブリック要素(およびNeumann条件)

このブリック要素は,ソース項,すなわちモデル線形(接線)システム構築の右辺にのみ生じる項を追加します.もし \(f\) はソース項の値を表すなら,そのような項の弱形式は次のようになります.

\[\int_{\Omega} f v\ dx\]

ここで, \(v\) は試験関数です.値 \(f\) は,定数であっても有限要素法で記述されてもよいものです.

また,領域の境界に適用される場合,Neumann条件を表すこともできます.

モデルにソース項を追加する関数は次のとおりです.

add_source_term_brick(md, mim,
                      varname, dataexpr, region = -1,
                      directdataname = std::string());

ここで md はmodelオブジェクト, mim は積分法, varname はソース項が追加されたモデルの変数, dataexpr はGWFL正規表現の汎用弱形式言語の表現でなければなりません(モデルの宣言されたデータでなければならない複素数バージョンを除く).変数がスカラー値またはベクトル値である場合,スカラー値またはベクトル値でなければなりません. region は項が付加されたメッシュ領域です.領域が境界に対応する場合,ソース項はNeumann条件を表します. directdataname はオプションの追加データで,構築なくても右辺に直接追加されます.

ブリック要素は作業用の複素数バージョンを持っています.

わずかに異なるブリック要素は,特にNeumann条件を扱うために用意されており,次の関数によって追加されています.

add_normal_source_term_brick(md, mim,
                             varname, dataexpr, region);

基本ソース項ブリック要素との違いは,データがベクトルフィールド(変数 varname 自体がベクトル値であれば行列フィールド)でなければならず,外側の単位法線を持つスカラー積がそこで実行されるということです.