数值模拟在产品开发和工程、制造当中扮演了相当重要的角色。一般来说,数值模拟在开发中有以下几个主要的过程:分析问题、建模、测试、优化和报告。下面会逐一详解:
1. 分析问题
分析问题很重要,数值模拟最关键的就是对问题的理解,这是第一步,也是最关键的一步。问题没有分析好,相当于一开始就存在问题。
对于一个问题,首先就要确认问题的类型:是静力学还是动力学,多场耦合吗?是不是固体大变形?有没有流体的相互作用等等。
在得到感性认知之后,就需要提炼出问题的控制方程。自然界中的现象都可以通过片微分形式的方程来描述。这一步,除了控制方程本身,还需要提炼出源项和边界条件等相关信息。例如:边界施加了位移,就是第一类边界条件,如果是应变,就是第二类边界条件。如果问题需要考虑到热源,那么热源就是源项(核能,微波加热等等)。
接下来就需要考虑问题的具体技术细节了。例如:这个问题选用哪一个软件/数值计算方法 会得到更好的效果。可否做一些简化(二维,对称模型,均质化等等)?大概需要多少计算资源的消耗?需要哪些物理和力学参数?
有了初步的认识,接下来就可以开始开发模型了
2. 模型开发
这一步基本上都是按部就班的。但是也会涉及到迭代和重复的过程。
例如,模型开发过程中,操作都是对的,但是数据有问题,导致计算的结果和实验对不上,又比如模型拿到以后,导入软件当中出现了错误或格式不兼容的问题,又比如,有的模型,尺寸较大导入和模型的渲染差不多就要10来分钟的时间。
遇到上述的情况,就需要对模型反复的调试,直到正确为止。
另外,还需要对模型进行敏感性分析,数值计算方法,本质上是用到了计算机离散化的思想,离散的越多,精度越高,但也会使得计算量提高,尤其是大型的模型,当网格、粒子数量增多时,计算量会变得很大。对于有限元来说,一般是增大网格数量,直到某一物理量收敛为止,这个网格数就比较合适,一方面能得到准确的结果,另一方面,也能够尽量减少计算资源的消耗。
3. 优化
这一步,会进一步对模型性能进行提升。根据模型当前的表现,增加更多的细节,使得结果更符合实际情况。例如:本构方程的选择,是否也要考虑周围空气的传热?能否尽量减少计算量呢?
在这一步,模型如果开发成熟了,会进一步被用于其他情景,发挥数值模拟的效果。
4. 报告
最后,都需要得出一个总结性的文件,阐明该数值模拟得到的结论。
来源:STEM与计算机方法