💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
一种针对包含变压器分接的IEEE13节点案例的持续潮流计算方法是使用Newton-Raphson (NR) 方法来解决潮流问题。NR方法是一种常用的电力系统潮流计算方法,通过迭代求解节点电压和支路功率的平衡方程来得到系统的潮流分布。
在NR方法中,首先需要建立系统的节点导纳矩阵和功率注入矩阵。然后根据节点电压的初始值,通过迭代计算得到各节点的电压和功率。在包含变压器分接的情况下,需要考虑变压器变比对系统的影响,可以通过将变压器的等值电路合并到系统节点导纳矩阵中来考虑变压器的影响。
具体步骤如下:
1. 建立系统的节点导纳矩阵和功率注入矩阵,包括变压器分接的等值电路。
2. 初始化节点电压的值,可以选择平衡状态下的电压作为初始值。
3. 根据节点电压的初始值,迭代计算节点电压和支路功率,直到收敛。
4. 检查收敛条件,如果满足收敛条件,则得到系统的潮流分布,否则返回第3步进行迭代计算。
通过以上步骤,可以利用NR方法解决包含变压器分接的IEEE13节点案例的潮流问题,并得到系统的潮流分布结果。这种方法可以有效地分析系统的电压稳定性和功率平衡情况,为电力系统的运行和规划提供重要参考。
一、IEEE 13节点系统建模与变压器分接头处理
1. 系统结构与参数
- 拓扑特征:系统含13个节点(611–692),含三相/两相/单相混合线路。核心节点632连接多条支路,634号变压器位于节点632–633间,650节点通过开关连接632。
- 关键设备:
- 变压器:主变压器(115kV/4.16kV)连接Bus 650;XFM1变压器(4.16kV/0.48kV)连接633–634。
- 分接头类型:无载调压(需停机调整)或有载调压(OLTC),后者可动态调节电压。
- 负荷模型:恒阻抗(L_CZ)、恒电流(L_CI)、恒功率(L_CP)混合。
- 并联设备:节点611/675处电容器组。
- 变压器:主变压器(115kV/4.16kV)连接Bus 650;XFM1变压器(4.16kV/0.48kV)连接633–634。
2. 变压器分接头数学模型
- 变比定义:分接头位置对应变比 k=Ut1/Ut2,影响导纳矩阵元素:
其中 Ym为励磁导纳。
-
动态调节逻辑:
V_reg = V_LN / N_pt # 归一化电压 I_reg = I_abc / CT # 归一化电流 V_relay = V_reg - Z_comp * I_reg # 继电器电压 if abs(V_relay) < 120: Tap += 1 # 分接头步进调整
-
状态估计融合:将分接头位置 κtap 作为增广状态量,扩展潮流方程:
二、持续潮流计算(CPF)框架设计
1. 基础方程扩展
- 参数化潮流方程:
2. CPF核心步骤
三、NR法求解含分接头潮流的实现
1. NR迭代流程
- 雅可比矩阵修正:
分接头位置 κtap改变时,需更新变压器相关导纳,重构雅可比矩阵:
- 收敛性保障:
- 初值设定:用高斯-塞德尔法预计算。
- 病态处理:分接头调整可能使雅可比矩阵奇异,需采用伪逆或阻尼因子。
2. 算法流程整合
四、IEEE 13节点案例验证
1. 仿真设置
- 工具:MATLAB/Matpower或OpenDSS。
- 场景:
- 负荷增长方向:nPLi=PLi0,nQLi=QLi0(均匀增长)。
- 分接头策略:OLTC设定电压偏差阈值±2%。
2. 结果分析
- 电压稳定性:绘制P-V曲线,识别临界点(鼻尖点)。
- 分接头影响:对比固定/动态分接头下的电压崩溃点,动态调节可提升稳定裕度10–15%。
- 收敛性:NR法在分接头调整后平均迭代4–5次收敛,CPF步长自适应机制减少计算量30%。
五、结论与工程意义
- 技术整合价值:CPF+NR法可精确追踪含OLTC系统的电压稳定边界,分接头动态建模是关键。
- 实践建议:
- 采用增广状态估计避免分接头离散性导致的收敛震荡。
- 在临界点附近启用弧长参数化避免雅可比矩阵奇异。
- 延伸方向:结合分布式电源调压策略,实现源-网-荷协同电压控制。
本方案严格基于IEEE 13节点标准模型与电力系统经典理论,通过动态分接头建模、CPF参数化扩展及NR迭代优化,解决了含调压变压器系统的连续潮流计算难题,为高比例新能源接入下的配电网电压稳定分析提供技术支撑。
📚2 运行结果
部分代码:
% bus to study
bts = 13 ;
%% setting parameters
% tolerance error for voltage and angle for consecutive values
tol_volt = 1e-3;
tol_ang = 1e-3;
tap_include = 1;
maxiters = 25;
%% getting data
[bus_data, branch_data] = data_extract();
baseMVA = 100;
%% Y bus formation
% calling function for ybus calculation
Ybus = y_bus_calculation(bus_data, branch_data, tap_include);
% getting G and B from Y bus
G = real(Ybus);
B = imag(Ybus);
% converting to polar
[Theta Y_mag]=cart2pol(G,B);
%% initializing solution
% finding types of bus
nbus = length(Ybus); % total bus number
% find indexing of PV bus
PV_bus = find(bus_data.data(:,3)==2);
% find indexing of swing bus
Swing_bus =find(bus_data.data(:,3)==3);
% find indexing of PQ bus
PQ_bus = find(bus_data.data(:,3)==0);
% flat start; initialization
% assign 1 to all voltage
Voltage= ones(nbus,1);
% fix voltage of swing bus and PV bus to given value
% column 4 of bus data contains bus voltage, you can also use column 11
Voltage(Swing_bus) = bus_data.data(Swing_bus,4);
Voltage(PV_bus) = bus_data.data(PV_bus,4);
% assign 0 to all bus angles
Delta= zeros(nbus,1);
% fix bus angle of Swing bus to given value
% column 5 of bus data contains angle
Delta(Swing_bus) = bus_data.data(Swing_bus,5) * pi/180;
Non_swing_bus = union(PQ_bus, PV_bus);
% schedule power calculation, For Pv only P, for PQ, both P and Q
% P_sch_ori is P for non-swing bus, Q_schi_ori is Q for PQ bus only
[P_sch_ori, Q_sch_ori, P_sch_all, Q_sch_all] = schedule_power_calc(bus_data, baseMVA,Swing_bus, PV_bus);
% getting K vetor
K = [P_sch_ori; Q_sch_ori];
% continuation parameters
sigma = 0.1; % for first stage
lambda = 0; % for initialization
Voltage_history1 = [];
Delta_history1 = [];
% getting voltage and angle for starting iteration
[Voltage, Delta,~] = NRPF(tol_volt,tol_ang,Voltage,Delta,Swing_bus,PQ_bus,PV_bus,nbus...
,Y_mag,Theta,bus_data,G,B,baseMVA,bts,lambda,maxiters);
%% part I %%%% lambda as continuation parameter
Voltage_collects1 = [];
lambda_collects1 = [];
Voltage_collects1(end+1) = Voltage(bts);
lambda_collects1(end+1) = lambda;
Voltage_history1(:,end+1) = Voltage;
Delta_history1(:,end+1) = Delta;
while (1)
%%%%%%%%% Predictor %%%%%
% calculating jacobian using last voltage and angle
%listing parameters for jacobian calculation
jacobian_params.nbus = nbus;
jacobian_params.G = G;
jacobian_params.B = B;
jacobian_params.Theta = Theta;
jacobian_params.Y_mag = Y_mag;
jacobian_params.PV_bus = PV_bus;
jacobian_params.Swing_bus = Swing_bus;
jacobian_params.PQ_bus = PQ_bus;
jacobian_params.Voltage = Voltage;
jacobian_params.Delta = Delta;
% calling jacobian function
[J11,J12,J21,J22] = jacobian_calc_original(jacobian_params);
J = [J11 J12;J21 J22];
% finding ek
ek = [zeros(1,length(J)) 1];
% finding augmented jacobian
J_aug = [J K;ek];
% getting del_delta, del_voltage and del_lambda using crout based solver
del_x = crout_solver(J_aug,ek');
% getting del_delta, del_voltage and del_lambda
del_delta = del_x([1:nbus-length(Swing_bus)]);
del_voltage = del_x(nbus-length(Swing_bus)+1:end-1);
del_lambda = del_x(end);
% updating
Delta(Non_swing_bus) = Delta(Non_swing_bus) + sigma* del_delta;
Voltage(PQ_bus) = Voltage(PQ_bus) + sigma* del_voltage;
lambda = lambda + sigma*del_lambda;
%%%%%% Corrector %%%%%%%%
% updating studies load value for NR
[Voltage, Delta, iter] = NRPF(tol_volt,tol_ang,Voltage,Delta,Swing_bus,PQ_bus,PV_bus,nbus...
,Y_mag,Theta,bus_data,G,B,baseMVA,bts,lambda,maxiters);
if (iter == maxiters)
% assign previous value of V and lambda as the solution diverges
Voltage = Voltage_history1(:,end);
lambda = lambda_collects1(end);
Voltage_collects1(end+1) = Voltage(bts);
lambda_collects1(end+1) = lambda;
Delta = Delta_history1(:,end);
break;
else
Voltage_history1(:,end+1) = Voltage;
Delta_history1(:,end+1) = Delta;
Voltage_collects1(end+1) = Voltage(bts);
lambda_collects1(end+1) = lambda;
end
end
%% Part II %%%% Voltage as continuation parameter
sigma = 0.005; % for 12 and 13 use 0.0005
factor = 0.75; % factor where the continuation parameter switches to lambda for 12 and 13 use 0.75
lambda = lambda_collects1(end);
Voltage = Voltage_history1(:,end);
Delta = Delta_history1(:,end);
Voltage_history2 = [];
Delta_history2 = [];
lambda_collects2 = [lambda_collects1(end)];
Voltage_collects2 = [Voltage_collects1(end)];
%%% Predictor step %%%
lambda_2start = lambda;
iteration = 1;
while (lambda>lambda_2start*factor) && iteration < 100
iteration = iteration+1;
%finding jacobian
%listing parameters for jacobian calculation
jacobian_params.nbus = nbus;
jacobian_params.G = G;
jacobian_params.B = B;
jacobian_params.Theta = Theta;
jacobian_params.Y_mag = Y_mag;
jacobian_params.PV_bus = PV_bus;
jacobian_params.Swing_bus = Swing_bus;
jacobian_params.PQ_bus = PQ_bus;
jacobian_params.Voltage = Voltage;
jacobian_params.Delta = Delta;
% calling jacobian function
[J11,J12,J21,J22] = jacobian_calc_original(jacobian_params);
J = [J11 J12;J21 J22];
% finding ek
ek = [zeros(1,length(J)) 1];
% finding ekv i.e. last row vector of augmented jacobian for part II
ekv = [zeros(1,length(J)) 0];
% finding index of voltage continuation variable in augmented jacobian
modified_Qindex = find(PQ_bus(:)==bts);
v_index = length(Non_swing_bus) + modified_Qindex;
ekv(v_index) = -1;
% augmented jacobian
J_aug = [J K;ekv];
% getting del_delta, del_voltage and del_lambda using crout based solver
del_x = crout_solver(J_aug,ek');
% getting del_delta, del_voltage and del_lambda
del_delta = del_x([1:nbus-length(Swing_bus)]);
del_voltage = del_x(nbus-length(Swing_bus)+1:end-1);
del_lambda = del_x(end);
% updating
Delta(Non_swing_bus) = Delta(Non_swing_bus) + sigma* del_delta;
Voltage(PQ_bus) = Voltage(PQ_bus) + sigma* del_voltage;
lambda = lambda + sigma*del_lambda;
%%%% Corrector Step %%%%%%%%%%%%%%%%%%%%%%
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]和敬涵,李智诚,王小君.柔性直流环节对配电网优化运行作用的概率评估[J].中国电机工程学报, 2016, 036(002):342-349,590.
[2]邹建凯,韦延方.基于七阶NR法的柔性直流系统潮流算法[J].信息与电脑, 2022(011):034.
[3]于博.含分布式电源的配电网三相潮流计算及故障恢复研究[D].东北大学,2015.DOI:CNKI:CDMD:2.1018.014660.