右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); }