「Windows版」カテゴリーアーカイブ

【オンライン開催】CAE技術者の為の「XGBoostによる回帰分析」「ADVENTURE_on_Windowsを用いた回帰分析」9/11

株式会社インサイトのデータサイエンス勉強会
<開催回数120、参加者数述べ360名>

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆◆【オンライン開催】
  CAE技術者のためのデータサイエンス勉強会
  『XGBoostによる回帰分析』
  『ADVENTURE_on_Windowsを用いた回帰分析』
◆◆
━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【日時】9月11日(金)
     …………………………………………………………………
     午前■9:40-14:10(オンライン集合9:35)
              (12時~休憩1時間)
       『XGBoostによる回帰分析』
     …………………………………………………………………
     午後■14:30-18:00(オンライン集合14:25)
       『ADVENTURE_on_Windowsを用いた回帰分析』
     …………………………………………………………………
【参加費】 各4,000円
      1テーマのみの参加可能です。

【定員】 各15名

【内容】 ■『XGBoostによる回帰分析』
   XGBoostは一言で言えばテーブルデータの回帰(分類)に有効
   な技術です。テーブルデータは、即ちCSV(エクセル)の
   データと考えれば良いです。多次元の説明変数と1個の目的
   変数が有る時、それを学習する技術です。
   現在Kaggleで知られている機械学習のコンペにおいて上位
   入賞者が使用している回帰/分類技術として脚光を浴びてい
   ます。従来、KaggleはIT系のデータサイエンティストに
   のみ関係する世界だと考えられていましたが、サロゲート
   モデルを作成する上でKaggleで有効な技術は十分使える
   ようです。
   XGBoostを習得して行く事が今後CAEの世界でも必須と
   なるであろうと思われます。

     ・決定木、分類木、回帰木について(決定木の復習)
     ・アンサンブル学習(特にブースティング)の概要
     ・勾配降下法(GBDT)の概念とアルゴリズム
     ・XGBoostパラメータ
     ・ケーススタディ  等

     ………………………………………………
     ■『ADVENTURE_on_Windowsを用いた回帰分析』
   現在日常生活や、報道等で、人工知能やAIと言う言葉を
   聞かない日は有りません。CAE技術者にも、今後はデータ
   駆動型の技能や知識が求められる事は、時代の趨勢から
   見て明らかだと言えます。また、その事はCAEを用いた
   パラメトリックスタディや結果分析等において、機械学習
   や統計学を活用する事を指します。未だ、CAE技術者の
   資格試験の分野として、採用されてはおりませんが、海外
   では既にUncertainty Quantificationと言う分野が
   CAEの中で確立されており、Wikipediaの見出し語にも
   その名が見えます。
   本講習会では、CAEの中に機械学習を導入する事の事例を
   ご紹介致します。CAEソフトとしては、誰でも入手可能な
   オープンソースソフトである、Adventure_on_Windowsを
   使用します。
     (https://adventure.sys.t.u-tokyo.ac.jp/jp/)
   尚、本講習会は座学のみとさせて頂きます(講師による
   デモの紹介有り)

    ・レベル1:ADVENTUREについて
    ・レベル2:ADVENTURE_Solidについて
    ・レベル3:ADVENTURE_on_Windowsについて
    ・レベル4:PythonによるAdvOnWinの自動実行
    ・レベル5:PythonによるAdvOnWinの弾塑性解析
    ・レベル6:Pythonによる弾塑性解析のパラメトリック
         スタディ
    ・レベル7:Pythonによる弾塑性解析の回帰分析
          途中XGBoostの解説

*弊社はADVENTURE(ADVanced ENgineering analysis Tool for Ultra large REal world)、正式名称:設計用大規模計算力学システム開発プロジェクト、の開発メンバーです。
   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【お申込み】Connpassのサイトよりお申込みください。
  ※テキスト事前郵送のため
   4日前までにお申込みください。

【お願い】
・Zoom又はYouTubeライブ配信、不可能な場合はご相談下さい。
・1台のパソコンからの参加は1名のみです。
・テキスト準備後のキャンセルは受け付けておりません。
・勉強会の録画・録音・撮影、および資料の2次利用、
 詳細内容のSNSへの投稿は固くお断りいたします。
   ※ 尚、同業他社様のご参加はご遠慮頂く場合があります。
    お支払い前にお問合せください。

【テキスト】資料を事前に無料で郵送します。
      PPT4ページを1枚にコピーしたものです。
  *フルサイズの簡易製本版も販売しております。
   サンプル
   詳細

◇◇━━━━━━━━━━━━━━━━━━━━━━━━━
       株式会社インサイト
     [お問合せ]info@meshman.jp
━━━━━━━━━━━━━━━━━━━━━━━━━◇◇

【オンライン】CAE技能講習会  『CAE技能講習会日本機械学会認定、代替講習』『ADVENTURE_on_Windowsを用いた回帰分析』6/26

◆◆【オンライン】CAE技能講習会
午前『CAE技能講習会日本機械学会認定、代替講習』
午後『ADVENTURE_on_Windowsを用いた回帰分析』◆◆

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
【開催日】 6月26日(日)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
■『CAE技能講習会 』*9:40-14:10 (集合9:35) (12~13時休憩)
*参加費 25,950円
*定員2名
*Zoom(使用不可の方はご相談ください)

 この講習会は(社)日本機械学会の計算力学技術者資格認定専門委員会より同学会が提供する付帯講習(技能編)の代替講習会として公認されています。

当社の講習会を受講された方には「修了証」を発行致します。
講習会修了者は以下の2種類の特典を受ける事が出来ます。

  ◎(社)日本機械学会の 計算力学技術者(CAE技術者)初級
の認定を受ける資格を得ます。

  ◎(社)日本機械学会の 計算力学技術者(2 級)(固体力学
分野の有限要素法解析技術者)受験に必要な
「付帯講習(技能編)」が免除されます。

当社の修了証のコピーを機械学会に提出して下さい。

【内容・参加申し込み】詳しくはこちらをご覧ください。

Connpassサイトからもお申込み頂けます。
(登録が必要ですが、カードでお支払い可能です。)

=================================================
■『ADVENTURE_on_Windowsを用いた回帰分析』
14:50-18:20 (14:45集合)
*参加費 4,000円
*定員10名
*Zoom又はSkype(又はご相談ください)

【内容】
現在日常生活や、報道等で、人工知能やAIと言う言葉を聞かない日は有りません。
CAE技術者にも、今後はデータ駆動型の技能や知識が求められる事は、時代の趨勢から見て明らかだと言えます。それはCAEを用いたパラメトリックスタディや結果分析等において、機械学習や統計学を活用する事を指します。未だ、CAE技術者の資格試験の分野として、採用されてはおりませんが、海外では既にUncertainty Quantificationと言う分野がCAEの中で確立されており、Wikipediaの見出し語にもその名が見えます。
本講習会では、CAEの中に機械学習を導入する事の事例をご紹介致します。CAEソフトとしては、誰でも入手可能なオープンソースソフトである、Adventure_on_Windows (https://adventure.sys.t.u-tokyo.ac.jp/jp/)を使用します。
尚、本講習会は座学のみとさせて頂きます(講師によるデモの紹介は有ります)。

【参加申し込み】Connpassのサイトよりお申込みください。

□ーーーーーーーーーーーーーーーーーーーーーーーーーーー□
株式会社インサイト
mail: info@meshman.jp
□ーーーーーーーーーーーーーーーーーーーーーーーーーーー□
▼ホームページ
http://www.meshman.jp/
▼セミナーカレンダー
http://www.meshman.jp/seminar/schedule.pdf

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の全てのオプション計算が試せるようになっています。
次の回は、このデータセットを使って解析を進めてゆきます。

A11_AdvOnWin 次のリリース予定

本日慶應義塾大学矢上キャンパスで「日本機械学会計算力学技術者認定試験付帯講習(技能編)」が開催されて、弊社の三好と淀がそれぞれ講師とアシスタントを務めました。
最後の質疑応答の時間中にADVENTURE_on_Windows Ver. 0.43bのリリースを年内に行う事をアナウンスしました。
改訂内容はバグフィックスを予定しております。

現在公開されている版はWindows 10でも利用可能です。又現在公開されている版に付属しているADVENTURE_Solidのバージョンは1.21です。

 

 

 

A10_丸棒の引張解析:ADVENTURE_on_Windowsを使用

今回のテーマは

(1)円柱メッシュがどのくらい綺麗に切れるか。正36角形で近似しました。
(2)解の検証。真円との比較。又正36角形理論値との比較。
(3)反力の検証。真円との比較。又正36角形理論値との比較。
(4)設計的にはどう考えるかの検討。
形状作成から解析完了に要した時間は約15分です。

モデルはADVENTURE_CADで作成します。
形状記述ファイルの拡張子はgm3dです。
メモ帳でも良いですが、私はフリーのsakuraエディタを愛用しています。

寸法

半径:5mm
高さ:30mm
断面:正36角形


単位系
1行目の最初の3つの数字は円の中心座標、2番目の3つの数字が半径のベクトル、3番目の3つの数字が円の法線ベクトルです。2行目は押し出しを記述しており、押し出し量をベクトルで与えています。
長さ:mm
力:N
メッシュ条件
基本節点間隔=1.0(一様メッシュ)
メッシュ作成時に表面形状を補正:Yes
二次要素
21027節点、13870要素
体積は2,341mm3(この数値は弊社無償ソフトウェアMeshmanViewerで調べました)

(真円なら3.1416*5*5*30=2,356.2mm3)。

図-0 メッシュ

材料条件


ヤング率:205,800MPa
ボアソン比:0.3

表面のエッジ抽出オプション

デフォールト

拘束条件

図 -1 拘束面

図-2 拘束条件

図-3  荷重負荷面

図-4 荷重条件

図-5 境界条件一覧

出力項目

可能な物全て

領域分割とソルバーオプション

デフォールト

結果

図-6 変形拡大率5000倍、X変位(max 9.82e-5mm)

図-7 変形拡大率5000倍、Y変位(max 9.53e-5mm)

図-8 変形拡大率5000倍、Z変位(max 0.00143mm)

図-9 変形拡大率5000倍、σzz応力(値はフルレンジ:8.4~17.8MPa)

図-10 変形拡大率5000倍、σzz応力(レンジ9.6~10.0:max 17.8MPa)

図-11 変形拡大率5000倍、σzz応力(値はフルレンジ4.88~13.5MPa)

図-12 変形拡大率5000倍、Mises応力(レンジ9.6~10.0:max 13.5MPa)

図-13 変形拡大率5000倍、最大主応力(値はフルレンジ8.40~19.9MPa)

図-14 変形拡大率5000倍、最大主応力(レンジ9.60~10.0MPa:max19.9MPa)

ここから6/16に追記。

解析ケースを例えばr5h30cylinder_36gonという名前で保存すると、

r5h30cylinder_36gon.iagというファイルと
r5h30cylinder_36gon.filesというフォルダ

がセットで作成されます。.iagはバイナリファイルなので、エディタ等で中身を表示する事は出来ません。.filesのフォルダには、AdvOnWinがこっそり作成した全ての中間ファイルが全部保存されます。

最後に反力を計算します。この計算を可能にする為には、解析時に「反力」を出力項目として予め指定しておく必要が有ります。形状定義で円柱を正36角形で近似した為、又メッシュが完全に正36角柱とは限らない為、所定の荷重の強さを与えても、断面積の誤差により総荷重が意図した物と異なるからです。とここ迄書いて、本来は設計荷重は荷重の強さでは無く、総荷重で与えるべきだと気づきました。

ADVENTURE_on_Windows(以下AdvOnWin)のインストールフォルダの下に

runBCAgent.bat

と言うMicrosoftバッチファイルが有りますので、それをダブルクリックします。

図-15 BCAgent起動直後

メニュー項目で、

ファイル(F)>*.pchと*.pcgを開く(O)

保存した解析ケースの.filesフォルダの中の

Solid_2.0.pch

Solid_2.0.pcg

を順に開きます。ここで、2.0の部分は境界条件設定開始時のダイアログで入力したパラメータと同じ数字となります(デフォールトなら2.0で可)。するとモデルが表示されるので、拘束した面を選択します(緑色)。

図-16 BCAgentで表示した解析モデル(拘束面を選択中)

メニューで、

情報(I)>面情報(F)

を選択すると、2つのファイルを選択するように求めるので、同じフォルダの
Solid.msh
Solid_2.0.fgr(2.0の部分は適宜読み替えて下さい)

を順に選択して下さい。すると図-17のように表示されます。左の列には上から0始まりで全ての節点番号が並びます。右の列には、今選択した面上の節点なら1、そうでなければ0が書かれています。

Ctrl-A Ctrl-Cで全データをクリップボードにコピーしておきます。

図-17 選択面の節点リスト

一方、反力を出力項目として指定していれば、保存したフォルダの中にReactionForce.datというファイルが存在します。これはテキストファイルであり、極簡単に説明すると各行に各節点の反力3成分が並んでいます。

このファイルをMicrosoftエクセルで開きます。別にLib reOfficeでも構いませんが、以降の説明はエクセルの場合です。

  1. Excel起動
  2. 保存した解析ケースフォルダのReactionForce.datを開く(ファイルを開くダイアログにおいて、全てのファイルを開くように拡張子選択の所を変更して下さい)
  3. 「テキストファイルウィザード1/3」で、「カンマやタブ等の区切り文字によってフィールド毎に区切られたデータ(D)」にチェック
    取り込み開始行:4
    「次へ」をクリック
  4. 「テキストファイルウィザード2/3」で、スペースにチェック。その他にチェックして「:」を入力
    第2-4フィールドが必要。
    「次へ」をクリック
  5. 「テキストファイルウィザード3/3」で、全て[G/標準]である事を一番下迄スクロールして確認して「完了」

今は解析条件より、反力はZ方向のみの和を取りますので、D列に注目します。

既にクリップボードにコピーしたデータをE1のセルに貼り付けます。

全行に渡り、D列とF列の積を計算して和を取るとZ方向の反力合計となります。即ち、G1に=D1*F1と記述します。

総節点数が21,027なので、一番下の行が21,027行です。節点番号は0始まりなので、最大節点番号は21,026です。G21028のセルに=sum(G1:G21027)と記述するとZ方向の反力合計が求まります。

-7.64e2

です。これは総荷重と等しい筈です。

仮に断面を半径5の真円と見做すと断面積は79.54mm2ですので、荷重強さ9.8N/mm2を掛けると769.7Nとなります。

断面を正36角形として計算します。正n角形の面積Snは、以下の式で表されます。

\(S_n = \frac { na^2}{4tan(\frac{\pi}{n})}\)

但し、
\(a =2Rsin (\frac{\pi}{n})\)

\(a =2Rsin (\frac{\pi}{n})=2 \times 5 sin(\frac{3.14}{36})=10 \times 0.0871 = 0.871\) \(S_n = \frac { 36 \times  0.871^2}{4tan(\frac{3.14}{36})}=\frac{27.3}{4 \times 0.0874}=78.1\)

面積は78.1mm2です。こちらから荷重を計算すると765Nとなります。誤差は(764-765)/765×100=-0.5%です。

それでは解析結果の精度を確認します。