Comsol的优缺点分析

0 评论

一、 Comsol——特立独行的多物理场仿真工具

        说它特立独行,因为它的确和大部分从力学仿真出发的有限元软件有很大不同。在你上手Comsol的时候可能还是会遇到一点困惑。而当你终于入门以后,又会觉得它软件内部的逻辑相当一致且漂亮。

        首先第一点,Comsol在一个界面下实现了所有的物理场、以及从建模 到仿真到后处理乃至优化的全部流程。

        不管是ANSYS、达索还是Altair,这些仿真软件的巨头们都是靠自研+收购成为巨头的。所以不同的物理场、甚至同一个物理场工作流程中不同的步骤都要由不同的工具来做。比如ANSYS的SCDM、Mesh然后接Mechanical或者Fluent,再比如Altair前处理用Hypermesh,OptiStruct求解结束后又有HyperView专门做后处理。不同物理场之间的耦合就要通过软件之间的接口 沟通不同的软件、不同的网格来完成。 

图1 workbench界面

   但Comsol不一样,它支持的所有物理场全都集合在同一个界面下,可以使用同一套网格,同一种操作逻辑,来完成结构、流体、电磁、热分析等各类不同的仿真问题。一排Ribbon界面,从几何-材料-物理场到求解和后处理,GUI全搞定。

图2 comsol GU

   comsol 的好处和坏处都不言而喻。首先坏处是,每一个功能都很难做到最优。几何清理方面Comsol不可能是SCDM的对手;网格划分上也不可能比得过Hypermesh;非线性求解和力学的本构关系上拼不过Abaqus;至于流体,Comsol的流体直接用的有限元法,甚至没有使用有限体积法,就别提和Fluent比精度了。

       但是坦率的讲,Comsol每个模块的功能其实都挺强大的。

   这么做的优点相当厉害。因为所有的物理场都在同一个界面、同一个求解器里完成,所以除了Comsol官方给出的各类多物理场耦合接口外,它还可以非常轻松的完成其他各种复杂的乃至匪夷所思的多物理场耦合操作。所有的材料参数都可以自由地被定义为任意物理量的函数,比如可以随温度变化、随应力变化等等。

        Comsol软件的第二个显著特点是,它是唯一一款将偏微分方程和边界条件的数学表达式写在界面上的软件工具。 

图3 comsol高马赫数喷射器

        这一点让许多初学者和基础不牢的工程师们望而却步,但实际上这却极大地提高Comsol软件的可理解性和可用性。Comsol更多的是一款数学软件,从偏微分方程出发,将有限元法首先看作求解偏微分方程的一种数值方法。其他仿真软件可能更多侧重于工程角度,即使是早年号称非常接近有限元底层实现的ANSYS APDL,上来二话不说让你先选个单元的那货,也没有像Comsol这样直接从数学概念出发来定义物理场和边界条件的。

图4 每个物理场都在界面上写着对应的方程。每个边界条件也都有方程。掌握了基本的界面逻辑后,可以轻松迁移使用不同物理场

        这就让更多没有系统学习过有限元的科研工作者,能够更容易上手。只要有相对好一点的数学物理功底,能理解本专业相关物理现象背后的偏微分方程,就可以开始上手尝试使用Comsol辅助完成他们的研究。Comsol因此获得了许多科研工作者们的青睐。

        而且,由于方程写的非常清楚,Comsol对于变量的命名还有极大的自由度。除了Comsol,大概没有第二款仿真软件居然允许自定义待求的物理场的因变量名字的。你可以将一个固体力学物理场的位移写成u,也可以写成u2,或者任何名字。这些自由的命名加上从不同物理场延伸出来的,面向对象的变量调用方法,也让Comsol具有了极高的多物理场耦合自由度。用户可以将仿真中涉及到的任意变量设置为任意其他变量的函数来实现耦合。 

二、丰富的案例库与技术博客

        Comsol作为有限元仿真软件市场上的一名后来者,之所以能迅速在市场上占据一席之地,它的技术博客和丰富的案例库可谓功不可没。

        其实每一款商业有限元软件的帮助文档里都自带有案例库,每年软件的用户大会还会发布许多用户案例(虽然用户案例不会提供模型下载,但也是一个不错的学习资料来源)。但是比如Abaqus的案例库,翻开会发现许多图片的版本已经比较老旧了。经典的有限元软件,例如ANSYS APDL和Abaqus,其案例库许多还基于文本格式的输入文件。虽然想要访问这些软件的高级功能的确要使用到输入文件,但这种案例格式对用户来说实在不是很友好。

        而Comsol不仅把案例库放在GUI非常显眼的位置,而且每年、每个版本还在一直维护着它庞大的案例库。每一个案例都对应一份详细到令人发指的PDF文档,里面仔细介绍了为何这个案例要做此简化,方程和结果如何,以及细致到比所有教材都更详细的逐步操作指导手册。即使是英文手册大部分单词也都很好懂,照着按部就班做,一定能够重复出相同的分析结果 。

图5 comsol案例

Comsol官方的多物理场案例库和官方视频则是一部不可多得的优秀简明教材。它从有限元法到固体、流体、传热、电磁等物理场,每一个部分都点到为止,以恰到好处的篇幅介绍了每个物理场的基本概念,配上精美的图片,非常适合用来入门学习有限元和多物理场仿真。

如果说在过去,ANSYS在很多人眼里还是一款专业软件,掌握它需要付出艰辛的努力的话,今天Comsol在努力用各种方法,让有限元软件真正回归到一个“工具”的定位。如果你想学习Comsol的话,仅仅是官方提供的学习资料就已经丰富到完全够你用。

三、收敛性与准确度

        不可否认,多物理场耦合计算在本质上就是非线性的,且很容易就会出现算不收敛的情况。许多用户,经常遇到之前的参数都能算,稍微改一下就报错的情况。或者可能网格稍微加密一点,之前调试通过的案例就会出错。其实Comsol在提高收敛性上也做了许多工作。它的求解器的设置项是非常丰富的,考虑到多场耦合的复杂性,也提供了分离和全耦合两大类求解方式供用户选择。

        如果你是正版Comsol用户,甚至还可以把模型发给技术支持工程师,让他们帮你调试收敛性。但其实这项服务用着也没有想象中那么好……卖软件的工程师也不太可能每次都贴身帮你把所有仿真设置项都做完。

        至于它的计算准确度,其实Comsol官方一直声称自己拥有非常完善的软件测试流程和质量监测规范。知乎上云道智造的lanjieying大神曾经写过一个使用Comsol计算不准确的案例,不久后Comsol中国官方的工程师就回复了关于这个案例的细节和Comsol的准确结果。毕竟NAFEMS考试题也算是公开的,作为一家大型的商业软件,其准确度其实没有太多值得怀疑之处。 

相关软件
COMSOL Multiphysics® 是一款适用于各个工程、制造和科研领域的通用仿真软件。软件提供了模拟单个物理场、灵活耦合多个物理场,以及仿真 App 开发、模型管理等工具,附加产品 COMSOL Compiler™ 和 COMSOL
相关阅读