有限元在求解结构问题时,最先得到的是各个节点的位移,再通过弹性力学方程得到单元的应力和应变,得到的单元应力应变实际上是一个函数,这个函数能够描述单元内所有位置处的应力场。无疑,这样没法在软件中显示结果,因此单元解需要确定一些积分点(高斯点),通过积分得到这些积分点的解,这些积分点的解代表单元解。
积分点通常和单元的节点位置不重合,因此想要得到单元节点的解,需要将积分点的解根据某种规则外推,以一种近似的方法得到单元节点的解。由于每个单元外推得到的单元节点解并不完全一致,因此,最初外推得到的单元的节点解不连续,为了让其连续,将不同单元之间的节点外推得到的节点解进行算术平均,这样在连续节点处的节点解仅有一个数值,这样便得到实际在软件中显示的节点解。
简短一点来说: 单元解是积分点的解,节点解是外推后平均的解 。很明显,从数值精度上来讲,单元解是高于节点解的。
采用 ANSYS 计算了一个简单的模型,分别采用 solid185 单元和 solid186 单元,185 单元是 8 节点单元,186 单元是 20 节点单元,分别计算后查询;
最终,单元总数 185 为 256 个,186 为 256 个,单元划分一样,但是节点数不一样,185 单元划分的模型节点数为 459 个,186 单元划分的为 1605 个。
查看 ANSYS 计算输出的单元解,当单元为 185 时查询两个挨着的单元应力解如图 1 所示:
有限元计算的节点解与单元解的讨论续
图 1
当单元为 186 时查询两个挨着的单元应力解如图 2 所示:
有限元计算的节点解与单元解的讨论续
图 2
经过以上计算可以看出:
(1)无论是 185 单元还是 186 单元,计算后的单元解只输出 8 个节点的值,这个非常奇怪,因为 185 单元和 186 单元的积分点数目不一样,185 为 8 个积分点,186 为 27 个积分点;
(2)相邻单元的共同节点的应力值不一样,这个是合理的,因为每一个单元的节点解是根据各自的形函数计算并且外推的,有差别。
这里就留下一个问题,为什么 186 单元也只输出八个节点的值?
后来注意到,有一个概念,缩减积分单元和完全积分单元,重新检查了一下 ANSYS 默认的单元设置,如图 3 所示,默认的单元设置是 Reduced integr(缩减积分),为了查看完全积分单元输出单元解是否也还是八个节点的值,修改设置并重新计算,同样的单元的单元应力解如图 4 所示。
有限元计算的节点解与单元解的讨论续
图 3
有限元计算的节点解与单元解的讨论续
图 4
结果发现依然还是输出 8 个节点的值,这个和理论上的单元应力输出解不一致,按道理应该是输出 27 个积分点的值才对。为了证明这个结论,采用 ABAQUS 软件计算,采用 20 节点完全积分单元进行计算。计算后查询某个单元的单元解,如图 5 所示:
有限元计算的节点解与单元解的讨论续
图 5
图 5 中没有显示完全,但是输出的单元的解确实是 27 个。
重新采用 ABAQUS 计算 8 节点完全积分单元,某个单元的单元输出解如图 6 所示:
有限元计算的节点解与单元解的讨论续
图 6
正好是八个单元输出解。
再重新计算 8 节点缩减积分单元,输出单元的单元输出解如图 7 所示:
有限元计算的节点解与单元解的讨论续
图 7
图 7 中只有一个单元输出解,因为采用缩减积分单元后,8 节点单元只有一个积分点。
而 20 节点单元缩减积分后,有 7 个积分点,应该输出 7 个单元解,经过计算如图 8 所示:
有限元计算的节点解与单元解的讨论续
图 8
图 8 正好是 7 个输出解。
ABAQUS 的计算表明单元输出解果然是输出单元积分点的值,采用完全积分和缩减积分单元输出解不一样,求解精度不一样。
那么为什么 ANSYS 则没有这种规律呢?
其实后台程序计算是肯定是按照理论上走的,也就是先得到节点的位移,再得到单元积分点的应力应变,再外推得到各个单元节点的应力应变,最后平均得到节点解。
ANSYS 之所以显示的单元解不是单元积分点的解,而是各个节点的解,是因为 ANSYS 已经在得到单元积分点的解之后经过外推得到了单元各个角节点的解,但是还没有做平均。
也就是,ANSYS 的单元解,其实不能完全看作单元解,笔者称之为单元角节点解。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!