天天看点

COMSOL上手指南

本期我们的重点在于COMSOL与ansys比较软件介绍,通过软件的了解,能够尽快的上手软件操作,并且在最后为大家提供一些我自己整理的参考书籍和教程。

COMSOL Multiphysics是一款有限元计算模拟软件,相比于普遍流行的有限元软件ABAQUS、ANSYS等,它仍旧是一款小众的软件。但是它基于Matlab发展而来,解决了工程中最为棘手的问题-上手困难。COMSOL对于新手用户比较友好,主要体现在以下几点:

  1. 界面简洁,配置有多种语言,对于英语薄弱用户也毫无压力。
  2. GUI易懂,效果可视化做的比较好
  3. 新手的知识背景不需要足够充分就可上手操作
  4. 界面支持随时用帮助文件进行学习

除此以外,COMSOL光学仿真自己将物理方程编译进模块,从网格划分,研究步骤,求解器配置等都已集成,除非对于特定问题的研究需求,这些步骤以及背景知识可以完全交给软件解决,用一个“黑匣子”形容也不为过,因此对于工程设计具有极大的优势,因此也注定这款软件的主打市场应该是商用,用于科研仅仅是为了辅助作用。另外,对于多物理场的研究,软件能够实现自动耦合变量关系,省去了耦合方程的输入,对于目前的多物理场模拟中具有极大的优势。

COMSOL上手指南

首先来熟悉软件的操作界面,对于新手来讲,软件构件的模型树遵从自上而下,自外到内的建模流程。如何理解这句话呢?对于COMSOL的操作,首先是构建物理模型,然后选择对应研究的物理场,然后添加网格,设置研究类型,然后进行求解计算,这就是自上而下。对于某一个节点下的定义,先从宏观角度进行定义,例如添加多孔电极域条件,然后再定义微观的物理现象。例如定义好多孔电极之后,在这个域节点下面有多孔电极反应和粒子插层这两个子节点,这两个节点详细的描述在多孔电极内部的反应,这就是自外到内。

在一个具有维度的组件下面,总共有五个重要的节点。依次是定义,几何,材料,物理场。在“定义”节点下可以添加组件内部有效的变量,以及可以随着计算输出的探针值,另外可以建立组件耦合算子。“几何”用于构建宏观的物理外形,或者是抽象的形状。“材料”节点内部通过定义变量的形式把模型中的材料特性(包含各种物性,例如密度,电导率等一系列值)引入到物理场,当然对于某些自己测的的物理参数,可以在“定义”或者全局参数里面进行输入,因此在“材料”节点下也可以不进行材料的选择,选择材料的出发点是省去了查找物性参数的麻烦。最重要的是物理场的构建,以及网格的划分COMSOL初始值。

物理场是模拟的关键,所有描述反应的方程、边界条件、初始值均在此定义。在模型中从大体上分可以为域条件,边界控制条件,顾名思义,域条件对于整个域的计算都有效,而边界条件只是针对边界处生效。添加边界条件和规定初始值,一方面是求解偏微分方程的必要条件,另一方面,对于求解近似解的程序能够更加快速的找到计算起点,避免在计算的开始就难以收敛花费时间,甚至直接进入不收敛状态引发出错,这也是软件中提示初始步不收敛错误的重要原因。另外,在软件中域条件与边界条件用了不同的符号进行了标注,细心的用户稍微观察一下就可以分辨出来。

网格划分,对于某些特定的模拟非常重要。在具有薄层材料,几何变形等模拟中,网格需要在特定地方进行特别的定义。但是对于普通的计算,为了节省计算时间和计算资源可以采用默认的常规网格甚至粗化网格,然而具有好的计算资源的用户,可以采用细化或者精细化网格。在验证模型阶段,往往为了快速的验证模型搭建的准确性,建议采用常规或者粗化网格,能够更快提示模型中的参数设置以及条件设置的错误。

COMSOL上手指南

在这里,需要特别陈述一点,在全局下面定义的变量、COMSOL参数化扫描是可以在所有组件中调用,然后在组件的“定义”节点下面定义的参数以及变量只能在本节点下面进行直接调用。如果在其他组件下调用,需要在定义的变量前加入组件名称。

研究类型,对于电池的研究,能够用得到的有三类,分别是瞬态,稳态,以及频域扰动(模拟阻抗)。瞬态的研究用于模拟随时间变化的物理场,例如在充电阶段,电池的电压随时间的变化。稳态的计算用于在特定的某一个时刻的物理场描述,例如在设定的初始值条件下电池的电解液浓度分布等。瞬态研究中设定的研究时长以range函数的形式命名。其中步长决定最后输出结果的个数,也就是时间点的个数。举个例子,如果设定的研究市场总共100s,步长为10s,那么在对结果作图只有11个时间点,分别是0s,10s,20s,100s,如果想要知道第15s的情况,那需要对步长进行缩小。相反,如果对于研究时长过程,可以适当的增大步长,减小计算耗时。

如果计算结束后,软件会进行相应的提示计算结束,当然计算出错也会进行相应的错误提示,以方便能够快速找到出错的地方,对于某些指向性不强的报错,建议在研究中勾选存储所有中间步骤的解,这样即便计算不成功也能够进行结果作图帮助查找出错原因。

对于结果作图,可以分为三类,也就是三个维度的图。绘图同样遵循自外到内的原则,先定义绘图组,然后在定义所要绘图的变量。如果想要知道电池内部的某一个点的电压随时间的变化图,可以采用一维绘图组,选择绘图所用解,然后再选择点图,勾选所要选择的点,再然后定义表示电压的变量,点击绘图就可以了。如果要观察变量的分布,或者梯度变化,则需要选用二维或者三维的绘图组,遵循同样的步骤。对于COMSOL有限元软件自带的绘图不够满意,软件支持将数据导出,然后自己再利用第三方软件进行绘制。

COMSOL上手指南

软件的上手就是这样,我在这里做一个引子,软件的内置方程查看,变量搜索,以及帮助文件的调出,大家可以自行百度,这些会在建模过程中发挥重要的作用。

对于这个软件的学习,想提一下几点建议:

  1. 多利用软件的帮助文件学习,不只是节点的描述文件,以及物理场构建的控制方程描述。
  2. 尽管软件不需要知道方程如何运行,但是能够了解方程求解过程,方程形式以及变量,会对模拟大有裨益。

很多新手在开始的时候都想要得到很多的学习资料,其实我也搜集了很多的资料,最后才发现,自己只是在需要某些特定背景知识的时候需要到了,整本的参考书还没有帮助文件来的有用。

当然纸质书籍看起来耗费时间,很多人想要用视频的形式进行学习,可以在闲暇时间进行充电,COMSOL官方的制作的视频已经很全面了,对于软件的上手,以及某些特定的模块都有详细的介绍,只不过可能简单了一点。但是任何一个复杂的问题,都是由许许多多简单的问题堆积而来。分享一个小技巧,如果在COMSOL官网上中国区找不到的视频资源,可以试一下换成其他国家,或许有相应的资源。当然现在流行的b站,Youtube也有一些大神在秀操作,可以进行围观。

继续阅读