• 検索結果がありません。

Poisson Superfish Manual

N/A
N/A
Protected

Academic year: 2018

シェア "Poisson Superfish Manual"

Copied!
12
0
0

読み込み中.... (全文を見る)

全文

(1)

Poisson Superfish 適当マニュアル

藤井涼平

1. Poisson Superfish とは?

ロスアラモス国立研究所が開発した静電磁場/高周波のシミュレーションを行うソフト ウェ アス イー ト。 2 次元 もし くは 軸 対称 の問 題を 扱う こと がで きる 。静 電磁 場は Poisson、高周波は Fish で扱う。その他にも山のような使途不明なソフトがついてくる。 各ソフトの役割は後述。

PSは加速器業界で使われることが多いらしい。この手のソフトウェアは年間ライセンスで 何十万円もすることが多いが、Poisson Superfish は無料で公開されている。

なお、本書では電磁石の設計に関係のある Poisson による磁場の計算についてのみ解説す る。Fish や電場の扱い方については、Poisson Superfish のマニュアルを参照すること。 ただし、それらを使う際にも、本書の内容は一部役に立つと思う。

2. インストール

とりあえず、http://laacg.lanl.gov/laacg/services/sfregis.php からインストールする。 途中、氏名や大学名とかを入力しないとダウンロードできない。

インストールは特につまずくことなくできると思う。強いて言えば、、インストール先の パスに空白が含まれると正常にインストールできない(だから、C:\Program Files の下に はインストールできない。Windows 専用なのにどうなってんだ)。フォルダ名に日本語 が含まれてもうまくいかない可能性がある(未確認)。デフォルトのインストール先フォ ルダを使うのが無難。

2.1. 各種ファイル

インストール先フォルダ/Examples/ Magnetostatic/ にいくつかサンプルの入ったフォ ルダがある。各フォルダの RUN_*.BAT を開くと計算が走り、その後*.T35 を開くと計算 結果を表示できる。

インストール先フォルダ/Docs には、Poisson Superfish のマニュアルがある。sftoc.doc は目次なので、ここから必要な情報をたどるとよい。その他のファイルは、長大なマニュ アルを内容別に分割したものである。それぞれの中身が何かは、 sftoc.doc の最初のペー ジに書いてある。

(2)

3. Poisson Superfish に含まれるソフトウェアと対応するファイル拡張子

3.1. 各種ソフトウェア一覧

関係ありそうなものだけ抜粋。概ね、上から順番に使う。

ソフトウェア 役割

Automesh 材質、形等に応じて最適化したメッシュを生成するソフト ウェア。Poisson でも Fish でも、このソフトを最初に実行 する。生成されたメッシュは*.t35 ファイルに格納される。

⇔*.am

Poisson 磁場を求める。具体的には、Automesh が生成したメッシュ の各点でのベクトルポテンシャルを求め、*.t35 ファイルに 書き込む。姉妹品として、別の方法で計算する Pandira もあ る。こちらは永久磁石も扱える。⇔*.t35

WSFplot プロットプログラム。Automesh の結果を見たり、Poisson の計算結果を確認したりするのに使う。デフォルトでは、直 交 座 標 で は Az 、 円 筒 座 標 で は rAϕ を 表 示 す る 。

⇔*.t35

SF7(オプション) ポストプロセッサー。Poisson が計算したデータをユーザー が指定した経路上で補間する。経路上の磁場を Tablplot で プロットする際に使用する。⇔*.in7

Tablplot(オプション) 行、列で並べられたデータをプロットする。Gnuplot みたい な感じ。⇔*.tbl

(3)

3.2. 拡張子一覧

関係ありそうなものだけ抜粋。 拡張

種類 意味

bat Windows batch file

知ってると思うけど、コマンドプロンプトで打ち込むコ マンドを事前にこのファイルに書いておいて、ダブルク リックすることでそれらを順番に実行するためのもの Poissonとは直接関係ないが、これを使って Poisson Superfishを操る。

am Automesh input ここに物質の物性と形、境界条件の種類(ノイマン/ ディリクレ)などを書く。このファイルをもとにメッ シュを生成する。⇔Automesh

t35 Poisson/Superfish solution

Automeshや Poisson によって生成されるバイナリファ イル。メッシュや磁場のデータが含まれる。ダブルク リックすると WSFplot が起動し、データを閲覧できる。 tbl Tablplot input グラフをプロットするためのファイル。列に並べられた データとグラフのスタイルが書かれている。Gnuplot の pltフ ァ イ ル み た い な も の 。 ダ ブ ル ク リ ッ ク す る と Tablplotが起動し、データを閲覧できる。

(4)

4. Automesh の使い方

Automeshを使うには、*.am ファイルに物質の形や性質などを書き込む必要がある。 4.1. *.amファイルの書き方

 コメントは ; か ! の後に書く。

 空行や ; / ! 以降は無視される。

 STOP、ENDFile または ENDOFFILE と書くと、その行以降は読み込まれない。

 最初の reg namelist(後述)の前に、解きたい問題の説明を書くことができる。これ はコメントにせず、そのまま書く。複数行書けるが、1 行あたり最大 80 文字。日本 語は非対応。ここに書いた説明の 1 行目は、WSFplot でプロットした際に表示される。

 大文字、小文字は問題の説明以外は区別されない。

*.am フ ァ イ ル は 、 fortran90 で 言 う と こ ろ の namelist の よ う な 書 き 方 を す る 。 namelistは、外部ファイルから変数に値を与える際に使う。namelist は&または$で区切 る。各変数は改行もしくは , で区切る。

または

以降、本書の中で reg/kprob のように表記することがある。

Automeshは 4 つの namelist を読み込む。 namilis

t

意味

reg region. 領域のもつ性質(透磁率、材質、流れている電流…)を定義する。 ただし、reg のうち最初の 1 つだけは、領域固有ではない情報(Poisson を 使うか、Fish を使うかなど)も書く。領域の形は後続の po namelist で定義 する。

po point. 点の座標を定義する。対応する reg の次に記述する必要がある。po を連続して書くことで領域の形を定義する。

mt material table. 物質の物性をここで定義する。物性は reg に直接書くこと も可能だが、mt に書きそれを reg から読み込むこともできる。

poa single-point boundary values. ある点における境界条件(

A

z または Aϕ )を指定する。今回はおそらく使わないので、以降本書では省略する。 詳しくはマニュアル P.169 (SFCODES.DOC P.29)を参照。

& reg kprob=0

mode=-1, dx=1

lmax=100 &

$ reg kprob=0

mode=-1, dx=1

lmax=100 $

(5)

4.1.1. 大まかな流れ

& reg kprob=0

… &

&po x=… &

&po x=… &

& reg mtid=2

… &

&po x=… &

&po x=… &

&mat mtid=2

… &

←最初の領域の定義。ここでは、領域の性質とともに問題共通 の性質(Poisson を使うか、Fish を使うかなど)も定義する。

←最初の領域の形をいくつかの点で表す。通常、閉領域となる よう、最初の点と最後の点は同じ座標で表す。

←2番めの領域の定義。ここには、この領域の性質のみ書く。 下の mat で定義している物性を読み込んでいる。

←2番めの領域の形。

同様にして、それ以上の領域も定義できる。

←ユーザー定義の物性をここで定義する。複数定義できる。

(6)

4.1.2. regで定義されている変数

関係ありそうなものだけ抜粋。デフォルトをそのまま使う場合は、指定する必要はない。

名前 意味

kprob * Poisson/Pandira では 0、Fish では 1。

mode * -2 だと、空気とメッシュなし以外 (mat≧2) はすべて無限の透磁率と なる。-1 だと、透磁率は有限の固定値となる。0 は、少なくとも 1 つ の物質の透磁率が変化する場合に使用する。

xreg yreg kreg lreg

* メッシュ間隔を領域によって変更したい際に使う。詳細は後述。

kmax lmax

icylin * 0 であれば直交座標系、1 であれば円筒座標系。デフォルトは 0。 nbs?? * 計算領域の境界条件。??には、上端は up、下端は lo 、右端は rt、左端

は lf が入る。ディリクレ条件は 0、ノイマン条件は 1。デフォルトは 0100の順番。

dx/dy * メッシュの細かさ。デフォルトは計算領域の x 方向の大きさの 2%。磁 場の計算結果だけでなく、物質の形の精度にも影響する。片方だけ指定 すると、もう片方も連動して変わる。

fixgam * mode=-1 の時に使われる mat≧2 のデフォルトの磁気抵抗率(比透磁 率の逆数 γ=μ0/μ )。デフォルトは 0.004。

mat 物質の種類。0 はメッシュがない 領域、 1 は空気/真空/コイル(

μ

r

=1

)、2 以上はユーザー定義の物質。デフォルトは 1。 mtid mt/mtidと対応。ユーザー定義の物性データを使用する時に使う。 cur 電流。直交座標系だと画面に垂直、円筒座標系だと画面に対して垂直に

y

軸まわりに流れる。

*がついているものは、領域固有ではなく問題で共通なので、最初の reg にのみ書く1。 他にも多数の変数がある。それらの一覧は、マニュアル P.151 (SFCODES.DOC P.11)で 見ることができる。

1最初の reg にのみ書かないとエラーになるものと、後続の reg に書いてもよく、複数指 定すると単に上書きされるものがある。最初の reg に書くのがわかりやすいので、ここで は区別しないことにする。

(7)

4.1.3. poで定義されている変数

関係ありそうなものだけ抜粋。デフォルトをそのまま使う場合は、指定する必要はない。

名前 意味

nt 1つ前の点とこの点をつなぐ曲線の種類。1 は直線、2 は円弧。領域の最 初の点では不要。デフォルトは 1。

x0/y0 その点における原点。デフォルトは(0,0)。

x/y x0、y0 に対する相対的な x 座標、y 座標。これと r/theta のうち、い ずれか片方のみを使う。

r/theta 半径、角度。組み合わせて、x0, y0 に対する相対的な座標を極座標を 使って表す。

他にもいくつかの変数や設定可能な値がある。それらの一覧は、マニュアル P.157 (SFCODES.DOC P.17)で見ることができる。

4.1.4. mtで定義されている変数

関係ありそうなものだけ抜粋。デフォルトをそのまま使う場合は、指定する必要はない。

名前 意味

mtid 物質に割り当てる 1 以上の番号。reg/mtid にこの番号を指定することで、 定義した物性を呼び出せる。

gamma 磁気抵抗率。比透磁率の逆数 γ=μ0/μ 。これと mu のいずれかのみ使 用。デフォルトは reg/fixgam。

mu 比透磁率 μ/ μ0 。これと gamma のいずれかのみ使用。

他にもいくつかの変数がある。それらの一覧は、マニュアル P.161 (SFCODES.DOC P.21)で見ることができる。

(8)

直交座標系 円筒座標系 4.2. 座標系

直交座標系(reg/icylin=0)の場合、画面垂直に無限に物質が続くものとして計算される。 円筒座標系(reg/icylin=1)の場合、

y

軸回りに回転させたときにできる形として計算さ れる。

(9)

4.3. メッシュ間隔を変更する

全体で同じメッシュ間隔を使用する場合は、単に dx, dy を指定すればよい。。

しかし、すべて粗いメッシュで計算すると、計算結果が不正確になる。また、すべて細か いメッシュで計算すると、計算に非常に時間がかかる。そこで、構造的に複雑な場所や磁 場が大きく変化しそうな場所だけメッシュを細かくすることができる。

4.3.1. 物理座標と論理座標

現実世界での座標を物理座標という(xreg, yreg)。デフォルトでは、単位は cm となる2。 一方、メッシュの三角形の数で表した座標を論理座標という(kreg, lreg)。

x

軸方向のメッシュを、

x=−5

~5 の間だけ 2 倍にする例を考えてみる。この場合、

x=−5

5

の間だけ論理座標を 2 倍進めればよい。つまり、

x

の値 −10 −5 5 10

差分 5 10 5

k

の値 0 50 250 300

差分 50 200 50

1cm当たりメッシュ数 10 20 10 のようにすればよい。

なお、dx の値を指定していても、物理座標と論理座標によるメッシュ変更のほうが優先さ れる3

2 変更することも可能だが、密度などの値も変わるので面倒。変更しないほうがいい。 3 ただし、dx だけを変更すると付随して dy も変更されるため、その影響はある。

(10)

4.3.2. メッシュ間隔変更の書き方

reg/xreg, reg/kreg, reg/yreg, reg/lregに上の表の配列を与えればよい。ただし、

x

の最小値、最大値は po から自動で決定されるため、入力する必要はない。配列は

のようにカンマ区切りで入力すればよい。最後に kmax を指定する。配列 xreg と kreg のサイズが違うことに注意。

kreg[0]に

−1

を指定すると、実際の論理座標ではなく、その差分を用いて記述できる。 すなわち、

のようになる。

y 軸方向についても全く同じように設定できる。

4.4. 実行方法

amファイルを保存し、ダブルクリックすると計算が行われ、ファイルの内容に問題なけ れば t35 ファイルが生成される。これは、物質とメッシュのデータなどが合わさったもの である。

あるいは、後に述べるようにコマンドラインを使って処理することもできる。

& reg

xreg= -5, 5 kreg= 0, 50, 250 kmax=300 &

&po x=-10, … & !xの最小値

&po x= 10, … & !xの最大値

xreg= -5, 5 kreg= -1, 50, 200 kmax=50

(11)

5. Poisson の使い方

5.1. 環境変数

Poisson Superfishをインストールすると、環境変数 SFDIR が登録される。これを使うこ とで、コマンドプロンプトのカレントディレクトリがどこであろうと Poisson Superfish のプログラムを起動できる。

具体的に、Poisson を起動するには、コマンドプロンプトに

と打ち込むか、上記の内容を bat ファイルに書いておいてダブルクリックすればよい。

5.2. コマンドライン引数

Poissonは、生成されたメッシュデータである t35 ファイルを受け取る。拡張子は指定し なくて良い。Poisson は自動的に拡張子が t35 のファイルを探す。

当たり前だが、開きたいファイルの置かれているのと同じフォルダに移動しておくか、 ファイルをパスで指定する必要がある。

なお、先述のように、Automesh をコマンドラインで起動することもできる。これは上で poissonを automesh に置き換えるだけでよい。

これら 2 つを連続して実行するよう bat ファイルを書いておけば、ダブルクリックするだ けでメッシュの生成と磁場の計算を自動で行える。

%sfdir%poisson

%sfdir%poisson filename

%sfdir%automesh filename

%sfdir%poisson filename

(12)

6. SF7 の使い方

SF7は、Poisson による計算が終了した後に実行するポストプロセッサーである。ユー ザーが指定した経路上の磁場を補完してファイルに書き出してくれる。

6.1. in7ファイルの書き方

SF7への指示は、in7 ファイルに書き込む。ファイル名を t35 ファイルと同じにしておけ ば、SF7 は自動的にそれを探してくれる。

in7ファイルは、例えば以下のように書けばよい。

これは、経路は直線で(line)、tbl ファイルを生成し(plot)、直線の始点は(0,0)、終点は (10,0)、グラフのポイント数は 100 であることを示している。曲線など、さらに複雑な経 路を指定したい場合は、マニュアル P.296 (SFPOSTP.DOC P.62)を参照。

6.2. 実行方法

単にダブルクリックすればよい。あるいは、先述の通り、コマンドラインで実行すること もできる。その際は、%sfdir%sf7 で起動できる。in7 ファイルを引数に取る。

6.3. 注意点

sf7は t35 ファイルに書き込まれたデータをもとに tbl ファイルを生成するから、in7 ファ イルでポイント数を高くしたとしても、am ファイルで少ないメッシュ数を指定していた ら十分な精度のデータが得られない。

7. WSFplot /Tablplot の使い方

生成された t35 ファイルか tbl ファイルをダブルクリックすれば開く。画像ファイルに保 存したければ、HardCopy→Driver→SVG を選び、HardCopy→Start でできる。ベクター 画像なので拡大してもボケない。SVG ファイルは、例えば Inkscape などで開ける。対応 ソフトを持っていないからといって、決して BMP や PNG 形式などのラスター画像で保存 しないように。後で修正がきかない上に、ファイルサイズが大きく、拡大すると荒れてし まうため使い物にならない。

line plot 0 0 10 0 100 end

参照

関連したドキュメント

をき計測磁については 約機やぞの後の梅線道燦ω @J III 祭賞設けて、滋問の使用!窓織象件後紛えているをのもあ~.正し〈誕lÉをされていない官能筏

このアプリケーションノートは、降圧スイッチングレギュレータ IC 回路に必要なインダクタの選択と値の計算について説明し

単に,南北を指す磁石くらいはあったのではないかと思

1 つの Cin に接続できるタイルの数は、 Cin − Cdrv 間 静電量の,計~によって決9されます。1つのCin に許される Cdrv への静電量は最”で 8 pF

この標準設計基準に定めのない場合は,技術基準その他の関係法令等に

この場合,波浪変形計算モデルと流れ場計算モデルの2つを用いて,図 2-38

この標準設計基準に定めのない場合は,技術基準その他の関係法令等に

この標準設計基準に定めのない場合は,技術基準その他の関係法令等に