论坛里常有人问不同单元之间的连接问题,我自己也一直被这个问题所困绕,最
近从 ANSYS 工程分析进阶实例上知道了 ANSYS 中不同单元之间的连接原则。
感觉收收获不小,现把它上传与大家共享。
一般来说,按“杆梁壳体”单元顺序,只要后一种单元的自由度完全包含前一种单
元的自由度,则只要有公共节点即可,不需要约束方程,否则需要耦合自由度与
约事方程。例如:
(1)杆与梁、壳、体单元有公共节点即可,不需要约束方程。
(2)梁与壳有公共节点怒可,也不需要约束写约束方程;壳梁自由度数目相同,
自由度也相同,尽管壳的 rotz 是 虚的自由度,也不妨碍二者之间的关系,这有
点类同于梁与杆的关系。
(3)梁与体则要在相同位置建立不同的节点 ,然后在节点处耦合自由度与施加
约束方程。
(4)壳与体则也要相同位置建立不同的节点 ,然后在节点处耦合自由度与施加
约束方程。
上面所述的不同单元之间的接连方法主要是用耦合自由度和约束方程来实现
的,有一定的局限性,只适用于小位移,下面介绍一种支持大位移算法的方法,
MPC 法。
MPC 即 Multipoint Constraint,多点约束方程,其原理与前面所说的方程的技
术几乎一致,将不连续、自由度不协调的单元网格连接起来,不需要连接边界上
的节点完全一一对应。
MPC 能够连接的模型一般有以下几种。
solid 模型-solid 模型
shell 模型-shell 模型
solid 模型-shell 模型
solid 模型-beam 模型
shell 模型-beam 模型
在 ANSYS 中,实现上述 MPC 技术有三种途径。
(1)通过 MPC184 单元定义模型的刚性或者二力杆连接关系。定义 MPC184 单
元模型与定义杆的操作完全一致,而 MPC 单元的作用可以是刚性杆(三个自由
度的连接关系)或者刚性梁(六个自由度的连接关系)。
(2)利用约束方程菜单路径 Main Menu>preprocessor>Coupling/Ceqn>shell/solid
Interface 创建壳与实体模型之间的装配关系。
(3)利用 ANSYS 接触向导功能定义模型之间的装配关系。选择菜单路径 Main
Menu>preprocessor>Modeling>Creat>Contact Pair,弹出一序列的接触向导对话
框,按照提示进行操作,在创建接触对前,单击 Optional setting 按钮弹出 Contact
properties 对话框,将 Basic 选项卡中的 Contact algorithm 即接触算法设置为 MPC
algorithm。或者,在定义完接触对后,再将接触算法修改为 MPC algorithm,
就相当于定义 MPC 多点约束关系进行多点约束算法。
单元类型的选择问题
初学 ANSYS 的人,通常会被 ANSYS 所提供的众多纷繁复杂的单元类型弄花了
眼,如何选择正确的单元类型,也是新手学习时很头疼的问题。
单元类型的选择,跟你要解决的问题本身密切相关。在选择单元类型前,首
先你要对问题本身有非常明确的认识,然后,对于每一种单元类型,每个节点有
多少个自由度,它包含哪些特性,能够在哪些条件下使用,在 ANSYS 的帮助文
档中都有非常详细的描述,要结合自己的问题,对照帮助文档里面的单元描述来
选择恰当的单元类型。
1.该选杆单元(Link)还是梁单元(Beam)?
这个比较容易理解。杆单元只能承受沿着杆件方向的拉力或者压力,杆单元不能
承受弯矩,这是杆单元的基本特点。
梁单元则既可以承受拉,压,还可以承受弯矩。如果你的结构中要承受弯矩,肯
定不能选杆单元。
对于梁单元,常用的有 beam3,beam4,beam188 这三种,他们的区别在于:
1)beam3 是 2D 的梁单元,只能解决 2 维的问题。
2)beam4 是 3D 的梁单元,可以解决 3 维的空间梁问题。
3)beam188 是 3D 梁单元,可以根据需要自定义梁的截面形状。
2.对于薄壁结构,是选实体单元还是壳单元?
对于薄壁结构,最好是选用 shell 单元,shell 单元可以减少计算量,如果你
非要用实体单元,也是可以的,但是这样计算量就大大增加了。而且,如果选实
体单元,薄壁结构承受弯矩的时候,如果在厚度方向的单元层数太少,有时候计
算结果误差比较大,反而不如 shell 单元计算准确。
实际工程中常用的 shell 单元有 shell63,shell93。shell63 是四节点的 shell 单元
(可以退化为三角形),shell93 是带中间节点的四边形 shell 单元(可以退化为三角
形),shell93 单元由于带有中间节点,计算精度比 shell63 更高,但是由于节点数目
比 shell63 多,计算量会增大。对于一般的问题,选用 shell63 就足够了。
除了 shell63,shell93 之外,还有很多其他的 shell 单元,譬如 shell91,shell131,
shell163 等等,这些单元有的是用于多层铺层材料的,有的是用于结构显示动力
学分析的,一般新手很少涉及到。通常情况下,shell63 单元就够用了。
3.实体单元的选择。
实体单元类型也比较多,实体单元也是实际工程中使用最多的单元类型。
常用的实体单元类型有 solid45, solid92,solid185,solid187 这几种。
其中把 solid45,solid185 可以归为第一类,他们都是六面体单元,都可以退
化为四面体和棱柱体,单元的主要功能基本相同,(SOLID185 还可以用于不可压
缩超弹性材料)。Solid92, solid187 可以归为第二类,他们都是带中间节点的四面
体单元,单元的主要功能基本相同。
实际选用单元类型的时候,到底是选择第一类还是选择第二类呢?也就是到
底是选用六面体还是带中间节点的四面体呢?
如果所分析的结构比较简单,可以很方便的全部划分为六面体单元,或者绝
大部分是六面体,只含有少量四面体和棱柱体,此时,应该选用第一类单元,也
就是选用六面体单元;如果所分析的结构比较复杂,难以划分出六面体,应该选
用第二类单元,也就是带中间节点的四面体单元。
新手最容易犯的一个错误就是选用了第一类单元类型(六面体单元),但是,在
划分网格的时候,由于结构比较复杂,六面体划分不出来,单元全部被划分成了
四面体,也就是退化的六面体单元,这种情况,计算出来的结果的精度是非常糟
糕的,有时候即使你把单元划分的很细,计算精度也很差,这种情况是绝对要避
免的。
六面体单元和带中间节点的四面体单元的计算精度都是很高的,他们的区别
在于:一个六面体单元只有 8 个节点,计算规模小,但是复杂的结构很难划分出
好的六面体单元,带中间节点的四面体单元恰好相反,不管结构多么复杂,总能
轻易地划分出四面体,但是,由于每个单元有 10 个节点,总节点数比较多,计
算量会增大很多。
前面把常用的实体单元类型归为 2 类了,对于同一类型中的单元,应该选哪
一种呢?通常情况下,同一个类型中,各种不同的单元,计算精度几乎没有什么
明显的差别。选取的基本原则是优先选用编号高的单元。比如第一类中,应该优
先选用 solid185。第二类里面应该优先选用 solid187。ANSYS 的单元类型是在不
断发展和改进的,同样功能的单元,编号大的往往意味着在某些方面有优化或者
增强。
对于实体单元,总结起来就一句话:复杂的结构用带中间节点的四面体,
优选 solid187,简单的结构用六面体单元,优选 solid185