COMSOL分析,减震垫的瞬态分析,使用comsol对其进行分析,有三维模型,也有二维装配图,有comsol仿真全过程,优化的设计。 图二为减震垫模型,图三图四为comsol的分析结果。
最近在折腾一个减震垫的仿真项目,用COMSOL搞了个瞬态分析。这玩意儿看着简单,真跑起来才发现网格和边界条件能让人头秃——尤其是当你想在三维模型和二维装配体之间反复横跳的时候。
COMSOL分析,减震垫的瞬态分析,使用comsol对其进行分析,有三维模型,也有二维装配图,有comsol仿真全过程,优化的设计。 图二为减震垫模型,图三图四为comsol的分析结果。
先说说模型导入这茬。三维模型是从SolidWorks导出的STEP文件(见图二),结果COMSOL死活报错说曲面不闭合。后来发现是模型里减震垫的加强筋厚度只有0.5mm,直接导致网格剖分时出现畸形单元。临时在COMSOL里用"虚拟操作"把相邻面做了个融合,代码区里多了这么一段:
model.component("comp1").geom("geom1").feature().create("vop1", "VirtualOperations"); model.component("comp1").geom("geom1").feature("vop1").set("action", "union");搞定模型后,物理场设置才是重头戏。结构力学模块里开了瞬态分析,材料属性给橡胶加了超弹性模型。这里有个坑——系统自带的Mooney-Rivlin参数和实际材料对不上,直接在材料设置里手动输入了本构方程:
sigma = C10*(I1-3) + C01*(I2-3) C10 = 0.8e6 [Pa], C01 = 0.2e6 [Pa]边界条件设置时,底面固定约束,顶面给了个冲击载荷。有意思的是二维装配体分析时(见图三),发现接触面压力分布和三维模型差了15%。后来发现是二维简化时把加强筋等效成了均质层,实际应该用层压板模型。改完参数后应力集中区域终于对上了。
求解器配置绝对是技术活。时间步长开始设了0.001秒,结果算到第200步就发散。后来改成自适应步长,加上阻尼控制:
study.step("time").set("tlist", "range(0,0.005,1)"); study.step("time").set("damping", "auto");结果出来后(图四),最大等效应力出现在加强筋根部,和实验测得的位置完全吻合。不过共振频率比预期低了12Hz,估计是装配体预紧力没设对。优化时直接上了参数化扫描,把橡胶层厚度从5mm到8mm做了梯度测试:
model.param.set("h_rubber", "range(5[mm],1[mm],8[mm])");最后发现7.2mm时200Hz以下的振动传递率降了40%,算是意外收获。这波操作下来,最大的感悟是:仿真和现实的差距,往往就藏在那些默认参数的细节里。下次再也不敢随便相信材料库的预设值了...