ソース項ブリック要素(および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
自体がベクトル値であれば行列フィールド)でなければならず,外側の単位法線を持つスカラー積がそこで実行されるということです.