next up previous contents
: 解説 : 微小変形、微小歪みの場合 : 微小変形、微小歪みの場合   目次

実装

微小歪みテンソルを求める 関数は、2次元と3次元について、それぞれ以下のようになる。

/* 微小歪みテンソル:2次元 */
void WH_SolidDeformation2D__whT_epsilon
(double whT_Z[2][2],
 double OUT__whT_epsilon[2][2])
/*
  入力引数:
    whT_Z はテンソルで、変位勾配テンソル
  出力引数:
    OUT__whT_epsilon はテンソルで、微小歪みテンソル
*/
{
  WH_Tensor2D__whSym_whT_OUT_whT 
    (whT_Z,
     OUT__whT_epsilon);
}

/* 微小歪みテンソル:3次元 */
void WH_SolidDeformation3D__whT_epsilon
(double whT_Z[3][3],
 double OUT__whT_epsilon[3][3])
/*
  入力引数:
    whT_Z はテンソルで、変位勾配テンソル
  出力引数:
    OUT__whT_epsilon はテンソルで、微小歪みテンソル
*/
{
  WH_Tensor3D__whSym_whT_OUT_whT 
    (whT_Z,
     OUT__whT_epsilon);
}

体積歪みを求める 関数は、2次元と3次元について、それぞれ以下のようになる。

/* 体積歪み:2次元 */
void WH_SolidDeformation2D__epsilon_V
(double whT_epsilon[2][2],
 double *OUT__epsilon_V)
/*
  入力引数:
    whT_epsilon はテンソルで、歪みテンソル
  出力引数:
    OUT__epsilon_V はスカラーで、体積歪み
*/
{
  WH_Tensor2D__whTr_whT_OUT_s
    (whT_epsilon,
     OUT__epsilon_V);
}

/* 体積歪み:3次元 */
void WH_SolidDeformation3D__epsilon_V
(double whT_epsilon[3][3],
 double *OUT__epsilon_V)
/*
  入力引数:
    whT_epsilon はテンソルで、歪みテンソル
  出力引数:
    OUT__epsilon_V はスカラーで、体積歪み
*/
{
  WH_Tensor3D__whTr_whT_OUT_s
    (whT_epsilon,
     OUT__epsilon_V);
}

偏差歪みテンソルを求める 関数は、2次元と3次元について、それぞれ以下のようになる。

/* 偏差歪みテンソル:2次元 */
void WH_SolidDeformation2D__whT_epsilon_prime
(double whT_epsilon[2][2],
 double OUT__whT_epsilon_prime[2][2])
/*
  入力引数:
    whT_epsilon はテンソルで、歪みテンソル
  出力引数:
    OUT__whT_epsilon_prime はテンソルで、偏差歪みテンソル
*/
{
  double epsilon_V;
  double whT_tmp[2][2];

  WH_SolidDeformation2D__epsilon_V
   (whT_epsilon,
    &epsilon_V);
  WH_Tensor2D__s_mul_whT_OUT_whT
    (1.0 / 3 * epsilon_V, WH_Tensor2D__whT_I,
     whT_tmp);
  WH_Tensor2D__whT_sub_whT_OUT_whT
    (whT_epsilon, whT_tmp,
     OUT__whT_epsilon_prime);
}

/* 偏差歪みテンソル:3次元 */
void WH_SolidDeformation3D__whT_epsilon_prime
(double whT_epsilon[3][3],
 double OUT__whT_epsilon_prime[3][3])
/*
  入力引数:
    whT_epsilon はテンソルで、歪みテンソル
  出力引数:
    OUT__whT_epsilon_prime はテンソルで、偏差歪みテンソル
*/
{
  double epsilon_V;
  double whT_tmp[3][3];

  WH_SolidDeformation3D__epsilon_V
   (whT_epsilon,
    &epsilon_V);
  WH_Tensor3D__s_mul_whT_OUT_whT
    (1.0 / 3 * epsilon_V, WH_Tensor3D__whT_I,
     whT_tmp);
  WH_Tensor3D__whT_sub_whT_OUT_whT
    (whT_epsilon, whT_tmp,
     OUT__whT_epsilon_prime);
}



Hiroshi KAWAI 平成15年4月19日