ゲージ条件 — CAE用語解説
ゲージ条件
先生、電磁場解析の教科書で「ゲージ条件」っていう言葉が出てきたんですけど、なぜわざわざ条件を付ける必要があるんですか?
理論と物理
ゲージ条件の物理的意味
「ゲージ条件」という言葉をよく見かけますが、そもそも何を「ゲージ」しているんですか?
良い質問だ。これは電磁界解析や流体解析の基礎で出てくる概念だ。例えば、電磁界のマクスウェル方程式では、スカラーポテンシャルφとベクトルポテンシャルAが一意に決まらない「自由度」がある。この余分な自由度を制約するための追加条件が「ゲージ条件」だ。物理的な場(EやB)は変わらないように、ポテンシャルの取りうる表現を固定するんだ。
自由度があると、具体的にどんな不都合が起きるんですか? 数値計算が不安定になる?
その通り。数値的に解が一意に定まらず、ソルバーが発散したり、非物理的な振動(数値ノイズ)が発生する原因になる。例えば、クーロンゲージ
他にはどんなゲージ条件があるんですか? ローレンツゲージというのも聞きます。
そうだ。もう一つの代表格がローレンツゲージだ。式は
数値解法と実装
有限要素法への導入方法
ゲージ条件は、有限要素法のマトリックス方程式にどう組み込まれるんですか? ただの制約条件?
組み込み方には主に二つのアプローチがある。「ペナルティ法」と「ラグランジュ乗数法」だ。ペナルティ法は、ゲージ条件を満たさないことに対する「罰則」項をエネルギー関数に追加する方法だ。例えば、クーロンゲージなら
ラグランジュ乗数法の方はどうなんですか? そっちの方が厳密そうですが。
厳密に制約を満たすが、未知数が増えるのがトレードオフだ。制約条件
実際のソフトでは、ユーザーがこの係数や方法をいじれるんですか?
高級な設定ができるソフトウェアもある。例えば、COMSOL MultiphysicsのAC/DCモジュールでは、「磁気ベクトルポテンシャル」の物理場インターフェース設定で、ゲージ固定の方法を「ペナルティ」または「ラグランジュ乗数」から選択できる。ペナルティ係数のデフォルトは材料の透磁率μの逆数(1/μ)に比例する値に設定されていることが多いが、収束しない場合には手動で1e-6から1e6の範囲で調整する必要が出てくる。
実践ガイド
シミュレーション設定の指針
実際に解析する時、どういう場合にゲージ条件を意識して設定すればいいですか? 常に必要?
いいや、常に意識する必要はない。多くの市販ソフトはデフォルトで適切なゲージを背後で適用している。ユーザーが明示的に設定を変える必要が出てくるのは、主に二つの場合だ。第一に、ソルバーが収束しない、または結果に非物理的な数値ノイズ(例えば、磁束密度が領域内でランダムに微小振動している)が見られる時。第二に、開領域(無限遠)を含む放射問題や、導体がない領域の静磁界解析をする時だ。
開領域の問題では、なぜ特別な注意が必要なんですか?
開領域では、ポテンシャルの値が無限遠でゼロに収束するという自然な境界条件(ディリクレ条件)を課せないからだ。この場合、ゲージ条件が無限遠でのポテンシャルの振る舞いを決める重要な役割を果たす。例えば、静磁界問題で外部電流源だけがある場合、ゲージを固定しないとAが無限遠で発散してしまい、数値計算が破綻する。このため、Aの法線成分をゼロとする「ツリーメッシュ」を用いたゲージ固定や、特定の点でA=0とする「ポイントゲージ」を設定する必要がある。
「ツリーゲージ」って聞いたことがあります。あれは何をするんですか?
ツリーゲージ(またはツリーコングラウンス)は、メッシュのエッジを切断してループをなくし、ベクトルポテンシャルAを一意に定義する手法だ。メッシュ全体にわたって「木」の構造を作り、その「幹」となるエッジ上でAの接線成分を強制的に0に設定する。これにより、磁束は保存されるがポテンシャルの自由度が除去される。JMAGやFluxといったソフトでは、静磁界解析の設定でこの「ツリーゲージの作成」をオプションで有効にできる。特に複雑な3Dモデルでは有効だが、ツリーの取り方によって結果が微妙に変わる可能性があるので注意が必要だ。
ソフトウェア比較
各ソフトの実装とデフォルト
主要なCAEソフトでは、ゲージ条件の扱いに違いはありますか?
大きな違いがある。まずAnsys Maxwell(3D)では、静磁界ソルバーはデフォルトで「イタレーティブソルバー」を使用し、その内部で自動的にゲージ処理が行われる。ユーザーが選択できるのは「自動」「ポイントゲージ」「ツリーゲージ」などだ。一方、過渡解析や周波数応答解析では、先述の通りローレンツゲージがデフォルトとして組み込まれている。
Abaqusの電磁界解析ではどうなっていますか?
Abaqus/Standardの電磁気モジュールは、主に渦電流解析や静磁界解析を扱う。ここでは、A-φ法(電磁ベクトルポテンシャルと電気スカラーポテンシャル)を用いており、ゲージ固定は「ペナルティ法」によって暗黙的に行われる。マニュアルには詳細が記載されていないが、収束性を改善するための「安定化パラメータ」を調整するオプションが存在する。この値は、要素サイズと材料定数に基づいて自動計算されるが、発散する場合は手動で1e-12から1e-3の範囲で変更してみる必要がある。
オープンソースのElmerやGetDPでは、ユーザーがより細かく制御できると聞きました。
その通りだ。Elmer FEMの「MagnetoDynamics」ソルバーでは、ソルバー設定ファイル(SIF)に「Gauge Fixing = Logical True」と明記し、さらに「Gauge Fixing Method」として「coulomb」や「lorentz」を選択できる。GetDPでは、弱形式を自分で記述するため、ゲージ条件を追加の方程式として陽に定義する必要がある。例えば、クーロンゲージなら
トラブルシューティング
よくあるエラーと対策
ゲージに関連して、具体的にどんなエラーメッセージが出ることがありますか?
ソフトによって様々だが、Ansys Maxwellでは「The matrix solver failed due to a singular matrix. Please check the model and boundary conditions.」というメッセージが、ゲージが不十分で係数行列が特異(ランク落ち)になった時に出ることがある。また、COMSOLでは「Failed to find consistent initial values.」という過渡解析開始時のエラーも、初期条件とゲージの整合性が取れていない可能性がある。
「特異行列」と言われた場合、最初に何をチェックすべきですか?
まず、境界条件が全て設定されているか確認だ。特に、磁気ベクトルポテンシャルAに対して何のディリクレ条件(固定値)も与えられていない領域がないか。もし全ての境界が自然境界条件(ニューマン条件)なら、それはゲージが固定されていない状態で、行列は確実に特異になる。対策としては、物理的に意味のある点(例えば、磁束がゼロと期待される遠方や対称面)で「A = 0」という境界条件を一つ追加する。それが難しい場合は、ソフトウェアの「自動ゲージ固定」オプションを有効にする。
計算は収束するけど、結果の磁束密度の分布がメッシュに依存して細かく波打っている場合は?
それは「数値的なゲージ汚染」の典型的な症状だ。ゲージ固定が弱い(ペナルティ係数が小さい)か、高周波数成分を表現できない粗いメッシュを使っている可能性がある。まず、メッシュを細かくしてみる。それでも改善しない場合、Ansys Maxwellなら「Solver Settings」の「Advanced」タブにある「Gauge Penalty」の係数をデフォルトの1.0から10.0や100.0に上げてみる。COMSOLなら、ペナルティ法の係数を「手動」に切り替え、材料の透磁率の逆数の100倍から1000倍程度の値(例えば、空気中で 1e6 から 1e7)を設定して再計算する。
過渡解析で、時間ステップごとにソルバー収束が悪くなる場合もゲージが原因ですか?
あり得る。特にローレンツゲージを使った過渡解析では、時間離散化の方法(陰的解法か陽的解法か)とゲージ条件の相性が問題になることがある。対策として、時間ステップ幅を小さくしてみる。あるいは、ソフトウェアによっては「ゲージのリセット」オプションがある。これは、数値誤差が蓄積してゲージ条件から逸脱してきたポテンシャルを、数ステップごとに強制的に修正する機能だ。これにより、長い過渡解析の安定性が向上する。
関連トピック
なった
詳しく
報告