PyPsa是一款电力系统分析包,其可以进行稳态潮流计算(使用非线性/线性网络方程);线性最优潮流计算(线性网络约束下,计算电厂和储能分布的最小成本,使用线性网络方程);安全约束下线性最优潮流计算全电力/能源系统最小投资成本优化(使用线性网络方程,对发电、储能分布、投资优化)等操作。
本文主要演示潮流计算代码供朋友们参考入门
import pypsa as psa
net = psa.Network(name='simple_net')
# 循环加入4条母线
for i in range(1, 5):
net.add('Bus', 'Bus {}'.format(i))
# 查看母线参数
print('查看母线参数')
print(net.buses)
# 接下来向各节点添加支路,变压器和发电机,并添加负载。
net.add('Line', 'Line 1-2', bus0='Bus 1', bus1='Bus 2', r=0.1, x=0.4, b=0.01528 * 2)
net.add('Line', 'Line 1-4', bus0='Bus 1', bus1='Bus 4', r=0.12, x=0.5, b=0.0192 * 2)
net.add('Line', 'Line 2-4', bus0='Bus 2', bus1='Bus 4', r=0.08, x=0.4, b=0.01413 * 2)
net.add('Transformer', 'T_1', bus0='Bus 3', bus1='Bus 1', model='pi', tap_ratio=1.1, x=0.3 / 1.1 ** 2)
net.add('Generator', 'G_4', bus='Bus 4', control='Slack')
net.add('Generator', 'G_3', bus='Bus 3', control='PV', p_set=0.5)
net.add('Load', 'Load 1', bus='Bus 1', p_set=0.3, q_set=0.18)
net.add('Load', 'Load 2', bus='Bus 2', p_set=0.55, q_set=0.13)
# 变压器的变比默认是bus0与bus1的电压之比,即(k = V_{bus0} : V_{bus1}) PyPSA内部的变压器模型把输入的阻抗和导纳参
# 数认为是归算到低压侧的参数,因此上面需要把参数除以变比平方来归算到低压侧。
net.buses.loc['Bus 3', 'v_mag_pu_set'] = 1.10
net.buses.loc['Bus 4', 'v_mag_pu_set'] = 1.05
# 一致性检查——用于排查潜在错误
net.consistency_check()
# warning处理:设置变压器基准功率
net.transformers.s_nom = 1.0
# 计算潮流
print('计算潮流')
print(net.pf())
# 各节点功率
print('各节点功率')
print(net.buses_t.p)
输出信息会有较多红体警告,可忽略,对计算结果没有影响,白体字为我们运行结果:
查看母线参数
attribute v_nom type x y ... v_mag_pu_min v_mag_pu_max control sub_network
Bus ...
Bus 1 1.0 0.0 0.0 ... 0.0 inf PQ
Bus 2 1.0 0.0 0.0 ... 0.0 inf PQ
Bus 3 1.0 0.0 0.0 ... 0.0 inf PQ
Bus 4 1.0 0.0 0.0 ... 0.0 inf PQ
[4 rows x 11 columns]
计算潮流
{'n_iter': SubNetwork 0
snapshot
now 3, 'error': SubNetwork 0
snapshot
now 1.104187e-07, 'converged': SubNetwork 0
snapshot
now True}
各节点功率
Bus Bus 1 Bus 2 Bus 3 Bus 4
snapshot
now -0.3 -0.55 0.5 0.367883
标签:set,Python,Bus,add,PyPsa,0.0,net,Line,电力系统 From: https://www.cnblogs.com/kn-zheng/p/18308164