形状関数を自然座標で評価する関数は 以下のようになる。 これは、全節点の形状関数について一度に計算される。
/* 形状関数 */
void WH_Fem__Shape3D__Hexa8N__N_arrayIn
(double whV_xi[3],
double OUT__N_arrayIn[8])
/*
入力引数:
whV_xi はベクトルで、自然座標
出力引数:
OUT__N_arrayIn はスカラーの節点配列で、形状関数
*/
{
double xi = whV_xi[0];
double eta = whV_xi[1];
double zeta = whV_xi[2];
OUT__N_arrayIn[0]
= 0.125 * (1.0 - xi) * (1.0 - eta) * (1.0 - zeta);
OUT__N_arrayIn[1]
= 0.125 * (1.0 + xi) * (1.0 - eta) * (1.0 - zeta);
OUT__N_arrayIn[2]
= 0.125 * (1.0 + xi) * (1.0 + eta) * (1.0 - zeta);
OUT__N_arrayIn[3]
= 0.125 * (1.0 - xi) * (1.0 + eta) * (1.0 - zeta);
OUT__N_arrayIn[4]
= 0.125 * (1.0 - xi) * (1.0 - eta) * (1.0 + zeta);
OUT__N_arrayIn[5]
= 0.125 * (1.0 + xi) * (1.0 - eta) * (1.0 + zeta);
OUT__N_arrayIn[6]
= 0.125 * (1.0 + xi) * (1.0 + eta) * (1.0 + zeta);
OUT__N_arrayIn[7]
= 0.125 * (1.0 - xi) * (1.0 + eta) * (1.0 + zeta);
}