当前位置:文档之家› COMSOL使用中产生问题及解决办法

COMSOL使用中产生问题及解决办法

MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
COMSOL Multiphysics 问题集合
——搜集自中方科技网站 https://www.doczj.com/doc/2117734840.html,
汇总:
【PDE/ODE 等方程】 COMSOL Multiphysics 阶跃平滑过渡
【PDE/ODE 等方程】 COMSOL Multiphysics 能计算磁力吗?
【PDE/ODE 等方程】 COMSOL Multiphysics 瞬态模型中如何对时间进行积分?如何计算空间
积分?
【PDE/ODE 等方程】 如何求解高于 2 阶的 PDE?比如求解 U(x,y)的方程 uxxxx + uxxyy +
uyyyy = f
【PDE/ODE 等方程】 如何使用 3D 欧拉梁坐标系统?
【PDE/ODE 等方程】 如何在同一边界上强制使用 Neumann 和 Dirichlet 边界条件?
【安装】 COMSOL Multiphysics 单机版与网络版之区别?
【安装】 COMSOL Multiphysics 的软件需求是什么样的? 是否支持 64 位计算?
【安装】 COMSOL Multiphysics 的硬件需求是什么样的?
【安装】 COMSOL Multiphysics 各个版本的兼容性怎么样?
【安装】 COMSOL Multiphysics 显卡问题疑难解答
【安装】 COMSOL V4 教学网络版无法启动?
【安装】 COMSOL 在 Linux 环境下硬件需求有什么?
【安装】 COMSOL 在 Mac OS X 环境下硬件需求有什么?
【安装】 COMSOL 在 Windows 环境下硬件需求有什么?
【安装】 COMSOL 支持 Mac Intel 平台吗?
【安装】 FLEXnet Licensing error:-103,577 错误信息
【安装】 Linux 系统中使用了 SELinux 服务,为什么启动不了 COMSOL V4 的界面?
【安装】 错误信息:License error -15 Cannot connect to license server system
【安装】 当 COMSOL 授权管理器在一台有防火墙的计算机上运行,且 COMSOL Multiphysics
客户端在防火墙外,客户端程序显示信息"License error -96"或"License
error -15"
【安装】 当插入 COMSOL 3.4 安装 DVD 时,Windows 系统重启或显示蓝屏挂起。
【安装】 当在 Sun 上启动 COMSOL 3.3 授权管理器时,为什么会得到提示缺失符号的错误信
息?
【安装】 当在 Windows 上安装 COMSOL Multiphysics 3.4 时,出现错误信息:“发生
致命异常,程序将退出”,或“不合要求的链接”,或“致命错误
”。
【安装】 启动程序时出现错误信息"License Error"
【安装】 如何处理无法运行 COMSOL Multiphysics,得到授权错误信息?
【安装】 如何获取一个 FLEXnet(正式名称 Flexlm)的 Hostid?
【安装】 如何使用硬件锁(盾)安装 COMSOL Multiphysics?
【安装】 如何增加内存使用量
【安装】 使用单机版(NSL)的 COMSOL Multiphysics 时报错,License error
【安装】为什么我有 COMSOL 正版的授权文件,可以正常安装,但是使用时却提示没有授权?MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
【安装】 我计划为 COMSOL Multiphysics 配置一台新电脑,有什么推荐硬件平台吗?需要
什么样的 CPU 和多大内存?
【安

装】 在 32 位 Debian Linux 3.1 上启动 COMSOL 3.4 with MATLAB 2007a 或 MATLAB 2007b
时,出现错误
【安装】 在 COMSOL 中,如何借用浮动版(floating network license)的授权码?
【安装】 在 COMSOL 中安装 SolidWorks 双向接口插件失败?
【安装】 在 SuSE Linux 10.3 或 Fedora Core 8 上启动 COMSOL 时出现错误
【安装】 在 Vista 或 Windows Server 2008 上无法以服务的形式启动 COMSOL 授权管理器
【边界条件】 COMSOL Multiphysics 里面长度的单位怎么确定?模型画好以后,想对模型放
大或缩小该怎么办?
【边界条件】 COMSOL Multiphysics 能处理左手手性材料吗?
【边界条件】 COMSOL Multiphysics 中的变量 s 有何含义?
【边界条件】 COMSOL V4 中怎样自定义周期性边界条件?
【边界条件】 COMSOL 中,如何设定内部边界间的通量?
【边界条件】 当我在“感应加热模型”中增加频率时,集肤效应导致电流流向
表面,我没法提供足够精细的网格求解。
【边界条件】 空气作为流体时如何定义?
【边界条件】 模型库中的例子“Flow Past a Cylinder”,将入口速度设置为
4*Umax*s*(1-s),代表什么意思?
【边界条件】 如何在命令行中使用耦合变量,例如,创建周期边界条件或者在脚本中使用
积分约束?
【边界条件】 同一个模型中存在维度相差很大的求解域的情况说明
【边界条件】 我想跟踪两个不相混溶流体之间的界面,听说有几种技术,如流体体积法,
水平集方法,以及 ALE 动态网格技术。这些方法有什么差异,我应该用哪一种方法?
【边界条件】 一致性边界条件(identity condition)有什么要求?
【边界条件】 在 COMSOL 中,如何设定某段边界值?
【产品信息】 如何提取模型的刚度矩阵?
【错误信息】 Comsol Multiphysics 给我的错误信息意味着什么?
【错误信息】 LM COMSOL 无法连接到 lmgrd
【错误信息】 错误信息“奇异矩阵”意思是什么?
【错误信息】 当启动 COMSOL with MATLAB 2007b 时,MATLAB 和 COMSOL Multiphysics 用
户界面都没有出现
【错误信息】 高反应速率(高 Ri),或更常见的大源项,会产生收敛性问题,如何解决
【错误信息】 如何避免高度非线性的不收敛问题
【错误信息】 如何处理错误信息:Failed to find a solution: No convergence?
【错误信息】 为什么我会得到这样的错误信息“几何分解内部错误”?
【错误信息】 为什么我在还有空余内存的情况下会报错:内存溢出?
【错误信息】 在 COMSOL 中,"Error 7067, System matrix is zero",怎么产
生的?
【导出】 为什么使用“重置模型”选项?
【导入】 请问为何在导入一些 CAD 文件或者其他操作时,不论什么格式都

会报错找不到文
件?
【导入】 为何有时使用 IGES 文件导入模型时会报错或者导入不完整?
【导入】 在 COMSOL 中导入 DXF 文件时出现错误?MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
【电磁】 COMSOL Multiphysics 能分析 TEM 模式吗?
【电磁】 COMSOL Multiphysics 能模拟材料烧结过程吗?
【电磁】 COMSOL Multiphysics 能模拟通电导线吗?
【电磁】 COMSOL Multiphysics 如何模拟施加高频交流电的绝缘管道?
【电磁】 COMSOL 中如何实现 thin layer approximation 方法?
【电磁】当集肤深度远大于线圈截面时,如何模拟通直流电或低频交流电的多匝载流线圈?
能否改变线圈的匝数?
【电磁】 模型由多个导体组成,如何计算该多导体的电容矩阵?
【电磁】 如果想模拟一个自由空间的静电或静磁问题,应当如何建立求解域?在外部边界
上应使用什么边界条件?
【电磁】 如何模拟非线性磁性材料?如何引入实验 B-H 曲线?
【电磁】 如何模拟有集肤效应的多匝载流圆环或圆柱线圈?当电流密度在空间中自由分布
时,如何定义可使每匝总电流固定?
【电磁】 如何在平面 TM 波模型中将内部边界转换为完美电导体?
【电磁】 是否需要使用 RMS、峰值、或瞬态值来指定电磁场的源吗?如何才能定义相角?
【电磁】 我在频域进行模拟,如何才能定义材料损耗?
【电磁】 在 COMSOL 中,如果想引入增益或损耗材料,应当如何设置?
【电磁】 在 COMSOL 中,如何才能得到高频下接近真实情况的解?
【电磁】 在 COMSOL 中,如何设置电流随时间变化的分段函数?
【电磁】 在 COMSOL 中求解线圈感应电流应该注意什么?
【电磁】 在 COMSOL 中如何设置出射波的波前显示?
【电磁】 在 COMSOL 中如何施加电压激励与计算电阻抗?
【后处理】 如何察看任意截面的变量曲线?
【后处理】 如何从 2D 轴对称的结果得到 3D 结果图?
【后处理】 如何对任意截面进行积分?
【后处理】 如何提取 COMSOL Multiphysics 模型数据用于外部后处理?
【后处理】 如何在 COMSOL Multiphysics 材料性质的数据表中进行插值?
【后处理】 如何在切面、2D 表面、等值面以及自定义边界上显示等值线?
【后处理】 是否可以显示任意角度的切片图?比如,切面不平行于坐标平面,甚至改变切
面形状?
【后处理】 为何产生网格与后处理时,有时图形无法正确显示?
【后处理】 为什么绝缘边界条件能够产生很大的有效通量?
【后处理】 在 COMSOL 的后处理中,后处理中 B*ΔB 怎么表示?
【后处理】 在 COMSOL 中,粒子追踪如何得到非预期结果?
【后处理】 在 COMSOL 中,如何获取某一点或某一条线上的计算结果?

后处理】 在 COMSOL 中,如何计算 2D 模型中等值线所包含区域的面积?
【后处理】 在后处理播放动画时,COMSOL Multiphysics 窗口会自动关闭。如何解决这个
问题?
【化学工程】 COMSOL Multiphysics 是否能很好地模拟流体力学?
【化学工程】 COMSOL 能否模拟多相流及 slip model 含义?
【化学工程】 COMSOL 是否支持 RedHat Enterprise 5
【化学工程】 如何更新 COMSOL 授权管理器
【化学工程】 为什么得到的浓度是负值?
【化学工程】 在 COMSOL Multiphysics 模型中可以进行最优化模拟吗?MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
【几何模型】 COMSOL Multiphysics 可以导入图片吗?
【几何模型】 COMSOL Multiphysics 有极坐标、球坐标和柱坐标吗?如何定义它们?
【几何模型】 如何避免几何结构奇点
【几何模型】 如何自定义坐标系统
【几何模型】 为什么镜像的图形与输入的镜像向量相差 90°?
【几何模型】 在 COMSOL 中,什么是几何层?
【建模】 COMSOL 建模后可否指定边界序号,以便在 MatLab 中方便操作?
【建模】 如何根据已知函数在 COMSOL 中生成三维几何实体?
【建模】在 COMSOL Multiphysics中建模后可否指定边界序号,以便在 MatLab 中方便操作?
【建模】 在 COMSOL 中,如何通过 MRI 构建几何模型?
【结构力学】 COMSOL Multiphysics 如何分析压电陶瓷的疲劳性能?
【结构力学】 COMSOL Multiphysics 如何模拟喷涂过程?
【结构力学】 COMSOL 能否实现非关联流动法则?
【求解器】 COMSOL Multiphysics 求解时求解器如何选择?
【求解器】 COMSOL Multiphysics 如何确定时间步长?
【求解器】 COMSOL Multiphysics 支持哪些单元类型?
【求解器】 COMSOL Multiphysics 支持什么版本的 MATLAB?
【求解器】 COMSOL Multiphysics 中如何同时查看结果和网格?
【求解器】 COMSOL 中,两相流的水平集方法与流动体积法(VOF)有何差异?
【求解器】 COMSOL 中,为何 3.3 版本的瞬态模型无法在 3.4 版本中运行?
【求解器】 COMSOL 中如何在瞬态或特征值问题中使用参数化分析?
【求解器】 处理内存不足问题
【求解器】 如何处理 COMSOL 中 Error message: "Out of memory"?
【求解器】 瞬态问题中,什么是相对和绝对容差(Rtol 和 Atol)?我怎么设定这些值?手
册中说明绝对容差可以是一个自由度名称列表和正的标量,这是什么意思?如何定义它们?
【求解器】 在 COMSOL 中,solution on files 选项的作用是什么?
【求解器】 在 COMSOL 中,求解高度非线性方程系统时,一般从那几点修改求解器?
【网格】 COMSOL Multiphysics 如何设置边界层网格?
【网格】 COMSOL Multiphysics 中自由度(DOF)是什么意思
【网格】 有时候模拟的几何对象

是一个狭长或者扁平的几何体,由于 COMSOL Multiphysics
缺省生成的自由网格是尽可能均匀的三角形/四面体,这意味着在狭长(扁平)区域会生成
大量的网格,同时,长宽比差异太大会引起剖分网格时失败。
【网格】 在 COMSOL 中,如何调整网格尺寸的参数?
【文档】 在 COMSOL 中,标量表达式和标量变量有什么不同?
【文档】 在 COMSOL 中如何定义一个高斯波?
【移动网格/参数化几何】 COMSOL 软件中有自适应网格吗?
【移动网格/参数化几何】 请问我怎么才能使用命令行的形式与图形用户接口进行交互建
模?
【移动网格/参数化几何】 如何运用 COMSOL 中的移动网格技术?
【综合】 COMSOL Multiphysics 能否处理介质阻挡放电仿真?
【综合】 COMSOL Multiphysics 如何模拟带隙光子晶体光纤?
【综合】 COMSOL V4.0a 中如何处理图象标题无法识别
【综合】 COMSOL V4.0 中无法识别单位 um?
【综合】 COMSOL V4.1 由于中文用户名无法计算?MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
【综合】 COMSOL V4 打不开原来用 V3.3,V3.4 做的模型?
【综合】 COMSOL 中如何施加白噪声?
【综合】 如何在 COMSOL Multiphysics v4.x 系列中实现并行计算功能?需要有哪些设置?
【综合】 如何在 COMSOL Multiphysics 中引入实验值?
【综合】 为什么 COMSOL V4.1 中由于系统字体问题而崩溃?
【综合】 在 COMOSL 中如何实现流体场和电场的双向耦合?
【综合】 在 COMSOL Multiphysics V4.x 系列版本能不能随时直接得到某一值的最大值 max?
【综合】 在 COMSOL Multiphysics 中如何自定义函数?
【综合】 在 COMSOLV4.0 中,无法启动 COMSOL V4 with MATLAB?
【综合】 在 COMSOL 中,solution on files 选项的作用是什么?
【综合】 在 COMSOL 中,如何设置方波激励?
详细:
COMSOL Multiphysics 求解时求解器如何选择?
COMSOL Multiphysics 一共提供了五个求解器,各有各的优势,分别适合于不同的场合。其中
UMFPACK 求解器最为简单快速,但缺点是占用大量内存;SPOOLES 求解器的原理和 UMFPACK
求解器有些相似,但收敛方法不一样;GMRES 求解器适用于大规模问题,可以有效降低内存占
用量;Conjudate gradients 求解器使用共厄梯度法求解,在设置合理的情况下求解速度极快;
Geometric multigrid 求解器是新型,适用于几何模型比较规则的情况,尤其是对于流体计算极为
有效。
为何产生网格与后处理时,有时图形无法正确显示?
这是由于显卡不支持硬件加速 OpenGL1.1 或更新版本造成的,解决办法为在桌面单击右键——属性——设
置——高级——疑难解答——硬件加速,将其关闭。使用软件来加速,可以解决问题。第二种办法是更换支
持 OpenGL1.1 或更新

版本的显卡。
为什么我在还有空余内存的情况下会报错:内存溢出?
这个问题的产生可能有两方面的原因:
1.大容量内存搭配 32 位操作系统。由于内存的控制权属于操作系统而不是软件本身,32 位的
windows 系统仅能支持 2G 的内存,超过这个数量操作系统不会调用。Linux/Unix 可以支持到 4G
的内存,超过这个数量操作系统不会调用。
解决办法是使用 64 位操作系统,例如 64 位 linux。或者是使用内存扩展技术的 windows;在 vista
正式发布后我们会尽快对 vista 和 COMSOL Multiphysics 的兼容性进行测试。MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
2.硬件内存兼容性可能存在问题,例如使用不同规格的内存(品牌、容量,频率等等),或者将
双通道内存插在非双通道插槽中,会有很小的几率导致操作系统无法调用全部内存。
解决办法是重新配置硬件,尽量使内存规格统一。
COMSOL Multiphysics 各个版本的兼容性怎么样?
COMSOL Multiphysics 的版本之间是向下兼容的,也就是高版本的可以打开低版本的文件,但是低版本的
软件不能打开高版本的文件。如果确实有必要用低版本打开高版本文件,可以使用.M 文件,然后用写字板
打开,将里面的命令输入高版本,大部分情况下可以解决。
如何增加内存使用量
1.使用最新版本的软件,因为随着软件版本的升级,对于内存的控制也越来越好,可以使用小内存计算大
规模问题,且不会影响计算速度。
2.至 COMSOL 3.2 文件夹 lib,打开文件 comsol.opts,将其中一行“MAXHEAP=256m”, 从 256MB 调至
128MB 或更低。
如何避免高度非线性的不收敛问题
1.PDE 形式使用 general solution form 或是 weak solution form,会大大提高收敛性。此外,当使用到耦
合变量时,必须使用 weak solution form 来得到准确的 Jacobian。
2.使用最有可能的初始值。
3.确保边界条件一致性。
4.将稳态非线性问题切换成瞬时问题并试着去求解。
5.使用参数解,以及变化与非线性行为很大关系的材料系数,因此可以一连串的微调方程式的非线性程度。
如何避免几何结构奇点
几何奇点是指尖锐的角或是在网格化、分析过程中产生问题的角,尖锐的角在结构问题分析会导致无限大
的应力值。为了避免奇异点,可以使用绘图模式下的圆角(Fillet) 绘图指令在模型的角边产生一个圆角,使
其应力值有限。MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
一致性边界条件(identity condition)有什么要求?
当使用一致性边界条件(identity condition)来耦合不同网格时,必须是从较疏的网格结构耦合到较密的网格
结构,需要先选择较系数网格的几何窗口再开启一致性边界条件(identity condition)。
如何自定义坐标系统
CO

MSOL Multiphysics 允许用户自定义坐标系统,我们可以使用软件自带的函数进行坐标系统设定。例如:
1.3D 球坐标系
选择 Options > Expressions > Scalar Expressions,在对话框中输入:
r=sqrt(x^2+y^2+z^2)
phi=atan2(y,x)
theta=acos(z/r)
2.2D 极坐标
选择 Options > Expressions > Scalar Expressions,在对话框中输入:
r=sqrt(x^2+y^2)
phi=atan2(y,x)
sqrt, atan2 及 acos 均为 comsol 內建函数
如何察看任意截面的变量曲线?
菜单栏选择后处理>剖面参数。弹出剖面参数对话框。选择所要输出的变量曲线。点确定后即可
输出曲线图。
请问为何在导入一些 CAD 文件或者其他操作时,不论什么格式都会报
错找不到文件?
答:请检查 CAD 文件存储目录,COMSOL Multiphysics 需要导入的文件或者是自身的存储文件都不可以在
中文路径下,如果出现这种情况,软件会报错:Error: 2034 Cannot open file。MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
注:需要注意的是中文 windows 系统下,桌面是含有中文路径的。
为什么镜像的图形与输入的镜像向量相差 90°?
COMSOL 软件的镜像功能需要用户输入两个条件,一是镜像的基准点(Point on line),二是镜像的法向
(Normal vector)。当用户输入镜像基准点和法向向量后,镜像的法线被确定,这时软件以法线的垂线为
对称轴做镜像操作,对称轴与用户输入的法向向量相差 90°。
空气作为流体时如何定义?
COMSOL 软件的流体的定义是以粘度系数来区分的,例如气体的粘度系数在 1e-5 数量级,液体的粘度系数
是 1e-3 数量级,当粘度系数大于 1 时,流体的性质已经和固体很接近了。
请问我怎么才能使用命令行的形式与图形用户接口进行交互建模?
先启动 COMSOL Multiphysics 软件,然后通过菜单 File>COMSOL Script 启动脚本编辑器,输入要绘制的图
形的参数,然后通过菜单 File>Imort>Geometry Objects 选择导入的图形。
例如要在二维平面绘制一个以原点为圆心半径为 1 的圆,需要在脚本编辑器中输入 c1=circ2(0,0,1)并回车,
在 File>Imort>Geometry Objects 菜单下将会看到 c1 [Circle solid object],选中它并点击 OK 即可导入到图
形用户界面里。
COMSOL Multiphysics 是否能很好地模拟流体力学?
答案是肯定的,COMSOL Multiphysics 适合于复杂流体力学的模拟计算。我用 COMSOL Multiphysics 求解
2D 甚至是 3D 多组分可压缩 Navier-Stokes 方程。对比于单组分不可压缩 Navier-Stokes 方程的 4 个因变量,
在 3D 模型中要 7 个因变量。可能有两个原因导致了对你问题的不收敛。你的几何模型有多复杂?流体流
动的雷诺数有多高? 1.如果是高雷诺数,可以使用较低的进口流速来求解,然后增加进口流速后,使用
Restart 求解。你也可

以使用参数求解器,并指定一组进口流速,它会逐渐提高流动的雷诺数。另一种提高
收敛性(如果雷诺数很大)的方法是使用‘artificial diffusion’(现在,Re=rho U L / (mu+mu_art))。COMSOL
Multiphysics 允许你有很多方法添加它。‘Isotropic streamline diffusion’是在所有方向上添加扩散,而
‘streamline diffusion’仅在流线方向上添加扩散。 2.如果几何模型中存在尺度相差很大的实体,那么这是一
个不同的问题。你可能要去提高网格密度,但这可能会导致内存不够的问题。你应该要使用配有不完全 LUMEMS 交流网 https://www.doczj.com/doc/2117734840.html,
分解算法的迭代求解器,并且降低公差在 1e-3 左右。如果还是没有收敛,尝试继续降低公差直到获得收敛。
我能在 2GB 内存、3.4GHz 处理器、256MB 显卡的 Dell XPS 电脑上,求解完全可压缩 Navier-Stokes 方程。
如果你仅有 512MB 内存的话,对 3D 流体力学的计算是困难的。| 对于可压缩 Euler 方程,我从不喜欢用
它们来处理亚声速流,因为我经常得到一些可笑的没有物理意义的结果。添加粘度、传导和状态方程得到
可压缩 Navier-Stokes 方程,它在一些情况下趋于收敛,并且结果更能被理解。甚至有时候它们也不收敛。
总结: 1 逐渐提高流体流动的雷诺数。 2 对 3D 问题使用迭代求解器,并降低公差直到收敛。 3 如果使用
Euler 方程,起先计算一个初始粘度,比如 100*h,然后使用参数求解器或通过 restart 逐渐把它降低到 0*h
或 0.1*h。 4 甚至可以尝试 time dependent 模型求解,直到到达一个稳态解。
COMSOL Multiphysics 里面长度的单位怎么确定?模型画好以后,想
对模型放大或缩小该怎么办?
COMSOL Multiphysics 默认的长度单位是 m,如果想在其他单位制下画图,可以选择 Options>Preferences,
打开 Preferences 对话框,在 Modeling 中的 Default unit system 中修改.
如果模型已经画后,想修改模型大小,可以选择draw>modify>scale,打开scale对话框,在Scale factor中输入
要放缩的比例因子,在Scale base point中,输入放缩的基点.比如说,要把模型在坐标轴方向缩小10e3,可以在
Scale base point 中,输入坐标圆点位置,在 Scale factor 中每个坐标方向输入 10e-3.
我在频域进行模拟,如何才能定义材料损耗?
不管您模拟的是什么物理场,总是可以通过定义带有一个负虚部复数材料属性来描述损
耗。例如,在光学中,设定折射率为 2.1-0.5*i,表示一个损耗性材料。多数情况下,
还有另外的选择,例如在声学中设定一个流动阻尼,电磁中一个非零的电导率,或结构
力学中一个损耗因子。另一方面,如果您希望模拟一个有增益的材料,可以使用正虚部
来实现。请参考问与答《如何对损耗材料建模》得到更多

的信息。
当我在“感应加热模型”中增加频率时,集肤效应导致电流流向表面,我
没法提供足够精细的网格求解。
使用阻抗边界条件。这意味着模型忽略金属的内部边界,将所有感应电流作为表面电流处理。
当您的金属部分远远厚于表面层时,这是一种很好近似方法。您可以在问与答的《分解趋肤
深度》中找到更多的说明,其中提供了一个简明的关于阻抗边界条件的描述。MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
模型库中的例子“Flow Past a Cylinder”,将入口速度设置为
4*Umax*s*(1-s),代表什么意思?
变量 s 经常被使用在 2-D 边界上,用于实现曲线的参数化。本例中它被用于描述流体(完全发展的层流)
入口处抛物线型的速度轮廓,如下图所示,从边界箭头方向起,它的值从 0 到 1 变化。所以,该表达式表
示入口处的流体速度轮廓是一条抛物线,在通道中间处(s=0.5)取得速度的最大值 U
max

在 3-D 中,该参数变量被定义为 s1 和 s2,但是很少使用它们,因为大部分情况下,x、y、z 和 s1、s2 的
关系表现为非线性。此外,在面上,s1 和 s2 的取值并非必须分别在[0 1]上。
在后处理中,你可以在表达式编辑框中直接输入 s1 和 s2,在面上查看它们的分布情况。通常情况下,这
样比输入 x、y、z 来指定面上的边界条件要方便得多。
通常,相对于 s1、s2 或者 x、y、z,软件还提供一些更简单的方法来处理 3-D 边界(面)上诸如入口速度
分布情况。例如,速度的轮廓可以被定义为具有点源的扩散方程,和全为零的 Dirichlet 边界条件。如此,
通过拉伸耦合变量可将求解的 2-D 映射到 3-D 的面上,或者使用边界模式(Boundary application mode)的
弱形式直接求解 3-D 面。计算结果可用于对 3-D 模型的边界条件定义,例如定义层流入口速度轮廓。
为了更容易处理 2D 和 3D 流体问题,MEMS 模块、化学工程模块、地球科学模块以及传热模块提供层流应
用模式(laminar flow application mode),在该模式下,可以直接制定层流的平均速度或单位时间内流过
的体积。在 MEMS 模块、化学工程模块和地球科学模块中,该应用模式命名为不可压缩 N-S 方程
(Incompressible Navier-Stokes),在传热模块中,弱可压缩流应用模式(Weakly Compressible flow
application mode)内建层流边界条件。MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
COMSOL Multiphysics 能分析 TEM 模式吗?
是的,你可以使用射频模块的“混合模波”应用模式对微带线的截面进行 TEM,甚至准 TEM 模式分析。该应
用模式计算诸如微带和同轴电缆等传输线的本征模和传播常数,它使用了全混合模问题的公式和向量单元,
这就使非均匀甚至介电常数或折射

率分布不连续的传输线和波导截面能得到改正和精确处理。这一应用模
式能解决准 TEM、TE、TM 和混合模式。这就表示该应用模式也能应用于一般非均匀介电波导截面。
下面的模型使用 COMSOL Multiphysics 模拟微带端口,计算得到了传播常数和场的分布。
微带端口的场分布。表面图显示了电场的 z 分量,箭头表示磁场。
射频模块内建“3D 电磁波应用模式”,可用来对全 3D 波传播和模式分析,该应用模式支持输入端口使用闭
合解析表达式(类似于 C*exp(-k*(x^2+y^2+z^2)这样的高斯波)的任意激励、平面波的 2D 端口本征模
计算,或场分量的常数值。在软件中已预定义了普通矩形、圆形和同轴本征模,而且集总端口边界条件
(COMSOL Multiphysics 3.4 新增)提供给定电压的激励。
RF 模块模型库的“波导适配器”案例说明了如何使用端口本征模激励来建立并运行 3D 模拟。案例“印刷电路
板上的微带”示范了集总端口和 3D 传输线的建模。
另外,轴对称 TEM 波传播和模式分析能用轴对称 TM 波应用模式来实现。这一应用模式可用来分析 TEM
波的波型。
使用单机版(NSL)的 COMSOL Multiphysics 时报错,License error
问题详细描述:
使用单机版(NSL)的 COMSOL Multiphysics 时报错,当点击错误信息对话框中的"Details>>"按钮时出现如
下错误信息:
Exception:
com.femlab.jni.FlNativeException: License errorMEMS 交流网 https://www.doczj.com/doc/2117734840.html,
Messages:
License error
Stack trace:
at license.cpp, row 66, (USER_BASED license has no specified users -- see license server system log.
Feature: COMSOLGUI
License path: C:\COMSOL32\license\license.dat
FLEXnet Licensing error: -84,338
For further information, refer to the FLEXnet Licensing End User Guide, available at
"https://www.doczj.com/doc/2117734840.html,".)
在授权管理器日志文件中,有如下信息:
17:01:00 (LMCOMSOL) USER_BASED license error for COMSOLGUI (INCLUDE missing)
17:01:00 (LMCOMSOL) Please ensure that no more than 1 users for COMSOLGUI
17:01:00 (LMCOMSOL) are in an INCLUDE list in the daemon options file.
17:01:00 (LMCOMSOL) USER_BASED license error for SCRIPT (INCLUDE missing)
17:01:00 (LMCOMSOL) USER_BASED license error for SCRIPTPROMPT (INCLUDE missing)
17:01:00 (lmgrd) LMCOMSOL using TCP-port 54848
17:02:47 (LMCOMSOL) DENIED: "COMSOLGUI" andy@linux (USER_BASED license has no specified
users -- see license server system log. (-84,338))
17:02:56 (LMCOMSOL) DENIED: "COMSOLGUI" andy@linux (USER_BASED license has no specified
users -- see license server system log. (-84,338))
解决方法:
更新 COMSOL 授权管理器配置文件:LMCOMSOL.opt。在 COMSOL 3.2 的授权文件 license.dat 中,每一个
带有关键词 USER_BASED 的 FEATURE 行中,必须在 LMCOMSOL.opt 有对应的 INCLUDE 行。不过,在
COMSOL 3.2 的安装指南的第 29 页的

配置文件的样本是不完整的,该文件还含有 COMSOLGUI, SCRIPT, 和
SCRIPTPROMPT 的 INCLUDE 行,这些特征是从 3.2 版本才引入的。
例如,如果授权包含 COMSOL Multiphysics 3.2 和 Electromagnetics 模块,'andy'是有权使用 COMSOL
Multiphysics 的用户,配置文件应该是这样:
INCLUDE COMSOL USER andy
INCLUDE COMSOLGUI USER andy
INCLUDE EM USER andy
INCLUDE SCRIPT USER andy
INCLUDE SCRIPTPROMPT USER andy
配置文件中的行数依赖于授权文件中的 COMSOL 产品数量。
在 UNIX/Linux 上,配置文件还可以用下面的命令创建:
cd /usr/local/comsol32/license
grep USER_BASED license.dat > temp.opt
awk '{print "INCLUDE "$2" USER andy"}' temp.opt > LMCOMSOL.optMEMS 交流网 https://www.doczj.com/doc/2117734840.html,
确保用正确的用户名替换'andy'。
当配置文件被更新后,请停止和重启授权管理器:
./lmdown -c license.dat
./lmgrd -c license.dat -L /var/tmp/comsol32.log
COMSOL 支持 Mac Intel 平台吗?
支持,详情请参考系统需求:
平台 操作系统 处理器
Windows 2000 with Service Pack 4 或更新
32-bit windowsWindows XP with Service Pack 2 或更新
Windows Vista
Pentium Ⅲ或更新
Windows XP Professional x64 Edition with Service
64-bit windowsPack 2 或更新
Windows Vista
AMD64 的 AMD 或 EM64T 的 Intel
32-bit Linux Linux 2.4.x kernel, glibc-2.2.5 或更新 Pentium III 或更新
64-bit Linux Linux 2.4.x kernel, glibc-2.3.2 或更新 AMD64 的 AMD 或 EM64T 的 Intel
Itanium Linux 2.4.x kernel, glibc-2.3.2 或更新 Itanium 2
Sun Solaris 8, 9, 10 UltraSPARC II 或更新
Mac, Power PC Mac OS X 10.3.1, 10.4, 10.5 Power PC
Mac, Intel Mac OS X 10.4.8, 10.5 Intel
当在 Sun 上启动 COMSOL 3.3 授权管理器时,为什么会得到提示缺失
符号的错误信息?
问题详细描述:
当启动 lmgrd 时,出现下面的错误信息:
ld.so.1: LMCOMSOL: fatal: relocation error: file LMCOMSOL: symbol B4: referenced symbol not found
解决方法:
在 COMSOL 3.3 发行版的 CD 中,没有正确地安装 Sun 平台的授权管理器,此时需要使用 COMSOL 3.3a
CD/DVD 进行安装,另一方法是按照下面的步骤更新单独的文件:
Sun 32 位MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
? 到 https://www.doczj.com/doc/2117734840.html, 相关区下载 LMCOMSOL_sol2.tar
? 使用 cd 指令进入 COMSOL 3.3 安装目录,例如
cd /usr/local/comsol33
? 运行下面的指令安装补丁,如果您没有运行命令的权限,请咨询您的系统管理员
tar xvf {Download directory}/LMCOMSOL_sol2.tar
Sun 64 位
? 到 https://www.doczj.com/doc/2117734840.html, 相关区下载 LMCOMSOL_sol64.tar
? 使用 cd 指令进入 COMSOL 3.3 安装目录,例如
cd /usr/local/comsol33
? 运行下面的指令安装补丁,如果您没有运行命令的权限,请咨询您的系统管理员
tar xvf {Download directory}/LMCOMSOL_sol64.tar
当在 Windows 上安装 COMSOL Multiphysics 3.4 时,出现错误信
息:“发生致命异常,程序将退

出”,或“不合要求的链接”,或“致命错
误”。
该错误之所以会发生,是因为在 Windows 系统中没有安装运行库 VS C++ 2005。
错误信息例图
要解决该问题:
1. 退出安装程序。
2. 在 COMSOL 3.4 安装盘的 CD1 或 DVD 的根目录下找到 vcredist_x86.exe,双击来运行它。
3. 重新进行安装。MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
当插入 COMSOL 3.4 安装 DVD 时,Windows 系统重启或显示蓝屏
挂起。
我们从一些没有按正确方法对 Windows 操作系统进行升级的用户那里收到这种错误信息,解决办法就是升
级 Windows 系统,有两种办法可以升级 Windows 系统:
1. 右键点击“我的电脑”,从菜单中选择“属性”,点击“自动升级”标签,点击正确的单选键,然后点击
确定。等待系统自动进行升级。我们推荐下面的一种方法:
2. 到 https://www.doczj.com/doc/2117734840.html,(需要 Microsoft Internet Explorer 5 或更高版本)手动进行升级。
如果您的电脑因为安全的原因而没有连接到因特网,请与系统管理员联系如何升级 Windows 操作系统。
COMSOL Multiphysics 能计算磁力吗?
是的,可以计算如下三种方法活动电磁力:
1. 计算洛伦兹力
2. 虚位移方法
3. 麦克斯韦应力张量
载流导体所受的力,用电流密度向量和磁感应通量密度向量的向量积(J x B)计算得到。计算结果是力的密
度,用 COMSOL Multiphysics 的积分功能对其进行积分可以得到求解域的总受力。这就是所谓洛伦兹力。
当考虑磁偶极子贡献时,不能使用洛伦兹力方法,而应该使用虚位移方法,它能用于计算一组被空气所环
绕的物体所受的力。AC/DC 模块中的 cemforce 和 cemtorque 程序使用了这种方法。该方法中,力由系统
总能量差除以求解域的微小位移差得到。注意 cemforce 和 cemtorque 只适用于线性拉格朗日单元,不能
用于所有阶数的向量单元。
麦克斯韦应力张量是用等效表面压力取代物体受力的方法。也就是说,表面力像体积力分布那样产生了同
样的合力和力矩。
? 洛伦兹力方法请参考准静态电磁模块的模型库案例“线性电动马达”。
? “cemforce”方法请参考准静态电磁模块的模型库案例“线性动圈马达”
? 麦克斯韦应力张量方法请参考准静态电磁模块的模型库案例“永久磁铁”和“平行载流电线的电磁
力”。
力矩
对于力矩计算,可使用求解域设定对话框的“力(force)”标签。必须指定一个旋转的中心点,从而得到围
绕此点的力矩在三个轴上的分量。因此也能计算围绕任意轴的力矩。MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
? 麦克斯韦应力张量方法计算力矩请参考准静态电磁模块的模型库案例“机械动力对称发电机”。
COMSOL Multiphysics 可以导入图片

吗?
是的,在 MATLAB 可以用一个函数(imread)从文件读取图像,BMP, JPEG, PNG, 和 TIFF 格式的图片可
以被转换成 2 维或者 3 维的几何体。在工作空间中,imread 函数将图片转化成矩阵格式。其它一些相关函
数,如 imwrite 用来保存图像,imagesc 用来显示矩阵格式的图像。要获得更多函数的信息,请参看 COMSOL
Multiphysics Scripting Guide。您也可以在 COMSOL Multiphysics Command Reference 中找到这些函数及
其说明。
由图片创建 2 维和 3 维几何体
用 flim2curve 函数来实现由图片到 2 维几何曲线的转变。
一个 3 维的几何实体可以由一系列图片通过数据插值来创建。简言之,需要用户自己定义一个函数 myfun
(x,y),使用 imread 读取图片,提取像素并插值成 COMSOL Multiphysics 网格。创建一个简单的几何体
(立方体或者椭球体),通过 myfun 函数导入图片数据。可以参考“数据导入”来获得更多关于数据插值的
信息。这是到目前为止处理非均一材料最有效的方法,在 COMSOL Multiphysics 模型库中“岩石裂隙流模型”
就采用了这种方法。
大图片
如果您的图片较大,就会花比较长的时间来完成导入。为了节省计算时间在导入之前用户常需对图片做些
处理,降低图片的像素。最简单的方法是分别在 x、y 方向提取每个次像素点。更高级的方法是在减少象素
点前进行柔化处理。
导入有噪点的图片
解决办法是模糊处理图片数据。很多时候将导入的几何体是被用来求解扩散方程(泊松方程类型),这种
情况下,图片中的高频被模糊掉是无关紧要的。因为扩散方程本身是一个低通滤波方程,方程将“不会看到”
几何体微小的细节。也就是说,对于具有凹凸不平边界的几何体和光滑边界的几何体,你会得到一个相似
的结果。
导入网格
Simpleware(参看 https://www.doczj.com/doc/2117734840.html,/)能够转换图片为网格格式,进而导入到 Comsol
Multiphysics 中。这一格式(.mphtxt)是个文本文件,包含结点坐标和单元信息。更多关于格式的信息可
以参考 Comsol Multiphysics User’s Guide 中网格章节的内容。因为图片直接转化成网格,而非如上面提到
的几何对象,所以在 Simpleware 中进行处理是一个不错的选择。MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
COMSOL Multiphysics 能处理左手手性材料吗?
简介
左手材料(或介质)在光学和电磁领域是一种重要的材料,在蜂窝通讯和无线技术,诸如光子学/光学等领
域,有着极其重要的商业意义,下面是对该领域描述的链接:
https://www.doczj.com/doc/2117734840.html,/lhmedia/whatis.html
https://www.doczj.com/doc/2117734840.html,/~drs
COMSOL Multiphysics 与左手材料
引入负介电常数和负磁导率,COMSOL Multiphysics 可以轻而易举处理由左手

材料问题。下图是使用
COMSOL Multiphysics 对左手材料建模的案例,模型中间区域的材料具有负介电常数和负磁导率,μr = εr =
-1,在左边界上对波导激励。如预期的那样,电磁波能量(箭头方向)自左向右流动,但是在中间区域相
位发生了变化。
需要注意的是,为了避免数值解的不稳定,该案例并未如普通材料(右手材料)那样在左手材料的属性中
设置精确值(仅设置了负值)。如果在公共边界上划分优质网格,那么将左手材料的材料属性设置成与右
手材料的材料熟悉的负数值相近(即两者的绝对值相近),也是可行的。
利用这些属性,COMSOL Multiphysics 还可以对周期结构进行建模。
错误信息“奇异矩阵”意思是什么?
当求解线性问题时刚度矩阵是奇异矩阵,线性求解器无法求逆,就会出现这个提示。例如有以下操作时会
出现这个问题:
? 待求解问题(包含边界条件的方程式系统)条件太多或不够。检查方程和边界条件,如果定义了
不适定的初始条件,则常常会发生矩阵奇异错误。查看初始条件设定,并设定为有依据的猜测值。
另外一种情况就是在不允许求解周期性边界的问题,采用了这样的边界条件。还有一种情况是
Navier-Stokes 方程的边界上未约定压力,也许需要定义一些点约束。
? 依据求解变量的导数指定了一个因变量,而非线性系统的缺省初始猜测值是一个常数(使得求解
导数的初始猜测值的因变量为零),这会引起方程变得奇异。解决方法是,指定一个非零导数的初MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
值,比如 1e-6*sqrt(x^2+y^2+z^2)。当定义非线性材料时经常会发生这个问题,例如非线性磁
材料(磁饱和度效应)。要获取更多信息,请参考“如何对非线性磁性材料建模”。
我想跟踪两个不相混溶流体之间的界面,听说有几种技术,
如流体体积法,水平集方法,以及 ALE 动态网格技术。这
些方法有什么差异,我应该用哪一种方法?
? 流体体积法使用离散函数来跟踪界面,水平集方法使用一个平滑函数
的等值线来描述界面。典型的水平集方法给出了更高精度的表面张力和界面位置,
但它不能保证质量守恒。不过 COMSOL Multiphysics 使用改良的水平集方法,可以
调整模型保证得到较好的质量守恒性。
ALE 动网格技术通过持续改变求解域网格来适应每个流体域的当前形状,当没有拓扑结构
的变化时,ALE 方法具有优势,它在模拟流-固耦合问题有优势。请参考问与答的《水平
集方法处理两相流》得到更多的关于这些方法之间的差异。
错误信息:License error -15 Cannot connect to license server
system
问题详细描述:
"Details"窗

口显示的信息为:
Exception:
com.femlab.jni.FlNativeException: License error -15 Cannot connect to license server system
Messages:
License error -15 Cannot connect to license server system
Stack trace:
at license.cpp, row 89, (Cannot connect to license server system.
The license server manager (lmgrd) has not been started yet,
the wrong port@host or license file is being used, or the
port or hostname in the license file has been changed.
Feature: COMSOLGUIMEMS 交流网 https://www.doczj.com/doc/2117734840.html,
Server name: myserver
License path: C:\COMSOL34\license\license.dat
FLEXnet Licensing error:-15,10. System Error: 10061 "WinSock: Connection refused"
For further information, refer to the FLEXnet Licensing End User Guide,
available at "https://www.doczj.com/doc/2117734840.html,".)
解答
该错误说明当 COMSOL 应用程序连接运行在授权服务器上的授权管理器时有问题,这可能是授权管理器故
障,或网络问题。TCP/IP 必须能同时正常运行在授权服务器和 COMSOL Multiphysics 客户端上。
请使用下面的检查列表来调试:
1. COMSOL 授权管理器还没有安装或启动。如果您的 license.dat 文件的第一行信息类似于:
SERVER mylicserver 000123456789 1718
就需要一个授权管理器,请参考 COMSOL 安装指南中的“安装授权管理器”章节来了解如何安装和
启动 COMSOL 授权管理器。
2. 检查在 COMSOL 客户端上是否有防火墙阻止该客户端与授权服务器之间的连接。可临时关闭
COMSOL 客户端上的防火墙,看看能否解决问题。
3. 检查在授权服务器上是否存在防火墙阻止 COMSOL 客户端连接到授权管理器。
4. 检查在 COMSOL 客户端上的 license.dat 指向正确的授权服务器主机名。首先,在 COMSOL 安装
文件夹下找到 license.dat 文件:
PC/Windows: C:\COMSOL34\license\license.dat
UNIX/Linux: /usr/local/comsol34/license/license.dat
Mac OS X: /Applications/COMSOL34/license/license.dat
检查第一行的授权服务器主机名是否正确,例如,如果授权服务器主机名为"mylicserver",在
license.dat 文件的第一行应该象这样:
SERVER mylicserver 000123456789 1718
如果 COMSOL 客户端没有将"mylicserver"识别为正确的主机名,可以尝试改为完整有效的域名(例
如):
SERVER https://www.doczj.com/doc/2117734840.html, 000123456789 1718
或 IP 地址(例如):
SERVER 123.456.789.123 000123456789 1718
如果这些主机名都不起作用,可能是客户端的 DNS 或 HOSTS 文件有问题。请咨询系统管理员,
了解如何使用 TCP/IP 连接到授权服务器。
5. 授权管理器在启动时遇到问题。请检查授权管理器的日志文件,了解错误信息,该日志文件一般
放在:
PC/Windows: C:\COMSOL34\license\comsol34.log
UNIX/Linux/Mac OS X: /var/tmp/comsol34.logMEMS 交流网 https://www.doczj.com/doc/2117734840.html,
注意:授权管理器启动时自动创建日志文件。
FLEXnet Licensing error:-103,577 错

误信息
问题详细描述
遇到一个错误信息,当点击 "Details>>" 按钮时出现如下日志信息:
Exception:
com.femlab.jni.FlNativeException: License error
Messages:
License error
Stack trace:
at license.cpp, row 106, (Terminal Server remote client not allowed.
Feature: COMSOLGUI
License path: C:\COMSOL34\license\license.dat
FLEXnet Licensing error:-103,577
For further information, refer to the FLEXnet Licensing End User Guide,
available at "https://www.doczj.com/doc/2117734840.html,".)
解决办法
您可能试图通过远程桌面访问 Windows XP 或 Vista,或者通过终端服务访问 Windows 2003 服务器,但是
单机版(NSL)不允许这样通过网络访问 COMSOL。
解决办法是在安装程序的计算机上通过终端方式运行 COMSOL。
请联系当地的 COMSOL 代理,咨询正确的通过网络访问 COMSOL 的授权方式。
启动程序时出现错误信息"License Error"
问题详细描述
我有一台 PC/Windows 或 Macintosh 计算机,有 COMSOL Multiphysics 的 NSL/CPU 授权,我的 COMSOL
授权文件被锁定到一张网卡上。程序有时候运行正常,但有时候当我启动程序时出现错误信息“License
Error”,当我点击错误信息对话框中的”Details>>”按钮时,信息如下:MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
Exception:
com.femlab.jni.FlNativeException: License error
Messages:
License error
Stack trace:
at license.cpp, row 92, (Invalid host.
The hostid of this system does not match the hostid
specified in the license file.
Feature: COMSOLGUI
Hostid: 00087493d11c
License path: C:\COMSOL34\license\license.dat
FLEXnet Licensing error:-9,57
For further information, refer to the FLEXnet
Licensing End User Guide, available at "https://www.doczj.com/doc/2117734840.html,".)
该问题常发生在装有电源管理软件的笔记本上。例如,如果使用无线网卡,本地连接可能被取消(只要拔
掉网线就常常发生),当网络连接被取消时,相应的 FLEXnet HostID(网卡地址)就丢失了,结果就是 COMSOL
无法找到所需的正确的授权信息。
解答
请按如下步骤操作:
1. 打开 COMSOL34\license\license.dat,找到 HOSTID=关键词后面的 12 位数字,如下是一个样例:
FEATURE SERIAL LMCOMSOL 3.4 permanent uncounted VENDOR_STRING=C,10000 \
HOSTID=ANY PLATFORMS=i86_n SN=1015904 SIGN=F918F014D32E
FEATURE COMSOL LMCOMSOL 3.4 permanent uncounted HOSTID=00087493d11c \
PLATFORMS=i86_n SIGN=72164A7264CA
FEATURE COMSOLGUI LMCOMSOL 3.4 permanent uncounted \
HOSTID=00087493d11c PLATFORMS=i86_n SIGN=AAD4E1708AC0666
该文件被锁定到 HostID 00087493d11c。
2. 该 12 位数字应该对应于您的一个网卡。
3. 检查该网卡的电源管理设定,取消所有可能会关闭网卡的选项。
为什么我会得到这样的错误信息“几何分解内部错误”?
这个错误提示通常意味着 Comsol Multiphysics 在剖分网格时分解几何关系失败。如果您的几何模型

由几部
分组成,当退出绘图模式时,这些对象就会自动组合。各部分之间的组合非常复杂的时候,就会发生错误。MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
当几何模型缺乏精度,或者导入低精度的 CAD 模型,又或者画几何模型时精确匹配各个部分存在困难时,
就会得到代表这一类问题的典型的错误提示。另外,在复杂的几何模型中,存在长宽比很大的表面,相邻
的边的角度很尖锐,或很小的实体等,也会出现这种错误提示。
Comsol 装配特性能够防止复杂几何模型合并成单一的几何体。用各个组成部分分别作为一个独立部分,以
代替一个几何模型的处理办法可以避免由此产生的错误。您需要用“一致对”来建立各个部分的物理连接。
在 COMSOL Multiphysics 电磁模块的模型库中有一个算例(Thin Film Resistance model)用到了这一功能。
现在让我们来看看有没有其他方法解决这个问题?
? 如果你的软件版本不是最新版本,请更新为最新版本。有时候新版本中改进的功能会使这些问题
不再成为问题。最新版本的下载地址:https://www.doczj.com/doc/2117734840.html,/support/updates/
? 改变几何模型。简化或者避免小的结构,尽量消除弯曲、窄的交叉,删除不必要的部分。
? 从一个简化的几何模型开始,确定模型可以求解并能给出合理的结果,然后再增加模型的复杂程
度。当逐步将几何模型复杂化的同时要确信增加的部分能够给模型带来变化。
? 在绘图模式要处理多个对象时,用创建合成对象对话框(Create Composite Objects)来生成对象
之间的组合关系是个不错的方法。理想状态下,以配对的形式完成。在这个对话框中用户可以设
定补救容差使得运算法则可以智能的考虑缺陷并修补他们。当得到错误提示时,尝试设定不同的
容差来调试模型。
如果这些建议对您没有帮助,请不要犹豫,发送您的模型到我们 COMSOL 技术支持信箱:
https://www.doczj.com/doc/2117734840.html,/support/contact/ 或者 support@https://www.doczj.com/doc/2117734840.html,。我们将对问题进行测试并寻求解决办法。
换句话说,通过发送这种问题,您将对 COMSOL 软件的发展做出贡献。
Comsol Multiphysics 给我的错误信息意味着什么?
Comsol Multiphysics 帮助文件包含了一个章节,概述并简短的解释了最常见的错误和求解信息。所有的错
误信息依据下面的表格被编号和分类。
编号 类别
1000-1999 导入模型
2000-2999 几何模型
3000-3999 CAD 导入
4000-4999 网格生成
5000-5999 点、边、边界和求解域说明
6000-6999 网格生成
7000-7999 求解器
8000-8999 后处理MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
9000-9999 通用的
可以通过 Comsol Multiphysics 的图形操作界面打开帮助文档(HTML/PDF)。从浏览器的帮助菜单中选择帮
助文档的格

式 HTML 或者 PDF。选择 Comsol Multiphysics=>command reference=> Diagnostics(倒数第
二章)可以找到错误信息。在这里你可以发现最常见的错误列表及求解信息。
在 CSOMSOL 知识库中,您可以找到更多关于错误提示的信息,以及怎样避免它们,例如:
几何分解内部错误
奇异矩阵
求解失败;甚至用最小阻尼系数也不收敛
内存溢出
知识基础也包含了 license 管理错误。可以找到最常见的 license 问题及其解决方法。
License 错误-15 不能够链接 license 服务器
有因特网防火墙的 license 管理器怎样设置
在 SuSE Linux 10.3 或 Fedora Core 8 上启动 COMSOL 时出现错误
问题详细描述
在 SuSE Linux 10.3 或 Fedora Core 8 上启动 COMSOL 时出现如下错误提示:
java: xcb_xlib.c:52: xcb_xlib_unlock: Assertion `c->xlib.lock' failed. /usr/local/comsol34/bin/comsol: line
1655: 4457 Aborted ${JAVA} ${JVMARGS} ${CLTMPARG} -classpath ${FLCP} ${SHOWVERSION}
${MAINCLS} ${APPLARGS}
解答
首先,确保您的操作系统已经通过在线升级的方式升级到了最新版本,如果这样还是报错,请按下面的步
骤操作:
在文本编辑器中打开 comsol34/bin/comsol,在文件的最上面添加下面两行:
LIBXCB_ALLOW_SLOPPY_LOCK=1
export LIBXCB_ALLOW_SLOPPY_LOCKMEMS 交流网 https://www.doczj.com/doc/2117734840.html,
在 32 位 Debian Linux 3.1 上启动 COMSOL 3.4 with MATLAB
2007a 或 MATLAB 2007b 时,出现错误
问题描述
在 32 位 Debian Linux 3.1 上启动 COMSOL 3.4 with MATLAB 2007a 或 MATLAB 2007b 时,出现如下错误:
Exception:
https://www.doczj.com/doc/2117734840.html,ng.UnsatisfiedLinkError: /usr/local/comsol34/lib/glnx86/libfldynload.so: libstdc++.so.6: cannot
handle TLS data
(rethrown as com.femlab.util.FlFatalException)
Messages:
Fatal error.
- Type: UnsatisfiedLinkError
解答
有两种解决方法:
1. 升级到 Debian Linux 4.0 或更高版本(首选)。
2. 分别启动 comsol matlab server 和 comsol client,在 Linux 命令提示窗中运行命令:
comsol matlab server
启动 MATLAB 及设定路径来运行 COMSOL Multiphysics,并在 MATLAB 进程中启动 COMSOL 服务
器,在另一个 Linux 命令提示窗运行:
comsol client
启动 MATLAB 之外的 COMSOL Multiphysics 客户端界面,在设定页,键入计算机的主机名作为服
务器名,以及在 MATLAB 命令窗中出现的端口号作为服务器端口。
有时候模拟的几何对象是一个狭长或者扁平的几何体,由于 COMSOL
Multiphysics 缺省生成的自由网格是尽可能均匀的三角形/四面体,这
意味着在狭长(扁平)区域会生成大量的网格,同时,长宽比差异太大
会引起剖分网格时失败。MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
扫掠网格
减少网格单元的一个方法是在某个边界面上创建网格,然后从源边界到目的边界扫掠生成网格。扫掠的一
个优点是可以控制单元层的数量和分布

;另一个优点是网格单元的数量会降低很多。如果三维的求解域包
含可以作为源边界和目的边界的两个边界,就可以从一个边界到另一个边界自由扫掠或者生成映射网格。
求解域可以是任意形状。
例子
这个算例是一个薄片的几何体,如下图左图所示。如果选择自由生成网格,要么会遇到内存溢出,要么会
生成大量的网格。要解决这个问题,请遵循如下的步骤:
? 从网格下拉菜单打开映射网格参数对话框。
? 选择源边界(适宜的边界是窄的边界),在预定义的网格尺寸下拉列表中,或者在边标签中手动输
入单元数量指定网格数量。
? 点击网格选择按钮,就会看到如下面右图所示的网格。
注意:有时候为了能够在边界生成网格,可能需要在几何中增加辅助线。
? 打开网格菜单下的扫掠网格参数对话框。
? 选择感兴趣的求解域,选中单元层手动指定选择框,在单元层数编辑框中输入你想要的层数。
? 点击网格选择按钮,结果如下图所示。MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
拉伸网格
如果几何模型是由二维拉伸成而成三维,可以在二维模型中生成网格(自由或者映射),然后拉伸成三维
网格。拉伸网格同扫掠网格有相同的优点。需要注意的是,不需要返回二维几何重新生成网格,可以用扫
掠网格参数对话框来重新生成网格。
比例缩放网格
另外一个减少网格单元数的方法是,在剖分网格之前按比例缩放窄边方向,然后将网格缩放回来,以便它
能够与原始模型匹配。根据经验,可以放大网格 3-5 倍而不会丢失太多精确性。有时候 5-10 倍的比例放大
也是可以接受的,这一处理过程在图形操作界面完成。在自由网格参数对话框的高级选项,可以输入想要
缩放网格的比例。这个操作可以在二维和三维几何体执行。
进一步的阅读和练习请参考:COMSOL Multiphysics 用户手册网格剖分章节。
COMSOL Multiphysics 中自由度(DOF)是什么意思
求解时间和内存需求与模型中自由度的数量密切相关。模型中的自由度数量可以从单元数量来估算。
对于大多数应用模式,每个独立变量都体现在所有的网格结点上。这意味着自由度数等于节点数乘以独立
变量个数。节点数与单元数的关系取决于单元的阶数,2D 和 3D 是不同的。这种关系仅仅是近似的,因为
它依赖于几何边界上的单元比例。对于窄条形的几何,有很大比例的单元是位于边界上的,每个单元的节
点数就会稍多。
下面是2D和3D拉格朗日单元的节点和单元数量的近似关系。四边形网格有大约两倍于三角形网格的节点。
六面体网格有大约 6 倍于四面体网格的节点。
2DMEMS 交流网 http://www.memse.

com
? 线性三角形单元: (#nodes) = 0.5 * (#elements)
? 线性四边形单元: (#nodes) = 1 * (#elements)
? 二阶三角形单元: (#nodes) = 2 * (#elements)
? 二阶四边形单元: (#nodes) = 4 * (#elements)
? 三阶三角形单元: (#nodes) = 4.5 * (#elements)
? 三阶四边形单元: (#nodes) = 9 * (#elements)
3D
? 线性四面体单元: (#nodes) = 0.2 * (#elements)
? 线性砖形单元: (#nodes) = 1.2 * (#elements)
? 二阶四面体单元: (#nodes) = 1.4 * (#elements)
? 二阶砖形单元: (#nodes) = 8.5 * (#elements)
? 三阶四面体单元: (#nodes) = 4.6 * (#elements)
? 三阶砖形单元: (#nodes) = 28 * (#elements)
总的自由度的数量由下式给出:
(#degrees of freedom) = (#nodes) * (#dependent variables)
自由度数=节点数量*独立变量个数
可以在网格统计对话框中看到总的单元数和自由度数。需要注意的是自由度数并不是唯一的决定内存需求
和求解时间的因素。更多关于怎样避免内存溢出的信息,请参考知识库“处理内存敏感的模型”。
高反应速率(高 Ri),或更常见的大源项,会产生收敛性问题,如何
解决
问题描述
高反应速率(高 Ri),或更常见的大源项,会产生收敛性问题,经常会看到错误提示信息:"No convergence,
even when using the minimum damping factor",或"NaN repeatedly found in solution"。那么如何解决这
种问题呢?
? 尝试使用递减的源项,然后逐渐增加,在前面的解基础上求解,直到得到自己想要的结果。下面的案例
中使用了参数化求解器来逐渐增加源项。
1. 将反应速率(源项 Ri)乘上一个变量,例如“k”。
2. 在求解器参数对话框中,选择参数化求解器,并将变量名称指定为第一步中乘数因子,k。
3. 在参数变量列表中指定递增的值,从很小的值开始,直到递增到 1,例如,"1e-3 1e-2 1e-1 1",
点击确定。MEMS 交流网 https://www.doczj.com/doc/2117734840.html,
4. 点击求解。
现在 COMSOL Multiphysics 开始从第一个乘子开始求解,如果求解成功,COMSOL Multiphysics 将以此结
果为初始值来求解下一个参数值。这个过程持续下去,直到最后一个参数值。因为这里指定最后一个值为
1,所以最后的结果就对应于您所需要的结果。
? 使用瞬态求解器。将稳态问题变成瞬态,通常可以得到更平滑的收敛。
1. 在求解器参数对话框中选择瞬态求解器,指定时间步长,例如"0 1e3"。
2. 点击确定,点击求解。
确保求解的时间足够长,这样结果不再随着时间而变化,达到稳态的结果。这样,COMSOL Multiphysics
求解出稳态结果!
? 如果上面这些方法都没法解决问题,请尝试在源项很大的区域使用精细的网格,并结合上述方法。
如何获取一个 FLEXnet(正式名称 Flexlm)的 Hostid?
COMSO

相关主题
文本预览
相关文档 最新文档