View
1
Download
0
Category
Preview:
Citation preview
始めの一歩。大きな一歩。
最初の仕事:
シミュレーションする構造を考え、作る
有限要素法(Finite Element Method)で電場計算を行う為に、作った構造情報から3次元メッシュを作る
メッシュをどう作るかが最大の鍵
粗すぎても、細かすぎても、問題。
後のElmer・Garfield++の計算で、繰返しといった境界条件を付けられるので、作る構造は最小単位で十分
Gmshの使用方法はweb上にいくつか情報がある
http://geuz.org/gmsh/doc/textinfo/gmsh.html
http://www.openacoustics.org/wp-content/uploads/2010/09/gmshQuickstart20100919.pdf
http://cdn31.atwikiimg.com/tagami/plugin/ref/&serial=106
Sampleは以下の場所
http://garfieldpp.web.cern.ch/garfieldpp/examples/elmer/garfield_elmer_doc.zip
Sample sourceexamples/
parallel_plate/
lem/
README
avalanche.cc ← Garifield++のsamplegemcell.geo ← GEMのgeometrygemcell.sif ← 電場計算用filegemcell_Wtlel.sif ← 重み付電場計算用filelemgemcell/
dielectrics.dat ← 比誘電率データ
← GEMを想定したsample
← 平行平板コンデンサのsample
作業の流れ1. Geometryを考える
2. データの作成
1. 点を3次元座標で定義
2. 点と点を結んで線を定義
3. 線を複数選んで閉曲線を定義
4. 閉曲線で囲まれた内部を面として定義
5. 面を複数選んで面ループを定義
6. 面ループで囲まれた領域を立体として定義
7. 電位を与える面、及び境界条件を与える面を定義
8. 誘電率を与える物質を定義
3. 最後にgmshでメッシュを切る
2-1. 点を定義するPoint(label) = { x, y, z, e};
空間座標を3次元で定義
単位はm, cm, mm, mumdefaultはcm
各点はlabelによってID
点回りのメッシュサイズは4番目のパラメータで決定(小さいほどメッシュも小)
点間のメッシュサイズはgmshが適度に割り振る
GEM
2-2. 点と点を線で結ぶ
先に定義した点を結んで線を定義
点の指定はPointのlabelで行う
各線はlabelでID
線には向きがある
Circleの描く円弧は180度が最大
Overlapは不可
Line(label) = { 始点, 終点};Circle(label) = { 始点, 中心点, 終点};
Line
Circle
線上に並んだ4つの点で緑と橙の2本を引きたい…
×
○overlapになりerror
それぞれ定義して後で繋ぐ
2-3. 線を繋いで閉曲線を作る
線を結んで閉曲線を定義
線の指定はLineやCircleのlabelで行う
「一筆書き」で「閉じる」必要がある
後から作る面もoverlapできないので、ここで注意
Line Loop(label) = { line1, -line2, line3, …};
Line Loop (loop1) = {line1, line3, -line2, -line4};
橙と水色の重なる2つの面を作りたい…
12
34
56
7
89
10
Line Loop(loop1) = { 2, 3, 4, 5, -6, -7, -8, -1};Line Loop(loop2) = {3, 9, -7, -10};×
○Line Loop(loop1) = { 2, 10, -8, -1};Line Loop(loop2) = {3, 9, -7, -10};Line Loop(loop3) = {4, 5, -6, -9};
2-4. 面を定義する
定義した閉曲線(Line Loop)で面を定義する
平面: Plane Surface, 曲面: Ruled Surface
面のoverlapはできない
Plane Surface(label) = { 外周, 穴1, 穴2, …};Ruled Surface(label) = { 外周, 穴1, 穴2, …};
Plane Surface
Ruled Surface別々の面として定義する
loop1
loop2Plane Surface(face1)
= {loop1, loop2};
2-5. 面で囲う
定義した面で閉曲面を作る
Surface Loopで囲んだ内側が立体の形に
Surface Loop(label) = { 面1, 面2, 面3, …};
2-6. 立体を定義Volume(label) = { 外周, 空隙1, 空隙2, …};
閉曲面で立体を定義
sloop1
sloop2
Volume(v1) = {sloop1, sloop2};
2-7. 境界条件を与える面を定義
電場計算の際、境界条件を与える面を定義
電位を定義する電極
繰返し配置を行う面
Elmerでは定義した順番に1, 2, 3, …となる
Physical Surface(label) = { 面1, 面2, 面3, …};
GEMμ-PIC
2-8. 物質の立体定義
電場計算の際、比誘電率を与える立体を定義
Elmerでは定義した順番に1, 2, 3, …となる
Physical Volume(label) = { 立体1, 立体2, …};
GEMμ-PIC
Recommended