next up previous contents
: 解説 : Hookeの法則 : Hookeの法則   目次

実装

弾性歪みテンソルから応力テンソルを求める 関数は、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;
}



Hiroshi KAWAI 平成15年4月19日