Palace電磁場解析
理論:Palaceが解く問題
概要
Palaceは、HFSSのような商用の電磁場ソルバーと何が違うのですか?
解ける問題の種類は近いが、作られた目的が違う。PalaceはAWSが量子コンピュータの開発のために作り、2023年にオープンソースとして公開した。超伝導量子ビットの回路は、数mm角のチップに数十µmの線が並び、その中のごく薄い誘電体層の損失まで評価する必要がある。こうした寸法差の大きい問題を高い精度で解くため、Palaceは有限要素ライブラリMFEMの上に作られ、高次のNédélec要素とスーパーコンピュータやクラウドでの大規模並列計算を前提にしている。解析の種類は、固有モード(共振周波数とQ値)、周波数応答(Sパラメータ)、時間領域、静電場(容量行列)、静磁場(インダクタンス行列)の5つ。設定はJSON形式の入力ファイルで書き、GUIは付いていないので、メッシュはGmshなどで別に作る。
固有モードの方程式と理論解
E は電場、μ_r・ε_r は比透磁率・比誘電率、k₀ は自由空間の波数。直方体空洞(幅 a、高さ b、長さ d)の共振周波数は右の式で与えられ、TEモードは m か n のどちらかと p ≥ 1、TMモードは m, n ≥ 1 が条件。
壁損失によるQ値
TE101モードの導体Q値(k は波数、η は自由空間の波動インピーダンス、R_s は表面抵抗、σ は壁の導電率)。
量子コンピュータのために作られたソルバー
超伝導量子ビットは、ジョセフソン接合とコンデンサ、共振器を組み合わせた回路で、その周波数や結合の強さ、エネルギーを失う速さが電磁場の分布で決まる。設計を変えるたびに試作して極低温で測るのは時間がかかるため、高精度な電磁場シミュレーションが欠かせない。AWSはこの用途のためにPalaceを開発し、Apache 2.0ライセンスで公開した。商用ソフトのライセンス数に縛られず、クラウドの多数のCPUで同時に何百ケースも回せることが、オープンソースにした利点の一つとされている。
計算例
例1:直方体空洞の共振周波数(22.86×10.16×30 mm、空気)
| 順位 | モード | 共振周波数 |
|---|---|---|
| 1 | TE101 | 8.244 GHz |
| 2 | TE102 | 11.952 GHz |
| 3 | TE201 | 14.034 GHz |
| 4 | TE011 | 15.577 GHz |
| 5 | TM110 | 16.145 GHz |
| 6 | TE103 | 16.361 GHz |
| 7 | TE202 | 16.488 GHz |
| 8–9 | TE111 と TM111(縮退) | 16.901 GHz |
幅22.86 mm・高さ10.16 mmは導波管WR-90の断面と同じ。Palaceで固有モードを10個ほど求め、周波数が理論値と0.1%以内で一致し、要素の次数やメッシュを細かくしても変わらないことを確かめる。
16.9 GHz付近で、理論ではTE111なのにPalaceの結果では2つの周波数がほとんど同じ値で出てきました。どちらが正しいのですか?
両方とも正しい。直方体空洞では TE111 と TM111 がまったく同じ周波数 16.901 GHz を持つ(縮退)。数値計算ではメッシュのわずかな非対称で2つの値がごく少しずれて出るので、片方だけを理論値と比べて「1つ余分なモードがある」と誤解しやすい。縮退したモードは、固有ベクトルが2つのモードの任意の組み合わせになることもあるので、電場の向き(TEなら伝搬方向の電場がゼロ、TMなら磁場がゼロ)を見て対応を付ける。固有値ソルバーに「求める個数」を指定するときも、縮退があると境目のモードが入ったり入らなかったりするので、少し多めに求めるのが安全だ。
例2:壁の材料とQ値(TE101、8.244 GHz)
| 壁の材料 | 導電率 | 導体Q値 |
|---|---|---|
| 銅 | 5.8×10⁷ S/m | ≈ 7,700 |
| アルミニウム | 3.5×10⁷ S/m | ≈ 6,000 |
| 黄銅(目安) | 1.0×10⁷ S/m | ≈ 3,200 |
銅の表面抵抗は0.0237 Ω、表皮深さは0.73 µm。Q値は導電率の平方根に比例する。Palaceでは壁にインピーダンス(表面抵抗)境界条件を与えれば、壁の中をメッシュで解かずに損失を扱える。超伝導の壁では導体損失がほぼなくなるため、誘電体や表面の薄い層の損失がQ値を決める。
始め方の流れ
- Spack・Singularity等で、またはソースからビルドしてPalaceを導入し、付属の例題を1つ動かす。
- Gmshで直方体空洞のメッシュを作り、境界と領域に番号(属性)を付ける。
- JSONの入力ファイルで固有モード解析を設定し、共振周波数を理論値と比べる。
- 要素の次数(Order)とメッシュを変えて収束を確かめ、壁に表面抵抗を与えてQ値を比べる。
- 実際の回路形状に進み、容量行列やSパラメータを求める。
「メッシュを細かくするより次数を上げる」
高周波の電磁場は波長ごとに何個の節点があるかで精度が決まり、1次要素では1波長あたり10〜20分割が必要になる。Palaceのような高次要素のソルバーでは、同じ自由度数なら要素を細かくするより次数を上げたほうが誤差が速く減ることが多い。ただし、角や細い線の近くでは電場が特異的に強くなるので、そこだけは要素を小さくする必要がある。次数とメッシュの両方を変えて結果が動かないことを確かめるのが、検証の基本になる。
よくある間違い
間違いと対策
| 間違い | 起きること | 対策 |
|---|---|---|
| 縮退モードを見落とす | 余分なモードと誤解 | 場の向きで対応付け |
| 求めるモード数が少ない | 必要なモードが抜ける | 多めに求める |
| 壁の内部までメッシュ | 要素数が膨大 | インピーダンス境界 |
| 属性番号の取り違え | 境界条件が別の面に | Gmshの物理グループを確認 |
| 単位の取り違え | 周波数が桁違い | 長さの単位を明示 |
関連する内容も知りたいです。
関連するページは空洞共振器の電磁界シミュレーション、高周波FEM、Sパラメータ解析、Elmerマルチフィジックス、MOOSEフレームワークが参考になる。
関連トピック
なった
詳しく
報告