感悟
随时补充学习中的感悟,放在开头是为了后来者在学习过程中有所参考。
- 掌握基本操作,学会寻找资料
- 先看基础视频,然后找专题视频,再去学习案例(以官方视频优先、案例配有相关的文件)
- 学习案例会涉及到其他领域的专业知识,无需在意,不求甚解
- 主要学习本专业的建模,要及时补充专业知识、了解相关知识(指一些术语、名词)
- 遇到问题难以理解的,且暂时没能解决,先记住,以后遇到再深究
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个线圈同心圆放置,铝盘位于线圈上方,线圈通入交流电后,铝盘在感应磁场与重力场的作用下悬浮、稳定的过程
- 思路:利用 磁场 接口计算出铝盘所受洛伦兹力,通过 全局方程 使用洛伦兹力得到位移,并提供给 动网格,以指定特定网格的移动,实现被指定的模型部件的运动效果
-
实现多物理场耦合
参考:构建磁流体动力学多物理场模型
文章主要介绍了手动耦合多物理场的工作流程,以及提到了几个相关问题(技术库条目)
-
建立模型
- 控制方程
- 边界条件
- 各区域的模型选择
-
耦合
- 软件自动添加的多物理场接口(自带的)
- 手动的在需要耦合的节点中添加其他物理场的变量或其组成的表达式运算(手动的)
- 这时候就需要知道物理场内置的方程或变量的表达式,查看方法在用户未定义(内置)的变量中
- 将**关于内置变量的表达式(根据控制方程)**输入到另一物理场接口(一般是另一物理场的变量)中
如图上,流体 中的 体积力(volume force) 表达式是 电磁场 中的 电流密度(mef.J) 和 磁感应强度(磁通密度,mef.B) 构成的;
如此,就将两种场的物理量联系起来,实现物理场耦合
- 耦合方式:
- 松散耦合:又称单向耦合,只考虑到一物理场对另一物理场单向的影响。方式最简单,精度最差,最易实现。
- 顺序耦合:在有限个迭代中,顺序地更新各物理场的量,并传递给其他物理场用以进一步更新。方式较复杂,精度中等,较易实现。
- 直接耦合:直接将多物理场的方程联立,进行求解。方式最复杂,精度最高,最难实现。
-
网格划分 看笔记网格划分
-
求解 看笔记研究
研究(study)
通过 研究 设置求解方式和方法
参考:
理解“全耦合”与“分离”求解方法,及直接与迭代线性求解器之间的区别
-
研究 - 步骤 :稳态 / 暂态 / 频域 :设置求解中的有关参数
- 因变量值 :查看、选择求解变量
- 网格选择 :查看、选择网格设置
- 研究设置 :设置求解时因变量的输入值(定值)。输入值可以是一系列值(以每个值为输入分别计算结果)
- 研究拓展 :设置仿真中变化的输入量(变值,曲线或函数)。例如,时间、随时间变化的量等
- 研究中有多种便捷的扫描方式,如参数化与辅助扫描
- 研究较后的步骤可调用之前步骤的解;
对于复杂、难以收敛的模型,可用稳态步骤的解作为瞬态计算的初始值
-
全耦合 与 分离 (在 研究 - 求解器配置 - 稳态求解器 / 瞬态求解器 下找到)
- 全耦合 :将多物理场的控制方程联立起来,组成一个大的方程组,然后进行求解
其精度高,收敛性好,迭代次数较少,但是每次迭代都需要大量的计算 - 分离 :将多物理场耦合分为多个分离步骤,每个步骤中联立所需公式求解一部分未知量,按顺序分步进行求解
其精度较低,收敛性较差,迭代次数较多,但是每个步骤所需计算量很小 - 一般,软件对于 3 维模型默认使用 分离 ,对于 2 维模型默认使用 全耦合
- 全耦合 :将多物理场的控制方程联立起来,组成一个大的方程组,然后进行求解
-
直接求解器 与 迭代求解器 (在 全耦合 / 分离步骤 中的常规 - 线性求解器)
- 直接求解器 :最稳健、最通用,但计算成本大,且随问题规模增大迅速增大
- 迭代求解器 :鲁棒性差,对于病态问题收敛性差,但是计算成本低,且随规模增大增长较缓
- 两者都是求解线性方程的算法
- 可在求解器中手动选择使用哪种求解器
- 求解过程中对于不同类型的方程(组)使用相应的求解器,系统在求解器之间来回切换
-
求解器设置(常用的三处设置)
- 相对容差:计算收敛的误差条件
- 最大步长:规定步长的最大值;求解器自适应改变步长(但只保留指定步长处的结果)*
- 误差估计:根据求解结果,估算误差,改变计算步长的方式。
- 排除代数:在直接求解代数方程中,因其几乎无误差,可不进行误差估计,以减少计算量
-
求解问题指导
后处理
通过 后处理 对研究进行显示、处理、对比、分析、评估、验证、再优化等
参考:
如何执行网格细化研究、执行网格细化研究:如何找到最佳的网格划分,得到满意的解的精确度
-
解集的管理
- 计算后,解集的源在 研究 -> 求解器配置 节点中
- 通过 创建解副本 命令可以创建原始解集的副本,原始解集被(重新计算)覆盖后,该副本依然保留原始的解
- 组合解:将选定的2个解集组合在一起,组合的方式有 求和,串联,移除解,等 ,产生新的解集
- 解集的调用在 结果 -> 数据集 节点中
- 数据集 调用研究计算后的解集,并且提供丰富的数据处理功能,但并不产生新解集
- 绘图组、派生值、导出,等 均是调用数据集中的经过处理的数据结果
- 计算后,解集的源在 研究 -> 求解器配置 节点中
-
结果 : 显示解算结果,整理解集数据
- 数据集 :调用解算的数据
- 更多数据集:可以对所有解集数据进行一些操作
- 合并: 对将两个数据集进行差集、总和、商、积和自定义(常规)的操作,其结果为新的数据集
- 特定点、层、边界、网格单元上的数据集合
- 生成副本/复制:复制一个相同的数据集,具有和源数据集相同的解集调用
- 更多数据集:可以对所有解集数据进行一些操作
- 视图 :设置结果视图
- 派生值 :使用当前解,计算更多可以得到的量
- 绘图组 与 绘图 :在图中绘制出解。绘图组下可以包含多个绘图,各子绘图可以同时显示,独立或统一子图样式(继承样式),添加 标注
- 动画:产生一系列 绘图 并播放
- 数据集 :调用解算的数据
-
网格细化研究:寻找最佳网格,提高解的精度
-
自适应网格 细化(研究 - 步骤 中的 自适应和误差估计)
软件将基于初始网格计算解,并估计误差较大的位置。然后,将在这些区域使用较细化单元对几何结构重新划分网格,并基于新的网格重新求解模型。- 设置:自适应网格细化的级别、细化网格上创建的单元数、估计误差的度量标准、网格自适应的方法
- 稳态 研究中, 自适应网格细化的结果是生成一组不同的网格(可在 网格 中查看),以及一个 数据集,其中合并了所有不同级别的网格细化的结果
- 瞬态 研究中, 自适应网格细化的结果是生成了对应于不同时间的多个网格(网格 中查看),以及一个 数据集,并将其结果存储在这个数据集中
-
手动定义网格细化
手动定义网格是在 网格 序列中完成的。您可以对网格进行更准确的控制,这需要较深的经验积累和模型理解,但能减少计算成本 -
使用 物理场控制网格 设置:使用软件默认的网格划分,方便快捷
- 每个 物理场 的默认网格划分不同
- 在 网格 下查看不同网格,还可以设置其单元
- 在 研究 - 步骤 中可选择不同的网格进行研究,不同 研究 得出的结果在不同的 数据集
-
增加单元阶次:网格划分 条目5
-
AC / DC 模块
参考:
官方培训视频:低频电磁场部分及讲义
AC / DC 模块 18 分钟入门
官方 AC / DC 指导手册
研究 :模块中的一般研究类型
- 稳态(静态、直流) :场不随时间变化 —— ∂ t E = 0 \partial_t \bold E = 0 ∂tE=0, ∂ t B = 0 \partial_t \bold B = 0 ∂tB=0
- 频域(交流) :场随时间正弦变化 —— E = E 0 sin ( ω t + ϕ ) \bold E = E_0 \sin(\omega t + \phi) E=E0sin(ωt+ϕ), B = B 0 sin ( ω t + ϕ ) \bold B = B_0 \sin(\omega t + \phi) B=B0sin(ωt+ϕ)
- 瞬态 : 场随时间任意变化 —— E ( t ) \bold E(t) E(t), B ( t ) \bold B(t) B(t)
物理场接口(选择):
电路 :简化为电路模型分析时,在 电路 中添加电路模型
-
电路图是通过添加各元器件(支路)并确定其相连 节点 而给定的
-
节点连接 :与元器件直接相连的节点,确定器件所在支路(p 正, n 负)
-
外部 I vs. U :在电路中(指定节点间)接入 外部设备 ,将其看做一个电压源[^等效],计算后,将得到流过该电压源的电流,提供给 外部设备(外物理场模型)
- *外部设备 是一个多物理场耦合接口
-
外部设备 :其他物理场中建立的元器件模型(如磁场中的 线圈)
-
外部设备 串入支路后,假设元器件两端恒压(容性器件),电路计算便可得到其两端的电压与电流,并提供电流给其他物理场使用,作为其他物理场中的电流源(电流激励)的值
[^等效]:根据电路理论,一个端口的网络可以看做是一个电压源或电流源
-
外部 U vs. I :在电路中接入 外部设备 ,将其看做一个电流源,计算后,将得到该电流源的电压,提供给 外部设备(外物理场模型)
- 外部设备* 串入支路后,假设元器件两端恒流(感性器件),电路计算便可得到其两端的电压与电流,
并提供电压给其他物理场使用,作为其他物理场中的电压源(电压激励)的值
- 外部设备* 串入支路后,假设元器件两端恒流(感性器件),电路计算便可得到其两端的电压与电流,
-
外部 I 终端 :在电路中(指定节点与地之间)接入一个外部(外物理场)终端设备(一端子已接地的器件)
- 终端设备 是一个多物理场耦合接口
- 设备的一端子已经接地,只需选择一个 节点 为其提供电压,终端设备被看做一个电压源
- 终端设备 串入接地支路后,假设元器件两端恒压(容性器件),电路计算便可得到其两端的电压与电流:
并提供电流给其他物理场使用,作为其他物理场中的电流源(电流激励)的值 - 相当于 节点连接 中有一个节点为地时的 外部 I vs. U,但是区别在于:
在与 感应 或 电磁波传播 等此类物理场耦合时,外部 I 终端 不适用,而 外部 I vs. U 可以,
因为那时的电压必须定义为两点之间的线积分,而不是节点电势
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z7aFkCOM-1622015891047)(D:\documents\COMSOLnotes\电路耦合接口.png)]
磁场:计算线圈、导体和磁体内部及周围的磁场分布和感应电流分布
快速认识磁场
- 求解类型:稳态、瞬态、频域
- 求解变量:磁势 A \boldsymbol A A , A = ∇ × B \boldsymbol A = \nabla \times \boldsymbol B A=∇×B
- 边界条件:笔记部分的理解磁场边界条件
- 磁场 接口的主要难点在于指定某一区域的外部电流密度。可以通过一些特定的域条件来实现。
- 对称边界条件:磁屏蔽 与 完美磁导体
- 磁标势场度规修复:在数学上,使计算结果具有唯一性和稳定性,会添加一个额外的磁势
A
0
\boldsymbol A_0
A0 (为任意常数KaTeX parse error: Undefined control sequence: \part at position 23: …mbol A_0=\frac{\̲p̲a̲r̲t̲{\psi}}{\part{t…)
- 面外矢量:当磁势 A \boldsymbol A A 在模型的面外(垂直于面,如,研究通电导线截面的磁场,磁势 A \boldsymbol A A 与电流密度 J \boldsymbol J J 同向,所以 A \boldsymbol A A 垂直于截面)。默认设置
- 面内矢量:当磁势 A \boldsymbol A A 在模型面内(如,通电导体片所在平面)。一般需要设置。
- 三分量矢量:磁势 A \boldsymbol A A 以x,y,z方向的三分量形式进行
- 研究稳态或磁势
A
\boldsymbol A
A 在面外情况,不需要设置度规修复;
磁场 的频域或瞬态问题本身已包含度规修复(因不求解电势 V V V);
磁场和电场 的稳态可加或不加,频域必须添加度规修复;
常用于三维模型,提高收敛性
- 矢量磁势度规修复:在磁矢势求解中,增加稳定性与唯一性
- 选择求解矢量磁势的区域
- 当求解磁矢势(安培定律)区域的边界已有其他边界条件,无法直接添加 磁绝缘 条件时:
开启 模型开发器 - 显示 - 高级物理场接口选项,在 高级设置中勾选 确保值受约束,即确保磁绝缘约束
- 线圈 : 定义线圈,作为施加磁场的源
注:“线圈”的意义在于不仅计算其电流、电压,还能够计算电感与电容;分析导体中的感应涡流分布;其几何形状不仅限于“圈”,任何导体都能称为线圈,线圈即导体;- 均匀多匝 :忽略趋肤效应,导体横截面上电流密度均匀分布
- 均匀多匝线圈是“多束导线绞合而成的线圈”(线圈组 复选框表示是否存在均匀多匝线圈组的组合)
- 使用域来代替具体的线圈绕组:
- 通过 线圈类型 描述其线圈的几何特征,只需建立线圈整体的模型而不用每根导线都画出来
- 匝数越多,导线越细(密),结果越精确
- 线圈域表示线圈导线和线圈之间的填充(如,空气、铁芯、绝缘层)
- 区域属性:
- 区域材料属性用于指定电位移和磁通密度相关的本构关系,包括线圈和线圈之间填充
- 线圈导线电导率在 均匀多匝 - 线圈导线电导率 中设置;线圈之间的填充材料电导率为零
- 线圈导线截面积在 均匀多匝 - 线圈导线截面积 中设置
- 线圈类型 :
- 线性 :平行直导线束,两端面与外部边界接触(电流方向为直线)
- 圆形 :圆形缠绕的导线束(电流方向为环状)
- 数值 :任意几何形状的线圈(需要添加 线圈几何分析 )
- 用户定义:任意几何形状的线圈(电流)(需要添加 线圈几何分析 )
- 必须在研究 中添加 线圈几何分析 为第一步骤:
可以使用与要求参数性质相同的简单(容易计算)参数进行分析,得到电流方向变量;
在另一个 研究 - 步骤 - 因变量值 中,在 不求解的变量值 中调用其解(电流方向),使模型计算更快速 - 匝数 :输入线圈的匝数
- 线圈电流 :每匝线圈(每束导线)的电流 ( 线 圈 电 流 × 匝 数 = 导 体 横 截 面 流 过 的 电 流 线圈电流 \times 匝数 = 导体横截面流过的电流 线圈电流×匝数=导体横截面流过的电流 )
- 线圈导体界面积 :指每根导线的截面积
- 单线圈 :考虑趋肤效应,可计算电流密度分布情况(注意在导体内建立恰当的边界层网格)
- 线圈组 :当有多个单线圈模型时,不勾选,即各单线圈独立;勾选,即各单线圈串联
- 几个单独的线圈可以通过 几何分析 - 连接的边界 设置相连,形成线圈组
- 线圈电流 :指流过各单线圈的总电流之和或串联线圈组的电流
- 可以使用 集总端口 设置导体线圈:
- 集总端口 是连接两部分电路的端口,而线圈是一段导体,故可将线圈导体与外边界(导体边界)相连的一小部分区域设置为 集总端口
- 利用 集总端口,可以定义线圈导体受到的激励,计算端口一侧(导体区域)的电气量
- 三维的单匝线圈模型,必须在研究 中添加 线圈几何分析 为第一步骤。
使模型计算更快速的方法:-
使用与要求参数性质相同的简单(容易计算)参数进行分析,得到电流方向变量;
-
然后,在另一个 研究 - 步骤 - 因变量值 中,在 不求解的变量值 中调用其解(电流方向),使模型计算更快速
-
- 线圈组 :当有多个单线圈模型时,不勾选,即各单线圈独立;勾选,即各单线圈串联
- 线圈激励设置:
- 闭合线圈模型
- 在 线圈几何 或 几何分析 下的 输入 添加激励,选取导体内边界或截面,指定电流方向
- 有时需要几何构造出导体内边界,应选取几何中线(平均值)
- 断开线圈模型
- 在 线圈几何 或 几何分析 下的 输入 输出 分别选择导体几何端面
- 线圈模型两末端面均在求解域边界,其截面自动变成磁绝缘边界,形成完整回路
(磁绝缘边界:无磁损耗或理想导体边界),此时看作闭合模型
- 部分线圈模型(对称模型)
- 需在对称切面上指定合理的边界条件(完美磁导体或磁绝缘)
- 在 线圈几何 或 几何分析 中指定线圈长度和面积倍增因子
- 线圈长度倍增因子 :对称后线圈长度变化倍数(导线长度)
- 线圈面积倍增因子 :对称后线圈面积变化倍数(线圈截面积)
- 磁场 - 分量 :设置磁势 A \boldsymbol A A 的方向,确定求解的分量
- 磁势 A \boldsymbol A A 与电流密度 J \boldsymbol J J 同向,与磁场强度 H \boldsymbol H H 和磁通密度 B \boldsymbol B B 垂直
- 闭合线圈模型
- 均匀多匝 :忽略趋肤效应,导体横截面上电流密度均匀分布
- 案例:
- 外部电流密度产生磁场:12437
- 亥姆霍兹线圈原理:15
- 单线圈电磁感应:148
- 边电流的使用:1264
- 精确计算涡流,边界层网格:12831;阻抗边界条件:12835
- inductor_in_circuit(案例库 - 电感元件和线圈)
- 线圈之间的互感和感应电流:12687(案例库 - 电感元件和线圈 - mutual_inductance_multiturn)
- 电感器(螺旋绕组)的二维轴对称模型:46611
- 多匝线圈在不对称的开口铝板上的感应电流:13777
- “断开”模型,集总端口计算线圈:10299
- 电路+磁场,铁芯单相变压器:5700 (研究2中应使用研究1的线圈几何分析结果,方可成功计算)
- 电路中电容器的瞬态建模:capacitor_transient
- 电磁开关:power_switch(案例库 - 电动机和执行器)
- 磁悬浮装置:electrodynamic_levitation_device(案例库 - 验证示例)
AC\DC线圈建模思路:
- 先建立单一物理场的简单模型:线圈或导体可用 边电流 初步设置(不关心线圈或导体时)
- 磁场建模原则:电流闭环;导体本身闭环,或通过边界条件闭环
- 磁场建模需要空气域,以计算空间与边界的磁场
- 观察结果和变化趋势,反复修改、完善模型
- 尝试多物理场耦合模型
结构力学模块
力学体系
-
与体系对应的相应接口
- 理论力学(刚体):研究物体受力运动,不分析物体内部情况(初、高中力学理论模型)
- 材料力学(杆件):梁、桁架分析
- 结构力学(杆系):梁、桁架分析
- 弹性力学(块体):研究物体弹性形变、行为和应力分布等
- 板壳理论(板壳):板、壳、膜分析
- 弹塑性力学(非线性结构材料模块):受力会发生弹性形变,且可能产生永久变形,甚至断裂
- 疲劳力学(疲劳模块)
-
理论公式
-
平衡微分方程
-
虎克(Hooke)定律
学胡克定律.png" alt=“结构力学胡克定律” style=“zoom:80%;” />- 应力 S S S 是未知量;其他都是已知量(需要设置的量)
-
应变与位移关系
-
模型建立
- 通过添加各种边界(还有域)条件,指定约束、位移或负载,计算结果
- 对于几何非线性(大变形或有限旋转),在计算时需要在 研究 - 步骤 中勾选 包含几何非线性 复选框,否则是结果错误
- 几何非线性:大的位移(相对与小位移)或大的旋转(相对于小旋转)
- 小应变塑性:
- 初始设置
- 求解步骤中 包含几何非线性 可以选择性勾选
- 大应变塑性:
- 一般需要应变 ϵ e f f > 6 − 10 % \epsilon_{eff} > 6-10\% ϵeff>6−10%
- 求解步骤中勾选 包含几何非线性
- 小应变塑性:
- 不勾选:使用适用于小位移或小旋转的经过简化的公式
勾选:使用标准的计算公式
- 几何非线性:大的位移(相对与小位移)或大的旋转(相对于小旋转)
金属材料的力学模型
-
金属材料是典型的弹塑性材料(线弹性+塑性):
- 参考结构力学模块线上培训第三部分(案例13,空降35:56)
- 弹塑性曲线
- 应力-应变曲线:加载应力到达初始屈服应力之前,金属表现为弹性;之后,表现为弹塑性;卸载应力后,金属变形不能完全还原;一般由测量得出
- 初始屈服应力:金属出现塑性的瞬间,所受到的应力(上图中,屈服极限处的值)
- 硬化:金属进入到塑性阶段,随应变增加表现出更强抗变形能力的现象;
图中弹塑性部分的曲线(上图中,红色字标识)显示,随应变增大,所需的应力也增大- 总有效应变:来自于非线性形变(塑性分量)与线性形变(线弹性分量)2个部分的贡献
ϵ e f f = ϵ p e + σ e f f E \epsilon_{eff}=\epsilon_{pe}+\frac{\sigma_{eff}}{E} ϵeff=ϵpe+Eσeff- ϵ p e \epsilon_{pe} ϵpe:有效塑性应变,即塑性部分产生的应变
- σ e f f \sigma_{eff} σeff:有效应力; E E E:杨氏模量;即弹性部分产生的应变
- 硬化函数(应力):描述塑性部分(不包括线弹性部分)的应力-应变曲线的函数
σ h a r d = σ exp ( ε e f f ) − σ y s = σ exp ( ε p e + σ e f f E ) − σ y s \sigma_{h a r d}=\sigma_{\exp }\left(\varepsilon_{e f f}\right)-\sigma_{y s}=\sigma_{\exp }\left(\varepsilon_{p e}+\frac{\sigma_{e f f}}{E}\right)-\sigma_{y s} σhard=σexp(εeff)−σys=σexp(εpe+Eσeff)−σys- σ exp \sigma_{\exp} σexp:试验测得的应力-应变曲线的拟合函数(弹性+塑性的应力,整体的应力)
- σ y s \sigma_{y s} σys:屈服应力(弹性部分的应力)
- 总有效应变:来自于非线性形变(塑性分量)与线性形变(线弹性分量)2个部分的贡献
-
模型设置
- 定义函数:
- 描述金属材料应力应变曲线的函数:
- 应力应变曲线的 插值函数:对试验得到的数据进行插值,产生函数
sigma_exp()
- 应力应变曲线的 解析函数:使用形如
σ
=
A
ϵ
B
\sigma = A \epsilon ^B
σ=AϵB 的函数去拟合应力应变曲线
- σ \sigma σ是应力(Pa), ϵ \epsilon ϵ是应变(1),通过拟合方法确定最佳的参数 A A A、 B B B
- 使用 解析函数 产生函数
sigma_exp()
,表达式为A*x^B
(x
是软件默认的自变量符号)
- 注意事项(亲测后的个人理解):
- 硬化函数的表达式由应力应变曲线和初始屈服强度组成,用来描述塑性部分的变形
- 软件先计算线弹性的应力应变,当应力到达屈服应力时才开始调用硬化函数
- 设材料受到屈服应力
σ
y
s
\sigma_{ys}
σys时的应变为
ϵ
y
s
\epsilon_{ys}
ϵys,则一般来说,函数自变量区间为
[
ϵ
y
s
,
1
]
[\epsilon_{ys},1]
[ϵys,1]
- 硬化函数自变量范围可以更宽,但计算中实际有效的部分在 ϵ ≥ ϵ y s \epsilon \geq \epsilon_{ys} ϵ≥ϵys 的区间
- 硬化函数在 ϵ ≥ ϵ y s \epsilon \geq \epsilon_{ys} ϵ≥ϵys区间内的值不能低于 σ y s \sigma_{ys} σys,否则将出现“负应力”错误
- 应力应变曲线的 插值函数:对试验得到的数据进行插值,产生函数
- 硬化函数:令变量 = 硬化函数表达式,
sigma_hard = sigma_exp(solid.epe+solid.mises/solid.E)-solid.sigmags
,调用变量即可(当然也可直接使用表达式) - 内置波形函数:如三角波(锯齿波)、正弦波等作为载荷施加的控制函数
- 描述金属材料应力应变曲线的函数:
- 在 线弹性材料 下添加 塑性 节点
- 塑性模型:
- 小应变塑性:
- 初始设置
- 求解步骤中 包含几何非线性 可以选择性勾选
- 大应变塑性:
- 一般需要应变 ϵ e f f > 6 − 10 % \epsilon_{eff} > 6-10\% ϵeff>6−10%
- 求解步骤中勾选 包含几何非线性
- 小应变塑性:
- 屈服函数 F :
- von Mises 应力:指定初始屈服应力(常用)
- Tresca 应力:指定初始屈服应力
- Hill 正交塑性:指定初始拉伸和剪切应力屈服应力或 Hill 系数
- 用户定义:
- 指定屈服函数
- 指定塑性势
- 各项同性硬化模型:指定屈服应力随塑性应变的变化曲线
- 理想塑性:一旦超出初始屈服应力,屈服应力保持不变,为常数(初始屈服应力的值);
整个区域瞬间变为只有塑性,没有硬化现象 - 各项同性硬化:各方向属性相同
- 用户定义:指定硬化函数(常用)
- 理想塑性:一旦超出初始屈服应力,屈服应力保持不变,为常数(初始屈服应力的值);
- 详见用户手册:Nonlinear Structural Materials Module User’s Guide
- 塑性模型:
- 定义函数:
注意
在结构力学中进行接触建模时,常会出现计算不收敛的问题非线性求解器不收敛。时间:0.0007741125达到最大迭代数。最后一个时间步不收敛。
的类似错误。
这种情况一般是求解器设置的问题,解决方法:
- 研究 - 步骤1:瞬态 - 求解器配置 - 解 - 瞬态求解器 设置中找到 步进时间 一栏
- 方法:改为 后向差分公式
- 求解器采用的步长:选择 精确
- 解 - 因变量 中对因变量做适当的 缩放 (其作用类似与归一化,使求解变量的数值差较小,易于迭代求解)
- 应力的单位为
[Pa]
,而常见的应力数值很大,往往使用[GPa]
或[MPa]
作单位。所以要将其数值缩小,或将其他变量的值相应放大 - 接触压力(Pa)与位移(cm/m)的数量级往往差 10 个单位
- 以下几种情况,调节缩放因子很重要:
- 部件初始时没有接触(接触碰撞模型中)
- 位移和几何尺寸相当或更大
- 模型包含摩擦
- 缩放栏中的值应为该变量出现的最大值(预估)
- 应力的单位为
结构接触(structural contact)
-
边界对的创建与设置界面:
- 创建对
- 几何 - 形成装配体 - 创建对:默认勾选
- 定义 - 对:手动定义
- 对设置:物理场 - 对 节点
- 创建对
-
对类型:
- 接触对:两表面之间可以远离、贴紧,但不能穿透,每个表面包含区域相对独立
- 一致对:两表面之间贴紧,经过表面的场或量具有连续性
-
源 和 目标 的选取原则:
- 源 一般选择刚度(硬度)大,曲率大的物体(刚体的硬度无穷大、直线的曲率为零)
- 目标 一般选择刚度小,曲率小的物体
- 选择优先级:刚度 > 曲率
- 目标边界需要更密的网格,建议:目标的网格单元大小为源的一半(目标比源网格加密一倍)
-
接触 中的 方法 选择:
- 接触方法 用来计算接触面的作用力
- 罚函数(penalty function)(补偿函数)
- 通过在接触面间设置一个**“弹簧”,来模拟接触效果:
接触刚度 * 接触位移 = 法向接触力
是通过 接触刚度 在 接触力 与接触面间的 穿透值(接触位移) 间建立力与位移的线性关系** - 接触面会出现重叠,即两物体会在接触面相互穿透(虚假接触)
- 虚假接触,解算精度较低
- 在原来的计算中加入一个线性方程,无需特定求解器,计算较易
- 收敛较快,较稳定(在含塑性的接触模型中优先使用)
- 推荐在多物理场耦合接触中使用,除非,有很强的接触压力敏感度
- 若使用 粘附 / 剥离 ,必须使用 罚函数法
- 通过在接触面间设置一个**“弹簧”,来模拟接触效果:
- 增广拉格朗日法(extended Lagrangian)
- 在 拉格朗日法(Lagrangian) 的基础上结合了 罚,结合给定的 罚因子 进行求解:
单纯的 拉格朗日法 可直接实现 无穿透 的真实接触,但是难以求解,且不适用于一些情况;
为了改善,结合 罚 ,人为给定 最大允许拉力 和 最大允许穿透值 ,迭代求解 - 真实接触,解算精度较高
- 增加了一个独立自由度,需要专门的分离式求解器计算
- 计算速度较慢,稳定性较弱
- 收敛性对 罚因子 敏感,需要合适对于 罚因子 的选取(详见下方“建议”)
- 在 拉格朗日法(Lagrangian) 的基础上结合了 罚,结合给定的 罚因子 进行求解:
-
接触设定:定义 中定义接触对,然后在 物理场 - 接触 中使用并设置
- 触发削减 :使用条件语句放弃一些无望的迭代
- 偏移和调整 :在不改变几何的情况下创建接触面的间隙和重叠(实际情况中的变形和偏移)
-
摩擦 特征:在 物理场 - 接触 - 摩擦 中设置
- 静库伦摩擦 :静摩擦
- 指数型动态摩擦 :动摩擦
- 经典案例:滑动楔子
- 建议:先使用 无摩擦 观察收敛结果,若收敛性强,再改为 有摩擦
-
粘附 / 剥离 特征:在 物理场 - 接触 - 粘附 中 设置
- 粘附 :在一些情况下,接触表面会产生粘连
- 激活准则 : 选择激活粘附特征的判断依据(压力大小 / 间隙大小 / 自定义 / 始终激活)
- 剥离:原本粘连的物体剥离,与粘附过程相反
- 各种强度因子 :当达到这些强度因子的值时,判定为剥离(拉力足够大时,物体分离)
- 描述沿预定路径(粘附面)剥离的过程
- 经典案例:粘连区域剥离
- 粘附 :在一些情况下,接触表面会产生粘连
-
存储能量变量 :可以储存接触过程中的各部分能量,包括 滚动摩擦消耗的能量 与 刚体中的能量 (物理场 - 接触 - 高级 下)
- 案例:瞬态滚动接触
-
求解器设置:在 研究 - 求解器配置 中
- 在 增广拉格朗日法 中,使用 分离式求解器,位移在接触压力之外单独求解(解 - 稳态求解器 - 分离)
- 缩放比例 :进行变量缩放,有利于计算速度和结果收敛——如果有合适的值应该替换掉默认设定(各因变量中)
-
建议:
- 接触面先使用 无摩擦 观察收敛结果,再决定是否使用 有摩擦
- 力控制问题比位移控制问题难收敛 —— 使用连续参数逐步加载力和位移(给定的力和位移逐步加到预期值)
- 充分约束结构,不充分的约束(一些部分在空间中是自由的)会造成难收敛
- 使用位移控制
- 增加“弹簧”(指定位移?),然后随着参数加载逐渐移除
- 对于大型3D模型,接触压力与位移的求解,优先选择 线性函数 或 更小内存的解法
- 收敛问题:检查罚数参数
- 收敛慢:加大罚因子
- 开始几步就迭代失败:降低罚因子
- 部件一开始未接触时的初始接触压力设置:尽量与接触时是同一数量级,利于收敛
- 太低:第一步就会出现部件相互穿透
- 太高:结构一直不能接触
- 罚的方法,加设“弹簧”(边界载荷),完成虚拟接触,是很重要的方法!
为实现逐渐加载,可以定义加载函数,函数参数在 辅助扫描 (研究 )中定义为步进的序列
-
相关问题:
- 已知对 与 接触对 的区别:
- 接触对 适用于装配体接触表面有不连续的场(如压力场)
- 一致对 适用于装配体表面要求存在连续的场
- 流体参与的接触:
- 不能直接使用流固耦合,应按照 罚 的方式(思想),假设边界载荷(“弹簧”)来模拟真实接触
- 用虚拟的接触,避免流场拓扑变化导致的网络割裂
- 在磁场+结构力学的装配体模型中
- 一致对(装配之间的边界)两侧的域必须设为 磁标势 条件(磁通量守恒)
- 磁标势区域的外表面必须是单连通区域(不能有孔);需要添加 零标量磁势 参考点
- 一致对(装配之间的边界)上设置 连续性,以保证磁势与磁场连续;
开启 模型开发器 - 显示 中的 高级物理场接口选项,在 连续性 - 约束设置 中勾选 使用弱约束,以保证(磁)通量连续 - 一致对 中 源 和 目标 的网格剖分:
- 源 和 目标 应设置比周围更密的网格(装配边界两侧的网格加密)
- 目标 比 源 的网格更密
- 一致对(装配之间的边界)两侧的域必须设为 磁标势 条件(磁通量守恒)
- 已知对 与 接触对 的区别:
优化(optimization)
参考:优化电磁线圈电流的3种方法,是COMSOL官方微信推送的一期技术文章,来源于 COMSOL 博客,作者 Walter Frei,于是看了他的博文,是比较核心优质的文章
-
对特定场值进行优化
- 数学语言描述
- 明确问题,确定参数及范围,参数归一化
- 约束条件
- 写出总体目标函数或目标函数
- 添加 优化 接口
- 全局控制变量 :待优化参数的名称、初始值、上下限
- 积分目标(integral objective) : 设置 积分区域或边界 ,输入被积的 目标函数 ,和其他一些积分设置
- 研究 - 优化
-
优化求解器 :对于此类可以得到目标函数关于控制变量的 解析梯度 的算法模型,采用 SPNOPT 方法求解最为快速
-
优化容差(optimization tolerance) :设置解的最大误差界限,即误差允许范围
-
最大模型计算数(maximum number of objective evaluations) :求解器计算次数,即迭代次数
-
- 数学语言描述
-
通过场约束进行功率优化
-
数学语言描述(数学建模)
- 明确问题
- 量化:确定参数及范围
- 确定约束条件:参数约束条件(参数范围)与主要约束条件
- 目标函数:优化的目标
-
添加 优化 接口
- 全局控制变量 :待优化参数的名称、初始值、上下限
- 全局目标 :输入 目标函数
- 点总和不等约束 :
- 选择点 :选定一个固定点;多个约束点要分别在多个 点总和不等约束 中设置
- 约束 :输入该点处被约束量的参数(表达式),用于积分各点在该点处产生的约束量
- 界限 :在 界限 中输入上下界(这里的约束是 不等 式)
-
研究 - 优化
-
优化求解器 :对于此类可以得到目标函数关于控制变量的 解析梯度 的算法模型,采用 SPNOPT 方法求解最为快速
-
优化容差(optimization tolerance) :设置解的最大误差界限,即误差允许范围
-
最大模型计算数(maximum number of objective evaluations) :求解器计算次数,即迭代次数
-
-
-
通过场约束进行梯度优化(最小化)
- 数学语言描述(数学建模)
- 明确问题
- 量化:确定参数及范围
- 确定约束条件:参数约束条件(参数范围)与主要约束条件
- 目标函数:优化的目标
- 添加 优化 接口
- 全局控制变量 :待优化参数的名称、初始值、上下限
- 约束的设置:对于 等式约束 ,也可采取 上下界相等的不等约束 ,结果相同
- 点总和不等约束 :
- 选择点 :选定一个固定点;多个约束点要分别在多个 点总和不等约束 中设置
- 约束 :输入该点处被约束量的参数(表达式),用于积分各点在该点处产生的约束量
- 界限 :在 界限 中输入上下界(这里的约束是 不等 式)
- 积分目标(integral objective) : 设置 积分区域或边界 ,输入被积的 目标函数 ,和其他一些积分设置
- 研究 - 优化
- 优化求解器 :对于此类可以得到目标函数关于控制变量的 解析梯度 的算法模型,采用 SPNOPT 方法求解最为快速
- 优化容差(optimization tolerance) :设置解的最大误差界限,即误差允许范围
- 最大模型计算数(maximum number of objective evaluations) :求解器计算次数,即迭代次数
- 数学语言描述(数学建模)
遇到的问题
官网有教学视频、案例库、讲座、博客等学习资源。在大概看过一遍教学视频后,下载案例库中与专业相关的模型进行学习并再现。还是会存在许多问题,在这里记录下来,解决后将解决方法更新在问题后面。
对称模型
- 怎样在模型中添加对称?
-
旋转轴对称:在实体建模(组件)类型中选择 二维轴对称 或 一维轴对称 模型
-
一般对称(非旋转轴对称):
- 没有对称轴(或对称平面)的指定,而是直接建立对称部分的模型(如,1/4模型)
- 在对称轴(面)设置边界条件,描述场在对称轴(面)处的行为
- 在均匀多匝线圈的对称模型中,除设置边界条件外,还需要在 对称明细 中规定对称特征
- 在 结果 - 数据集 - 研究/解 的 更多数据集 创建 (一、二、三维)镜像 数据集,实现完整模型数据
- 在 镜像设置 中的高级:可以手动调整矢量的变换
- 在 镜像设置 中的高级 - 矢量变换:调整对称矢量的方向为 对称 或 反对称(对称后再相反)
广义投影(General Projection)
- 广义投影的意义与用法?
- 个人理解:
从 源映射 与 目标映射 的维数看,目标映射总比源映射少一维,这说明是将 体投影到面 或 面投影到线。
所以,源映射应该是定义被投影对象或域,目标映射是定义投影(成像)的面或线;
也可以说,源映射是定义被投影的点,目标映射是定义该点投到的‘位置’(少了一维后的位置)。
用户未定义(内置)的变量
在固体力学的模型中(冲压成形),材料属性里面使用了一个solid.epe
的变量,让人摸不着头脑,不知从何而来。
solid.epe
是什么变量?
- 是结构力学的一个内置变量,表示固体力学中材料受到的有效塑性应变
- 如何查看和应用此类变量?
-
找到啦!在如何实现用户自定义的多物理场耦合(知识库 条目1259)中提到:
为了手动实现相同的耦合,您需要了解想要实现的完整方程,以及变量在 COMSOL Multiphysics® 架构中的实现方式。首先,我们展开想要实现的完整方程;其次,我们需要知道 COMSOL Multiphysics® 架构内部调用的所有这些变量的名称。
并给出两种方法查看:
- 在模型开发器窗口的显示菜单下启用方程视图切换开关。随后,每个物理场特征下都会显示方程视图子部分,其中包含一个所有内部定义变量的列表。
- 转到结果 > 报告以生成完整报告,您可以右键单击“报告”来查看报告生成选项。 设置报告样式后,即可在生成的报告中查看模型中场的变量和方程。
看来第一个比较方便简单。
接触压力方法
在冲压成形中,板与冲头、压模、固定块接触,在 固体力学 - 接触 中确定其接触关系,并设置 接触压力方法 为“罚”。
- 接触压力方法有哪几个?分别适用于什么模型中?
- 罚函数法
- 增广拉格朗日法
- 具体请参考[结构接触的笔记](###结构接触(structural contact))
- 这个问题是我刚开始提出的,后来发现是学习不足(只看了基础视频就去做案例)导致的,应当先学习各物理场接口(官方线上培训视频对各物理场接口分别做了详细的介绍和演示)
线性静态问题
- 什么是线性静态问题?
- 线性:指模型控制方程为线性函数(一阶函数)
- 求解方法
- Newton-Raphson 法:牛顿-拉夫逊法
参数化扫描与辅助扫描
- 什么是参数化扫描?辅助扫描?有什么区别?
- 扫描:指对一系列数值进行相同操作或运算
- 往往将一系列数值表示为一个函数或表达式,这样可以用一个变量表示有序数列。
此时注意:变量需要提前声明、定义并赋初值;初值不会影响扫描,扫描时将会自动为其重新赋值
- 往往将一系列数值表示为一个函数或表达式,这样可以用一个变量表示有序数列。
- 参数化扫描 :对给定范围的一个或几个参数(变量)进行研究(模型解算),得出模型在不同参数下的解,一组参数对应一个解
- 辅助扫描 :给定范围的一个或几个参数(变量)在仿真过程中的变化对模型的影响,得出具有变化量(如随时间变化的激励)的模型的解,只有一个解(随因变量变化的函数解)
- 以上是我个人的理解
判断模型的精度
- 如何判断模型的精度令人满意?或者说,如何达到足够的精度?
病态问题
- 什么是病态问题?
- 这是数值分析中的知识,我看的是清华大学出版的喻文健的《数值分析与算法》,结合 MATLAB,讲解原理与算法应用,语言通俗,直观形象
病态问题: 指微小的输入变化会引起输出巨大变化的问题
病态性又称敏感性:指输入数据的扰动对问题解的影响的大小。它是问题本身的属性,与算法无关
为了分析它,引入条件数定义: c o n d = ∣ ∣ 解 的 相 对 变 化 量 输 入 的 相 对 变 化 量 ∣ ∣ cond = ||\frac {解的相对变化量}{输入的相对变化量}|| cond=∣∣输入的相对变化量解的相对变化量∣∣,可理解为输入数据误差的放大因子
它反应了问题的解对输入数据变化的敏感程度。如果 c o n d > > 1 cond >> 1 cond>>1 ,则问题为变态的
当问题不好判断敏感性时,可判断它的 反问题 (反函数):反问题的条件数是原问题条件数的倒数
例如: 一根非常细长的梁的结构弯曲,或者材料电导率相差几个数量级的电流模型
- 怎么处理病态问题?
有关趋肤效应的描述
- 何时考虑趋肤深度?
-
常见材料 50 Hz 趋肤深度 铜 9 mm 铝 12 mm 不锈钢 67 mm 铁 0.34 mm 当导体半径大于趋肤深度时,考虑趋肤效应;
当半径小于趋肤深度时,可看作电流密度均匀分布;
当半径远大于趋肤深度时,可看作表面电流。
趋肤效应表现为电流密度分布,必须通过计算得到。
- 如何设置?
-
趋肤效应需要通过计算 电流密度分布 得到,设置方法有:
- 指定导体某截面流过总电流:外部电流密度
- 趋肤深度相对较小时,在横截面上的网格应使用 边界层 网格(网格尺寸应适应趋肤深度,避免误差较大)
- 趋肤深度相对很小时,设置表面电流,或使用 阻抗边界条件 (电磁波被边界完全吸收)
快速认识物理场的方法
- 如何较快认识一个物理场?
-
在观看一些教学资源后,发现认识物理场应从如下几方面:
- 物理场的应用
- 物理场需要的材料属性参数
- 物理场能够得到的解
- 物理场的约束条件
-
适用求解类型(稳态、瞬态、频域)
总的来说就是,搞明白物理场的控制方程
理解磁场边界条件
- 如何理解 完美磁导体 与 磁绝缘 边界条件?
-
n \boldsymbol n n 是边界法向量, A \boldsymbol A A 是磁势(磁矢势), H \boldsymbol H H 是磁场
- 完美磁导体:
n
×
H
=
0
\boldsymbol n \times \boldsymbol H = 0
n×H=0
磁场没有垂直于边界法向的分量,磁场线全部通过边界,与边界垂直
磁势与边界平行,边界为等(磁)势面(线) - 磁绝缘:
n
×
A
=
0
\boldsymbol n \times \boldsymbol A = 0
n×A=0
磁势与边界法向方向相同,磁场与边界平行,没有法向分量,磁场线一点也不能穿过边界
- 完美磁导体:
n
×
H
=
0
\boldsymbol n \times \boldsymbol H = 0
n×H=0
- 如何理解边界条件?
-
理解边界条件的意义,从以下入手:
- 变量的意义,之间的转化关系
- 物理场控制方程的形式与意义
- 边界条件的物理意义
通过基础知识的学习、查阅官方的帮助文档或课程就能有所理解,也可以随时通过 方程视图 查看内置方程。
多实践,多与人交流,理解会更深刻
设置无限元域
- 如何设置无限元域?
创建动画
- 如何创建动画?
- 在comsol中创建并导出动画
- 在频域解中,绘图 产生相位
ϕ
=
0
\phi=0
ϕ=0 时的图像;
在 动画 - 动画编辑 - 排序类型 中选择 动态数据拓展,可以显示出一个周期的变化过程
绘制计算过程中的结果
- 在扫描或瞬态求解过程中,想要在视图中看到计算过程中的结果
- 在 研究 中启用:
- 研究 - 获取初始值:求解初始值的结果,软件会在 结果 中创建相应的绘图,用户也可以利用初始结果创建想要的绘图
- 研究 - 步骤 - 求解过程中的结果:勾选 绘制,并选择绘图
- 利用 定义 - 探针 功能,记录下计算过程中的指定量的数据
区域重合
- 建模中存在两区域重合的情况(如,在空气域中画个矩形对象,两区域就会重合),会有什么影响?
- 区域重合不就是“穿模”嘛。会导致计算错误。
但是,软件默认当离开 组件 (退出实体建模)时对模型进行 形成联合体 操作,
这使各整个模型的对象会以相邻边界为边界,分成不重叠的部分;
如,在大圆中画个小圆,形成联合体后,只有大圆环和小圆两个区域,而不是两个重叠的圆。
边界元算法
- 什么是边界元算法?
- 只需对求解域边界进行网格剖分,就可对求解域进行计算的方法:
对边界进行求解,通过格林公式将结果变换到空间中,从而算出空间中的解 - 当不宜采用有限元法或剖分难以进行时,可使用边界元法
- 边界元方法的特点
- 边界元法对求解域表面进行剖分,可求解出(无限大)空间中的量。(故,不必画出待求空间,不必设置无限元域)
- 使用边界元法时,边界上的电势分布必须显式定义(因此域内的材料数据保持恒定)
- 虽不需画出所求解的空间,但必须指定材料属性
- 电容传感器建模中,分别使用边界元(BEM)和有限元(FEM)的案例
- http://cn.comsol.com/model/modeling-a-capacitive-position-sensor-using-bem-47571
- http://cn.comsol.com/model/modeling-a-capacitive-position-sensor-using-fem-47541
选择-显式
- 选择 - 显式 的用法?
- 为方便选择某对象(或域、边界、点)的相关区域,可在 定义 中找到 选择 方法中的 显式。
- 可以方便的创建一个特定的“选择组”,便于之后在选择栏中使用
- 可以指定选择区域的颜色
- 如何使用显式 选择模型的最外侧边界?
- 在 显式 设置中, 选中 所有域 复选框,然后从 输出实体列表 中选择相邻边界
- 不可只选择最外部实体(最外侧实体可能包含内部实体,存在空间重叠或内边界)创建相邻边界选择组
此外,应该知道,跳出 组件 界面后(默认结束实体建模),会自动 形成联合体 使对象之间不能重叠,也会产生内部边界
处理多种情况的研究
- 可否在同一模型中,改变某(几)个参数或条件进行不同的研究?
- 可以在同一的模型中,改变模型,进行不同参数或条件下的研究
- 可以创建多种类型的研究,如研究1为瞬态磁场,研究2为稳态电流,研究3为瞬态结构力学…
- 改变参数变量:已定义的参数变量通过 参数化扫描 或 辅助扫描 实现不同取值时研究或参数值在计算过程中发生改变的研究
- 如何处理各个研究的计算与结果?
- 博客:如何管理多个解
- 一个研究中做不同修改,分别进行计算
- 使用 参数化扫描 或 辅助扫描 功能后,结果会自动按照参数组合调用解集
- 改变模型设置,每次都在同一研究中进行新的计算
- 每次计算后,新的解集将覆盖上次的计算结果
- 每次计算后,在 研究 -> 求解器配置 节点进行 创建解副本 操作,保存本次的解集
- 多个研究,每个研究的结果都会被独立记录
- 改变模型设置,每次在新的研究中计算
- 研究 步骤 的 因变量值、网格选择 分别指定该研究计算时使用的各设置
- 研究 步骤 的 物理场和变量 栏中规定研究计算遵循的物理场条件
- 若不勾选 修改研究步骤的模型配置,则默认根据当前模型开发器设置进行计算
- 若勾选,则可以对模型配置树的单个环节进行设置(如,禁用),该研究将按照该模型树进行计算,无需在模型开发器中更改设置
求解域设置
- 如何设置合适的求解域?
- 物理场中可以设置该物理场应用的区域,对于不需要计算的区域应从求解域中去除,以减少网络数量、降低计算成本。(例如,在 电流 场计算导体电流、电势分布时,可将接地极部分从求解域中去除,只需要其提供零电势条件)
- 需要理解物理场求解理论,清楚模型各部分的意义
线圈几何分析
- 线圈几何分析 的作用?
- 线圈几何分析 是在线圈建模计算时可能会用到的计算步骤,往往为研究的第一步
- 可以使用与要求参数性质相同的简单(容易计算)参数进行分析,得到电流方向变量;
然后,在另一个 研究 - 步骤 - 因变量值 中,在 不求解的变量值 中调用其解(电流方向),使模型计算更快速
- 可以使用与要求参数性质相同的简单(容易计算)参数进行分析,得到电流方向变量;
- 该步骤可以根据线圈模型的设置计算出线圈导线的几何尺寸(长度、横截面),从而确定线圈的电阻,进而确定电流方向(线圈几何各处的电流方向)
- 什么情况下要进行 线圈几何分析?
- 单线圈模型:此类线圈模型是几何建模完成,所以需要分析其几何尺寸,计算电流方向
- 线圈类型 为 数值 或 用户定义 的均匀多匝线圈:此类线圈几何实体形状复杂,需要分析几何尺寸,计算电流方向
模型结果中的截线设置
三维截线 与 二维截线 是 结果 - 数据集 中的功能,用来获取某数据集在截线上的部分。
- 如何设置截线?
-
截线是(一条或多条)线段,通过方向与端点(直线截点)确定
- 确定线的方向,在线定义方法 下拉选项中:两点 或 点和方向
- 确定线段端点(直线截点)
-
默认:方向直线被模型最外部边界所截(数据集当然不能超出模型范围),截点为端点
-
通过点界定:方向直线被设置的点截断,设置的点为端点
-
捕捉到最近边界:
- 设置的点会自动移至最近的边界,成为端点
- 从端点出发,直线会被第一个遇到的边界截断,形成线段
- 注:若方向直线不能被(非最外部)边界所截(如,方向直线不在内部模型的平面内,且在整个模型空间中都不会与内部模型边界相交),则无法形成截线
-
三种方式可同时存在;且默认规则始终存在
-
MEMS模块
- MEMS模块是什么?
- 从简称来看是“微电机系统”
- Micro:微型的
- Electro:电子的
- Mechanical:机械的(力学的)
- Systems:系统
- 从研究来看,针对微尺度的各种物理作用问题,大多数是多物理场问题
- 单物理场:结构力学、压电效应、集成SPICE、层流、两(多)相流、热效应…
- 多物理场:电 - 结构、热 - 结构、电 - 热 - 结构、流体 - 固体、电动效应、流体 - 化学…
事件接口
求解包含时变脉冲载荷的模型(知识库1245)中说明使用 事件 接口设置脉冲载荷,以使求解器准确捕获脉冲时间
- 我对事件 接口的理解
-
离散状态 + 显示事件:
定义一个(或多个)离散变量,多作为状态变量使用(如,开关状态0 1);
在 显示事件 中设置触发时间,当事件触发时,将改变状态变量的值 -
指示器状态 + 隐式事件:
定义一个(或多个)表达式的变量(如,a = x-y
),表示某个量的指示器;
在 隐式事件 中设置触发条件(罗辑运算),当为true
时事件触发,将改变状态变量的值 -
初始值不一致的瞬态模型
- 在瞬态模型求解的时候遇到“找不到一致的初始值。最后一个时间步长不收敛。”的问题
- 查看知识库1172,求解初始值不一致的瞬态模型
非线性求解器不收敛
- 计算中出现
非线性求解器不收敛。最后一个时间步不收敛
的问题。
- 一般情况下:
- 在 研究 -> 求解器配置 -> 解 -> 瞬态求解器 -> 全耦合 - 方法和终止 的 非线性方法 栏选择 自动
- 若仍存在该问题,应根据模型方程和求解变量对求解器进行适当修改
同一选择中存在多个动坐标系明细
在同时设置了动网格和固体力学模块的模型中,可能会出现同已选择中存在多个动坐标系明细
的错误。
- 原因是设置了多个动坐标控制接口,导致冲突:
- 通过 指定移动网格 等接口可以设置表达式指定网格中主动移动或变形的行为
- 表达式可以来自自定义函数变量、其他物理场变量(如,位移场变量)、微分方程
- 固体力学接口 会改变几何形状(固体对象区域),属于内置的主动变化
- 与 指定移动网格 等接口功能会发生冲突,二者定义其一即可
- 通过 指定移动网格 等接口可以设置表达式指定网格中主动移动或变形的行为
结构力学中:非线性求解器不收敛
在结构力学中进行接触建模时,常会出现计算不收敛的问题非线性求解器不收敛。时间:0.0007741125达到最大迭代数。最后一个时间步不收敛。
的类似错误。
出现这种情况,一般原因:求解器设置的问题。
常用方法:
- 研究 - 步骤1:瞬态 - 求解器配置 - 解 - 瞬态求解器 设置中找到 步进时间 一栏
- 方法:改为 后向差分公式
- 求解器采用的步长:选择 精确
- 解 - 因变量 中对因变量做适当的 缩放 (归一化,使求解变量的数值差较小,提高求解的稳定性)
- 应力的单位为
[Pa]
,而常见的应力数值很大,往往使用[GPa]
或[MPa]
作单位。所以要将其数值缩小,或将其他变量的值相应放大 - 接触压力(Pa)与位移(cm/m)的数量级往往差 10 个单位
- 以下几种情况,调节缩放因子很重要:
- 部件初始时没有接触(接触碰撞模型中)
- 位移和几何尺寸相当或更大
- 模型包含摩擦
- 缩放栏中的值应为该变量出现的最大值(预估)
- 应力的单位为
物理场中涉及变形网格时的求解器设置
在官方案例 Electromagnetic Plunger (电磁活塞)中,利用 磁场、全局常微分和微分代数方程 和 动网格 仿真了电磁力驱动金属活塞运动的事例。其中,磁场提供电磁力,全局微分方程计算出活塞上的速度与位移,并将位移被指定在动网格区域,实现磁场驱动。
该案例说明文档中指出:当物理场中涉及到动网格时,推荐采取一些手动设置
- 瞬态求解器 - 设置,时间步进 - 误差估计 选择 排除代数(Exclude algebraic)。
- 瞬态求解器 -> 全耦合 - 方法和终止
- 雅克比矩阵更新(Jacobian update) 选为 在每次迭代中;
- 适当增加 最大迭代次数,减小 容差因子;
- 稳定性和加速性 中尝试使用 Anderson 加速;
- 瞬态求解器 -> 直接,求解器 中 使用 PARDISO 一般更快些,使用 MUMPS 更稳定。
重新划分网格的问题
- 出现“重新划分网格后依然满足重新划分网格条件”的错误。
- 不妨尝试:
- 降低重新划分网格的条件,增加阈值或使用 失真 条件(优先且有效)
- 对瞬态求解器做适当更改
- 出现“初始网格满足重新划分网格条件”的错误。
- 不妨尝试:
- 启用 一致初始化 功能
- 初始步长:指定重新剖分时的初始步长,可不勾选
- 一致化初始值:推荐使用 后向欧拉法
- 降低重新划分网格的条件,降低阈值或使用 失真 条件
- 启用 一致初始化 功能
- 在材料变形产生网格变形而需要重新剖分的网格的模型计算中,计算过程很慢?
- 若经过尝试仍无法改善收敛性,不妨耐心等待其计算到最后
- 复杂情况时的收敛性差很正常,只能在小步长内收敛,所以计算缓慢,保证结果的精确性
- 当复杂情况过去后,计算收敛性的可能会变好,“苦尽甘来”
- 复杂情况时的收敛性差很正常,只能在小步长内收敛,所以计算缓慢,保证结果的精确性
- 出现“(固体力学中有关网格构型或变形应力)表达式计算结果为非数”或“不能求解”,或求解过程中收敛性很好却出现有关网格剖分的问题。
- 不妨尝试:
- 内部计算错误,一般是模型设置问题(优先)
- 检查 动网格 相关设置
- 找到错误提示中出错的物理场和域,检查该物理场中此域的设置条件(边界、约束条件)
- 更改 动网格 -> 自由变形/变形域 - 平滑处理 - 网格平滑类型 (次优先)
- 优先度:拉普拉斯 > Winslow > 超弹性 > Yeoh
- 更改 瞬态求解器 -> 直接,求解器 中 使用的方法
- 优先度:PARDISO > MUMPS > SPOOLES
- 内部计算错误,一般是模型设置问题(优先)
- 已经尝试完所有 网格平滑类型 方法,动网格重新划分过程始终出现各种问题
- 不妨尝试:
- 适当降低重新划分网格的条件(优先尝试,即使没有弹出“重新划分网格后满足重新划分条件”错误)
数据集中解的坐标系(解集的框架)
在帮助中,解 - 坐标系 被称为解集的框架(frame),所有的结果将按照这个框架描述。
即,将结果在选取的坐标系中描述,或者说,将解集中的每个解与选取坐标系中的点一一对应。
- 坐标系的特点
- 材料 坐标:又称 拉格朗日坐标,适用于描述材料实体上的结果。
- 坐标系附着在材料上,定位材料实体上的点。(也就是说,模型中指定材料的区域)
- 如果材料区域(实体)变形移动,坐标系会与其一致变化,材料上的某一点始终对应一个坐标。
- 空间 坐标:又称 欧拉坐标,适用于描述空间中的运动。
- 坐标系定位在空间中,描述空间中的点。(模型几何空间)
- 如果材料区域(实体)变形移动,坐标系依然不变,而材料上某一点对应的坐标发生变化。
- 网格 坐标:坐标附着在网格上,适用于描述结果随网格的分布
- 自动使用当前结果对应的网格(求解时,求解器使用的网格)
- 几何 坐标:坐标附着在几何上,适用于描述结果随几何的分布
- 自动使用当前结果对应的几何(求解时,求解器使用的几何建模)
- 显示结果时,让人迷惑的一些情况
- 在几何实体不会变形移动(相对静止)的模型中,四种坐标下展示的结果是一致的
- 在几何实体会发生变形移动的模型中
- 材料区域并不会随着变化,所以材料坐标系还是在最初的材料区域,结果也展示在该区域
- 在空间坐标框架中会体现出几何实体的变形移动,结果也会显示出“动态”的效果
(软件是以更新空间坐标关于材料坐标的映射关系来实现几何实体“变形移动”的,可参见变形网格原理部分(第11节)) - 几何或网格坐标,都是将坐标系附着在求解时对应的几何或网格上。
所以当改变几何参数或网格(如,使用 辅助扫描 或 参数扫描 等功能在计算中改变几何参数,或使用 自动重新划分网格 功能在计算中重构网格)的情况下,其会满足我们想要展示的效果
涉及固体力学和变形网格的模型结果显示设置
- 在使用了固体力学和变形网格的模型中,如何显示出网格随时间步的变化、非固体区域与固体区域中的连续场随变形的变化?
主要受以下几个设置的影响,灵活使用:
- 在结果所在的解集节点 解 - 坐标系 单选框中选择 空间 坐标框架(说明参见解集框架)
- 在二维或三维绘图组的 设置 中,勾选 绘图设置 - 绘制数据集边 复选框
- 颜色: 数据集边的颜色
- 坐标系:描述数据集边时使用的坐标系(框架)
- 可以在图中绘制出不同坐标框架下的数据集分布边界,从而与解的分布(解集的坐标框架)形成对照,或用来观察使用什么坐标框架更合适
- 在二维或三维绘图组的某一子图节点处,可在其下添加 变形 节点
- 效果:将图的结果按照固体力学中得到的位移场进行移动,即将每个解的坐标按照相应位移的变化
- 作用:使结果显示出变形效果
- 注意:变形 并没有改变解集选用的坐标框架,而是数学上把位移量与解的坐标相加。
验证:通过把 解 - 坐标系 选为 空间 坐标框架,同时,在某一子图下添加 变形 节点,绘图组 - 绘图设置 - 绘制数据集边 - 坐标系 中选择 空间,观察结果图;
可以发现结果分布与数据集边界分离(若解与绘图组的框架选择相同,图中数据集边界应包裹着结果),且结果变形更剧烈。这是因为其在“变形”的结果上,又增加了一次“变形”位移。
通过解析函数定义硬化函数
在通过解析函数拟合定义函数时,定义了材料的硬化函数后,计算出现试图计算零的负数幂
、函数:^
或未能计算临时符号衍生变量
等。
- 原因是解析函数在屈服应变(材料受屈服应力时的应变)处的值为负值(回顾结构力学模块中的金属材料硬化函数定义部分)
- 检查函数定义表达式是否错误
- 检查拟合应力应变曲线时的计算是否有问题
依然不变,而材料上某一点对应的坐标发生变化。
- 网格 坐标:坐标附着在网格上,适用于描述结果随网格的分布
- 自动使用当前结果对应的网格(求解时,求解器使用的网格)
- 几何 坐标:坐标附着在几何上,适用于描述结果随几何的分布
- 自动使用当前结果对应的几何(求解时,求解器使用的几何建模)
- 显示结果时,让人迷惑的一些情况
- 在几何实体不会变形移动(相对静止)的模型中,四种坐标下展示的结果是一致的
- 在几何实体会发生变形移动的模型中
- 材料区域并不会随着变化,所以材料坐标系还是在最初的材料区域,结果也展示在该区域
- 在空间坐标框架中会体现出几何实体的变形移动,结果也会显示出“动态”的效果
(软件是以更新空间坐标关于材料坐标的映射关系来实现几何实体“变形移动”的,可参见变形网格原理部分(第11节)) - 几何或网格坐标,都是将坐标系附着在求解时对应的几何或网格上。
所以当改变几何参数或网格(如,使用 辅助扫描 或 参数扫描 等功能在计算中改变几何参数,或使用 自动重新划分网格 功能在计算中重构网格)的情况下,其会满足我们想要展示的效果
涉及固体力学和变形网格的模型结果显示设置
- 在使用了固体力学和变形网格的模型中,如何显示出网格随时间步的变化、非固体区域与固体区域中的连续场随变形的变化?
主要受以下几个设置的影响,灵活使用:
- 在结果所在的解集节点 解 - 坐标系 单选框中选择 空间 坐标框架(说明参见解集框架)
- 在二维或三维绘图组的 设置 中,勾选 绘图设置 - 绘制数据集边 复选框
- 颜色: 数据集边的颜色
- 坐标系:描述数据集边时使用的坐标系(框架)
- 可以在图中绘制出不同坐标框架下的数据集分布边界,从而与解的分布(解集的坐标框架)形成对照,或用来观察使用什么坐标框架更合适
- 在二维或三维绘图组的某一子图节点处,可在其下添加 变形 节点
- 效果:将图的结果按照固体力学中得到的位移场进行移动,即将每个解的坐标按照相应位移的变化
- 作用:使结果显示出变形效果
- 注意:变形 并没有改变解集选用的坐标框架,而是数学上把位移量与解的坐标相加。
验证:通过把 解 - 坐标系 选为 空间 坐标框架,同时,在某一子图下添加 变形 节点,绘图组 - 绘图设置 - 绘制数据集边 - 坐标系 中选择 空间,观察结果图;
可以发现结果分布与数据集边界分离(若解与绘图组的框架选择相同,图中数据集边界应包裹着结果),且结果变形更剧烈。这是因为其在“变形”的结果上,又增加了一次“变形”位移。
通过解析函数定义硬化函数
在通过解析函数拟合定义函数时,定义了材料的硬化函数后,计算出现试图计算零的负数幂
、函数:^
或未能计算临时符号衍生变量
等。
- 原因是解析函数在屈服应变(材料受屈服应力时的应变)处的值为负值(回顾结构力学模块中的金属材料硬化函数定义部分)
- 检查函数定义表达式是否错误
- 检查拟合应力应变曲线时的计算是否有问题
- 检查选取拟合函数自变量范围时,其下限是否低于或等于屈服应变