1.一种基于Matlab的快速分解法潮流计算方法,采用矩阵运算和复数运算;其特征在于:包括以下步骤:
A、输入原始数据和初始化电压;
根据电力系统节点的特点,潮流计算把电力系统节点分成3类:节点有功功率和无功功率已知、节点电压幅值和电压相角未知的节点称为PQ节点;节点有功功率和电压幅值已知、节点无功功率和电压相角未知的节点称为PV节点;节点电压幅值和电压相角已知,节点有功功率和无功功率未知的节点称为平衡节点;
电压初始化采用平启动,即PV节点和平衡节点的电压幅值取给定值,PQ节点的电压幅值取1.0;所有电压的相角都取0.0;这里相角单位为弧度,其他量单位采用标幺值;
电压初始化采用平启动,形成节点电压相量列向量同时形成节点电压幅值列向量V;
B、形成节点导纳矩阵;
C、记录相关节点类型的节点号;
快速分解法修正方程组的方程个数及变量个数与电力系统的节点类型有关,P~θ迭代方程组中没有平衡节点有功功率不平衡量对应的方程和平衡节点相角变量;Q~V迭代方程组中仅有PQ节点无功功率不平衡量对应的方程和PQ节点电压幅值变量;
为了提高计算速度,形成方程组系数矩阵及方程右端向量时先不考虑节点类型,形成系数矩阵及方程右端向量后,再去掉无关的行和列;为此,设置两个数组记录有关节点类型的节点号,其中数组bt1记录PQ节点和PV节点的节点号,数组bt2记录PQ节点的节点号;
记录相关节点类型的节点号的步骤如下:
C1、预定义数组bt的维数为n×1;
C2、令k=1,p=0;
C3、判断节点k是否为平衡节点,如果节点k是平衡节点转至步骤C6;
C4、令p=p+1;
C5、令btp=k;
C6、令k=k+1;
C7、判断k是否大于节点数n,如果k不大于n,则返回到步骤C3;否则,转至步骤C8;
C8、令数组bt1为数组bt的前p项;
C9、令k=1,p=0;
C10、判断节点k是否为PQ节点,如果节点k不是PQ节点转至步骤C13;
C11、令p=p+1;
C12、令btp=k;
C13、令k=k+1;
C14、判断k是否大于节点数n,如果k不大于n,则返回到步骤C10;否则,转至步骤C15;
C15、令数组bt2为数组bt的前p项;
C16、转至步骤D;
D、形成修正方程的系数矩阵B′和B″并进行因子表分解;
为了提高计算速度和简化程序,形成系数矩阵B′和B″时不考虑节点类型,都形成n阶方阵,然后再按数组bt1和bt2记录的节点号提取矩阵元素,去掉多余的行和列;按数组bt1记录的节点号提取矩阵B′需要的行和列,去掉平衡节点对应的行和列,形成新的系数矩阵B′;按数组bt2记录的节点号提取矩阵B″需要的行和列,去掉平衡节点和PV节点对应的行和列,形成新的系数矩阵B″;
直接调用Matlab软件的LU分解法对系数矩阵B′进行三角分解形成下三角矩阵L1和上三角矩阵U1;对系数矩阵B″进行三角分解形成下三角矩阵L2和上三角矩阵U2;分解后得到的矩阵L1、U1、L2和U2都不包含无关的行和列,在迭代过程解方程时不用再提取矩阵元素;
E、形成节点注入有功功率和无功功率向量;
潮流计算迭代过程中,计算节点有功功率不平衡量向量和节点无功功率不平衡量向量时,要用到节点注入有功功率列向量Ps和节点注入无功功率列向量Qs,为了提高计算速度,先形成节点注入有功功率向量和节点注入无功功率向量;
节点注入有功功率列向量为
Ps=PG-PL (1)
式中,Ps为节点注入有功功率列向量;PG为节点发电有功功率列向量;PL为节点负荷有功功率列向量;
节点注入无功功率列向量为
Qs=QG-QL (2)
式中,Qs为节点注入无功功率列向量;QG为节点发电无功功率列向量;QL为节点负荷无功功率列向量;
形成向量Ps和Qs时不考虑节点类型,然后再按数组bt1和bt2记录的节点号提取向量元素,去掉多余的元素;按数组bt1记录的节点号提取向量Ps需要的元素,去掉平衡节点对应的元素,形成新的向量Ps;按数组bt2记录的节点号提取向量Qs需要的元素,去掉平衡节点和PV节点对应的元素,形成新的向量Qs;
F、设置迭代计数t=0,设置收敛标志KP=0,KQ=0;
G、计算有功功率不平衡量ΔP,并求有功功率最大不平衡量ΔPmax;
Matlab擅长矩阵运算和复数运算,因此采用Matlab编程,推导出基于矩阵运算和复数运算的功率计算方法;
节点i的复功率公式为
式中,为节点i的复功率;Pi和Qi分别为节点i的有功功率和无功功率;为节点电压相量;为节点i电流相量的共轭,上标(^)表示复数的共轭;
式(3)写成向量相乘的形式为
式中,.*表示两向量对应的元素相乘;
式(4)中,为节点i电流相量的共轭,节点i的电流相量为
式(5)代入式(4),得
式中,为节点i的电压相量的共轭值;上标(^)表示复数的共轭;
式(6)中最右端向量,写成矩阵与向量乘积形式,得
式(7)写成简洁矩阵形式为
式中,为节点复功率列向量;为节点电压相量列向量;为节点电压相量的共轭值列向量;Y为导纳矩阵;上标(^)表示复数的共轭;.*表示两向量对应行的元素相乘;
节点有功功率P为
式中,P为节点有功功率列向量;Re表示取矩阵元素的实部;
计算节点有功功率不平衡量的矩阵运算的形成为:
式中,ΔP为节点有功功率不平衡量列向量;Ps为节点注入有功功率列向量;
求各节点中有功功率不平衡量绝对值最大的值,称为有功功率最大不平衡量,记为ΔPmax;
H、判断有功功率最大不平衡量绝对值|ΔPmax|是否小于收敛精度ε;如果小于收敛精度ε,令KP=1,转到步骤I;否则,解式(11)所示的修正方程,然后按式(12)修正电压相角,计算电压相量列向量令KP=0,转到步骤J;
B'Δθ=ΔP/V (11)
θ(t+1)=θ(t)-Δθ(t) (12)
式中,上标(t)表示第t次迭代的值;Δθ为节点电压相角修正量列向量;
使用步骤D形成的下三角矩阵L1和上三角矩阵U1直接调用Matlab软件的解线性方程组算法解修正方程组(11);
I、判断KQ是否等于1;如果KQ=1,转到步骤N;
J、计算无功功率不平衡量ΔQ,并求无功功率最大不平衡量ΔQmax;
按式(8)计算节点复功率然后按下式计算节点无功功率Q:
式中,Q为节点无功功率列向量;Im表示取矩阵元素的虚部;
计算节点无功功率不平衡量矩阵运算的形成为:
式中,ΔQ为节点无功功率不平衡量列向量;Qs为节点注入无功功率列向量;
求各节点中无功功率不平衡量绝对值最大的值,称为无功功率最大不平衡量,记为ΔQmax;
K、判断无功功率最大不平衡量绝对值|ΔQmax|是否小于收敛精度ε;如果小于收敛精度ε,令KQ=1,转到步骤L;否则,解式(15)所示的修正方程,然后按式(16)修正电压幅值,计算电压相量列向量令KQ=0,转到步骤M;
B"ΔV=ΔQ/V (15)
V(t+1)=V(t)-ΔV(t) (16)
式中,上标(t)表示第t次迭代的值;ΔV为节点电压幅值修正量列向量;
使用步骤D形成的三角矩阵L2和U2直接调用Matlab软件的解线性方程组算法解修正方程组(15);
L、判断KP是否等于1;如果KP=1,转到步骤N;
M、令t=t+1,返回步骤G进行下一次迭代;
N、计算平衡节点的有功功率和无功功率及PV节点的无功功率,计算各支路有功功率和无功功率,结束。