Loading...
墨滴

毕小喵

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

Abaqus理论文档-3 应变度量

Abaqus 理论文档-3

应变度量

前言

这一节开始进入应变度量。

要注意这里可不是材料力学课本中学到的那种应变。Abaqus文档里,应变写的要更复杂、更近代化一些。

——如果有幸遇到了你在连续介质力学课上没听过的知识点,那我们一起学呀~

一维应变

要理解在一般的运动中使用的应变度量,最简单的方法是首先考虑一维应变的概念,然后使用极分解定理将其推广到任意变形。

在前面的讨论中,我们已经得到了一个变形度量——拉伸比 。事实上, 本身就是许多问题中很适用的一种应变度量。为了了解它在哪一类问题中有用,哪些问题中没用,首先要注意到 在材料未变形的情况下值为 。典型的软橡胶结构(如橡皮筋)在加载过程中,其长度会发生很大的变化,因此拉伸比 常常大于2。

相比之下,一个典型的结构钢部件,其弹性模量约为 ,对应的拉伸屈服时的拉伸率为1.001,压缩屈服时的变形为0.999。因此对于结构钢来说,用拉伸比来描述它的变形就不是一个好方法,因为真正有用的数值出现在第四位有效数字,前面的都是浪费。为了避免这种问题,我们引入应变的概念,其基本思想是当材料“未发生变形” 时,应变为零。

在一维情况下,沿着某个方向的微元 ,我们定义应变为拉伸比 的函数:

引入应变概念的目的是为了选择一个最方便使用的函数f。进一步,为了了解这个概念,我们把 在未拉伸的状态处做泰勒展开:

为了满足前面我们说过的(在无变形时应变为零)条件,必须有 , 从而在 。另外,我们选择 处,从而保证在小应变情况下符合一般材料力学教科书中常见的应变定义:“单位长度材料的长度变化量”。这就确保了在一维情况下,应变很小的时候(从而泰勒级数的高阶项可忽略),用这种方式定义的所有应变度量都将给出相同的值。最后,我们要求对于所有物理上合理的 值(即对于所有 ),应变度量应该随拉伸率单调递增。这样对于每一个拉伸率 ,都有唯一的应变与之对应。(选择 是任意的,其实我们也同样可以定义 ,那意味着在压缩 的情况下应变为正。在岩土力学中就经常出现这样的定义方式)在Abaqus中,我们总是约定当 时应变为正,对应拉伸。即使在岩土力学和本构中也是如此。

在满足以上这些合理的约束条件的前提下( ),可以有许多不同形式的应变度量。常用的例子包括名义应变(Biot应变),对数应变,以及格林应变。名义应变(Biot应变)形式如下:

在均匀应变的单轴拉伸试样中,设 是当前长度, 是初始长度,这一应变度量写为 . 这是对做单轴拉伸试验的工程师来说最熟悉的定义了。除此以外,对数应变定义为:

这一应变度量是对塑性金属常用的应变。这样做的原因之一是,当画出真应力-对数应变曲线的时候,拉伸、压缩和剪切的实验结果重合的很好。后面我们将看到,这种应变度量在数学上是最适合这类材料的,因为对于这类材料来说,应变的弹性部分可以认为非常小。

格林应变写为:

这种应变度量可以很方便的处理存在较大运动但只有小变形的问题。因为在任意三维运动情况中,用它推导出的三维应变张量可以直接由变形梯度张量计算出来,而不需要求解主伸长率和主方向。

以上所有应变都满足基本的限制条件。显然,可选的应变函数种类有很多。选哪种应变函数完全是看用哪个比较方便的。由于应变通常是联系位移与应力的桥梁,有限元中选择应变度量主要基于两个考虑:从位移计算应变的难度(因为位移常常是有限元求解的场变量),以及这个应变是否能够有效地描述材料的本构关系。例如,如上所述,对数应变适用于弹塑性材料,而在大变形弹性分析(如橡胶等类似材料)中,直接使用拉伸比 即可,不需要选择其他任何应变度量。

一般三维应变

在一维问题中定义了一般的“应变”概念后,我们把这一概念推广到三维情况。在前面的章节中(变形部分),我们证明了,材料的形变可以用6个量来完全定义:3个主拉伸比 和当前构型或参考构型中的3个主方向。这马上就给出了上述一维应变函数的推广。

首先,选择函数 用于应变度量, 是沿第一个主方向 上的应变; 是沿着第二个主方向 上的应变;同样 是沿 上的应变.

那么,就得到了应变张量为:

这样一个定义在三个主方向上的张量,完全描述了材料某一点处的应变状态。注意这个定义和前面式(10),伸长率张量的定义很相似。

如果你忘了前面一页的式(10)是啥:

因此,其实我们可以认为 是由一个张量函数定义的:

在Abaqus里,由于工程实现中所有的二阶张量最终都写成矩阵形式,所以这篇文档里大部分地方本身写的都是矩阵。前面是应变矩阵,这里是矩阵函数。但我觉得从概念上来说叫张量更合适。

这里,我们把“张量函数”理解为:两个张量具有相同的主方向,它们的特征值则与函数f的定义有关。这样可以用一个简便的方式来表示伸长率张量和应变张量之间的关系。

在方程(2)中,我们用当前构型的主应变方向来表示应变张量 。其实我们也同样可以从极分解开始,先描述拉伸,再描述主方向的旋转。用类似方法定义的 就会有参考构型下的主应变方向。Abaqus中,给出的应变一般指的是当前构型的方向。但其实无所谓,只要用户不混淆,使用任何一种构型都可以。

应变度量定义在当前构型这件事,记在Abaqus理论文档的一般约定(Conventions)一节中。

在有限元程序中,通常根据求出的节点位移和单元形函数(即插值函数)得到位移场,从而计算每个材料点处的变形梯度 。那我们现在就需要一个算法,在给定一个应变度量的情况下求出 。这样的算法可以直接根据前一页式(12)得出:

矩阵 的特征值和特征向量分别是 以及 。这样就能计算出 ,根据选择的应变度量函数f构造出应变张量:

该算法同时还给出了主应变和主伸长率——它们往往也是很有用的输出值,因为它们都能简明的描述某一点的变形状态。

然而,我们还是不太满意。因为这个算法需要在模型每个迭代点(通常是高斯积分点)计算一个 矩阵的特征值和特征向量。当单元数和迭代数增加时,这一计算代价还是太高了。要是可以用更简单的方法从变形梯度张量F算出应变就好了。

——只有在选择某些特定的应变度量时才可以做到这件事。来让我们看看什么情况下可以这么干:

一个单位张量可以写为:

用式(12),就可以得到:

一维情况下的格林应变定义为:

把这个定义和方程(2) (3) 比较一下,可以发现:

就是一维格林应变张量在三维空间中的推广。这可太棒了,直接用变形梯度张量做矩阵乘法就能得到一个应变形式。

格林应变张量更标准的定义,其实应该用 而不是 ,这样应变张量就基于参考构型而不是当前构型了:

聪明的你一定能看出来,当前构型下的格林应变我们在上标处写的是小写g,用以区分。

格林应变张量可以直接从变形梯度张量求出来,而无需求解特征值和主方向。这一优势让格林应变在计算机实现上很有吸引力。我们知道,应变是连接位移和材料本构关系的纽带,因此应变的选择应当同时遵循方便和适当两个准则。

我们前面已经提出,对数应变是最适合弹塑性材料或粘弹塑性材料的,因为在这些材料中弹性应变往往很小(屈服应力与弹性模量相比非常小),所以……虽然格林应变计算起来更简单,但我们还用不上。但是由于前面提到过的应变度量的限制条件,如果对于小应变、大转动的问题,所有的应变度量在一阶近似的情况下都相等,那么格林应变就显得非常方便了。

小应变、大转动这个近似假设在很多情况下都是有用的:比如在壳和梁的问题中,因为构件是细长或薄壁的,所以允许在应变较小的情况下发生较大旋转。格林应变通常被用在小应变、大转动的公式中,用于解决壳体屈曲之类的问题。

最后,值得注意的是,初等弹性力学教材中常用的“小应变”度量,

只对小位移梯度适用——也就是说,应变和转动都要很小才可以用。

这可以通过考虑试件的纯旋转来证明:即使材料没有拉伸,这个应变度量的分量也会随着旋转的增加而变为非零。

后记

到此,应变度量一页也结束了。

大部分读者应该只在弹性力学教科书中接触过上面那个“小应变”公式吧。对于非力学专业的朋友们来说,经典的弹性力学,比如徐芝纶或者陆明万的那本书,已经是比较高深的理论课程了。

Abaqus的理论比它们要更高阶一些,毕竟它生来就是要处理大变形问题的。但高阶不代表更难懂,只不过知识的大厦要多垒几块砖瓦而已。

毕小喵

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

作者介绍

毕小喵