基于并行计算的煤矿高压电网短路电流计算方法

2018-09-04 09:37王新良付萌萌
软件导刊 2018年6期
关键词:并行计算

王新良 付萌萌

摘 要:在矿井高压供电系统中,当节点数量较多时,为了能够以较少的时间开销完成基于关联矩阵矿井高压电网的自动短路计算,提出一种煤矿高压电网短路电流并行计算方法。该方法基于矿井高压供电系统结构特点,充分利用并行计算技术。仿真表明,该方法能够有效减少煤矿高压电网短路电流计算时间开销。

关键词:煤矿高压电网;短路电流;并行计算;拓扑分析

DOI:10.11907/rjdk.172772

中图分类号:TP301

文献标识码:A 文章编号:1672-7800(2018)006-0035-04

Abstract:In order to save time of automatic short circuit calculation of coalmine high grid based on incidence matrix when there are many nodes in the high grid , the paper puts forward a parallel computing method of short circuit current of coalmine high grid. Parallel computing is based on features of coalmine high grid. The simulation shows that the method can save time of short circuit current calculation of coalmine high grid effectively.

Key Words:coalmine high grid; short circuit current; parallel computing; topological analysis

0 引言

并行計算是计算机科学重要的研究内容,已有几十年的发展历程[1-2]。利用并行计算技术提高大规模数据计算速度与效率已逐渐成为人们的共识[3-4]。并行计算在石油、气象、军事等传统行业得到应用。随着科技的进步与应用的发展,并行计算的用户也得到了很大的扩充,如电信等行业[5-6]。用并行算法计算性能问题是高端、高性能、大规模并行计算领域非常重要的研究内容[7-8],也是大规模数值计算发展的必然趋势[9-10]。当前,在微机继电保护的算法中,傅里叶变换法、小波变换法和最小二乘法是计算电网短路电流的主要方法[11]。在矿井高压供电系统中,当节点数量较多时,基于关联矩阵完成矿井高压电网自动短路计算时间复杂度较高,时间开销大,因此提出一种煤矿高压电网短路电流并行计算方法降低时间开销。

1 基于并行计算的煤矿高压电网自适应拓扑分析模型

1.1 煤矿高压供电系统支路节点集合S-i计算方法

假定开关状态为合闸的电源支路节点数量有n个,以煤矿高压供电系统电源支路节点为起点,将煤矿高压供电系统支路节点分为n个集合, 每个支路节点集合用S-i表示, 1≤i≤n。首先,将煤矿高压供电系统中所有开关状态为合闸的电源支路节点加入到集合ps中,假定开关状态为合闸的电源支路节点数量有n个,从ps中取出一个电源支路节点,i数值设置为1;然后将该电源支路节点用A-i表示,将A-i加入到支路节点集合S-i中,在煤矿高压供电系统中查找由电源支路节点A-i供电、所有开关状态为合闸的支路节点,并将获得的所有支路节点加入到集合S-i中。此时如果集合ps不为空,从集合ps中取出下一个电源支路节点,将i的数值加1,该电源支路节点用A-i+1表示,将A-i+1加入到支路节点集合S-i中,在煤矿高压供电系统中查找由电源支路节点A-i+1供电的所有开关状态为合闸的支路节点,并将获得的所有支路节点加入到集合S-i中。直至集合ps为空集合时,则可获得n个支路节点集合,每个支路节点集合用S-i表示。

1.2 依据支路节点集合S-i计算其对应的最终供电关联矩阵E-i

将获得的每个支路节点集合S-i(1≤i≤n)加入数据调度任务队列Q-1中,按照先到先服务的原则执行操作。首先判断当前系统活动线程数是否达到最大线程设置数。若已达到,等待V秒后,重复判断;若未达到,则创建一个新的空闲线程,将之前取出的支路节点集合S-i绑定在新建的空闲线程中,将此线程设置为繁忙线程,加入到繁忙线程队列B-1中。从繁忙线程队列B-1中,取出并执行所述绑定支路节点集合S-i的繁忙线程。该线程依据获得的支路节点集合S-i,基于关联矩阵进行网络拓扑分析,获得相应的最终供电关联矩阵E-i(1≤i≤n),线程执行完毕后,释放该繁忙线程。

获得每个支路节点集合S-i对应的供电关联矩阵E-i还需要一系列的具体操作。首先支路节点集合S-i中支路节点的数量用K-i表示,依据支路节点集合S-i中支路节点之间的供电关系生成支路节点和支路节点的直接供电关联矩阵NC-i,则关联矩阵NC-i为K-i行K-i列,关联矩阵NC-i以支路节点顺序号为行号和列号。在关联矩阵NC-i中,如果支路节点q由支路节点t直接供电,则在关联矩阵NC-i中的第q行第t列的元素对应值为1,否则为0;当q和t相等时,关联矩阵NC-i中的第q行第t列的元素对应值为1。然后将矩阵NC-i和自身作矩阵乘法运算,得到一个新的矩阵D-i,D-i=NC-i*NC-i。最后比较矩阵D-i和矩阵NC-i是否发生变化,如果发生变化,则将矩阵D-i的数值赋予矩阵NC-i,将矩阵NC-i和自身作矩阵乘法运算,得到下一个新的矩阵D-i,直至二者没有发生变化,此时计算所得的矩阵D-i即是支路节点与支路节点的最终供电关联矩阵E-i,矩阵E-i为K-i行K-i列。

1.3 依据供电关联矩阵E-i整个高压供电系统最终供电关联矩阵E计算

假定煤矿高压供电系统中开关状态为合闸的支路节点(包括电源支路节点)数量有m个,依据获得的所有供电关联矩阵E-i(1≤i≤n)生成整个高压供电系统最终供电关联矩阵E。首先依据关联矩阵E-i(1≤i≤n)生成其对应的左侧变换矩阵LE-i,变换矩阵LE-i为m行K-i列;将变换矩阵LE-i中所有元素的数值设置为0。如果i=1,则将变换矩阵LE-i中第q行第q列元素的数值设置为1,其中1≤q≤K-i;如果i>1,则将变换矩阵LE-i中第(q+∑i-1-j=1k-j)行第q列元素的数值设置为1,其中1≤q≤K-i;然后依据关联矩阵E-i(1≤i≤n)生成其对应的右侧变换矩阵RE-i,变换矩阵RE-i为k-i行m列;将变换矩阵RE-i中所有元素的数值设置为0;如果i=1,则将变换矩阵RE-i中第q行第q列元素的数值设置为1,其中 1≤q≤K-i ;如果i>1,则将变换矩阵RE-i中第q行第(q+∑i-1-j=1k-j )列元素的数值设置为1,其中1≤q≤K-i。最后依据供电关联矩阵E-i、左侧变换矩阵LE-i和右侧变换矩阵RE-i(1≤i≤n)生成整个高压供电系统的最终供电关联矩阵E,最终供电关联矩阵 E=∑n-i=1(LE-i*E-i*RE-i)。

2 依据供电关联矩阵E的短路电流并行计算算法

将煤矿高压供电系统中开关状态为合闸的m个支路节点加入到集合DS中,按照先到先服务的原则,基于关联矩阵E完成每个支路节点对应短路电流的并行计算。

从支路节点集合DS中取出一个支路节点,取出的支路节点用DS-u表示,将获得的支路节点 DS-u (1≤u≤m)放入数据调度任务队列Q-2中。此时判断当前活动线程数是否达到最大线程设置数,若已达到,等待V秒后,重复判断;若未达到,则创建一个新的空闲线程,将之前取出的支路节点DS-u绑定在新建的空闲线程中,将此线程设置为繁忙线程,加入到繁忙线程队列B-2中。从繁忙线程队列B-2中,取出需绑定支路节点DS-u的繁忙线程,执行该繁忙线程,该线程依据获得的支路节点DS-u基于关联矩阵E计算其对应的短路电流,支路节点DS-u对应的短路电流计算完成后释放其对应的繁忙线程。直至集合DS为空,短路计算调度完成。

依据获得的支路节点DS-u,基于关联矩阵E计算其对应短路电流还需要一系列的具体方法。首先当支路节点DS-u对应的线路末端发生短路时,因线路u由支路节点DS-u直接控制,因此首先在最终供电关联矩阵E中找到支路节点DS-u对应的行,然后找到该行中数值为1的所有元素对应的列号,再依据获得的列号找到对应的支路节点集合P-u,P-u是所有给线路u供电的支路节点集合。如果集合P-u中不存在电源支路节点,则说明线路u没有电源供电,不进行短路计算;如果集合P-u中存在电源支路节点,則说明线路u有电源供电,应在支路节点-供电线路邻接表T中查询集合P-u中每个供电支路节点对应的供电线路信息;依据获取的每条供电线路长度、单位电阻和单位电抗计算出每条线路的电阻和电抗,根据每条线路的电阻、电抗和预先设置的最大运行方式下的系统电抗,计算获得最大运行方式下的总电阻R-max和总电抗X-max,然后依据高压供电系统短路点所在线路的平均电压U和总电阻、总电抗计算最大运行方式下的三相短路电流I(3)-max=U3R2-max+X2-max 。

根据每条线路的电阻、电抗和预先设置的最小运行方式下的系统电抗计算获得最小运行方式下的总电阻R-min和总电抗X-min,然后依据高压供电系统短路点所在线路的平均电压U和总电阻、总电抗计算最小运行方式下的二相短路电流I(2)-min=U2R2-min+X2-min 。

3 仿真分析

图1是煤矿高压供电系统,用黑色填充的支路节点为分闸状态,未填充的支路节点为合闸状态;电源支路节点为X-1,Y-1,Z-1,联络开关节点状态均为分闸。电源支路节点的数量有3个,以煤矿高压供电系统电源支路节点为起点,将煤矿高压供电系统支路节点分为3个集合,每个支路节点集合用 S-i表示,1≤i≤3。将煤矿高压供电系统中所有开关状态为合闸的电源支路节点加入到集合PS中,PS={X-1,Y-1,Z-1}。集合PS对应的支路节点集合S-i分别为:

每个支路节点集合S-i中支路节点编号如图1所示。

在图1所示的煤矿高压供电系统图中,依据获得的每个支路节点集合S-i(1≤i≤3),基于先到先服务的调度原则,分别对每个支路节点集合S-i(1≤i≤3)基于关联矩阵进行并行网络拓扑分析,获得每个支路节点集合S-i对应的最终供电关联矩阵E-i(1≤i≤3)。其中,

在图1所示的煤矿高压供电系统图中,煤矿高压供电系统中开关状态为合闸的支路节点(包括电源支路节点)数量有34个,依据获得的所有供电关联矩阵E-i(1≤i≤3)生成整个高压供电系统的最终供电关联矩阵E。

依据关联矩阵E-i(1≤i≤3)生成其对应的左侧变换矩阵LE-i,变换矩阵LE-i为34行k-i列;将变换矩阵LE-i中所有元素的数值设置为1, 其中k-1=11,k-2=13,k-3=10。针对每个变换矩阵LE-i (1≤i≤3),如果i=1,则将变换矩阵LE-i中第q行第q列元素的数值设置为1,其中1≤q≤k-i;如果i>1,则将变换矩阵LE-i中第q+∑i-1-j=1k-j行第q列元素的数值设置为1,其中1≤q≤k-i。

依据关联矩阵E-i(1≤i≤3)生成其对应的右侧变换矩阵RE-i,变换矩阵RE-i为k-i行34列;将变换矩阵RE-i中所有元素的数值设置为0。针对每个变换矩阵RE-i,如果i=1,则将变换矩阵RE-i中第q行第q列元素的数值设置为1,其中1≤q≤k-i;如果i>1,则将变换矩阵RE-i中第q行第q+∑-j=1i-1k-j列元素的数值设置为1。

依据供电关联矩阵E-i、左侧变换矩阵LE-i 和右侧变换矩阵RE-i(1≤i≤3)生成整个高压供电系统最终供电关联矩阵E,最终供电关联矩阵E=(LE-i*E-i*RE-i)。矩阵E如下:

在非并行计算的情况下,完成整个煤矿高电网拓扑分析所需时间为0.002s,并行情况下是0.001s。为了突出在并行情况下能够减少拓扑分析的时间,将整个煤矿高压电网的节点数目扩展为50,70,90,110,130,150,170,分别计算在对应的情况下完成拓扑分析所需时间。仿真结果如表1所示。

为方便比较,将所有数据作图进行比较,如图2所示。

在图1所示的煤矿高压供电系统图中,将34个支路节点(X-1,X-2,X-3,X-4,X-5,X-6,X-7,X-8,X-9,X-10,X-11,Y-1,Y-2,Y-3,Y-4,Y-5,Y-6,Y-7,Y-8,Y-9,Y-10,Y-11,Y-12,Y-13,Z-1,Z-2,Z-3,Z-4,Z-5,Z-6,Z-7,Z-8,Z-9,Z-10)加入到集合DS中。依据获得的支路节点集合DS,基于先到先服务的调度原则和关联矩阵E完成每个支路节点对应短路电流的并行计算。

从支路节点集合DS中取出一个支路节点,取出的支路节点用DS-u表示;将获得的支路节点DS-u(1≤u≤m)放入数据调度任务队列Qv-2中并判断当前活动线程数是否达到最大线程设置数,若已达到,等待V秒后,重复判断。若未达到,则创建一个新的空闲线程,将之前取出的支路节点DS-u绑定在新建的空闲线程中,将此线程设置为繁忙线程,加入到繁忙线程队列B-2中。从繁忙线程队列B-2中,取出所述绑定支路节点DS-u的繁忙线程,执行该繁忙线程,该线程依据获得的支路节点DS-u,基于关联矩阵E计算其对应的短路电流;支路节点DS-u对应的短路电流计算完成后释放其对应的繁忙线程;直至D-S为空时,短路计算调度完成。

在并行情况下,完成整个煤矿高压供电系统中每个支路节点短路计算所需时间为0.000 007s,若在非并行情况下时间为0.000 005s。为了突出在并行情况下能够减少计算短路电流时间,将整个煤矿高压电节点数量分别扩展为50、70、90、110、130、150、170。

分別计算相应的节点数目在并行情况下与非并行情况下对应的时间,如表2所示。

为方便比较,将所有数据作图进行比较,如图3所示。

4 结语

本文提出了一种煤矿高压电网短路电流并行计算方法,该方法基于矿井高压供电系统结构特点,充分利用并行计算技术,实现煤矿高压电网短路电流并行计算。仿真结果表明,该方法能够明显减少基于关联矩阵完成矿井高压电网自动短路计算的时间开销。

参考文献:

[1] 陈国良,孙广中,徐云,等.并行计算的一体化研究现状与发展趋势[J].科学通报,2009,54(8):1043-1049.

[2] 邹贤才,李建成,汪海洪,等.OpenMP并行计算在卫星重力数据处理中的应用[J].测绘学报,2010,39(6):636-641.

[3] 陈树敏,罗俊博,陈青.并行计算技术的几种实现方式研究[J].计算机技术与发展,2015,25(9):174-177.

[4] 雷英杰,霍红卫.典型并行算法的实现性能分析[J].空军工程大学学报,2003,4(5):67-70.

[5] 厉天威,阮江军,黄道春,等.大规模电磁场数值计算中并行迭代方法的比较[J]. 电工技术学报,2007,22(8):166-173.

[6] 刘俊,马志瀛,闫静,等.基于改进梯度校正法的短路电流在线实时计算[J].电工技术学报,2007,22(10):65-70.

[7] 刘扬,谭国俊.基于智能变电站的煤矿高压电网选择性接地保护研究[J].煤炭学报,2013,38(12):2259-2264.

[8] 梁燕君.计算机数据库的构建与管理维护[J].计算机光盘软件与应用, 2014,12(24): 303-304.

[9] 姚玉斌,王丹,吴志良等.方程求解法网络拓扑分析[J].电力自动化设,2010,30(1):79-83.

[10] 黄旌, 李恒伟.航空机务计量组器具管理系统的开发[J].工业计量,2010,1(1):16-18.

[11] 刘建,程红丽.面向配电自动化的配电网数据结构[J].电力系统自动化,2001,25(13):34-37.

(责任编辑:江 艳)

猜你喜欢
并行计算
基于自适应线程束的GPU并行粒子群优化算法
云计算中MapReduce分布式并行处理框架的研究与搭建
并行硬件简介
不可压NS方程的高效并行直接求解
最大匹配问题Tile自组装模型