/* 形状関数 */ void WH_Fem__Shape2D__N_arrayIn (WH_Fem__Element2DType elementType, int nNodes, double whV_xi[2], double OUT__N_arrayIn[/* nNodes */]) /* 入力引数: nNodes は整数で、要素節点数 whV_xi はベクトルで、自然座標 出力引数: OUT__N_arrayIn はスカラーの節点配列で、形状関数 */ { switch (elementType) { case WH_FEM__ELEMENT2D__TRI3N: WH_Fem__Shape2D__Tri3N__N_arrayIn (whV_xi, OUT__N_arrayIn); break; case WH_FEM__ELEMENT2D__TRI6N: WH_Fem__Shape2D__Tri6N__N_arrayIn (whV_xi, OUT__N_arrayIn); break; case WH_FEM__ELEMENT2D__QUAD4N: WH_Fem__Shape2D__Quad4N__N_arrayIn (whV_xi, OUT__N_arrayIn); break; case WH_FEM__ELEMENT2D__QUAD8N: WH_Fem__Shape2D__Quad8N__N_arrayIn (whV_xi, OUT__N_arrayIn); break; case WH_FEM__ELEMENT2D__QUAD9N: default: assert(0); break; } } /* 形状関数の自然座標についての微分 */ void WH_Fem__Shape2D__whP_N_whV_xi_arrayIn (WH_Fem__Element2DType elementType, int nNodes, double whV_xi[2], double OUT__whP_N_whV_xi_arrayIn[/* nNodes */][2]) /* 入力引数: nNodes は整数で、要素節点数 whV_xi はベクトルで、自然座標 出力引数: OUT__whP_N_whV_xi_arrayIn はベクトルの節点配列で、 形状関数の自然座標に関する微分 */ { switch (elementType) { case WH_FEM__ELEMENT2D__TRI3N: WH_Fem__Shape2D__Tri3N__whP_N_whV_xi_arrayIn (whV_xi, OUT__whP_N_whV_xi_arrayIn); break; case WH_FEM__ELEMENT2D__TRI6N: WH_Fem__Shape2D__Tri6N__whP_N_whV_xi_arrayIn (whV_xi, OUT__whP_N_whV_xi_arrayIn); break; case WH_FEM__ELEMENT2D__QUAD4N: WH_Fem__Shape2D__Quad4N__whP_N_whV_xi_arrayIn (whV_xi, OUT__whP_N_whV_xi_arrayIn); break; case WH_FEM__ELEMENT2D__QUAD8N: WH_Fem__Shape2D__Quad8N__whP_N_whV_xi_arrayIn (whV_xi, OUT__whP_N_whV_xi_arrayIn); break; case WH_FEM__ELEMENT2D__QUAD9N: default: assert(0); break; } }