Python电网静态和准静态分析及自动化优化

news/2024/5/19 8:34:44 标签: python, 电网, 电力系统

电力系统分析

电力系统分析是电气工程的一个分支,用于设计整个电力系统,包括发电机、变压器、电容器组、并联电抗、输电线路等。这与消费场所的电气安装设计不同,后者不仅涉及低电压,还假设公用事业提供稳定的电力供应,而电力系统分析则涉及公用事业本身的设计。国内安装设计的设计理念不需要任何数学,也不需要任何先进的软件,只关心一个场所内的照明和电源布线的分布。然而,公用事业设计涉及包括发电机和变压器在内的高、低压和中压电力设备,此外还有多台发电机并联工作的复杂性。电力系统分析的目的是确保设备协同工作,以便以规定的电压和频率将所需的电力输送到负荷中心,并且网络中没有组件过载,并且没有故障条件危及系统。

由三个主要部分组成:

  • 潮流分析 - 输入发电机电压、负载中心的功率要求和线路阻抗,并找出各种总线(“终端”)上的结果电压。 当然,电压应该在公差范围内。 请注意,在这种情况下,我们不能假设负载电压是家庭安装情况下的标称电压,而是必须通过求解非线性多变量方程来计算。
  • 短路研究 - 模拟各种短路并找出产生的故障电流,以便为电力系统选择合适的开关设备
  • 稳定性研究 - 由于发电机同步工作,突然的负载变化或故障可能导致其中一个或多个失步,必须加以处理。

本文

本文介绍了新的电力系统分析方法和工具。概述了动机以及有关网格建模和数据结构的基本设计选择。第 III 讨论了附带的广泛的电气元件库,例如 ZIP 负载、线路、变压器或开关。 还包括符合 IEC 60909 的短路计算的原始实现。在电力分析功能之上,拓扑搜索模块允许使用 NetworkX 库对电力网络进行图形分析。最后,给出了一个在有源配电网中进行准静态时间序列模拟的综合案例研究。

Python电网数据结构

基于表格数据结构,其中每个元素类型都由一个包含特定元素所有参数的表和一个包含不同分析方法的元素特定结果的结果表表示。表格数据结构基于 Python 库 pandas。它允许存储任何数据类型的变量,以便电气参数可以与状态变量和元数据(例如名称或描述)一起存储。可以通过添加新列轻松扩展和自定义表格。所有固有的 pandas 方法都可以用来高效地读取、写入和分析网络和结果数据。 网络(缩写为 net)是一个 Python 字典,包含有关网络的所有信息。最重要的是,它包括一个元素和每个元素类型的结果表,例如线路、变压器、开关等。元素表保存用户指定的所有输入参数,而结果表由潮流或最优潮流函数用于存储结果。输入和输出参数由两个表中的相同索引标识。该网络还包括保存标准类型数据和网络范围参数(如频率、网络名称或单位系统的额定视在功率)的字典。

电元件模型

  • 总线 - 代表网络的节点
  • 负载 - 负载用于模拟电力消耗
  • 静态发电机 - 用于模拟具有有功功率和无功功率的恒定功率注入
  • 压控发电机 - 用于对具有固定有功功率注入和电压幅度设定点的电压控制发电单元进行建模
  • 外部电网 - 外部电网元素模型表示具有电压幅值和相应电压角的电压源
  • 分流器 - 可用于模拟电容器组或电抗器的网络元素
  • 线路 - 线用π等效电路建模
  • 双绕组变压器 - 用 T 等效电路建模
  • 三绕组变压器 - 可以由三个 Y 形连接的二绕组变压器建模
  • 开关 - 允许对理想开关进行建模
  • 直流输电线路 - 直流传输线在两条总线之间传输有功功率
  • 阻抗

示例

  1. 创建一个包含 2 个外部电网、两个变压器(1 个两绕组变压器和 1 个三绕组变压器)的电网。为了使所有总线和线路的创建更简单,我们将创建总线和线路的过程包装到一个函数中。

    python">def create_bus_with_line(net, last_bus, length_km, std_type):
        new_bus = pp.create_bus(net, vn_kv=10.)
        lidx = pp.create_line(net, last_bus, new_bus, std_type=std_type, length_km=length_km)
        pp.create_switch(net, bus=last_bus, element=lidx, et="l")
        pp.create_switch(net, bus=new_bus, element=lidx, et="l")
        return new_bus
    
    python">def create_example_net():
      
        net = pp.create_empty_network()
    
     
        hvb = pp.create_buses(net, 2, vn_kv=110.)
        pp.create_ext_grid(net, hvb[0], s_sc_min_mva=2500, rx_min=0.3)
        pp.create_ext_grid(net, hvb[1], s_sc_min_mva=3000, rx_min=0.2)
    
     
        lb = pp.create_bus(net, vn_kv=10.)
     
        pp.create_transformer(net, hvb[0], lb, std_type="40 MVA 110/10 kV", df=0.1)
      
        std_types = ["70-AL1/11-ST1A 10.0", "NA2XS2Y 1x240 RM/25 6/10 kV"]
        
        for length, std_type in zip([1.8, 2.4, 3.6, 4.8, 4.8, 1.2], [0, 1, 0, 1, 1, 1]):
            lb = create_bus_with_line(net, lb, length_km=length, std_type=std_types[std_type])
        lb = 5
    
        for length, std_type in zip([1.2, 3., 4.8, 3.6, 1.2, 0.6], [1, 1, 1, 0, 1, 0]):
            lb = create_bus_with_line(net, lb, length_km=length, std_type=std_types[std_type])
       
        pp.create_transformer3w(net, hvb[1], 8, lb, "63/25/38 MVA 110/10/10 kV")
        net.line.loc[net.line.index[net.line.type == "ol"], "endtemp_degree"] = 100 
        net.line.loc[net.line.index[net.line.type == "cs"], "endtemp_degree"] = 20 
       
        net.line["max_loading_percent"] = 50
        net.trafo["max_loading_percent"] = 50
        net.bus["max_vm_pu"] = 1.03
        net.bus["min_vm_pu"] = 0.97
        
        return net
    
  2. 分析电网中所有可能的开关状态,以分析考虑径向和短路约束的可行开关位置

  3. 考虑有功功率损耗、线路负载、变压器负载和电压约束,优化开关状态和变压器的时间序列仿真

源代码

参阅 - 亚图跨际


http://www.niftyadmin.cn/n/1225683.html

相关文章

真正带你搞懂RecyclerView的缓存机制,深度解析,值得收藏

开头 程序员面试,除了面试技术外,有的公司经常会问应聘者和技术无关的问题,考验求职者的综合能力,并以此作为是否录用的依据,很多时候这类问题往往没有标准答案,就看求应聘者临场的反应能力如何。 张工是…

双非渣本Android四年磨一剑,附赠课程+题库

前言 大家应该看过不少人分享的面试成功的面经,是不是觉得自己“说不定也可以”呢? 这里重提一个理论:幸存者偏差。当取得资讯的渠道,仅来自于幸存者时(因为死人不会说话),此资讯可能会存在与…

Python智能驱动数学模型和泰勒级数-贝塞尔曲线模拟微观交通

模拟交通流量背后的主要原因是在没有真实世界的情况下生成数据。 您可以使用在软件上运行的模型来预测交通流量,而不是测试如何在现实世界中,管理交通系统或使用传感器收集数据的新想法。 这有助于加速交通系统的优化和数据收集。 模拟是比实际测试更便宜…

知乎上已获千赞,全网独家首发!

前言 春招已经接近尾声了,不知道各位小伙伴有没有收获自己心仪的offer呢。笔者疫情被裁后在家LeetCode狂刷了800多题,加之自己以为工作总结的知识、经验,系统化的整理了一下。在五一期间已经收获了字节的offer。废话不多说,下面是…

Python概率-电网-线性和非线性方程和数据分析工程应用(2023.1.4更新)

目录 Python(有限差分法和杜普特假设)数值解非承压畜水层和堰底和板桩下稳定渗流Python(普赖斯曼方法解偏微分方程和运动波方程-圣维南流动方程)求棱形流道表面流体Python电网静态和准静态分析及自动化优化Python蒙特卡洛算法光学数据模型非弹性散射模拟Python分析绘图蒙特卡洛…

可能是全网最细的Android-资源加载机制剖析,面试资料分享

前言 **一年中第一段跳槽高潮就要来了,**看到同事一个个离职,又有一部分同事已经找到满意的工作,于是自己也盲目的开始面试起来(期间也没有准备充分),日夜奔走,简历投了很多家公司,…

知乎上已获千赞,文末领取面试资料

前言 去年,一条职场潜规则走红网络:不要大声责骂年轻人,他们会立刻辞职的,但是你可以往死里骂那些中年人,尤其是有车有房有娃的那些。 真实感受到程序员的中年危机 在中国,除了从 BAT 出来的牛人&#x…

史上最全的Android面试题集锦在这里,先收藏了

接触这一行也有很久了,从开始的实习到带团队,中间接触过很多人,前不久身边刚好有人去面试了阿里,抖音等这些公司还成功的面试上了,现在来分享一下面试前需要准备的知识点 很多人去面试之前,不知道会问到那些…