COMSOL接触(高度非线性)仿真常见报错及解决方法总结 |
您所在的位置:网站首页 › comsol变量未定义怎么解决 › COMSOL接触(高度非线性)仿真常见报错及解决方法总结 |
前言
由于COMSOL采用隐式求解器,相较于使用显式求解器的Dyna、Abaqus等软件。要在COMSOL中实现结构接触这一高度非线性问题难度较大,报错时有发生。究其原因,是当物体之间相互接触时,物体受到的应力、运动路径会发生突变,这使得仿真容易在模型开始接触时报错。因此,对COMSOL求解器及模型结构进行合理地设置避免报错是十分必要的。 本文共总结了三种常见报错,以及六种可能解决该问题的调试方法,以期在COMSOL中实现高度非线性问题建模(接触等)。 一、模型介绍 此模型来源于文章复现。二维板件接触仿真模型,等效电路为二阶RLC电路。当脉冲电流通入线圈时,板件受到电磁力的作用发生塑性形变。当两板件的形变位移之和达到板件间隙距离时就会发生高速碰撞。该模型复现初期,在未优化之前仿真到接触时刻均会报错。 1、非线性求解器不收敛,达到最大牛顿迭代次数; 2、无法计算弹塑性应变变量; 3、重复误差测试失败,可能已达到奇点。 三、解决方法 3.1 检查网格质量模型剖分的网格质量低很容易报错,出现报错时首先要检查网格质量。检查网格质量的方法为选择网格-统计信息。检查单元质量直方图最左侧是否有点。如果有说明网格质量很低,需要对网格进行优化。 ![]() ![]() 由于软件自动确定的比例因子不一定合理,因此需要手动设置变量的缩放因子。该模型板件开始接触时的最大应力为4.56×108 N/m2,因此将接触压力的比例因子设置为1e8。设置方法为选择研究-求解器配置-解-因变量-接触压力。 具体可参考COMSOL官网提供的解决方法:手动设置变量的缩放比例 当板件开始碰撞时,板件受到的应力及运动路径会发生突变,即模型的运动状态会发生突变。当这种变化过大时,仿真很容易报错。解决方法是使用更短的计算步长使这种过渡更平滑。而计算步长过短会使计算效率降低,因此可以对模型开始接触时的一小段时间的计算步长进行局部细化。 如该模型板件在7.4us时发生碰撞,因此将7us~8us的步长设置为0.01us,其余时间段步长设置为0.05us,设置方法如下图所示。经过一段时间的测试,我认为这种方法是解决模型接触仿真报错最有效的方法。 具体可参考COMSOL官网提供的解决方法: 错误:无法计算弹塑性应变变量 瞬态求解器采用全耦合子特征,定位到方法和终止栏。将雅可比矩阵更新设置为在每次迭代中,并将最大迭代次数增加到25或更大的值。设置方法如下图。 具体可参考COMSOL官网提供的解决方法: 提高非线性瞬态模型的收敛性 该模型板件开始接触时的最大应力为4.56×108 N/m2,因此设置接触压力初始值为1e8。设置方法为选择固体力学-接触-初始值。 自适应网格难以划分尖角部位,可以局部细化较为尖锐部位的网格。如果该部位不重要的话,可以考虑去除。这也是提高求解收敛性的常见方法。具体可参考链接: comsol出现奇点怎么办。若将二维板件四个顶点倒圆角处理后按前述方法统计网格信息,网格质量得到了明显提高。 ![]() ![]() 以上就是今天要分享的内容,以一个接触仿真模型为例,对网上COMSOL接触仿真报错解决方法进行了整理,同样适用于高度非线性模型的调试,希望对您的学习有所帮助。欢迎留言讨论及点赞、收藏。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |