本发明涉电力系统动态分析领域,具体涉及一种电力系统动态仿真方法及系统。
背景技术:
现代社会工业生产和居民生活紧密地依赖于电力系统的能源供应,保证电力系统的安全稳定运行的重要手段是在实际电力系统投入使用之前进行电力系统的动态仿真。
电力系统的动态仿真通过对投入使用的电网进行不同电网结构、不同运行方式和不同故障情况下的动态稳定性开展仿真模拟分析,来判断系统是否能够稳定运行。首先对投入使用的电力系统受到扰动时的动态响应过程进行计算机数字化仿真模拟,再将仿真结果作为电网设计、调度和规划人员的参考指导意见,进行电力系统的运行状态评估,依据评估结果避免不合理的运行方式、有效把握系统的薄弱环节,从而合理安排运行方式、制定对应的安全控制策略,有针对性地增强系统的稳定性,提高电网安全稳定运行水平。可见,准确的动态仿真结果对电力系统的实际运行具有非常重要的作用。
特别的,在仿真过程中,电力系统所面临的并非是单一扰动,而是多重的扰动,对仿真有更高的要求。一方面由于系统经历不同时刻的多重故障,如短路、断线、重合闸等,另一方面还由于系统存在应对不同情况的安全自动装置,如各类保护装置和限制器动作装置等。多重故障一般是预设的,具有明确的动作时序,其准确性基本依赖于仿真时序;而安全自动装置的动作在仿真之前是未知的,它的动作是在仿真过程中系统某个状态达到一定条件才会被触发,对仿真过程中的系统状态非常敏感,一个很小的仿真偏差就可能导致完全不同的动作逻辑或者动作时刻,对仿真结果影响较大。这就要求仿真程序具有足够的准确性才能正确模拟出预设的故障动作时序和自动装置的动作。
电力系统的动态响应可以用描述系统元件动态(如发电机、励磁机、调速器、动态负荷以及补偿元件等)特性的微分方程组和描述网络(电力网架结构)状态的代数方程组来表示,从数学模型的角度来看,电力系统的动态仿真其实就是一个求解微分-代数方程组(dae,differentialalgebraicequations)的过程,仿真算法能否准确求解dae方程组直接决定着仿真结果的准确度。
在求解这套dae方程的过程中,常规的电力系统动态仿真如bpa、psasp、pss/e大多采用隐式梯形积分方法,该方法只有二阶精度,并且积分步长较小,一般取0.01~0.02s,仅适用于短时间仿真;当用于长时间仿真时,仿真步数大大增加,不仅仿真效率低下,而且仿真过程中会积累不容忽视的误差,并不适合全过程仿真。现有的全过程动态仿真方法,ltsp采用了四阶显式龙格-库塔法,计算量较大,而且引入了人工阻尼以适应大步长的计算;eurostag采用了混合adams-bdf算法;simpow采用了gear和隐式梯形积分法相结合的算法;exstab在梯形积分法的基础上增加了积分松弛因子;梯形积分方法和gear法相结合的组合积分算法,最高阶数大多为二阶,实际使用的gear法最大阶数为二阶,具备大步长仿真能力,能够有效进行中长期的仿真,但实际计算表明在长时间仿真过程中,由于算法阶数低,而且随着仿真步数的剧增以及仿真步长的加大,局部截断误差和累计误差都会增大,仿真准确性并不能完全满足长时间仿真的要求。
技术实现要素:
为了解决现有技术中所存在的仿真准确性不能完全满足长时间仿真的要求的问题,本发明提供了一种电力系统动态仿真方法及系统。
本发明提供的技术方案是:
一种电力系统动态仿真方法,包括:
步骤s1:根据仿真方程的区段初值进行低阶预测,得到初始预测值,并通过误差方程计算残差;
步骤s2:判断所述残差是否收敛于预设条件,若收敛于预设条件,则进行下一区段的低阶预测;否则,基于所述残差进行高阶迭代,直至所述残差收敛于预设条件;
重复步骤s2,直至仿真完所有积分时步,输出仿真结果。
优选的,所述根据仿真方程的区段初值进行低阶预测,得到初始预测值,并通过误差方程计算残差,之前还包括:
根据获取的电力系统的周期数据,构建动态仿真方程;
根据所述电力系统数据的周期时长和周期数量,构建所述动态仿真方程的时步;
基于所述时步,采用配点法构建各个时步上的区段。
优选的,所述根据仿真方程的区段初值进行低阶预测,得到初始预测值,并通过误差方程计算残差,包括:
将仿真方程的初始网络电压作为输入量,通过低阶预测算法,得到当前区段的网络电流;
基于所述网络电流采用矩阵分解法计算更新后的网络电压,得到当前区段的初始预测值;
通过预先获取的谱积分矩阵,计算当前区段的积分值;
根据所述积分值,通过误差方程得到残差。
优选的,所述通过预先获取的谱积分矩阵,计算当前区段的积分值,如下式所示:
其中,
优选的,所述误差方程,如下式所示:
其中,
优选的,所述基于所述残差进行高阶迭代,直至所述残差收敛于预设条件,包括:
步骤s201:将所述残差叠加到当前区段的仿真方程,得到迭代方程;
步骤s202:基于所述迭代方程进行微分方程的求解,得到微分方程结果,并根据预设的收敛条件得到第一收敛结果;
步骤s203:基于所述迭代方程进行代数方程的求解,得到代数方程结果,并根据所述收敛条件得到第二收敛结果;
步骤s204:若所述第一收敛结果和所述第二收敛结果都为收敛,则输出代数方程结果作为当前区段的输出值;
步骤s205:否则,重复步骤s201至s204,直到所述第一收敛结果和所述第二收敛结果都为收敛。
优选的,所述收敛条件为:
其中,
优选的,所述判断所述残差是否收敛于预设条件,若收敛于预设条件,则进行下一区段的低阶预测;否则,基于所述残差进行高阶迭代,直至所述残差收敛于预设条件,之后还包括:
判断当前区段是否为当前时步的最后一个区段;
若当前区段为当前时步的最后一个区段,则输出当前区段的预测值作为当前时步的预测值;
否则,对下一区段进行低阶预测和高阶迭代,直至计算完成当前时步的最后一个区段。
一种电力系统动态仿真系统,所述系统包括:
残差获取模块:根据仿真方程的区段初值进行低阶预测,得到初始预测值,并通过误差方程计算残差;
判断模块:判断所述残差是否收敛于预设条件,若收敛于预设条件,则进行下一区段的低阶预测;否则,基于所述残差进行高阶迭代,直至所述残差收敛于预设条件;
仿真结果输出模块:仿真完所有积分时步,输出仿真结果。
优选的,所述系统,还包括:区段划分模块;
所述区段划分模块包括:
仿真方程构建子模块:根据获取的电力系统的周期数据,构建动态仿真方程;
时步构建子模块:根据所述电力系统数据的周期时长和周期数量,构建所述动态仿真方程的时步;
区段构建子模块:基于所述时步,采用配点法构建各个时步上的区段。
优选的,所述残差获取模块,包括:
网络电流计算子模块:将仿真方程的初始网络电压作为输入量,通过低阶预测算法,得到当前区段的网络电流;
网络电压计算子模块:基于所述网络电流采用矩阵分解法计算更新后的网络电压,得到当前区段的初始预测值;
积分值计算子模块:通过预先获取的谱积分矩阵,计算当前区段的积分值;
残差计算子模块:根据所述积分值,通过误差方程得到残差。
与现有技术相比,本发明的有益效果为:本技术方案,包括:一种电力系统动态仿真方法,包括:根据仿真方程的区段初值进行低阶预测,得到初始预测值,并通过误差方程计算残差;判断所述残差是否收敛于预设条件,若收敛于预设条件,则进行下一区段的低阶预测;否则,基于所述残差进行高阶迭代,直至所述残差收敛于预设条件,直至仿真完所有积分时步,输出仿真结果。本技术方案采用了高阶谱积分和低阶积分算法相结合的方式,高阶谱积分保证计算精度,传统低阶积分保证稳定性。
在不减小步长的情况下达到高精度,大大减小了低阶积分算法的局部截断误差以及仿真的累积误差对仿真结果的影响,适用于常规的暂态稳定仿真和中长期动态仿真。
附图说明
图1为本发明的电力系统动态仿真方法流程图;
图2为本发明的电力系统动态计算判断流程图。
具体实施方式
为了更好地理解本发明,下面结合说明书附图和实例对本发明的内容做进一步的说明。
实施例1:
下面结合附图1详细描述算法的求解过程。
步骤s1:根据仿真方程的区段初值进行低阶预测,得到初始预测值,并通过误差方程计算残差;
sdc方法的高精度依赖于多项式插值的gauss积分,首先需要构造积分区间上的gauss型正交多项式插值节点并计算相应的谱积分矩阵。由于基于谱积分的积分算法中插值节点数和谱积分矩阵是固定的,因此可以在正式仿真之前先做好相关的数据计算,以供后续每一步的仿真积分用。
记k为迭代次数,插值节点数为p,假设插值类型为gauss-radauⅱa型,也即包含积分区间右端点。记一个仿真时步[a,b]内的插值节点为t1,t2,…,tp,使之满足a=t0<t1<t2<…<tp=b,则p个节点将区间[a,b]划分为了p个子区间[ti,ti+1],记[ti,ti+1]为一个积分子步,且δti=ti+1-ti。
由于标准区间[-1,1]的插值节点,记为s1,s2,…,sp,可以通过
标准区间[-1,1]上gauss-radauⅱa型插值节点是相应正交legendre多项式的零点,直接求取多项式的根就可以得到插值节点。
下面计算一个积分时步内相邻节点间小区段的积分。
积分
式中,
基于sdc的高精度积分算法采用逐时步的方式进行仿真。与常规低阶积分方法不同之处在于,常规低阶积分方法每个时步只进行一次积分计算,而本发明提出的基于sdc的高精度积分算法由于属于配点法,一个时步包含了p个插值区段,因而在一个时步的仿真过程中需要进行p次积分计算,分别对应于p个时间节点处的积分。
基于sdc的高精度积分算法在一个时步的仿真过程中,由于开始计算时只有积分区段首节点的值才是已知的,其他p个节点都是未知的,首先需要进行各节点处初值的预测,称为“predict低阶预测”;各节点处有了初始预测值之后,就可以开始进行高精度谱积分校正的迭代过程,称为“sweep高阶迭代”;每次迭代后(predict低阶预测也算一次迭代),各节点处的积分值就得到了更新,通过计算积分误差判断该次迭代过程是否达到了预设的收敛条件,从而决定继续对当前时步进行迭代校正还是开始进行下一时步的积分计算。
如前所述,predict低阶预测的意义在于为p个插值节点提供初始预测值,因而对其精度要求并不高,适合采用常规的低阶积分算法,以梯形积分法为例。
predict低阶预测过程对积分时步的p个小区段逐次进行低阶积分,每个小区段内的积分过程与传统的仿真过程相同。简述采用简单迭代法进行dae方程进行小区段的积分,如下,
首先根据小区段首端点的网络电压作为输入,采用梯形积分方法计算各动态元件(发电机、励磁系统、调速系统、动态负荷等)的动态响应,得到动态元件注入网络的电流,此即微分方程部分的求解。采用梯形积分方法离散,可以得到第i插值节点第k+1次迭代的迭代公式,
另,采用forwardeuler以及backeuler发时,相应的计算式分别为,
可见,predict阶段由于都采用了低阶算法,其迭代格式与传统积分格式相同。
然后以动态元件的注入电流作为输入量,采用lu分解法计算网络方程的节点电压,此即代数方程部分的求解。
这样就得到了更新的网络电压,继续这个迭代过程,直至注入电流收敛到预设条件,即完成了一个小区段的积分计算。逐次积分计算p个小区段,就得到了整个时步内各节点的初始预测值。有了初始预测值就就得到了更新的y值,计算残差res。
基于更新的
步骤s2:判断所述残差是否收敛于预设条件,若收敛于预设条件,则进行下一区段的低阶预测;否则,基于所述残差进行高阶迭代,直至所述残差收敛于预设条件;
计算的残差
如若不满足要求,也即谱积分还需要进行进一步的迭代,并将迭代次数k加1;
如若满足要求,即代表该时步的积分收敛(注,此时各个节点的积分计算均收敛)。
注,predict阶段亦是一次迭代过程,predict计算完毕后,也需要进入本步骤的判断,此时如果判断结果收敛,并不需要进行sweep过程的迭代,也就是说,此时该时步的积分与传统仿真过程相同。这一设计的意义在于,如果某个仿真时步系统状态变化平缓、收敛性好,基于sdc的仿真算法可以退化为传统仿真;只有当传统积分计算精度不够的时候,算法才会进入高精度的sweep迭代以提高仿真精度。
sweep迭代校正的基本思想是通过谱积分的高精度积分逐次校正低阶积分,采用gauss-radauⅱa型插值节点的谱积分计算,修正前一次迭代的计算结果。同predict预测阶段类似,高阶迭代过程对积分时步的p个小区段逐次进行高阶积分,每个小区段内的仿真计算(dae方程的求解)采取简单迭代办法,微分方程与代数方程部分分别进行求解。
首先根据小区段首端点的网络电压作为输入,采用梯形积分方法计算各动态元件(发电机、励磁系统、调速系统、动态负荷等)的动态响应,得到动态元件注入网络的电流,此即微分方程部分的求解。该部分采用梯形积分方法离散,谱积分方法求解,可以得到第i插值节点第k+1次迭代的统一迭代公式,
定义,
当采用forwardeuler或者backeuler法时,迭代式如下式。
深入分析上述统一迭代格式可知,sdc方法的本质实际上是在传统低阶积分计算方法基础上增加了一个高精度的修正项res,通过高精度修正项res逐步迭代,从而得到高精度的积分结果。
然后以动态元件的注入电流作为输入量,采用lu分解法计算网络方程的节点电压,此即代数方程部分的求解。
这样就得到了更新的网络电压,继续这个迭代过程,直至注入电流收敛到预设条件,即完成了一个小区段的积分计算。逐次积分计算p个小区段,就得到了整个时步内各节点的高阶校正值。
如图2所示,从以下6个小步骤详细介绍sweep过程
①res传递给微分方程
取计算的res代入,作为高阶修正量,准备进行低阶的梯形积分方法的积分。从程序的角度讲,就是将各微分方程的右端项增加一个修正量。此时置i=1,i为插值节点顺序号,i∈1,2,…,p。执行步骤②。
②第i节点微分方程的梯形积分求解
将网络代数方程的当前电压作为已知量,输入到微分方程中,所有动态元件,如发电机、励磁、调速、负荷等的计算,此时高阶修正量res是通过谱积分计算出来的,并且作为函数的右端项进入了计算过程,因而此步骤的计算过程属于高精度计算,这是与传统低阶积分最重要的差别。微分方程部分得到更新后,计算i节点处微分方程的梯形积分求解过程是否收敛,收敛判断条件是两次迭代计算结果的差值的绝对值小于预设值,也即
③第i节点代数方程的求解
将微分方程计算得到的更新的
④第i节点计算是否收敛
每一个节点计算对应一套dae方程的求解,由于求解采用的是微分方程和代数方程的分立求解,因而各节点dae方程求解收敛的条件是必须同时满足微分方程收敛、代数方程收敛。此时进行((flag_conv_diff==1)&&(flag_conv_alg==1)的计算,若计算结果为1,则表示i节点微分方程和代数方程均收敛,也即i节点dae方程计算收敛,执行步骤⑥;若计算结果为0,则表示该节点微分方程收敛条件和代数方程收敛条件没有同时得到满足,也即i节点dae的求解计算尚未收敛,则执行步骤⑤进行i节点的迭代计算。
⑤执行第i节点微分和代数方程的迭代
需要进行迭代计算才能达到预设的收敛条件。此步骤的迭代属于插值小区段的迭代计算,对应i节点处的低阶积分的迭代,目的是求取
⑥i是否是末节点
判断i是否是末节点(p节点),若i=p,表示该时步最后一节点计算收敛,跳出迭代过程,转而执行该时步的谱积分收敛判断;若i≠p,则执行下一节点的仿真求解,也即执行步骤②,并置i=i+1。
步骤s3:重复步骤s2,直至仿真完所有积分时步,输出仿真结果:
至此,整个时步的计算均收敛,各节点处的微分方程和代数方程的求解误差均在控制范围之内,该时步仿真计算完成。视输出需求,可以仅输出末节点的计算结果,也可以输出全部插值节点的计算结果。
判断当前时间是否到达仿真结束时间,若为真,表示整个仿真任务计算完毕,仿真结束;若为假,则时步数加1,进行下一时步的仿真计算,执行步骤3。
以上即是基于sdc方法的高精度电力系统动态仿真的算法。该算法将高阶积分算法的计算结果作为一个修正量,进入到低阶积分算法的求解过程中对低阶积分结果进行校正,从而达到很高的计算精度,算法流程简单、容易实现。
实施例2:
基于同种发明思想,本发明还提供了一种电力系统动态仿真系统,系统包括:
残差获取模块:根据仿真方程的区段初值进行低阶预测,得到初始预测值,并通过误差方程计算残差;
判断模块:判断所述残差是否收敛于预设条件,若收敛于预设条件,则进行下一区段的低阶预测;否则,基于所述残差进行高阶迭代,直至所述残差收敛于预设条件;
仿真结果输出模块:仿真完所有积分时步,输出仿真结果。
所述系统,还包括:区段划分模块;
所述区段划分模块包括:
仿真方程构建子模块:根据获取的电力系统的周期数据,构建动态仿真方程;
时步构建子模块:根据所述电力系统数据的周期时长和周期数量,构建所述动态仿真方程的时步;
区段构建子模块:基于所述时步,采用配点法构建各个时步上的区段。
所述残差获取模块,包括:
网络电流计算子模块:将仿真方程的初始网络电压作为输入量,通过低阶预测算法,得到当前区段的网络电流;
网络电压计算子模块:基于所述网络电流采用矩阵分解法计算更新后的网络电压,得到当前区段的初始预测值;
积分值计算子模块:通过预先获取的谱积分矩阵,计算当前区段的积分值;
残差计算子模块:根据所述积分值,通过误差方程得到残差。
积分值计算子模块中,通过预先获取的谱积分矩阵,计算当前区段的积分值,如下式所示:
其中,
残差计算子模块中,所述误差方程的计算,如下式所示:
其中,
所述判断模块,包括:
迭代方程获取子模块:将所述残差叠加到当前区段的仿真方程,得到迭代方程;
第一收敛结果获取子模块:基于所述迭代方程进行微分方程的求解,得到微分方程结果,并根据预设的收敛条件得到第一收敛结果;
第二收敛结果获取子模块:基于所述迭代方程进行代数方程的求解,得到代数方程结果,并根据所述收敛条件得到第二收敛结果;
判断子模块:若所述第一收敛结果和所述第二收敛结果都为收敛,则输出代数方程结果作为当前区段的输出值;
继续迭代子模块:若所述第一收敛结果和所述第二收敛结果都不为收敛,则继续迭代预算,直至所述第一收敛结果和所述第二收敛结果都为收敛。
判断模块中,设置的收敛条件为:
其中,
所述判断模块,还包括:
区间判断子模块:判断当前区段是否为当前时步的最后一个区段;若当前区段为当前时步的最后一个区段,则输出当前区段的预测值作为当前时步的预测值;否则,对下一区段进行低阶预测和高阶迭代,直至计算完成当前时步的最后一个区段。
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。