この記事は、有限要素法による電磁界計算入門のオンラインコースの第3回目です。このセクションでは、詳細には立ち入らずに、2Dの静電界の問題の数値計算と解析の手順について述べます。この記事の目的はEStatの機能の簡単なデモです。続く記事で静電場理論とプログラム技術の詳細についてカバーします。
Field Precisionソフトウェアの優れた特徴の一つは、二種類の入力方法があることです。つまり、数値解析のための幾何学的形状および材料特性のデータを与えるために次の様な2つのオプションがあります。
- インタラクティブ:対話型のダイアログ内の項目に値を入力することによる、モダンな有限要素法プログラムの標準的な方法。このオプションは、初心者のユーザーが迅速に新しい計算対象の系の解析をセットアップするのに便利です。
- テキスト:入力スクリプトを使用する古典的な方法。このオプションでは、経験豊富なユーザーが簡単にセットアップに変更を加えることができ、外部プログラムまたはバッチファイルの制御により、プログラムを自動実行させることが容易になります。スクリプトはまた、計算の設定内容に関する、永続的にアクセス可能な記録としても使えます。
このデモでは、MeshとEStatに組み込まれたテキストエディタを使用して、予め準備された例題の入力スクリプトを実行する前にチェックしてみます。重要な仕事には、良いテキストエディタ(注意:「メモ帳」は良いテキストエディタではありません。)を持っていることが不可欠です。次のブログ記事では、テキストエディタ「ConText」を取得し、Field Precisionプログラム用の構文カラーコードを追加する方法について説明しています:
まず計算を始める前に、データ整理のための少し準備をしておく必要があります。始めに少し努力をしておくことで、後の頭痛の多くを防ぐことができます。FP File Organizerか、すでにお使いのファイルマネージャをを実行します。有限要素法計算をするためのディレクトリ(フォルダ)を作成したい場所に移動し、"Simulations"というディレクトリを作成します(ここでは例として"c:¥Simulations"を使います)。サブディレクトリとして"Electrostatics"、さらに"Electrostatics¥Practice"を作成します。右側のウィンドウで、"c:¥FIELDP_BASIC¥TriComp¥Examples¥EStatExamples"に移動します。ここで一つの例題のファイルをコピーします。"electrondiode"を含む名前のファイルを選択し、"Practice"ディレクトリにコピーします。図1はFP File Organizerで操作した後の画面です。
図1. データディレクトリを設定し、例題ファイルをコピー
デスクトップのショートカットをクリックし、TriCompのプログラムランチャーtc.exe(図2)を実行します。図のように、「Mesh」と「EStat」のボタンがアクティブになっている必要があります。アクティブになっていない場合は、「PROGRAM FOLDER」ボタンをクリックして、"c:¥FIELDP_BASIC¥TriComp"ディレクトリを選択して下さい。「DATA FOLDER」ボタンをクリックし、"c:¥Simulations¥Electrostatic¥Practice"に移動します。その後はすべての入力/出力操作は、このフォルダが対象となります。
図2. TriCompのプログラムランチャー
有限要素法解析には次の3つの基本ステップがあります。
- 解析空間の形状を定義し、小さな要素に対象物を分割。このプロセスはメッシング(メッシュ生成)と呼ばれます。
- 支配偏微分方程式(静電界のポアソン方程式)を近似する線形方程式の組を大量に生成し、それらを解く。目標は、メッシュ(節/ノード)上の各点の静電ポテンシャルを決定することです。
- 結果の解析 – ポテンシャルの値を用いて興味のある物理量(電場、電場のエネルギー、静電容量、など)を算出する。
一番目の機能は、Meshプログラム(mesh.exe)によって行われ、二番目、三番目の機能はEStatプログラム(estat.exe)によって行われます。メッシングが別のプログラムによって行われる理由は、同じメッシュを他の種類の解析プログラムでも使うことがあるためです。Meshからの出力ファイルは、PerMag(磁場)やTDiffの(熱伝導)などTriCompシリーズの他のすべての解析プログラムと互換性があります。言い換えれば、静電場のためにMeshについて学べば、後に述べる磁場解析にも役立ちます。
「Mesh」ボタンをクリックしMeshプログラムを起動します。最初は画面には何も表示されません。上部のメニューから「File / Edit file」を選択します。ファイル選択ダイアログは、データフォルダ内の4つのファイルを示しています。MINはメッシュ入力を指定ELECTRONDIODE.MINを、ピック。「electrondiode.min」を選択します。ここで、拡張子「min」はMesh INput(メッシュインプット)を意味します。内蔵プログラムのエディタは、このファイルの中身である組織化された一連の数値の集合を表示します(図3)。まず、解析空間内の異なる物理的対象物を表す、複数の「REGION(領域)」のセクションがあることに注目してください。各領域(REGION)のセクションには、領域形状を定義する線分または円弧のベクトルの集合が含まれています。各数字は、ベクトルの座標です。MINファイルを作成したり、内容を変更するためには2つの方法があります。
- 汎用のインタラクティブな2D CADプログラム、Mesh Drawing Editorを使う。
- テキストエディタを使用して直接数値を変更する。
両方のオプションについては次の記事で説明します。ここでは何も変更せずにエディタを終了します。
図3. 内蔵メッシュエディタ表示
「FILE」メニューの「Load script(MIN)」を選択するか、ツールバーの左側のボタンをクリックし、ファイル「electrondiode.min」の内容をロードします。その後、「PROCESS」メニューか、緑の四角のボタンをクリックします。そうするとMeshは必要な要素サイズと各領域(Region)のベクトルを分析し、小さな要素の集合体を作成します。
結果を表示するために、メニューの「PLOT-REPAIR」を選択するか、ツールバー右側の「Plot/repair」ボタンをクリックし、図4のような表示にします。解析空間は入力スクリプトに書かれた、物理的対象物(誘電体や電極)を表す領域(region)毎に分割されています。断面は三角形の小さな領域で分割されています。この計算は円筒座標系であり、下側の境界(r = 0)を中心とした回転体の形であることに注意して下さい。
z-rプロットを初めて見ると多くのユーザーは、(θ方向の)底はどこになるのだろうと考えるかもしれません。それに対する答えは「底」はないということです。また半径rの負の値はありません。一方で、デカルト座標系におけるy=0のようなスライス面では上限と下限の端があります。円筒座標の解析空間では、要素は三角形の断面を持ち、方位角方向の全範囲(θ= 0°から360°)にわたって延びる円環となっています。
図4. メッシュ全体の表示
それでは解析空間を詳しく見てみましょう。メニューのVIEW / Zoom windowを選択するか、「Zoom window」ボタン(ツールバー左)をクリックし、マウスを左クリックし動かすことによって拡大したい四角形の範囲の角を指定します。図5は、拡大して見やすくなった要素断面図を示しています。右下の挿入図は、表示範囲を示しています。領域の境界にうまくフィットさせるために三角形要素が変形されていることに注目してください。
このようになっている理由は、表面の電場を精度よく計算するためです。こうしたカスタマイズされた形状の要素を持つメッシュをコンフォーマル(共形)メッシュと呼います。メインメニューに戻り「FILE/Save mesh (MOU)」を選択するかツールバーの「Save mesh tool」ボタンをクリックし、Meshでの作業を終わります。FP File Organizerに移り、F3キーを押して表示を更新してください。二つの新しいファイルがフォルダに追加されています。
- electrondiode.mls:処理の内容を記録したテキスト形式のリストファイルで、何か問題が起きた場合に有用です。
- electrondiode.mou:メインの出力ファイルで、各要素の情報(領域regionとの関連付け)とノード(要素同士の境界)の座標が書き出されています。このファイルは、TriCompのすべての解析プログラムで読み込んで使うことができます。ファイルはテキスト形式であるので、テキストエディタで内容を見ることができます。
図5.メッシュの一部分の詳細図
次に、プログラムランチャーからEStatを実行します。「FILE/Edit script(EIN)」を選択し、ファイルelectrondiode.einを選びます。エディタが内容を表示しています
* File ElectronDiode.EIN
DUnit = 39.37
Geometry = Cylin
Epsi(1) = 1.0
Epsi(2) = 81.0
Epsi(3) = 2.7
Potential(4) = -500.0E3
Potential(5) = 0.0E3
Potential(6) = 0.0E3
ENDFILE
上の二つの一般コマンドは、メッシュファイルでの寸法はインチ単位で、解析対象の系は円筒座標であるということを設定しています。
他のコマンドは、解析空間の各領域の物理的特性を設定しています。最初の三つの領域は、誘電体(真空、純水、ルーサイト)であり、残りの領域は、固定電位の電極です。ここでも、EStat入力スクリプトを作成するための2つの方法があります。すなわり、GUIのダイアログで対話形式で値を与える方法とテキストエディタで直接入力する方法です。
ツールバーの「1」,「2」、「3」とラベルの着いたボタンはEStatの主な三つの機能を呼び出します。:
- 入力スクリプトの作成
- 有限要素解析の実行
- 結果の分析
ステップ1はすでに実行しましたので、次に「2」のボタンをクリックして、electrondiode.einを選択します。EStatはelectrondiode.mouから形状データを読み込み、一連の有限要素の線形方程式の組を生成し、それらを解きます。これは数秒以内に終わります。FP File Organizerは二つの新しいファイルが作成されたことを示しています。electrondiode.els(処理内容のリストファイル)とelectrondiode.eou(各ノード上のポテンシャル値を記録したメインの出力ファイル)です。EStatで「3」のボタンをクリックしelectrondiode.eouを選びます。プログラムは、Analysisモードのメニューに移行し、図6のような等電位線プロット(デフォルト)を表示します。 このタイプのプロットは、完全な情報を示していますので経験豊富なユーザーにとっては便利なものです。
「Finite-element Methods for Electromagnetics」の7.5節では等電位線プロットの解釈の仕方について説明しています。
図6. 静電界の等電位線プロット
Analysisメニューには多くの機能がありますので色々試してみて下さい。それらのうちの二つをチェックしてみましょう。電界の大きさ|E|のプロットは、高電圧システムで発生する絶縁破壊がピンポイントでどこで起きるのかを知るのに便利です。「PLOTS / Plot settings / Plot type」のメニューをクリックし、「Element」を選択し、プロットを作成します。
次に「PLOTS / Plot settings / Plot quantity」をクリックし、|E|を選びます。作成されたプロット(図7)は電子放出領域のピーク電界は約442 kV/cmであり、絶縁体の真空面での最大値は約40 kV/cmであることを示しています。次に絶縁体から下流部分の静電容量を計算してみます。真空の領域における静電界のエネルギー密度を体積積分から、この量を決定することができます。メニューの「ANALYSIS / Volue integral」をクリックします。EStatはデータレコードファイルをデフォルトの名称「electrondiode.dat」で開くよう促します。解析領域全体についての情報が画面に表示されますが、領域(region)毎の詳しい情報を見るためにはこのファイルをチェックする必要があります。
図7. 解析空間に置ける電界強度の分布
「FILE / Close data file」をクリックし、次に「FILE / Edit files」をクリックします。electrondiode.datを開きます。知りたい情報は、次のとおりです。
Quantity: Energy
Global integral: 6.358995E+01
RegNo Integral
==========================
1 5.534785E+00
2 5.602793E+01
3 2.027232E+00
4 4.472539E-29
真空領域(Region 1)の静電容量はUe = C*V^2 /2の式から、2 * 5.5347 / 5E5 ^ 2 = 44.3 pFと求められます。
これでEStatの最初の静電界解析を終わります。 FP File Organizerでデータフォルダーの最終的な状態を確認することで、Field Precisionソフトウェアの次の様な二つの重要な特徴が分かります。
コンパクトな入力ファイルelectrondiode.minとelectrondiode.einには、数値解析を再現するために必要なすべての情報が含まれていることと、
生成したすべてのデータがアクセス可能なファイルに記録されていることです。例えばファイルelectrondiode.eouを保存しておけば、後でいつでもさらなる解析を行うことができます。
この例題の目的は、プログラムの機能の概要を簡単に見ることでした。次の記事では、解析を一から行い、メッシュ作成と解析のテクニックについて学びます。