COMSOL使用技巧.docx

上传人:b****8 文档编号:23812535 上传时间:2023-05-21 格式:DOCX 页数:27 大小:1.92MB
下载 相关 举报
COMSOL使用技巧.docx_第1页
第1页 / 共27页
COMSOL使用技巧.docx_第2页
第2页 / 共27页
COMSOL使用技巧.docx_第3页
第3页 / 共27页
COMSOL使用技巧.docx_第4页
第4页 / 共27页
COMSOL使用技巧.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

COMSOL使用技巧.docx

《COMSOL使用技巧.docx》由会员分享,可在线阅读,更多相关《COMSOL使用技巧.docx(27页珍藏版)》请在冰豆网上搜索。

COMSOL使用技巧.docx

COMSOL使用技巧

 

COMSOLMultiphysics使用技巧

〔旧版通用〕

 

一、全局约束/全局定义

对于多物理仿真,添加全局约束是COMSOL非常有用的功能之一。

例如,对于一个涉与传热的仿真,希望能够调整热源Q_0的大小,从而使得某一位置处的温度T_probe恒定在指定值T_max,我们可以直接将这个全局约束添加进来即可。

有些情况下,全局约束可能包含有对时间的微分项,也就是常说的常微分方程〔ODE〕,COMSOL同样也支持自定义ODE作为全局约束。

例如,在一个管道流体+物质扩散问题的仿真中,利用PID算法控制管道入口的流速u_in_ctrl,从而使得某一位置处的浓度conc恒定在指定值c_set。

〔根本模块模型库>Multidisciplinary>PIDcontrol〕。

需要添加的PID算法约束如下式:

要添加上述约束,除变上限积分项外,另外两项都可以很容易的在边界条件中的“入口流速〞设置中直接定义。

因此,这个变上限积分需要转化成一个ODE,作为全局约束参加。

,方程两边同对时间t求导,得到

在COMSOL中,变量u对时间的导数,用ut表示。

因此变量int的时间导数即为intt。

利用COMSOL的“ODE设定〞,我们可以很容易的将intt-(conc-c_set)=0这个ODE全局约束添参加模型之中。

二、积分耦合变量

COMSOL的语法中,变量u对空间的微分,分别默认为用ut,ux,uy,uz等来表示,这为仿真提供了极大的便利。

那么对变量u的空间积分呢?

COMSOL提供了积分耦合变量来实现这一功能。

积分耦合变量分为四种:

点(point)积分耦合变量、边(edge)积分耦合变量、边界(boundary)积分耦合变量、求解域(subdomain)积分耦合变量。

根据模型的维度,会有相应积分耦合变量。

用户还可以指定得到结果后的作用域,例如全局,或指定某些点、边、边界或求解域。

从而可以将对积分耦合变量结果的访问限制在指定的对象上。

求解域积分耦合变量,就是对指定变量或表达式在指定的某个或者某些求解域上做积分,积分的结果赋给自定义的这个积分耦合变量。

对于三维仿真,这个积分是体积分;对于二维那么是面积分。

最典型的应用当属对数值1进展积分,可以得到体积或面积。

边界积分耦合变量,就是对指定变量或表示在指定的某个或者某些边界上做积分,积分的结果付给自定义的这个积分耦合变量。

对于三维仿真,这个积分是面积分;对于二维那么是线积分。

对1积分可以得到面积或边长。

边积分耦合变量,就是对指定变量或表达式在指定的某个或者某些边上做积分,积分的结果付给自定义的这个积分耦合变量。

仅存在于三维仿真中,这个积分是线积分。

对1积分得到边长。

点积分耦合变量,就是对指定变量或表达式在指定的某个或者某些点上给出它的值。

它的最主要用法是将某个点上的结果映射到指定的对象上。

在上面PID控制的例子中,指定位置处的浓度conc就是一个点积分耦合变量,用来提取点PT1处的浓度值。

同时,浓度c的时间变化率ct在PT1点的取值,也可以用同样的方法提取出来,付给变量ctime。

积分耦合变量除了用于添加约束,也常常用于后处理。

COMSOL允许用户将任意表达式在任意求解域或者边界上的积分定义为一个变量,然后直接在后处理中对该自定义的积分耦合变量做数据可视化操作。

例如,在二维扩散问题的仿真中,为了观测流出边界上总的流出的物质量,可以在出口边界利用边界耦合积分变量,然后可以直接得到数据曲线。

〔根本模块模型库>Chemicalengineering>absorption〕

 

三、时间积分

现在我们已经可以在COMSOL中方便的定义任意一个变量u与其表达式的时间微分〔ut〕、空间微分〔ux,uy,uz〕、空间积分〔积分耦合变量〕。

那么对于时间的积分如何处理呢?

COMSOL当然也提供了这项功能。

对于时间的积分项的处理,COMSOL也是通过ODE的设定来实现的。

例如前例中,我们已经可以利用一个边界积分耦合变量来描述某个时刻流出的物质量。

现在我们进一步,需要知道一段时间总的物质流出量Totmass:

==>

将方程两边同对时间t求导后就变成了一个ODE方程,类似于定义一个全局约束那样,我们使用COMSOL的“ODE设定〞功能便可以定义这个新的变量Tot_mass。

采用ODE进展时间积分,仅仅只能对标量进展积分,如果是想对求解域的某个值进展积分〔通常具有维度〕,那么需要采用耦合一个PDE应用模式的方法,通过修改PDE方程,使其满足对时间的常微分方程形式,然后在求解中可以得到对时间的积分结果。

四、停止条件

在进展稳态求解时,COMSOL迭代求解当然是以收敛条件满足作为计算的停止条件。

但是在瞬态分析的情况下,计算何时停止就可由用户自行选择了。

与其他仿真软件类似,COMSOL默认的瞬态分析停止条件就是遍历用户使定的时间围后,计算停止。

但是除此之外,COMSOL还可以提供一种更为灵活而且强大的功能,就是允许用户选择让软件自动检测计算结果中的某一变量或表达式,当该变量或表达式满足一定条件时,计算停止。

例如上例中,我们可以让流出物质的总量到达指定值时,计算自动停止。

COMSOL的停止条件使用的是布尔表达式。

布尔表达式运算的结果大于零,那么表示有效,此时停止条件满足,计算停止;当布尔运算结果小于或者等于零,那么表示无效,停止条件不满足,计算继续进展。

需要注意的是,这里的表达式,通常是对某个标量进展求解的结果。

五、非线性特征值问题

求解方程的特征值是仿真中经常碰到的一类问题。

问题线性度比拟好的时候,方程的系数与方程的解变量u不存在函数关系,这样的方程很容易解;反过来,方程特征值也很容易求。

但是有时候我们会碰到非线性比拟强的问题,方程的系数本身就是解变量u的函数。

对于正问题,COMSOL很容易“求解域设定〞中,定义方程的某些系数是解变量的函数,然后利用COMSOL提供的非线性求解器完成求解。

但是对于非线性很强的逆问题又该如何定义呢?

这里有一个很好用的技巧,就是使用全局约束对特征值先进展一下归一化,在这里定义特征值与解变量相关。

例如PDE方程

,其中即为特征值〔下列图中的Lambda〕。

我们可以先添加全局约束,定义E=1,而E其实是一个积分耦合变量,对应于解变量u2在求解域上的积分。

通过这样操作,我们就把Lambda和解变量u建立的联系,然后使用COMSOL提供的非线性求解器完成求解。

 

六、利用耦合变量对结果进展扫掠

COMSOL支持多维度的耦合计算仿真,这是COMSOL独有的强大功能之一。

COMSOL允许用户对一个物理问题做多维度的建模分析。

也就是说,同一个仿真过程里可以包含多个几何结构,这些几何结构通常都是不同维度的,最常见的是包含一个三维的完整几何,还有一个或者多个二维的截面,再加一个或多个一维的线。

在不同的几何上,用户都可以建立物理方程并同时求解,这些几何之间是如何传递参数的呢,就是通过COMSOL的耦合变量。

COMSOL提供两种耦合两边实现这个功能:

拉伸耦合变量、投影耦合变量。

拉伸耦合变量的功能是把一个几何中的变量或者表达式,按照预定义或者用户自定义的坐标变换,直接传递到另一个几何中。

例如一个建立在二维轴对称情况下的传热仿真,灯泡。

经过计算后已经获得的其温度场T的分布。

此时的变量T仅存在与二维轴对称这个几何中〔Geom1〕。

现在我们在同一模型下可以建立一个新的几何Geom2,这个三维的几何就是由二维轴对称的几何直接绕对称轴旋转而来。

在模型树里可以清楚看到,在Geom2下面没有任何的方程,当然也就没有什么变量。

我们可以利用拉伸耦合变量,将Geom1中的变量T传递过来,然后在三维的Geom2中看这个结果。

投影耦合变量是积分耦合变量与拉伸耦合变量的合体。

它的用法与拉伸耦合变量非常类似,只不过在跨几何传递参数的时候,拉伸耦合变量传递的就是变量或者表达式本身,而投影耦合变量传递的是变量或者表达式的积分。

七、在非线性设置中调整瞬态求解器

当求解瞬态非线性问题时,为了提高收敛性和求解器的效率,用户可以手动调整求解器的一些参数,例如非线性求解器中的迭代步数、公差因子、阻尼衰减参数、Jacobian修正方法等。

通常情况下,如果在迭代步数围,收敛性较慢,未能在适当的迭代次数后得到结果,可以将迭代步数改大。

但是这样做,有时候会产生较大的计算量。

当非线性较强时,可以将公差因子调小,这样做可以控制迭代时的步长,较小的步长受非线性的影响较小,可能会快速得到结果,但也有可能会产生较大迭代次数,增加计算量。

阻尼衰减参数等,可以根据实际情况进展调整,用户可以指定初始值、最小步长、以与最大步长。

如果非线性很强,那么应该将最小步长改小,反之可以将最大步长调大。

Jacobian修正方法,也可以根据需要来修改,例如缺省是采用最小值方法,用户可以修改成每个迭代都要修改,或每个时间长只进展一次修改。

修改次数越多,意味着非线性的影响越小,同样也意味着计算量的增加。

八、求解时绘图

边求解边绘图是COMSOL最强大的后处理工具之一,它允许用户在求解的过程中,实时观测到某个变量或者表达式的结果图。

例如在求解相变析出的一类问题,使用边处理边绘图可以实时观察到相结构的演变。

在COMSOL中要使用这个功能非常简单,只需要在“求解器设定〞勾选“求解时作图〞的复选框就可以了。

九、绘制探测图

在求解的同时,COMSOL还以做一种图,即探测图。

这个功能允许用户在任意的位置放置观测点,随着求解的进展实时的掌握观测点上的某些变量或者表达式的取值变化。

十、保存探测图数据

COMSOL也允许用户将这种实时的探测图加以保存,或者将数据导出也可以。

十一、交互式网格

网格剖分是有限元仿真最重要的技术之一,好的网格可以有效小的提高计算的收敛性并减少计算时间。

COMSOL建了极为强大的网格剖分工具,包括自由网格生成器、映射网格生成器、扫描网格生成器、边界层网格生成器四种网格生成方法,同时还提供网格复制、网格删除、网格撤销、网格拉伸和旋转、网格导入等等功能。

将这些工具联合使用,就是COMSOL的交互式网格剖分,用户可以根据需要,完全自由控制网格的形状和分布。

十二、CAD导入

COMSOL除了建有强大的CAD工具之外,还提供了与其他CAD软件的接口,用户可以方便的直接导入其他CAD软件创立好的模型。

COMSOL的CAD导入功能除了能够正确识别其他CAD文件之外,更重要的是提供了一些修复的工具。

就一般的CAD设计过程来说,零件在设计的后期往往会参加一些圆角、倒角之类的特征,另外零件上本身还有一些狭小的曲面,这些特征对于COMSOL仿真的物理结构并不重要,但是却会带来许多不必要的网格,COMSOL提供了CAD修复的功能来自动移除这些圆角、倒角、狭小曲面。

另外,导入的CAD模型有可能存在组件未对齐、本该连接在一起的面没有连上等等,这些都会造生COMSOL无法有效的识别物理求解域,因此COMSOL提供的CAD修复工具可以修补缺口,消除自相交或者不连续。

十三、3D模型中抑制对象

“抑制〞功能是COMSOL常用的后处理技术之一。

在三维仿真的后处理过程中,用户可能常常需要看到部的一些结构上的变量分布。

这时就要用到COMSOL的抑制功能。

例如前面灯泡的例子,后处理显示的是三维结构外缘的温度分布,而我们关心的实际上是部的温度分布,因此可以选择抑制某些边界。

十四、复杂模型绘图

COMSOL的几何建模功能极其强大,其主要表达就在于工作平面的设定。

与很多CAD软件类似,COMSOL在用户需要建立复杂三维几何模型时,推荐用户使用工作平面。

COMSOL提供了灵活的建立工作平面的方式,用户可以在不同的工作平面上绘制二维的曲线和实体,然后再拉伸或者旋转成三维。

用户可以反复选取工作平面,然后将不同的几何旋转或者拉伸到同一三维几何结构中,从而完成复杂模型的绘图。

十五、几何属性

COMSOL中可以随时查看几何对象的属性,比方如果选中一个三维实体,点击“几何属性〞按钮,COMSOL就会在信息窗给出体积、外表积等信息。

选中某两个点,COMSOL就会给出两点之间的距离,以与经过这两点的边的长度等信息。

十六、开场命令的命令行选项

从操作系统的图形化界面启动COMSOL是大家最为熟悉的。

但是对于有些特殊的情况,用户可能会需要从命令行启动COMSOL。

这种启动方式其实更为灵活,因为COMSOL提供不少很实用的启动参数。

Comsolbatch–inputtest1.mph–outputtest2.mph

这是COMSOL的批处理命令,这种启动方式允许COMSOL在后台运行,将test1模型计算后保存成test2文件。

在很多大型集群系统中,主节点的linux系统很可能就没有图形化界面,这时就可以利用这条命令,在文本界面下后台运行COMSOL。

Comsolserver–port2233–multion

在效劳器上运行COMSOL作为效劳器端应用程序,并至定端口。

Comsolclient

在终端运行COMSOL。

Comsol–np8

指定COMSOL可以使用的CPU的个数。

Comsolmatlab(opensmatlabwithcomsolpath)

使用命令行启动COMSOLwithMatlab

十七、选择复杂几何体边界

在复杂三维几何结构当中,选取边界,尤其是同时选取多个边界有时并不那么容易。

COMSOL从用户的角度思考,提供了很贴心的解决方案。

在COMSOL中,点击鼠标左键表示选取当前边界,边界被选中那么显示为红色;此时如果左键单击另一边界,那么原先的选取取消,新被选中的边界红色显示。

如果我们要同时选取多个边界怎么做呢。

点击左键选中一个边界,边界变为红色表示被选中;此时点击右键,边界变成蓝色,表示该边界已被参加选择。

这时用户可以随意再用左键选取其他边界,这个蓝色的边界始终都保持不变,不会被取消选择。

这样用户可以重复左键、右键,完成多个边界的选取。

如果要取消一个已经参加选择的边界,那么再用鼠标左键单击这个边界,这是该边界会由蓝色变为绿色,此时点击右键,那么取消该边界的选择,其他已参加选择的边界不受影响。

十八、开启结构符号

为了让用户对于当前模型中的边界约束条件一目了然,可以开启结构符号,如下列图开启结构符号后,可以清楚地看到对于这个结构对象的约束类型,即在对称面上自由度限制为0等。

用户可以直接在左侧的绘图工具条上点击“显示符号〞按钮,或

在菜单“选项〞->“参数设定〞对话框,点击“显示〞标签,然后选中其中的“符号〞复选框。

十九、正确绘制变形

变形图,可以帮助用户了解结构形变后的形状,然而,有时候,模拟得到的变形量很小,例如相对于结构而言,仅为实体的1E-3倍。

如果以1:

1的比例关系显示变形,很有可能看不到效果。

这时,可以通过修改“绘图参数〞对话框的“变形〞标签中的“比例系数〞,来增加变形图的效果。

用户可以选择“自动〞,或者去除“自动〞复选框后,在后面的编辑框中填入自己希望的比例关系。

二十、防止建立违反物理规律的模型

当创立一个复杂的多物理模型时,COMSOL推荐用户采取从简入繁的建模思路顺序。

先建立简单的单物理场的模型,然后完成计算看看结果是否合理。

依次遍历所有涉与的物理场。

经过这样的单物理仿真以后,就可以确保在每个物理场的仿真中,相关的设置都正确。

然后再将这些物理场逐渐耦合起来,完成多物理场的仿真。

如果直接建立复杂的多物理模型,那么很难验证结果的有效性,甚至计算报错也很难快速的找到原因。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1