1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

短距離送電における電力円線図とノーズカーブについて

Last updated at Posted at 2025-09-22

はじめに

電力円線図やノーズカーブは送電モデルにおける安定性を議論する際に用いられる。しかし、それら2つの概念は難解なものととらえられがちである。理由としては使用する数学のレベルが高く、計算量が多いからである。そこで、今回は、平成25年度の電験2種2次試験である電力・管理に出題された送電モデルに関する問題を計算機を用いて数値計算することで、電力円線図とノーズカーブの概要を理解することを目指す。

短距離送電モデル

一般に、短距離送電の場合は、送電線の抵抗は極めて小さく、送電線のリアクタンス成分のみを考慮した送電モデルを採用してよいとされる。

そこで、今回は電験2種 電力・管理 H25問4 を題材とした以下の送電モデルを考える。

image.png

ただし、$\dot{E}=E=1.0$[pu]、$X=0.2$[pu]と固定する。

電力方程式

送電線に流れる電流$\dot{I}$[pu]は、以下の通り。

\dot{I}=\frac{E-\dot{V}}{jX}=\frac{E-Ve^{-j\delta}}{jX}

したがって、電力方程式は以下のようになる。(ただし、遅れを正とした)

\dot{S}=P+jQ=\dot{V}\bar{I}

したがって、負荷側の力率角$\theta$[rad]を用いた以下の式が成立する。

Q=P\tan{\theta}

以上が、短距離送電モデルを定式化した際に出てくる式である。

しかし、
当然パラメータが多い($\delta,V,P,Q,\theta$)ため、
人間がそれらの特徴を分析したり理解したりするためには目的に応じてパラメータを『固定』する必要性がある。

その固定方法に応じて電力円線図やノーズカーブが描写される。

解析内容

以下、$P,Q,V$の関係性を調査するために、5つパラメータのうち何個か固定して考える。

ただし、解析に用いたプログラムは次章でまとめて示す。

電力円線図

$V$を固定して考える。
ただし、$\delta$は$0\le \delta \le 2\pi$の範囲を自由に動けるものとする。

ノーズカーブ

$\theta$を固定して考える。つまり、

f(V)=Q(V)-P(V)\tan{\theta}=0

という$V$に関する方程式の解を$P-V$平面にプロットしていく。

今回は、この方程式の近似解を2分法を用いて以下の式を満たすまで探索する。

|f(V)|\le err =1.0\times 10^{-12}

ただし、$\delta$ は$P,V$に影響を与えることから、まず$\delta$の近似解を探索する。
2分法の範囲としては、一般的な送電モデルを考慮して$-\frac{\pi}{2}\le \delta \le\frac{\pi}{2}$を仮定した。
また、$0\le V \le E$とした。

P-Q-Vの関係性

少し自由度を上げて、3次元空間で考える。
ただし、$V$および$\delta$は、$0\le V \le E,-\pi\le \delta \le\pi$の範囲を自由に動けるものとする。

プログラム

モデルおよび数式自体は3つの各場合共通である。したがって、1つのプログラムで各解析を行った。

python power_system_X.py
 import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
import math
#電力系統の円線図(P-Q)、ノーズカーブ(P-V)、3次元のグラフ(P-Q-V,P-V-Q,Q-V-P)を描写するプログラム
## 共通の固定値
X=0.2
E=1.0

#力率角[rad]
theta = 30*(math.pi/180)
#電力方程式
def power_VI(V,delta):
    V_dot=V*np.exp(-1j*delta)
    I_dot=(E-V_dot)/(1j*X)
    S_dot=V_dot*I_dot.conjugate()

    P=S_dot.real
    Q=S_dot.imag
    return P,Q

# 電力円線図の作成
n=100
def power_circle(V):
    P_ary=[]
    Q_ary=[]    
    delta_ary =np.linspace(0,2*math.pi,n)
    for i in range(n):
        delta =delta_ary[i]
        P,Q=power_VI(V,delta)
        P_ary.append(P)
        Q_ary.append(Q)
    return P_ary,Q_ary

#ノーズカーブの作成

##負荷力率
def equation(V,delta):
    P, Q = power_VI(V, delta)
    return Q - P * np.tan(theta)

##ノーズカーブメイン
def nose_curve(V):
    delta_sup = math.pi/2
    delta_inf=-math.pi/2
    #2分法による解の探索
    delta = (delta_sup+delta_inf)/2
    while abs(equation(V,delta))>1e-12:
        delta = (delta_sup + delta_inf) / 2
        if equation(V,delta)*equation(V,delta_sup)<0:
            delta_inf=delta
        else:
            delta_sup=delta
    P,Q=power_VI(V,delta)
    return P

#プロッティング
##電力円線図
V1=0.95
P_ary,Q_ary=power_circle(V1)
plt.axes().set_aspect('equal')
plt.plot(P_ary,Q_ary)
plt.xlabel("受電端無効電力[pu]")
plt.ylabel("受電端有効電力[pu]")
plt.savefig("電力円線図_短距離送電線抵抗成分無視.png")
plt.show()

##ノーズカーブ
num=100
V_max=1.0
V_ary=np.linspace(0,V_max,num)
P_ary=np.zeros(num)
for i in range(num):
    V=V_ary[i]
    P=nose_curve(V)
    P_ary[i]=P
plt.axes().set_aspect('equal')
plt.plot(P_ary,V_ary)
plt.xlabel("受電端有効電力[pu]")
plt.ylabel("受電端電圧[pu]")
plt.savefig("ノーズカーブ_短距離送電線抵抗成分無視.png")
plt.show()

#以下3次元のグラフ(コンター図の作成)
#P-Q-V曲面
num2=100
V_ary=np.linspace(0,1,num2)

P_ary2=np.zeros((num2,n))
Q_ary2=np.zeros((num2,n))
V_ary2=np.zeros((num2,n))

for i in range(num2):
    V=V_ary[i]
    P_ary,Q_ary=power_circle(V)
    for k in range(n):
        V_ary2[i][k]=V
        P_ary2[i][k]=P_ary[k]
        Q_ary2[i][k]=Q_ary[k]
plt.axes().set_aspect('equal')        
plt.xlabel("受電端無効電力[pu]")
plt.ylabel("受電端有効電力[pu]")
plt.contourf(P_ary2,Q_ary2,V_ary2,cmap='jet')
plt.colorbar(label="受電端電圧[pu]")
plt.savefig("P-Q-V曲面グラフ.png")
plt.show()

#P-V-Q曲面
#plt.axes().set_aspect('equal')        
plt.xlabel("受電端有効電力[pu]")
plt.ylabel("受電端電圧[pu]")
plt.contourf(P_ary2,V_ary2,Q_ary2,cmap='jet')
plt.colorbar(label="受電端無効電力[pu]")
plt.savefig("P-V-Q曲面グラフ.png")
plt.show()

#Q-V-P曲面
#plt.axes().set_aspect('equal')        
plt.xlabel("受電端無効電力[pu]")
plt.ylabel("受電端電圧[pu]")
plt.contourf(Q_ary2,V_ary2,P_ary2,cmap='jet')
plt.colorbar(label="受電端有効電力[pu]")
plt.savefig("Q-V-P曲面グラフ.png")
plt.show()

結果

以下、プログラムの実行結果を各場合において示す。

電力円線図

電力円線図_短距離送電線抵抗成分無視.png

このように、電力円線図を的確に描写することができた。

ノーズカーブ

ノーズカーブ_短距離送電線抵抗成分無視.png

このように、近似解を探索する2分法を用いてもノーズカーブの概形は描写することができた。

P-Q-Vの関係性

P,Q,Vのパラメータの関係性は以下のグラフのように複雑になった。

P-Q-V

P-Q-V曲面グラフ.png

このように、綺麗な円の領域が描写された。

P-V-Q

P-V-Q曲面グラフ.png

ノーズカーブの内部領域ようなものが描写された。

Q-V-P

Q-V-P曲面グラフ.png

摩訶不思議の領域が描写された。

まとめ

今回は、短距離送電のモデルから議論を始め、電力円線図およびノーズカーブを計算機を用いて描写することができるか調査した。結果1つのプログラムのみで描写することができた。また、後半では、$P,Q,V$それぞれの関係性がどのようになっているのかを3次元コンター図を作成することで調査した。

参考文献

電力円線図

2分法

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?