インダクタンスを計算しよう（FastHenry）

## はじめに

ウェーイw オタクくん見てるー？ オタクくんの計算資源は今俺が隣で占有してまーすｗ

- [自己インダクタンスを理論式で計算しよう](https://qiita.com/ds54e/items/934bd2101ed4b7f6c0ec)
- [FEMMで計算しよう](https://qiita.com/ds54e/items/cdb015e4d0b6f9f91393)
- [FastHenryで計算しよう](https://qiita.com/ds54e/items/8640b62c32faffd34c80) ← いまココ
- Elmer FEMを使ってみよう
- Palaceで遊んでみよう（本命）

[^femm]: https://www.femm.info/wiki/HomePage
[^fasthenry]: https://www.fastfieldsolvers.com/default.asp
[^elmer]: https://www.elmerfem.org/blog/
[^palace]: https://awslabs.github.io/palace/stable/

## FastHenry[^fasthenry] とは

<table>
<tr>
<td>魔法少女まどかマギカっぽく、カジュアルなトーンでお願いします。</td>
</tr>
<tr>
<td>
FastHenryは、<strong>準静電磁近似</strong>に基づいた数値解析ツール。導体構造を細かくメッシュ分割して、<strong>導体内の電流分布</strong>を解きながら、インダクタンスの影響を明らかにするの。たとえば、ICパッケージやPCB、MEMSデバイスにおける配線の電磁結合解析なんかにぴったり。

「でも、そんな計算、時間がかかりすぎるんじゃ…？」って思うよね。だけど大丈夫。FastHenryには、**Fast Multipole Method（多重極展開法）** っていう、 遠方相互作用を効率的に計算するための、強力な“計算魔法”が込められてるの。だから、大規模な導体ネットワークでも、高速かつ高精度な解析が可能なんだよ。
</td>
</tr>
<tr>
<td>もうちょっとそれっぽくしてください。</td>
</tr>
<tr>
<td>
魔法なんて、きっとどこにもない。でも――

<strong>この世界の見えないしくみを、数式と理論で暴く力があるのなら</strong>、それはもう、魔法と呼んでもいいんじゃないかなって、私は思う。FastHenryは、<strong>この世界のすき間にひそむ“電磁のささやき”を、そっとすくい上げる</strong>、そんな静かな力。選んだのは希望じゃなくて、たぶん、覚悟。それでも手にした技術で、この複雑な構造に、ちゃんと答えを与えるために。

――これは、数式を武器に戦う、あなたのための小さな奇跡。
</td>
</tr>
</table>

ふーん……やるじゃん[^yarujan][^madoka][^misawa]。

![0651.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/863735/7a0a4311-61b2-49a6-9951-72a5eeb4e314.png)

[^yarujan]: [越前リョーマは実際のところ何回「ふ～ん ◯◯じゃん」と言ったのか数えてみた](https://x.com/livedoornews/status/1341761732369408000)

[^madoka]: [魔法少女まどか☆マギカ 第2話「それはとっても嬉しいなって」](https://dic.nicovideo.jp/a/%E3%81%9D%E3%82%8C%E3%81%AF%E3%81%A8%E3%81%A3%E3%81%A6%E3%82%82%E5%AC%89%E3%81%97%E3%81%84%E3%81%AA%E3%81%A3%E3%81%A6)

[^misawa]: [地獄のミサワ - バイトリーダー (29)](http://jigokuno.com/?eid=679)


## 円形コイルの自己インダクタンス

FreeCADを使って円形コイルのジオメトリを作成した後、[EM Workbench](https://wiki.freecad.org/EM_Workbench)を使って FastHenry用の入力ファイル `fasthenry_input_file.inp`を作成します[^geo]。

[^geo]: FastHenryでは円筒が使用できなかった（角柱で代用する必要があった）ので、「角柱の断面積 ＝ 円筒の断面積」になるように、角柱断面の一辺の長さを $w = \sqrt{\pi}\ r = 0.71\ \mathrm{mm}$としています。

![Screenshot 2025-04-20 210013.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/863735/39af748c-9776-4a3a-9997-cc961e96dc14.png)

生成された入力ファイルを FastHenryに読み込んで実行すると、次のように `R + Lj`の形式で抵抗値と自己インダクタンスが得られます[^rlj]。

[^rlj]: FastHenryのログには `R + jwL` ではなく `R + Lj` の形式で表示されていることに注意してください。`j` の前の数字がそのまま自己インダクタンスの値を表しています。虚数部を角周波数で割る必要はありません。

![Screenshot 2025-04-20 205915.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/863735/eed1bd78-4d4b-4998-9022-532b25cb5048.png)

したがって、FastHenryによる解析結果は下記のとおりです。

$$
\\begin{align}
&L = 10.4\ \mathrm{nH}
&R = 5.33\ \mathrm{m \Omega}
\\end{align}
$$


## 結果の比較

|手法|自己インダクタンス|(A)との差|
|---|---|---|
|(A) 円環状導線の理論式|11.3 nH|0 %|
|(B) 相互インダクタンスの総和（多角形近似）|10.4 nH|-8 %|
|(C) FEMM（円筒座標系）|11.1 nH|-2 %|
|(D) FastHenry（多角形近似）|10.4 nH|-8 %|

|手法|抵抗 (f=100kHz)|(C)との差|
|---|---|---|
|(A) NA|NA|NA|
|(B) NA|NA|NA|
|(C) FEMM（円断面）|7.07 mΩ|0 %|
|(D) FastHenry（四角断面）|5.33 mΩ|-24.6 %|


## おわりに

FastHenryは、ネット上で多くの方々に使われて……いない、ソフトウェアです[^sample][^user]！！
つまりですね、これは大きなチャンスです。この超最大最強天下無敵のソフトウェアを誰よりも早く使いこなし、全人類に布教することでこの世界に革命を起こし、私と一緒に[^lie]真の最先端特別高度電磁界解析つよつよ人材を目指してみませんか[^kimetsu]？

[^sample]: ※当社調べ ※対象: 日本語圏のみ ※学術研究における利用例は除く
[^user]: 日本語圏で見つかった唯一のユーザー [@ykondo813](https://x.com/ykondo813/status/318259030206328834)（12年前）
[^kimetsu]: [お前も鬼にならないか？ - 鬼滅の刃 猗窩座](https://dic.pixiv.net/a/%E3%81%8A%E5%89%8D%E3%82%82%E9%AC%BC%E3%81%AB%E3%81%AA%E3%82%89%E3%81%AA%E3%81%84%E3%81%8B%3F)
[^lie]: うそです。ごめんなさい。私、他にもう心に決めた人がいるから……