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 的兼容性进行测试。
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) 绘图指令在模型的角边产生一个圆角,使其应力值有限。
一致性边界条件(identity condition)有什么要求?
当使用一致性边界条件(identity condition)来耦合不同网格时,必须是从较疏的网格结构耦合到较密的网格结构,需要先选择较系数网格的几何窗口再开启一致性边界条件(identity condition)。
如何自定义坐标系统
COMSOL Multiphysics 允许用户自定义坐标系统,我们可以使用软件自带的函数进行坐标系统设定。例如:
1.3D 球坐标系
选择Options > Expressions > Scalar Expressions,在对话框中输入: r=sqrt(x^2+y^2+z^2)
phi=atan2(y,x) theta=acos(z/r)
2.2 D 极坐标
选择Options > Expressions > Scalar Expressions,在对话框中输入: r=sqrt(x^2+y^2)
phi=atan2(y,x)
sqrt, atan2 及 acos 均为comsol 內建函数
如何察看任意截面的变量曲线?
菜单栏选择后处理>剖面参数。弹出剖面参数对话框。选择所要输出的变量曲线。点确定后即可输出曲线图。
本文转自:公众号-有限元仿真分析
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 的兼容性进行测试。
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) 绘图指令在模型的角边产生一个圆角,使其应力值有限。
一致性边界条件(identity condition)有什么要求?
当使用一致性边界条件(identity condition)来耦合不同网格时,必须是从较疏的网格结构耦合到较密的网格结构,需要先选择较系数网格的几何窗口再开启一致性边界条件(identity condition)。
如何自定义坐标系统
COMSOL Multiphysics 允许用户自定义坐标系统,我们可以使用软件自带的函数进行坐标系统设定。例如:
1.3D 球坐标系
选择Options > Expressions > Scalar Expressions,在对话框中输入: r=sqrt(x^2+y^2+z^2)
phi=atan2(y,x) theta=acos(z/r)
2.2 D 极坐标
选择Options > Expressions > Scalar Expressions,在对话框中输入: r=sqrt(x^2+y^2)
phi=atan2(y,x)
sqrt, atan2 及 acos 均为comsol 內建函数
如何察看任意截面的变量曲线?
菜单栏选择后处理>剖面参数。弹出剖面参数对话框。选择所要输出的变量曲线。点确定后即可输出曲线图。
本文转自:公众号-有限元仿真分析