2
2

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 2024-03-03

はじめに

電線に高周波電流を流すと表面付近の電流密度が極端に大きくなってしまうという現象がある。これを表皮効果と呼ぶ。導線内部に生じる電流密度は、マクスウェル方程式を円筒座標系で解くことによって導出することができ、ベッセル関数で表すことができる。そこで、今回は解析解を用いて表皮効果によって生じる電流分布についてPythonで再現してみることを目的とする。

anime.gif

表皮効果の解析解

交流電流$I$を空間に存在する無限長の半径$a$の一本の導線に流した場合、電流密度は半径のみに依存して以下のような式になる。(これの導出は参考文献1を参照)

J(r)=\frac{k I}{2 \pi a} \frac{J_0(kr)}{J_1(ka)}

ただし、$k=\sqrt{-j \sigma \mu \omega }$であり、$\sigma,\mu$は導線の電気伝導率、透磁率であるものとする。また$\omega$は交流電流の角速度である。

図示

それでは、実際に上式を用いて導線断面における電流密度をコンター図を用いて図示するプログラムを作成しよう。

python skin_effect_3d.py
import matplotlib.pyplot as plt
#円周率の算出
import math 
import numpy as np
#ベッセル関数の読み込み
from scipy.special import jv
#3dデータを上手く加工する
from scipy.interpolate import griddata



#円筒銅線の材料パラメーター

#電気伝導率σ
sigma = 1.0
#透磁率μ
mu = 1.0

#角周波数
omega = 10
#電流値
I=1.0
#銅線の半径
r_0=10

k= (-1j*omega*mu*sigma)**0.5

#プロット

NUM=10000                          # サンプリング数
x=0                                     # 点のx値
y=0                                     # 点のy値                                  
#zを求めるために使用
i=0   



#a<r<b つまり -r_0<r<r_0の範囲で乱数を生成する
a=-1*r_0
b=r_0

x_a=[]
y_a=[]
z_a=[]
                                  # ループカウンタ
while i<NUM:                            # NUM回ループ
    x=(b - a) * np.random.rand() + a                  # ランダムな点の位置x a<x<bにおけるランダムな点を作成
    y=(b - a) * np.random.rand() + a                  # ランダムな点の位置y
    if x**2+y**2<r_0**2:                      # 円筒内部ならば
 
        z= (k*I/(2*math.pi))*jv(0,k*(x**2+y**2)**0.5)/jv(1,k*r_0)
        x_a.append(x)
        y_a.append(y)
        z_a.append(z)
    else:                               # 円の外
        #plt.scatter(x,y,color='blue')
        z=0   
    i+=1                                # ループカウンタ増


#データの整理
x_new, y_new = np.meshgrid(np.unique(x_a), np.unique(y_a))
z_new = griddata((x_a, y_a), z_a, (x_new, y_new))


#コンター図で表示する
plt.contourf(x_new, y_new, z_new)
#カラーバー
plt.colorbar()
#保存
plt.savefig("hixyouhi_entouzahixyou_con.png")
plt.show()

これを実行すると以下のような画像が出力される。

hixyouhi_entouzahixyou_con.png

このように、表面付近の電流密度が高いのが分かるだろう。

このプログラムを使って、$\omega$を変化させた場合においてどの様に電流密度が変化するのかを調べたところ以下のような図になった。

anime.gif

このように、周波数を変化させることによって、同じ電流の大きさでも導線内部の電流密度分布を変化させることができるということが分かった。

まとめ

今回はPythonを用いて表皮効果を図示することを試みた。結果確かに、周波数を変化させることによって、導線表面付近の電流密度を変化させることができ、表面付近に電流が集中するということが分かった。したがって、高周波電流を扱う場合は小型化をする際にこのような現象も考慮しなければならないため、適切な周波数を選択することが重要となる。

参考文献

https://denki-no-shinzui.com/skin-effect/
https://qiita.com/kzm4269/items/8ea85f3d90caecef704b

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?