「ADVENTURE」タグアーカイブ

ADVENTURE_Solid 並列コア数スケーラビリーティーのテスト

Adventure Solid Ver.2.1による大規模解析モデルを使って、並列計算のCPUコア数スケーラビリティーを調べてみました。
用意した計算機はHPワークステーション Z820 , XEON E5-2680(8core, 2.7GHz, オーバードライブ3.5GHz) x 2, 256GBメモリです。
この計算機をWindows上でCINEBENCHを動かすと、以下のような計算速度となります。
      H/T    OD    CINEBENCH
計算スピード
     Yes    Yes      2038cb
Yes    No       1763cb
No     No       1392cb
(H/Tは ハイパースレッディング有無
、ODはCPUオーバードライブ有無)H/T 、ODの設定により、それなりに計算スピードが変わっていく様子がわかります。
今回のテストの目的は、Adventure Solidで並列計算させるときにCPUコア数スケーラビリティー(CPUコア数に従って、計算スピードが上がってゆくのか)、H/Tの影響を調べることにあります。
計算モデルは、Adventure HPからダウンロード可能なPantheonモデルです。BaseDistanceを20.0に設定してメッシュを作成すると
要素数 : 2522万個
節点数 : 3507万個 (自由度1億オーバー)
のメッシュモデルが出来上がります。このモデルを下面固定、自重による弾性応力計算を行います。
部分領域はCPUコア数にかかわらず、1領域あたりの要素数が312になるように設定しています。
Adventure Solidでは領域分割によるハイブリッド計算のため、1領域あたりの要素数を変えることにより、計算スピード、必要メモリ量が変化します。
詳細はAdventure Solidマニュアルをご覧ください。
並列計算の指定は、mpiexec -n ** advsolid-p で実行しています。
今回のメッシュモデルで標準BDD法繰り返し計算させると、215GBメモリが消費されていました。
Fig.1はH/Tをオフにした場合の計算時間のコア数依存性です。

は、マトリクス組み立てに要した時間、は、マトリクス組み立て+繰り返し計算時間(1×10-6以下で収束打ち切り)です。
このグラフを見ると、いろいろ興味深いことが理解できます。
1.(少なくとも弾性計算では)繰り返し計算よりもマトリクス組み立てに3倍ほどの時間が、かかっている。
2.総計算時間は単純に並列コア数に反比例しない。
3.ODの効果は、このように継続的な計算の場合にも効果がある。
4.グラフには載せていませんが、H/Tをオンにして32コアで計算させると16コアの場合よりも、少なくとも2倍以上の時間が必要でした。
次に繰り返し計算の1繰り返しあたりの時間を、コア数依存でプロットしたグラフがFig.2です。
5.(1繰り返しあたり)計算時間はコア数に応じて逆比例の関係にある。
6.ODの効果は、このように繰り返し計算の場合にも効果がある。
繰り返し計算では、きれいなコア数と逆比例した結果が、得られています。
Adventure Solidの領域分割BDD繰り返し計算では、コア数依存の並列計算スケーラビリティーに優れていることが、明白です。
このことは非線形などの大規模計算では、大きなメリットとなります。
マトリクス組み立て時間については、なぜ並列コア数に比例してスピードが上がってゆかないのか理由ははっきりとわかっていません。
考えられる理由として、領域分割の指定方法が適切でない、あるいは1CPUあたりのマルチコア並列(OpenMP)指定とマルチCPU間の並列(OpenMPI)指定の仕方(すなわちmpiexecのオプション指定)に一工夫必要なのかもしれません。
H/Tをオンにすると計算時間が増えてしなうのは、H/Tをオンにすると各コアの処理能力が異なり、静的負荷分散方式では、能力の高いコアの待機時間が生じてしまうためと推測されます。
プロセス並列動的負荷分散法(Advsolid-h)で、改善される可能性があると思われます。
いやあ、BDDの並列繰り返し計算早いですね。1億自由度超えモデルでも高々、1繰り返しあたり十数秒です。恐れ入りました。

A17_ADVENTURE_on_Windows解析例(4)

立方体の中に円柱を内包する部材の応力解析を行いました。
複合材料を想定して母材はエポキシとし、円柱は炭素繊維としました。

図-1に示すように4つのボリュームに分けないとADV_on_Winではメッシュが切れません(と思ってましたが、この認識は後で間違いであると判明しました。しかしやり掛けたので取り敢えずこの形状で解析を進めます)。青をVolume 0、青緑をVolume1、黄緑をVolume2、赤をVolume3とします。

SolidPcm
図-1 各ボリュームの識別図(この図はMeshman_ParticleViewer_HPCで表示してます)

立方体は1辺が40mm。円柱は、直径が20mm、長さが20mmです。炭素繊維にしては太過ぎますがご勘弁を。

Volume0.gm3dファイルです。1辺が40mmの立方体をY=0の平面で半割にし、負の領域だけ取り出した物に更に半径10mm、長さ10mmの円柱状の刳り貫き(くりぬき)を形成した物です。円柱は正36角柱で近似しております。

box -20 -20 -20  40 20 40
circle 0 -10 0  10 0 0  0 1 0 36
extrude 0 10 0
subtract

Volume1.gm3dファイルです。Volume0.gm3dの2行目と3行目と同じですね。Volume0の刳り貫き部にぴったり嵌る円柱です。繊維と言うには太いですが、例題なのでご勘弁を。

circle 0 -10 0 10 0 0 0 1 0 36
extrude 0 10 0

Volume2.gm3dファイルです。Y=0の平面に関してVolume1.gm3dと対称な形状です。

circle 0 0 0  10 0 0  0 1 0 36
extrude 0 10 0

Volume3.gm3dファイルです。Y=0の平面に関してVolume0.gm3dと対称な形状です。

box -20 0 -20 40 20 40
circle 0 0 0 10 0 0 0 1 0 36
extrude 0 10 0
subtract

こう言う形状データ記述方式は、一見すると大変なのですが、データの修正が本当のCADを操作するより楽だと思います。

新規解析ケース作成に於いては、形状モデルとして「ADV_Cad」を選択します。

基本節点間隔は3mm。

AdvCADファイル選択では、Volume0.gm3d~Volume3.gm3dをこの順序で指定します。この順序以外は試してません。

表面パッチ生成後、メッシュ生成。

生成要素数は、15,081個、節点数は、22,748個。表面形状補正にチェックを入れないとメッシュ生成に失敗します。

物性値を材料ID毎に入力します。

材料ID0と材料ID3はエポキシで同じ材料、材料ID1と材料ID2はカーボン繊維で同じ材料。

エポキシ樹脂のヤング率出典
https://www.kda1969.com/materials/pla_mate_ep2a1.htm
2400MPa

同ポアソン比
https://seihin-sekkei.com/plastic-design/poissons-ratio/
0.33~0.39の平均を取って0.36

カーボン繊維のヤング率出典
http://www.super-resin.co.jp/frp
PAN系は230~550GPa=230,000MPa ~550,000MPa
平均を取って390,000MPa

カーボン繊維のポアソン比出典
http://www.toyobo.co.jp/seihin/kc/pbo/zylon-p/bussei-p/ud.pdf
3-1-2の図より0.29と判断する。

境界条件の設定。

ConstraintOnMinYPlane
図-2 拘束面の選択(面グループ番号=1)
xyzConstraintOnFaceGroup1MinYPlane
図-3 拘束条件(XYZ拘束)
LoadOnMaxYPlane5
図-4 荷重面の選択(面グループ番号=5)

荷重は円柱をY軸方向に引っ張ります。

load1InPlusYOnFaceGroup5
図-5 荷重条件(+Y方向に1MPa)
BCinCndFormat
図-6 境界条件リスト

炭素繊維の方がエポキシより硬いので、Y=最大値の面のY変位は真ん中が窪みます。

DispY
図-7 Y変位(0~0.0152mm、拡大率=753倍)

外表面には最大応力点は有りません。

MisesStress_01
図-8 ミーゼス応力(0.0953~5.55MPa)
MisesStressOnMidY
図-9 ミーゼス応力Yの真ん中辺の断面図(Meshman_ParticleViewer_HPCによる表示)

2つの材料の境界で応力が高くなっています。

MisesStressSectionOnMidXplane
図-10 ミーゼス応力Xの真ん中辺の断面図(Meshman_ParticleViewer_HPCによる表示)
MisesStressOnMidZ
図-11 ミーゼス応力Zの真ん中辺の断面図(Meshman_ParticleViewer_HPCによる表示)

Meshman_ParticleViewer_HPCだと図-12のようにエポキシを除去したコンター図の表示も可能です。

MisesCylinderOnly
図-12 ミーゼス応力円柱のみ(Meshman_ParticleViewer_HPCによる表示)
MaxMisesStress
図-13 最大ミーゼス応力点(Meshman_ParticleViewer_HPCによる表示、ピンクの点)
StressYY_01
図-14 応力-YY成分(拘束面に分布有り、-0.0291~4.17MPa)

最大主応力は、応力-YY成分と似てます。やはり応力分布の傾向は主応力を見なくてはいけません。

MaxPrincipalStress
図-15 最大主応力(0.0763~4.39MPa)
MidPrincipalStress
図-16 中間主応力(-2.35~1.32MPa)
MinPrincipalStress
図-17 最小主応力(-2.80~0.914MPa)

A16_ADVENTURE_on_Windows解析例(3)

鏡板の無い円筒圧力容器の解析をしてみます。単位系はN-mm系を想定しています。

円筒の内半径は200mm、外半径は201mm。つまり肉厚は1mmです。高さは250mmとしました。円を正36角形で近似しました。

sheet 4  200 0 0  201 0 0  201 0 250  200 0 250
revolve 0 0 0  0 0 10 36

 

基本節点間隔は、25mmです。節点数1,728、表面三角形要素数3,456です。寸法の範囲は、(-201, -201,0)-(201,201,250)。基本節点間隔次第では一様なメッシュが出来ます。

fig1_pcm_surfacePatch2
図-1 表面パッチ(Meshman_ParticleViewer_HPCで表示)

そのままでメッシュ分割をすると要素が細かく成り過ぎるので、メッシュ作成時に「表面形状を補正する」にチェックをせずにメッシュを切ります。補正を止めるとアルゴリズムの頑健性が落ちますが元の形状や表面のメッシュの模様も維持されます。メッシュ生成に失敗する時には、チェックを入れると良いでしょう。

要素数5,472、節点数10,656の四面体二次要素が作成されました。

ヤング率は200,000MPa、ポアソン比は0.3としました。

ここ迄来て、対称性を利用して解けば良かったと気付きましたが、構わず進めます。境界条件の設定が少し難しくなります。

自由に半径方向に伸び縮み出来るようにする為、拘束を緩めに設定します。

Node8Selected2
図-2 節点8(0,-201,0)を選択中

拘束節点を選択する時に節点座標値が分からない為意図した節点がどうか分からない問題が有りました。AdvOnWinに機能追加をしました。図-2で見て分かるようにステータスバーを新設して、ピックした節点と面グループの情報を表示するようにしました。これで意図した節点をピックしやすくなります。Ver. 0.44bとしてリリースしようと思います。

節点8(0,-201,0)を選択中
図-3 節点8の拘束条件(XYZ方向)

これで3つの並進剛体モードを拘束しました。

Node26Selected
図-4 節点26(0,201,0)を選択中
ConstraintXzOnNode26
図-5 節点26の拘束条件(XZ方向)

これで、X軸回りとZ軸回りを拘束しました。

Node35Selected
図-6 節点35(201,0,0)を選択中
ConstraintZonNode35
図-7 節点35の拘束条件(Z方向)
faceGroup0Selected
図-8 面グループ0を選択中

剛体モードを拘束する拘束条件が分かり難いので、別に説明図を作成しました。

allConstraints
図-9 全ての拘束条件

節点8のZ方向と節点26のZ方向でX軸回りの回転を拘束します。節点8のX方向と節点26のX方向でZ軸回りの回転を拘束します。
節点8のZ方向と節点35のZ方向でY軸回りの回転を拘束します。

勿論剛体モードを止めるたけの拘束方法は1通りだけではありません。

荷重は内圧としました。

internalPressure
図-9 内圧条件(0.2MPa)

全ての境界条件をテキストで表示します。境界条件設定用の3D画面(BCAgent Ver.0.43bと言うタイトルの画面です)において情報(I)>境界条件(B)を選択します。

MenuShowCnd
図-10 全ての境界条件をテキスト表示するメニュー項目

図-11が表示されます。これは実はcndという拡張子で保存される境界条件ファイルをテキスト表示しただけです。

bcCnd_2
図-11 全境界条件のテキスト表示

内圧p[MPa]を受ける薄肉円筒の周方向応力の理論解。

$$\sigma_\theta =\frac{a}{t}p$$

但し、a:内半径、t:板厚。

実際の値を入力すると、

$$\sigma_\theta =\frac{200}{1}0.2=40.$$

出典:日本機械学会計算力学技術者認定事業標準問題集1 計算力学技術者2級第9版(2016/07/31)付録6.2節。

MaxPrincipalStressEqualHoopStress
図-12 最大主応力(周方向応力)37.5MPa~43.5MPa

誤差は-6.3%~8.8%です。少し大きいですね。図-12にZの端に近い方に赤や青の集中部が見えてますが、本来これは無い方が良いですね。図-1の表面パッチと見比べるとメッシュが一様分割では無い事が原因のようです。

円に内接する正36角形で円を近似しているので、周の実際の長さLは

$$L =2nasin(\frac{\pi}{n})$$

ここでn:角数、a:内半径。

真の周は1257mm、36角形の周は1255mm。よって圧力が0.1%本当より高く加わるので、正確には割り引く必要が有ります。差が少ないのでここでは割引計算は省きます。

DispX
図-13 X方向変位の分布(-4.08e-2~4.21e-2)

内圧p[MPa]を受ける薄肉円筒の内半径の増加量の理論解。

$$\delta a =\frac{a^2p}{tE}$$

但し、a:内半径[mm]、t:板厚[mm]、E:ヤング率[MPa]、p:内圧[MPa]。

実際の値を代入すると、4.e-2[mm]です。誤差は-2%から+5%です。

 

DispY
図-14 Y方向変位の分布(-1.58e-3~8.15e-2)

Y方向の場合は、理論解は同じ筈ですが、計算値はX方向変位と随分値が違いますね。理由は自分で考えてみて下さい。

次はZ方向歪です。

StrainZz
図-15 歪zz(-6.13e-5~-5.81e-5)

内圧p[MPa]を受ける薄肉円筒の軸方向歪の理論解。

$$\epsilon_{zz} =-\nu\frac{ap}{tE}$$

実際の値を代入すると、6.e-5[mm]です。誤差は-2.1%から+3.2%です。

A15_ADVENTURE_on_Windows解析例(2)

ADVENTURE_CADを利用して形状作成をして応力解析をしたのでご紹介します。

使用したADVENTURE_on_Windowsのバージョンは先日公開されたVer. 0.43bです。

使用したマシンの仕様は、以下です。
CPU:Intel® Core(TM) i5-7200U @2.50GHz 2.70GHz
OS:Windows 10 64bit
メモリ:DDR4-2133

解析ケース名:ellipticalShellTension.iag
形状記述ファイル名:ellipticalShell.gm3d
注意:単位は特に指定しないので、暗黙の了解です。

形状の特徴:
空洞が有る。
回転体である。真円では無く、正12角形。

sheet 10  0 0 0  0 0 1  4 0 1  6 0 3  4 0 5  0 0 5  0 0 6  4 0 6  7 0 3  4 0 0
revolve 0 0 0  0 0 10 12

1行目で10点から構成されるスケッチ(2Dの閉じた区分直線)を記述します。sheetがラベル、10が点数、その後にxyz座標値が10個続きます。次の行でz軸を回転軸としているのですが、xの値が零を跨がないように気を付けます。yの値は全て零としています。


図-0 sheetコマンドで作成した2D形状図

2行目で回転操作をします。revolveがラベル、その後に回転軸を構成する2点を記述し、最後に正何角形で近似するかという角数を指定します。

節点間隔:0.5mm

を指定しました。粗密分布は四面体要素を切る時は、利用出来ますが、表面パッチを作成する時には基本節点間隔以外は無視されます。

要素数 13,303
節点数 24,344

でした。

ヤング率:200,000MPa
ポアソン比:0.3

としました。

境界条件面認識パラメータ:デフォルト値
拘束:z=最小値の面をxyz拘束
荷重:z=最大値の面をz方向に+1Pa

領域分割パラメータ:デフォルト値
ソルバーパラメータ:デフォルト値
表面パッチ生成時間:1秒未満
四面体二次要素生成時間:11秒
領域分割計算時間:1秒未満
ソルバー計算時間:3秒
メモリ使用量:
ケースデータ保持:+0.1GB
四面体二次要素生成時:+0.1GB
ソルバー実行時:+0.1GB
可視化表示時:+0.1GB

結果を示します。


図-1 z方向変位、拡大率413倍


図-2 相当応力(節点)、z上方斜めから


図-3 最小主応力


図-4 最大主応力


図-5 相当応力(節点)、z下方斜めから


図-6 相当応力(節点)、Meshman_ParticleViewer_HPCを使用した断面図

 

A14_ADVENTURE_Magnetic_On_Windows テスト(3)

4.ParaViewデータ表示
計算の終わったデータを可視化します。
可視化ソフトはParaView、およびParticle Viewerを使います。最初はParaViewです。
ParaViewは大規模データの可視化を目的とした、オープンソースソフトウェアです。
FEMとの相性も良く、任意の断面表示、変形図、グラフ化など多彩なポスト処理が可能です。
http://www.paraview.org/
のホームページからプログラム、マニュアルのダウンロードが可能です。
日本語のチュートリアルなども、いろいろ公開されているので、インターネットで検索、参考にしてください。
4.1.ParaViewインストール
ParaViewホームページから適当なOS用プログラムをダウンロードし、インストールします。
インストールに関しては、特に注意することはありません。
4.2.ParaViewデータ読み込み
ParaViewを立ち上げ、メニューバーの「File」→「Open」コマンド()で、ADVENTURE_Magnetic_On_Windowsで計算し、ParaView用データとして保存していた”res.vtu”を開きます。
ParaViewのウィンドー配置は自由に設定できるので、上図と必ずしも同じようなウィンドー配置になっている訳ではありませんが、Pipeline Browser、Properties/Information、Layout #1ウィンドーが見えているはずです。
Pipeline Browserでは、データに施したフィルタリング等の経歴、および各処理結果の可視化が選択できるようになっています。
今はres.vtuデータの可視化が行われていることが、わかります。
Propertiesウィンドーの「Apply」ボタン()をクリックします。CADモデル、Air領域のソリッド図が、上図のようにLayout#1に表示されます。
4.3.ParaViewデータ可視化
Toolbarの”Solid Color”と表示されているコマンドウィンドー()右の”▼”をクリックし、”Magnetic Flux Density”を選択します。
“Magnitude”は絶対値強度表示であることを表しています。X, Y, Z成分表示も可能ですが、とりあえず”Magnitude”のままにしておきます。
“Surface”はCADモデル最外面の値を色表示します。こちらも、とりあえず”Surface”のままにしておきます。
Layout#1ウィンドーのモデルを、マウス左ボタン押ししながらマウス移動させて、モデルの表示角度を決めます。
Toolbarの「Rescale to Custom Data Range」ボタン()をクリックして、表示データ範囲を決めます。
最初はプログラムが最小値、最大値を探し、表示範囲を自動的に決めています。
筆者の場合、最小値”6.60102e-8″、最大値”0.135178″でしたが、最小値に”0.0″、最大値に”0.001″を入力、「Rescale」ボタン()をクリックします。
モデル最外面の一部が、赤く表示されます。
後はParaViewに慣れていただき、気にいるように可視化させる、ということになるのですが、もう一表示例を挙げておきます。
先ほどの状態からtoolbarの「Glyph」ボタン()をクリックします。
ParaViewにはデータ処理のための、様々なフィルターが準備されています。
Menu bar「Filter」→「Alphabetical」にマウスポインタを移動させると、インストールされているフィルタが表示、実行させることが出来ます。
また必要であれば、各自でフィルタをプログラミングして、ParaViewから呼び出すことも可能です。
「Glyph」はフィルタの一つで、磁束の流れ、強度を矢印で可視化させることが出来ます。
「Glyph」ボタン()をクリックすると、Pipeline Browse”に”Glyph1″という表示が追加され、データ処理に移ることがわかります。
Propertiesウィンドーの「Apply」ボタン()を、クリックすると処理が行われます。
モデル最外面データと重なって見難いので、最外面データを見えないようにします。
Pipeline Browserの「res.vtu」左側の眼印()をクリックし、最外面データを消します。
矢印の大きさが少し大きく見難いので、少し小さくしてみます。
Propertiesウィンドー「Scaling」項目、Scale Mode「off」→「Scalar」を選択します。
Scale Factorに入力されている数字を”0.01500…..”→”0.007″と入力し直し、「Apply」ボタン()をクリックします。
矢印の長さを磁束密度強度に比例させて、表示させることも出来るのですが、今回は矢印の色で強度を表すことにします。
Toolbar「Rescale To Custom Data Range」ボタン()をクリック、最大値を”0.001″と入力、「Rescale」ボタン()をクリックします。
これで強度の強い部分の矢印が赤くなり、磁束の流れ、強度が可視化できました。

いかがでしょうか?

A13_ADVENTURE_Magnetic_On_Windows テスト(2)

この回では、前回のデータセットを使って解析を進めてゆきます。
解析手順はAdvMagOnWinマニュアルにも詳細な手順が記載されています。そちらも御参照ください。
3.解析
プログラムをスタートさせた後、新規解析ケースを作成します。メニューウィンドーの「ファイル(F)」→「新規解析ケース作成(N)」を選択します。
現在の解析ケースを保存するか聞いてきますが、「いいえ(N)」を選択します。解析ケースの作成ウィンドーが開き、「次へ」を選択します。
解析するジャンルは、「電磁界解析」で変更せず、「次へ」を選択します。
解析するより細かいジャンルは、「非線形静磁界解析」で変更せず、「次へ」を選択します。
モデル形状のファイルタイプは、「IGES」、「四面体1次辺要素」で変更せず、「次へ」を選択します。
3.1.メッシュ作成
3.1.1.CADモデルの選択
DataSet2.zipを適当なフォルダーに解凍します。
soft.ptn, magnet.ptn, coil.ptn, air.ptn, al.ptn, coil.dat, magnet.dat, material3.dat, magnet.igs, soft.igs, al.igs, coil.igs, air.igs, bh_curveのファイルが出来ているはずです。
メニューウィンドーの「メッシュ(M)」→「IGESファイル選択(I)」を選択します。
IGESリスト ウィンドーが開きますので、「追加」ボタンをクリックします。
ファイル読込ダイアログが表示されるので、解凍したigsファイルを5個順番に「追加」ボタンで追加し読み込んでいきます。
5個のファイルを読み込むとIGES読込ウィンドーの「OK」ボタンをクリックします。
3.1.2.節点密度の設定
次に「メッシュ(M)」→「節点密度設定(D)」を選択します。節点密度設定ウィンドーが開きます。
節点密度の指定方法は幾つかありますが、ここではptnファイルを使って設定します。
節点密度設定ウィンドーの「ファイル」ボタンをクリックし、解凍した適当なptnファイルを選択します(どの解凍ptnファイルも内容同じなので、どれでも可です)。
ファイルの読み込みに成功すれば、基本節点間隔が0.006に変更されているはずです。成功すれば「OK」ボタンをクリックし設定終了です。
3.1.3.表面パッチの作成
CADデータから表面パッチを作成します。「メッシュ(M)」→「表面パッチ作成(P)」を選択します。
表面パッチ作成ウィンドーが開くので「OK」ボタンをクリックすると、表面パッチの計算が始まります。
3.1.3.メッシュの作成
次はメッシュの作成です。「メッシュ(M)」→「メッシュ作成(M)」をクリックします。
メッシュ作成ウィンドーが開きます。ウィンドー内の「表面形状を補正する」のチェックは入れたままで、「OK」ボタンを押すとメッシュ作成が始まります。
計算はしばらく続き、完了すると総要素数、および総節点数が報告されます。筆者の場合、要素数64125、接点数92093でした。「OK」ボタンクリックします。
3.2.解析条件の設定
3.2.1.物性値の設定
Al材はLinux版 渦電流解析をテストするため定義してありますが、Windows版では未だ渦電流解析がサポートされていないので、その他領域と定義します。
air材も磁気抵抗率=795774.7の、その他領域と定義します。
magnet材は永久磁石領域と定義します。
soft材は磁性体領域と定義します。
coil材はコイル領域と定義します。
初期値は適用ボリュームID=0から4までが、磁気抵抗率=795774.7の物性ID=1に定義されています。
これを順番に追加、修正してゆきます。
どの材料が、どの適用ボリュームに設定されているかは、「メッシュ(M)」→「IGESファイル選択(I)」をクリックすることで確認できます。
筆者の場合、air.igs, al.igs, coil.igs, magnet.igs, soft.igsの順にファイルを追加したので、airはボリューム=0、alはボリューム=1、coilはボリューム=2、magnetはボリューム=3、softはボリューム=4に設定されています。
物性値は「解析(A)」→「物性値設定(M)」→「電磁界解析」を選択します。物性データの設定ウィンドーが開きます。
適用ボリュームIDは、選択したIGESファイルの順番に従って、0から4に設定されます。
物性データの設定ウィンドーの物性ID=1の行をクリックすると物性の変更ウィンドーが開きます。
まずcoil材の物性値を設定してみます。左側の「物性の種類」を「その他」から「コイル」に選択しなおします。
「コイル」の設定欄が有効になり、「コイル」の「定義方法」を「RF」から「MD」に変更します。「定義ファイル」は解凍したcoil.datを選択します。
「適用するボリューム」は、筆者の場合、coilはボリューム=2でしたので、「2」に変更します。
「OK」をクリックして物性データの設定ウィンドーに戻ります。
次に磁性体の物性値を設定します。「物性の追加」をクリックします。
物性の追加ウィンドー左側の「物性の種類」を「磁性体」を選択し、物性値の設定欄 磁気抵抗率=757.1、磁性体の定義ファイルに解凍したbh_curveファイルを選択、適用するボリューム=4と入力し「OK」をクリックします。
これで物性ID=1のコイル、ID=2の磁性体が定義されました。
さらに「物性の追加」をクリックします。
物性の追加ウィンドー左側の「物性の種類」を「永久磁石」を選択し、物性値の設定欄 磁気抵抗率=795774.7、「定義方法」を「MD」選択、「定義ファイル1」を解凍したmagnet.dat選択、適用するボリューム=4と入力し「OK」をクリックします。
さらに「物性の追加」をクリックします。
物性の追加ウィンドー左側の「物性の種類」を「その他」を選択し、物性値の設定欄 磁気抵抗率=795774.7、適用するボリューム=0,1と入力し「OK」をクリックします。
以上で領域ボリューム0から4の材料に物性ID=1から4が設定されました。「OK」をクリックします。
3.2.2.境界条件の設定
「解析(A)」→「境界条件設定(B)」を選択します。
境界条件設定ウィンドーが開き、バッチ識別分解能を角度で設定できるようになります。今回は修正せず、このまま「OK」をクリックします。
境界条件設定画面が起動します。
画面では以下のようにモデルを操作します。
*回転 : ホイールボタン(中ボタン)を押しながらマウスを動かすと、モデルが回転します。
*平行移動 : マウスの左ボタンを押しながらマウスを動かすと、モデルが平行移動します。
*ズーム : 右ボタンを押しながらマウスを上に動かすとズームアウト、下に動かすとズームインします。
*節点の選択 : マウスで希望の節点をクリックすると、節点を選択できます。選んだ節点には(ちょっと見にくいですが)黒い四角が表示されます。
*面の選択 : 節点を選択した状態で右クリッすると、節点が所属する面を選択できます。右クリックを続けると、次の面が選択状態になります。
今回の解析では、初期画面の全面にベクトルポテンシャル法線方向ベクトルポテンシャル成分を0に定義します。
上面に属する節点・面を選択します。下図のようになってるはずです。
境界条件設定ウィンドーの「BC」→「BC(Magnetic)」→「Add Magnetic Vector Potentia」を選択します。
「Normal」にチェックを入れ「OK」をクリックします。
同じくした他の面も節点・面を選択、ベクトルポテンシャル「Normal」を選択します。
境界条件の設定が終了したら、境界条件を確認してみます。境界条件設定ウィンドー「View」→「Boundary Condition」→「Cnd format」を選択すると確認できます。
確認ウィンドー「OK」をクリックします。
境界条件設定ウィンドー「File」→「Quit」をクリックすると確認ウィンドーが表示されますので、「OK」をクリックすると、条件が自動保存され設定が終わります。
3.2.3.ソルバー入力ファイル作成
続いて、「解析(A)」→「ソルバー入力ファイル作成(C)」を選択し、入力ファイル作成ウィンドー「OK」をクリックし、作成を行います。
3.3.解析実行
3.3.1.領域分割
領域分割の詳細説明については、マニュアルをご参照ください。
「解析(A)」→「領域分割(D)」を選択すると、領域分割ウィンドーが開きます。
初期条件から変更せずに「OK」をクリックします。
3.3.3.ソルバーの実行
解析計算を始めます。「解析(A)」→「ソルバー実行(R)」を選択すると、ソルバー実行ウィンドーが開きます。
ソルバー実行オプションの詳細については、マニュアルを参照ください。
今回は初期条件から変更なしに、実行してみます。
「スタート」をクリックすると計算が始まります。
計算中は、どのような計算状態にあるのかわからないため若干不安になりますが、じっと待ちます。
約10分ほどで計算終了します。
3.4.解析データの書き出し
解析結果は、AVS、ParaView、Meshman_ParticleViewer_HPCといった可視化ソフトウェアでチェックすることができます。
まず解析結果をParaView可視化データファイルに書き出してみます。
「解析(A)」→「解析結果のエクスポート」を選択すると、解析結果のエクスポートウィンドーが開きます。
出力する物理量として「磁束密度」、「電磁力」、出力形式として「VTK形式(ParaViewなど)」にチェックを入れます。
出力フォルダを指定して「OK」をクリックします。
3.5.AdvMagWinの終了
これでAdvMagWinの操作は終了です。
「ファイル(F)」→「解析ケースの保存(S)」で解析ケースを保存することが出来ます。後日解析条件などを変えて、再実行する場合便利です。
「ファイル(F)」→「終了(X)」で終わります。
次回は、解析データを可視化ソフトで見てゆくことにします。

A12_ADVENTURE_Magnetic_On_Windows テスト(1)

久しぶりにブログへの掲載を再開します。
ADVENTUREを動かすうえでの、課題の一つがLinuxでしか動かせないという制約です。
オープンソースの解析プログラムなので、Windows上にも容易に載せ替え出来そうにも思えますが、実際は困難を極めます。
それでも、なんとかWindows上で試せるように、制限はありますが、ADVENTURE_sold、およびADVENTURE_Magneticの移植が行われ公開されてきました。
最近、Microsoft社よりWindows Subsystem for Linux (WSL)が、64bit版Windows10に正式に導入されました。
WSLを使ってWindows上でも、ADVENTUREを走らせるれる可能性が出てきました。
ただしグラフィックスの問題、OpenMP上の並列計算が可能か、など懸念点があり一筋縄ではいかないようにも感じています。
筆者もWSL/OpenSUSE環境を構築し、ADVENTUREのテストを行おうと準備中です。
こちらについても後日、紹介してゆきたいと思います。
さて今回はADVENTURE_Magnetic_On_Windowsによる、サンプルデータ解析手順を紹介しようと思います。
ADVENTURE_Magnetic_On_Windowsは、Linux版ADVENTURE_Magneticに比べて、渦電流解析ができない、並列計算が出来ないなど、subset版との位置づけにはなります。
しかし取り扱いデータ、および出力データはLinux版とコンパチビリティーが取れています。非線形計算は可能です。
まずWindows版で磁場解析を試してみたい、という要求には答えることが出来ます。
また使用者が増え、ユーザーの声がADVENTUREプロジェクトにフィードバックされれば、渦電流解析を含むWindows版フルセットの開発を後押しする力となります。
ぜひ多くの皆さんに試していただきたいと思います。
1.ADVENTURE_Magnetic_On_Windowsのインストール
ADVENTURE_Magnetic_On_WindowsはADVENTUREプロジェクトのHP(http://adventure.sys.t.u-tokyo.ac.jp/jp/)に行き、ユーザー登録することで無償ダウンロード可能です。
配布ファイルサイズは、約175MBです。
配布されているzipファイルを任意のフォルダー下に展開します。
AdvMagOnWin-0.1bという名前のフォルダーが、展開フォルダーの下に作られます。
AdvMagOnWin-0.1bフォルダーの下にadvmagonwin.batファイルがありますので、そのファイルをダブルクリックするとプログラムが走り出します。
Fig.1のような開始ダイアログウィンドーが開くので、スタートボダンを押します。

スタートボタンを押すとFig.2のようにメインウィンドー、メッセンジャーウィンドー、手順ガイドの3つのウィンドーが開き準備完了となります。

プログラムは、毎回advmagonwin.batをダブルクリックして起動させます。
2.テスト解析CADデータ
ADVENTURE_Magnetic_On_Windowsには、残念ながらCAD機能が備わっていません。一般商用CADソフトで出力されたCADファイルを、ADVENTUREに使えるようにする方法を考慮中です。
現状取り扱えるCADデータは、Ver5.3準拠IGES形式です。
Linux版ADVENTUREプログラムと同じく複数材料のデータを取り扱う場合、接した面を同一形状、同一位相にしておく必要があります。
取り扱いCADデータについては、AdvTriPatchプログラムのマニュアルをご参照ください。
データはMKS単位系で作成してあります。結果もMKS単位系で出力されます。
ここではFig.3のようなデモ用CADファイルを使って、テスト行っていきます。

向かって右側の黄色い棒が、コイル(coil.igs)で上下方向に電流を流します。
青色棒は軟磁性体(soft.igs)です。赤色棒は永久磁石(magnet.igs)。コイル、軟磁性体、永久磁石の裏側に灰色の導電材料板(al.igs)が位置しています。
Windows版では渦電流解析がサポートされていないので、無用な導電板ですが、Linux版でコイルに交流電流を流すと、この導電板に渦電流が流れます。
これらの周りは大気(air.igs)で覆われています。
データは2016年9月18日に公開されていますが、再載しておきます。ファイル名DataSet2.zipです。
DataSet2
デモデータは実用的には、特に意味の無いモデルですが、Linux版を含めたADVENTURE_Magneticの全てのオプション計算が試せるようになっています。
次の回は、このデータセットを使って解析を進めてゆきます。

A09_第11回ADVENTURE定期セミナー

第11回ADVENTURE定期セミナーが本年6月23日(金)10時より東京大学本郷キャンパスにおいて開催されます。奮ってご参加下さい。

————————————————————————
第11回ADVENTURE定期セミナーのご案内
- ADVENTURE Windows版、バイナリーリリース、及びメッシング等ご紹介 -
————————————————————————

●ADVENTUREプロジェクトとADVENTUREシステムについて

ADVENTUREプロジェクトは、ライセンスフリーかつオープンソースの大規模並
列CAEシステムADVENTUREの保守・開発・無料公開を行っている産学連携プ
ロジェクトです。
E-mail : adv-info@save.sys.t.u-tokyo.ac.jp URL : http://adventure.sys.t.u-tokyo.ac.jp/jp/

ADVENTUREシステムは、本年8月でプロジェクト開始から丸20年を迎えようと
しております。2002年3月のVer.1の公開以来、2017年3月21日までの登録ユー
ザー総数9,301名、ダウンロードされたモジュール総数は42,070本に達し、産
官学等、各種計算科学プロジェクトでの利用事例も増え、社会に着実に浸透
してきています。最近では、ポスト「京」重点課題⑥「革新的クリーンエネ
ルギーシステムの実用化」プロジェクトの中核アプリケーションの一つとし
て、さらなる機能向上を目指した研究開発が進められています。また、ADVE
NTUREシステムの商用バージョンADVENTUREClusterも、産業界や様々な国家プ
ロジェクト等で活用されています。

●本定期セミナーの趣旨
今年に入り、03月01日にWindows用電磁界解析用統合モジュール
ADVENTURE_Magnetic_on_Windowsが公開されました。又近い内に、ソルバモジ
ュールを中心とする7種のモジュールのLinux及びWindows用のバイナリが公開
される予定です。

今回の開催の趣旨は、「ADVENTUREの更なる飛躍」としたいと思います。
先ずWindows版はダウンロード数の実績を誇っておりますので、それについて
4コマを割きます。続いてCAD I/Fとメッシュ生成について情報提供を致しま
す。更にLinuxも含めたバイナリ公開の内容についてご説明致します。

その後、昨年より開始された所謂ポスト京プロジェクトの重点課題⑥におけ
るADVENTUREの開発について講演致します。

最後に招待講演はADVENTURE_Fluidの橋梁の塩害予測への適用事例のご紹介で
す。

尚、セミナー後に場所を変更して有料懇親会を予定しております。

●日 時: 2017年6月23日(金)10:00 – 17:15
●場 所: 東京大学 工学部8号館 地下1階 85講義室
(東京都文京区本郷7-3-1 )
http://www.u-tokyo.ac.jp/campusmap/cam01_04_09_j.html
●共 催: ADVENTUREプロジェクト、日本計算力学連合(JACM)、
株式会社インサイト

●参加資格:どなたでも参加できます。日本計算力学連合会員、非会員の区別
はありません。

●受講料:
15,000円 (一般)
5,000円 (学割)
懇親会は1,000円

●申込方法:
●締め切り:
定員30名になり次第

●申 込 先:
下記のフォームに必要事項を記入の上、ADVENTURE定期セミナー事務局(株式会社
インサイト内)まで、メールでお申し込み下さい.

●宛先 :
advseminar@meshman.jp

件名:
「第11回ADVENTURE定期セミナー」参加申し込み

+++++++++++++++++< 参加申し込みフォーム ここから >++++++++++++++++
ふりがな:
氏 名:
所属機関:
所属部署:
役 職:
所 在 地:〒
E-mail :
電話番号:
参加区分:
セミナー ○×
懇親会 ○×
今後の案内メール(複数回答可):
(a)定期セミナーのみ希望
(b)ADVENTURE全般について希望
(c)インサイトの製品・サービスについて希望
(d)希望しない
+++++++++++++++++< 参加申し込みフォーム ここまで >++++++++++++++++
(記入頂いた個人情報はセミナーの運営管理とアフターフォロー、希望された情
報発信の目的以外で使用することはありません)

——————————————————————-
●プログラム:
——————————————————————-
(1) 10:00-10:10 開会の挨拶
ADVENTUREプロジェクトリーダー
東京大学大学院工学系研究科 教授 吉村 忍

(2) 10:10-11:00 ADVENTURE_Magnetic_on_Windowsの開発
諏訪東京理科大学システム工学部 助教 杉本 振一郎

(3) 11:00-11:50 ADVENTURE_Magnetic_on_Windows Ver.0.1bの実際
株式会社インサイト技術開発部 技術開発部員 淀 薫

11:50-13:00 昼食

(4) 13:00-13:20 ADVENTURE_on_Windowsの現状と開発について
株式会社インサイト 代表取締役 三好 昭生

(5) 13:20-14:00 ADVENTURE_on_Windows Ver.0.42bの実際
株式会社インサイト技術開発部 技術開発部員 中村 伸也

(6) 14:00-14:50 ADVENTUREのCAD I/Fとメッシング
株式会社インサイト技術開発部 技術開発部員 淀 薫

(7) 14:50-15:10 ADVENTURE_Solid 2.0 FS版等のバイナリ公開について
株式会社インサイト技術開発部 技術開発部員 淀 薫

15:10-15:30 休憩

(8) 15:30-16:10 ポスト京プロジェクトにおけるADVENTUREの開発について
ADVENTUREプロジェクトリーダー
東京大学大学院工学系研究科 教授 吉村 忍
[招待講演]
(9) 16:10-17:10 コンクリート橋梁の塩害劣化予測プロジェクトにおけるADVENTURE_Fluid
等の利用について
琉球大学 准教授 富山 潤

(10) 17:10-17:15 閉会の挨拶
東京大学大学院工学系研究科 教授 吉村 忍