More Related Content
Jupyter勉強会 20160701 at NII ADVENTUREの他のモジュール・関連プロジェクトの紹介 クラウドを超えた先の企業システム像 20091008 JJUG CCC IoTの社会応用への展望とその課題 : AI技術とIoT Twilio Meetup Tokyo 2015 Microsoft 講演資料「開発コミュニティでアイディアと仲間を見つけよう!ハッカソンから技術系スター... 『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~ 2016年2月4日 マンガ駆動開発によるデザインプロセス:協働プロジェクトのためのシナリオ設計 Let's design MVP #devlove #leanstartup Similar to ADVENTURE Autoモジュールについて (20)
Visual studio communityの紹介 Product/Market Fitを目指す道での悩ましい話 70万⼈のメンバーを駆使して開発を⾏う 〜 Topcoderが提案する新しい開発モデル ~ いまだからしっかり話しておきたい、ユーザーエクスペリエンス概論 20141018 osc tokyo2014講演(配布用) 大規模スクラムの失敗から学んだこと #AgileJapan2015 いま、UXについて世界の最先端で起こっていることを学ぶ 先生:長谷川 敦士/井登 友一 「業務システムにモバイルを!実践エンタープライズモバイル開発プロジェクト」 TOPPERSプロジェクトの紹介 in OSC2015 Kansai@Kyoto 20150728 USERDIVE in BPStudy エンタープライズへのアジャイル開発の導入事例 マーケティング的視点で見る コミュニティ育成 アマゾン データサービス ジャパン 小島 英揮氏 資料 ITmediaセミナー講演『モバイル活用による業務改革の真実』 オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発... オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発... More from ADVENTURE Project (20)
LexADV_TryDDM Ver. 0.1bの概要 ADVENTURE_Mates Ver. 0.5bの概要 ADVENTUREの他のモジュール・関連プロジェクトの紹介 ADVENTURE_Mates Ver.0.5b データ生成 ADVENTURE_MATES専用ビューア AdvMatesViewerについて ADVENTURE_Magnetic Ver.1.5.0の概要 ADVENTURE_Solid Ver.2.0の概要 ADVENTURE_BCtool Ver.2.の概要と実際[デモ] ADVENTUREの他のモジュール・関連プロジェクトの紹介 大規模並列解析用可視化モジュール ADVENTURE_POSTtool Linuxにおけるコマンドとエディタの使用方法の紹介 ADVENTUREの他のモジュール・関連プロジェクトの紹介 ADVENTURE_Solid-1.2 構造体リファレンスマニュアル ADVENTURE_Solid 線形代数関数群 advlasリファレンスマニュアル ADVENTURE_Solid Ver.1.2の概要 ADVENTURE Autoモジュールについて
- 5. オープンソース版
ADVENTUREシステム
• 市販CADからのIGESデータを入力
• 四面体メッシュを自動生成
• 材料物性、境界条件をGUIベースで設定
• 三次元ソリッドの構造静解析(弾性、弾塑性)
• 変形図、応力コンターをGUIベースで可視化
ADVENTURE正式版の機能正式版の機能正式版の機能正式版の機能
2000年12月より、ベータ版がリリース。
2000年3月(未来開拓プロジェクト終了時)に、正式版リリース。
以後、正式版、ベータ版とも開発改良作業が継続されている。
http://adventure.q.t.u-tokyo.ac.jp
- 10. ADVENTURE をより深く理解し、
使いこなすためには?
• 「ADV/BCtoolではうまく選びにくい場所に境界条件を設定したい。」
• 「解析結果から、特定の部品や指定範囲内での最大変位、最大応力
等を知りたい。」
• 「ソルバー側には…という機能があるのに、プレポストの
ADV/BCtoolやADV/Visualでは直接サポートされていないので、…」
• 「パラメトリックスタディをしたいのだが、ケースごとにいちいちGUIで
マウスオペレーションが絡むのはちょっと…」
• 「プレポストを介さず、直接ADV/Solidの入出力ファイルを読み書きし
たいのだが、ADVENTURE I/O形式っていったい….」
• 「ADVENTURE I/Oライブラリのマニュアルを読んだが、意味がよく
分からない。具体的には何をすればいいのか…」
• 「オープンソースって、もしかして、ソースコードを読んで書き直せソースコードを読んで書き直せソースコードを読んで書き直せソースコードを読んで書き直せって
ことか….!?」
さすがに、そこまでやらなくても、
ADVENTURE Autoモジュールモジュールモジュールモジュールがあります。
- 13. ADVENTURE Autoモジュールとは?
• 非対話的な操作方法を提供する。
– GUI(マウスやキーボード操作)を用いないで
– バッチスクリプトを作成して全自動で実行する。
• パラメトリックスタディを支援する。
– 材料物性や境界条件を変更しながら
– メッシュや形状モデルの寸法を変更しながら
• ADVENTURE CADモジュールと組み合わせる。
– モンテカルロ法、確率破壊力学への応用
• ADVENTURE Optモジュールと組み合わせることによ
り、設計最適化を実現する。
– 鶴岡高専の三村先生により開発
– 最急降下法、GA、応答曲面法など
ADVENTUREを用いた解析の自動化を用いた解析の自動化を用いた解析の自動化を用いた解析の自動化
- 15. 機能一覧(続)
• 作業確認のための簡易ビューア
– 表面パッチやメッシュの可視化
– 面グループの可視化
– 変形図、応力コンター、温度コンターなど
• ADVENTURE I/Oを簡単に扱うツール群
– メッシュデータ、材料物性値、境界条件データなどについて、それ
ぞれ個別のADVENTURE I/O形式ファイルに変換する。
– これらのADVENTURE I/Oファイルをadvcatコマンドにより結合し、
最終的に、領域分割ツールADV/Metisの入力ファイルとなる一体
型解析モデルファイル(ADVENTURE I/O形式)を作成する。
advcat: 複数のADVENTURE I/O形式ファイルを“cat”して
単一のADVENTURE I/Oファイルに連結するコマンド。
ADVENTURE I/Oモジュールに所属。
- 16. ADVENTURE I/Oについて
• ADVENTUREシステムの共通ファイルI/O
– 多様な物理現象(構造、熱、流体、電磁場)表現
– 多様なソルバー間でのデータ交換(連成解析のサポート)
– 多様なソルバー間でのプレ・ポストツールの共有
• 特に、領域分割ツール ADV/Metis
• 大規模解析への対応
– バイナリデータ表現
• アクセスが高速
• 省スペース
• 高精度表現が可能
• ランダムアクセスが可能
– バイナリデータの異機種間での移植性を考慮
• 専用のライブラリ(ADVENTURE I/Oライブラリライブラリライブラリライブラリ)を用いる
必要がある。
- 17. ADVENTURE I/Oについて(続)
• 各ファイルは一つまたは複数のドキュメントから成り立つ。
• 各ドキュメントは、以下のどれかに属する。
– メッシュデータ
• 節点座標
• 要素コネクティビティ
– 材料物性、境界条件、初期条件、解析結果など
• 定数データ
• 節点ごとデータ
• 要素ごとデータ
FEGA (Finite Element Generic Attribute)
有限要素についての統一データ表現
ドキュメントの概念
ADV/Autoでは、各ドキュメントごとにADVENTURE I/O形式ファイルを
対応するテキストファイルから生成し、これらを最後にadvcatコマンドで
連結して一つのファイル(一体型解析モデルファイル)を生成する、とい
うアプローチを取っている。
- 23. 各ソルバー向けの注意点
• ADVENTURE I/Oに関する基礎的な知識が必要。
– FEGA(Finite Element Generic Attribute)タイプ
• AllNodeConstant 定数
• AllNodeVariable すべての節点、それぞれについて
• NodeVariable 選択された節点、それぞれについて
• AllElementConstant 定数
• AllElementVariable すべての要素、それぞれについて
• ElementVariable 選択された要素、それぞれについて
– FEGAラベル 各物理量ごとにつけられた名前
• 各ソルバーが具体的にどのようなADVENTURE I/O形式
のファイルを読むのかを知っておく必要がある。
– ADVENTURE I/Oのマニュアルではなく、各ソルバーのマニュア
ル(またはADV BCtoolやADV/Metis)等に記載されている。
– 一部、マニュアルには記載されていない情報もあるので、詳しく
は付属のサンプルデータまたはソースコードを確認されたし。
- 24. ADV/Solidの場合
• 変位拘束境界条件
– FEGAタイプはNodeVariableで、節点自由度ごとのスカラー
• 各データアイテムごとに、節点番号 + (自由度番号、変位成分値)
– FEGAラベルはForcedDisplacement
• 荷重境界条件
– FEGAタイプはNodeVariableで、節点自由度ごとのスカラー
• 各データアイテムごとに、節点番号 + (自由度番号、荷重成分値)
– FEGAラベルはLoad
• ヤング率、ポアソン比
– FEGAタイプはAllElementConstantで、スカラー
– FEGAラベルはそれぞれ、YoungModulus、PoissonRatio
• 変位の解析結果
– FEGAタイプはAllNodeVariableで、節点ごとのベクトル
• 各節点ごとに、(変位u成分の値、変位v成分の値、変位w成分の値)
– FEGAラベルはDisplacement
• 節点相当応力の解析結果
– FEGAタイプはAllNodeVariableで、節点ごとのスカラー
• 各節点ごとに、(相当応力値)
– FEGAラベルはNodalEquivalentStress
- 27. ADV/Thermalの場合
• 温度拘束境界条件
– FEGAタイプはNodeVariableで、節点自由度ごとのスカラー
• 各データアイテムごとに、節点番号 + (自由度番号=0、温度値)
– FEGAラベルはTemperature
• 熱流束境界条件
– FEGAタイプはNodeVariableで、節点自由度ごとのスカラー
• 各データアイテムごとに、節点番号 + (自由度番号=0、熱流束値)
– FEGAラベルはHeatFlux
• 熱伝達境界条件
– FEGAタイプはElementVariableで、要素面ごとのスカラー2つ
• 各データアイテムごとに、要素番号 + (面番号、雰囲気温度、熱伝達率)
– FEGAラベルはHeatConvection
• 熱伝達率
– FEGAタイプはAllElementConstantで、スカラー
– FEGAラベルはHeatConductivity
• 温度の解析結果
– FEGAタイプはAllNodeVariableで、節点ごとのスカラー
• 各節点ごとに、(温度値)
– FEGAラベルはTemperature
- 30. サンプルの説明
• ADV/Solidを用いる構成例
– 各種線形代数ソルバを用いる構成例
• run_solid_cg.c CGソルバーを使用する例
• run_solid_bdd.c BDDソルバーを使用する例
– ADV/BCtoolやADV/VisualのGUIツールとの連携例
• run_solid_gui.c
– シングル環境で、MPIを一切用いない構成例
• run_solid_single.c, run_solid_single.sh
– ADV/CADによって形状寸法を変更するパラメトリックスタディの
構成例
• run_l_shape.c
• ADV/Thermalを用いる構成例
– run_thermal.c
詳しくは、ディレクトリsample/
およびdemo/を参照
注意:ほとんどが、C言語で記述されています。
- 31. ADV/Autoのプログラミングモデル
• ホワイトボックス “オープンソース” モデル
– 平易なANSI C言語で記述されている。
– 各コマンドは300行程度に収められている。
– 非対話的に(GUIなしで)用いる。
– パラメトリックスタディや、最適化のツールとして
• ADVENTURE AutoGL (「おてがる」)
– 三次元グラフィックスとGUIのライブラリ
– Linux、各種商用UNIXやWindowsで動作する。
– 解析作業確認のための独自ビューア作成に使う。
– ADV/Autoの各ビューアコマンドの実装に利用されて
いる。
- 32. 上級者のためのアドバイス
• 要素の種類としては、四面体二次要素のみ対応。
• 解析規模としては、百万節点、百万要素以内。
– #define MAX_NODES 1000000
• 対応ソルバーとしては、ADV/SolidとADV/Thermal用のサンプルし
か提供されていない。
• ADV/TetMeshの古いバージョン(Ver.0.8)に対応。
• advtmesh9p(表面パッチ修正)
• advtmesh9m(四面体メッシュ生成)
• advtmesh9s(二次要素の生成)
近いうちに、なんとかします。(夏ごろまでにバージョンアップ予定)
それまでは、各自コードを書き換えて対応して下さい。
ADV/Autoの現バージョンの現バージョンの現バージョンの現バージョン(Ver.0.1beta)における制約における制約における制約における制約
- 33. 上級者のためのアドバイス(続)
• msh2pchコマンドと*.fgrファイル(面グループ情報)を使う。
– メッシュの表面境界にある要素面が記述されている。
– 各面グループごとに、要素面のリストが並んでいる。
– 各要素面は、要素番号、要素面番号、これを構成する各節点につい
ての節点番号より構成される。
– 詳しくは、ADV/BCtoolモジュールを参照。
• hddmmrgコマンドを使う。
– メッシュと解析結果ファイルを読み込むプログラムを作成する。
• ADVENTURE I/Oを直接使ってみる。
– 変換コマンド *2adv のソースコードをのぞいてみる。
– 各ソルバーモジュールのソースコードの中でADVENTURE I/Oが使
われているところを読んでみる。
• AutoGL「おてがる」を直接使ってみる。
– ビューアコマンド *view のソースコードをのぞいてみる。
– AutoGL「おてがる」のサンプルをいじってみる。
ADV/Autoをより深く楽しむには?をより深く楽しむには?をより深く楽しむには?をより深く楽しむには?
- 37. ADV/Auto最新版のライブラリ群(1)
• AutoGL「「「「おてがる」おてがる」おてがる」おてがる」
– グラフィックスとGUI、可視化
– OpenGLや各種GUIライブラリのサポート
• AutoGL MP ---分散メモリ環境向け並列版
• AutoResource「「「「おとりそうさ」おとりそうさ」おとりそうさ」おとりそうさ」
– データ構造とアルゴリズム、検索とソート
– リスト、バケット、ハッシュテーブルなど
• AutoNOSim「「「「おたのしみ」おたのしみ」おたのしみ」おたのしみ」
– 分散メモリ環境での並列化のための通信ライブラリ
– MPIのサポート
• AutoGAMI「「「「おてがみ」おてがみ」おてがみ」おてがみ」
– 広域分散環境におけるメッセージ通信
– Grid環境のためのインフラ、ジョブスケジューラ、ポータルなど
1.共通基盤ライブラリ