PyPSA中5节点系统优化后无法可视化电压幅值与无功功率求助
解决PyPSA优化后查看电压幅值与无功功率的问题
1. 确认优化模式(AC/DC潮流)
PyPSA默认lopf若未指定潮流类型,会采用DC潮流模式——仅优化有功功率与相角,只有AC潮流模式才会计算电压幅值和无功功率。运行优化时需显式指定AC模式:
network.lopf(snapshots=network.snapshots, solver_name='glpk', pypsa_opts={'pf_mode': 'AC'})
同时要确保母线数据中设置了电压约束:在buses.csv里添加v_mag_pu_min和v_mag_pu_max列(比如设为0.95和1.05),否则电压幅值不会被纳入优化变量。
2. 查看优化后的电压幅值
v_mag_pu_set是预设的参考值,并非优化结果。实际优化后的电压幅值存储在network.buses_t.v_mag_pu中:
# 输出各时间步的节点电压幅值(标幺值) print(network.buses_t.v_mag_pu)
3. 查看无功功率相关结果
线路无功功率
线路两端的无功功率分别存在q0(首端)和q1(末端)字段中:
# 查看线路首端无功功率 print(network.lines_t.q0) # 查看线路末端无功功率 print(network.lines_t.q1)
其他元件的无功数据
- 发电机无功:
network.generators_t.q - 负荷无功:若
loads.csv中定义了q_set或开启了负荷无功优化,可查看network.loads_t.q - 储能单元无功:
network.storage_units_t.q
4. 检查输入数据完整性
确保输入CSV包含必要字段:
- 母线(buses):
v_mag_pu_min、v_mag_pu_max(启用电压约束) - 发电机(generators):
q_min_pu、q_max_pu(允许发电机调节无功的上下限) - 负荷(loads):若有固定无功需求,添加
q_set列
内容的提问来源于stack exchange,提问作者Trina Som
相关产品推荐
相关产品推荐

