要素熱伝導行列を厳密積分により求める 関数は、以下のようになる。
/* 要素熱伝導行列:三次元:シンプレックス一次 */ void WH_ThermalFem3D__Linear__Simplex__K_cnd_arrayInJn (double whV_x_arrayIn[4][3], double whM_lambda[3][3], double OUT__K_cnd_arrayInJn[4][4]) /* 入力引数: whV_x_arrayIn はベクトルの節点配列で、位置(節点座標) whM_lambda は行列で、熱伝導率の行列 出力引数: OUT__K_cnd_arrayInJn はスカラーの配列(節点、節点)で、 要素熱伝導行列 */ { double V; double whM_N_x[3][4]; double whM_tmp[3][4]; WH_Fem__Simplex3D__V (whV_x_arrayIn[0], whV_x_arrayIn[1], whV_x_arrayIn[2], whV_x_arrayIn[3], &V); WH_ThermalFem3D__Linear__Simplex__whM_N_x (whV_x_arrayIn, V, whM_N_x); WH_Matrix__whM_mul_whM_OUT_whM (3, 3, whM_lambda, 3, 4, whM_N_x, 3, 4, whM_tmp); WH_Matrix__whTrans_whM_mul_whM_OUT_whM (3, 4, whM_N_x, 3, 4, whM_tmp, 4, 4, OUT__K_cnd_arrayInJn); WH_Matrix__whM_mul_s_OUT_whM (4, 4, OUT__K_cnd_arrayInJn, V, 4, 4, OUT__K_cnd_arrayInJn); }