qlearner的个人博客分享 http://blog.sciencenet.cn/u/qlearner

博文

COMSOL第一个算例——扳手拧螺栓

已有 10248 次阅读 2015-4-4 13:32 |个人分类:专业学习|系统分类:科研笔记| COMSOL, 算例

教程见Introduction to COMSOL Multiphysics。

问题描述:

扳手的弹塑性行为使得其在转矩过大时会造成永久变形。本例旨在分析机械应力是否超过了扳手的屈服强度。

操作过程:
Model Wizard
(1)启动comsol,选择Model Wizard;
(2)在Select Space Dimension窗口中,选择3D;
(3)在Select Physics中,选择Structural Mechanics > Solid Mechanics (solid);
(4)在Select Study中,在Preset Studies中选择Stationary。(在Preset Studies中有适合所选物理场的求解器和方程设置,如果选择Custom Studies,则需要手动设置 )
------------------------------------------------------------------------------------------------------------
Geometry
这里使用了一个之前已创建好和存储的几何文件,在安装目录的models路径下。
(1)右键单击Geometry,选择Import;
(2)选择models/COMSOL_Multiphysics/Structural_Mechanics/wrench.mphbin文件,然后import
----------------------------------------------------------------------------------------------------------------
Materials
(1)右键单击Materials节点,选择Add Materials;
(2)在Add Materials窗口中,展开Build-In目录,选择Structural Steel,右键单击,选择Add to Component1;
(3)检查Material窗口中Material Contents部分,看数值是否正确。有绿色对号标志的参数将会用于模型中(还需要学会修改材料参数的操作)。
------------------------------------------------------------------------------------------------------------------------------
Global Definitions
(1)右键单击Global Definitions,选择Parameters;
(2)在Parameters中设置:
Name中填F,Expression中填150[N](注意单位放在中括号中),Description中填Applied force;
-------------------------------------------------------------------------------------------------------------------------------
Domain Physics and Boundary Conditions
(1)右键单击Solid Mechanics (solid) ,选择Fixed Constraint,在Graphics窗口中选择特定的面,边界变蓝后表示已选定;
(2)右键单击Solid Mechanics (solid),选择Boundary Load,在Graphics窗口中选择特定的面,加入Selection list;
(3)在Boundary Load窗口中,在Force中选择Total force作为加载,在z方向填入-F;
扳手和螺栓之间的接触使用了默认的材料界面边界条件。
----------------------------------------------------------------------------------------------------------------------------------
Mesh
(1)在Mesh Setting窗口中,选择单元尺寸是Fine;
(2)点击Build All按钮,创建网格;
-----------------------------------------------------------------------------------------------------------------------------------
Study
之前已经设定Study为Stationary,这个算例使用默认的设置,大约需要2GB内存。
右键单击Study,选择Compute(或按F8)进行计算。

如果电脑内存不够,会显示“Out of memory during LU factorization”。可以通过设置使求解器运算慢一点,但使用更少的内存。此处忽略。
------------------------------------------------------------------------------------------------------------------------------------
Display Results
默认结果单位是N/m2,将其转化为更通用的MPa。
(1)在Results下的Stress (solid)节点,点击Surface;
(2)在Expression的Unit列表中选择MPa,
(3)点击Surface窗口中的Plot,画图。
通常用于扳手的钢材的屈服强度为600MPa,Mises应力分布图显示在150N加载下接近塑性变形。
如果想要查看大于200MPa的部分:
(1)右键单击Results节点,增加一个3D Plot Group;
(2)右键单击3D Plot Group,选择Surface;
(3)在Surface窗口中,在Expression下,选择Replace Expression按钮,选择Solid Mechanics > Stress > von Mises Stress (solid.mises)。(如果知道这个变量的名称,可以直接填上。)
更改表达式:solid.mises>200[MPa](这是一个bool表达式)
(4)点击Plot;
(5)给这个绘图组改名为Safety Margin。右键,F2。
---------------------------------------------------------------------------------------------------------------------------------------
Convergence Analysis:
为了检查扳手中最大Mises应力的计算精度,需要进行网格收敛性分析。通过选择更细的网格(即更多的自由度)来实现(此时至少需要4G内存)。

计算最大Mises应力:
(1)右键单击Derived Values节点,选择Maximum>Volume Maximum;
(2)选择Selection中的Manual,然后在Graphics窗口中选择扳手(Domain1),忽略螺栓。
(3)在expression中,输入ppr(solid.mises)。ppr()函数是为了提高结果的质量;选择单位为MPa;
(4)点击Evaluate,用来计算最大mises应力。结果会显示在Table窗口中。

查看最大值出现的地方:
(5)右键单击Results节点,增加一个3D Plot Group,在其上右键单击,选择 More Plots > Max/Min volume。在Expression中输入ppr(solid.mises),单位为MPa。
(6)点击Plot。在Table窗口中显示最大值和最小值的数值和坐标。

参数化网格(将网格尺寸作为参数):
定义一个过程,连续细化网格,做出Mises应力和网格尺寸的关系图。
(1)点击Global Definitions下的Parameters,在Parameters table中加入一个新的参数,name中填hd,Expression填1,Description中填Element Size divider,这个参数用来控制单元尺寸,另一个参数h0,0.01,Starting Element Size,用来定义初始单元尺寸。
(2)点击Mesh,在Mesh Settings中选择User-controlled mesh。
(3)在Mesh下点击Size节点,在Element Size中选择custom。设定h0/hd为Maximum element size,h0/(4*hd)为Minimum element size,1.3为Maximum element growth rate,0.1为Curvature factor field,0.2为Resolution of narrow regions。

参量扫描和求解器设置:
(1)右键单击Study,选择Parametric Sweep;
(2)添加一个parameter名称,从列表中选择hd,添加其取值范围,点击Range按钮,range(1,1,6)。
在hd最大时,自由度个数将会超过100万,因此选择一个更省内存的迭代求解器;
(3)在Study > Solver configurations > Solver下,右键单击Stationary Solver,选择Iterative,在general下将Preconditioning设为Right。
(4)右键单击Iterative节点,选择Multigrid。
(5)点击study,选择Compute。
---------------------------------------------------------------------------------------------------------------------------------------
Results Analysis:
分析最大mises应力的值。
(1)在Results > Derived Values下选择Volume Maximum 节点。
新的解存储在一个新的数据集合中,称为Solution 2。
(2)在Volume Maximum 的窗口中,选择Data Set为Solution 2。选择在new table中Evaluate。
(3)在Table 窗口中作图,点击 Table Graph。
作最大值与自由度个数的曲线:
(4)右键单击Derived Values,选择Global Evaluation,将Data Set 设置为Solution 2.
(5)在Expression中,输入numberofdofs;
(6)选择在table 2中evaluate。


https://blog.sciencenet.cn/blog-441611-879774.html

上一篇:手动安装特定版本的gcc编译器
下一篇:COMSOL第二个算例——汇流条中螺栓的热损耗
收藏 IP: 210.72.136.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (2 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-18 21:16

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部