基于sph算法的洪水溃坝过程仿真方法与仿真系统的制作方法

文档序号:6368201阅读:134来源:国知局
专利名称:基于sph算法的洪水溃坝过程仿真方法与仿真系统的制作方法
技术领域
本发明属于地学过程模拟与地理信息系统技术领域,尤其涉及一种基于SPH(Smoothed Particle Hydrodynamics,光滑粒子流体动力学)算法的洪水溃坝过程仿真方法及仿真系统。
背景技术
近年来全球地质灾害频发,对类似于洪 水溃坝这样的灾害的地学过程的模拟,融合了地学、计算机图形学、仿真计算、物理、数学等多个学科领域,是目前研究热点和难点。在地理信息系统领域,传统的仿真方法是在利用地学模型或数学模型等经验公式模型来实现,即通过分析洪水溃坝过程的主要影响因子,例如坡度、汇流量等,利用空间分析方法建立地学模型,例如汇流分析、元胞自动机分析、多智能体分析等。这类方法实现的模拟速度较快,适用于大规模的快速地学过程模拟与分析。但因为忽略了很多的物理学与动力学因素,其模拟的可靠性受到模型的因素选取与空间分析方法的约束,其计算结果的精度往往较低,仿真效果较为简单,在某些应用中不能满足高精度高仿真的需求。光滑粒子流体动力学方法是一种无网格粒子数值仿真方法,以其能对复杂的物理作用较好演绎的优势,最早出现天体物理学的应用中,用于解决复杂天体运动的模拟,目前广泛应用于流体力学相关领域,包括不可压流、磁流、重力流、热传导、冲击模拟、水下爆炸等模拟。新加坡、加拿大、澳大利亚、美国、德国在SPH的算法及改进算法都有一定的研究成果,且有较多的探索性应用。将这种方法引进到地学过程模拟中,是显著提高模拟精度与可靠性的有效途径。因为传统的地学过程仿真方法忽略了很多的物理学与动力学因素,其模拟的可靠性受到模型的因素选取与空间分析方法的约束,其计算结果的精度往往较低,仿真效果较为简单,在某些应用中不能满足高精度高仿真的需求。

发明内容
为了解决上述技术问题,本发明提供一种基于SPH算法的洪水溃坝过程仿真方法与仿真系统,将SPH方法引用到地学过程模拟中,有效提高仿真结果的真实性。为了达到上述目的,本发明提供一种基于SPH算法的洪水溃坝过程仿真方法,包括步骤A、获取实地地理空间信息数据;步骤B、基于步骤A获取的所述地理空间信息数据建立洪水溃坝过程的动力学模型;步骤C、基于步骤A获取的所述地理空间信息数据建立地理实体模型;步骤D、将步骤B得到的所述动力学模型解析为SPH计算式;步骤E、将步骤C得到的所述地理实体模型初始化为SPH计算中流体粒子与边界粒子;
步骤F、基于SPH算法的循环计算;步骤G、对步骤F所得的计算数值结果进行时空过程建模,得到洪水溃坝过程三维时空模型与数据库;步骤H、对步骤G所得的洪水溃坝过程三维时空模型及数据库进行动态可视化。优选地,所述步骤B包括从地理实体的建筑结构,材质,尺寸规格,空间分布状况,及影像图、数字线画图能反映地理实体的动力学影响范围的地理信息数据中,获取洪水溃坝过程的动力因素;根据洪水溃坝水利分析方法分析溃坝形式和溃口特征,确定动力学分析尺度以及水的可压缩比;根据地理空间分析方法洪水主要流向和洪水主要流域范围; 根据地物分类方法分析流域范围的地物类型,确定流域范围的阻力形式、大小与分布,得到系统的洪水溃坝过程的动力学模型。 优选地,所述步骤E包括构建空间体素数据集;通过与流域地形的三维模型和大坝三维模型进行交集检测,标记出与流域地形的三维模型和大坝三维模型空间相交的体素,以此作为SPH计算中边界粒子;通过与水的三维模型进行交集检测,得到水的外壳边界;求出位于水的三维模型内部的体素,以此作为SPH计算中流体粒子。优选地,所述步骤F包括读入流体粒子于边界粒子,计算粒子初始位置;计算各个粒子的初始密度、初始速度、初始压强、初始质量和初始间距;计算SPH循环计算的时间变化率;根据时间变化率,逐步循环计算每一步每个粒子的密度、压强,计算该时刻每个粒子的由粒子间压力和粘度所造成的应力加速度、由重力加速度和边界碰撞所造成的外力加速度;以上述步骤所得加速度计算粒子的速度与位移量,更新粒子坐标位置,完成该时段的计算进入下一时刻的计算;按照一定的时间间隔依次输出所以粒子同一时刻下的速度与坐标值,得到按一定时序排布的SPH计算数值结果。优选地,所述步骤G包括对SPH计算输出结果的解译,识别数据文档中的数据时间、粒子序号、粒子位置坐标值及各方向上的速度值;根据解译得到的粒子坐标值构建三维表面格网;对格网进行几何光滑;以不同的压缩率指数对表面格网进行多级数据压缩;根据解译得到的数据时间,对以上三维格网数据进行时间排序,得到洪水溃坝过程的三维时空模型与数据库。本发明还提供一种基于SPH算法的洪水溃坝过程仿真系统,包括地理空间信息数据预处理模块,用于地理空间信息数据坐标整合,根据地理空间信息的空间特征构建洪水溃坝过程的动力学模型,根据数字高程模型数据构建地形三维建模,以及水、大坝的地理实体三维模型的构建;SPH计算模块,用于利用SPH算法解析与粒子初始化,SPH算法的循环计算的实现,SPH计算结果的输出;时空过程建模模块,用于对SPH计算结果进行解译,三维表面格网生成、压缩与光滑,以及洪水溃坝过程时空建模;动态可视化模块,用于对洪水溃坝过程时空模型进行动态数据调度,三维动态可视化。优选地,所述SPH计算模块包括 SPH算法解析单元,用于将洪水溃坝过程的动力学模型解析为SPH计算式,并将地理实体模型初始化为SPH计算中的流体粒子与边界粒子;粒子初始位置计算单元,用于根据流体粒子与边界粒子实体模型计算粒子初始位置;粒子初始状态计算单元,根据动力学模型解析得到的SPH计算式计算各个粒子的粒子初始状态;时间变化率计算单元,用于计算循环计算的时间变化率;循环计算单元,用于根据时间变化率逐步循环计算;计算结果输出单元,用于按照一定的时间间隔依次输出所以粒子同一时刻下的速度与坐标值,得到按一定时序排布的SPH计算数值结果。优选地,所述时空过程建模模块包括SPH计算数值结果解译单元,用于对SPH计算输出结果的解译,识别数据文档中的数据时间、粒子序号、粒子位置坐标值及各方向上的速度值;三维构网单元,用于根据解译得到的粒子坐标值构建三维表面格网;格网光滑单元,用于对格网进行几何光滑;格网压缩单元,用于以不同的压缩率指数对表面格网进行多级数据压缩;三维时空模型建模单元,根据解译得到的数据时间,对以上三维格网数据进行时间排序,得到洪水溃坝过程的三维时空模型与数据库。由上述技术方案可知,本发明的实施例具有如下有益效果基于SPH算法的洪水溃坝过程仿真方法与仿真系统,能够针对洪水溃坝这一常见灾害的地理过程,利用现有的地理空间信息数据资源,基于SPH算法,进行高精度高仿真的洪水溃坝过程模拟,为洪水溃坝过程模拟的进一步分析与应用提供精度更高、效果更逼真的模拟结果,弥补了利用现有的地学模型与空间分析算法进行洪水溃坝过程模拟在精度和效果上的不足。


图I所示为本发明实施中基于SPH算法的洪水溃坝过程仿真方法的流程图;图2所示为由地理空间信息数据建立洪水溃坝过程的动力学模型的流程图;图3A、3B、3C分别所示由地理空间信息数据建立流域地形、大坝、水三类地理实体模型的流程图;图4所示为将动力学模型解析为SPH计算式的流程图5所示为将地理实体模型初始化为SPH计算的流体粒子与边界粒子的流程图;图6所示为基于SPH算法的循环计算流程图;图7所示为对SPH计算数值结果进行时空过程建模的流程图;
图8所示为本发明实施中基于SPH算法的洪水溃坝过程仿真系统的结构框图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清晰明白,下面结合实施例和附图,对本发明实施例做进一步的详细说明。在此,本发明的示意性实施例及说明用于解释本发明,但并不作为本发明的限定。<实施例一 >如图I所示,为本发明实施中基于SPH算法的洪水溃坝过程仿真方法的流程图,具体步骤如下步骤S101、获取实地地理空间信息数据。在本实施例中,该实地地理空间信息数据包括地理实体的卫星影像图,航空影像图,数据高程模型数据,数字线画图等地理信息数据,以及地理实体的建筑结构、材质、尺寸规格、空间分布状况等动力学相关信息数据。步骤S102、基于步骤SlOl获取的地理空间信息数据建立洪水溃坝过程的动力学模型。具体的实施过程如图2所示I)从地理实体的建筑结构,材质,尺寸规格,空间分布状况等动力学相关信息数据,及影像图、数字线画图等能反映地理实体的动力学影响范围的地理信息数据中,获取洪水溃坝过程的动力因素;2)根据洪水溃坝水利分析方法分析溃坝形式,溃口特征,确定动力学分析尺度,水的可压缩比;3)根据地理空间分析方法洪水主要流向,洪水主要流域范围;4)根据地物分类方法分析流域范围的地物类型,确定流域范围的阻力形式、大小与分布等动力学信息,最终得到系统的洪水溃坝过程的动力学模型。步骤S103、基于步骤SlOl获取的地理空间信息数据建立地理实体模型。例如根据地理实体的卫星影像图,航空影像图,数据高程模型数据,数字线画图等地理信息数据,及地理实体的建筑结构,尺寸规格等能反映地理实体外观的动力学相关信息数据,建立水、大坝、流域地形等地理实体的三维模型。更具体的说,在步骤S103中,构建流域地形的三维模型的方法如图3A所示I)根据流域范围提取流域范围内的数字高程模型数据;2)解译流域范围内所有空间位置的高程信息,得到三维坐标点;3)根据三维坐标点构建三维不规则三角网,组成流域地形三维模型。在步骤S103中,构建大坝的三维模型的方法,具体步骤如图3B所示I)从数字线画图数据中提取大坝的水平投影形状及坐标;2)从其它数据中提取大坝的建筑结构、材质和尺寸规格;3)根据以上两个步骤所得参数,在商用三维建模软件中建立大坝三维模型。
在步骤S103中,构建水的三维模型的方法,具体步骤如图3C所示I)通过卫星影像、航空影像等数据获取水体所在空间位置与范围;2)在该空间范围内建立水体最小外包长方体三维几何模型;3)然后将该长方体三维模型与流域地形三维模型、大坝三维模型进行空间几何求交,得到水的三维模型。步骤S104、将步骤S102得到的动力学模型解析为SPH计算式。更具体的说,在步骤S104中,用SPH算法将步骤S102得到的动力学模型解析为SPH计算式的方法,具体步骤如图4所示I)通过数学积分推导,将动力学模型的物理公式近似为积分表达式;

2)然后将积分表达式近似为积分域中离散化的求和表达式,在求和表达式中,每一个离散点即是一个粒子;3)由此推导出基于离散粒子求和的SPH算法计算式。步骤S105、将步骤S103得到的地理实体模型初始化为SPH计算中流体粒子与边界粒子。更具体的说,步骤S105的方法如图5所示I)首先构建空间体素数据集;2)通过与流域地形的三维模型和大坝三维模型进行交集检测,标记出与流域地形的三维模型和大坝三维模型空间相交的体素,以此作为SPH计算中边界粒子;3)以同样方法通过与水的三维模型进行交集检测,得到水的外壳边界;4)然后求出位于水的三维模型内部的体素,以此作为SPH计算中流体粒子。步骤S106、基于SPH算法的循环计算。以步骤S105所得的流体粒子与边界粒子为计算数据源,以步骤S104所得的SPH算法计算式为计算公式,进行循环计算,得出计算结果。具体的,基于SPH算法的迭代计算流程,具体步骤如图6所示I)首先,读入流体粒子与边界粒子,计算粒子初始位置;2)计算各个粒子的初始密度、初始速度、初始压强、初始质量、初始间距等粒子初始状态;3)计算SPH循环计算的时间变化率;4)根据时间变化率,逐步循环计算每一步每个粒子的密度、压强,计算该时刻每个粒子的由粒子间压力和粘度所造成的应力加速度、由重力加速度和边界碰撞所造成的外力加速度;5)最后,以上述步骤所得加速度计算粒子的速度与位移量,更新粒子坐标位置,完成该时段的计算进入下一时刻的计算;6)同时,按照一定的时间间隔依次输出所以粒子同一时刻下的速度与坐标值,得到按一定时序排布的SPH计算数值结果。步骤S107、计算结果输出;步骤S108、对步骤S106所得的计算数值结果进行时空过程建模。具体的,对计算数值结果进行时空过程建模流程的具体步骤如图7所示I)首先,对SPH计算输出结果的解译,识别数据文档中的数据时间、粒子序号、粒子位置坐标值及各方向上的速度值;2)根据解译得到的粒子坐标值构建三维表面格网;3)然后,对格网进行几何光滑;4)并以不同的压缩率指数对表面格网进行多级数据压缩;5)最后,根据解译得到的数据时间,对以上三维格网数据进行时间排序,得到洪水溃坝过程的三维时空模型与数据库。步骤S109、对步骤S108所得的洪水溃坝过程三维时空模型及数据库进行动态可视化。
例如对洪水溃坝过程时空数据库进行动态数据调度,然后在计算机虚拟的三维环境,中实现按照洪水溃坝地理过程的时间发展顺序的动态可视化。更具体的说,在步骤S109中,针对时空过程模型进行动态数据调度的方法,包括计算机三维界面与时空过程模型数据库的通信,对时空过程模型进行基于时间与空间的筛选,以及带有时间与空间缓存的数据调度。在步骤S109中,针对洪水溃坝地理过程的三维动态可视化技术,包括数据有效时间与计算机操作时间、计算机三维界面指示时间的时间映射,三维动态渲染,以及三维动态
显不O虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。〈实施例二〉如图8所示,为本发明实施中基于SPH算法的洪水溃坝过程仿真系统的结构框图,该仿真系统包括I)地理空间信息数据预处理模块,用于地理空间信息数据坐标整合,根据地理空间信息的空间特征构建洪水溃坝过程的动力学模型,根据数字高程模型数据构建地形三维建模,以及水、大坝等地理实体三维模型的构建;2) SPH计算模块,用于利用SPH算法解析与粒子初始化,SPH算法的循环计算的实现,SPH计算结果的输出;3)时空过程建模模块,用于对SPH计算结果进行解译,三维表面格网生成、压缩与光滑,洪水溃坝过程时空建模;4)动态可视化模块,用于对洪水溃坝过程时空模型进行动态数据调度,三维动态可视化。更具体的说,在基于SPH算法的洪水溃坝过程仿真系统中所述的SPH计算模块,进一步包括以下功能单元I) SPH算法解析单元,用于将洪水溃坝过程的动力学模型解析为SPH计算式,并将地理实体模型初始化为SPH计算中的流体粒子与边界粒子;2)粒子初始位置计算单元,用于根据流体粒子与边界粒子实体模型计算粒子初始位置;3)粒子初始状态计算单元,根据动力学模型解析得到的SPH计算式计算各个粒子的初始密度、初始速度、初始压强、初始质量、初始间距等粒子初始状态;
4)时间变化率计算单元,用于计算循环计算的时间变化率;5)循环计算单元,用于根据时间变化率逐步循环计算;6)计算结果输出单元,用于按照一定的时间间隔依次输出所以粒子同一时刻下的速度与坐标值,得到按一定时序排布的SPH计算数值结果。在基于SPH算法的洪水溃坝过程仿真系统中所述的时空过程建模模块,进一步包括以下功能单元I) SPH计算数值结果解译单元,用于对SPH计算输出结果的解译,识别数据文档中的数据时间、粒子序号、粒子位置坐标值及各方向上的速度值;2)三维构网单元,用于根据解译得到的粒子坐标值构建三维表面格网;3)格网光滑单元,用于对格网进行几何光滑; 4)格网压缩单元,用于以不同的压缩率指数对表面格网进行多级数据压缩;5)三维时空模型建模单元,根据解译得到的数据时间,对以上三维格网数据进行时间排序,得到洪水溃坝过程的三维时空模型和数据库。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种基于SPH算法的洪水溃坝过程仿真方法,其特征在于,包括 步骤A、获取实地地理空间信息数据; 步骤B、基于步骤A获取的所述地理空间信息数据建立洪水溃坝过程的动力学模型; 步骤C、基于步骤A获取的所述地理空间信息数据建立地理实体模型; 步骤D、将步骤B得到的所述动力学模型解析为SPH计算式; 步骤E、将步骤C得到的所述地理实体模型初始化为SPH计算中流体粒子与边界粒子; 步骤F、基于SPH算法的循环计算; 步骤G、对步骤F所得的计算数值结果进行时空过程建模,得到洪水溃坝过程三维时空模型与数据库; 步骤H、对步骤G所得的洪水溃坝过程三维时空模型及数据库进行动态可视化。
2.根据权利要求I所述的基于SPH算法的洪水溃坝过程仿真方法,其特征在于,所述步骤B包括 从地理实体的建筑结构,材质,尺寸规格,空间分布状况,及影像图、数字线画图能反映地理实体的动力学影响范围的地理信息数据中,获取洪水溃坝过程的动力因素; 根据洪水溃坝水利分析方法分析溃坝形式和溃口特征,确定动力学分析尺度以及水的可压缩比; 根据地理空间分析方法洪水主要流向和洪水主要流域范围; 根据地物分类方法分析流域范围的地物类型,确定流域范围的阻力形式、大小与分布,得到系统的洪水溃坝过程的动力学模型。
3.根据权利要求I所述的基于SPH算法的洪水溃坝过程仿真方法,其特征在于,所述步骤E包括 构建空间体素数据集; 通过与流域地形的三维模型和大坝三维模型进行交集检测,标记出与流域地形的三维模型和大坝三维模型空间相交的体素,以此作为SPH计算中边界粒子; 通过与水的三维模型进行交集检测,得到水的外壳边界; 求出位于水的三维模型内部的体素,以此作为SPH计算中流体粒子。
4.根据权利要求I所述的基于SPH算法的洪水溃坝过程仿真方法,其特征在于,所述步骤G包括 对SPH计算输出结果的解译,识别数据文档中的数据时间、粒子序号、粒子位置坐标值及各方向上的速度值; 根据解译得到的粒子坐标值构建三维表面格网; 对格网进行几何光滑; 以不同的压缩率指数对表面格网进行多级数据压缩; 根据解译得到的数据时间,对以上三维格网数据进行时间排序,得到洪水溃坝过程的三维时空模型与数据库。
5.一种基于SPH算法的洪水溃坝过程仿真系统,其特征在于,包括 地理空间信息数据预处理模块,用于地理空间信息数据坐标整合,根据地理空间信息的空间特征构建洪水溃坝过程的动力学模型,根据数字高程模型数据构建地形三维建模,以及水、大坝的地理实体三维模型的构建;SPH计算模块,用于利用SPH算法解析与粒子初始化,SPH算法的循环计算的实现,SPH计算结果的输出; 时空过程建模模块,用于对SPH计算结果进行解译,三维表面格网生成、压缩与光滑,以及洪水溃坝过程时空建模; 动态可视化模块,用于对洪水溃坝过程时空模型进行动态数据调度,三维动态可视化。
6.根据权利要求5所述基于SPH算法的洪水溃坝过程仿真系统,其特征在于,所述SPH计算模块包括 SPH算法解析单元,用于将洪水溃坝过程的动力学模型解析为SPH计算式,并将地理实体模型初始化为SPH计算中的流体粒子与边界粒子; 粒子初始位置计算单元,用于根据流体粒子与边界粒子实体模型计算粒子初始位置;粒子初始状态计算单元,根据动力学模型解析得到的SPH计算式计算各个粒子的粒子初始状态; 时间变化率计算单元,用于计算循环计算的时间变化率; 循环计算单元,用于根据时间变化率逐步循环计算; 计算结果输出单元,用于按照一定的时间间隔依次输出所以粒子同一时刻下的速度与坐标值,得到按一定时序排布的SPH计算数值结果。
7.根据权利要求5所述基于SPH算法的洪水溃坝过程仿真系统,其特征在于,所述时空过程建模模块包括 SPH计算数值结果解译单元,用于对SPH计算输出结果的解译,识别数据文档中的数据时间、粒子序号、粒子位置坐标值及各方向上的速度值; 三维构网单元,用于根据解译得到的粒子坐标值构建三维表面格网; 格网光滑单元,用于对格网进行几何光滑; 格网压缩单元,用于以不同的压缩率指数对表面格网进行多级数据压缩; 三维时空模型建模单元,根据解译得到的数据时间,对以上三维格网数据进行时间排序,得到洪水溃坝过程的三维时空模型与数据库。
全文摘要
本发明提供一种基于SPH算法的洪水溃坝过程仿真方法与仿真系统,该仿真方法包括A、获取实地地理空间信息数据;B、基于步骤A获取的地理空间信息数据建立洪水溃坝过程的动力学模型;C、基于步骤A获取的地理空间信息数据建立地理实体模型;D、将步骤B得到的动力学模型解析为SPH计算式;E、将步骤C得到的地理实体模型初始化为SPH计算中流体粒子与边界粒子;F、基于SPH算法的循环计算;G、对步骤F所得的计算数值结果进行时空过程建模,得到洪水溃坝过程三维时空模型与数据库;H、对步骤G所得的洪水溃坝过程三维时空模型及数据库进行动态可视化。通过将SPH方法引用到地学过程模拟中,有效提高仿真结果的真实性。
文档编号G06F17/50GK102708227SQ20121011398
公开日2012年10月3日 申请日期2012年4月18日 优先权日2012年4月18日
发明者叶芳宏, 唐新明, 李忠, 欧阳斯达, 汪汇兵 申请人:国家测绘局卫星测绘应用中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1