\(L^2\)\(H^1\) ノルムの計算

getfem/getfem_assembling.h は, \(L^2\)\(H^1\) ノルムを計算するため関数を定義します.以下の関数は,異なるノルムを計算します.

getfem::asm_L2_norm(mim, mf, U, region = mesh_region::all_convexes());
getfem::asm_H1_semi_norm(mim, mf, U, region = mesh_region::all_convexes());
getfem::asm_H1_norm(mim, mf, U, region = mesh_region::all_convexes());

ここで mimgetfem::mesh_im 積分のために使われ, mfgetfem::mesh_fem で,解が定義される有限要素法を記述します, Umf の自由度の解のベクトルであり, region はノルムが計算されるメッシュ領域を指定する任意のパラメータです.U のサイズは mf.nb_dof() でなければなりません.

2つの解を比較するには,1つの mesh_fem を補間するよりも,次の関数を使用する方が簡単で速くなることがよくあります.

getfem::asm_L2_dist(mim, mf1, U1, mf2, U2, region = mesh_region::all_convexes());
getfem::asm_H1_dist(mim, mf1, U1, mf2, U2, region = mesh_region::all_convexes());

これらの関数は \(L^2\)\(H^1\) ノルムの \(u_1-u_2\) を返します.