




免费预览已结束,剩余15页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CFD为何物?CFD其实只是一个缩写,它的全称是Computational Fluid Dynamics,翻译成中文为“计算流体动力学”,国内习惯称之为计算流体力学。在这里可以分析一下它的名字。首先它是流体动力学。我们知道,流体力学分为静力学和动力学两种。静力学研究的是流体静止条件下的状态,而动力学则表示流体在流动过程中的运动状态。既然是流体动力学,当然研究的是流体的运动。流体运动起来了之后,由于我们的研究对象处于宏观状态,所以可以应用牛顿第二定律。其实NS方程都可以从牛顿第二定律推导。守恒定律是普遍通用的,通过从质量守恒、能量守恒、动量守恒的角度对流体微团进行分析,可以从流体流动过程中抽象出数学方程。那么如何计算呢?本来CFD的控制方程是封闭的,5个方程(1个质量守恒方程、3个动量守恒方程、1个能量守恒方程),5个未知数(u、v、w、P、T),理论上是可以直接离散形成封闭的代数方程组进行求解,然而不幸的是,这5个方程是高度非线性的,再加上流体流动中形成的湍流涡尺度相差过大(最小涡和最大涡尺寸相差太大),因此如果直接对控制方程离散求解的话,则要求模型网格尺寸足够的小(小于最小涡尺寸,现实中最小涡尺寸非常小),这样无疑极大的增加计算量,以至于无法在工业应用中进行推广。于是人们想出了采用雷诺平均NS方程(RANS),将湍流中的速度脉动进行平均。由于引入了新的变量,结果导致控制方程不封闭。人们为了使控制方程重新封闭,引入了湍流模型,湍流模型虽然是对湍流状态的一种假设,但是的确解决了直接模拟过于浪费计算时间的问题,因此在工业上得到了广泛的应用。最主要的优势莫过于CFD能大幅降低试验成本。CFD通常都是利用计算机进行模拟,因此减少了试验设备需求。更突出的优势在于,CFD中的模型可以根据需要随时修改。另一个不得不提的优势在于,很多不可重现、或重现代价非常大的情况,可以用CFD进行再现。如火灾、爆炸、一些自然灾害等。CFD计算的准确性还存在很大的局限。首先它受制于当前计算机的计算能力,虽然如今计算机技术发展迅速,计算能力呈指数增长,但是我们对现实世界的模拟要求的细节也是越来越精密。要得到高精度的计算结果,当然对细节的考虑是越多越好,这无疑极大的增加了计算量。其次,数学理论的研究也在一定程度上制约了CFD的精度,高阶离散算法的收敛性、稳定性都不太容易解决。CFD应用的致命伤:精度与可信度CFD若要想在工程中得到广泛的应用,必须克服两大难点:准确性与可信性。在工程上,尤其是一些关键的工程中,谁也不敢轻易的应用一些精度与可信度得不到保证的数据。与固体应力计算使用有限单元法不同,目前主流的CFD软件几乎都是采用的有限体积法(除了CFX采用混合有限元法与有限体积法外,FLUENT、STAR-CD、Phonecis、Flow-3D等都是采用的有限体积法)。在计算量上来说,相同网格数量的模型,有限体积法消耗的内存要少于有限元法。在有限单元网格中存在的高次单元,其单元节点位于网格边的中点及网格体的中心,但是有限体积法中的高阶格式,其并非在网格单元中添加节点,而地更多的利用周围的节点。但是正因为如此,有限体积法计算精度要低于有限元法(在相同网格数量情况下)。影响CFD计算精度及可信度的原因自然不可能全怪罪于算法,更多的是问题存在于使用者及客观环境。CFD软件是一个黑盒子,利用CFD软件解决工程问题,软件使用者对于数据流向并不清楚,实际上对于非CFD专业的人事来说,也不必完全清楚CFD的内部运作方式,但是,如何有效的利用当前的软件,如何最大限度的发挥当前软件的计算性能,将计算结果精度及可信度提高,仍然是非常重要的,也是每一个从事CFD工程应用的人必须注意的。最需要注意的部分包括下面一些内容。一、精度1、算法导致的精度问题。一般来说,高阶算法的精度要高于低阶精度。但是收敛性却相反,采用高阶算法要比低阶算法收敛更困难一些。在一些高速流动情况中,采用迎风格式比中心差分格式能更好的收敛,在扩散占优的流动中则相反。以FLUENT为例,其具有一阶迎风格式与二阶迎风格式、幂律格式、QUICK格式以及三阶MUSCL格式。通常一阶迎风格式用于初步求解,较少用于最终计算结果的获得。QUICK格式在结构网格中具有三阶精度且收敛性较好,但是在非结构网格中只有二阶精度。二阶迎风格式在实际工程中用得非常多。三阶MUSCL格式用得较少,收敛性不是很好。2、边界条件。边界条件会对计算结果产生本质影响。也就是说,不确切的边界条件会导致不确切的计算结果,错误的边界条件一定得不到正确的结果。在实际工程中,能做为边界的位置的信息一定是确切的。换句话说,用户使用不确切的边界值,责任不在软件。当然有时候受条件限制得不到边界物理量,但是,软件的使用者应当对自己输入的边界值负责。其实相比较固体有限元应力计算,流体边界值难以测量也是导致计算精度及可信度降低的原因之一。在固体计算中,边界值可以是力可以是位移,这些都是容易测量的量。但是在流体中,边界值常常是压力、速度、流量、体积分数等物理量,这些量的测量都是对实验人员的考验。3、网格。网格是为计算所准备的。也许在将来对NS方程的数值求解不再依赖于网格呢。由于网格的存在,导致数值计算永远得不到真值。这里不去追究数学方程与真实世界的差异,只分辨数值计算结果与数学方程解的差别。在理论上,只有在计算网格大小为0的时候数值计算结果才等同于数学方程的解,但是大家都知道,网格大小为0是不可能的。同时由于计算机的精度限制,网格尺寸缩小会增加舍入误差,也就是说,计算精度并不是随着网格数量的减小而不断增加,同时,网格尺寸的减小会增加计算资源的消耗。在进行计算中,常常要进行网格独立性验证,也是避免做这类吃力不讨好的事情。4、模型。将模型放在精度这里其实是不太合适的,但是不恰当的模型的确会很大程度上影响到计算精度。例如FLUENT中的湍流模型有很多种,如零方程模型、一方程模型、双方程模型等等,不同的模型有其最合适的使用范围,如果使用不当,势必会造成计算精度下降。合理的选择计算模型,不止能提高计算精度,也能提高计算结果的可信度。但是要合理地选择模型,很大程度上依赖与使用者的理论功底和对问题的认识程度。二、可信度在AIAA的官方文档中,对于可信度的验证是有明确的说明的。可信度通常指数学模型与真实世界的差异。在这方面,CFD软件使用者能控制的部分并不多。主要有以下一些方面。1、几何模型。有时候为了网格划分方便或计算资源考虑,简化了真实模型细节。例如一些微小特征、将三维模型简化为二维计算、周期模型等等。需要注意的是,在进行简化之前,对模型简化所可能造成的后果有明确的认识。究竟能不能简化、简化会不会造成精度的严重损失,这些都是需要考虑的。比如计算一段直管中的流动问题,从几何上来讲,可以简化为平面模型、可以简化为轴对称旋转问题、可以简化为轴对称问题,但是对于不同的物理情况,能否简化就很值得商榷。模型中的细小特征简化问题也是需要去思考的。将细小模型进行简化是处于计算资源上的考虑,但若细小特征处于敏感位置,对计算结果的影响比较大时,能否将其简化掉则也是必须考虑的问题。2、物理模型。再一次提到物理模型。现实世界是一个复杂的系统,我们在进行研究时,不可能考虑所有的影响因素,只能选取一些主要因素去进行考虑。很简单的例子,NS方程是从三大守恒定律出发的,所做的假设比较少,但是很遗憾,对于复杂结构直接数值求解NS方程目前还不可能,于是为了工程需要,对NS方程离散过程进行了一系列的简化,于是出现了各种湍流模式,出现了各种燃烧模型、多相流模型。3、模型参数。现在很多工程软件都集成了物理模型,其中很多模型参数都是一些半经验或经验参数,并不一定会适应自己的模型。但是这些模型参数的获取是一件非常困难的事情,通常都是通过实验获取。在最后,再来谈谈CFD计算结果的验证以及计算修正的问题。通常实验是最好的验证手段,但是存在一个问题,实验过程中的参数很难与计算输入的参数完全吻合。对于实际工程问题,采用实验有时候是唯一的验证手段。一般来说,数值计算结果再工程上与实验结果误差在10%以内是被允许的。在数值计算结果与实验数据存在很大差异时,一般进行以下一些步骤的检查:(1)检查几何模型。分析是否忽略了关键几何特征、检查边界位置是否合适。很多时候边界位置设得不合适,可能会导致计算振荡,不收敛等情况发生。同时由于不同的软件对于不同的边界组合方式处理方法存在差异,因此需要选择合适的边界组合方式(如FLUENT中压力边界与outflow边界相冲,最好不要同时出现,可能导致收敛问题。流量入口边界收敛要比压力入口困难)。(2)检查物理模型。是否选用了不合适的模型。每一种模型都有一定的使用范围,使用者需要对这些使用限制有深刻的认识才能更好的进行选择。例如FLUENT中,湍流模型有很多,标准K-E模型适合一般的工程流动问题,但是对于强旋流误差较大,RNG K-E模型适合旋转流动湍流计算,SA模型适合航空外流计算,K-W适合边界层计算,雷诺模型适合各向异性湍流的计算,但是计算量大不易收敛。因此在进行选择需要仔细的考虑选择的模型是否适合自己的问题,一旦模型选择错误,轻则造成大的误差,重则不收敛计算出错。(3)检查是否忽略了不该忽略的物理现象。例如计算复杂几何模型时出现大的负压区,是否需要考虑空化。计算高压气体时,是否考虑可压缩性,是否考虑粘性热。还有一些情况下,是否考虑蒸发、冷凝等相变情况。有时候这些物理现象会导致计算的不收敛乃至计算错误。(4)优化网格。网格质量始终是CFD工程师们的努力内容。好的网格质量能够增强收敛、提高计算精度、减少计算时间。因此在时间充足的情况下,尽可能的去提高网格质量。同时,对于流动情况复杂的区域进行网格加密处理。在计算结果达到要求后,还需要进行网格独立性验证。(5)边界条件检查。测量精度是否满足要求?若边界信息不是通过仪器测量得出而是通过计算,那么采用的公式使用条件是否能够接受?稳态与瞬态 稳态与瞬态的区别主要体现在控制方程是否存在时间项上。换句话说,其区别在于计算结果是否是与时间相关。但是我们观察现实生活,似乎找不到什么现象是与时间无关的。于是我们可以这样理解:稳态是一种近似。还是不太好理解,我们来举个例子。假设雨滴从高空落下,其阻力与运动速度的平方成正比,比例系数为1。雨滴质量为1,重力加速度为g,假设雨滴运动初速度为0,则依据牛顿定律很容易得出当阻力与重力平衡时,该雨滴将获得最大速度。学过物理的人都知道在0.32s时雨滴达到最大速度3.13m/s,阻力9.8与重力平衡后其将保持匀速运动。好了,我们可以将运动状态分为两部分,以t=0.32s为界,在此之前,运动速度与时间有关,在此之后,运动速度与时间无关。因此若要了解前0.32s内的运动速度变化规律,则必须使用瞬态,而要知道0.32s之后的状态,则利用稳态或瞬态均可。 上面的例子当然很简陋,现实中的问题很复杂,很多时候没办法估计稳定状态的临界时间,而且有一些问题是根本没办法达到稳定的。但是这个例子至少说明了一点:稳态其实是一种特殊的瞬态。也就是说,稳态计算完全可以用瞬态计算来替代。那么为什么还会存在稳态计算呢?主要原因在于存在一些从数学上分析一定能够达到稳定状态的模型(如密闭空间中的扩散过程、稳定入口的管流等等),再加上稳态模拟开销要小于瞬态计算。 稳态计算与初始值无关,很多CFD软件在稳态计算时要求进行初始化,这只是用于迭代计算,理论上是不会影响到最终的结果,但是不好的初始会值会影响到收敛过程。而瞬态计算则不同,其计算结果与初始状态紧密相关。还是上面的例子,若雨滴的初始速度不是0的话,则稳定时间会发生改变,稳定之前的速度值也会不同。所以在瞬态计算时,初始条件与边界条件一样重要,会影响计算结果的正确性。在瞬态计算的时候,常常使用稳态计算结果作初始值。 稳态计算中计算参数较少,只有一个迭代参数需要设置。FLUENT中计算终止标准有两个:(1)计算达到收敛(2)达到指定的迭代次数。当达到迭代次数未收敛时,可以继续计算。 瞬态计算中常涉及的几个计算参数:时间步数,时间步长、模拟时间、子步迭代数。其中:模拟时间时间步数*时间步长。这里的时间是真实时间。子步迭代数指的是一个子步内进行迭代的次数,该概念与稳态迭代次数相同。因此我们可以将每一个子步看作是一个稳态迭代过程,收敛判据与稳态计算相同,亦要求在每一时间步内达到收敛。在使用瞬态模拟时还有个参数:库朗数。这是个无量纲数,是用于在计算时控制时间步长。其值主要由两个量控制:网格尺寸及用户设定的时间步长。库朗数的值与网格尺寸成反比,与时间步长成正比。因此有些需要配合库朗数的算法计算时出现库朗数大于250时,可以考虑减小时间步长,也可以考虑增大网格,但由于在求解器中增大网格比较困难,一般都是减小时间步长。(这里可以使用网格自适应来改变网格)。 在瞬态计算设置时间步时,还需要考虑的是时间点的问题。仿真者要确保能够输出所感兴趣的时间点的数据。比如说,用户感兴趣的时间点为0.1s,0.2s,0.3s,0.4s,则输入的时间步长若为0.15s,则只能输出0.3s的数据,若输入的时间步长为0.2s,则只能输出0.2,0.4s的数据。所以在设计时间步长是需要额外考虑这些问题。五花八门的压力 表压指的是压力表测压值。根据目前压力表的工作原理很容易知道表压是一种相对压力,为真实压力与大气压间的差值。大气压101325Pa,若表压值为零,则意味着此处真实压力为101325Pa。 静压就是我们寻常意义上的压力,可以用压力表测量获得。其值是一个绝对压力值,但是在软件中表现为一个相对于操作压力的相对值。在fluent中静压的英文名称为static pressure,在cfx中,pressure就是指的静压。 动压是与速度有关的。其值为密度与速度平方的乘积的一半。因此很容易得知:在不可压流动中,速度越大的位置,则动压越大。 总压是静压与动压的和。在FLUENT的压力入口中常要求用户输入总压值,其实这里是同时考虑了压力与速度的。因此在压力入口位置仅仅只是输入压力表读数是不对的,因当考虑速度的。当然若此处速度为0的话,总压值与静压值相等。 绝对压力是真实压力。其值等于上述压力值与参考压力值的和。之所以出现绝对压力,主要是从数值上考虑。比如说,若计算域内各位置的压力值都很大,而在整个计算过程中压力变化很小的话,则在计算过程中容易出现压力变化值被湮没的情况。此时需要将参考压力设置为一个较大的值,以使各相对压力值与压力变化值在一个数量级内,这样能够提高数值精度。记住:CFD软件计算的压力值都是相对值。若想得到绝对压力值,可设置参考压力值为0。FLUENT默认参考压力值为一个大气压101325Pa。 FLUENT中关于压力的两个重要概念是:伯努利方程与等熵条件。一个用于不可压缩一个用于可压缩中。 不可压缩流动中,计算域内总压是守恒的。通常入口设置总压值和静压值。该处的静压值用于初始化。压力出口需要设置静压值。不可压流动中入口可以设置速度值,此时出口可以设置自由出流。压力边界与自由出流边界容易导致收敛问题,有时还会导致非物理解。 可压缩流动中,入口可以设置压力也可以设置流量。若为压力入口,则需要设置静压值,此时若出口为静压出口时,则压力出口失效,出口的压力是通过内部迭代计算得到。可压缩流动中,若入口为流量边界,则计算域内总压不守恒,流量守恒。求解器通过调整总压值以满足流量要求。此时收敛会很难。因此,若流量与压力均已知的情况下,优先使用压力入口。 CFD模拟中通常错误及不确定性1、错误和不确定性来源及分类计算流体动力学(CFD)常用于描述各种求解流动工程问题的技术。这些技术包含了从利用质点网格法求解势流问题到利用有限体积法求解各种复杂的湍流流动。尽管基本物理方程和求解技术非常多样,然而它们的求解方式都是利用离散方程和用计算机数值求解这些近似方程。离散过程意味着所有的求解均为近似解。另外,流体流动过程非常复杂而且在一些确定问题中控制方程也仅仅是对真实过程的近似。一个典型的例子为使用湍流模型模拟粘性流动。另外一个数值模型引入的错误和误差来源于CFD工程师。CFD数值模拟本身的复杂性和要求工程师执行不同的操作。主要包括:(1)问题定义;(2)求解策略的选择;(3)计算模型的开发;(4)计算结果的分析及解释。所有的这些步骤均可能具有潜在的错误及不确定性。没有一个公用的标准去定义和归类错误,因为涉及的范围太宽(从用户错误到不恰当的模拟策略及模型方程)。然而,ERCOFTAC BPG采取以下其中不同错误及误差来源进行分类:模型错误及不确定性(Model error and uncertainty)此错误定义为真实流动与模型方程的精确解之间的差异。包括由于精确流动控制方程没有求解而是采用一个不是非常好的物理模型进行替代。对于粘性流动模拟,这一类的错误主要来自于湍流模型和势流计算中将粘性效应进行忽略。简单来说,模型错误与不确定性作为错误出现主要是因为我们求解的是错误的方程。3、离散或数值误差模型精确解与在基于有限数量网格的数值解之间的差异。一般来说,网格数量越多,解越接近于模型方程的精确解。然而网格质量及密度分布均会对结果产生影响。这类误差广泛的存在于数值计算中。简单来讲,离散误差的出现主要是因为我们无法寻求到方程的精确解,我们试图寻找到其数值近似解。4、迭代和收敛误差这类误差主要产生于在有限网格数量上完全收敛解与非完全收敛解之间的差异。CFD方法求解方程常采用迭代方法,通常开始于一个关于流动的初始近似值,通过多次迭代获得最终解。这种方法理想的满足边界条件和整体计算域的每一个网格,然而如果迭代过程没有完成则会出现误差。简单来讲,收敛误差主要来源于没有耐心火着计算时间过短导致求解算法没有完全达到收敛解。5、舍入误差主要是在求解过程中由于计算机的精度所导致的。由于计算机位数限制所造成。6、应用不确定性由于问题复杂性及模拟所需数据的精确性所导致。例如在一个精确的几何中,不确定的数据作为边界条件和流动稳态及瞬态模拟的不确定性。7、用户错误由于用户操作错误及不小心所导致。可以通过增加用户的经验来降低这类错误的产生,但是这类错误无法完全消除。这类错误可以用通用的谚语来描述“garbage in,garbage out”。8、程序错误由于软件BUG引起的错误。这类错误通常很难被发现,主要由于CFD软件的高度复杂性,通常涉及到成百上千行的代码。CFD计算误差收敛误差迭代方程场用于稳态计算和给定时间步的瞬态问题中间解。随着迭代次数增加,逐渐获得好的近似解。没有通用的标准用于评判求解的最终收敛性,而且数学家发现没有正式的证明纳维斯托克斯方程存在收敛解。在一些场合中,迭代过程可能没有收敛,产生发散或停留在一个固定的不可接受的水平,或在可接受解周围振荡。仔细的选择和优化求解控制参数(如阻尼、松弛因子或时间步长等)以获取这些问题的收敛解。收敛水平通常利用残差来评估。在一些全局整合变量中,例如升力系数或热传递系数,或流体域中任意选择的监视点的时间/迭代物理量信息。1、残差(Residuals)残差是一个与守恒定律相关的3D数量场,例如质量或动量守恒。它们显示了当前近似解与完美解(流量平衡)之间的偏离程度。通常,利用残差除以一个参考值以进行正则化。这些参考值可能是:(1)最大相关守恒量;(2)平均相关守恒量;(3)进口相关量。通过监视一些3D流场典型数值特征来判断收敛型,这些值可能是:(1)最大值;(2)绝对值的和;(3)平方根的和;(4)绝对值的算术平均值;(5)均方根大量的变量导致精确判断求解收敛性和到底什么样的残差水平可以认为收敛的困难性。原则上,如果达到舍入误差,则可认为达到收敛。如果要对不同程序进行对比,则需要小心的定义等效的收敛标准。对程序开发者的一些建议:(1)CFD程序应该提供最大可能的信息以判断收敛性。包括每一个收敛量的残差。(2)提供残差空间分布信息。(3)残差应当是无量纲的(4)在手册中清晰定义残差是如何判定的(5)为避免CFD使用者产生混淆,一个通用的可接受的残差定义需要能够被接受。2、指导(GuideLine)(1)必须意识到不同的程序采用的残差定义是不同的(2)检查总体平衡的收敛性(质量守恒、动量守恒及湍动能等),如进口与出口的质量平衡、流体域之间面流动平衡等(3)不仅仅检查残差本身,还需要检查在增加迭代次数后残差的变化率(4)模拟收敛性不应该仅仅依靠判断残差是否达到收敛标准来评估。仔细定义感兴趣的敏感目标物理量和选择一个可接受的基于其变化率的收敛水平(比如质量流量、升力、阻力、力矩等)(5)对每一种类型的问题在不同水平的收敛残差上进行收敛性测试(这可能是单独的计算或者是从不同的残差标准重启计算)。这中测试描述了再何种收敛残差参数下能获得收敛,以及对于相似的模拟问题给出了收敛标注。(6)在敏感区域至少一个点上监视,以观察该区域是否达到收敛。(7)对于一些被证明难以收敛的计算过程,以下是一些建议:a)在计算开始采用较为健壮的数值算法,之后切换至更精确的数值算法以提高收敛性。b)减小收敛控制参数,例如亚松弛因子或CFL数c)如果求解严重压松弛,则在最终增加松弛因子,观察求解情况d)检查如果将稳态改成瞬态计算会出现什么反应e)观察使用不同的初始条件进行计算的结果f)检查边界条件的数值和物理稳定性g)检查大残差区域内网格质量对于收敛率的作用h)考虑残差分布及对于流场的可能影响。例如具有大残差的区域或不真实的速度-翻译自best practice guidelines for marine applications of computationsal fluid dynamicsCFD计算误差空间离散误差差分数值方法评估相同网格位置或一些网格之间(并列或交错的)流量作为传输量。在这些问题中,计算这些位置的梯度需要对空间函数进行代数近似。这种近似方法在有限体积法或差分法中被称之为差分格式,在有限元法中称为基函数。格式的精度取决于网格数量及网格之间的代数关系形式。空间离散及截断误差等于离散格式与精确格式的泰勒级数之间的差异。一个正式的二阶格式与精确形式的二阶格式相一致,三阶格式同样如此。非规则网格不会保持正常阶数的精度,通常要低一阶,如二阶格式在非规则网格上通常只有一阶精度。采用高质量网格降低网格数量,在高阶格式使用时对求解精度有很大的影响。在所有方向上将三阶精度格式网格减半能将数值误差降低8倍,然而在1阶格式上只能降低2倍。如果问题求解是光滑的或梯度很小,则使用一阶精度也能有较好的准确度,但不是所有涉及到大梯度的复杂问题和薄的边界层问题都能适用这种情况。一阶迎风格式引入大的截断误差,在有限体积法中,通常以数值粘性或扩散形式出现。高阶格式会出现其他的问题,例如陡峭梯度相邻的网格尺度具有不同的波长,称之为由于分散误差引起的波动。例如具有不同波长的波具有不同的传输速度。在有限体积法中,分散误差常常出现在中心差分格式中,在有限元法中,分散误差则通常出现在二次基函数中。高阶迎风格式可能表现较好。如果可能的话,这种问题可以通过使用特殊(非线性)TVD或激波捕捉格式来弥补。由于它们具有解决陡峭梯度或阻止扩散效应能力。指导或建议:(1)避免使用一阶精度格式。对于所有传输过程建议采用高阶格式(至少2阶)。由于一阶格式具有较好的健壮,因此在求解开始可以采用一阶格式以增强收敛型,但是最终的求解必须采用二阶或高于二阶的格式。(2)通过对网格进行改进试着对数值误差给一个估计。(3)如果使用程序,对误差进行计算(可能基于残差或两种不同精度解的差异)CFD计算误差时间离散误差时间导数项等于0的纯稳态流动仅出现在一些特殊的时间相关方程中。通常,流体流动是瞬态的。一些时间相关源项有:(1)瞬态或非瞬态外力(2)瞬态边界条件,移动壁面(如机翼摆动)(3)涡拉伸,由于控制方程方程非线性项导致的三维象稳态湍流流动的计算是利用CFD进行计算的最常用模拟类型。在这些问题中,雷诺平均流动是稳态的,尽管平均湍流量是由时间相关的湍流脉动量所得到的。然而,基于湍流量的时间平均不受总体非稳态所影响的假设,RANS方程允许计算时间相关雷诺平均流场。这是在当湍流涡的空间尺度要远小于几何模型的几何尺度时所做的物理修正。在涡旋的尺度与几何尺度具有可比性时,通常需要进行时间相关模拟(例如涡脱落计算)如果使用了精确的空间离散,则采用稳态方法模拟物理上时间相关的流动通常导致难以收敛。将稳态模拟的收敛问题当做瞬态和时间步进格式可能比较合适。另外,对称边界条件可能导致稳态结果,尽管实际情况下可能是瞬态的。如果一个完整几何包含两面均采用速度场的对称面,则很有可能导致持久振荡。在一个长的时间间隔上对计算结果进行平均可能导致一个对称流场,然而,这种对称流场不同于利用对称面计算的稳态解。时间离散格式提供了对时间导数项的近似。大多数CFD程序提供了一阶和二阶格式,这些格式具有无条件稳定和最有效的满足计算机内存及稳定性要求。低存储高阶Runge-Kutta法也同样可用。格式的阶数计时间步长的选择影响时间误差的两个基本组成(振幅尺度及相位误差)。为增强时间精度,可以采用自适应时间步长(例如预测-修正方法)。时间步长的选择取决于所分析流动时间尺度。如果时间步长过大,则模拟可能会捕捉不到重要的流动和导致非物理稳态解。因此建议从一个相对较小的CFL数开始计算,尽管从数值稳定性的观点来看不是必须的。许多CFD程序使用时间递进算法对稳态问题进行求解。必须注意到收敛的稳态解并非完全独立于时间步,尤其需要注意的是壁面选择过大的时间步长。指导及建议:(1)求解的整体精度取决于离散的最低阶部分。空间和时间离散建议至少采用二阶精度。对于时间相关流动,时间和空间离散误差是强烈耦合的,因此要求高质量的网格和高阶离散格式。(2)通过分析频率及感兴趣物理量(如总体流动方向的速度)的时间发展来检查空间离散阶数的影响。(3)检查时间步长对求解结果的影响。(4)确保时间步长适合于网格及时间尺度需求,同时必须确保遵守最终稳定性需求。注:不可压缩流动中 CFL=tv/x,t 为时间步长,x 为网格尺寸, v为局部速度CFD计算误差几何误差在许多工业和工程问题中,可能模拟的几何极其复杂和需要花费相当多的精力去精确建立。这里有一些在这些过程中可能会出现的错误或误差来源。如:(1)设计过程中几何的改变被忽略(2)CAD几何定义对于流动模拟不够完整。一些表面或曲线可能由于精度的原因不能在预想的位置相交,而一些曲线也可能会重复。(3)一些测试部分的几何可能在测试过程中被改变,而这些改变可能并未添加进原始图形中(4)几何可能没有完全按照图形进行创建。特别是一些被认为增强流动的特征,如螺旋桨前缘的圆角,或对称特征。(5)有效的几何面在使用的过程中由于附着、磨损等可能会发生改变,如海洋附着物(6)几何细节可能会被忽略。如壁面粗糙度,焊接圆角,表面突起等。(7)CAD系统中使用的坐标系统可能与CFD程序中采用的不相一致。指导及建议:(1)检查被计算的几何是期望的几何。例如,从CAD系统中向CFD系统中传递几何数据可能会丧失部分表面精度,显示几何有助于壁面此类错误。(2)通常,包含一些小于局部网格尺寸的几何特征是不必要的(如壁面层粗糙度)(3)在一些需要局部细节的区域,应当使用网格加密。例如在精确边或小的孔隙附近。如果使用了网格加密,额外的网格点应当依赖于原始几何,而且不应该简单的为更多粗糙网格点的线性内插(4)检查几何使用了正确的坐标系统及正确的单位系统。CAD经常使用毫米作为单位进行模型建立,必须将其转换至SI单位系统。(5)如果由于水力、机械力或热应力导致几何改变或变形,则一些结构力学计算必须参与精确几何的确定。CFD计算误差舍入误差舍入误差常常不受重视。然而在两个相差很小的大数之间则显得很重要,而且经常产生严重的错误。为避免大值的出现,常常在计算中采用相对压力。一些常见的舍入误差有:(1)具有大的指数相的低雷诺数湍流模型(2)具有很小的密度和温度差异的密度驱动流动(3)不同网格面具有大纵横比网格(4)共轭热传递(5)带有低浓度组分的标量扩散计算(6)密度基求解器中的低马赫数流动(7)大静水压力梯度的流动=指导=(1)通常使用64bit来表述实数(普通的UNIX工作站上使用双精度)(2)建议程序开发中使用64bit来表述实数(fortran中real*8)作为CFD程序默认设置CFD计算误差用户因素1、概述在CFD计算过程中,人扮演着非常重要的角色,因此计算结果很大程度上取决于用户的能力及经验。因此利用少量语言阐述CFD的这一问题是值得的,实际上这也是导致CFD计算结果不确定的一个重要方面一些因素可能出现在用户错误中:(1)对细节缺乏关注、草率、马虎、误解以及疏忽(2)对于使用CFD过于乐观和不加批判。(3)缺乏经验。因此难以觉察技术的难度以及丢失一些只能纲要信息。(4)对于特定的CFD程序不熟悉。因此用户常常使用一些熟悉程序的参数对不熟悉程序进行设置。前两点与用户的态度及性格有关,而后两项则取决于用户的经验和培训。2、工作过程控制许多错误都是因为对细节缺少关注,或者因为对于对于引起错误的因素没有觉察而导致的。解决这类问题最好途径在于用户拥有一份清晰的问题清单,能够帮助用户确保所有相关联的问题都已被解决。这对于只拥有有限经验的用户来说至关重要。正式的质量管理清单能帮助没有经验的用户产生有质量的CFD计算结果。然而,CFD项目能遇到所有正式QA需求,但是计算质量依然很低(或者干脆出现错误结果)。另外,高质量的工作能够脱离正式的QA系统。下面是一些建议用于问题定义:(1)使用CFD模拟是否真的合适?(例如对于波驱动问题,使用RANSE方法是否更加合适?)(2)模拟的目的是否明确定义?(3)对精度有何要求?(4)那些局部/全局物理量是需要从模拟中获取的?(5)哪些内容是文档或报告需要的?(6)流动物理涉及到哪些内容(稳态、瞬态、单相、层流、紊流、转捩、内流、外流等等)(7)对于流场计算,哪些区域是最感兴趣的?(8)几何是否已经很好的定义?(9)哪些验证是必须的?所采用的是否是已经对相同流场问题进行过测试的常规程序,或者只是针对类似的问题进行少量的修改。或者采用的是几乎未曾进行过验证的非常规程序。(10)模拟对于计算资源(内存、磁盘空间、CPU时间)的需求处于什么水平?3、求解策略指导当清晰的建立了问题定义后,用户需要将问题转化为涉及相关问题求解策略,如:(1)数学和物理模型(2)压力或密度基求解方法(3)湍流模型(4)可用的程序/求解器(5)计算网格(6)边界条件4、程序指导潜在的用户错误来源于执行特殊程序的求解策略。这些错误可以通过利用其他CFD分析检查进行验证来减小。这些问题可能是:(1)边界条件不仅正确的定义,而且正确的实施(2)是否使用了正确的单位系统(3)几何是否正确(4)物理属性是否正确的制定(5)特定的数学和物理模型是否被使用(如重力、旋转、用户定义函数)(6)被修改的默认参数是否会对计算结果产生影响(7)是否使用了定义和使用了合适的收敛标准5、解释指导(1)不要仅仅因为CFD模拟计算过程收敛和高质量的图形显示(或者甚至是动画)就认为计算结果是正确的。确保流场的基本解释能说明流动行为,以及流动趋势能与平常的流动相一致。(2)确保计算产生的工程参数平均值一致(例如质量平均值、面积平均值、时间平均值)。采用不同的程序进行后处理,局部和平均工程参数值可能不一致(例如利用速度计算剪切应力,使用节点值代替壁面函数计算剪切应力)。检查模拟中用于比较的测试数据同时利用相同的方法进行了计算。(3)不管是对计算结果进行解释还是做出任何决策,都必须包含计算精度说明。6、文档(1)好的仿真记录包括清晰的假设文档、近似、简化、几何以及数据来源(2)组织编写计算文档,以便其他的CFD专家能够对计算过程进行验证(3)必须意识到文档需求的水平很大程度上取决于用户在问题定义中的需求。在利用CFD计算过程中,我们需要格外注意一下的一些问题:(1)边界条件。CFD中的边界与现实中不一定重合。在不重合的情况下,我们如何去确定边界条件。由于边界条件直接决定计算结果的正确性,正确且准确的给定边界条件,是计算成功的前提。(2)计算结果评定。CFD计算完毕后,我们如何判定计算结果的优劣。现实试验要求具有再现性,CFD计算结果不要求再现性(这个是自然满足的),但是却要求网格独立性。即要求计算结果随网格变化可忽略。湍流模型选取一般来说,DES和LES是最为精细的湍流模型,但是它们需要的网格数量大,计算量和内存需求都比较大,计算时间长,目前工程应用较少。S-A模型适用于翼型计算、壁面边界层流动,不适合射流等自由剪切流问题。标准K-Epsilon模型有较高的稳定性、经济性和计算精度,应用广泛,适用于高雷诺数湍流,不适合旋流等各相异性等较强的流动。RNG K-Epsilon模型可以计算低雷诺数湍流,其考虑到旋转效应,对强旋流计算精度有所提供。Realizable K-Epsilon模型较前两种模型的有点是可以保持雷诺应力与真实湍流一致,可以更加精确的模拟平面和圆形射流的扩散速度,同时在旋流计算、带方向压强梯度的边界层计算和分离流计算等问题中,计算结果更符合真实情况,同时在分离流计算和带二次流的复杂流动计算中也表现出色。但是此模型在同时存在旋转和静止区的计算中,比如多重参考系、旋转滑移网格计算中,会产生非物理湍流粘性。因此需要特别注意。标准K-W模型包含了低雷诺数影响、可压缩性影响和剪切流扩散,适用于尾迹流动、混合层、射流、以及受壁面限制的流动附着边界层湍流和自由剪切流计算。SST K-W模型综合了K-W模型在近壁区计算的有点和K-Epsilon模型在远场计算的优点,同时增加了横向耗散导数项,在湍流粘度定义中考虑了湍流剪切应力的输运过程,适用更广,可以用于带逆压梯度的流动计算、翼型计算、跨声速带激波计算等。雷诺应力模型没有采用涡粘性各向同性假设,在理论上比前面的湍流模型要精确的多,直接求解雷诺应力分量(二维5个,三维7个)输运方程,适用于强旋流动,如龙卷风、旋流燃烧室计算等。残差曲线震荡问题一. 残差波动的主要原因:1、高精度格式;2、网格太粗;3、网格质量差;4、流场本身边界复杂,流动复杂;5、模型的不恰当使用。二. 问:在进行稳态计算时候,开始残差线是一直下降的,可是到后来各种残差线都显示为波形波动,是不是不收敛阿? 答:有些复杂或流动环境恶劣情形下确实很难收敛。计算的精度(2 阶),网格太疏,网格质量太差,等都会使残差波动。经常遇到,一开始下降,然后出现波动,可以降低松弛系数,我的问题就能收敛,但如果网格质量不好,是很难的。通常,计算非结构网格,如果问题比较复杂,会出现这种情况,建议作网格时多下些功夫。理论上说,残差的震荡是数值迭代在计算域内传递遭遇障碍物反射形成周期震荡导致的结果,与网格亚尺度雷诺数有关。例如,通常压力边界是主要的反射源,换成OUTFLOW 边界会好些。这主要根据经验判断。所以我说网格和边界条件是主要因素。三. 1、网格问题:比如流场内部存在尖点等突变,导致网格在局部质量存在问题,影响收敛。 2、可以调整一下courant number,courant number实际上是指时间步长和空间步长的相对关系,系统自动减小courant数,这种情况一般出现在存在尖锐外形的计算域,当局部的流速过大或者压差过大时出错,把局部的网格加密再试一下。 在fluent中,用courant number来调节计算的稳定性与收敛性。一般来说,随着courant number的从小到大的变化,收敛速度逐渐加快,但是稳定性逐渐降低。所以具体的问题,在计算的过程中,最好是把courant number从小开始设置,看看迭代残差的收敛情况,如果收敛速度较慢而且比较稳定的话,可以适当的增加courant number的大小,根据自己具体的问题,找出一个比较合适的courant number,让收敛速度能够足够的快,而且能够保持它的稳定性。本人觉得可以重点参考第四个回答。另外,如果出现连续方程残差很高收敛慢的情况,首先应该检查的是网格质量;由于现在大量使用分块网格,这时要看看两相邻块处的网格大小是不是相差较大,也就是看看有没有出现cell jump的情况,相邻网格的大小最好不要超过2倍的关系,这时出现高连续方程残差的一个主要原因,这需要在划分网格时做好规划。单位制的问题量词 SI SI(mm) US(ft) US(in)-长度 m mm ft in载荷 N N lbf lbf质量 kg tone slug lbfs2/in时间 s s slug s应力 Pa Mpa lbf/ft2 psi能量 J MJ ft.lbf in.lbf密度 kg/m3 tone/mm3 slug/ft2 lbf.s2/in4结构网格 or 非结构网格1. 什么是结构化网格和非结构化网格1.1结构化网格从严格意义上讲,结构化网格是指网格区域内所有的内部点都具有相同的毗邻单元。它可以很容易地实现区域的边界拟合,适于流体和表面应力集中等方面的计算。它的主要优点是:网格生成的速度快。网格生成的质量好。数据结构简单。对曲面或空间的拟合大多数采用参数化或样条插值的方法得到,区域光滑,与实际的模型更容易接近。它的最典型的缺点是适用的范围比较窄,只适用于形状规则的图形。尤其随着近几年的计算机和数值方法的快速发展,人们对求解区域的几何形状的复杂性的要求越来越高,在这种情况下,结构化网格生成技术就显得力不从心了。1.2非结构化网格同结构化网格的定义相对应,非结构化网格是指网格区域内的内部点不具有相同的毗邻单元。即与网格剖分区域内的不同内点相连的网格数目不同。从定义上可以看出,结构化网格和非结构化网格有相互重叠的部分,即非结构化网格中可能会包含结构化网格的部分。2.如果一个几何造型中既有结构化网格,也有非结构化网格,分块完成的,分别生成网格后,也可以直接就调入fluent中计算。3.在fluent中,对同一个几何造型,如果既可以生成结构化网格,也可生成非结构化网格,当然前者要比后者的生成复杂的多,那么应该选择哪种网格,两者计算结果是否相同,哪个的计算结果更好些呢?一般来说,结构网格的计算结果比非结构网格更容易收敛,也更准确。但后者容易做。影响精度主要是网格质量,和你是用那种网格形式关系并不是很大,如果结构话网格的质量很差,结果同样不可靠,相对而言,结构化网格更有利于计算机存储数据和加快计算速度。结构化网格据说计算速度快一些,但是网格划分需要技巧和耐心。非结构化网格容易生成,但相对来说速度要差一些。4.在gambit中,只有map和submap生成的是结构化网格,其余均为非结构化网格。有限元法,有限差分法和有限体积法的区别(转载)1. FDM1.1 概念有限差分方法(FDM)是计算机数值模拟最早采用的方法,至今仍被广泛运用。该方法将求解域划分为差分网格,用有限个网格节点代替连续的求解域。有限差分法以Taylor级数展开等方法,把控制方程中的导数用网格节点上的函数值的差商代替进行离散,从而建立以网格节点上的值为未知数的代数方程组。该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念直观,表达简单,是发展较早且比较成熟的数值方法。1.2 差分格式(1)从格式的精度来划分,有一阶格式、二阶格式和高阶格式。(2)从差分的空间形式来考虑,可分为中心格式和逆风格式。(3)考虑时间因子的影响,差分格式还可以分为显格式、隐格式、显隐交替格式等。目前常见的差分格式,主要是上述几种形式的组合,不同的组合构成不同的差分格式。差分方法主要适用于有结构网格,网格的步长一般根据实际地形的情况和柯朗稳定条件来决定。1.3 构造差分的方法构造差分的方法有多种形式,目前主要采用的是泰勒级数展开方法。其基本的差分表达式主要有三种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等,其中前两种格式为一阶计算精度,后两种格式为二阶计算精度。通过对时间和空间这几种不同差分格式的组合,可以组合成不同的差分计算格式。2. FEM2.1 概述有限元方法的基础是变分原理和加权余量法,其基本求解思想是把计算域划分为有限个互不重叠的单元,在每个单元内,选择一些合适的节点作为求解函数的插值点,将微分方程中的变量改写成由各变量或其导数的节点值与所选用的插值函数组成的线性表达式,借助于变分原理或加权余量法,将微分方程离散求解。采用不同的权函数和插值函数形式,便构成不同的有限元方法。2.2 原理有限元方法最早应用于结构力学,后来随着计算机的发展慢慢用于流体力学、土力学的数值模拟。在有限元方法中,把计算域离散剖分为有限个互不重叠且相互连接的单元,在每个单元内选择基函数,用单元基函数的线形组合来逼近单元中的真解,整个计算域上总体的基函数可以看为由每个单元基函数组成的,则整个计算域内的解可以看作是由所有单元上的近似解构成。在河道数值模拟中,常见的有限元计算方法是由变分法和加权余量法发展而来的里兹法和伽辽金法、最小二乘法等。根据所采用的权函数和插值函数的不同,有限元方法也分为多种计算格式。(1)从权函数的选择来说,有配置法、矩量法、最小二乘法和伽辽金法;(2)从计算单元网格的形状来划分,有三角形网格、四边形网格和多边形网格;(3)从插值函数的精度来划分,又分为线性插值函数和高次插值函数等。不同的组合同样构成不同的有限元计算格式。对于权函数,伽辽金(Galerkin)法是将权函数取为逼近函数中的基函数;最小二乘法是令权函数等于余量本身,而内积的极小值则为对代求系数的平方误差最小;在配置法中,先在计算域内选取N个配置点。令近似解在选定的N个配置点上严格满足微分方程,即在配置点上令方程余量为0。插值函数一般由不同次幂的多项式组成,但也有采用三角函数或指数函数组成的乘积表示,但最常用的多项式插值函数。有限元插
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网购退款协议书范本
- 物资置换协议书范本
- 广告宣传授权委托协议书范本详细解读
- 智能制造园区场地使用权出让合同范本
- 车辆运输合同模板:长途货运车辆运输与保险
- 餐饮店员工培训与发展协议
- 主题餐厅投资合作及品牌输出协议
- 高原桥梁混凝土抗冻配比研究与应用
- 2024年高考语文二轮复习专题3散文阅读突破练12词句理解与表达技巧赏析
- 上消化道碘水造影护理
- 2024年青海省囊谦县事业单位公开招聘辅警考试题带答案分析
- 肿瘤免疫治疗和靶向治疗的护理
- 打胎分手后协议书
- 2024年辽宁省沈阳市中考一模生物试卷(一)
- 机械租赁投标服务方案
- 《食管癌全程管理专家共识(2025版)》解读
- 孝廉文化课件
- 2025年北京市朝阳区九年级初三一模英语试卷(含答案)
- 2025年集成房屋市场调研报告
- 有效数字修约试题及答案
- 耳穴治疗学试题及答案
评论
0/150
提交评论