尽量把所有不会发生位移的节点都固定住,不要让求解器再去通过迭代计算来确定这些节点的位移。
举个简单例子:一个二维平面应变问题,包含两个弹性体,即圆筒和平板,如图1所示。在圆筒中心的圆孔内壁上定义了固支边界条件,在平板顶部中央的A点给定义了位移U2=-2,希望使平板向正下方移动,和圆筒发生接触。提交分析后,计算可以完成,但在分析结果中看到平板发生了异常的位移,如图2所示。这是什么原因引起的?
图1 定义了位移边界的模型
图2 后处理时看到平板发生了异常的位移
对于三维模型,每个部件都有3个平动自由度和3个转动自由度;对于二维模型,每个部件都有2个平动自由度和1个转动自由度。在建立静力分析模型时,必须在模型每个实体的所有平动和转动自由度上定义足够的边界条件,以避免它们出现不确定的刚体位移,否则将导致分析往往无法收敛,即使能够收敛,结果也往往是错误的。
本例中,圆筒上定义了固支边界条件,不会出现刚体位移。但是平板在x 方向上没有定义任何边界条件,因此在x 方向上的刚体位移是不确定的;在y 方向上,只在一个节点(A点)上给定了位移U2,这时整个平板仍然可以绕A点做刚体转动,即除了A点之外,平板上的其他节点的U2都是不确定的。
尽管整个模型并没有使平板发生转动或x 方向平动的载荷,直观感觉上此模型似乎是没问题的,但这样的模型符合有限元分析的要求。这种“因为没有受力,所以不会移动”的因果关系,只是我们根据生活经验在头脑中进行逻辑分析时的思路,而Abaqus/Standard的求解过程恰恰与此相反,其过程是:迭代尝试各种可能的位移状态,检验它们是否能够满足静力平衡方程。
在本实例中,无论平板发生多大的转动或x 方向的平动,都可以满足静力平衡方程,即符合静力平衡条件的位移解有无限个,因此会出现“数值奇异”。有限元是一种数值计算方法,计算过程中的微小数值误差会导致平板在缺乏约束的自由度上发生刚体运动,因此会看到如图2所示的异常结果。
解决方法:
原则
02
模型中仅仅靠两个外力达到静力平衡是不够的,必须要借助于边界条件处的支反力达到平衡。
同样举个简单的例子:二维平板两端受到均布拉力,如图3a所示,如果直接对整个平板建模,没有边界条件,提交分析后,往往会出现“数值奇异”的警告信息。因为这时尽管整个平板处于静力平衡状态,但仍然会出现不确定的刚体位移,因为整个平板是悬浮在空中的,有无数种可能的位移状态。
一个更为合理的建模方法如图3b所示,根据对称性,只取1/4建模,在两个对称面上分别定义对称边界条件。这样就能够保证静力平衡方程的位移解是唯一的,静力分析才能够收敛。
(a)二维平板两端受拉
(b)根据对称性取1/4建模
图3
建立一个模型之前,应该考虑的第一件事就是,这个模型是否具备对称性,是否可以只取1/2、1/4甚至是1/8进行建模。这样做有多方面的重要意义。
对于动力分析,不需要在所有自由度上定义足够的边界条件,因为动力分析会考虑惯性力,可以避免产生无限大的瞬时运动。
如果在动力分析时看到“数值奇异”的警告信息,往往是由于模型中存在其他问题,例如“过度塑性”等。
原则
03
在每一个分析步中,如果在某个自由度上没有施加力载荷,就一定要有边界条件来约束这个自由度;如果施加了力载荷,就一定要去掉这个自由度上的边界条件。
如图4所示,在圆筒中心的圆孔内壁上定义了固支边界条件,在平板中央对称线上定义了边界条件U1=0,在平板顶部的A点施加了向下的点载荷,提交此模型分析后,同样无法收敛。
图4 定义了力载荷的模型
尽管从直观感觉上,这个模型似乎是没有问题的。圆筒是固支的,不存在刚体位移问题。在x方向上,平板施加了约束同样也没有刚体位移问题;在y 方向上,平板受到向下的力,应该向下移动。与“因为没有受力,所以不会移动”一样,这个模型同样也是不符合有限元分析的基本要求,因为力载荷并不能代替位移边界条件的约束作用。静力分析时,在每个增量步上都要满足静力平衡方程。在本例的初始状态下,平板顶部受到向下的力,但底部还没有和圆筒发生接触,因此无法形成静力平衡。若模型中只定义了位移边界条件,而没有施加力载荷(即外力为0),则模型是始终处于静力平衡状态的,可以很容易地达到收敛。由此可知,在建模时如果能够指定位移(即施加位移载荷),就不要施加力载荷,这样可以大大降低收敛的难度,这一技巧对于处理复杂的非线性问题尤其重要。
解决方法:
在施加力载荷的分析步之前增加一个分析步,先不定义力载荷,而是在平板受到外力位置上定义一个临时的位移边界条件U2=-1.001,这样会使平板和圆筒之间产生0.001的过盈量,可以保证二者的接触关系充分建立起来。在下一个分析步再去掉这个临时的边界条件,施加力载荷。
本实例中,运用了一个非常重要的有限元建模技巧:先利用位移边界条件让接触关系平稳地建立起来,然后在下一个分析步中再施加力载荷。在其他的复杂非线性问题中,同样可以运用上述技巧。例如,模型要在很大的载荷下发生大变形,很难收敛,这时可以先估计一下大致的位移量,在施加载荷的位置上定义相应的临界位移边界条件,让模型运动到最终状态的大致位置上,再在下一个分析步去掉这个临时位移边界条件,施加力载荷。这样可以帮助求解器更容易地找到收敛的位移解。
有限元接触分析的重要建模技巧。
1. 接触面的网格
如果关心的是接触区域的应力、应变和位移,则需要对相应位置进行网格细化,细化的区域应比发生接触的区域略大一些。对于模型中的其他部分,则应划分较粗的网格,如图5所示。
图5 在接触区域划分均匀的细化网格
有限元网格划分的一个重要原则:重要区域的网格必须细化,以提高计算精度,不重要区域的网格一定要粗一些,以节省计算时间。不假思索地为整个模型划分均匀的网格,可能在视觉上比较好看,但是不必要的细化网格往往会造成计算时间大大增加。
2. 主面和从面
有限元接触分析网格划分时,一般要求主面的网格不能比从面细,以免发生穿透。当主面和从面的网格密度相同时,计算结果的精度是最高的。另外,在定义接触面时,如果是有限滑移,从面应该尽可能地小,不要包含那些不可能发生接触的区域。应保证在整个分析过程中,从面各个部分始终处在主面的法线覆盖范围内。有限元接触分析时的另一个重要原则是,尽量不要依靠摩擦来约束刚体的平动和转动,而应该根据工程实际定义尽可能多的边界条件。因为在分析刚开始时,各个接触关系还没有建立起来,摩擦力无法起到约束作用。