网格生成技术是计算流体力学和计算水力学成功实现数值模拟的关键前提之一,网格质量的好坏将直接影响到计算结果的收敛及精度。网格生成的实质是物理求解域与计算求解域的转换,在求解具有复杂几何形状的流场时,适当的网格生成是一个十分关键的问题。尽管有贴体坐标的方法,但由于网格的安排是有序和有一定结构,不可避免会出现网格该密的不密,该疏的不疏的情况,无法满足工程研究需要,采用自适应网格时更有这样的问题。另外在结构网格中,有时要生成有一定次序的网格是非常困难的,以致于网格的几何形状及正交性不能得到保证。而非结构化网格(如三角形和四边形)则可以较好的解决这个问题,它可以很方便地剖分任意形状的区域。所谓非结构化网格,就是在这种网格系统中节点的编号命名没有一定规则,甚至是完全随意的,而且每一个节点的邻点个数也不是固定不变的。同结构化网格中节点排列有序、每个节点和邻点的关系固定不变的这种结构严密的情况相比,非结构化网格表现出不规则、无序的特点。无结构网格具有复杂区域适应性好、局部加密灵活和便于自适应的优点,能很好地模拟自然边界及复杂的水下地形,提高边界模拟精度,这对结构化网格而言这是很难实现的,因此非结构网格在河流和近海区域的流动模拟计算中得到了越来越广泛的应用,二维无结构网格的生成技术已经趋于成熟。
生成非结构化网格的方法可以大致分为三类:
(1)前沿推进法(Advancing Front Method):从边界上的网格点所形成的一系列线段(初始阵面)出发,然后根据背景非结构网格上所提供的局部尺度参数,在区域内部生成新的网格点,或者利用阵面上更合适的点,形成新的三角形;最后修改阵面,使边界点的连接信息向流场内部推进,直至整个流场被三角形覆盖为止嘲。阵面推进法是一种比较灵活的网格划分法,它的准则是新的网格单元不应与阵面任意已有的边相交。阵面推进法的思路简单明了,具有质量好的增加节点办法,可以根据要求在任意的位置进行加密和保持计算边界完整性等优点。其缺点是工作量较大,效率较低。
(2)节点连接法(Node Connection Method):节点连接法又称为填充法,是日前人们研究最多的一种方法,该方法的特点是包括节点生成和单元生成两大彼此独立的步骤。一般是首先生成形体的内部节点,再根据一定的准则将这些点连接成角形网格。其中最重要得一种方法是Delaunay三角划分法(Delaunay Triangulation Method),它与普通的节点连接法的区别在于它是根据单元外接圆(三维则是外接球)内不包含其它点的准则来生成三角形网格(三维则是四面体网格)。节点连接法的时间耗费很高,但是比起其他方法稳定性较好,易产生形状较好的网格。
(3)其它方法,如拓扑分解法(Topology Decomposition Method),八叉树法(Octree Method)等。
就方法本身而言,前进推进法更具有启发性,而Delaunay三角形化方法则严格基于计算几何的基础上Delaunay三角形化方法的优点是能得到尽可能等边的高质量三角形单元,也比推进法的生成效率高,但由于节点的生成和连接是彼此孤立的,在连点过程中就有可能破坏原有的边界,不能保证边界的完整性,因此必须在连点的过程中对边界实行保护,或在连点后对破坏的边界予以修复,这是Delaunay三角形化方法最大的弱点。前进推进法的节点生成和三角形单元形成是同步的,推进是由边界向区域内部进行,没有边界破坏问题,因而边界附近的网格质量较高,但对背景网格的依赖性较大,如何生成背景网格是该方法成败的关键,同时每推进一步仅生成一个单元,效率较低。鉴于两种方法各有优缺点,曾有学者尝试用两种方法结合生成网格。非结构网格的生成已经有大量的商业化软件可供利用,如Gambit、SMS、ANYSIS等等,可以很方便的在任何复杂区域生成高质量的三角形或四边形网格。
另外一种非结构网格技术是自适应的四叉树网格(Adaptive Quad tree Grid),这种网格最早应用在计算流体力学中的航空航天领域,用来计算复杂几何形状的流场。英国牛津大学的Ben Rogers和Alistair Borthwick首次将该技术应用到二维浅水模型计算网格剖分中。自适应的四叉树网格同贴体坐标网格相比,不需要从物理平面到计算平面的转换,计算通量简单,从而节约时间,且便于应用高阶格式,具有很强的吸引力。
无结构网格也有缺点,在结构化网格比较成熟的高阶格式难以直接借鉴,提高精度和简化算法仍然是计算流体力学的主要研究方向。常见的高阶格式通常是针对一维或者二维结构化网格设计,如基于结构化网格WENO格式可达五阶精度,而基于非结构化网格的高阶格式则不多。常见基于非结构化网格数值算法的精度一般是一阶,最高二阶,这是因为节点位置和节点周围单元的任意性增大了在无结构网格上进行高阶格式重构的难度,将一维重构技术推广到二维无结构网格,很大程度依赖于单元之间的相互关联。对于水流计算而言,采用一阶格式完全能满足工程精度要求,但要处理污染物或泥沙的输移问题时,由于一阶格式存在较大的数值耗散,在物理量梯度变化较大的情况下,易导致计算结果失真,有必要研究无结构网格下的高阶计算格式。
新年快乐,博客“马上”红火。
好文章
老师,您好!您能不能介绍下SMS模型的.geo文件的结构呀?就是里面每一行都表示什么样的网格信息?