要素熱伝達項ベクトルを厳密積分により求める 関数は、以下のようになる。
/* 要素熱伝達項ベクトル:三次元:シンプレックス一次 */
void WH_ThermalFem3D__Linear__Simplex__Q_cnv_arrayIn
(int Iface,
double whV_x_arrayIn[4][3],
double h,
double T_env,
double OUT__Q_cnv_arrayIn[4])
/*
入力引数:
Iface は整数で、要素面ID
whV_x_arrayIn はベクトルの節点配列で、位置(節点座標)
h はスカラーで、熱伝達係数
T_env はスカラーで、外部温度
出力引数:
OUT__Q_cnv_arrayIn はスカラーの配列(節点、節点)で、
要素熱伝達項ベクトル
*/
{
double S;
int In;
int Ivertex;
assert (0 <= Iface);
assert (Iface < 4);
WH_Fem__Simplex3D__S
(whV_x_arrayIn[0], whV_x_arrayIn[1],
whV_x_arrayIn[2], whV_x_arrayIn[3],
Iface,
&S);
for (In = 0; In < 4; In++) {
OUT__Q_cnv_arrayIn[In] = 0.0;
}
for (Ivertex = 0; Ivertex < 3; Ivertex++) {
In = WH_Fem__Simplex3D4N__FaceToNode[Iface][Ivertex];
OUT__Q_cnv_arrayIn[In] = 1.0 / 3 * S * h * T_env;
}
}