この解析手順を簡単に書くと次のようになります。
| 入力ファイル | 使用プログラム | 出力ファイル |
|---|---|---|
| object.dat | meg
→→ |
in.dat
g.dat sin.dat move.dat |
| 入力ファイル | 使用プログラム | 出力ファイル |
|---|---|---|
| in.dat
g.dat sin.dat move.dat d3 ib |
femig
→→ |
d.dat
mac2d.dat out |
| 入力ファイル | 使用プログラム | 出力ファイル |
|---|---|---|
| in.dat
g.dat sin.dat d.dat |
review
→→ |
| 入力ファイル | 出力ファイル | |||
|---|---|---|---|---|
| in.dat
g.dat sin.dat move.dat d3 ib |
要素のデータ
外形線のデータ 要素のデータ 積分路のデータ ファイル指定用のデータ 実行時に入力するデータ |
d.dat
out |
磁束のデータ
解析経過のデータ |
|
| 07out
15in.dat 16d.dat 25sin.dat 29move.dat 30g.dat |
| 99
d3 k 0 -1 1 0 0 0 100 |
| melem = 11000 //要素数
mpoint = 10000 //節点数 mdiri = 10 //境界条件数 mnmate = 50 //材料ブロック数 mmmate = 50 //材質数 mband = 200000 //非零要素数 maxnt = 10000 //未知数 maxig = 50 //未知数2 mcoil = 10 //コイル数 idseg = 1000 //積分路線分数 ismax = 20 //積分路 |
データが揃ったら、プログラムを実行します。 実行方法を次に示します。
| /home/students/x4525009/suchikaiseki/femig < ib↓ |
磁束分布を表示ために、以下のコマンドを実行してください。
| /home/students/x4525009/suchikaiseki/review -x ↓ |
このモデルは 上下に対称なので以下のように1/2領域で考え、 境界と分割優先度は図のように与えました。また、
このモデルのobject.datを次に示します。
/* 長さの単位の設定[mm] */
factor = 1000
/* 境界条件 */
bound = line{ 0, 0, 0,200,450,200,450, 0}
/* 形状設定 */
/* 空気 */
fig[6] = box{ 0, 0,450,200}
/* 棒状鉄 */
fig[1] = box{270, 0,280, 50}
/* 馬蹄形鉄 */
fig[2] = arcpoly{150, 0,-50,5,
200, 50, 0,1,
250, 50, 0,1,
250, 40, 0,1,
200, 40, 40,5,
160, 0, 0,1}
/* コイル */
fig[4] = box{165, 0,175, 10}
fig[5] = box{135, 0,145, 10}
/* 材質指定 */
mat[1] = {3000,3000, 0}
mat[2] = {3000,3000, 0}
mat[4] = { 1, 1, 0}
coil = {4, 5.0e+5}
mat[5] = { 1, 1, 0}
coil = {5,-5.0e+5}
mat[6] = { 1, 1, 0}
/* 細分割条件 */
fine[ 5] = box{ 50, 0,400,150}
fine[10] = box{100, 0,350,100}
/* 積分路 */
path[1] = line{260, 0,260, 60,290, 60,290, 0}
|
| rm in.dat* d.dat* g.dat* move.dat*↓ |
/* 長さの単位指定[mm] */
factor = 1000
/* 境界条件 */
bound = box{ 0, 0,350,250}
/* 形状 */
/* - 空気 */
fig[5] = box{ 0, 0,350,250}
/* - F */
fig[1] = poly{100,150,150,150,150,140,110,140,
110,130,140,130,140,120,110,120,
110,100,100,100}
/* - E */
fig[2] = poly{150,150,200,150,200,140,160,140,
160,130,190,130,190,120,160,120,
160,110,200,110,200,100,150,100}
/* - M */
fig[3] = poly{200,150,210,150,225,120,240,150,
250,150,250,100,240,100,240,130,
225,100,210,130,210,100,200,100}
/* -磁石 */
fig[4] = box{100, 90,250, 80}
fig[4] = box{100,160,250,170}
/* 材質指定 */
mat[1] = {1000,1000, 0}
mat[2] = {2000,2000, 0}
mat[3] = {3000,3000, 0}
mat[4] = { 1, 0,-1}
mat[5] = { 1, 1, 0}
/* 細分割条件 */
fine[2] = box{ 50, 50,300,200}
fine[5] = box{100,100,250,150}
/* 積分路 */
path[1] = line{0,155,350,155}
|