弾性定数テンソルを求める 関数は、以下のようになる。
/* 弾性定数テンソル:2次元平面応力 */
void WH_LinearElastic2D__PlaneStress__whT4_C_e
(double E,
double nu,
double OUT__whT4_C_e[2][2][2][2])
/*
入力引数:
E はスカラーで、ヤング率
nu はスカラーで、ポアソン比
出力引数:
OUT__whT4_C_e は4階テンソルで、弾性定数テンソル
*/
{
double G;
WH_Tensor2D__assign_whT4_OUT_whT4
(WH_Tensor2D__whT4_O,
OUT__whT4_C_e);
WH_LinearElastic__G
(E, nu,
&G);
OUT__whT4_C_e[0][0][0][0]
= OUT__whT4_C_e[1][1][1][1]
= E / (1 - nu * nu)
OUT__whT4_C_e[0][0][1][1]
= OUT__whT4_C_e[1][1][0][0]
= (nu * E) / (1 - nu * nu);
OUT__whT4_C_e[0][1][0][1]
= OUT__whT4_C_e[1][0][1][0]
= 2 * G;
}