この解析手順を簡単に書くと次のようになります。
入力ファイル | 使用プログラム | 出力ファイル |
---|---|---|
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} |