仮想化ソフトウェアによる...

71
仮想化ソフトウェアによる OpenFOAM利用環境の構築 若嶋 振一郎(NIT, Ichinoseki College) [email protected] 2016/3/7 1 初出: 2016/03/07 更新: 2017/05/20

Transcript of 仮想化ソフトウェアによる...

Page 1: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

仮想化ソフトウェアによるOpenFOAM利用環境の構築

若嶋振一郎(NIT, Ichinoseki College)

[email protected]

2016/3/7 1

初出: 2016/03/07更新: 2017/05/20

Page 2: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

Outline

1. 仮想ソフトウェアについて

2. VirtualBoxのダウンロード、インストール

3. VirtualBox用仮想アプライアンスのインポート

4. Tutorialのテスト実行

Appendix:

1. Lubuntuのダウンロード、インストール

2. Guest AdditionsのLubuntuへのインストール

3. OpenFOAMほかのインストール

2016/3/7 2

Page 3: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

OpenFOAMをWindowsで使うには….

1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらにLinux版のOpenFOAMを導入する

2. WindowsのHyper-V機能を利用し、Dockerコンテナ環境を立てて、その中でOpenCFD版OpenFOAM for Windowsを導入する(1と排他利用)

3. 公開されている種々のカスタマイズドOpenFOAM for Windowsを利用する1. blueCFD-core (blueCAPE社によるフリー版)

2. ESI Windows版OpenFOAM(Dockerを利用+Paraview for Windowsの導入必要)

3. その他?

4. Bash on Ubuntu on Windows (Windows10 Anni. Update, 14.04LTS相当)を導入し、Ubuntu環境を構築し、OpenFOAMを導入する (XmingやmobaXtermなどのXサーバ環境もWindowsに導入が必要)

2016/3/7 3

※自作ソルバー開発や、他のソフトウェア(dakotaなど)との連携を図る場合は、Linux環境を独自に構築する方が便利かと思います。

Page 4: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

仮想化ソフトウェア

• ホストOS上に、仮想的なゲストOSをインストール可能

• ネイティブハイパーバイザ• ハイパーバイザと呼ばれる上位のソフトウェアが、ハードウェア上で直接動作し、全てのOS(ゲストOS)はそのハイパーバイザ上で動作する方式

• Xen, VMware ESXi, Hyper-V, KVMなど

• 現在のサーバーサイド仮想化の主流方式

• ホストハイパーバイザ• ハードウェア上でまずホストOSが稼働し、その上でハイパーバイザが(ホストOSのアプリケーションとして)稼働し、更にはハイパーバイザの上で更に別のゲストOSを稼働させる方法

• VMware Workstation(Player), Virtual PC, VirtualBoX, Parallels Desktop, QEMUなど

• コンテナ方式のDocker ↑今回はこちらを利用

2016/3/7 4

Page 5: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

VMware Workstation PlayerとVirtualBoxの比較(As of 2017/05)

VMware Workstation Player Oracle VirtualBox

バージョン 12.5.5 5.1.22

ライセンス独自(?)

個人利用・商用以外での利用の場合は無償 企業または非営利組織(教育機関含む)での利用は商用利用扱い

GPL2

商用利用 ×(別途ライセンス購入が必要) △(Extension packは商用ライセンス)

ホストOSWindows 64bit

Linux 64bit (Ver.7以降)

Windows Vista SP1/7/8/8.1/10 64bit/32bitWindows Server 2008/2012 64bit

MacOS X 10.8-11Linux 32/64bit

Solaris 10U10/11 64bit

ゲストOSWindows 7/8/8.1/10 32/64bit

Linux 32/64bitSolaris, FreeBSD, Max OS X 32/64bit

Windows NT4~7/8/8.1/10 32/64bitLinux 32/64bit

Solaris, FreeBSD, OpenBSD, Max OS X 32/64bit※ 32bitのホストOS上では64bitゲストOSは動作しま

せん

その他1 GHz 以上の 64 ビットプロセッサ (2 GHz を推奨)および 2 GB

以上のメモリ (4 GB を推奨)が必要←

2016/3/7 5

Page 6: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

Intel/AMD CPUの仮想化支援機能に関連しての注意点

VMware/VirtualBoxいずれも、64bitゲストOSを利用するときは、BIOS(UEFI)でIntel VT/AMD-Vを有効にする必要がある

Windows 8以降の場合、OSに同様の仮想化ソフトウェアHyper-Vが搭載されている。デフォルトで無効になっているが、64bitゲストOSがインストール時にエラーになるなどの場合は、有効化されていないかチェックし、無効化するdocker等のインストール済み環境の場合は注意

2016/3/7 6

Page 7: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

今回の想定環境(説明時に使用したPC)

• ORACLE VirtualBOX 5.1.22(As of 2017/05/17 )

• ホストOS• Windows 10(7/8/8.1) Pro 64bit

• CPU i5-4300M 2C/4T @2.6GHz (VT-x/VT-d enabled) 2CoreをゲストOSに割り当て

• 空きメモリ 4GBをゲストOSに割り当て(ホストOS用に最低2GB程度は必要)

• 空きHDD 20GBをゲストOSに割り当て(後から追加・変更は可能だが面倒)

• ゲストOS環境• Lubuntu 16.10 64bit(x86_64/amd64)・・・・Lightweight LXDE Ubuntu

• OpenFOAM v4.x (OpenFOAM Foundation Ver.)

• cfMesh

• swak4foam

• pyFoam開発版

2016/3/7 7

Page 8: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

その他の統合環境環境など

• DEXCS for OpenFOAM• 岐阜高専柴田先生、野村さんによる開発

• LinuxMint環境ベースに、オープンソースCAEソフトウェア(OpenFOAM, FreeCADなど), TreeFoamなどの各種ツールを加えた解析環境

• http://dexcs.gifu-nct.ac.jp/pukiwiki/index.php?DEXCS%20Official%20Wiki

• Helyx-OS• Linux上でOpenFOAMのGUIを実現するオープンソースソフトウェア

• Engys社 http://engys.com/products/helyx-os

2016/3/7 8

Page 9: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

STEP 1 VirtualBoxのダウンロード• https://www.virtualbox.org/wiki/Downloadsから以下の2つをDLして適当な場所に保存して下さい

• VirtualBox 5.1.22 for Windows hosts

• VirtualBox 5.1.22 Oracle VM VirtualBox Extension Pack(機能拡張パック)

2016/3/7 9

バージョンを必ず揃えること!

今回配布したUSBメモリに入っています!

Page 10: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

STEP 2-1 VirtualBoxのインストール

• DLしたVirtualBox-5.1.****-Win.exeをダブルクリック

• Windowsによっては保護機能により、次のような画面が出ますが、左にある「詳細情報」をクリックすると実行ボタンがでてきます。

Windows 10の場合

2016/3/7 10

Page 11: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

最後にUSBコントローラのインストーラが出てきますが、「インストール」を選んで続行します。2016/3/7 11

Page 12: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

インストール完了です。

VirtualBoxが起動しますが、拡張パックをインストールするためにこのままメニュー>ファイル>環境設定を選択します。

2016/3/7 12

Page 13: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

STEP 2-2 VirtualBox拡張パックのインストール(必須)

• 環境設定ウインドウ中の「機能拡張」を選択し、右側の▽アイコンを選んで、ダウンロードした拡張パックを選択します。

• 成功すれば、その旨が小さなウインドウに表示されます

ライセンス確認画面

2016/3/7 13

VBox本体とバージョンを揃えましょう!拡張パックは必ずインストールしましょう!

Page 14: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

【確認】

•拡張パックが正しく導入できていれば、以下のようにしても確認できます

• メニュー>ファイル>環境設定>機能拡張

※ 以上で、VirtualBoxのインストールは終了です。Windowsを再起動して一息いれましょう2016/3/7 14

Page 15: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

3. VirtualBox用仮想アプライアンスのインポート

• VB上でLinuxをインストールし、さらにOF環境構築を行うことが普通ですが、都合により全ての操作を完了してOpenFOAMがすぐ使える状態のVirtualBox用仮想アプライアンス(OSイメージ)をUSBメモリにいれて配布します。

• WindowsにVirtualBox 5.1.xと拡張パック(同じバージョン)を導入した上で、VirtualBoxから、ファイル>仮想アプライアンスのインポートを選択し、仮想アプライアンスイメージを指定してインポートしてください

2016/3/7 15

フォルダアイコンをクリックして、DLしたovaファイルを選択する

Page 16: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

Lubuntuシステムの起動

• インポートに成功すると、VirtualBoxの左側にOSが登録されます。

• これをダブルクリックするか、選択して起動アイコンを押すと、起動してLubuntuのログイン画面が出てきます

• USBで配布したイメージのログインユーザについては下記の通りです

•ユーザー名: of•パスワード: of

2016/3/7 16

Page 17: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

Lubuntuの起動画面とデスクトップ

2016/3/7 17

ユーザー名: ofパスワード: of

Page 18: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

共有フォルダ設定についての注意事項

•例えば、Windowsホストのデスクトップフォルダ(C:¥Users¥USERNAME¥Desktop)を、HostDeskTopとしてマウントする設定では、Lubuntuでは/media/sf_HostDesktopとしてマウントされます

•自動マウントにチェックをいれておくと、起動時に自動マウントされます

2016/3/7 18

Page 19: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

• ただし、共有フォルダにアクセスしようとすると“許可がありません”などとエラーメッ

セージが出る場合があります。これは、マウントしたポイント

“/media/sf_HostDesktop”の所有者が管理者”root”の所有になっているためです。

• アクセスするためには、sudoコマンドを利用するか、下記のように通常使用するユー

ザー名(@Linux)をvboxsfグループに登録して再起動することで、その後のエラーを回

避できます(一度登録すればOK、初期ユーザofについては登録済み)。

$ sudo gpasswd -a ユーザ名 vboxsf

$ reboot

2016/3/7 19

Page 20: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

よく使うLinuxコマンド(Terminal上で入力)

• ls• Listコマンド ディレクトリ中のファイル等を表示• ls -la とオプションをスペースをつけて入力すると隠しファイルを含めすべて表示する

• mv• Moveコマンド ファイルやディレクトリを移動する。リネームにも使用可能• mv file1 file2 dir ・・・file1, file2をdirの下に移動• Mv dir1 dir2 ・・・・ dir1をdir2にリネームする。もしdir2が存在すればdir2の下に移動する

• cp• Copyコマンド ファイルやディレクトリをコピーする• cp file1 file2 ・・・file1をfile2としてコピーする。File2が存在すれば、上書き• cp –r dir1 dir2 ・・・ dir1をdir2としてコピー(-rオプションが必要)

2016/3/7 20

Page 21: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

よく使うLinuxコマンド(Terminal上で入力)(cont.)

• rm• removeコマンド ディレクトリ中のファイル等を削除

• Windowsと異なり、基本的に即時削除のため要注意

• cd• Change Directoryコマンド ディレクトリを移動する

• cd dir/subdir ・・・・dir以下のsubdirに移る

• cd ~/ ・・・・ユーザーのホームディレクトリに戻る

• cd .. ・・・一つ上のディレクトリ階層に戻る

• cd ../.. ・・・一つ上のディレクトリ階層に戻る

• sudo• sudo COMMANDと打つと管理者権限でCOMMANDを実行する

• 例)sudo apt update と打つと、Lubuntuのシステム更新用aptコマンドを実行

2016/3/7 21

Page 22: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

以上で前半部分は終了です。後半はOFの利用方法と、各種設定について説明します。

※ Internet環境が使える方は、メニュー>システムツール>ソフトウェアの更新を選び、Lubuntuの更新をしておきましょう。

2016/3/7 22

Page 23: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

OpenFOAMの3つの系統• OpenFOAM Foundation Version

• Ver.4.1 (日々のBugfix等反映したGit版 4.x) http://www.openfoam.org/version/4-1/• dev版(次期リリース向け) http://openfoam.org/version/dev/

• ESI OpenCFD Version (based on OpenFOAM Foundation Version)• v1612+(OF Fundation版+ESIによる拡張) http://www.openfoam.com/• OF-plus版(次期リリース向け)

• https://develop.openfoam.com/Development/OpenFOAM-plus• 要登録

• OpenFOAM Extend Project Version• extend-3.2• http://www.extend-project.de/• https://sourceforge.net/projects/openfoam-extend/

• Windows版• OpenFOAM for Windows (ESI ver/Of foundation ver., Dockerコンテナ)• blueCFD-Core (blueCAPE, MSYS2を利用したWindows版バイナリ)

2016/3/7 23

Page 24: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

OpenFOAMのインストールのテスト

• コマンドプロンプトでソルバーコマンドを実行してみます

$ icoFoam -help

2016/3/7 24※画面はVer.4.1のものです。

Page 25: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

OpenFOAMのチュートリアルの実行(icoFoam)

• OpenFOAMに付属のチュートリアルをコピーし、例としてcavity流れのケースで、icoFoamソルバーを実行してみます

$ cd OpenFOAM/USER-4.x

$ OF4x

$ cp –r $FOAM_TUTORIALS .

$ cd tutorials/incompressible/icoFoam/cavity

$ blockMesh (メッシュ生成)

$ icoFoam (ソルバー実行)

$ paraFoam & (実行結果の可視化等)

2016/3/7 25

Page 26: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

Cavity流れの実行結果(paraview/paraFoamでの可視化)

2016/3/7 26

流速分布がうまく表示できたでしょうか?

Page 27: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

OpenFOAMの利用の流れ

1. メッシュ作成blockMeshコマンド(基本的な形状のみ)3DCADデータ(STL)+snappyHexMeshコマンド/cfMeshのツールコマンドメッシュ生成ソフトウェアからのデータを変換・インポート

2. 計算条件等の設定初期条件境界条件物性値(粘性係数、密度、熱伝導率、重力、メッシュ移動速度・・・・)離散化スキームの選定、行列解法の選定(設定)ソルバーの選定

3. 結果の評価、可視化モニタリング出力データ(平均値、力、トルク・・・)可視化

2016/3/7 27

先ほど実行したチュートリアルcavityの例として、確認してみましょう

Page 28: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

チュートリアルcavityのフォルダ内の構造

2016/3/7 28

cavity

0 systemconstant

U

p

polyMesh

transportProperties

blockMeshDict

controlDict

fvSchemes

fvSolution

初期条件・境界条件を設定します

メッシュデータ・物性条件を保存します 主に計算条件を設定します

※各種設定ファイルの場所や、これらのフォルダ名は基本的に固定です※ ソルバーや乱流設定の有無などによって、さらにファイルなどは増えます。ここでは、非圧縮性層流ソルバーのicoFoamに必要なファイルのみが示されています

Page 29: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

cavity/0フォルダ

• U• 速度Uに関する設定ファイル

• P• 圧力pに関する設定ファイル

• OFでは非圧縮性流体の場合に圧力p/密度ρをpとみなしていることに注意)

•乱流計算の場合は、この他にk, epsilon, omega, nuTilda, nutなどのファイルが置かれる

2016/3/7 29

Page 30: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

2016/3/7 30

/*--------------------------------*- C++ -*----------------------------------*¥| ========= | || ¥¥ / F ield | OpenFOAM: The Open Source CFD Toolbox || ¥¥ / O peration | Version: 4.1 || ¥¥ / A nd | Web: www.OpenFOAM.org || ¥¥/ M anipulation | |¥*---------------------------------------------------------------------------*/FoamFile{

version 2.0;format ascii;class volVectorField;object U;

}// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 1 -1 0 0 0 0];

internalField uniform (0 0 0);

boundaryField{

movingWall{

type fixedValue;value uniform (1 0 0);

}

fixedWalls{

type noSlip;}

frontAndBack{

type empty;}

}

// ************************************************************************* //

コメント部(C/C++ライクなコメント分)

ヘッダー部(必須)

単位 [kg m s K mol A Cd]・・・・[ms-1]

初期条件 速度ベクトルU=(0, 0, 0)

境界条件{

パッチ名{

type 境界条件の種類;value 境界条件の値;

:

設定ファイルでよく間違うのは、{ }, ( )などの対応やセミコロン;の有無などです!

Page 31: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

2016/3/7 31

/*--------------------------------*- C++ -*----------------------------------*¥| ========= | || ¥¥ / F ield | OpenFOAM: The Open Source CFD Toolbox || ¥¥ / O peration | Version: 4.1 || ¥¥ / A nd | Web: www.OpenFOAM.org || ¥¥/ M anipulation | |¥*---------------------------------------------------------------------------*/FoamFile{

version 2.0;format ascii;class volScalarField;object p;

}// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 2 -2 0 0 0 0];

internalField uniform 0;

boundaryField{

movingWall{

type zeroGradient;}

fixedWalls{

type zeroGradient;}

frontAndBack{

type empty;}

}

// ************************************************************************* //

パッチ面の法線方向の勾配0

2次元計算で使用

単位 [m2/s2] = [ Pa/(kg/m3)] = [kg/(ms2)]/[kg/m3]

Page 32: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

cavity/constantフォルダ

• polyMeshフォルダ• メッシュデータを格納する

• boundary ・・・・境界条件およびtypeを設定するパッチ名を設定するファイル

→ しばしば編集することがあります!

• faces, neighbor, owner, points ・・・・OpenFOAMメッシュデータ

• transportProperties• 流体の物性値(粘性係数など)を指定するファイル

• このほか、turbulenceProperties(乱流モデルの設定ファイル)を置きます

2016/3/7 32

Page 33: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

2016/3/7 33

/*--------------------------------*- C++ -*----------------------------------*¥| ========= | || ¥¥ / F ield | OpenFOAM: The Open Source CFD Toolbox || ¥¥ / O peration | Version: 4.1 || ¥¥ / A nd | Web: www.OpenFOAM.org || ¥¥/ M anipulation | |¥*---------------------------------------------------------------------------*/FoamFile{

version 2.0;format ascii;class dictionary;location "constant";object transportProperties;

}// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

nu [0 2 -1 0 0 0 0] 0.01;

// ************************************************************************* //

物理量名(ここでは動粘性係数ν) 単位 数値

→動粘性係数ν=0.01m2/s

Page 34: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

cavity/systemフォルダ

• controlDict• 時間ステップ、計算時間、ファイル出力間隔の設定

• モニタリング出力等の設定ファイル

• ソルバー実行時の外部ライブラリの指定 など

• blockMeshDict• blockMeshコマンド用の設定ファイル

• fvSchemes• 時間進行スキームの設定

• 離散化スキームの設定(1次精度/2次精度スキーム、リミッター関数等)

• fvSolution• 離散化した後の行列計算の設定ファイル

• 反復回数や収束判定しきい値、緩和係数などの設定

• この他、各種コマンド用設定ファイル(dictionary)やfvOptionファイルの置き場になります

2016/3/7 34

このような***Dictというファイルは、dictionary

ファイルと呼ばれ、各種のソルバーやコマンド用設定ファイルとなっています

Page 35: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

2016/3/7 35

[ヘッダー部省略]

application icoFoam;

startFrom startTime;startTime 0;stopAt endTime;endTime 0.5;

deltaT 0.005;

writeControl timeStep;writeInterval 20;purgeWrite 0;writeFormat ascii;writePrecision 6;writeCompression off;timeFormat general;timePrecision 6;

runTimeModifiable true;

アプリケーションソルバー名

計算の開始時刻、終了時刻の指定(単位は秒)

時間ステップ

ファイル出力間隔や形式・精度などの指定

計算中に変更を許容するかどうか(例えば計算はじめは小さめの時間ステップとしておき、流れ場が安定してきたらやや大きくするなど)

Page 36: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

2016/3/7 36

convertToMeters 0.1;

vertices(

(0 0 0)(1 0 0)(1 1 0)(0 1 0)(0 0 0.1)(1 0 0.1)(1 1 0.1)(0 1 0.1)

);

blocks(

hex (0 1 2 3 4 5 6 7) (20 20 1) simpleGrading (1 1 1));

edges();

boundary(

movingWall{

type wall;faces(

(3 7 6 2));

}

fixedWalls{

type wall;faces(

(0 4 7 3)(2 6 5 1)(1 5 4 0)

);}frontAndBack{

type empty;faces(

(0 3 2 1)(4 5 6 7)

);}

);

mergePatchPairs();

blockMeshDictについての詳しくは別ファイルにまとめています

Page 37: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

2016/3/7 37

ddtSchemes{

default Euler;}

gradSchemes{

default Gauss linear;grad(p) Gauss linear;

}

divSchemes{

default none;div(phi,U) Gauss linear;

}

laplacianSchemes{

default Gauss linear orthogonal;}

interpolationSchemes{

default linear;}

snGradSchemes{

default orthogonal;}

時間進行スキーム

勾配離散化スキーム

発散離散化スキーム(対流項)

ラプラシアン離散化スキーム(粘性項)

補間スキーム

セルフェースでの勾配スキーム

Page 38: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

2016/3/7 38

solvers{

p{

solver PCG;preconditioner DIC;tolerance 1e-06;relTol 0.05;

}

pFinal{

$p;relTol 0;

}

U{

solver smoothSolver;smoother symGaussSeidel;tolerance 1e-05;relTol 0;

}}

PISO{

nCorrectors 2;nNonOrthogonalCorrectors 0;pRefCell 0;pRefValue 0;

}

圧力pの反復計算の計算設定

圧力pの最終反復での計算設定

速度Uの反復計算の計算設定

PISO法全体の計算設定(PISO法とは、icoFoamで用いられている解析アルゴリズムです)

Page 39: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

以上で、導入に関するハンズオン入門セミナーは終了です。お疲れ様でした!

2016/3/7 39

Page 40: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

APPENDIX 1-1: Linux isoイメージのダウンロード

• LubuntuのisoイメージをDLして適当な場所に保存して下さい(898MB)

• http://lubuntu.me/downloads/

HostOSのbitに合わせて選択ここでは64bitを選択しました

※ HostOSが64bitの場合、ゲストOSは32/64bitが選択できますが、あえて32bitゲストOSを選ぶ理由はないでしょう。

2016/3/7 40

Page 41: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

APPENDIX 1-2 : LubuntuのVirtualBoxへのインストール準備

• VirtualBoxマネージャーを起動し、画面中の新規をクリックします

•仮想マシンの作成ウインドウが表示されます

• ここではエキスパートモードを選びます

2016/3/7 41

Page 42: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

名前: Lubuntu16.10_64bitタイプ: Linuxバージョン: Ubuntu (64bit)

メモリーサイズ: 4096MB※ホストPCが4GB程度しかメモ

リを積んでいない場合はエラーになりますので、その場合は2048MBなどに減らしてください

ハードディスク:「仮想ハードディスクを作成する」

2016/3/7 42

Lubuntu_16.10_64bit

Page 43: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

仮想ハードディスクファイルの場所:デフォルトでは、C:¥Users¥USER¥VirtualBox VMs以下に作られるが、右のディレクトリアイコンから指定することも可能

ファイルサイズ: 20GB(本格的に使用するのであれば最低40GBくらい)

物理ハードディスクにあるストレージ:可変サイズ(固定サイズのほうがパフォーマンスは上がるが、サイズ変更できない)

ファイルタイプ: VDI※仮想ディスクイメージのファイルタイプで、付属ツールで後から変換可能

2016/3/7 43

Page 44: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

• 仮想マシンが作成されましたが(OSはまだインストールされていません)、利便性の向上や、より高速になるよう、いくつかの設定を変更を行います

• 設定アイコンをクリックして下さい

APPENDIX 1-3: Lubuntu仮想マシンのシステム設定

2016/3/7 44

Page 45: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

①一般>高度>クリップボードの共有→双方向ドラッグ&ドロップ→双方向

2016/3/7 45

Page 46: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

②システム>マザーボード>チップセット→ICH9プロセッサー>プロセッサー数→2(あるいは4)

拡張機能→☑PAE/NXを有効化アクセラレーション>準仮想化インターフェース→Hyper-V

(Windows 8以降)

2016/3/7 46

Page 47: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

③ディスプレイ>ビデオメモリー→128MB or 256MB(下記参照)アクセラレーション→☑3Dアクセラレーションを有効化

裏技として、ディスプレイ数を8に増やすと、256MBまで選択できます。その後、いったんOKを押して設定を完了し、再び設定>ディスプレイでディスプレイ数を1に戻しておくと256MBの選択を保持できます

2016/3/7 47

Page 48: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

④ストレージ>コントローラ:SATA>属性>☑ホストのI/Oキャッシュを使う

2016/3/7 48

Page 49: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

(⑤共有フォルダー>右上の+アイコンをクリック)

フォルダーのパス→適宜(例ではデスクトップ)フォルダー名→HostDesktop☑自動マウント

※ Linux上のSambaサービスを使うことで代替できます

これはあとからでも変更可能です

2016/3/7 49

Page 50: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

APPENDIX 1-4: Lubuntuのインストール

•仮想マシンの設定から、ストレージのコントローラ:IDEを選択し、「空」になっている光学ドライブアイコンを選択します

•属性: 光学ドライブの右のCDロムアイコンを選択し、仮想光学ディスクファイルの選択→ここで、DLしたLubuntuのisoイメージを指定してください

仮想光学ディスクISOイメージの選択

2016/3/7 50

lubuntu-16.10-desktop-amd64.iso

Page 51: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

• OKボタンを押して設定を抜け、仮想マシンを起動してください

• Lubuntuのインストーラが起動します

2016/3/7 51

Page 52: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

言語選択: 日本語→リターン Lubuntuをインストール(カーソルキーで選択)

言語選択: 日本語→続ける

続けるインストール

時間に余裕のある場合はインストール時にアップデートをダウンロードしてもOK

2016/3/7 52

Page 53: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

続ける 続ける(入力テストしておく)

• 名前• コンピュータ名• ユーザー名(通常は名前と同じ)• パスワードを適宜入力してください

続けるインストール開始(5分くらいで完了)2016/3/7 53

Page 54: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

APPENDIX 2: Guest AdditionsのLubuntuへのインストール

• インストール後に再起動を求められます。再起動を選択すると、なぜかフリーズしたようになるかもしれませんが、慌てずVirutalBoxマネージャーのメニューから仮想マシンのリセットを選んでください。下記のログイン画面が出てきます

• 設定したユーザー名を選択し、パスワードを入力してログインしてください

2016/3/7 54

Page 55: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

※ Guest AdditionsはゲストOSにインストールして、ビデオ機能の拡張や、クリップボード共有化などの機能拡張を行うソフトウェアです

• Lubuntu起動後に、仮想マシンのメニュー>デバイスを選び、一番下にある“Guest Additions CDイメージの挿入”を選択して下さい

• Lubuntu側でこのCDがマウント(/media/USER/VBOXADDITIONS_5.1.12_112440)され、ファイルマネージャが開かれます

2016/3/7 55

ユーザー名USERは、以下適宜読み替えてください。

Page 56: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

• そこで、左下のメニュー>システムツール>LXTerminalを起動し、以下を入力してみてください

$sudo apt install gcc make

$sudo /media/USER/VBOXADDITIONS_5.*.***/VBoxLinuxAdditions.run

• とくにエラーメッセージが出なければ成功です。再起動して再度ログインすると、画面を最大化するとLubuntuの画面も追従してくれます

2016/3/7 56

sudoコマンドなどについては、

後で説明しますので、ここではスペースなどに注意して、入力してください

Page 57: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

APPENDIX 3-1: OpenFOAM 4.1のインストール

• Lubuntu(Ubuntu)用にBinaryパッケージ(debパッケージ)が容易されています(14.04LTS/16.04LTS/16.10)

• Git版でソースからビルドもできますが、今回はdebパッケージを利用してみます• Git版のダウンロード、ビルドについてはかなり時間がかかります

• http://www.openfoam.org/download/ubuntu.phpのNew Installationに手順が詳しく掲載されています

2016/3/7 57

Page 58: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

LubuntuへのOpenFOAM 4.1のインストール手順(deb)

1. $ sudo add-apt-repository http://www.openfoam.org/download/ubuntu (1回だけ)

2. $ sudo sh –c “wget –O – http://dl/openfoam.org/gpg.key/ | apt-key add –”

3. $ sudo apt-get update

4. $ sudo apt-get install openfoam4

必要なライブラリも同時にインストールされます(270MB)。 また、/opt以下にインストールされます

これは、Sourceビルドする場合に、ユーザーのホームディレクトリ直下にOpenFOAMディレクトリを作成して利用する場合と異なります。注意しましょう!

2016/3/7 58

Page 59: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

ThirdParty-4.1.tgzのインストール

前述のOpenFOAMのインストールではThirdPartyライブラリがインストールされませんので、別途DLして展開しておきます(ビルドはさしあたり不要)

$ cd /opt

$ sudo wget http://dl.openfoam.org/third-party/4-1 -O ThirdParty-4.1.tar.gz

$ sudo tar xvf ThirdParty-4.1.tgz

$ ls

ThirdParty-4.1.tar.gz ThirdParty-4.x-version-4.1 VBoxGuestAdditions-5.1.12 openfoam4 paraviewopenfoam50

51MBくらいあります

2016/3/7 59

Page 60: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

OpenFOAMの動作環境の準備• OpenFOAMをインストールしただけでは、OpenFOAMのソルバーを起動できません。環境変数を設定する必要があります

• 今回は、付属のテキストエディタLeafpadを利用して~/.bashrcファイルを編集します(以下の行を最後に追記します)

alias OF41=‘ source /opt/openfoam4/etc/bashrc’

• Leafpadのファイル選択画面で右クリックし、隠しファイルを表示するようにしてください

• 編集後、コマンドプロンプトから以下を入力し、とくにエラーが出なければ成功です$ source ~/.bashrc

$ OF41 (新しい端末を起動するごとに1回実行すればOK)

※ OpenFOAMは設定ファイルを編集することが多いので、お好きなテキストエディタを準備して使用してください ($sudo apt-get install emacs gedit)

※また、Terminalと呼ばれる端末も多用しますので、フォントサイズや色など使いやすいよう変更しておくとよいでしょう

2016/3/7 60

Page 61: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

OpenFOAMの作業フォルダの作成

•端末を立ち上げ、ユーザーフォルダ直下に作業フォルダを作成し、そこに移動します。ここでは”ユーザー名-4.1”としています

$ mkdir –p OpenFOAM/USER-4.1 (ユーザー名”USER”の場合)

$ cd OpenFOAM/USER-4.1

$ pwd

/home/USER/OpenFOAM/USER-4.1

2016/3/7 61

Page 62: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

Appendix 3-2 : OpenFOAM 4.xGit版のインストール/ビルド方法

• GCCのバージョンチェック (4.5以上が必要)

$ gcc –version

$ gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005

Copyright (C) 2016 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

• ビルドに必要な追加パッケージのインストール

$ sudo apt install build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev$ sudo apt install qt4-dev-tools libqt4-dev libqt4-opengl-dev freeglut3-

dev libqtwebkit-dev

2016/3/7 62

Page 63: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

• ソースコードのダウンロード$ cd ~/OpenFOAM/$ git clone git://github.com/OpenFOAM/OpenFOAM-4.x.git$ git clone git://github.com/OpenFOAM/ThirdParty-4.x.git

•環境変数の設定$ source $HOME/OpenFOAM/OpenFOAM-4.x/etc/bashrcAliasコマンドとして.bashrcに登録してもOKalias OF4x=‘ source $HOME/OpenFOAM/OpenFOAM-4.x/etc/bashrc’

•環境変数のテスト$ echo $ParaView_VERSION(5. 0. 1と出ればOK)

2016/3/7 63

Page 64: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

• ThirdPartyツールのインストール&ビルド

$ cd $HOME/OpenFOAM/Thirdparty-4.x

$ ./Allwmake

• Paraview(ParaFoam)のビルド

$ ./makeParaview

$ wmRefresh

2016/3/7 64

Page 65: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

• OpenFOAMのビルド

$ cd $HOME/OpenFOAM/OpenFOAM-4.x

$ ./Allwmake –j

• OpenFOAMの更新

$ cd $HOME/OpenFOAM/OpenFOAM-4.x

$ git pull

$ ./Allwmake -update

(まっさらにして、再ビルドする場合)

$ wcleanPlatfoam

$ ./Allwmake -j

2016/3/7 65

Page 66: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

git(git)/svn(Subverison)/hg(merucurial)のインストール

•バイナリパッケージなどをダウンロードして展開するのではなく、開発版をダウンロードして使用したい場合には、これらのコマンドをしばしば利用します(括弧内はアプリケーション名)

•標準でインストールされていませんので、以下のようにして3つまとめてインストールしてしまいます

$ sudo apt install git subversion mercurial

2016/3/7 66

Page 67: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

Python関連のツールおよびその他のインストール

• いろいろ追加インストールしておきます

$ sudo apt install python-setuptools python-dev python-numpy python-matplotlib python-qt4 cmake bison flex tk tk-dev libblas-dev liblapack-dev gfortran(1行で)

2016/3/7 67

Page 68: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

①OpenFOAM便利ツールのインストール:pyFoam• PythonスクリプトベースのOpenFOAM用ツール集

• 使わなくても問題はないが、収束の残さ表示など便利な機能が多数

• https://openfoamwiki.net/index.php/Contrib/PyFoam

• ダウンロードは以下のように実施します

$ cd OpenFOAM/USER-4.1

$ svn co https://svn.code.sf.net/p/openfoam-extend/svn/trunk/Breeder/other/scripting/PyFoam/ (1行)

$ cd PyFoam

$ python setup.py install

更新する場合は

$ cd PyFoam

$ svn update

$ python setup.py install2016/3/7 68

Page 69: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

②OpenFOAM便利ツールのインストール:cfMesh

• OF付属のsnappyHexmeshと同様なメッシュツールであるcfmeshの開発版をインストールします

• https://sourceforge.net/projects/cfmesh/

$ cd ~/OpenFOAM/USER-4.1

$ git clone git://git.code.sf.net/p/cfmesh/code cfmesh-dev

$ cd cfmesh-dev

$ OF41

$ ./Allwmake (10分ほどかかります)

更新する場合は

$ cd cfmesh-dev

$ git pull

$ ./Allwmake2016/3/7 69

Page 70: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

③OpenFOAM便利ツールのインストール:swak4foam• 非標準のライブラリツールであるswak4foamの開発版をインストールします。非定常な境界条件や、新しい変数の抽出など多様な設定が可能になります

• https://openfoamwiki.net/index.php/Contrib/swak4Foam

$ cd ~/OpenFOAM/USER-4.1

$ hg clone http://hg.code.sf.net/p/openfoam-extend/swak4Foam swak4Foam-dev (1行)

$ cd swak4Foam-dev

$ OF41

$ hg update develop

注意(次のスライドに続く)!

2016/3/7 70

Page 71: 仮想化ソフトウェアによる OpenFOAM利用環境の構築hirose/ockitatohoku/ref/01_OpenFOAM_build... · OpenFOAMをWindowsで使うには…. 1. VirtualBox,VMwareなどの仮想化ソフトウェア上にLinux環境を構築し、さらに

• ここで./Allwmakeと行きたいところですが、Lubuntu16.10のbisonが新しすぎるのでエラーになります。エラーメッセージにあるように、以下のコマンドを実行し、適切なbisonのバージョンをローカルにインストールします

$ ./maintainanceScripts/compileRequirements.sh

• bison 2.7.1がDLされて自動ビルドされ、ローカルにインストールまで行われるはずです。続いてAllwmakeスクリプトを実行し、swak4foamをビルドしましょう

$ ./Allwmake

2016/3/7 71