形状関数を面積座標および自然座標で評価する関数は それぞれ以下のようになる。 これは、全節点の形状関数について一度に計算される。
/* 形状関数(面積座標で評価) */ void WH_Shape__Triangle6Nodes__N_arrayIn_atAC (double L0, double L1, double L2, double OUT__N_arrayIn[6]) /* 入力引数: L0, L1, L2 は面積座標 出力引数: OUT__N_arrayIn はスカラーの節点配列で、形状関数 */ { OUT__N_arrayIn[0] = L0 * (2 * L0 - 1); OUT__N_arrayIn[1] = L1 * (2 * L1 - 1); OUT__N_arrayIn[2] = L2 * (2 * L2 - 1); OUT__N_arrayIn[3] = 4 * L0 * L1; OUT__N_arrayIn[4] = 4 * L1 * L2; OUT__N_arrayIn[5] = 4 * L2 * L0; } /* 形状関数(自然座標で評価) */ void WH_Shape__Triangle6Nodes__N_arrayIn (double whV_xi[2], double OUT__N_arrayIn[6]) /* 入力引数: whV_xi はベクトルで、自然座標 出力引数: OUT__N_arrayIn はスカラーの節点配列で、形状関数 */ { double L0, L1, L2; WH_Shape__Triangle__NaturalToArea (whV_xi, &L0, &L1, &L2); WH_Shape__Triangle6Nodes__N_arrayIn_atAC (L0, L1, L2, OUT__N_arrayIn); }