热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

电力系统分析工具包pypower简易使用教程

文章目录一、pypower简介二、算例分析三、总结四、延申阅读一、pypower简介电力系统分析工具包pypower,可以理解为matpower的python版&#


文章目录

  • 一、pypower简介
  • 二、算例分析
  • 三、总结
  • 四、延申阅读




一、pypower简介

电力系统分析工具包pypower,可以理解为matpower的python版,数据格式与函数与matpower类似,因此使用时也可参考matpower手册。
下载链接:https://github.com/rwl/PYPOWER,或pip install pypower
官方介绍:pypower是电力系统潮流(PF)和最优潮流(OPF)求解器, 目前功能包括交/直流潮流和最优潮流求解(内置牛顿法,快速分解法等)。
官方文档:https://rwl.github.io/PYPOWER/api/


二、算例分析

以求解case30系统OPF为例,首先导包:

from pypower.api import case30, ppoption, runopf

若要保存OPF结果,需定义输出文件名:

filename = 'D:/eeecode/testbypypower/case30result.txt'

导入case30系统数据,包含节点数据bus,发电机数据gen,线路数据branch,opf数据gencost等:

data = case30()

若要看发电机数据,可打印:

print(data['gen'].shape)
print(data['gen'])

结果大小为(6,21),6表示有6台发电机,每一列数据的含义可参考官方文档,如下:
插入图片描述
或者也可以参考matpower的格式说明
在导入数据后,需要进行控制向量的设置,控制向量主要指控制采用什么方法求解(牛顿法,快速分解法,高斯赛德尔法…),迭代收敛条件,输出内容等,不填写则采用缺省值:

ppopt = ppoption()
print(ppopt)

打印结果如下:

{'PF_ALG': 1, 'PF_TOL': 1e-08, 'PF_MAX_IT': 10, 'PF_MAX_IT_FD': 30, 'PF_MAX_IT_GS': 1000, 'ENFORCE_Q_LIMS': False, 'PF_DC': False, 'CPF_PARAMETERIZATION': 3, 'CPF_STOP_AT': 'NOSE', 'CPF_STEP': 0.05, 'CPF_ADAPT_STEP': False, 'CPF_ERROR_TOL': 0.001, 'CPF_STEP_MIN': 0.0001, 'CPF_STEP_MAX': 0.2, 'CPF_PLOT_LEVEL': 0, 'CPF_PLOT_BUS': '', 'CPF_USER_CALLBACK': '', 'CPF_USER_CALLBACK_ARGS': '', 'OPF_ALG': 0, 'OPF_VIOLATION': 5e-06, 'OPF_FLOW_LIM': 0, 'OPF_IGNORE_ANG_LIM': False, 'OPF_ALG_DC': 0, 'VERBOSE': 1, 'OUT_ALL': -1, 'OUT_SYS_SUM': True, 'OUT_AREA_SUM': False, 'OUT_BUS': True, 'OUT_BRANCH': True, 'OUT_GEN': False, 'OUT_ALL_LIM': -1, 'OUT_V_LIM': 1, 'OUT_LINE_LIM': 1, 'OUT_PG_LIM': 1, 'OUT_QG_LIM': 1, 'RETURN_RAW_DER': 0, 'PDIPM_FEASTOL': 0, 'PDIPM_GRADTOL': 1e-06, 'PDIPM_COMPTOL': 1e-06, 'PDIPM_COSTTOL': 1e-06, 'PDIPM_MAX_IT': 150, 'SCPDIPM_RED_IT': 20}

可见OUT_GEN默认值为False,即默认不输出发电机相关结果(实际上发电机出力也包含在Bus里),若想打印发电机结果,则应修改控制向量为:

ppopt = ppoption(OUT_GEN=1)

也可以在原本控制向量基础上覆盖:

ppopt = ppoption(ppopt, OUT_GEN=1)

在导入数据,并设置好控制向量后,即可进行OPF求解,方法如下:

result = runopf(data, ppopt)

此时输出将包含发电机的相关结果,如下图:
在这里插入图片描述
若想将输出保存至指定文件filename中,则只需:

result = runopf(data, ppopt, fname=filename)

若我们想在python中直接调用计算结果,例如想调用支路的潮流信息,则:

print(result['branch'].shape)
print(result['branch'])

结果大小为(41,21),41表示有41条支路,每一列的含义也可以从官方文档获取:
在这里插入图片描述

从文档可知,13-20列在潮流计算后才会生成。


三、总结

pypower使用简便,基本思路为:


  1. 导入系统数据(标准算例可直接导入,非标准算例需要自行修改为和标准算例相同的格式)
  2. 根据需求设定控制向量
  3. 运行OPF
  4. 保存需要的结果(P、Q、V、theta…),用于后续其他分析研究

四、延申阅读

MATPOWER快速上手及应用实例,pypower思路和matpower基本相同,因此也可参考matpower的使用教程


推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 离线环境下的Python及其第三方库安装指南
    在项目开发中,有时会遇到电脑只能连接内网或完全无法联网的情况。本文将详细介绍如何在这种环境下安装Python及其所需的第三方库,确保开发工作的顺利进行。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • 本文介绍如何使用 Python 的 xlrd 库读取 Excel 文件,并将其数据处理后存储到数据库中。通过实际案例,详细讲解了文件路径、合并单元格处理等常见问题。 ... [详细]
  • Python 异步编程:ASGI 服务器与框架详解
    自 Python 3.5 引入 async/await 语法以来,异步编程迅速崛起,吸引了大量开发者的关注。本文将深入探讨 ASGI(异步服务器网关接口)及其在现代 Python Web 开发中的应用,介绍主流的 ASGI 服务器和框架。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
author-avatar
成都迅捷代驾
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有