感悟
随时补充学习中的感悟,放在开头是为了后来者在学习过程中有所参考。
- 掌握基本操作,学会寻找资料
- 先看基础视频,然后找专题视频,再去学习案例(以官方视频优先、案例配有相关的文件)
- 学习案例会涉及到其他领域的专业知识,无需在意,不求甚解
- 主要学习本专业的建模,要及时补充专业知识、了解相关知识(指一些术语、名词)
- 遇到问题难以理解的,且暂时没能解决,先记住,以后遇到再深究
COMSOL学习
自学(孤家寡人),主要学习磁场与结构场耦合模型建模,所以思考方式和学习途径具有局限性,希望能为您带来一点参考。
使用的是COMSOL Multiphyscis 5.4 版本。
官方资源(基础视频、专题培训视频、知识库、博客、官方微信) + 公司技术支持 + 百度 + 学习交流群 + 同学、老师交流
- COMSOL自带pdf资料,在
...\COMSOLxx\Multiphysics\doc\pdf
目录下查看各模块的指导手册 - COMSOL参考手册是很有用的
…\COMSOLxx\Multiphysics\doc\pdf\COMSOL_Multiphysics\COMSOL_ReferenceManual.pdf
- 《COMSOL_Multiphysics V4.x 操作手册》系列 —— 中仿科技:了解学习软件
- comsol在线培训课程:手把手仿真教学
- …
注:
- 因为资料、版本和翻译问题,一些名词不是完全一致,一些模块接口、功能设置等可能换了位置
- COMSOL公司提供技术支持,可以与技术员取得联系,解决问题(前提是有正版的通行证,或者你认识他 😂 )
- 笔记中的有序列表(标注序号的列表)表示从易(一般)到难(特殊),或指流程的一般步骤
- 笔记中的无序列表(标注点的列表)表示同一级别,或者不分先后
- 笔记中 斜体名词 是软件中的名词,粗体是强调,粗斜体 是强调的软件中的名词
- 笔记中“节点 下”指在“节点”下的子序列节点,“节点 中”指这个“节点”本身的设置
建模方式
- 使用导向
- 手动创建
- 在已有模型上修改
建模流程
视具体方法不同,一般:
- 建立几何模型
- 添加物理场
- 添加材料
- 添加研究
- 解算
- 后处理
以下技巧可以优化建模流程:
- 建模过程中使用参数变量规范模型
- 使用标签标记清楚变量,使用定义指定几何的意义
- 具有对称或二维旋转特性的几何,可简化为最基本的几何部分
- 善于利用软件中便捷功能,例如镜像、布尔操作等
- 善于使用向导来快速创建模型
笔记
官网有教学视频、案例库、讲座、博客、微信文章等学习资源。在大概看过一遍教学视频后,下载案例库中与专业相关的模型进行学习并再现。
网格(mesh)
参考:
线性静态问题的网格剖分注意事项:网格的工作方式、作用,以及如何划分网格
网格划分的原则:网格划分的几个原则及影响
拉格朗日与欧拉坐标联系与区别:物理场常用坐标系及其意义(网格划分是基于物理坐标的)
-
单元:组成网格的最小几何,由节点确定
(由节点(灰白的点,各面上的点和体内的点已隐藏)确定的二阶六面体单元)
-
非结构化网格:一个节点可以被任意多网格共用
- 三角形网格、四边形网格、四面体网格
- 最通用的网格
-
结构化网格:节点为相同形状大小的网格所共有
- 网格 - 映射 创建 2D 几何中的结构化网格,是均匀的矩形
- 网格 - 扫掠 创建 3D 几何中的结构化网格,是均匀的棱柱或六面体
-
网格划分是使用网格单元对几何模型进行逼近,从而显得模型被“剖分”
(使用一阶六面体单元逼近立方体和柱壳体)
-
单元阶次:
- 一阶(线性)单元:单元的形状是线性的(节点间一阶插值)(如 4. 中图片所示)
- 高阶单元:二阶、三阶单元等,单元的形状是符合高阶的(节点间高阶插值)(如 1. 中图片所示)
- 调整单元阶次的过程称为 离散化 (物理场 设置中找到 离散化 )
- 阶次越高,节点越多,对形状拟合越好。
所以,对于非线性的几何(有曲面的),线性网格需要增加数量(更密)才能达到高阶网格的效果
-
网格的作用(有限元求解方式):
- 将几何剖分为更细小的部分,即单元
- 物理场求解时,以单元为基础进行求解:
确定每个节点上的解,按照单元阶次在节点间进行插值,从而得到所有点的解
-
由网格的意义可以知道在划分网格时:
网格越密,阶次越高,越逼近真实几何体形状,同时其解也越精确,但计算量也越大
COMSOL 软件可以 自适应网格 ,而结果的精确度还需要多次的验证,参见执行网格细化研究 -
在重点分析的几何区域加密网格(一个常用技巧):
- 网格 - 边界 在指定部分设置网格划分密度(图中红色边界),使得生产网格时该部分的网格,既连续,密度又可控
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sOzFx2zn-1622015891039)(D:\documents\COMSOLnotes\网格划分1.PNG)] - 曲率因子 :曲率因子越小,几何弯曲边界的网格越密(网格 - 尺寸)
- 狭窄区域分辨率 :几何边界与边界之间距离较近的区域称为狭窄区域,
分辨率越大,狭窄区域网格密度越大(网格 - 尺寸)
- 网格 - 边界 在指定部分设置网格划分密度(图中红色边界),使得生产网格时该部分的网格,既连续,密度又可控
-
网格 - 边界层 :对于 流体动力学 或者 低频电磁场研究趋肤效应 需要在在几何表层建立细致网格
-
无限元域 :建立一个无限延伸区域,用于表示无穷远的空间。是几何部分的定义属性。
-
有三个方式,用来表示无限延伸的区域。每个选项都有不同的适用领域:
-
无限元域功能用于本质上为扩散型 的控制方程,固体传热 物理场接口就是这样一种情况。“无限元”表示沿特定坐标轴拉伸的区域,其作用是近似形成无限大的域。
-
完美匹配层 (PML) 域功能用于本质上为波形 的定常控制方程,其中的场描述了能量的辐射,电磁波,频域 接口就属于这种情况。PML 充当一个近乎理想的吸收体或辐射体域。
-
吸收层功能是 PML 在时域中的建模方案,也用于在本质上为波形 的控制方程,但这些方程通过时域显式方法进行求解,电磁波,时域显式 接口就属于这种情况。
-
-
在模型中的使用:
- 三种方法的选择,具体取决于模型中添加的物理场。
- 先在模型中添加物理场,然后右键单击 组件 > 定义 分支,或者转到 定义 工具栏,可以看到相应选项。根据添加的物理场,可能是无限元域、完美匹配层和吸收层三者中的任何一个或几个,或没有一个。
-
几何 特征设置:
- 根据模型中无限元域区域的形状,选择区域的几何类型
- 笛卡尔 :正正方方的形状,对应正交坐标几何
- 柱面 (圆柱型):圆形或圆柱形,对应圆柱坐标几何
- 球面 :三维模型中的球形,对应极坐标几何
-
-
变形网格(deformed geometry & moving mesh)(任意拉格朗日-欧拉公式 ALE)
- 移动网格(动网格) 接口可用于所有或部分几何相对于绝对参考坐标系移动的模型。
- 适用在刚性固体对象区域的移动(固体对象本身不会变形,或不考虑其自身变形,即整体平移)
- 变形几何(变形网格) 接口可用于几何形状发生变形的模型,使材料区域跟随几何变形刷新。
- 多适用在流体区域(空气、液体等),也以可是变形的固体区域,网格节点自动变化
在 定义 -> 动网格 或 物理场 -> 数学 -> 变形网格 中都能找到:
- 定义 -> 动网格 中实际包括了 变形几何 与 移动网格 的各种功能
- 物理场 -> 数学 -> 变形网格 中包括 变形几何 与 移动网格 两个独立接口,将其更具体地分开
原理基础:在 COMSOL Multiphysics 中,参考坐标系称为空间坐标系,默认情况下,其坐标为小写字母 (x, y, z,轴对称情况下为 r, phi, z) 。相对材料静止的坐标系称为材料坐标系,默认情况下,其坐标为大写字母 (X, Y, Z,轴对称情况下为 R, PHI, Z) 。
变形网格接口使空间坐标系中的网格按照坐标变换所定义的进行变形:x = f ( X , Y , Z , … ) y = g ( X , Y , Z , … ) z = h ( X , Y , Z , … ) \begin{array}{l} x=f(X, Y, Z, \ldots) \\ y=g(X, Y, Z, \ldots) \\ z=h(X, Y, Z, \ldots) \end{array} x=f(X,Y,Z,…)y=g(X,Y,Z,…)z=h(X,Y,Z,…)
变量 x、y 和 z 是空间坐标系中网格点的坐标。函数 f、g 和 h 是任意的,它们的自变量通常是材料坐标系 (X, Y, Z) 中的点坐标。其意义:空间坐标系中某点与材料坐标系中某点形成映射,在计算时,空间中该点的属性即为材料坐标中对应点的属性,从而实现材料在空间中的“移动或变形”。
(注:在 结果 中查看网格时,应选择 空间坐标系 框架)-
空间中物理的计算离不开一个作为标准的参考系(坐标系),注意他们的意义和原理
- 欧拉坐标(Euler) :称空间坐标,坐标固定在空间中。如果对于质点的运动来说,是研究不同质点经过空间一定点的状态
- 拉格朗日坐标(Lagrangian) :称材料坐标,坐标固定在材料上。如果对于质点的运动来说,是跟随质点研究质点的运动状态
- 两中坐标都是物理上为了描述物质运动而建立的,与数学上的笛卡尔坐标(空间直角坐标)意义不同
由于其自身特点,
欧拉坐标多用于流体运动的研究,它的网格在空间中固定不变,质点可以在网格间流动,计算精度不变,但是很难捕捉物质的边界
拉格朗日坐标多用于固体运动的研究,它的网格与固体一体(固定在材料上),网格被固定在质点上,能过十分精确的描述边界,但当固体变形过大时会使网格严重畸形,不利于计算
-
由上面的两种坐标的特点,我们知道:
- 研究固体运动
- 当使用固体力学接口时,其计算采用拉格朗日坐标,网格已经贴覆在固体上,能够随它变形而变形,已经是**“变形网格”**了
- 当没有使用固体力学接口时,需要使用欧拉坐标 + 变形网格
- 研究流体运动,使用欧拉坐标,网格在空间中固定,然而流体区域(流体所在空间)可能会发生变化,此时原来的网格不能满足当前的流体计算,需要刷新网格跟随流体区域,这时就需要使用变形网格啦
例如,研究放气时气球内的气体流动 - 研究流固耦合时,流体与固体之间发生作用,固体变形的同时流体所在空间也在变,所以固体内使用拉格朗日坐标,流体区域要使用欧拉坐标 + 变形网格
例如,研究放气时气球表面张力与气体流动的速度,研究导体受电磁力变形时空气中的磁场!(一开始我还以为不需要动网格呢,天真) - 研究流流耦合,还用说吗,当然是欧拉坐标 + 变形网格
- 注意:
- 某一区域的点的属性被另一区域点的属性替代,等效了材料的移动或变形
- 移动的是网格的节点
- 只有网格形状改变,网格的排布结构与数量不变,可能出现网格单元畸形、反转情况,导致收敛性变差
可启用 自动重新剖分网格 功能,在每次节点移动后判断是否重新剖分网格,避免出现前面的问题 - 指定区域的网格变换方式(变换函数)是一致的,即移动效果是一致的。故主动指定网格移动只能用于刚体部件的分析区域(移动区域内部的模型在移动过程中不发生变形,平移)
- 可通过 自由变形 实现某区域自动根据其他变形的区域或变形的条件发生变形(随主动变形或变形条件从动)。指定了 自由变形 的区域,会随发生变化的网格区域自动变形
- 通过 指定移动网格 等接口可以设置表达式指定网格中主动移动或变形的行为
- 表达式可以来自自定义函数变量、其他物理场变量(如,位移场变量)、微分方程
- 固体力学接口 会改变几何形状(固体对象区域),属于内置的主动变化
- 与 指定移动网格 等接口功能会发生冲突,二者定义其一即可
- 通过 指定移动网格 等接口可以设置表达式指定网格中主动移动或变形的行为
- 研究固体运动
-
变形网格的设置
参考:流固耦合(MEMS模块的案例:fluid_structure_interaction);electrodynamic_levitation_device;power_switch
- 固定网格/边界:指定不变动的网格或边界
- 变形域/自由变形:指定自由变形的区域
- 平滑处理 - 网格平滑类型:
- Laplace(拉普拉斯):常用
- winslow:常用
- 超弹性:网格变形较大的时候
- yeho:未知
- 平滑处理 - 网格平滑类型:
- 指定(网格)位移/变形/速度:给选择的部分网格指定位移/变形/速度等表达式
- 对称/辊支撑:指定网格贴紧某一边界不能离开(但可以在边界上自由滑动)
-
设置变形网格的技巧
- 移动网格(动网格) 接口可用于所有或部分几何相对于绝对参考坐标系移动的模型。
-
自动重新剖分网格:
-
启用功能:在 研究 - 步骤(瞬态) - 研究拓展 中找到并勾选 自动重新剖分网格
-
设置功能:在 研究 -> 求解器配置 -> 解 -> 瞬态求解器 -> 自动重新剖分网格 节点中
- 用于重新划分网格条件
- 条件类型:指定重新划分网格的依据
- 网格质量:网格的质量低于阈值则重新划分网格;以网格质量为判据,求解精度较高
- 失真:超出失真范围则重新划分网格;更能容忍网格质量低劣,较易求解
- 常规:指定重新划分网格的条件表达式
- 条件表达式:对应每种条件类型,设置相应的表达式,以规定重新划分的依据
- 条件类型:指定重新划分网格的依据
- 重新划分网格:控制初始时网格划分的步长和使用的方法(当重新划分网格条件相对苛刻时使用)
- 用于重新划分网格条件
-
简单案例:electrodynamic_levitation_device案例思路(electromagnetic_plunger_moving_mesh、power_switch案例亦是同样思路,两者都是磁场+刚体运动)
- 背景:铝盘与2个线圈同心圆放置,铝盘位于线圈上方,线圈通入交流电后,铝盘在感应磁场与重力场的作用下悬浮、稳定的过程
- 思路:利用 磁场 接口计算出铝盘所受洛伦兹力,通过 全局方程 使用洛伦兹力得到位移,并提供给 动网格,以指定特定网格的移动,实现被指定的模型部件的运动效果
-