四阶单位张量定义及 Voigt 表示方法

四阶单位张量的不同定义方式

四阶单位张量可以表示为含有四个自由指标 Kronecker delta 记号的组合: \(\delta_{ij} \delta_{kl}\). 不过, 与二阶单位张量不同的是, 改变指标的顺序, 会得到三种不同的四阶单位张量: \[ \delta_{ij} \delta_{kl} \triangleq {\mathcal{F}}_{iljk} \triangleq{\mathcal{E}}_{ikjl} \triangleq {\mathcal{I}}_{ijkl} \]

或者

\[ {\mathcal{I}}_{ijkl} \triangleq \delta_{ij} \delta_{kl} ,\quad {\mathcal{E}}_{ijkl} \triangleq \delta_{ik} \delta_{jl} ,\quad {\mathcal{F}}_{ijkl} \triangleq \delta_{il} \delta_{jk} \tag{1} \]

对于任意四阶张量 \(\mathbb{L}\), 在双点积 (\(A:B:=A_{\cdot mn} B_{mn\cdot }\)) 作用下, 张量 \(\mathcal{E}\) 满足:

\[ \mathcal{E}:\mathbb{L}=\delta_{ik} \delta_{jl} L_{klmn} = L_{ijmn}, \quad \mathbb{L}:\mathcal{E}= L_{ijkl} \delta_{km} \delta_{ln}= L_{ijmn} \]

除上述三种定义四阶单位张量的方式之外, 还可以定义如下四阶张量:

\[ \mathcal{L}_{ijkl}\triangleq\frac{1}{2}(\mathcal{F}_{ijkl}+\mathcal{E}_{ijkl}) = \frac{1}{2}(\delta_{il} \delta_{jk}+\delta_{ik} \delta_{jl}) \]

如果四阶张量的指标满足 \[ \square_{ijkl} = \square_{jikl} = \square_{ijlk} \] 那么称张量 \(\square_{ijkl}\) 具有次对称性. 具有次对称性的单位张量为 \(\mathcal{L}_{ijkl}\)

在力学中, 我们一般将四阶单位张量 \(\mathcal{I}_{ijkl}\)\(\mathcal{L}_{ijkl}\) 分别记作 \[ \mathcal{I}_{ijkl} \triangleq \mathbf{I} \otimes \mathbf{I}, \quad \mathcal{L}_{ijkl} \triangleq \mathbb{I} \]

四阶单位张量的 Voigt 矩阵形式

将式 (1) 定义的三种单位张量写成 Voigt 矩阵形式为 \[ [\mathcal{I}] = \begin{pmatrix} 1 & 1 & 1 & 0 & 0 & 0 \\ 1 & 1 & 1 & 0 & 0 & 0 \\ 1 & 1 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \end{pmatrix}, \quad [\mathcal{E}] = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \end{pmatrix}, \quad [\mathcal{F}] = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \end{pmatrix}. \]

以及单位张量 \(\mathcal{L}_{ijkl}\) \[ [\mathcal{L}] = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & \frac{1}{2} & 0 & 0 \\ 0 & 0 & 0 & 0 & \frac{1}{2} & 0 \\ 0 & 0 & 0 & 0 & 0 & \frac{1}{2} \end{pmatrix} \] 计算单位张量的 MATLAB 脚本见 Github

Voigt 映射定义

二阶张量 \(\mathbf{A}\)\(\mathbb{R}^3\) 空间的基底下可以表示为矩阵 \(\{A_{ij}\} \in \mathbb{R}^3 \times \mathbb{R}^3\). 如果张量 \(\mathbf{A}\) 为对称张量, 那么矩阵 \(\{A_{ij}\}\) 同样为对称矩阵, 因此只需要一个向量 \(\mathrm{vec}~A \in \mathbb{R}^6\), 就可以完全保存二阶对称张量 \(\mathbf{A}\) 的信息. 我们定义 Voigt 映射 \([\cdot]: \mathbb{R}^3 \times \mathbb{R}^3 \mapsto \mathbb{R}^6\) \[ \begin{aligned}[] [A]: ~ &[A]_{1} = A_{11}, \quad [A]_{2} = A_{22}, \quad [A]_{3} = A_{33}, \quad \\ &[A]_{4} = A_{23}, \quad [A]_{5} = A_{13}, \quad [A]_{6} = A_{12} \quad \\ \end{aligned} \] 对于四阶张量, Voigt 映射会将该张量映射为一个 6x6 的矩阵. 如果该张量具有次对称性, 那么在 Voigt 映射下, 不会丢失掉该张量任何一个分量的信息. 特别的, 如果四阶张量还具有主对称性, 那么使用 Voigt 映射之后得到的矩阵是对称矩阵.

例: 四阶弹性模量张量 \(L_{ijkl}\) 的 Voigt 表示

对于各向同性材料, 四阶弹性模量张量 \(L_{ijkl}\) 可以用 Lame 系数表示为 \[ L_{ijkl} = \lambda \delta_{ij} \delta_{kl} + \mu \delta_{ik} \delta_{jl} + \mu \delta_{il} \delta_{jk}, \] 式中的 Kronecker 记号可以用 Voigt 映射为矩阵 \[ [\delta_{ij}\delta_{kl}] = \begin{pmatrix} 1 & 1 & 1 & 0 & 0 & 0 \\ 1 & 1 & 1 & 0 & 0 & 0 \\ 1 & 1 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \end{pmatrix}, \quad [\delta_{ik}\delta_{jl}] = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \end{pmatrix}, \quad [\delta_{il}\delta_{jl}] = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \end{pmatrix}. \]

所以 \(L_{ijkl}\) 写成 \[ \begin{aligned}[] [{L}_{ijkl}] &= \lambda \begin{pmatrix} 1 & 1 & 1 & 0 & 0 & 0 \\ 1 & 1 & 1 & 0 & 0 & 0 \\ 1 & 1 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \end{pmatrix} + \mu \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \end{pmatrix} + \mu \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \end{pmatrix} \\ &= \begin{pmatrix} \lambda+2\mu & \lambda & \lambda & 0 & 0 & 0 \\ \lambda & \lambda+2\mu & \lambda & 0 & 0 & 0 \\ \lambda & \lambda & \lambda+2\mu & 0 & 0 & 0 \\ 0 & 0 & 0 & \mu & 0 & 0 \\ 0 & 0 & 0 & 0 & \mu & 0 \\ 0 & 0 & 0 & 0 & 0 & \mu \end{pmatrix} \end{aligned} \]

Voigt 映射下的张量运算

我们现在关心的是, 在 Voigt 映射下, 张量运算将会转变为怎样的矩阵运算? 在下文的例子中, 如果不特别说明, 我们默认四阶张量具有次对称性, 二阶张量具有对称性.

张量的线性组合

Voigt 映射是线性的,因此,对任意张量 \[ [\lambda A + \mu B] = \lambda [A] + \mu [B] \]

张量的双点积运算

给定四阶张量 \(\mathbb{L}\), 二阶张量 \(\epsilon\), 双点积得到另一个二阶张量 \(\sigma\) : \[ \sigma_{ij} = \mathbb{L} : \epsilon = L_{ijkl} \epsilon_{kl} \] 我们考虑张量分量 \(\sigma_{11}\), 也是 Voigt 形式下向量 \([\sigma]\) 的第一个分量 \([\sigma]_{1}\) \[ \begin{aligned} \sigma_{11} &= [\sigma]_{1} = L_{11kl} \epsilon_{kl} \\ &= L_{1111} \epsilon_{11} + L_{1122} \epsilon_{22} + L_{1133} \epsilon_{33} \\ &+ L_{1123} \epsilon_{23} + L_{1113} \epsilon_{13} + L_{1112} \epsilon_{12} \\ &+ L_{1132} \epsilon_{32} + L_{1131} \epsilon_{31} + L_{1121} \epsilon_{21} \end{aligned} \] 由于 \(L\)\(\epsilon\) 张量的次对称性, 我们有 \[ L_{1123} \epsilon_{23} = L_{1132} \epsilon_{32}, \quad L_{1113} \epsilon_{13} = L_{1131} \epsilon_{31}, \quad L_{1112} \epsilon_{12} = L_{1121} \epsilon_{21} \] 所以 \[ \begin{aligned}[] [\sigma]_{1} &= L_{1111} \epsilon_{11} + L_{1122} \epsilon_{22} + L_{1133} \epsilon_{33} + 2L_{1123} \epsilon_{23} + 2L_{1113} \epsilon_{13} + 2L_{1112} \epsilon_{12} \\ &= [\mathbb{L}]_{11} [\epsilon]_{1} + [\mathbb{L}]_{12} [\epsilon]_{2} + [\mathbb{L}]_{13} [\epsilon]_{3} + 2[\mathbb{L}]_{14} [\epsilon]_{4} + 2[\mathbb{L}]_{15} [\epsilon]_{5} + 2[\mathbb{L}]_{16} [\epsilon]_{6} \end{aligned} \] 因此在使用 Voigt 记法时, 四阶张量与二阶张量之间的双点积, 如果写成矩阵形式的话, 并不是 \[ [\sigma] \neq [\mathbb{L}] [\epsilon], \] 而是 \[ [\sigma] = [\mathbb{L}] [:] [\epsilon] \] 式中, \([:]\)​ 定义为 6x6 常数矩阵: \[ [:] := \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 2 & 0 & 0 \\ 0 & 0 & 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 0 & 0 & 2 \end{pmatrix} \] 在本文中使用四阶和二阶张量的双点积举例, 同样也可以推广到四阶与四阶张量之间, 二阶与二阶张量之间的双点积运算. 例如, 二阶张量之间的点积写成矩阵形式为: \[ \sigma : \epsilon = [\sigma][:][\epsilon] \]

以及四阶张量之间的双点积运算: \[ \mathbb{L} : \mathbb{I} = [\mathbb{L}] [:] [\mathbb{I}] \]

例: 四阶单位张量的矩阵形式

对任意的四阶张量, 有 \[ \mathbb{L} : \mathbb{I} = \mathbb{L} \] 两边作 Voigt 变换得到 \[ [\mathbb{L}] [:] [\mathbb{I}] = [\mathbb{L}] \] 我们选取某个 \(\mathbb{L}\), 使得它在 Voigt 映射为 6x6 单位矩阵 \([I]\)\[ [\mathbb{L}] := [I] \] 所以 \[ [:] [\mathbb{I}] = [I] \] 也即 \[ [\mathbb{I}] = [:]^{-1} = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0.5 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0.5 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0.5 \end{pmatrix} \]

四阶张量求逆

如果四阶张量 \(\mathbb{L}\) \(\mathbb{M}\) 满足 \[ \mathbb{L} : \mathbb{M} = \mathbb{M} : \mathbb{L} = \mathbb{I}, \quad \text{or} \quad L_{ijkl} M_{klmn} = I_{ijmn} \] 那么称张量 \(\mathbb{M}\) 为张量 \(\mathbb{L}\) 的逆: \[ \mathbb{L}^{-1} \triangleq \mathbb{M} \] 在 Voigt 映射下, 有 \[ [\mathbb{L}] [:] [\mathbb{M}] = [\mathbb{M}] [:] [\mathbb{L}] = [\mathbb{I}] \] 所以 \[ [\mathbb{M}] = [:]^{-1} [\mathbb{L}]^{-1} [\mathbb{I}] = ([:] [\mathbb{L}] [:])^{-1} \]

张量的单点积运算

张量的单点积运算很难用 Voigt 记法写成规范的矩阵运算, 因此在这里只给出分量之间的关系. 给定两个二阶张量 \(A\), \(B\) , 单点积运算得到另一个二阶张量 \(C\): \[ C_{ik} = A \cdot B = A_{ij} B_{jk} \] 我们考虑张量分量 \(C_{11}\), 也是 \([C]_1\) : \[ C_{11} = A_{1j} B_{j1} = A_{11} B_{11} + A_{12} B_{21} + A_{13} B_{31} \] 再根据张量的对称性, 我们得到 \[ \begin{aligned}[] [C]_{1} = [A]_1 [B]_1 + [A]_5 [B]_5 + [A]_6 [B]_6\\ [C]_{2} = [A]_2 [B]_2 + [A]_4 [B]_4 + [A]_6 [B]_6\\ [C]_{3} = [A]_3 [B]_3 + [A]_4 [B]_4 + [A]_5 [B]_5 \end{aligned} \] 以及 \[ \begin{aligned}[] [C]_{4} = [A]_6 [B]_5 + [A]_2 [B]_4 + [A]_4 [B]_3\\ [C]_{5} = [A]_1 [B]_5 + [A]_6 [B]_4 + [A]_5 [B]_3\\ [C]_{6} = [A]_1 [B]_6 + [A]_6 [B]_2 + [A]_5 [B]_4 \end{aligned} \]