3. 张量基础与坐标变换

各向异性本构建模的第一道门槛,不是材料参数本身,而是“同一个物理量在不同坐标系下写法不同”。如果坐标系约定混乱,后续的刚度矩阵、铺层角、纤维方向、实验数据都会对不上。本节把应力应变张量、Voigt 记号、坐标旋转矩阵以及弹性常数的变换与不变量串成一条可操作的链路。

一、应力与应变为什么必须是张量

连续介质中一点的应力状态由二阶张量 σij 描述,共 9 个分量;由于力矩平衡,σij = σji,独立分量降为 6 个。应变张量 εij 同样对称,独立分量也是 6 个。工程应变常写成 γxy = 2εxy,这是后续 Voigt 记号中必须特别小心的因子来源。

张量的意义在于:它按确定的规则随坐标系变换,而物理状态本身不变。设旧坐标系基矢为 ei,新坐标系基矢为 e′i,方向余弦矩阵 Qij = e′i·ej,则二阶张量变换为:

σ′ = Q σ Qᵀ
ε′ = Q ε Qᵀ

这里 Q 是正交矩阵,满足 QᵀQ = I,det(Q) = +1。若只做坐标旋转,Q 的每一行是新坐标轴在旧坐标系中的方向余弦。

二、Voigt 记号:把 3×3 压成 6×1

为便于写本构关系,把对称二阶张量按固定顺序排成 6 维向量。常用顺序为 (11, 22, 33, 23, 13, 12),对应记作 (1, 2, 3, 4, 5, 6)。应力向量直接取分量:

σ_V = [σ11, σ22, σ33, σ23, σ13, σ12]ᵀ

应变向量则要处理工程应变:

ε_V = [ε11, ε22, ε33, 2ε23, 2ε13, 2ε12]ᵀ
     = [ε11, ε22, ε33, γ23, γ13, γ12]ᵀ

这样做的代价是:Voigt 向量之间的坐标变换不再是简单的 QσQᵀ,而需要构造 6×6 的 Bond 矩阵。若忽略这一点,用普通旋转矩阵直接乘 6 维向量,剪切分量会出错。

三、坐标旋转矩阵与 Bond 变换

设绕 z 轴旋转角 θ,从旧坐标到新坐标的方向余弦矩阵为:

Q = [ cosθ  sinθ  0
     -sinθ  cosθ  0
       0     0    1 ]

对 6 维 Voigt 应力向量,变换矩阵 Tσ 可由 Q 展开得到;对应变向量,还需引入工程应变因子,得到 Tε。二者关系为 Tε = R Tσ R-1,其中 R = diag(1,1,1,2,2,2)。实际编程时更稳妥的做法是:先把 6 维向量还原成 3×3 张量,用 QσQᵀ 旋转,再压回 6 维。这样可避免手工推导 Bond 矩阵时漏掉 2 倍因子。

刚度矩阵的变换为:

C′ = Tσ C Tεᵀ   (按具体约定可能写作 Tσ C Tσᵀ 的变体)

工程上必须固定一套约定并全程一致。推荐约定:Voigt 顺序 (11,22,33,23,13,12),应变用工程剪应变,旋转矩阵 Q 的行是新轴在旧轴中的方向余弦。

四、各向异性弹性常数的变换与不变量

一般各向异性材料有 21 个独立弹性常数。正交各向异性材料有 9 个:E1、E2、E3、ν12、ν13、ν23、G12、G13、G23。横观各向同性(如单向纤维层)独立常数降为 5 个。这些常数在坐标旋转下会改变数值,但某些组合保持不变,即不变量。

典型不变量包括:

  • 体积模量相关组合:C11+C22+C33+2(C12+C13+C23) 在旋转下不变;
  • 迹:C11+C22+C33 不是完整不变量,但 Cijij 类缩并是;
  • 特征值:刚度矩阵 C 的特征值在正交变换下不变,可用于校验旋转前后矩阵是否一致。

实际建模中,不变量最重要的用途是校验:把材料主方向刚度旋转到任意角度后,再旋转回来,应恢复原矩阵;若不能恢复,说明 Bond 矩阵或工程应变因子用错。

五、一个可复现的数值示例

取单向碳纤维环氧层板材料主方向参数(示例假设值):E1 = 135 GPa,E2 = E3 = 9 GPa,ν12 = ν13 = 0.30,ν23 = 0.45,G12 = G13 = 5.0 GPa,G23 = 3.0 GPa。先由柔度矩阵求逆得到主方向刚度 C0,再绕 3 轴旋转 θ = 45°,得到 C′。

操作流程如下:

  1. 按正交各向异性柔度矩阵 S 填入上述工程常数,注意 Sij 中泊松项需满足对称性;
  2. 对 S 求逆得到 C0,检查 C0 是否对称正定;
  3. 构造 Q(45°),用张量方式旋转 C0,得到 C′;
  4. 检查 C′ 的对称性,并计算 C′ 的特征值与 C0 的特征值是否一致;
  5. 把 C′ 再旋转 -45°,与 C0 比较,最大绝对误差应接近机器精度。

若第 5 步误差明显偏大,优先排查:工程剪应变是否用了 2 倍因子、Voigt 顺序是否一致、Q 是旧到新还是新到旧。这三处是各向异性坐标变换最常见的错误来源。

各向异性弹性常数坐标变换链路 材料主方向 E1, E2, E3 ν12, ν13, ν23 G12, G13, G23 柔度矩阵 S₀ 6×6 对称 工程常数填入 检查对称性 刚度矩阵 C₀ C₀ = S₀⁻¹ 对称正定校验 21 独立常数 旋转矩阵 Q(θ) QᵀQ = I, det=+1 行 = 新轴在旧轴方向余弦 张量旋转 σ′ = Q σ Qᵀ ε′ = Q ε Qᵀ Voigt 压缩 σ: (11,22,33,23,13,12) ε: γ = 2ε 工程剪应变 Bond 变换 C′ = Tσ C Tεᵀ Tε = R Tσ R⁻¹ 反向旋转校验 不变量校验 特征值不变 C′ 旋转回 C₀ 误差≈0

六、工程实现中的关键检查点

把上述流程写成代码时,建议固定以下检查点:第一,输入工程常数后先验证柔度矩阵对称且正定;第二,旋转前后分别计算刚度矩阵特征值,排序后比较;第三,用随机向量做一次“旋转—反旋转”闭环测试,误差应小于 1e-10 量级;第四,若材料是横观各向同性,检查旋转后是否仍满足横观各向同性关系,例如 C44 与 (C22-C23)/2 是否一致。

坐标变换的稳定性来自约定一致,而不是公式复杂。只要固定 Voigt 顺序、工程剪应变因子和 Q 的方向定义,并用特征值与闭环旋转做校验,各向异性弹性常数的坐标变换就可以可靠地嵌入本构建模流程。