稜線上の法線方向成分指定の線積分の変換子 を評価する 関数は以下のようになる。
/* 稜線上の法線方向成分指定の線積分の変換子 */ void WH_Fem__Isoparam2D__Quad__whV_J_l_Iedge (int Iedge, double whPt_whV_x_whV_xi[2][2], double a, double OUT__whV_J_l[2]) /* 入力引数: Iedge は整数で、要素辺ID whPt_whV_x_whV_xi はテンソルで、Jacobian a はスカラーで、厚み 出力引数: OUT__whV_J_l はベクトルで、線積分の変換子 */ { double whP_whV_x_xi[2]; double whP_whV_x_eta[2]; whP_whV_x_xi[0] = whPt_whV_x_whV_xi[0][0]; whP_whV_x_xi[1] = whPt_whV_x_whV_xi[0][1]; whP_whV_x_eta[0] = whPt_whV_x_whV_xi[1][0]; whP_whV_x_eta[1] = whPt_whV_x_whV_xi[1][1]; switch (Iedge) { case 3: /* -xi */ case 1: /* +xi */ WH_Tensor2D__s_mul_whV_OUT_whV (a, whP_whV_x_eta, OUT__whV_J_l); break; case 0: /* -eta */ case 2: /* +eta */ WH_Tensor2D__s_mul_whV_OUT_whV (a, whP_whV_x_xi, OUT__whV_J_l); break; default: assert(0); break; } }