您好,欢迎访问三七文档
IntroductiontoCFD++——BestPractices概述2内存需求、精度需求低速流动及预处理计算域的初始化化学反应湍流模型远场边界条件高速流及数值格式……计算内存要求3典型7方程(两方程湍流模型)无zonal边界的工况下,每1G内存所能处理的单元数:单元类型精度单精度双精度六面体375,000220,000四面体500,000290,000棱柱425,000250,000单、双精度4对大尺寸比单元(如2000),如solve-to-wall网格,建议使用双精度;高海拔、稀薄气体时可能需要双精度;使用双精度可能在一些驻点求解上改善残差的收敛。计算域的选择5分别求解亚音速和超音速流动时请不要使用相同的网格;对亚音速流动,建议取远场边界为模型长度的20-40倍长;对超音速流动,可让模型距来流方向更近一些。(a)低速流计算域(b)高速流计算域低速流及预处理6Ma0.3时,使用可压缩理想气体方程;Ma0.3时,使用预处理可压缩理想气体方程;不可压方程通常要使用预处理。何时使用预处理?预处理的一些特殊情形7如果计算域内绝大部分是低速但是由高速流驱动产生,则不需要进行预处理;即使是超音速流动,如果局部有低速区,如产生了较大分离,那么也需要进行预处理;低速流动8低速可压流动模拟中,使用FluidProperties中的基准压力(如1atm);使用预处理方程时,应当在RiemannSolvers中给出ApproximateSystemVelocity的估值;所有的瞬态声学模拟应使用RiemannSolvers中的CFL-basedpreconditioninglimiting。计算域的初始化9整个计算域的初始化:P、T、u…或P、r、u…利用cellgroups初始化:针对如喷嘴等不容易放入一个box内的几何模型时比较有用,另外也可处理多孔介质。使用XYZboxes完成初始化10利用长方体或圆柱划定区域分别初始化,用于处理高速流的尾迹区。化学反应11设定组分时,将质量百分比较大的作为最后的或隐藏的组分;或者惰性气体组分也行(通常为N2);反应常数的单位必须是是kmol/J/m系统;反应要在SI单位制下完成。湍流模型12对跨音速流,建议使用Rt模型、realizablek-eps模型、S-A模型或MenterSST模型;对高超流,使用Rt模型或realizablek-eps模型需考虑传热;对外部绕流,即模型距进口边界较远使用k-eps-Rt模型或realizablek-eps模型时应选择TurbulenceControl中的“FreestreamkandepsProductionTermControls”;对自由剪切流,应选用q-L、cubick-eps或者RSTM模型;对瞬态流动,应选用cubick-eps或LNS模型;对驻点流,建议使用k-L模型;其他流动类型,选择realizablek-eps模型。湍流初始化及进口边界13用户应尽可能将实验数据应用到初始/自由来流条件中,包括湍动能和湍流尺度的数据;如果没有湍流的具体数据,我们建议:内流:设定湍流强度在1%到3%之间,湍流尺度为进口面积的平方根。设定湍流强度在0.1%到1%之间,及湍流尺度,通常比内流大很多,大约在m的量级;对不允许自由流湍流衰减的模型(如Rt、SA、k-e-Rt),用户不需要指定湍流尺度,而是湍流分子粘性比μT/μ,应当小于1,约为0.2;使用undamped涡粘比的模型μuT/μ(Rt、k-e-Rt、k-e、q-L、k-L、RSTM),用户应设置3μuT/μ5;外流:选定y+后,TurbulenceInitializationTool会给出第一层网格的估值。近壁网格的处理14选用尽可能小的增长率,以便得到较为合理的第一层网格信息;下图为添加理想壁面函数的solve-to-wall网格(y+1):大量的近壁单元组成了一个红色单元,即壁面函数网格的第一层网格尺寸;增长率应小于1.1。湍流控制建议15先进的two-layer壁面函数包括三种模式:平衡模式:应用于y+20的网格非平衡模式:应用于y+20的网格Blended模式:对任何y+水平都适用较粗糙的网格适用壁面函数时(y+500),设置dampingfunction为1。湍流:源项控制16之前通过sourceterminactiveregions来实现(groups或cells);现在使用“FreestreamkandepsProductionTermControls”;都是用来避免从进口到几何模型之间的湍流耗散;Rt、S-A、k-eps-Rt不需要这样的处理。远场边界条件17对于超音速自由来流,使用Characteristics-Based边界或AllConditionsPrescribed边界;对于环境远场,进口速度使用Pressure/Temperature;亚音速时,如果边界离得较近,可尝试PhysicsSourceTerms菜单下的Far-fieldAbsorbingLayers。高速流动18流动带有较大分离时,建议利用boxes进行初始化,以避免过早的ACAP;激活SpatialDiscretization中的1stto2ndorderblending。高速流下的PressureSwitches19首先选中TimeIntegration中的“HelpSetNumerics”;对于有梯度剧烈变化的问题时,选择minimumdissipation中的“LHSandRHS”选项,如较强的激波及膨胀波。高速流下的PressureSwitches20默认情况下,PressureSwitches处于非激活状态,在RiemannSolver中选择激活;对某些超音速流(Ma数在3到5之间),可以激活hypersonicswitch,然后返回到supersonicswitch。对特别复杂的情形,可以尝试pressuregradientdetection中的aggressive。带有壁面冷却的高速流21对恒温壁面,使用WallTemperatureRelaxationBCmodifier使得模拟由绝热开始,避免过早的ACAP。该选项仅在带有壁面冷却的高Ma数流动时使用。高海拔及稀薄气体流动22对海拔很高、压力变化很大的稀薄气体流动,在Timeintegration中选择Relaxation要比Multigrid好;带有分离尾流的稀薄气体流动,压力临界值较低时(p=1e-3Pa),可将ACAP设置为1storder。PressureRampingModifier23对某些基于压力的边界(背压或驻点压力/温度),计算域中压力变化较大时,PressureRamping边界条件可以降低初始的瞬变。Time-stepSpatialSmoothing24网格中相邻单元的大小相差太大,会导致非物理的结果;网格中相邻单元大小变化剧烈时,激活2ndTimeIntegration中的Time-stepSpatialSmoothing选项,用来平滑该区域内时间步长的变化。HelpSetNumerics25仔细阅读相关的设置提示;2ndTimeIntegration中的“HelpSetNumerics”可用来优化参数的设置。收敛困难26CFD++在稳态求解过程中,残差一般会下降4-5个量级。如收敛困难,建议如下:对低速气体流动,确保选择了经过预处理的方程类型;对低速内流,需激活Riemannsolver菜单中的pressureacceleration;对不可压内流,需激活Time-Integration菜单中的mass-balanceacceleration;对于湍流,请检查turbulencelevels;对内流,确保内流边界的湍流至层流eddyviscosityratio是合理的;将网格的y+值作为输出项进行监测,对5y+15的区域,建议变更为non-equilibriumwallfunction;查看timesmoothing选项是否打开,有些情况下,将smoothingfactor由默认的0.75更改为0.5会有利于收敛;如果正在使用minmodpolynomiallimiter,可尝试改为continouslimiter(上述选项在spatialdiscretization菜单中),应当注意continuouslimiter比minmodlimiter的耗散略大一些。高速流动中的ACAP27Initialization—对Ma数大于3的流动初始化时,建议使用“InitializationbyBoxes”。用户可以使用该选项创建速度为零的区域。Discretizationblending—用户可应用该选项使计算从一阶开始,缓慢调和至二阶精度。“HelpSetNumerics”选项可激活该选项。PressureSwitches—流动中伴有激波、膨胀波时建议使用该选项。可在Numerics/RiemannSolver菜单中设置,前提是LHS/RHSdissipation选项要在之前激活。CFLramping—在特别高速的的情形下,用户需手工设定Courantnumber(CFL)。Multigrid—对一些极端的稀薄气体流动(如80km处的羽流),建议关闭multigrid,只使用relaxation选项。
本文标题:CFD++基本培训
链接地址:https://www.777doc.com/doc-4494810 .html