电力系统长期动态模拟器
项目描述
PSLTDSim = 电力系统长期动态模拟器
目的:使用 Python 和 PSLF 模拟长期电力系统动态。
长期动态的例子:
- 一个 20 分钟的风速斜坡,迫使调速器动作响应,进而影响区域控制误差 (ACE),该误差随后由自动发电机控制 (AGC [又名负载频率控制或 LFC]) 进行纠正。
- 发电机在输入电力的区域跳闸。在 AGC 努力恢复联络线平衡之前,其他地区的州长行动将做出回应。
- 用于确保 AGC 算法在 NERC 授权范围内运行的每日负载周期和预测的多小时模拟。
警告:正在进行的工作 - 一切都可能被破坏。没有任何保证。
要从 git 存储库安装软件包:“pip install -e”。从此目录具有管理权限。如果 python 3 32 位不是默认 python:“py -3-32 -m pip install -e 。” 需要 IronPython(32 位)在系统路径上。
这段代码的作用:
- 使用基于代理的方法进行电力系统建模。
-创建潮流的时间序列,同时考虑组合系统频率、所有发电机机械功率和相关状态以及平衡权限状态。
- 使用 PSLF 系统模型格式和潮流求解器。
- 通过 Ironpython 与 PSLF 通信。
-Python 3 通过 AMQP 与 Ironpython 通信。
-读取 PSLF dyd 文件并创建一个调控器 (tgov1) 的 python 等效项。
- 为未完全在 Python 中创建的模型(即除 tgov1 之外的任何模型)实现通用调控器。
- 允许噪声、台阶和斜坡类型的干扰
这段代码没有做什么:
- 使用定时控制器根据用户可编程逻辑改变系统中代理的状态。
- 处理任何发电机的跳闸(电力流解决方案神秘地发散)。
笔记:
- 需要 GE PSLF Python API 和有效的 PSLF 许可证。(对不起)
- 要解决 GE API 问题:需要 Erlang、RabbitMQ 和 Ironpython。
- 其他 Python 包包括:
- Python 3:Scipy(用于 Numpy 和 Matplotlib)和 Pika(用于 AMQP)
- Ironpython 2.7 32 位:Pika(注意:Ironpython 必须是 32 位才能与 GE PSLF 中间件一起使用)
近期进展:
- 代码重构为:
- 利用 Py3<->AMQP<->IPY<-> PSLF 解决方法
- 允许使用代理当前值字典进行通用自动化
- 启用更简单的代码打包
- 明确代码结构
- 代码创建 PSLF 区域、总线、生成器、负载、分支部分和分流器的 python 镜像。
- 代码已写入:
- 检查镜子的准确性
- 忽略孤岛对象
- 允许总线电压设置的可选 Vsched 或 Vinit
- 解析 .dyd 文件(多个)
- 解析 .ltd 文件
- 手柄 H(惯性)
- 将噪声、阶跃和斜坡扰动添加到大多数代理值
- 设置区域范围内的调速器死区
- 将平衡权限行动纳入模拟
- 解析 EIA 数据以进行多小时需求/预测模拟
- 根据惯性分配 Pacc 的变化
- 执行组合摆动方程
- 步进动态模型(tgov1 和 genericGov)
- 记录感兴趣的值
- 生成数据字典
- 通过搁置导入/导出镜像或数据数据字典
- 将模型或数据数据字典从 Python 3.x 导出到 MATLAB .mat 文件
- 生成终端输出
- 通过 matplotlib 生成绘图
- 以批处理方式运行多个模拟并以非显示停止方式处理错误
- 为验证和验证仿真输出而创建的 MATLAB 脚本
- 与 PSDS 相比的频率、Pe、Pm、Q 和电压幅度和角度。
- P、Q 和 I 的分支潮流。
- 考虑系统惯性损失和系统损失变化。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
PSLTDSim-0.1.0.tar.gz
(65.7 kB
查看哈希)
内置分布
PSLTDSim-0.1.0-py3-none-any.whl
(128.4 kB
查看哈希)