Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计通过

energy-ac-optimal-power-flow-ac-branch-pi-model能源 交流 最优潮流 交流支路 pi 模型

Agent Skill

energy-ac-optimal-power-flow-ac-branch-pi-model 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 OpenClaw 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,376

周安装

97

GitHub Stars

公开资料未说明

下载量

832
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:energy-ac-optimal-power-flow-ac-branch-pi-model(能源 交流 最优潮流 交流支路 pi 模型)
来源仓库:https://github.com/wu-uk/energy-ac-optimal-power-flow-ac-branch-pi-model
安装命令:
openclaw skills install energy-ac-optimal-power-flow-ac-branch-pi-model
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install energy-ac-optimal-power-flow-ac-branch-pi-model

简介

交流支路 pi 模型用于电力系统潮流计算,含变压器抽头比与相移参数。

  • 适用于电网优化调度、新能源接入分析等专业工程场景。
  • 兼容 MATPOWER 格式与 acopf-math-model 数学框架。
  • 需输入节点电压、线路阻抗等基础电气参数。
  • 建议验证模型收敛性后再用于关键决策。energy-ac-optimal-power-flow-ac-branch-pi-model 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
ac-branch-pi-model
description
AC branch pi-model power flow equations (P/Q and |S|) with transformer tap ratio and phase shift, matching acopf-math-model.md and MATPOWER branch fields. Use when computing branch flows in either direction, aggregating bus injections for nodal balance, checking MVA (rateA) limits, computing branch loading %, or debugging sign/units issues in AC power flow.

AC Branch Pi-Model + Transformer Handling

Implement the exact branch power flow equations in acopf-math-model.md using MATPOWER branch data:

[F_BUS, T_BUS, BR_R, BR_X, BR_B, RATE_A, RATE_B, RATE_C, TAP, SHIFT, BR_STATUS, ANGMIN, ANGMAX]

Quick start

  • Use scripts/branch_flows.py to compute per-unit branch flows.
  • Treat the results as power leaving the “from” bus and power leaving the “to” bus (i.e., compute both directions explicitly).

Example:

import json
import numpy as np

from scripts.branch_flows import compute_branch_flows_pu, build_bus_id_to_idx

data = json.load(open("/root/network.json"))
baseMVA = float(data["baseMVA"])
buses = np.array(data["bus"], dtype=float)
branches = np.array(data["branch"], dtype=float)

bus_id_to_idx = build_bus_id_to_idx(buses)

Vm = buses[:, 7]  # initial guess VM
Va = np.deg2rad(buses[:, 8])  # initial guess VA

br = branches[0]
P_ij, Q_ij, P_ji, Q_ji = compute_branch_flows_pu(Vm, Va, br, bus_id_to_idx)

S_ij_MVA = (P_ij**2 + Q_ij**2) ** 0.5 * baseMVA
S_ji_MVA = (P_ji**2 + Q_ji**2) ** 0.5 * baseMVA
print(S_ij_MVA, S_ji_MVA)

Model details (match the task formulation)

Per-unit conventions

  • Work in per-unit internally.
  • Convert with baseMVA:

- \(P_{pu} = P_{MW} / baseMVA\) - \(Q_{pu} = Q_{MVAr} / baseMVA\) - \(|S|_{MVA} = |S|_{pu} \cdot baseMVA\)

Transformer handling (MATPOWER TAP + SHIFT)

  • Use \(T_{ij} = tap \cdot e^{j \cdot shift}\).
  • Implementation shortcut (real tap + phase shift):

- If abs(TAP) < 1e-12, treat tap = 1.0 (no transformer). - Convert SHIFT from degrees to radians. - Use the angle shift by modifying the angle difference: - \(\delta_{ij} = \ heta_i - \ heta_j - shift\) - \(\delta_{ji} = \ heta_j - \ heta_i + shift\)

Series admittance

Given BR_R = r, BR_X = x:

  • If r == 0 and x == 0, set g = 0, b = 0 (avoid divide-by-zero).
  • Else:

- \(y = 1/(r + jx) = g + jb\) - \(g = r/(r^2 + x^2)\) - \(b = -x/(r^2 + x^2)\)

Line charging susceptance

  • BR_B is the total line charging susceptance \(b_c\) (per unit).
  • Each end gets \(b_c/2\) in the standard pi model.

Power flow equations (use these exactly)

Let:

  • \(V_i = |V_i| e^{j\ heta_i}\), \(V_j = |V_j| e^{j\ heta_j}\)
  • tap is real, shift is radians
  • inv_t = 1/tap, inv_t2 = inv_t^2

Then the real/reactive power flow from i→j is:

  • \(P_{ij} = g |V_i|^2 inv\_t2 - |V_i||V_j| inv\_t (g\cos\delta_{ij} + b\sin\delta_{ij})\)
  • \(Q_{ij} = -(b + b_c/2)|V_i|^2 inv\_t2 - |V_i||V_j| inv\_t (g\sin\delta_{ij} - b\cos\delta_{ij})\)

And from j→i is:

  • \(P_{ji} = g |V_j|^2 - |V_i||V_j| inv\_t (g\cos\delta_{ji} + b\sin\delta_{ji})\)
  • \(Q_{ji} = -(b + b_c/2)|V_j|^2 - |V_i||V_j| inv\_t (g\sin\delta_{ji} - b\cos\delta_{ji})\)

Compute apparent power:

  • \(|S_{ij}| = \sqrt{P_{ij}^2 + Q_{ij}^2}\)
  • \(|S_{ji}| = \sqrt{P_{ji}^2 + Q_{ji}^2}\)

Common uses

Enforce MVA limits (rateA)

  • RATE_A is an MVA limit (may be 0 meaning “no limit”).
  • Enforce in both directions:

- \(|S_{ij}| \le RATE_A\) - \(|S_{ji}| \le RATE_A\)

Compute branch loading %

For reporting “most loaded branches”:

  • loading_pct = 100 * max(|S_ij|, |S_ji|) / RATE_A if RATE_A > 0, else 0.

Aggregate bus injections for nodal balance

To build the branch flow sum for each bus \(i\):

  • Add \(P_{ij}, Q_{ij}\) to bus i
  • Add \(P_{ji}, Q_{ji}\) to bus j

This yields arrays P_out[i], Q_out[i] such that the nodal balance can be written as:

  • \(P^g - P^d - G^s|V|^2 = P_{out}\)
  • \(Q^g - Q^d + B^s|V|^2 = Q_{out}\)

Sanity checks (fast debug)

  • With SHIFT=0 and TAP=1, if \(V_i = V_j\) and \(\ heta_i=\ heta_j\), then \(P_{ij}\approx 0\) and \(P_{ji}\approx 0\) (lossless only if r=0).
  • For a pure transformer (r=x=0) you should not get meaningful flows; treat as g=b=0 (no series element).

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

76.02%
按下载量换算632

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills