位置を形状関数で補間する 関数は以下のようになる。
/* 位置の節点座標からの補間 */
void WH_Fem__Isoparam3D__Volume__whV_x
(int nNodes,
double N_arrayIn[/* nNodes */],
double whV_x_arrayIn[/* nNodes */][3],
double OUT__whV_x[3])
/*
入力引数:
nNodes は整数で、要素節点数
N_arrayIn はスカラーの節点配列で、形状関数
whV_x_arrayIn はベクトルの節点配列で、位置(節点座標)
出力引数:
OUT__whV_x はベクトルで、位置
*/
{
int In;
WH_Tensor3D__assign_whV_OUT_whV
(WH_Tensor3D__whV_O,
OUT__whV_x);
for (In = 0; In < nNodes; In++) {
double whV_tmp[3];
WH_Tensor3D__whV_mul_s_OUT_whV
(whV_x_arrayIn[In], N_arrayIn[In],
whV_tmp);
WH_Tensor3D__whV_add_whV_OUT_whV
(OUT__whV_x, whV_tmp,
OUT__whV_x);
}
}