我曾经大三的专业课老师要求全班学习COMSOL!
我自己参照官网的教程,写了个比较通俗易懂的入门教程,字多图多慎看(大三的时候写的)。
教你一步一步做出第一个项目。(其实COMSOL本身不难,主要是其中涉及的物理建模和数理方程的知识是不可或缺的)
扳手受力分析
我们平常用的扳手:如下图:
我们可以通过对它进行模拟分析,熟悉一下comsol的基本操作流程;(这是个简单的力学模拟,不涉及耦合场的模拟,当然,comsol最强大的功能是耦合场模拟,这个我们不急,先看完这个了解一下,具体的耦合场的例子推荐大家去看官方的help文档example2,这个例子也是上面的,相比官方来说,我的首先是中文比较好懂一点,然后解释比较直白通俗)
当然你也可能有些地方不懂,第一是有限元不太知道,第二就是数理方程边界条件不太知道,第三就是我没说明白!!!
本人也是个新手,刚看过三国,就学关公耍大刀了,大家将就着看吧,肯定会有差错,敬请原谅敬请原谅。。。。。
第一部分:
选择基本的研究领域,显然,我们这里研究的是结构力学模块中的固体力学,然后它跟时间无关,所以是稳态的研究。模型当然是选择3D的了。具体步骤有截图:
完成这四步以后,我们就可以进入comsol 的主界面了!
Ps:这里稍微介绍一下,为什么我们一开始要选择不同的模块和领域,什么力学,电磁学,光学什么的,在于不同模块所需要的偏微分方程和边界条件都是不一样的(请回忆数学物理方程里的三个基本方程和相关的定界问题),comsol为我们预设了不同的微分方程所以我们不需要自己设(当然你可以选择自己设),只要点击相应的模块就行了。这是comsol的一大优势。
第二部分:
下面我们就开始设置相关的条件了。
首先我们要有一个模型,我们研究的是一个扳手,所以我们要有一个扳手的模型,可以自己绘制,这个扳手模型的绘制应该是比较复杂的,只用comsol基本功能可能比较难,可以用CAD软件区绘制,comsol支持CAD文件的导入。
上面扯了一大堆,对于我们来说,第一次就用comsol里面自带的几何模型库吧,正好里面有。我们可以选择导入,具体步骤如下:
上面那个默认的目录是:C:\Program Files\COMSOL\COMSOL44\models\COMSOL_Multiphysics\
Structural_Mechanics\wrench.mphbin
大家根据自己的安装情况不同可以找到它。
这时候,我们就把扳手的模型导入了,大家可以去随便点一点
这一排的按钮,看一看它们的作用是什么,可以随便点的,点不坏的,不用怕,我就不一一介绍了
下面我们就进行下一步了
模型选定了,接下来我们根据
它上面从上到下的顺序,选择材料属性
我们知道不同的材料的杨氏模量,泊松比是不一样的,所以要确定材料(具体请脑补朝玉大师的弹性力学与张亮分析)
大家可能会找不到它,它是在built-in里面的,需要先打开built-in再找。
然后就设置好材料了,大家可以看一看它的具体的数据
下面我们就进行第三步了,模型有了,材料也搞好了,开始设置边界条件吧!(最关键的一步)
微分方程之前我们选模块的时候就选好了,要解微分方程就看边界条件和初始条件了,这里跟时间无关(此处脑补操老师的数理方程)
扳手的受力,显然我们按住扳手的尾端,也就是在扳手的尾端施加力,扳手的前端是固定的
很明显,扳手的前端是固定端,添加固定边界条件
尾端要加上载荷(这里有问题请参考数理方程)
首先选择固定边界条件
加在扳手的前端上,变成蓝色说明已经被选定,这一步只要在扳手前端找到如图所示,点击鼠标就行了
以上两步,说明我们给扳手前端加了固定边界条件。
下面一步给扳手加上载荷:
跟上一步一样,左键选择添加边界载荷:
然后我们选定载荷作用的这一部分:
选好之后,我们看左边的栏目,添加相应的载荷属性(也就是力的方向和大小)
先选择total force,在写上力就行了,我写的是150,大家可以随便大小,但不要太大(太大,扳手承受不了就。。。。)
这里为什么有负号,因为压扳手的力是朝z轴负方向的。。。。。
到此就全部设置好了!
下面就进行网格化吧(这是有限元方法的基本步骤,不懂的请稍微看看有限元)
当然,目前也不需要你懂什么,稍微点两下就行了
再点
就行了,。。网格化完毕
这里我们用的是系统自动网格化,我们也可以选择人工的,人工的就要我们自己设置网格的大小,密度什么的。。。。
网格化完了,你的扳手就会变成这样:
全部设置都结束了
最后只要轻轻点一下计算就行了
如果你的电脑运行内存小于4g,那很不幸,你可能算不出来,要进行一些额外的步骤(现在4g以下的笔记本应该不多了,如果你是,就来问我吧)
如果你的内存小于4g的话,就请看下面:
没关系,可以用硬盘内存代替运行内存,多几个简单的步骤:
首先,你就不要点计算了,先进行以下步骤
右击
,选择
,然后展开
,变成下面这个样子:
展开
,并点击
在右边的设置窗口设置:
跟这个图上设置的一样吧
这个设置确保如果你的电脑运行低内存中计算,解算器将开始使用硬盘作为补充RAM。允许解算器使用硬盘而不是内存计算慢下来。
到此你就设置完了,可以像之前一样,右键
,点击计算就行了。
你的内存大于4g就不用管,等它算完吧,可能要一些时间,一两分钟。。。
成功算完之后,你会看到:
是不是很神奇,整个扳手每个地方的受力都显示出来了(如果你的力不是150的话,可能情况跟我不一样。。。。。)
你看到的黑线的部分是扳手形变之前的位置,也就是初始位置。。。。
接下来,你可以稍微设置一下,就可以看到扳手的形变情况或者是受压力的情况。。。。(如果你的力不是150的话,可能情况跟我不一样。。。。。)
后面我就贴步骤,具体不啰嗦了,你基本也知道基本的流程了
这个扳手的建模我实际上是省略的全局定义的那一部分,这一部分在大型的建模过程中是排在第一步的,也就是设定参数,设定变量,设定函数什么的,比如我们就可以事先设定一个参数F来代表载荷,在填载荷的时候就可以直接写F不用写具体数值。。。。。但是我们这个小模型很显然就没必要了。。。。大家先有一个意识
我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1u0te5svihf2e