当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于GPU分层加速的电网拓扑分析方法技术

技术编号:24892945 阅读:41 留言:0更新日期:2020-07-14 18:18
本发明专利技术公开了一种基于GPU分层加速的电网拓扑分析方法,包括如下步骤:CPU中读入实际电网断面文件,提取电网模型为电网物理模型,进行无向图的编制,并对拓扑分析所需信息进行压缩存储并传递到GPU;GPU中调用分厂站并行拓扑分析内核函数StationBus_kernel,生成d_Visited并传递给h_Visited;将全网计算节点划分结果整理成为计算节点,编制计算节点邻接链表形成全网计算节点的邻接数组并以压缩形式储存和传递;GPU中调用系统拓扑分析函数System_Kernel_new,形成拓扑分析结果。本发明专利技术采用并行潜能较高的GPU进行大规模电网的拓扑分析,提高电网拓扑分析的实时性和稳定性。

【技术实现步骤摘要】
一种基于GPU分层加速的电网拓扑分析方法
本专利技术涉及一种电网拓扑分析方法,尤其涉及一种基于GPU分层加速的电网拓扑分析方法。
技术介绍
电网拓扑分析,是电力能量流动过程中,对用于转换、保护和控制这一过程的元件状态进行分析,进而得到电网结构关系的过程。进行电网拓扑分析的目的是将分析得到的电网结构用于应用层的众多电网分析运算,包括潮流计算和电网状态估计等。因此,拓扑分析构成电网分析计算的基础模块,其性能直接影响到众多电网分析算法应用层的性能。高性能的电网拓扑分析算法,是实时电网分析系列算法的关键组成部分,具有重要的研究价值。电网拓扑分析算法利用厂站接线中母线段和开关信息,得到进行计算时使用的相关联的“节点”,并明确各个“节点”之间的联通关系,即形成电网在线分析计算中使用的母线-支路计算模型。该模型的划分涉及三个概念和两个步骤,第一步,将电气元件上客观存在的电气连接点,即物理节点,根据开关和刀闸的开关信息,合并为抽象的计算节点,计算节点内部各物理节点具有相同的电气量,可以共同参与潮流计算等应用层面的计算;第二步,将抽象出的计算节点,根据变本文档来自技高网...

【技术保护点】
1.一种基于GPU分层加速的电网拓扑分析方法,其特征在于,包括如下步骤:/n(1)、CPU中读入实际电网断面文件,CPU中提取电网调度系统中的电网模型为电网物理模型,CPU中对以电网物理模型形式保存的电网断面文件,进行无向图的编制,并对拓扑分析所需信息进行压缩存储,最后将压缩编制的无向图信息传递到GPU;/n(2)、GPU中调用分厂站并行拓扑分析内核函数StationBus_kernel,根据全网开关状态,将各个电气元件抽象成的物理节点划分为厂站内独立编号的计算节点,生成d_Visited并传递给h_Visited;/n(3)、将全网计算节点划分结果整理成为适于GPU进行计算的全网唯一编号的计...

【技术特征摘要】
1.一种基于GPU分层加速的电网拓扑分析方法,其特征在于,包括如下步骤:
(1)、CPU中读入实际电网断面文件,CPU中提取电网调度系统中的电网模型为电网物理模型,CPU中对以电网物理模型形式保存的电网断面文件,进行无向图的编制,并对拓扑分析所需信息进行压缩存储,最后将压缩编制的无向图信息传递到GPU;
(2)、GPU中调用分厂站并行拓扑分析内核函数StationBus_kernel,根据全网开关状态,将各个电气元件抽象成的物理节点划分为厂站内独立编号的计算节点,生成d_Visited并传递给h_Visited;
(3)、将全网计算节点划分结果整理成为适于GPU进行计算的全网唯一编号的计算节点,编制计算节点邻接链表,形成全网计算节点的邻接数组,并以压缩形式储存和传递;
(4)、GPU中调用系统拓扑分析函数System_Kernel_new,根据全网支路开断状态,将全网计算节点划分为全网系统的子系统;
(5)、CPU中遍历全网划分的子系统,划分系统的主岛和孤岛,形成完整的拓扑分析结果。


2.根据权利要求1所述的一种基于GPU分层加速的电网拓扑分析方法,其特征在于,所述步骤(1)中电网物理模型包括电气元件、厂站和子系统,其中电气元件为电网中一次设备集合中的一个元素,包括单端元件、双端元件和多端元件,单端元件包括发电机组Unit、负荷和并联补偿器Compensator_P数组,双端元件包括断路器Breaker数组、隔离开关Disconnector数组、串联补偿器Compensator_S数组、双绕组变压器Transformer数组和输电线路ACline数组,多端元件包括三绕组变压器;厂站为由若干电气元件连成的区域,该区域中不包含任何输电线路元件,系统中的厂站信息;子系统为由厂站拓扑分析后得到的计算节点和支路构成的集合,与厂站相对应;
其中电网物理模型进行压缩编制的具体方法包括如下步骤:
(1.1)、将电网物理模型中的电气元件抽象为图论中的VertexNum个物理节点和EdgeNum条边,抽象为全网的物理节点后,由vec_Node类向量储存和控制,每个物理节点对应一个向量元素,物理节点间的邻接关系均保存在vec_Node每个元素中的Adjlist中;
(1.2)、进行并行拓扑分析数据准备时,将全体物理节点的Adjlist首尾相连,形成数组h_Adj,并由h_AdjIndex记录每一个物理节点的邻接链表的起始位置;
(1.3)、电网中的厂站信息由vec_Station类向量保存和控制,将全体厂站包含物理节点的信息存储在数组h_StationNode中,并由h_StationIndex记录每一个厂站包含物理节点号的起始位置;
(1.4)、在GPU的全局内存中开辟空间,并将h_Adj、h_AdjIndex、h_StationNode和h_StationIndex四个数组经PCI-E传递到GPU的globalmemory中,对应数组分别为d_Adj、d_AdjIndex、d_StationNode和d_StationIndex。


3.根据权利要求2所述的一种基于GPU分层加速的电网拓扑分析方法,其特征在于,所述步骤(2)中调用分厂站并行拓扑分析内核函数StationBus_kernel<NodeBlockNum,NodeThreadNum>,线程块数量NodeBlockNum=厂站总数StationNum,每块线程数NodeThreadNum=32;其中调用的分厂站并行拓扑分析内核函数的具体方法包括如下步骤:
(2.1)、各厂站分别调用内核函数,每个block对应一个厂站,厂站中共享循环继续条件loop_condition,访问标志visited_condition,以及厂站内计算节点编号变量TopologyNum;每个block中threadIdx=0的线程将TopologyNum置1,其余线程各自利用d_StationNodeIndex,从d_StationNode中截取本厂站涉及物理节点数组,开始循环;
(2.2)、各厂站从本厂站0号物理节点开始依次搜索,利用visited_condition=0的条件,统一寻找本厂站第一个未被访问过的物理节点,记其厂站内编号为k,当前厂站号为bid,k节点在全局中的物理节点号为d_StationNode[d_StationIndex[bid]+k],将该物理节点结果数组中的元素置为当前厂站内计算节点编号TopologyNum,并将该物理节点访问标志置1,令全站共享循环继续条件loop_condition=false,进入循环;
(2.3)、令loop_condition=true,将线程块的32个线程分为4组,对当前厂站全体节点按节点号依次遍历,直到找到第一个未被搜索过邻接数组,且已被访问过的点,记其节点编号为currentNode,令其是否作为源节点启动过的标志位d_Root[k]=1;
(2.4)、一组个数为THREAD_PERNODE=8的线程被用于并行地访问currentNode的全部邻接数组元素,以THREAD_PERNODE作为步长同时搜索其全部邻接点,并将其中未被访问过的物理节点的结果数组置为当前厂站内计算节点编号TopologyNum,并将该物理节点访问标志置1,若loop_condition=true,将其置为false;
(2.5)、如果此时loop_condition=true,即当前计算节点所有的物理节点都已被找到,令当前厂站内计算节点编号TopologyNum自加1,回到步骤(2.2)搜寻新的计算节点,否则回到步骤(2.3)搜寻尚未被搜索邻接数组的物理节点;
(2.6)、当前厂站中所有物理节点均被遍历后,回到步...

【专利技术属性】
技术研发人员:周赣王子恒郑逸凡赵嘉豪华济民傅萌冯燕钧
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1