程序名称##

基于交替迭代法的通用型交直流潮流计算(matlab版+python版)

程序功能(对象)

  1. 适用于任意大小的交流电网,支持节点和支路的增删;
  2. 适用于接入多个直流环节,直流环节内允许接入风光储等DG;
  3. 换流器采用多种控制方式的VS,且认为换流器自身损耗不可忽略;
  4. 通用型分析:1、交流电网拓扑允许随意变动;
    2、直流电网拓扑允许随意变动,直流环节个数及位置允许随意变动;
    3、交流电网与直流环节均可接入风光储等多个分布式电源;
    4、VSC的控制方式与接入位置允许随意变动;
  5. 通用型限制:去除直流环节需要一个交流系统,否则需要单独编写专用程序,不再通用(大家也可以尝试探讨修改思路),直流环节个数需要提前知道;
  6. 误差分析:与统一迭代法进行对比分析,误差<10^-2;

程序函数说明

matlab版:

  1. 主程序:ACDC_Flow
  2. 交流系统参数输入子程序:所有ac_case文件
  3. 直流系统参数输入子程序:所有dc_case文件
  4. 牛拉法基波子程序:NLPowerFlow文件
  5. 节点导纳子程序:createYbus文件
  6. 交流雅克比矩阵子程序:Jacobi文件(n-1+m*n-1+m)
  7. 直流雅克比矩阵子程序:CreateDCJac文件
    图一为改进的IEEE9节点系统算例程序列表
    图二为改进的IEEE33节点系统算例程序列表

python版:

  1. 主程序输入输出:ACDC_Flow_big_test.py
  2. 子函数包:ACDC_Flow.py

2.1读表函数:

def read_sheet(data_matrix):

2.2节点导纳:

def createYbus(bus,branch):

2.3切片函数:

def slice_matrix(Matrix,Queue_row,Queue_col):

2.4节点注入功率函数:

def calculate_PiiQii(busNum,Bus_V,Ybus):

2.5雅克比矩阵函数:

def jacobi(V,Y,ac_pq,ac_pv,Pi,Qi):

2.6牛拉法函数:

def NL_flow(ac_baseMVA,ac_bus,ac_branch0,ac_gen,ac_bn,ac_pv,ac_pq,m):

2.7直流雅克比矩阵计算函数:

def createDCJac(Y,Udc):

2.8交直流潮流子函数:

def ACDC_FLOW(sheets,DC_baseMVA,DC_bus,DC_branch,DC_VSC,AC_baseMVA,AC_bus,AC_branch,AC_gen,AC_DG,GBUS,YBUS,base_loss):

程序计算步骤及流程图

以matlab版程序作为讲解。

1 参数初始化

参数初始化,读取网络参数,在此标幺化,随机潮流是在确定性基波潮流计算基础之上进行的,参数初始化和基波潮流学习: https://blog.csdn.net/WConstelltion/article/details/123751611.
包括:交流节点负荷,支路阻抗,发电机以及分布式电源参数初始化;直流节点负荷,支路电阻以及分布式电源参数初始;VSC的控制方式以及接入容量和位置初始化,7种控制方式如下图所示。

交替迭代法的计算流程图如下图所示,后续程序依据该逻辑进行讲解

2功率站潮流计算

%目的:计算功率站损耗、功率站直流注入功率Pcdc、直流节点注入功率Pdci
%方式1,2的初值Ps,Qs,Us=1.0,δs=0;方式3的初值Ps,Qs=0,Us,δs=0;
2.1功率站直流侧功率及损耗计算:(Ic为换流器内部流过交流的电流)

    Uc_p = Uf_p-Ic.*Zc;                                         %功率站等效电压源电压Sc_p = Uc_p.*Ic;
Pcloss = a.*abs(Ic).*abs(Ic)+b.*abs(Ic)+c; 

2.2节点注入直流网络功率计算:

    Pdc = -dc_bus(:,3);                                           %直流负荷注入功率Pdc(p_vsc) = Pcdc(p_vsc)+Pdc(p_vsc);               %%含VSC注入功率和负荷注入功率,也可增加DG

2.3直流潮流计算:

        Pdc = Udcs.*(Gbus*Udcs);                            %计算PdcidPdc = Pdcs - Pdc;                                      %功率偏差(不是两次迭代之差么?)if max(abs(dPdc(p))) <= 1e-9                       %非平衡节点收敛判据breakend%直流网络的雅克比矩阵,对电压求导获得Gij*Ui+Gii*Ui;J = Gbus.*Udcs + sparse(1:dc_nb,1:dc_nb,Gbus*Udcs,dc_nb,dc_nb); %Sparse(i,j,s,m,n)构造满足S(i(k),j(k)) = s(k)的m*n维稀疏矩阵,省略非零源(算法可靠!)% J1 = CreateDCJac(Gbus,Udcs);J = J(2:dc_nb,2:dc_nb);                                 %不含平衡节点雅克比dU = J\dPdc(p);Udcs(p) = Udcs(p) + dU;                              %平衡点以外电压修正kdc = kdc+1;

2.4功率站电压越限校验:

         p1 = find(Udcs(p_vsc)<0.95);                       %%判断功率站节点是否越限

3 电压站潮流计算

%目的:内部等效节点参数Uc,δc,Uf,δf以及Ss
3.1通过换流器内部有功和无功平衡方程计算内部电压电压Uc,进而求解交流侧容量Sc

        Ic = (Uc-Uf)/Zc;It = (Uf-Us)/Zt;If = -Uf*(1j*Bf(v_vsc)); %牛顿法求解电压站等效电路参数q1 = Pcdc(v_vsc)+real(Uc.*Ic)+a.*abs(Ic).*abs(Ic)+b.*abs(Ic)+c==0;  %交直侧有功平衡,不是Pdcs而是Pcdc???q2 = real(Uf.*Ic)-real(Uf.*It)==0;                  %滤波器节点f有功平衡q3 = Qs-imag(Uf.*It-Zt.*It.*It)==0;               %变压器支路无功平衡q4 = imag(Uf.*Ic)-imag(Uf.*It)+imag(Uf.*If)==0;%f节点无功平衡,滤波器的无功imag(Uf.*If),电压站的Bf为零此处直接省略滤波之路[c_e, c_f,f_e,f_f] = vpasolve(q1,q2,q3,q4,c_e, c_f,f_e,f_f );%%求解非线性方程组Uf = f_e+f_f*1i;Uc = c_e+c_f*1i;Ss =Uc.*(Uc-Uf)/Zc-Zc.*((Uc-Uf)/Zc).*((Uc-Uf)/Zc)+Uf.*If-Zt.*It.*It;  %电压站的初次无功为零

2.2交流系统参数修正:(节点类型,换流器交流侧功率)

    ac_bus(ac_pq,[3]) = ac_bus(ac_pq,[3])+Ps(vsc_pq);ac_bus(ac_pq,[4]) = ac_bus(ac_pq,[4])+Qs(vsc_pq);%%修正VSC交流侧PQ节点母线功率  ac_bus(ac_pv,[2]) = 2;                                       %VSC的电压站控制方式存在导致原PQ节点变为PV节点 ac_bus(ac_pv,[8]) = abs(Us(vsc_pv));                  %变换后pv节点电压修正

2.3交流潮流计算:

    [Pac,Qac,Bus_V,kac]=NLPowerFlow(ac_baseMVA, ac_bus,ac_branch,ac_gen,ac_dg);

2.4定电压Us换流站Qs越限校验:

           p2 = find(Qs(vsc_pv)>0.48);

2.5全局收敛判据:

     if (max(abs(dUac_m)) <= 1e-9)&&(max(abs(dUac_a)) <= 1e-9)&&(max(abs(dUdcs)) <= 1e-9)&&(max(abs(dPdc)) <= 1e-9)&&(max(abs(dQs)) <= 1e-9)breakelse

2.6 变量迭代修正:

         VSC(:,8) = Uac_m(ac_node);                         %VSC的交流侧UsiVSC(:,9) = Uac_a(ac_node);                          %更新δsi        VSC(vsc_pv ,7) = Qs(vsc_pv);                        %3VSC换流站交流侧等效PV节点;

程序误差分析

  1. IEEE9节点算例拓扑计算结果潮流分布图如下图所示

    统一迭代法和交替迭代法误差对比,误差小于3%
  2. python版算结果与MATLAB版结果一致,且较matlab版更加通用,可以允许不知道直流环节个数就可计算。

程序“配送”

免费版(未计及DG): https://download.csdn.net/download/lisha1002/12148929?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164835259216780366543218%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fdownload.%2522%257D&request_id=164835259216780366543218&biz_id=1&utm_medium=distribute.pc_search_result.none-task-download-2downloadfirst_rank_ecpm_v1~rank_v31_ecpm-5-12148929.pc_v2_rank_dl_default&utm_term=%E5%8D%8A%E4%B8%8D%E5%8F%98%E9%87%8F&spm=1018.2226.3001.4451.5.
完整版matlab版/python版私信V:lemonyoungman

基于交替迭代法的通用型交直流潮流计算方法(matlab版+python版)相关推荐

  1. 基于交替迭代法的交直流混合系统潮流计算matlab程序iEEE9节点系统算例

    基于交替迭代法的交直流混合系统潮流计算matlab程序iEEE9节点系统算例 由于受端负荷量持续增大,直流输电受端系统的电压稳定性能自然引起了人们的关注.目前,交直流混合电网的电压稳定分析大致分为两类 ...

  2. 基于直接法的诺顿谐波潮流计算(matlab版+python版)

    程序名称## 基于直接解耦法的诺顿谐波潮流计算(matlab版+python版) 程序功能(对象) 适用于任意大小的纯交流电网,支持节点和支路的增删: 适用于接入多个风电.光伏等分布式电源: 将DG和 ...

  3. 风光储交直流微电网matlab/simulink仿真模型仿真模型

    光伏+MPPT控制 根据光伏电池的数学模型,建立基于环境修正法具有通用性的仿真模型,仿真分析光照强度.温度条件变化时光伏电池的输出特性,接着在扰动观察法下,通过控制Boost电路占空比实现PV系统的最 ...

  4. 生物发光检测仪——生物发光、化学发光等基于发光的测定通用型检测

    LucettaTM 2 Luminometer Convenient and Simple Mycoplasma Detection 简便的支原体检测 Lucetta™2发光计是一种单管发光计,用于检 ...

  5. php wind8.5,通用型建站软件phpwind 8.5正式版发布

    随着互联网的快速发展,电子商务.团购.微博.LBS.SNS等新的互联网形式发展如火如荼,广大站长们如何应对新的挑战把握新的机会呢?相信今天刚刚发布的phpwind 8.5能为你带来帮助. phpwin ...

  6. 光伏储能交直流微电网Matlab/simulink仿真模型

    这个也是我在做光伏扶贫项目时候搭建的仿真,仿真由光伏.蓄电池及负载组成的独立直流微电网,提出电压和电流分段式协同控制策略.该控制策略将能量管理划分为 4 种工作模式,采用最大功率点跟踪控制充分利用太阳 ...

  7. VSC为_计及功率控制模式的VSC-MTDC交直流并列运行系统概率潮流计算

    厦门大学嘉庚学院的研究人员王紫瑶.廖进贤等,在2019年第2期<电气技术>杂志上撰文指出,在风电规模不断扩大的背景下,多端柔性直流输电(VSC-MTDC)成为一种灵活.经济的输电手段.本文 ...

  8. HG30-3交直流校准源

    HG30-3交直流校准源 品牌:华光高科 电话:0536-8222888 网址: www.wfhg.com.cn * QQ在线 ┆┆在线咨询 ┆┆阿里旺旺 ┆┆ 免费电话* HG30-3型交直流标准源 ...

  9. 基于MessageSolution 邮件归档系统EEA的通用型信息泄露漏洞挖洞

    前几天无意间看到这个通用型漏洞,编号是CNVD-2021-10543,想着也来试试.MessageSolution企业邮件归档管理系统 EEA是北京易讯思达科技开发有限公司开发的一款邮件归档系统.该系 ...

最新文章

  1. HDU 1043 Eight(双向BFS+康托展开)
  2. 【论文解读】NLP重铸篇之Word2vec
  3. 降采样处理 resample函数
  4. 大剑无锋之Redis面试题【推荐】
  5. PyQt4学习资料汇总
  6. linux 代码行数统计利器 ——cloc
  7. matlab插值计算
  8. 小程序游戏开发一般多少钱?游戏小程序开发制作
  9. 贪心法--->1.会议安排问题
  10. 2022山东省安全员C证操作证考试题及答案
  11. 你的脸正在成为别人的生意!
  12. Clion源码编辑器的学习与实践
  13. 三星Android Pie软件,至少在AndroidPie版本上的三星GalaxyS9现在具有缺陷检测功能
  14. 开启子进程的两种方法
  15. pytorch中的数据加载(dataset基类,以及pytorch自带数据集)
  16. java简单代码逻辑实现数学黑洞6174
  17. 源码中的modCount是什么?有什么作用
  18. 怎么重新编译CE5.6?
  19. QML播放器切换文件路径
  20. 《线性代数》同济版知识梳理

热门文章

  1. 11. 集合set类型详解
  2. c语言停车场程序设计,停车场模拟管理程序的设计与实现,高手指教
  3. java数组显示_java数组
  4. 使用pngquant压缩png图片
  5. 线性规划和整数规划求解(lingo\matlab)
  6. java调用第三方接口发送手机验证码
  7. AsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
  8. 毕业设计-基于MATLAB的含噪语音信号降噪处理系统
  9. 单点登录cas常见问题(九) - android app怎么接入cas单点登录系统?
  10. 高数 02.04隐函数的导数