标签:
方程求解计算资源湍流模型 |
分类: CFD感悟 |
CFD计算的误差来源很多,但大致可以分为以下5类:
(1)数值误差
这类误差通常是由离散方程与实际方程之间的差异引起。我们从现实世界中抽象出数学模型,最常见的即为NS方程。从本质上来说,由自然界广泛适应的能量守恒定律、质量守恒定律以及动量守恒定律推导而来的NS方程是精确的。然而遗憾的是,到目前为止,人们尚不能精确的求解NS方程,只能转而借助计算机强大的数值求解能力,求取NS方程的数值解。在这个数值求解的过程中,不可避免的引入了误差。这类误差主要有5类:求解误差、空间离散误差、时间离散误差、迭代误差、舍入误差。
一般意义上来说,这类误差是不可避免的,不管你采用何种高精度算法。人们通常可以采用新型数值算法、加密网格、减小时间步长、增强计算机能力的方式来降低这类误差。
(2)模型误差
这类误差也是来源于人类的无奈。形象来说,这类误差是来自于离散方程求解方面。我们知道,要求解NS方程最精确的手段是利用计算机直接求解(DNS),因为NS方程其实是封闭的(5个未知数5个方程),然而遗憾的是,当前计算机的计算能力还不能满足工业上对DNS的要求。例如对湍流的模拟,由于需要捕捉的湍流信息尺度很大,最大涡与最小涡的长度相差巨大,这无形中加大了对网格的需求,从而增加了对计算资源的需求。工程师迫于无奈,采用湍流模型的方式来降低这类对计算资源的需求。湍流模型与DNS求解之间存在的差异就是模型误差,这类误差的发生类似还有燃烧模型、多相流模型等等。
(3)用户误差
这类误差纯粹是人为因素。主要来源于CFD用户对于软件的不正确使用和对流动现象的不正确理解所造成的。可以通过对用户进行培训来降低用户误差。
(4)信息缺乏导致的误差
不可测的物理现象、不确定的边界信息、过于简化的物理模型都可能导致这类误差。这往往也是导致计算结果不可信甚至错误的主要因素。俗话说“garbage in ,garbage out”,若是连输入信息的正确性都没法得到保障的话,再去奢求输出的正确性,岂非天方夜谈?
(5)计算机软件的误差
这类误差是计算机程序员造成的,一般是软件BUG。选取一款经过严格测试的软件,以及一个稳定的版本可以降低这类误差。