在[80]中报告了多个翼型的CFD计算结果。这里,报告了
(无穷远马赫数)
和
(攻角)的计算结果。此计算的输入卡可以在流体示例测试套件中找到(agard05.inp)。
为了解释不可压缩流和可压缩流输入卡之间的差异,下面复制了可压缩输入卡的关键部分。
*EQUATION 2 3,2,-0.99030509E+00,3,1,-0.13890940E+00 2 3756,2,-0.99030509E+00,3756,1,-0.13890940E+00 ... *MATERIAL,NAME=AIR *CONDUCTIVITY 0. *FLUID CONSTANTS 1.,0.,293. *SPECIFIC GAS CONSTANT 0.285714286d0 *SOLID SECTION,ELSET=Eall,MATERIAL=AIR *PHYSICAL CONSTANTS,ABSOLUTE ZERO=0. *INITIAL CONDITIONS,TYPE=FLUID VELOCITY Nall,1,0.99254615 Nall,2,0.12186934 Nall,3,0.d0 *INITIAL CONDITIONS,TYPE=PRESSURE Nall,0.49603175 *INITIAL CONDITIONS,TYPE=TEMPERATURE Nall,1.73611111 *VALUES AT INFINITY 1.73611111,1.,0.49603175,1.,1. ** *STEP,INCF=200000,SHOCK SMOOTHING=0.01 *CFD,STEADY STATE,COMPRESSIBLE 1.,1. *BOUNDARY BOU1,11,11,1.73654615 BOU1,1,1,0.99254615 BOU1,2,2,0.12186934 BOU1,8,8,0.49603175 Nall,3,3,0. *NODE FILE,FREQUENCYF=40000 VF,PSF,CP,TSF,TTF,MACH *END STEP
由于可压缩流动中温度、速度和压力通过理想气体方程相互关联,因此始终使用能量守恒方程,并且必须定义热导率和比热容。无粘流动通过定义零粘度和零热导率来实现(因此,动量守恒和能量守恒方程中的粘性项消失)。翼型表面的滑移边界条件通过方程实现。特定气体常数使用适当的关键字定义。它只取决于气体的类型,与温度无关。物理常数卡用于定义温度标度的绝对零度。由于气体方程中的温度必须以开尔文指定,需要此信息。必须为速度、压力和温度指定初始条件。仔细选择这些值可以缩短计算时间。无穷远处的值(使用*VALUES AT INFINITY卡定义)用于计算压力系数
。在粘性计算中,它们也可用于计算摩擦系数。*STEP卡上的平滑参数用于定义激波平滑,将在下面进一步讨论。
*CFD卡上的COMPRESSIBLE参数表示这是一个可压缩CFD计算。这意味着使用理想气体方程来关联密度、压力和温度。因此,输入卡中不应存在*DENSITY卡,并且需要*SPECIFIC GAS CONSTANT卡。使用STEADY STATE参数告诉CalculiX计算是稳态的。非稳态计算通过省略此参数来触发。实际上,CalculiX中的所有CFD计算都是非稳态的。然而,STEADY STATE参数强制继续计算直到达到稳态(因此使用的时间是虚拟的),或者直到达到子增量最大数量(*STEP卡上的INCF参数)。瞬态计算在达到最终时间时立即停止(时间是真实的)。
在可压缩计算中,通常需要激波平滑以避免发散。然而,激波平滑可以改变解。因此,应尽可能选择小的激波平滑系数,其值介于0和2之间。对于agard05示例,需要0.01的值。一般来说,增加粘度将减少避免发散所需的激波平滑。激波平滑系数还有第二个作用:不再有明确的稳态收敛。为了理解这一点,需要更多关于CalculiX中CFD计算方式的信息。用户指定的*CFD卡下面的初始增量大小是机械增量大小。对于每个机械增量,执行一个非稳态CFD计算(对于STEADY STATE计算直到达到稳态)。对于此CFD计算,使用子增量,其大小取决于流动的物理特性(粘度、热导率等)。确定这些增量的方式是确保稳定性(或至少很可能)。在CalculiX中,当保守变量(
等)
从一个子增量到下一个子增量的变化不超过这些变量实际值的
倍时,检测到稳态收敛。在具有非零激波平滑系数的计算中,变量的变化首先下降到某个水平,然后在该水平附近不规则地振荡。因此,可能永远不会检测到变化。保守变量的变化存储在名为jobname.fcv的文件中(假设输入卡为jobname.inp)。用户可以通过*STEP卡上的INCF参数限制子增量数量来强制收敛。一旦计算了INCF个子增量,CFD计算就假定完成,并开始下一个机械增量。
可以通过选择较小的CFD子增量来进一步减小平滑系数。*CFD卡下面的第五个条目是基于物理参数(如粘度和局部速度)计算的CFD增量大小的因子。默认值为可压缩计算1.25和不可压缩计算1。该因子不能小于默认值。例如,因子5意味着时间增量选择为基于物理的时间增量的20%。较大的因子将减少所需的激波平滑,但也会线性增加计算时间。
如果计算发散,如果之前为零,则将激波平滑系数设置为0.001,否则将其加倍,然后重新计算。如果值超过2,计算将停止并显示错误消息。激波平滑仅用于可压缩计算。
图29显示了用于agard05计算的网格。它由线性楔形单元组成。在CalculiX中,CFD计算只允许使用线性单元(四面体、六面体或楔形)。网格沿翼型较细(但不如粘性计算中捕获边界层所需的那么细)。图30和31分别显示马赫数和压力系数。[80]中的最大马赫数约为1.78,最大压力系数约为-0.55。这与当前结果非常吻合。增加激波平滑系数会导致条纹图平滑,但实际值会变差。
此计算的总温度(此处未显示)几乎恒定。回想一下,沿流线的总温度总变化由下式给出:
![]() |
(1) |
右边的项对应于粘性功(零)、热流(零,因为热导系数为零)、单位质量引入的热量(零)、压力变化(稳态 regime下为零)和外体力所做的功(零)。