CN114266126A - 水电站拓扑数据结构构建方法、装置、产品及存储介质 - Google Patents
水电站拓扑数据结构构建方法、装置、产品及存储介质 Download PDFInfo
- Publication number
- CN114266126A CN114266126A CN202111453516.8A CN202111453516A CN114266126A CN 114266126 A CN114266126 A CN 114266126A CN 202111453516 A CN202111453516 A CN 202111453516A CN 114266126 A CN114266126 A CN 114266126A
- Authority
- CN
- China
- Prior art keywords
- pipeline
- node
- hydropower station
- nodes
- downstream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种水电站拓扑数据结构构建方法、装置、产品及存储介质,首先,基于面向对象的思想将水电站输水发电系统进行模块化划分,抽象简化出图形化建模需要的图形对象;然后,采用碰撞识别法将图形对象进行自由组合,构建水电站输水发电系统的图形化模型;运用本发明提出的图形化模型拓扑数据结构自动构建方法,实现水电站输水发电系统图形对象的动态编号和管线拓扑数据结构的自动识别。本发明可以构建整个水电站输水发电系统拓扑关系的拓扑数据结构,并将识别结果直接用于水电站过渡过程计算,有效的节省计算资源,提高计算效率。
Description
技术领域
本发明属于水电站过渡过程可视化仿真软件领域,更具体地,涉及一种输水发电系统图形化模型的拓扑数据结构的自动构建方法,用于输水发电系统图形对象的动态编号和管线拓扑结构的自动识别。
背景技术
水电站的过渡过程是水流从一种稳定工况或状态过渡到另一种工况或状态的瞬态变动过程。在此过程中,水流的速度和流量变化剧烈,若控制不当容易造成机组转速和水压力急剧上升,进而引发抬机、压力管道破裂、调压室毁坏或水轮机部件损坏等重大安全事故。因此水电站在设计过程中必须进行水利过渡过程计算,预估不同工况下输水系统水击压力、机组转速等关键运行参数变化趋势,进而采取合适的控制策略,实现水电站在不同工况之间的安全转换,减少水电机组运行过程中的事故发生率,对水电站的设计和安全稳定运行具有重要意义。
当前,水电站过渡过程的计算理论与计算方法已经比较成熟,手工计算逐步的被水电站过渡过程仿真计算软件所替代。可视化软件作为水电站过渡过程仿真计算软件的发展趋势,已经成为其重要分支。针对可视化软件中存在的图形化模型拓扑数据结构构建问题,目前国内水电行业采用的拓扑识别方法有:1)唐岳灏等人提出的递归管线拓扑结构识别法(唐岳灏,杨建东.面向图形系统的水电站过渡过程程序编码问题的研究[J].水力发电学报,2002(04):93-99.);2)莫剑等人提出的子管线组合法(莫剑,杨建东,赵桂连.引水发电系统的图形模拟及参数设计[J].水力发电学报,2005(06):83-87.)。然而,上述两种方法均存在一定的缺陷,递归管线拓扑结构识别程序过于繁琐且效率低下;子管线组合法虽然优于递归管线识别方法,但是识别出的是几条完整的管线,并不能反映实际的管线拓扑关系,故不能直接用于过渡过程计算。因此,有必要提出一种简单的编码原则,然后基于该方法研究并提出既能简洁高效地识别水电站输水发电系统管线拓扑关系,又能直接将识别结果用于过渡过程计算的新型图形化模型管线拓扑结构的构建方法,推动水电站过渡过程可视化仿真软件的发展。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种水电站拓扑数据结构构建方法、装置、产品及存储介质,实现水电站输水系统图形对象的动态编号和管线拓扑数据结构自动识别,且识别结果可直接用于水电站过渡过程的计算。
为解决上述技术问题,本发明所采用的技术方案是:一种水电站拓扑数据结构构建方法,包括以下步骤:
S1、建立水电站管道节点与边界节点的关联关系,实现水电站输水发电系统图形化模型中图形对象的动态编号;
S2、根据水电站输水发电系统的有向性,以管道节点与边界节点的关联关系为基础,从上游水库开始向下游水库依次搜索管道节点,完成对管线拓扑结构的自动识别,实现整个图形化模型拓扑数据结构的自动构建。
本发明采用动态编号的方式实现图形对象编号的动态变化,无需遍历所有的图形对象,实现过程简单,利用动态编号,结合水电站输水发电系统的有向性搜索管道节点,可以不重复、不遗漏的遍历管线中的所有管道节点,完整的识别整个水电站输水发电系统图形化模型的拓扑关系,自动构建水电站输水发电系统拓扑数据结构,且管线拓扑结构的识别结果可以直接用于过渡过程计算,节省了计算资源。
为便于实现动态编号,步骤S1之前,还包括:
将水电站输水发电系统划分为管道节点与边界节点,其中边界节点包括上游水库、下游水库、闸门槽、调压室、调压阀、分叉管、串联节点、阀门和水轮发电机组;将各个边界节点表示为图形不同,大小、形状相同的位图对象;将管道节点表示为具有长度和方向属性的线性对象;
以绘制线性对象时的起始点和终止点分别表示管道节点的上游端和下游端;在软件绘图区域设置坐标系,为位图对象设置一个宽度为M像素的捕捉区域;管道的上游节点即为捕捉到的线性对象上游端的边界节点,管道的下游节点即为捕捉到的线性对象下游端的边界节点。
步骤S1的具体实现过程包括:
将边界节点和管道节点抽象为各不相同的类,为每个类设置5个属性;
第一个属性存放类对象的编号;第二个属性存放类对象的上游节点编号,用于表示类对象与上游节点的关联关系;第三个属性存放类对象的上游节点类型;第四个属性存放类对象的下游节点编号,用于表示类对象与下游节点的关联关系;第五个属性存放类对象的下游节点类型;
为每个类设置一个动态数组,用于储存各类的所有对象,其中对象的编号为字符型,表示方法为对象所属类的类名+对象在动态数组中的序号;
移动位图对象,使线性对象的上游端或下游端位于位图对象的捕捉区域内,建立管道节点与边界节点的关联关系,并为类对象的5个属性赋值。
在用户对图形对象进行增删操作时,本发明提出的动态自适应编号法通过计算机遍历发生更改的图形对象所在类的动态数组即可实现图形对象编号的动态变化,无需遍历所有的图形对象。除此之外,本发明的方法还将边界节点在过渡过程计算时所涉及的数据交互限制在增设的5个成员变量代表的对象之间进行,为图形化模型管道拓扑结构的自动识别建立了基础。
步骤S2的具体实现过程包括:
1)建立一个三维的动态数组,其中所述动态数组的第一维用于存放每一条管线中包含的所有线性对象,第二维用于存放每一个水力单元所包含的所有管线,第三维用于存放用户搭建的所有水力单元;
2)根据水电站输水发电系统的有向性,选择上游水库为起始点,遍历管道类的动态数组,寻找以所选上游水库为上游节点的管道节点,该管道节点即为与所选上游水库相连的管道;
3)遍历管道类的动态数组,利用两个相连管道节点共有的边界节点,向下游搜寻管道节点;
4)判断步骤3)中所找到的管道节点的下游是否没有与之相连的管道节点或其下游节点是否为下游水库,若否,则执行步骤5);若是,则该水力单元的管线搜索结束,转至步骤6);
5)判断步骤2)中所找到的管道节点的下游管道节点个数n大于1还是等于1,若n=1,则转至步骤3);若n>1,则分别以此n个管道节点为起始点,转至步骤3);
6)从存放该水力单元所有完整管线的三维的动态数组中取最长的一条管线作为基管线,将其余管线与基管线求异,最终得到能反映整个水电站输水发电系统图形化模型拓扑关系的拓扑数据结构。
本发明提出的叉点分割法充分结合了前述自适应编号法的优势,可以不重复、不遗漏的遍历管线中的所有管道节点,完整地识别整个水电站输水发电系统图形化模型的拓扑关系,实现了水电站输水系统图形对象的动态编号和管线拓扑数据结构自动识别,且识别结果可直接用于水电站过渡过程的计算。
为简化实现过程,上述步骤6)中,若有多条管线同时为最长管线,则按照该几条管线在动态数组中的存储顺序,取索引号最小的管线为基管线。
本发明还提供了一种计算机装置,包括存储器、处理器及存储在存储器上的计算机程序;其特征在于,所述处理器执行所述计算机程序,以实现本发明方法的步骤。
本发明还提供了一种计算机程序产品,包括计算机程序/指令;该计算机程序/指令被处理器执行时实现本发明方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序/指令所述计算机程序/指令被处理器执行时实现本发明方法的步骤。
与现有技术相比,本发明所具有的有益效果为:
(1)在用户对图形对象进行增删操作时,本发明提出的动态自适应编号法通过计算机遍历发生更改的图形对象所在类的动态数组即可实现图形对象编号的动态变化,无需遍历所有的图形对象。除此之外,该方法还将边界节点在过渡过程计算时所涉及的数据交互限制在增设的5个成员变量代表的对象之间进行,为图形化模型管道拓扑结构的自动识别建立了基础。
(2)相比于子管线组合法,本发明提出的叉点分割法充分利用了自适应编号法的成果,可以不重复、不遗漏的遍历管线中的所有管道节点,完整的识别整个水电站输水发电系统图形化模型的拓扑关系,自动构建水电站输水发电系统拓扑数据结构,且管线拓扑结构的识别结果可以直接用于过渡过程计算,节省了计算资源。
附图说明
图1为水电站输水发电系统模块划分与图形对象关联关系图;
图2为某水电站的输水发电系统图形化模型拓扑结构图;
图3为本发明提出的叉点分割法的流程图;
图4为某抽水蓄能电站的输水发电系统管道布置图。
具体实施方式
本发明涉及一种水电站拓扑数据结构构建方法。根据对象的层次结构及关联关系,如图1所示,将水电站输水发电系统划分为管道节点和边界节点两大模块,并由这两大模块抽象设计出管道、上游水库、下游水库、闸门槽、调压室、调压阀、分叉管、串联节点、阀门和水轮发电机组十种不同的图形对象。本发明的目的是提出一种能自动构建水电站输水发电系统图形化模型拓扑数据结构的方法,从而实现图形对象编号的动态变化,并在完整的识别图形化模型的整个拓扑结构后,能够将识别结果直接用于该图形化模型的过渡过程计算,提高计算效率。下面通过实例一和实例二阐述自适应编号法和叉点分割法的具体实施方式。
实例一:
为展示本发明提出的自适应编号法的使用效果,以图2所示某水电站树状布置的输水发电系统图形化模型拓扑结构为例,对本文提出的自适应编号法和叉点分割法进行详细说明:
步骤(1):图2所示的图形化模型拓扑结构中包含七种图形对象,可抽象为7个类,为每个类设置一个成员变量,用以表示该类的类型。则图2中每个类的类型及其所包含的图形对象如表1所示:
表1类与图形对象关系表
步骤(2):为每个类对象增设五个成员变量,其中类对象的编号方法为:按照每个类对象在搭建图形化模型过程中出现的先后顺序依次存放在其相对应类的Arraylist中,并自动生成类对象在Arraylist中的序号,最后每个类对象的编号由它所属类型和它在Arraylist中的序号组成。图2中每个类对象对应的五个成员变量如表2所示:
表2图形对象的成员变量
在图2所示的水电站输水发电系统图形化模型中,以自适应编号法建立的节点之间的关联关系为基础,结合图3所示的叉点分割法的流程图,对本发明提出的叉点分割法进行详细说明:
步骤(1):如图2所示的水电站输水发电系统图形化模型中,根据系统的有向性,以上游水库节点uprev1为拓扑结构的起始节点,向下搜索可寻得管道节点pipeline1。由于pipeline1的下游节点不是下游水库,故应继续向下搜索其他管道节点。每寻到一个管道节点,就必须先判断其下游节点是否为下游水库或其下游节点后是否没有相连的管道节点,若是则搜索结束;若否,则继续向下搜索其他管道节点。在以下步骤中,为了便于描述,若所寻到管道节点的下游节点不是下游水库,均省略此判断。
步骤(2):管道节点pipeline1-P1的下游节点与管道节点pipeline2-P2的上游节点均为串联节点innernode1-N2,由pipeline1-P1向下继续搜索可寻得管道节点pipeline2-P2。按此方法,继续向下搜索可依次寻得管道节点pipeline3-P3、pipeline4-P4。
步骤(3):由管道节点pipeline4-P4继续向下搜索会同时寻得管道节点pipeline5-P5和pipeline8-P8。此时管道系统会分裂为A和B两条管线,两条管线所包含的管道节点如表3所示。
步骤(4):以A管线的最后一个管道节点pipeline5-P5继续向下搜索,会一次搜寻到管道节点pipeline6-P6、pipeline7-P7。由于管道节点pipeline7-P7的下游节点为下游水库,故该条管线搜索结束,得到一条完整管线C。以B管线的最后一个管道节点pipeline8-P8继续向下搜索,会同时得到管道节点pipeline9-P9和pipeline10-P10。此时管道系统会分裂出D、E四条管线。C、D、E三条管线各自所包含的管道节点如表3所示。
步骤(5):以D管线的最后一个管道节点pipeline9-P9继续向下搜索,会依次寻到管道节点pipeline11-P11、pipeline13-P13。由于管道节点pipeline13-P13的下游节点为下游水库,所以该条管线搜索结束得到管线F。同理,以E管线的最后一个管道节点pipeline10-P10继续向下搜索,搜索结束会得到管线G。F、G管线各自包含的管道节点如表3所示。
步骤(6):从最终得到的C、F、G三条管线中选择最长的一条管线为基管线。由于本实例中最终寻得的F、G两条管线同为最长管线,故根据这两条管线在ArrayList中的存储顺序,选择存储位置较前的管线F为基管线,其他两条管线均与基管线求异,最终得到H、I、J三条管线,每条管线所包含的管道节点如表3所示。至此,图2所示的水电站输水发电系统图形化模型的管线拓扑数据结构已自动构建完毕,自动识别的管线拓扑结构如实的反映了该水电站图形化模型所展示的拓扑结构。
表3管线名称与管道节点关系表
实例二:
以图4所示的某抽水蓄能电站环状管道布置的输水发电系统为例,对本发明提出的叉点分割法的应用进行详细的说明。
步骤(1):图4所示的水电站输水发电系统管道布置图中,1-15表示边界节点,16-32表示管道节点。根据系统的有向性,以上游水库节点1为管线拓扑结构自动识别的起始节点,向下搜索可寻得管道节点16。
步骤(2):利用两相邻管道之间的共有边界节点,以管道节点16向下继续搜索可依次搜寻到管道节点17、18。
步骤(3):由管道节点18继续向下搜索会同时寻得管道节点19和27。此时管道系统会分裂为A和B两条管线,每条管线所包含的管道节点序号如表4所示。
步骤(4):以管道节点19继续向下搜索,会同时寻到管道节点20和25;以管道节点27继续向下搜索,会同时得到管道节点28和31。此时管道系统会分裂出C、D、E、F四条管线,每条管线包含的管道节点如表4所示。
步骤(5):以管道节点20继续向下搜索,会依次寻到管道节点21、22、23和24。由于管道节点24的下游节点为下游水库,所以该条管线搜索结束,得到管线G。同理,分别以管道节点25、28和31继续向下搜索,会分别得到H、I、J三条管线,每条管线包含的管道节点如表4所示。
步骤(6):从最终得到的G、H、I、J四条管线中选择最长的一条管线为基管线,由于本实例中的最终寻得的四条管线长度相同,故根据四条管线在ArrayList中的存储顺序,取第一条管线G为基管线,其他三条管线均与基管线求异(每条管线中包含多个管道节点,求异就是,以基管线为基础,利用管道节点编号,将其余管线中与基管线中相同的管道节点删除,最后保持每条管线中的管道节点是各不相同的),最终得到K、L、M、N四条管线,每条管线所包含的管道节点如表4所示。
表4管线名称与管道节点关系表
Claims (8)
1.一种水电站拓扑数据结构构建方法,其特征在于,包括以下步骤:
S1、建立水电站管道节点与边界节点的关联关系,实现水电站输水发电系统图形化模型中图形对象的动态编号;
S2、根据水电站输水发电系统的有向性,以管道节点与边界节点的关联关系为基础,从上游水库开始向下游水库依次搜索管道节点,完成对水电站图形化模型拓扑结构的自动识别。
2.根据权利要求1所述的水电站过渡过程软件图形模型拓扑数据结构自动构建方法,其特征在于,步骤S1之前,还包括:
将水电站输水发电系统划分为管道节点与边界节点,其中边界节点包括上游水库、下游水库、闸门槽、调压室、调压阀、分叉管、串联节点、阀门和水轮发电机组;将各个边界节点表示为图形不同,大小、形状相同的位图对象;将管道节点表示为具有长度和方向属性的线性对象;
以绘制线性对象时的起始点和终止点分别表示管道节点的上游端和下游端;在软件绘图区域设置坐标系,为位图对象设置一个宽度为M像素的捕捉区域;管道的上游节点即为捕捉到的线性对象上游端的边界节点,管道的下游节点即为捕捉到的线性对象下游端的边界节点。
3.根据权利要求2所述的水电站拓扑数据结构构建方法,其特征在于,步骤S1的具体实现过程包括:
将边界节点和管道节点抽象为各不相同的类,为每个类设置5个属性;
第一个属性存放类对象的编号;第二个属性存放类对象的上游节点编号,
用于表示类对象与上游节点的关联关系;第三个属性存放类对象的上游节点类型;第四个属性存放类对象的下游节点编号,用于表示类对象与下游节点的关联关系;第五个属性存放类对象的下游节点类型;所有属性的初始值均为空;
为每个类设置一个动态数组,用于储存各类的所有对象,其中对象的编号为字符型,表示方法为对象所属类的类名+对象在动态数组中的序号;
移动位图对象,使线性对象的上游端或下游端位于位图对象的捕捉区域内,建立管道节点与边界节点的关联关系,并为类对象的5个属性赋值。
4.根据权利要求1所述的水电站拓扑数据结构构建方法,其特征在于,步骤S2的具体实现过程包括:
1)建立一个三维的动态数组,其中所述动态数组的第一维用于存放每一条管线中包含的所有线性对象,第二维用于存放每一个水力单元所包含的所有管线,第三维用于存放用户搭建的所有水力单元;
2)根据水电站输水发电系统的有向性,选择上游水库为起始点,遍历管道类的动态数组,寻找以所选上游水库为上游节点的管道节点,该管道节点即为与所选上游水库相连的管道;
3)遍历管道类的动态数组,利用两个相连管道节点共有的边界节点,向下游搜寻管道节点;
4)判断步骤3)中所找到的管道节点的下游是否没有与之相连的管道节点或其下游节点是否为下游水库,若否,则执行步骤5);若是,则该水力单元的管线搜索结束,转至步骤6);
5)判断步骤2)中所找到的管道节点的下游管道节点个数n大于1还是等于1,若n=1,则转至步骤3);若n>1,则分别以此n个管道节点为起始点,转至步骤3);
6)从存放该水力单元所有完整管线的三维的动态数组中取最长的一条管线作为基管线,将其余管线与基管线求异,最终得到反映整个水电站输水发电系统图形化模型拓扑关系的拓扑数据结构。
5.根据权利要求4所述的水电站拓扑数据结构构建方法,其特征在于,步骤6)中,若有多条管线同时为最长管线,则按照该几条管线的存储顺序,取索引号最小的管线为基管线。
6.一种计算机装置,包括存储器、处理器及存储在存储器上的计算机程序;其特征在于,所述处理器执行所述计算机程序,以实现权利要求1~5之一所述方法的步骤。
7.一种计算机程序产品,包括计算机程序/指令;其特征在于,该计算机程序/指令被处理器执行时实现权利要求1~5之一所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序/指令;其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1~5之一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111453516.8A CN114266126A (zh) | 2021-12-01 | 2021-12-01 | 水电站拓扑数据结构构建方法、装置、产品及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111453516.8A CN114266126A (zh) | 2021-12-01 | 2021-12-01 | 水电站拓扑数据结构构建方法、装置、产品及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114266126A true CN114266126A (zh) | 2022-04-01 |
Family
ID=80825976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111453516.8A Pending CN114266126A (zh) | 2021-12-01 | 2021-12-01 | 水电站拓扑数据结构构建方法、装置、产品及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114266126A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115238559A (zh) * | 2022-09-21 | 2022-10-25 | 北京科技大学 | 一种三维轧件拉伸建模过程边界组元自动提取方法及系统 |
-
2021
- 2021-12-01 CN CN202111453516.8A patent/CN114266126A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115238559A (zh) * | 2022-09-21 | 2022-10-25 | 北京科技大学 | 一种三维轧件拉伸建模过程边界组元自动提取方法及系统 |
CN115238559B (zh) * | 2022-09-21 | 2022-12-02 | 北京科技大学 | 一种三维轧件拉伸建模过程边界组元自动提取方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101661527B (zh) | 一种配电网地理接线图到单线图的自动转换系统 | |
CN112632678B (zh) | 基于bim模型的拓扑数据结构创建方法、系统、设备及介质 | |
CN105787226A (zh) | 四边有限元网格模型的参数化模型重建 | |
CN105022377A (zh) | 一种基于Petri网的自动制造系统的控制方法 | |
CN103838907A (zh) | 基于stl模型的曲面切割轨迹获得方法 | |
CN114266126A (zh) | 水电站拓扑数据结构构建方法、装置、产品及存储介质 | |
CN111598376A (zh) | 一种基于信息驱动的对电网大数据进行辅助决策的方法及系统 | |
CN109492059A (zh) | 一种多源异构数据融合与模型修正过程管控方法 | |
CN104537178A (zh) | 一种基于Matlab和Netlogo的电力系统联合仿真建模方法 | |
Sun et al. | Dynamic analysis of digital twin system based on five-dimensional model | |
CN103106539A (zh) | 集输管网系统的优化方法 | |
CN103136410A (zh) | 干支管网布局优化模型的求解方法 | |
CN114139471A (zh) | 适用于cfd的城市街区三维模型构建和网格划分方法及系统 | |
CN113312736A (zh) | 基于云平台的河网水动力模拟实现方法及系统 | |
CN111211557A (zh) | 一种多层级多分支的电网结构规划方法与系统 | |
CN113552881B (zh) | 一种用于神经网络训练的多路径规划数据集生成方法 | |
CN116128019A (zh) | Transformer模型的并行训练方法及装置 | |
CN103853868B (zh) | 基于catia的等高线二维工程图出图方法 | |
CN109684424B (zh) | 基于离散特征线的地貌数据快速生成与优化方法 | |
CN105224506A (zh) | 一种用于gpu异构集群的高性能fft方法 | |
CN111782680A (zh) | 一种基于spark技术的配电网海量数据的处理及分析方法 | |
CN110633517A (zh) | 一种用于三维场景的高效切片方法 | |
CN111340927A (zh) | 基于WebGL的大规模供水管网渲染方法 | |
He et al. | 3D Animation Modeling Measurement Analysis Based on Computer Aided Node Mining | |
CN103136412A (zh) | 集气总站优化模型的求解方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |