论文部分内容阅读
大坝,作为国家重要的基础设施之一,在洪水预防,蓄水发电、农田灌溉等诸多方面发挥着重要的作用。大坝溃决后引发的洪水会造成严重的人员伤亡和财产损失。对大坝溃坝过程进行模拟不但可以得到洪水发生的位置,也可以为灾害的预防和降低灾害所造成的损失提供宝贵的信息。本文对三维溃坝模拟系统所涉及的关键技术进行研究,设计并实现一款可用于模拟大坝溃坝和洪水推进的三维溃坝模拟系统。水流推进模拟是三维溃坝模拟系统中最为关键的部分。本文使用光滑粒子流体动力学(SPH)方法对纳维-斯托克斯(NS)方程进行求解,通过这样来模拟水体流动。在求解过程中,考虑到数字高程模型的特点,决定使用碰撞-反射法对SPH方法中所存在的边界问题进行处理。为了改善计算效率和计算精度,本文采用了固定光滑长度与链表法对相邻粒子进行搜索。最后通过蛙跳积分法计算粒子的速度和位置。要实现一款大坝溃坝模拟系统,所涉及的关键技术有:地形数据处理与可视化、大坝可视化、水流推进模拟与可视化、观察视角控制。地形可视化和大坝可视化均是读取对应数据并进行可视化显示。水流模拟与可视化使用SPH方法计算水流推进结果并将计算结果进行可视化显示。观察视角控制则允许使用者对场景进行拖拽、旋转和缩放。本文对这四项技术一一进行了研究,设计并实现了一款三维溃坝模拟系统。系统以OpenGL作为基础进行图形显示,并使用C#和C++两种编程语言完成整个系统的开发。为了测试本文所实现的三维溃坝模拟系统的运行情况,总共进行了三项实验。前两项实验用来测试水流推进算法的正确性,第三项实验用来全面测试该三维溃坝模拟系统的运行情况。从结果上看,三项实验均取得了令人满意的结果。大坝发生溃坝之前,用来模拟水流的粒子群被大坝阻止在上游。当大坝发生溃坝后,粒子群会顺着溃坝缺口向下流动,且随着时间的推移,大坝下游受影响区域越来越大。同时用户可以通过改变观察视角从不同的角度观察溃坝过程。三维溃坝模拟系统的关键技术均得以实现。