\(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());
ここで mim
は getfem::mesh_im
積分のために使われ, mf
は getfem::mesh_fem
で,解が定義される有限要素法を記述します, U
は mf
の自由度の解のベクトルであり, 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\) を返します.