利用欧拉角旋转正交_张量旋转=矩阵旋转?

最近又开始翻之前的一本流体力学书,Batchelor写的《An Introduction to Fluid Mechanics》,看到介绍流体微团张量部分,写到主轴张量只有正应力没有切应力,联想到之前的学习中一直有这样的困惑,因此多花了些时间回顾了一下以前的知识,也终于将这部分知识串联了起来,决定在知乎写一写,记录下来,以飨后来者。

Batchelor在书中这一部分是这样讲解的。首先他从量纲分析的维度证明了切应力基本定理

,从而得到了一个微元体上的应力张量。当旋转微元体到一定角度时,切应力消失,微元体上只有正应力,此时微元体各个面所指的的方向叫做微元体的主轴。主轴上的正应力可表示为
,并且有
,也就是不管微元体怎么转,应力张量“矩阵”的迹都是相同的。当微元体方向指向主轴时,将张量分解成两个部分,

右边第一项中三个面上都只有一个正应力且大小方向相同,第二项中三个面的正应力大小不同且至少有一个的方向与其他两个相反,迹为零。那么右边第一项的矩阵就叫做各向同性应力,流体静止时就只有它,也就是压力,用图像表示就是把一个球在各个方向上施加相同大小的力,如下图(a)所示;第二项是非各向同性压力,只有在流体运动时产生,用图像表示就是在球的不同主轴上施加大小不同的压力或拉力,如下图(b)所示。

d7c130bf78fc62634e4b6c4419261a69.png
(a)沿各个方向相同的各向同性应力;(b)沿各主轴方向不同的非各向同性应力

如上所述,流体微团的应力张量主要有几个特征:

  1. 有应力主轴,在主轴方向上切应力消失;
  2. 应力张量矩阵的迹为定值;
  3. 可以分解成各向同性和非各项同性应力张量,各向同性应力张量无论怎样旋转坐标系都不变,非各向同性张量则与坐标系有关。

作为本科硕士都学过流体力学的“资深”学渣,每每看到这里都会露出一丝微笑,表示作者怎么说都对。但因为这次是主动翻开课本,再加上我线代基础还比较好,不仅产生了几个疑问:首先,应力张量就是个矩阵,对称矩阵怎么旋转能成一个对角矩阵呢?其次,矩阵旋转变换后怎么保持迹不变?最后,怎么理解各向同性和非各向同性矩阵数学和图像的对应关系?为了解答这些疑问,我回顾了本科时候学的solid mechanics,并读了一点张量相关的资料,发现了我理解上的一些误区。

首先,张量表示的是一个实实在在的物理量,是在物理上客观存在不以观察角度为转移的量。因此,张量所表示的量和坐标系无关,坐标系变物理量却不会变。比如速度就是一个一阶四维张量,无论坐标系旋转、平移甚至也以一定速度随之运动都不会改变客观物体的运动速度;反之,角动量的大小则与坐标系相关,因此类似于角动量的矢量也被称为psudovector(推荐大家看这个视频什么是张量,讲的很清楚)。矩阵就是一个多维数组,和物理量没什么关系,然而,张量表示的核心思想却和矩阵变换的思想是相同的。在我的理解中,向量左乘矩阵有两种理解方式:第一种是以线性变换的视角,这时坐标系并没有改变,是向量本身改变了;第二种是向量本身不变,但观察向量的视角变了。这两种思维方式从形式上看并没有较大差异,但出发点却是完全不一样,最终结果的走向也会完全不一样。很显然,张量的旋转可以应用我们上面说的第二种理解方式。

那么,张量到底是如何表示的呢?回答是柯西应力定理。柯西应力定理描述的是一件这样的事:在一个笛卡尔坐标系内,任意一个面上的应力都可以用三个相互垂直的面上的应力表示。如下图这个在第一象限里被切了一刀切出来的四面体,斜面上的应力就可以用直角坐标系三个面上的应力表示。

65328b54cc61a12d8b5fb446000005ef.png
柯西应力定理中的四面体

将斜面上的力用

表示,直角坐标系的三个面分别按照其法向量的方向用
表示其上的力,斜面的法向量
,那么,

这一步并不是点乘,因为

都是矢量,得到的
也是一个矢量,这每一个矢量就会在三个直角坐标轴上有分量,比如
在三个轴上的分量分别为
,分别表示垂直于x轴的面上,x、y、z三个方向的力。同样,对于
也是如此,因此一共有9个力。用矩阵的形式来表达就是,

其中

,也就是右边的第一个矩阵是个对称矩阵,里面独立的量有6个,给这个矩阵赋予物理意义后就叫做二阶张量。说到这里大家可能觉得我什么都没讲,因为这些内容和老师上课或课本写的没什么区别,该不懂的还是没懂,张量到底是个啥。别急,再多看一眼上面这个等式,他不就是一个
线性变换嘛! ——把一个垂直于平面的向量变成一个表示这个平面上力的向量。

4c187cba4bdbafd383f6d5ec091883dc.png
应力张量矩阵把红色的方向向量变成了蓝色的力向量

因此,应力张量矩阵就是线性变换矩阵,它是和坐标系相关的,因为这个矩阵中的行向量就是在当前坐标系下每个面上的应力大小。下一个问题:应力张量矩阵和坐标系的关系是怎样的?要回答这个问题,我们要先找到坐标变换前后的不变量。还记得上面说过的,张量的本质就是要表示一个物理量,而这个物理量不随坐标系的改变而改变,也就是上图那个蓝色箭头的小向量就是我们寻找的那个不变量。对于这个不变量来讲,坐标系可以变,但它就是它,不因他人的眼光而改变。在当前的坐标系(我们就叫当前坐标系为A坐标系好了)中,我们读到的这个物理量就是上面的

,其中
是A坐标系中该物理量的坐标,
是A坐标系中的张量矩阵或者说线性变换矩阵,
是A坐标系中这个面的法向量坐标。这时我们换一个坐标系再来看一下这个物理量,新的B坐标系是A坐标系旋转了一个角度后形成的,身处B坐标系中的人对上面的蓝色小箭头也有自己的表达,
,其中
都是用B坐标系中的坐标和应力张量表示的。那么问题就来了,虽然我们知道A坐标系中的应力张量
,怎么得到B坐标系中的
呢?如果你熟悉线性变换其实就不难,不熟悉的朋友们欢迎移步3B1B线性代数小课堂。

那么,问把大象装冰箱总共分几步?三步。这里也一样。

首先,我们给这两个坐标系的基向量都命个名,A坐标系的三个基向量就是

,B坐标系的三个基向量是
。那么,我们B坐标系的人看到的面法向量是
,在A坐标系人的眼中这个面法向量是什么样子的呢?那就是这个向量左乘一个旋转矩阵(B旋转到A),

我们把上面的旋转矩阵

记为
,因为
是正交阵,因此
,通过这一个变换,生活在B坐标系的人就知道A坐标系的人是怎么表示这个面法向量了,就好比以前战时传递的摩斯密码,你拿个密码本对应一下就出来了文字,不然光看那一堆点儿谁知道是什么意思,那么这一步就是把B的语言翻译成A中描述同样物体的语言。知道了A中对应的表达方式后,我们就可以利用在A坐标系中已有的知识对面法向量做一个线性变换,变成A坐标中力的向量,通过
。终于知道力向量的坐标值了,但这是A坐标系语言描述的,B坐标系的人看不懂,所以最后再翻译回去,翻译的方法就是再左乘一个旋转矩阵,得到
。通俗的讲我们干了一件什么事儿呢?就好比我们给计算机下发一个指令,用C++什么的让计算机执行,计算机内核必须首先将指令翻译成二进制码才能完成指令,当计算机执行完了后再次翻译成文字输出到控制台告诉我们它执行的结果。总结一下,我们想知道B坐标系中相同物理量的表达也通过这种方式,
  1. 先左乘
    把这个面在A坐标系中表示;
  2. 再左乘
    在A坐标系中把面法向向量变成力向量;
  3. 最后左乘
    把A坐标系中的力向量翻译回B坐标系中的力向量。

所以,

。也就是,

至此,我们可以回答最开始提到的为什么应力张量会有那三个性质。第一,应力主轴什么时候存在,切应力什么时候会消失。因为应力张量是一个对称矩阵,对矩阵做特征值分解就可以得到一个对角矩阵,对角矩阵主对角线上的元素就是张量矩阵的特征值,旋转矩阵就是特征向量组成的矩阵(对称矩阵的特征向量两两正交)。第二, 应力张量的迹不变。因为旋转变换后的应力张量矩阵与之前的矩阵是相似的,相似矩阵的迹不变。第三,把一个应力张量分解成各向同性和非各向同性张量

后,
,也就是分解开的两个张量可以独立进行变换。对于各向同性张量来说,张量矩阵可以写成
,经过变换后的
与原矩阵相同,因此各向同性张量不随坐标系改变,非各向同性向量和坐标系相关,换句话就是我们初中物理老师常说起的,流体中一个点的压力朝四面八方都是相同的。说了这么多,最后总结一下这篇文章题目提的问题:张量旋转不是简单的矩阵旋转,但可以用矩阵旋转相关的知识理解和解读。

最后我还要提一下当年材料力学学到的但可能已经被很多人遗忘的一个非常有用的小工具——Mohr's Circle。其实利用它可以很容易解答应力相关的很多问题,比如为什么各向同性张量不随坐标系改变,因为在Mohr's Circle上它就是一个点,没法变。如果大家已经遗忘了这个可爱的小工具,就请再重温一下这个曾经身边的小美好吧。

这是我第一次在知乎上写文章,难免有错误疏漏,欢迎大家补充指正。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值