meshの作成 - Kobe Universityppupic/garfield/3_Mesh.pdf始めの一歩。大きな一歩。...

14
meshの作成 2014/9/25 京大理 髙田淳史

Transcript of meshの作成 - Kobe Universityppupic/garfield/3_Mesh.pdf始めの一歩。大きな一歩。...

meshの作成2014/9/25

京大理 髙田淳史

始めの一歩。大きな一歩。

最初の仕事:

シミュレーションする構造を考え、作る

有限要素法(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 source

sample

manual

User Guide

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でメッシュを切る

1. 単位構造を考える…

目的に応じて、それぞれ考える必要がある

- GEMの枚数は…?

- ガス領域のサイズは…?

等々。

ガス領域の定義も忘れずに。

GEM μ-PIC

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

3. メッシュを切る 端末から

> gmsh ***.geo -3 –optimize –order 2

***.mshというメッシュfileが出力される

3次元 for Elmer