右Cauchy-Green変形テンソルを求める 関数は、2次元と3次元について、それぞれ以下のようになる。
/* 右Cauchy-Green変形テンソル:2次元 */
void WH_SolidDeformation2D__whT_C
(double whT_F[2][2],
double OUT__whT_C[2][2])
/*
入力引数:
whT_F はテンソルで、変形勾配テンソル
出力引数:
OUT__whT_C はテンソルで、右Cauchy-Green変形テンソル
*/
{
double whT_tmp[2][2];
WH_Tensor2D__whTrans_whT_OUT_whT
(whT_F,
whT_tmp);
WH_Tensor2D__whT_cdot_whT_OUT_whT
(whT_tmp, whT_F,
OUT__whT_C);
}
/* 右Cauchy-Green変形テンソル:3次元 */
void WH_SolidDeformation3D__whT_C
(double whT_F[3][3],
double OUT__whT_C[3][3])
/*
入力引数:
whT_F はテンソルで、変形勾配テンソル
出力引数:
OUT__whT_C はテンソルで、右Cauchy-Green変形テンソル
*/
{
double whT_tmp[3][3];
WH_Tensor3D__whTrans_whT_OUT_whT
(whT_F,
whT_tmp);
WH_Tensor3D__whT_cdot_whT_OUT_whT
(whT_tmp, whT_F,
OUT__whT_C);
}
左Cauchy-Green変形テンソルを求める 関数は、2次元と3次元について、それぞれ以下のようになる。
/* 左Cauchy-Green変形テンソル:2次元 */
void WH_SolidDeformation2D__whT_B
(double whT_F[2][2],
double OUT__whT_B[2][2])
/*
入力引数:
whT_F はテンソルで、変形勾配テンソル
出力引数:
OUT__whT_B はテンソルで、左Cauchy-Green変形テンソル
*/
{
double whT_tmp[2][2];
WH_Tensor2D__whTrans_whT_OUT_whT
(whT_F,
whT_tmp);
WH_Tensor2D__whT_cdot_whT_OUT_whT
(whT_F, whT_tmp,
OUT__whT_B);
}
/* 左Cauchy-Green変形テンソル:3次元 */
void WH_SolidDeformation3D__whT_B
(double whT_F[3][3],
double OUT__whT_B[3][3])
/*
入力引数:
whT_F はテンソルで、変形勾配テンソル
出力引数:
OUT__whT_B はテンソルで、左Cauchy-Green変形テンソル
*/
{
double whT_tmp[3][3];
WH_Tensor3D__whTrans_whT_OUT_whT
(whT_F,
whT_tmp);
WH_Tensor3D__whT_cdot_whT_OUT_whT
(whT_F, whT_tmp,
OUT__whT_B);
}
右ストレッチテンソルから剛体回転テンソルを求める 関数は、2次元と3次元について、それぞれ以下のようになる。
/* 剛体回転テンソル(右ストレッチテンソルから):2次元 */
void WH_SolidDeformation2D__whT_R_from_whT_U
(double whT_F[2][2],
double whT_U[2][2],
double OUT__whT_R[2][2])
/*
入力引数:
whT_F はテンソルで、変形勾配テンソル
whT_U はテンソルで、右ストレッチテンソル
出力引数:
OUT__whT_R はテンソルで、剛体回転テンソル
*/
{
double whT_tmp[2][2];
WH_Tensor2D__whInv_whT_OUT_whT
(whT_U,
whT_tmp);
WH_Tensor2D__whT_cdot_whT_OUT_whT
(whT_F, whT_tmp,
OUT__whT_R);
}
/* 剛体回転テンソル(右ストレッチテンソルから):3次元 */
void WH_SolidDeformation3D__whT_R_from_whT_U
(double whT_F[3][3],
double whT_U[3][3],
double OUT__whT_R[3][3])
/*
入力引数:
whT_F はテンソルで、変形勾配テンソル
whT_U はテンソルで、右ストレッチテンソル
出力引数:
OUT__whT_R はテンソルで、剛体回転テンソル
*/
{
double whT_tmp[3][3];
WH_Tensor3D__whInv_whT_OUT_whT
(whT_U,
whT_tmp);
WH_Tensor3D__whT_cdot_whT_OUT_whT
(whT_F, whT_tmp,
OUT__whT_R);
}
左ストレッチテンソルから剛体回転テンソルを求める 関数は、2次元と3次元について、それぞれ以下のようになる。
/* 剛体回転テンソル(左ストレッチテンソルから):2次元 */
void WH_SolidDeformation2D__whT_R_from_whT_V
(double whT_F[2][2],
double whT_V[2][2],
double OUT__whT_R[2][2])
/*
入力引数:
whT_F はテンソルで、変形勾配テンソル
whT_V はテンソルで、左ストレッチテンソル
出力引数:
OUT__whT_R はテンソルで、剛体回転テンソル
*/
{
double whT_tmp[2][2];
WH_Tensor2D__whInv_whT_OUT_whT
(whT_V,
whT_tmp);
WH_Tensor2D__whT_cdot_whT_OUT_whT
(whT_tmp, whT_F,
OUT__whT_R);
}
/* 剛体回転テンソル(左ストレッチテンソルから):3次元 */
void WH_SolidDeformation3D__whT_R_from_whT_U
(double whT_F[3][3],
double whT_V[3][3],
double OUT__whT_R[3][3])
/*
入力引数:
whT_F はテンソルで、変形勾配テンソル
whT_V はテンソルで、左ストレッチテンソル
出力引数:
OUT__whT_R はテンソルで、剛体回転テンソル
*/
{
double whT_tmp[3][3];
WH_Tensor3D__whInv_whT_OUT_whT
(whT_V,
whT_tmp);
WH_Tensor3D__whT_cdot_whT_OUT_whT
(whT_tmp, whT_F,
OUT__whT_R);
}