/* 形状関数 */ void WH_Fem__Shape3D__N_arrayIn (WH_Fem__Element3DType elementType, int nNodes, double whV_xi[3], double OUT__N_arrayIn[/* nNodes */]) /* 入力引数: nNodes は整数で、要素節点数 whV_xi はベクトルで、自然座標 出力引数: OUT__N_arrayIn はスカラーの節点配列で、形状関数 */ { switch (elementType) { case WH_FEM__ELEMENT3D__TETRA4N: WH_Fem__Shape3D__Tetra4N__N_arrayIn (whV_xi, OUT__N_arrayIn); break; case WH_FEM__ELEMENT3D__TETRA10N: WH_Fem__Shape3D__Tetra10N__N_arrayIn (whV_xi, OUT__N_arrayIn); break; case WH_FEM__ELEMENT3D__HEXA8N: WH_Fem__Shape3D__Hexa8N__N_arrayIn (whV_xi, OUT__N_arrayIn); break; case WH_FEM__ELEMENT3D__HEXA20N: WH_Fem__Shape3D__Hexa20N__N_arrayIn (whV_xi, OUT__N_arrayIn); break; case WH_FEM__ELEMENT3D__HEXA27N: default: assert(0); break; } } /* 形状関数の自然座標についての微分 */ void WH_Fem__Shape3D__whP_N_whV_xi_arrayIn (WH_Fem__Element3DType elementType, int nNodes, double whV_xi[3], double OUT__whP_N_whV_xi_arrayIn[/* nNodes */][3]) /* 入力引数: nNodes は整数で、要素節点数 whV_xi はベクトルで、自然座標 出力引数: OUT__whP_N_whV_xi_arrayIn はベクトルの節点配列で、 形状関数の自然座標に関する微分 */ { switch (elementType) { case WH_FEM__ELEMENT3D__TETRA4N: WH_Fem__Shape3D__Tetra4N__whP_N_whV_xi_arrayIn (whV_xi, OUT__whP_N_whV_xi_arrayIn); break; case WH_FEM__ELEMENT3D__TETRA10N: WH_Fem__Shape3D__Tetra10N__whP_N_whV_xi_arrayIn (whV_xi, OUT__whP_N_whV_xi_arrayIn); break; case WH_FEM__ELEMENT3D__HEXA8N: WH_Fem__Shape3D__Hexa8N__whP_N_whV_xi_arrayIn (whV_xi, OUT__whP_N_whV_xi_arrayIn); break; case WH_FEM__ELEMENT3D__HEXA20N: WH_Fem__Shape3D__Hexa20N__whP_N_whV_xi_arrayIn (whV_xi, OUT__whP_N_whV_xi_arrayIn); break; case WH_FEM__ELEMENT3D__HEXA27N: default: assert(0); break; } }