新改进SIMPLE算法在非稳态流体流动计算中的应用

需积分: 45 31 下载量 85 浏览量 更新于2024-09-15 4 收藏 154KB PDF 举报
"一种新改进的SIMPLE算法" SIMPLE(Semi-Implicit Method for Pressure-Linked Equations)算法,由Patankar和Spalding在1972年提出,是解决不可压缩流体流动中Navier-Stokes方程数值解的常用方法。它在计算流体力学领域具有广泛的应用,特别是在处理复杂的流动问题时,如流场的稳态和非稳态模拟。然而,SIMPLE算法在处理非稳态流体流动问题时,对于非稳态项的处理存在一定的困难。 非稳态流体流动问题涉及到时间变化的物理量,如速度、压力和密度等。SIMPLE算法的核心思想是将压力和速度的求解过程分离,通过迭代来求得两者的一致解。在传统SIMPLE算法中,非稳态项的处理通常会导致计算过程中的收敛性问题,这是由于算法对时间不均匀性的处理不够精确。 本文针对这个问题进行了深入研究,并提出了一种新的改进方法。作者们强调了非稳态流场中密度和压力的时间不均匀性对非稳态项的影响。他们通过对气相密度进行修正,以更准确地捕捉时间变化的行为,同时改进了压力修正方程,以更好地处理这些非稳态项。这些改进有助于提高算法在处理非稳态流动问题时的收敛性,从而获得更准确的解。 通过应用这种新改进的SIMPLE算法,研究人员能够成功模拟非稳态流体流动的流场,这在工程应用和科学研究中具有重要意义。例如,在环境工程、航空航天、机械设计以及许多其他领域,非稳态流动的模拟可以帮助理解动态流动现象,预测流动行为,优化设计和控制策略。 该文提出的改进方法是对SIMPLE算法的一个重要补充,它提升了算法在处理非稳态问题时的效率和精度,有助于推动流体动力学数值模拟技术的发展。通过这种方法,工程师和科学家可以更有效地模拟和分析复杂流动系统,为实际工程问题提供更可靠的解决方案。
2017-11-06 上传
icoFoam 求解器名称 |-createFields.H 场变量的声明和初始化 ————————————————————————————————————————————— Info<< "Reading transportProperties\n" << endl; //屏幕提示读入参数控制文件,等价于 C++中std::cout //声明属性字典类对象,该对象由 constant 文件夹下的“transportProperties”初始化创建。 IOdictionary transportProperties ( IOobject //其实IOobject,顾名思义就是输入输出对象,它完成的是一个桥梁的作用,即连接要构造的类及硬盘中的相应文件。这可以通过其成员函数objectStream()了解到,当完成了“搭桥”之后,便可通过这一成员函数返回硬盘文件对应的输入流,从而从输入流中读入将要构造的类的相关信息// ( "transportProperties", // 文件名称 runTime.constant(), // 文件位置,case/constant mesh, // 网格对象 IOobject::MUST_READ_IF_MODIFIED, //如果更改,必须读入 IOobject::NO_WRITE // 不对该文件进行写操作 ) ); //字典查询黏性,以便初始化带有单位的标量 dimensionedScalar nu ( transportProperties.lookup("nu") ); //屏幕提示创建压力场 Info<< "Reading field p\n" << endl; //创建压力场 volScalarField p //声明一个带单位的标量场,网格中心存储变量。 ( IOobject // IOobject主要从事输入输出控制 ( "p", // 压力场初始文件名称 runTime.timeName(), // 文件位置,由case中的system/controlDict中的startTime控制 //