Loading...
墨滴

毕小喵

2021/04/09  阅读:84  主题:极客黑

Abaqus理论文档-1 张量分析入门与连续介质力学基础方程

Abaqus 理论文档-1

张量分析入门与连续介质力学基础方程

介绍

这部分推送来自Abaqus帮助文档的Theory理论卷。它远不是一个合格的、完善的教科书,只是大致讲了Abaqus使用的一些理论背景和公式。如果你完全没有一点连续介质力学基础,你也可以试着读一下,但遇到实在不懂的地方,还是可以考虑去找一本连续介质力学教材来读。

推荐国科大赵亚浦老师的这本《近代连续介质力学》教材。它的好处是排版清爽,字体大,而且书的侧边还夹带着讲了很多历史。2018年我第一次读这本书,还在书后习题里发现了很多有趣的故事。

也推荐冯元祯先生的这本《连续介质力学初级教程》。同样让你感觉这不是一本枯燥的教科书,它的行文与工程实际联系紧密,算是比较好读的。

Abaqus文档与这些教材比,在完善性上确有差距。作为软件文档,它没有义务给你写的像一本优秀的教科书。但好在它使用的所有符号、规范都是实际编入软件的,而且前面讲的记号与后面相关的理论部分都保持一致。甚至,我写这篇推送使用的Markdown编辑器,它渲染出来的公式都和Abaqus文档看上去几乎完全一样。

连续介质力学学科虽然也经过多年发展符号相对统一,但不同专家写的还是略有差别。(就比如我校选用的教材,叉积写为 。 其实只要前后定义一致,这倒也没啥,但这种写法在Abaqus文档和国内其他教材中实在不怎么常见。)

由浅入深,如果你觉得这一篇和接下来一篇还不算很难,那恭喜你,也许后面的内容会满足你的胃口~ 如果你觉得这一篇理解起来已经有点困难,嗯……加油,想在有限元仿真领域有所建树,理论还是多多少少要了解一些的。

那,如果你准备好了,我们就开始吧。

引言

工程师们在阅读高级别力学教材和论文的时候,常常被符号记法所困扰。例如,在 Abaqus 文档中的理论部分,到处都在使用一般的曲线张量分析和泛函分析相关知识,但许多工程师由于对这些领域里很多常用符号不熟悉而对那些文档望而却步,阻碍了进一步的研究。

其实想要熟悉这些记法一点都不难,也花不了你太长时间。现代的张量记法绝对值得你花时间学习和使用,因为它们在今天的工程文献中实在太常见了,它是许多较老的工程教科书中用的矩阵记法的简写。

如果读者学习过徐芝纶先生的《弹性力学》就会明白(它参考自铁木辛柯的《弹性理论》,授课思路一脉相承),弹性力学教科书用矩阵和偏微分记法写出来是多么的繁琐。但如果你又翻看过陆明万的那本《弹性理论基础》,或者其他类似张量记法的教材,你就能体会张量记法在描述力学方程时是多么简便而强大。

张量记法实在太有吸引力了,只要理解了它,你会发现它让方程变得简明优雅,且物理概念不再需要和具体的坐标系选择有关。并且,因为张量记法已经成为标准,所以你想读懂 Abaqus 文档或是一些论文,你就必须要掌握它才行。

基本量

用来写公式的这些量主要就包含以下几种:标量、向量、二阶张量(矩阵),和偶尔会出现的四阶张量(比如弹性力学中的应力-应变关系)。在直接矩阵记法中,它们被写为:

标量:

向量:

带转置:

二阶张量或矩阵:

带转置:

四阶张量:

注意,在 Abaqus 的文档中,向量和二阶张量的记法相同,它们一般根据上下文来进行区分。对于向量来说,一般不区分它是行向量 还是列向量 ,你可以根据上下文来判断。在这种时候脑袋顶上挂个转置符号只为了提高公式的可读性。但是注意,如果是一个二阶非对称张量,那转置符号就将改变表达式的含义了。

用这种方法表示向量和张量对于推公式来说很有用,但是在实际计算和写代码的时候,我们总是需要处理单个数字。所以向量和张量还是要用它们的分量来表示。这些分量依赖于坐标系,坐标系会在空间的每一个点处都定义一组基矢量。最简单的坐标系当然就是笛卡尔直角坐标系,但不幸的是,我们需要更一般的表述方式。因为我们要处理壳体和梁,壳的应力用壳表面的坐标方向来描述最方便,而曲面形成的壳体表面的坐标方向通常是变化的。

翻译的时候 vector 一般写成向量,但是“基矢量”这个词我读起来感觉更顺。所以不要纠结是用“向量”还是“矢量”啦。

为了保证一般性,我们引入了一组基矢量, ,它们不一定正交,也不一定是单位向量,但至少足够张成一个空间(因此基矢量就不能相互平行或长度为零)。这样,我们可以写出一个向量:

其中, 是向量 关于基 的分量。

实际情况中,基矢量 是怎么方便怎么取,然后根据基矢量得到分量

另外为了方便,我们引入常见的爱因斯坦求和约定,对重复的指标(也叫哑指标,dummy index)求和。

同样,也可以把矩阵(二阶张量)和四阶张量用相同的方式写出来。比如一个四阶张量:

其实……别怕,除了处理壳体问题以外,大多数时候我们还是会使用笛卡尔坐标系的。为了区分,我们用 来表示一般基矢量,而使用 来表示直角笛卡尔坐标系下的基矢量。分量也同理~

向量基本运算

矩阵和向量的基本运算符包括以下几种。

两个向量的点积:

两个向量的叉积:

矩阵乘法:

矩阵的标量积:

这个运算代表两个矩阵对应的共轭分量成对相乘然后相加。用分量表示的话就是 。举个栗子:如果 是应力张量 是与之共轭的应变率, ,那么 ,得到的是单位体积的内功率。

除此之外,还要定义两个矢量的并矢,dyadic product,这一操作会从两个矢量生成一个二阶张量:

一个向量对向量的导数(即雅可比矩阵),

意味着

在整个文档中,我们都默认当一个导数是对时间求导的时候,它指的是物质导数;即观察材料中一个特定的物质点上,某变量随时间的变化(而不是像欧拉视角那样观察空间)。如果不是物质导数,那文中会明确指出。

关于上面的导数矩阵,再详细解释一下:比如如果 的向量值函数, 又是 的向量值函数,即 ,那么

或者如果

由于这些性质,可以快速得到许多有用的结果,而且还能把它们写成很简洁的形式。

协变与逆变基矢量

嗯这一部分的相关内容我也是翻来覆去学了很多遍,学了又忘忘了又学。希望这次总结能真正理解它们。

在前面一节里,我们介绍过这样一种思想,即对于一个向量或者张量 ,可以选择一组用着方便的基矢量来把它展开成分量形式。那我们现在就来看一下,这些分量 是怎么得到的。(还记得前面说, 作为角标指的是一般曲面坐标系吗~)

我们可以用点积来得到向量或张量的分量。对于每一组基矢量 (后面会看到,我们叫它协变基矢量 covariant base vectors),都定义另外一组共轭的基矢量(叫它逆变基矢量 contravariant base vectors) 。逆变基矢量是人为选取的,令 垂直于 的平面,并使其的大小满足 。用类似方式取 ,用 kronecker delta 表示即:

有了协变和逆变基矢量以后,我们就可以方便的用点积来获得向量、张量在某一组基下的任意分量。比如想得到向量 在协变基( )下的逆变分量 ,就用逆变基与它点乘:

注意这是在一般曲线坐标系下哦~其实如果在笛卡尔坐标系,就用不着逆变基矢量了,或者说协变基与逆变基就直接重合了。

同样,这个定义还使得矩阵/向量的点乘可以很方便的用任意坐标系下的协变/逆变分量形式写出。比如俩向量点乘:

同理,俩张量进行并联双点积:

为了省空间,Abaqus 在计算机里只存储其中一种分量: 。我们总能够从一种分量得到另一种分量,通过这个度量张量

反过来也是:

这个度量张量的作用就是从协变分量转换到逆变分量。直观上说,它具有升降指标的作用。(相关知识在任何一本《张量分析》,比如黄克智院士的那本书中都有更详细的记述)

这个协变基和逆变基从定义上其实是对称的,把它们交换过来也没关系。但一般所有用下标的都叫它协变,上标的都叫它逆变。

最后——再重复一遍,工程师不是象牙塔里的学者,工程师搞这些东西绝对不是为了故意把你绕迷糊的。选协变基当然是为了描述问题方便,创造逆变基矢量也是为了便于获得向量和张量的分量。那么大部分时候,最方便的坐标系还是笛卡尔坐标系,对于笛卡尔坐标系来说,就不用区分协变和逆变基啦~

导数的分量

诶这里有个向量值函数, ,是用一组基 下的分量形式描述的。又有另一个向量值函数 ,把 作为自变量:写为 。那么对它求导就有:

你看上边这个式子,它其实就是把1-2节中,等式

右边的 写成分量形式了~

所以,当 这个分量发生变化时, 对应的变化分量就是

为了写起来方便,我们就把这个分量放在偏导数的分母处。因为对应的是逆变分量的增量 ,所以偏导数也是对逆变分量做偏导:

完整写出来就是

现在,假设 是用另一套不同的基矢量描述的,比如说叫 ,并且在计算机里存储为对应的分量形式:

那么就有:

或者,一般把它写为:

这里

熟悉一般曲面张量分析的读者可能会认出来, 就是 关于 的协变导数,covariant derivative,常简写为

这儿……我也不熟悉一般曲面张量分析,我当时学完后来也忘记了什么是协变导数。但是没关系,重点是在这里我们注意到,一个向量值函数(vector-valued function)对另一个向量值函数的导数会得到一个张量(或者在一组特定的基下体现为矩阵)。这个矩阵在很多地方又被称为雅可比矩阵。别怕,后面马上就给你举个栗子~

我们可以想象, 都是空间中的向量,然后我们可以对 有一个直观的理解:按照定义,它就是一个把向量值函数 的变化 映射为向量值函数 的变化 的张量。

这里我没有直接照搬原文,而是写了我的理解。我觉得这其实是对原文比较准确的一种翻译。其实 在对张量的很多种解释中其中一种就可以把它看作一种向量到向量的映射

这一段的英文原文是: it is the change in the vector-valued function as a function of another vector-valued function

推公式的话,当然我们直接说它是个张量就好。但是为了方便进行实际计算,还是得把这个协变导数表达为分量形式。这就是刚才我们用的记号:

和上一章末尾说的一样,大多数时候我们为了方便, 都可以选为直角笛卡尔坐标系统。但——壳体,又是壳体——当我们需要在壳体表面描述某些量,或者存在几何对称性从而使我们需要做轴对称分析的时候,还是得用到更复杂的坐标系统。

虽然推导看起来有点复杂,但其实每个公式都是可以看懂的对不对~

其实,每一个看似复杂的学科,都是用一些简单的砖块磊成的。只要你拾级而上,再难掌握的知识都会有爬上终点的那一刻。


那么,如何把向量对向量的导数投影到一个一般曲面坐标系下呢?这就来举个例子。

类似的例子,就在前些天还有个朋友问过我。我同样也是翻来覆去学过三四次,等到要用的时候还是需要重新查书。

让我们看看通常使用的应变率的表达式:

这就需要求出 ,其中 是空间中当前流过 点处的材料的速度。 都定义在圆柱坐标系下,让我们试着推导一下应变率 的分量吧。

首先,在Abaqus里,与许多教科书不同,柱坐标系的三个基矢量的顺序为:

(径向)

(轴向)

(环向)

是的,Abaqus里轴对称问题的变量顺序一直都是——(径向,轴向,环向)。这一点可以理解,因为当我们做轴对称分析的时候,径向一般就是绘图的x方向,轴向是y方向,而环向才是垂直于屏幕的那一个。这一组基矢量相互正交且都为单位长度,因此 ,可以不分逆变基和协变基。

考虑由坐标 定义的点 ,它的微分写为:

因此

回忆一下,前面写过

所以

于是

上面这里 又可以被展开为

于是——

看到上面有对基矢量的偏导。正常来说这些偏导应该为零,但对 的偏导是个例外。

(径向)

(轴向)

(环向)

我们知道,

因此,

好的!那么 的全部分量就齐了:

这样,就能知道应变率的各种分量为:

注意哦,这可不是简单把上面的矩阵抄下来。还记得应变率的表达式吗:

它为啥要这么做,就是因为要满足应变率张量的对称性。而工程上的切应变 和力学中的切应变 之间相差2倍,则是为了满足张量在坐标变换下的一致性。

对于完全轴对称的变形, ,而且和 有关的应变率也是零: , 于是刚才那些结果就简化成了我们熟悉的样子:

总之,用张量记法,可以让我们获得所有的基本结果,而不需要参考任何特定的坐标系。仔细应用张量中协变导数的概念,可以把这些一般的结果投影到任意坐标下,得到相应的分量。

总结一下。虽然看上去复杂,但其实就是正常将张量在某个坐标系下做展开,然后对坐标依次求偏导即可。平常我们写的公式都直接使用张量记法,这样比写偏微分可要简便多了。

后面如果用到的张量记法有任何问题,都可以回到定义中去找到答案。

虚拟量

虚功和虚位移的概念是后续公式推导的基础。虚量,指的是位移、应变、速度等物理量的微小变化。标量 的虚量写为 ,向量或矩阵 的虚量记为

这其实就是使用了变分符号嘛。我们把它的定义扩展一下:

这就是虚向量场 空间梯度的对称部分。如果 表示虚速度场,那 就表示虚变形率(应变率的一种度量)

初始构型和当前构型

这也是连续介质力学中很重要的一个基础概念。在Abaqus有些时候也叫参考构型。

初始构型 也叫参考构型(reference configuration),

变形构型 也叫当前构型(current configuration)

在许多结构问题中,会关心如何去描述结构在加载和移动(离开初始状态)时的行为。因此我们经常需要比较结构中某个点的当前构型(变形后的位置)与它的初始构型(变形前的位置)。初始构型经常选在结构卸载时的状态,或者在岩土力学中选为结构只受地应力(geostatic stresses)时的状态。

为了区分初始构型和当前构型,我们使用小写字母 表示当前的位置,而使用大写字母 表示同一空间坐标系下同一个物质点的初始位置。再次重申,在Abaqus里大多数情况下我们都会使用笛卡尔坐标系,几乎总是存储 在笛卡尔直角坐标系下的分量。轴对称问题是个例外,在那里我们存储轴向 和径向 分量。

节点变量 Nodal variables

截至目前,我们已经讨论过被认为与模型中所有的点有关的量。有限元法近似的基础思想是插值法,用有限数量的节点变量去定义材料内任意一点处的位移、坐标、应力等等各类变量。

在Abaqus理论文档中,我们使用大写字母上标来指代各个节点变量或节点向量,并对指数采用求和约定。

后面读到Abaqus文档时,总会发现有一大堆大写字母做上标的变量,之前感觉很不熟悉。现在记住啦,它指代节点处的变量。

因此,有限元的形函数插值可以用一般记法写为:

其中 可以是结构任意点处的向量值函数(最简单的就比如说位移场); 是一组 个向量形式的插值函数(它们是材料坐标 的函数,你可以理解为有限元当中的形函数);而 是一组节点变量(比如节点位移)。

在某些章节中,我们需要描述对整个有限元方程组系统中的节点变量的操作。在这些部分里,我们要用到经典的矩阵-向量记法。还记得前面讲过的吗? 表示包含节点变量的列向量; 表示行向量,矩阵则记为 。常见的比如两个向量之间的点积:

它等价于指标记法中的 。还有矩阵与向量的乘积:

它用指标记法记为:

看这个大写字母的上标是不是和其他教材略有不同?记住它表示节点变量,习惯就好啦。

后记

以上,是Abaqus理论文档第一篇,Introduction and Basic Equations中,第一节 Notation的全部内容。

——什么?才第一篇第一节吗?怎么感觉已经这么长了?

是的没错。这一节大概把张量分析中我们需要用到的概念都讲了一下。接下来就要进入到连续介质力