弾性歪みテンソルから応力テンソルを求める 関数は、2次元と3次元問題についてそれぞれ以下のようになる。
/* 応力テンソル(弾性歪みテンソルから):2次元 */ void WH_LinearElastic2D__whT_sigma_from_epsilon_e (double whT4_C_e[2][2][2][2], double whT_epsilon_e[2][2], double OUT__whT_sigma[2][2]) /* 入力引数: whT4_C_e は4階テンソルで、弾性定数テンソル whT_epsilon_e はテンソルで、弾性歪みテンソル 出力引数: OUT__whT_sigma はテンソルで、応力テンソル */ { WH_Tensor2D__whT4_cdot_whT_OUT_whT (whT4_C_e, whT_epsilon_e, OUT__whT_sigma); } /* 応力テンソル(弾性歪みテンソルから):3次元 */ void WH_LinearElastic3D__whT_sigma_from_epsilon_e (double whT4_C_e[3][3][3][3], double whT_epsilon_e[3][3], double OUT__whT_sigma[3][3]) /* 入力引数: whT4_C_e は4階テンソルで、弾性定数テンソル whT_epsilon_e はテンソルで、弾性歪みテンソル 出力引数: OUT__whT_sigma はテンソルで、応力テンソル */ { WH_Tensor3D__whT4_cdot_whT_OUT_whT (whT4_C_e, whT_epsilon_e, OUT__whT_sigma); }
応力テンソルから弾性歪みテンソルを求める 関数は、2次元と3次元問題についてそれぞれ以下のようになる。
/* 弾性歪みテンソル(応力テンソルから):2次元 */ void WH_LinearElastic2D__whT_epsilon_e_from_sigma (double whT4_B_e[2][2][2][2], double whT_sigma[2][2], double OUT__whT_epsilon_e[2][2]) /* 入力引数: whT4_B_e は4階テンソルで、弾性コンプライアンステンソル whT_sigma はテンソルで、応力テンソル 出力引数: OUT__whT_epsilon_e はテンソルで、弾性歪みテンソル */ { WH_Tensor2D__whT4_cdot_whT_OUT_whT (whT4_B_e, whT_sigma, OUT__whT_epsilon_e); } /* 弾性歪みテンソル(応力テンソルから):3次元 */ void WH_LinearElastic3D__whT_epsilon_e_from_sigma (double whT4_B_e[3][3][3][3], double whT_sigma[3][3], double OUT__whT_epsilon_e[3][3]) /* 入力引数: whT4_B_e は4階テンソルで、弾性コンプライアンステンソル whT_sigma はテンソルで、応力テンソル 出力引数: OUT__whT_epsilon_e はテンソルで、弾性歪みテンソル */ { WH_Tensor3D__whT4_cdot_whT_OUT_whT (whT4_B_e, whT_sigma, OUT__whT_epsilon_e); }
弾性歪みエネルギー密度を求める 関数は、2次元と3次元問題についてそれぞれ以下のようになる。
/* 弾性歪みエネルギー密度:2次元 */ void WH_LinearElastic2D__U (double whT_sigma[2][2], double whT_epsilon_e[2][2], double *OUT__U) /* 入力引数: whT_sigma はテンソルで、応力テンソル whT_epsilon_e はテンソルで、弾性歪みテンソル 出力引数: OUT__U はスカラーで、弾性歪みエネルギー密度 */ { WH_Tensor2D__whT_colon_whT_OUT_s (whT_sigma, whT_epsilon_e, OUT__U); *OUT__U /= 2; } /* 弾性歪みエネルギー密度:3次元 */ void WH_LinearElastic3D__U (double whT_sigma[3][3], double whT_epsilon_e[3][3], double *OUT__U) /* 入力引数: whT_sigma はテンソルで、応力テンソル whT_epsilon_e はテンソルで、弾性歪みテンソル 出力引数: OUT__U はスカラーで、弾性歪みエネルギー密度 */ { WH_Tensor3D__whT_colon_whT_OUT_s (whT_sigma, whT_epsilon_e, OUT__U); *OUT__U /= 2; }