minecraftでopenfoam計算用メッシュを作成する

56
Minecraft でででででででででで ででで で 47 ででででで CAE ででで でで @西 @mmer547

Upload: mmer547

Post on 17-Jan-2017

784 views

Category:

Engineering


5 download

TRANSCRIPT

Page 1: MinecraftでOpenFOAM計算用メッシュを作成する

Minecraftで計算用メッシュを作成する第 47回オープン CAE勉強会@関西

@mmer547

Page 2: MinecraftでOpenFOAM計算用メッシュを作成する

メッシュ作成までの流れ

Page 3: MinecraftでOpenFOAM計算用メッシュを作成する

Minecraftの入手入手するにはココをクリック

Page 4: MinecraftでOpenFOAM計算用メッシュを作成する

Minecraftの入手指示に沿って入力し、購入する。

Page 5: MinecraftでOpenFOAM計算用メッシュを作成する

インストーラの起動

Nextをクリック

Page 6: MinecraftでOpenFOAM計算用メッシュを作成する

インストール場所の指定

Nextをクリック

Page 7: MinecraftでOpenFOAM計算用メッシュを作成する

インストール確認

Installをクリック

Page 8: MinecraftでOpenFOAM計算用メッシュを作成する

インストールの完了

Finishをクリック

Page 9: MinecraftでOpenFOAM計算用メッシュを作成する

ランチャーへのログイン

購入時に入力したメールアドレスとパスワードを入力し、 LogInをクリック

Page 10: MinecraftでOpenFOAM計算用メッシュを作成する

ランチャーの起動~プロフィールの変更

Edit Profileを選択します。

Page 11: MinecraftでOpenFOAM計算用メッシュを作成する

バージョンの指定

バージョンは 1.8系にしておく

バージョンを変更したらSaveProfileをクリック

Page 12: MinecraftでOpenFOAM計算用メッシュを作成する

起動

Playを押して起動します。

Page 13: MinecraftでOpenFOAM計算用メッシュを作成する

タイトル画面

Singleplayerをクリックします。

Page 14: MinecraftでOpenFOAM計算用メッシュを作成する

新しい世界の創造

Create New Worldをクリック

Page 15: MinecraftでOpenFOAM計算用メッシュを作成する

ワールドの作成

World  Nameを入力します。

入力が終わったら Create New Worldをクリックします。

Game Modeは Creativeにします。他のモードだとゾンビなどに攻撃されます。

Page 16: MinecraftでOpenFOAM計算用メッシュを作成する

プレイ画面

動作を確認します。W:前進

A:左移動S:右移動D:後退

E:インベントリを開く (重要 )マウス移動:視点移動マウス左クリック:攻撃Spaceキー:ジャンプ

Page 17: MinecraftでOpenFOAM計算用メッシュを作成する

Minecraftの終了

動作を確認したらEscキーを押してメニューを表示し Save and Quit to Titleをクリックしてゲームをやめます。

Page 18: MinecraftでOpenFOAM計算用メッシュを作成する

Modの導入:MincraftForgeのサイトに行くPythonスクリプトなどModと呼ばれる拡張機能を導入するために

MinecraftForgeを入手します。

MinecraftForgeで検索すればすぐにサイトが見つかります。(やたらと広告が多いので注意 )

Page 19: MinecraftでOpenFOAM計算用メッシュを作成する

Forgeの入手

先ほど動作テストをしたときに設定した正式版のバージョンと同じバージョンを選択する。

ダウンロードはWindows版は Installer  winを選択する。(Macは Installerを選択)

Page 20: MinecraftでOpenFOAM計算用メッシュを作成する

ダウンロードページ

トラップ広告が多いので注意

右上の SKIPをクリックする。するとダウンロードが始まる。

Page 21: MinecraftでOpenFOAM計算用メッシュを作成する

インストーラの起動

Install clientを選択する。OKをクリックする。

インストーラーをクリックして起動する。

Page 22: MinecraftでOpenFOAM計算用メッシュを作成する

Forgeのプロフィーへの反映

ランチャーを起動しEditProfileをクリックします。

Page 23: MinecraftでOpenFOAM計算用メッシュを作成する

GameDirectoryと UseVersionの指定

Jsonファイルがあるフォルダを指定する。

インストーラの最初の画面で指定しているフォルダにある

GameDirectoryを forgeのインストールフォルダに設定する。

UseVersionを forgeと書いてあるものに変更する

Page 24: MinecraftでOpenFOAM計算用メッシュを作成する

起動!

Playをクリックして起動する。

Page 25: MinecraftでOpenFOAM計算用メッシュを作成する

Forge導入の確認

タイトル画面意Modsと出ていれば導入完了

Page 26: MinecraftでOpenFOAM計算用メッシュを作成する

Pythonスクリプト実行用 raspberryjammodの入手https://github.com/arpruss/raspberryjammodにアクセスする。

Releasesをクリックします。

Page 27: MinecraftでOpenFOAM計算用メッシュを作成する

Python scriptの実行環境と raspberryJamModの入手

この三つをダウンロードする( Pythonのほうは自分の使うバージョンに合わせてどちらかだけ)

Page 28: MinecraftでOpenFOAM計算用メッシュを作成する

RaspberryJamModの導入Forge導入時の Game  Directory下にあるmodフォルダに先ほどダウンロードした

raspberryJamModの jarファイルを保存する。

Page 29: MinecraftでOpenFOAM計算用メッシュを作成する

Minecraftを起動

ランチャーを起動してPlayをクリック

Page 30: MinecraftでOpenFOAM計算用メッシュを作成する

Minecraftの開始

Modsを選択

Page 31: MinecraftでOpenFOAM計算用メッシュを作成する

Modの確認

ModListに Raspberry Jam Modが登録されているか確認する。

Page 32: MinecraftでOpenFOAM計算用メッシュを作成する

NewWorldの作成

動作検証時と同じ手順でNewWorldを作成し、ゲームを起動する。

Page 33: MinecraftでOpenFOAM計算用メッシュを作成する

インベントリを開いてスクリプトを受付けるキーボードの Eキーを押してインベントリを開きます。

Minecraftはウィンドウを切り替えると、 Escキーのメニューが表示され、スクリプトの実行が出来なくなります。インベントリを開いている間は別ウィンドウでの作業も出来て、スクリプトの実行も通ります。

Page 34: MinecraftでOpenFOAM計算用メッシュを作成する

Pythonスクリプトの準備raspberryJamModと一緒にダウンロードしてきた Pythonのファイルを解答します。

解答後のフォルダにあるmcpiフォルダと同じ階層に Pythonスクリプトは保存するようにしてください。

Page 35: MinecraftでOpenFOAM計算用メッシュを作成する

サンプルファイルの使用

購入時に入力したメールアドレスとパスワードを入力し、 LogInをクリック

Page 36: MinecraftでOpenFOAM計算用メッシュを作成する

gf_clearZone.pyの中身

ブロックを置くメソッド.setBlocks(x0,y0,z0,x1,y1,z1,blockType, blockData)

blockAirは空気ブロックと呼ばれるもので、これで埋められた領域はなにもない状態と同じになります。

Page 37: MinecraftでOpenFOAM計算用メッシュを作成する

コマンドプロンプトで実行

Mcipyフォルダ内のスクリプトを実行する。(実行方法は通常の Pythonスクリプトと同じ )

Page 38: MinecraftでOpenFOAM計算用メッシュを作成する

実行結果

スクリプトで指定した領域が空気ブロックで埋められ、何もなくなっている。

Page 39: MinecraftでOpenFOAM計算用メッシュを作成する

サンプルを流用してスクリプトを作成

gf_clearZone.pyをコピーしてgf_clearZone_100.pyを作成

clearZoneを( -100,-100,100,100)に変更する

Page 40: MinecraftでOpenFOAM計算用メッシュを作成する

gf_clearZone_100.pyの実行

gf_clearZone_100.pyを実行

Page 41: MinecraftでOpenFOAM計算用メッシュを作成する

さらに広い領域がさら地に

Page 42: MinecraftでOpenFOAM計算用メッシュを作成する

OFblockcreate

ブロック構築データをリストで定義。

XYZ方向に対してリストをベースにブロックを配置

Page 43: MinecraftでOpenFOAM計算用メッシュを作成する

Ofblockcreateの実行

Page 44: MinecraftでOpenFOAM計算用メッシュを作成する

実行結果

Ofblockcreateに入力していたリストの通りブロックが配置されている。

メモ:後の STL出力時に土台部分がないと出力できないので1ブロック分の土台を作ります。

ブロックの設置が終わったらEscキーを押してメニューからセーブしてゲームを終了します。

Page 45: MinecraftでOpenFOAM計算用メッシュを作成する

STLを出力するMinewaysの入手

Minewaysのサイトに行き左にあるダウンロードアイコンをクリックしてダウンロードする。

Page 46: MinecraftでOpenFOAM計算用メッシュを作成する

Minewaysの起動

ダウンロードしたファイルを解答し、中にあるMineways.exeをクリック

Page 47: MinecraftでOpenFOAM計算用メッシュを作成する

Minecraftファイルのロード

File->Openを選択する。

Page 48: MinecraftでOpenFOAM計算用メッシュを作成する

level.datの選択

Forgeの GameDirectory下にあるsavesフォルダに level.datファイルがあるので選択して開く。

Page 49: MinecraftでOpenFOAM計算用メッシュを作成する

Mineways上でのWorldの表示

Minewaysでは読み込んだlevel.datの世界をトップビューで眺められる。

Page 50: MinecraftでOpenFOAM計算用メッシュを作成する

出力領域の指定

Lower depthは Pythonスクリプトで指定した地面に高さに合わせておく。出力領域を決めたら

File->Export for3D Printingを選択する左クリックドラッグで出力したい領域を選択できる。選択した領域は紫色で示される。

Max heightは Pythonスクリプトで作成した形状の高さより高い数値にしておく

Page 51: MinecraftでOpenFOAM計算用メッシュを作成する

ファイルの保存

ファイル名を入力して保存をクリック

Page 52: MinecraftでOpenFOAM計算用メッシュを作成する

STLファイルについての設定1ブロックあたりの大きさを変更できる出力する範囲はここでも指定できる。

設定が出来たら OKをクリック

Page 53: MinecraftでOpenFOAM計算用メッシュを作成する

FreeCADで確認

モデルは正常に出力できている。

Page 54: MinecraftでOpenFOAM計算用メッシュを作成する

作成した形状で計算• InterFoam

• TotalTime: 3sec

• ΔT: 0.001sec

• Cell数: 993045

• 水-空気で計算

Page 55: MinecraftでOpenFOAM計算用メッシュを作成する

計算結果

Page 56: MinecraftでOpenFOAM計算用メッシュを作成する

まとめ•導入自体が少し煩雑• Pythonでの自動建築は API1つでとりあえず出来る。•より複雑な形状を自動建築する場合は、工夫がいりそう。 (画像解析による濃淡でモデルの高さを読み取るコードの作成等)