论文部分内容阅读
本文提出了可用于二维Euler方程组数值模拟的自适应非结构网格的生成方法。这一方法在不满足网格划分要求的单元附近引入新的网格内部结点,然后按照Delaunay准则局部更新原有网格划分。该方法同时具有阵面推进法和Delaunay方法的优点,从而使网格单元的排列比较规则,容易保证边界的网格质量,且易于实现网格生成的自动化。 本文引入了四叉树,一方面可直接作为背景网格,提高了网格生成效率。另一方面在四叉树的叶子结点上,存放了重心位于该结点所对应矩形区域内的三角形单元信息,从而能够借助四叉树迅速找出给定点所在的三角形单元,保证了查询效率。 本文根据网格生成过程和气动计算过程的不同特点,设计了相应的数据结构。在网格生成过程中,需要不断地插入或删除网格单元,对数据结构的灵活性要求比较高,动态结构比较能满足这样的要求;而在气动计算过程中,网格划分是不变的,使用静态结构可以提高计算的效率。为了使程序容易组织和维护,我们应用了面向对象的分析方法,并在编码中使用了C++标准类库。 本文还给出了一种确定三角形网格单元通量函数的方法。这一方法首先得到了二维Euler方程组在控制体单元边界法线方向上的投影方程组,在投影方程组中,沿边界切线方向的通量可以看作被动对流通量,因此可以直接采用一维Riemann问题求解器计算通过三角形控制单元边界的通量。该方法在各种流动情况下,包括有强激波存在的超音速管流及亚音速等熵流,都具有较高的精度和良好的稳定性。 为了减少激波附近速度和能量参数的波动,我们对Colella和Woodward[47]所给的单调性约束条件作了补充。在限制单元平均梯度值时考虑到了与这一单元相邻的其余单元中梯度值的分布。将这一约束条件用于激波管算例中,结果表明该条件在减少激波附近参数波动的同时,不会降低光滑流动区域的计算精度。