您當前的位置:首頁 > 舞蹈

二階張量和四階張量的Voigt標記詳解

作者:由 Shatom 發表于 舞蹈時間:2020-05-21

我們知道線彈性的本構關係可以用張量寫為

\bm{\sigma} = \mathbb{C} : \bm{\varepsilon}

,用指標標記為

\sigma_{ij} = \mathbb{C}_{ijk \ell} \varepsilon_{kl}

,其中

i,j,k, \ell

分別歷遍

1,2,3

。從張量運算上來說,這是一個四階張量和一個二階張量進行縮並,得到另一個新的二階張量的過程。運用指標標記法之後,根據愛因斯坦求和約定,我們可以試著寫出

 \sigma_{11}

所應滿足的式子如下:

\begin{align} 	\sigma_{11}=\mathbb{C}_{11kl} \varepsilon_{kl} \Rightarrow  	\sigma_{11} & =\underbrace{ \mathbb{C}_{111l} ~ \varepsilon_{1l} }_{ \begin{array}{c} 	\mathbb{C}_{1111} \varepsilon_{11} \\ 	+ \\      \mathbb{C}_{1112} \varepsilon_{12}	\\     + \\     \mathbb{C}_{1113} \varepsilon_{13} 	\end{array} }  + \quad \underbrace{ \mathbb{C}_{112l} ~ \varepsilon_{2l} }_ { \begin{array}{c} \mathbb{C}_{1121} \varepsilon_{21} \\ + \\  \mathbb{C}_{1122} \varepsilon_{22}	\\ + \\ \mathbb{C}_{1123} \varepsilon_{23} \end{array} }  + \quad \underbrace{ \mathbb{C}_{113l} ~ \varepsilon_{3l} }_ { \begin{array}{c} 	\mathbb{C}_{1131} \varepsilon_{31} \\ 	+ \\  	\mathbb{C}_{1132} \varepsilon_{32}	\\ 	+ \\ 	\mathbb{C}_{1133} \varepsilon_{33} 	\end{array}  }  \end{align}

由此整理可得,

\begin{equation} 	\sigma_{11} = \mathbb{C}_{1111} \varepsilon_{11} + \mathbb{C}_{1122} \varepsilon_{22} + \mathbb{C}_{1133} \varepsilon_{33} + \mathbb{C}_{1112} \varepsilon_{12} + \mathbb{C}_{1123} \varepsilon_{23} + \mathbb{C}_{1113} \varepsilon_{13}+ \mathbb{C}_{1121} \varepsilon_{21} + \mathbb{C}_{1132} \varepsilon_{32} + \mathbb{C}_{1131} \varepsilon_{31}  \notag 	\label{sigma11-1} \end{equation}

同理,我們可以寫出

\sigma_{22}

的表示式如下

\begin{equation} \sigma_{22} = \mathbb{C}_{2211} \varepsilon_{11} + \mathbb{C}_{2222} \varepsilon_{22} + \mathbb{C}_{2233} \varepsilon_{33} + \mathbb{C}_{2212} \varepsilon_{12} + \mathbb{C}_{2223} \varepsilon_{23} + \mathbb{C}_{2213} \varepsilon_{13}+ \mathbb{C}_{2221} \varepsilon_{21} + \mathbb{C}_{2232} \varepsilon_{32} + \mathbb{C}_{2231} \varepsilon_{31}   \notag  \label{sigma22-2} \end{equation}

按以上方法,寫出所有

\sigma_{ij}

的表示式並整理,線彈性本構方程可以寫為如下矩陣乘法的形式,請自行驗證。(注:本文中

\{~\}

表示向量,

[~~]

表示矩陣},)

\begin{align} \left\{ \begin{array}{c} \sigma_{11} \\ \sigma_{22} \\ \sigma_{33} \\  \hdashline \sigma_{12} \\ \sigma_{23} \\ \sigma_{13} \\  \hdashline \sigma_{21} \\ \sigma_{32} \\ \sigma_{31} \\ \end{array} \right\}  =\left[ \begin{array}{ccc : ccc : ccc} \mathbb{C}_{1111} & \mathbb{C}_{1122} & \mathbb{C}_{1133} & \mathbb{C}_{1112} & \mathbb{C}_{1123} & \mathbb{C}_{1113} & \mathbb{C}_{1121} & \mathbb{C}_{1132} & \mathbb{C}_{1131} \\ \mathbb{C}_{2211} & \mathbb{C}_{2222} & \mathbb{C}_{2233} & \mathbb{C}_{2212} & \mathbb{C}_{2223} & \mathbb{C}_{2213} & \mathbb{C}_{2221} & \mathbb{C}_{2232} & \mathbb{C}_{2231} \\ \mathbb{C}_{3311} & \mathbb{C}_{3322} & \mathbb{C}_{3333} & \mathbb{C}_{3312} & \mathbb{C}_{3323} & \mathbb{C}_{3313} & \mathbb{C}_{3321} & \mathbb{C}_{3332} & \mathbb{C}_{3331} \\  \hdashline \mathbb{C}_{1211} & \mathbb{C}_{1222} & \mathbb{C}_{1233} & \mathbb{C}_{1212} & \mathbb{C}_{1223} & \mathbb{C}_{1213} & \mathbb{C}_{1221} & \mathbb{C}_{1232} & \mathbb{C}_{1231} \\ \mathbb{C}_{2311} & \mathbb{C}_{2322} & \mathbb{C}_{2333} & \mathbb{C}_{2312} & \mathbb{C}_{2323} & \mathbb{C}_{2313} & \mathbb{C}_{2321} & \mathbb{C}_{2332} & \mathbb{C}_{2331} \\ \mathbb{C}_{1311} & \mathbb{C}_{1322} & \mathbb{C}_{1333} & \mathbb{C}_{1312} & \mathbb{C}_{1323} & \mathbb{C}_{1313} & \mathbb{C}_{1321} & \mathbb{C}_{1332} & \mathbb{C}_{1331} \\  \hdashline \mathbb{C}_{2111} & \mathbb{C}_{2122} & \mathbb{C}_{2133} & \mathbb{C}_{2112} & \mathbb{C}_{2123} & \mathbb{C}_{2113} & \mathbb{C}_{2121} & \mathbb{C}_{2132} & \mathbb{C}_{2131} \\ \mathbb{C}_{3211} & \mathbb{C}_{3222} & \mathbb{C}_{3233} & \mathbb{C}_{3212} & \mathbb{C}_{3223} & \mathbb{C}_{3213} & \mathbb{C}_{3221} & \mathbb{C}_{3232} & \mathbb{C}_{3231} \\ \mathbb{C}_{3111} & \mathbb{C}_{3122} & \mathbb{C}_{3133} & \mathbb{C}_{3112} & \mathbb{C}_{3123} & \mathbb{C}_{3113} & \mathbb{C}_{3121} & \mathbb{C}_{3132} & \mathbb{C}_{3131}  \end{array} \right] \left\{ \begin{array}{c} \varepsilon_{11} \\ \varepsilon_{22} \\ \varepsilon_{33} \\  \hdashline \varepsilon_{12} \\ \varepsilon_{23} \\ \varepsilon_{13} \\  \hdashline \varepsilon_{21} \\ \varepsilon_{32} \\ \varepsilon_{31} \\ \end{array} \right\}  \tag{1} \label{linear-elastic-9x9} \end{align}

至此,我們將一個小小的我們不太熟悉的張量計算式子展成了一個我們非常熟悉的矩陣乘法的式子,實現了從不太熟悉到非常熟悉的轉化。

由以上可以看到,我們其實是將二階應力張量和應變張量以及四階彈性張量的指標按以下方式進行了重新排列。

應力張量成分重新排列:

\begin{align} \left[ \sigma_{i j} \right] =\left[\begin{array}{ccc} \sigma_{11} & \sigma_{12} & \sigma_{13} \\ \sigma_{21} & \sigma_{22} & \sigma_{23} \\ \sigma_{31} & \sigma_{32} & \sigma_{33} \end{array}\right]  \Longrightarrow  \left\{ \sigma_{ij} \right\}  = {\left\{\begin{array}{c} 	\sigma_{11} \\ 	\sigma_{22} \\ 	\sigma_{33} \\  \hdashline 	\sigma_{12} \\ 	\sigma_{23} \\ 	\sigma_{13} \\  \hdashline 	\sigma_{21} \\ 	\sigma_{32} \\ 	\sigma_{31} 	\end{array}\right\} } \end{align}

四階彈性張量指標排列方法:

\begin{align} \left[ {ijkl} \right]_{9 \times 9} &=  \left\{  \begin{array}{ccccccccc} 11 & 22 & 33 & 12 & 23 & 13 & 21 & 32 & 31  \end{array} \right\}^T \left\{ \begin{array}{ccccccccc} 11 & 22 & 33 & 12 & 23 & 13 & 21 & 32 & 31  \end{array}  \right\} \notag \\  &=\left[ \begin{array}{ccc : ccc : ccc} {1111} & {1122} & {1133} & {1112} & {1123} & {1113} & {1121} & {1132} & {1131} \\ {2211} & {2222} & {2233} & {2212} & {2223} & {2213} & {2221} & {2232} & {2231} \\ {3311} & {3322} & {3333} & {3312} & {3323} & {3313} & {3321} & {3332} & {3331} \\  \hdashline {1211} & {1222} & {1233} & {1212} & {1223} & {1213} & {1221} & {1232} & {1231} \\ {2311} & {2322} & {2333} & {2312} & {2323} & {2313} & {2321} & {2332} & {2331} \\ {1311} & {1322} & {1333} & {1312} & {1323} & {1313} & {1321} & {1332} & {1331} \\  \hdashline {2111} & {2122} & {2133} & {2112} & {2123} & {2113} & {2121} & {2132} & {2131} \\ {3211} & {3222} & {3233} & {3212} & {3223} & {3213} & {3221} & {3232} & {3231} \\ {3111} & {3122} & {3133} & {3112} & {3123} & {3113} & {3121} & {3132} & {3131} \\ \end{array} \right]  \end{align}

應變張量成分重新排列:

\begin{align} \left[ \varepsilon_{i j} \right] =\left[\begin{array}{ccc} \varepsilon_{11} & \varepsilon_{12} & \varepsilon_{13} \\ \varepsilon_{21} & \varepsilon_{22} & \varepsilon_{23} \\ \varepsilon_{31} & \varepsilon_{32} & \varepsilon_{33} \end{array}\right]  \Longrightarrow  \left\{ \bm{\varepsilon}_{ij} \right\}  = {\left\{ \begin{array}{c} 	\varepsilon_{11} \\ 	\varepsilon_{22} \\ 	\varepsilon_{33} \\  \hdashline 	\varepsilon_{12} \\ 	\varepsilon_{23} \\ 	\varepsilon_{13} \\  \hdashline 	\varepsilon_{21} \\ 	\varepsilon_{32} \\ 	\varepsilon_{31} 	\end{array}\right\} } \end{align}

如上所示,我們是將二階張量成分的( 3 x 3 )的二維矩陣形式轉換為( 9 x 1 )的向量形式;將四階張量成分的 (3 x 3 x 3 x 3)的四維矩陣形式轉換為( 9 x 9 )的二維矩陣形式 。

接下來我們繼續思考,既然應力張量有對稱性質

\sigma_{ij} = \sigma_{ji}

,那麼式(1)所示運算關係是不是可以進行簡化呢?答案是肯定的。首先,我們取出應力成分的向量表示式

\left\{ \sigma_{ij} \right\}_{ 9 \times 1}

上面的

2/3

部分來看。

\begin{align} \left\{ \begin{array}{c} \sigma_{11} \\ \sigma_{22} \\ \sigma_{33} \\  \hdashline \sigma_{12} \\ \sigma_{23} \\ \sigma_{13}  \end{array} \right\}  =\left[ \begin{array}{ccc : ccc : ccc} \mathbb{C}_{1111} & \mathbb{C}_{1122} & \mathbb{C}_{1133} & \mathbb{C}_{1112} & \mathbb{C}_{1123} & \mathbb{C}_{1113} & \mathbb{C}_{1121} & \mathbb{C}_{1132} & \mathbb{C}_{1131} \\ \mathbb{C}_{2211} & \mathbb{C}_{2222} & \mathbb{C}_{2233} & \mathbb{C}_{2212} & \mathbb{C}_{2223} & \mathbb{C}_{2213} & \mathbb{C}_{2221} & \mathbb{C}_{2232} & \mathbb{C}_{2231} \\ \mathbb{C}_{3311} & \mathbb{C}_{3322} & \mathbb{C}_{3333} & \mathbb{C}_{3312} & \mathbb{C}_{3323} & \mathbb{C}_{3313} & \mathbb{C}_{3321} & \mathbb{C}_{3332} & \mathbb{C}_{3331} \\  \hdashline \mathbb{C}_{1211} & \mathbb{C}_{1222} & \mathbb{C}_{1233} & \mathbb{C}_{1212} & \mathbb{C}_{1223} & \mathbb{C}_{1213} & \mathbb{C}_{1221} & \mathbb{C}_{1232} & \mathbb{C}_{1231} \\ \mathbb{C}_{2311} & \mathbb{C}_{2322} & \mathbb{C}_{2333} & \mathbb{C}_{2312} & \mathbb{C}_{2323} & \mathbb{C}_{2313} & \mathbb{C}_{2321} & \mathbb{C}_{2332} & \mathbb{C}_{2331} \\ \mathbb{C}_{1311} & \mathbb{C}_{1322} & \mathbb{C}_{1333} & \mathbb{C}_{1312} & \mathbb{C}_{1323} & \mathbb{C}_{1313} & \mathbb{C}_{1321} & \mathbb{C}_{1332} & \mathbb{C}_{1331}  \end{array} \right] \left\{ \begin{array}{c} \varepsilon_{11} \\ \varepsilon_{22} \\ \varepsilon_{33} \\  \hdashline \varepsilon_{12} \\ \varepsilon_{23} \\ \varepsilon_{13} \\  \hdashline \varepsilon_{21} \\ \varepsilon_{32} \\ \varepsilon_{31}  \end{array} \right\}  \tag{2} \label{linear-elastic-6x9} \end{align}

式(2)顯然是成立的,因為我們沒有改變任何運算關係,只是省略了應力張量

\bm{\sigma}

的相同成分

\sigma_{21}, \sigma_{32}, \sigma_{31}

的表達。接下來,我們對式(2)作進行進一步簡化。

利用四階彈性張量的副對稱(minor symtric)關係

\mathbb{C}_{ijkl}=\mathbb{C}_{ijlk} ~ ( = \mathbb{C}_{jikl}=\mathbb{C}_{jilk} )

以及應變張量的對稱關係

\varepsilon_{ij} = \varepsilon_{ji}

,可將式(2)的關係寫為:

\begin{align} \left\{ \begin{array}{c} \sigma_{11} \\ \sigma_{22} \\ \sigma_{33} \\  \hdashline \sigma_{12} \\ \sigma_{23} \\ \sigma_{13}  \end{array} \right\}  =\left[ \begin{array}{ccc : ccc } \mathbb{C}_{1111} & \mathbb{C}_{1122} & \mathbb{C}_{1133} & \mathbb{C}_{1112} & \mathbb{C}_{1123} & \mathbb{C}_{1113} \\ \mathbb{C}_{2211} & \mathbb{C}_{2222} & \mathbb{C}_{2233} & \mathbb{C}_{2212} & \mathbb{C}_{2223} & \mathbb{C}_{2213} \\ \mathbb{C}_{3311} & \mathbb{C}_{3322} & \mathbb{C}_{3333} & \mathbb{C}_{3312} & \mathbb{C}_{3323} & \mathbb{C}_{3313} \\  \hdashline \mathbb{C}_{1211} & \mathbb{C}_{1222} & \mathbb{C}_{1233} & \mathbb{C}_{1212} & \mathbb{C}_{1223} & \mathbb{C}_{1213} \\ \mathbb{C}_{2311} & \mathbb{C}_{2322} & \mathbb{C}_{2333} & \mathbb{C}_{2312} & \mathbb{C}_{2323} & \mathbb{C}_{2313} \\ \mathbb{C}_{1311} & \mathbb{C}_{1322} & \mathbb{C}_{1333} & \mathbb{C}_{1312} & \mathbb{C}_{1323} & \mathbb{C}_{1313}  \end{array} \right] \left\{ \begin{array}{c} \varepsilon_{11} \\ \varepsilon_{22} \\ \varepsilon_{33} \\  \hdashline 2\varepsilon_{12} \\ 2\varepsilon_{23} \\ 2\varepsilon_{13}  \end{array} \right\}  \tag{3} \label{linear-elastic-6x6} \end{align}

顯然,式(3)是成立的,它所表達的運算關係和式(2)所表達的一模一樣,這裡只是利用對稱關係,對等量進行了替換並對式子重新整理,請自行驗證。

其實,式(3)便是所謂的

Voigt 標記

(注:國內的教科書中,普遍都叫Voigt標記,但個人覺得,是不是叫【Voigt表記】會好一些?它是一種

法。而標記,接近英語中的mark,就是一個記號的意思。同理,張量的指標標記也應叫做指標表記更為貼切。基於此,後文全部改用【表記】敘述)。

由以上我們可以知道,Voigt表記是利用對稱性,採用應力應變中的6個獨立成分,和式(1)中 [9 x 9] 彈性矩陣的左上方的 [6 x 6] 的矩陣而得。也就是將二階張量成分的[ 3 x 3 ]的矩陣形式轉換為 { 6x1} 的向量形式,將四階張量成分的 (3x3x3x3) 的四維矩陣形式轉換為 [ 6x6] 的二維矩陣形式。並且為了滿足原來張量式子的等式關係,將應變的剪下成分乘了2倍,也就成了所謂的工程應變。

通常,我們採用以下方法進行Voigt表記的記憶。(

注:在不同版本的書籍和不同的商業軟體中,Voigt表記採取的排列順序不同,請自行確認。)

二階張量和四階張量的Voigt標記詳解

應力張量的Voigt表記

二階張量和四階張量的Voigt標記詳解

應變張量的Voigt表記

二階張量和四階張量的Voigt標記詳解

彈性張量的Voigt表記

我們費了這麼大功夫,終於徹底講清楚了Voigt表記。並且由以上,可以將線彈性本構關係寫成我們在大學的材料力學課堂上,初見它時的模樣。但是我們的認識,要比當初深刻了很多。

\begin{align} \left\{  \begin{array}{c} \sigma_{xx} \\ \sigma_{yy} \\ \sigma_{zz} \\  \hdashline \tau_{xy} \\ \tau_{yz} \\ \tau_{xz}  \end{array} \right \}  =\left[ \begin{array}{ccc : ccc } {C}_{11} & {C}_{12} & {C}_{13} & {C}_{14} & {C}_{15} & {C}_{16} \\ {C}_{21} & {C}_{22} & {C}_{23} & {C}_{24} & {C}_{25} & {C}_{26} \\ {C}_{31} & {C}_{32} & {C}_{33} & {C}_{34} & {C}_{35} & {C}_{36} \\  \hdashline {C}_{41} & {C}_{42} & {C}_{43} & {C}_{44} & {C}_{45} & {C}_{46} \\ {C}_{51} & {C}_{52} & {C}_{53} & {C}_{54} & {C}_{55} & {C}_{56} \\ {C}_{61} & {C}_{62} & {C}_{63} & {C}_{64} & {C}_{65} & {C}_{66}  \end{array} \right] \left \{ \begin{array}{c} \varepsilon_{xx} \\ \varepsilon_{yy} \\ \varepsilon_{zz} \\  \hdashline \gamma_{xy} \\ \gamma_{yz} \\ \gamma_{xz}  \end{array} \right \}  \label{linear-elastic-relationship-in-matrix6x6} \end{align}

總結:

不僅應力應變張量以及彈性張量可以用Voigt表記形式,

任何具有相同對稱性的二階張量和四階張量都可以採用Voigt表記

採用Voigt表記的好處有以下三點。

減小計算機記憶體。

要知道,在Voigt的時代,能給計算機減少1kb的記憶體容量那都是不得了的事情。即使在計算機技術發達的當今社會,其作用也不容小覷。玩有限元的都知道,Voigt表記相當於給

每個單元的每個高斯點上的資訊進行了降維儲存

利於求逆矩陣。

特別特別是做彈塑性計算的時候,如果對某個本構模型採用隱式方法求解(如 return mapping),會出現很多四階張量的逆矩陣,到目前為止,我還不知道怎麼直接透過數學方法直接求解一般四階張量的逆張量,雖然有些特殊的四階張量已經給出了其逆張量的具體表達式。

我們不生產數學,只做數學的搬運工。

把前人的做好了的工具,想辦法拿過來用就可以了。所以如果能夠把四階張量轉化為 [6 x 6] 矩陣的形式,求逆就直接呼叫逆矩陣的subroutine就可以了。

無論是用張量表示還是用Voigt表記的向量表示應力應變,其內積(能量)保持一致。

具體說明如下:

二階張量內積:

\begin{align} \bm{ \sigma } : \bm{\varepsilon } &= \sigma_{i j} : \varepsilon_{i j} \\ &= \sigma_{11} \varepsilon_{11}   +  \sigma_{22} \varepsilon_{22}  + \sigma_{33} \varepsilon_{33} + 2( \sigma_{23} \varepsilon_{23}  +\sigma_{13} \varepsilon_{13}   + \sigma_{12} \varepsilon_{12}  )   \end{align}

一階向量內積:

\begin{align} \left\{ \bm{ \sigma } \right\} \cdot \left\{ \bm{\varepsilon} \right\} & = \left\{  \sigma_{11} ~\sigma_{22} ~\sigma_{33} ~\sigma_{12}~ \sigma_{23} ~\sigma_{13} \right\}   \left\{ \varepsilon_{11}~ \varepsilon_{22}~ \varepsilon_{33}~ 2\varepsilon_{12}~  2\varepsilon_{23} ~2\varepsilon_{13} \right\}^T  \\ &=  \sigma_{11} \varepsilon_{11}  +  \sigma_{22} \varepsilon_{22}  + \sigma_{33} \varepsilon_{33}   + 2(\sigma_{23} \varepsilon_{23}   + \sigma_{13} \varepsilon_{13}  +  \sigma_{12} \varepsilon_{12}  )   \end{align}

由此,保證了應力應變的內積的一致,而這對應著一個非常重要的一個物理量:能量。所以,在連續體內部考慮能量的時候,用應力應變計算內積, 無論是用二階張量表示還是用一階向量(Voigt表記)表示都可以。

此外,應變張量用Voigt表記時,給非對角項(應變的剪下成分)乘上了2倍

( \gamma_{ij} = 2\varepsilon_{ij},~i \ne j )

,這正好能夠

表示物體變形時的角度變化

,有著明確的物理(工學)意義。所以,叫作

工學應變

以上,就基本講清楚了Voigt表記。

下一篇我們談一談各種具體的四階單位張量的 [9 x 9] 矩陣表現形式和 [6 x 6] 矩陣Voigt表記形式。

標簽: 張量  Voigt  表記  矩陣  四階