从原理上来说,COMSOL 的多场耦合是先将用户设置的模型转化成数学方程,然后所有的方程一起离散化,使用相同的底层内核求解,计算过程中所有的方程(代表着各自的物理场)共同参与计算,可以参考下图。
而其他软件的耦合经常是这样的:
COMSOL 的耦合方式带来的优势是非常明显的,这也是它作为多物理场仿真软件的优势所在。
首先,用户在问题设置的时候可以自由的设置物理场之间的耦合形式,非常自由,不受物理场、耦合形式等等条件的限制,实现起来也非常容易,不需要编写用户子程序。
其次,由于底层同时计算,耦合问题的计算精度得以保证。
最后,用户随时可以对问题进行扩展,考虑更多的物理效应。
学术界COMSOL 工业界ANSYSCOMSOL自由度更高,可以在UI上直接定义PDE。不过这个自定义的PDE究竟能不能解并不好说,而且很多时候是很不好说。ANSYS工业界大量使用,可靠性强,不如COMSOL灵活。如果只是标准拟合(不对governing equation进行改造)的话ANSYS高效直接。如果需要深度拟合,不在意时长的话COMSOL更适合你,更何况还有LiveLink for MATLAB 这个核武器。
我的感觉是ansys长于固体而comsol长于流体,二者都是有限元。
但是comsol在做流体时准确性不如基于有限体积的fluent。
ansys的研究方向是基于电磁领域,它是这方面的大师,权威级别的,我们本科学习一般是HFSS来作为各种仿真,它的资料是非常全面的,适合新手入门,因为网上有非常多具体流程的操作步骤,完全就是一步步教你,只需要研究一两本理论书的工具部分就足以应对大多数的电磁设计。比如说天线、微带线。comsol是从MATLAB里面分出来的有限元模块,功能强大,关键是跟MATLAB有接口,这是非常便利的一部分功能。它是多元化的,化学、生物、电磁、光电、PCB、腐蚀等等各个领域都有。前者是精深,资料丰富,老牌权威,后者是简易、资料尚在完善、新手黑马。同时,二者都是基于FEM算法的,换句话说,后者更广泛,但前者因为时间比较久,人群比较大。
教学任务等级,前者是比较精深的,需要较高的理论基础,物理学、电磁波和微波这部分知识,你是肯定要懂得,不然没法操作,脑子没思路。所以这一般是作为211、985重点学科或者研究生学习所用,后者嘛……大家都懂。你想完成某个课程设计任务,简单操作,它里面甚至有对应的模型建立,一步步教你的。门槛较低,我是目测感觉COMSOL会很可能替代HFSS的。现在COMSOL已经有V4了,是在不断完善的
。
我推荐是COMSOL5.0版本。网上有下载和安装教程。都不难。HFSS当然也有,下载和安装也不难。在电磁领域上,二者我使用对比,模型建立、物理参数、结果分析,看来好像并没有太大的区别。
花了三年时间去熟悉comsol, 后来也因为种种原因强迫自己用ansys(fluent)。 我发现如果初学的话, 我比较喜欢comsol, 他很多设计更加人性化,对错误的纠正也比较及时反应出来。如果有心, 几周可以学会基本运作,ansys 没那么多人性化的设定, 但ansys 跑的程序比较高效一点。 打开一个较大的模型不需要等太久(注意, 只是打开!, 运算时间取决于网格和模型的各个因素)。 虽然ansys 比comsol 难用, 虽然ansys 的界面比较丑, 虽然我用comsol 的时间比较长, 但如果问我长远会用哪一个建模软件, 我会选择ansys。 因为我个人觉得ansys 比较偏向commercial, comsol 比较偏向研究。