仮想化ソフトウェアによる
OpenFOAM利用環境の構築
若嶋 振一郎(NIT, Ichinoseki College) [email protected]
初出: 2016/03/07 更新: 2017/05/20
Outline
1. 仮想ソフトウェアについて
2. VirtualBoxのダウンロード、インストール
3. VirtualBox用仮想アプライアンスのインポート
4. Tutorialのテスト実行
Appendix:
1. Lubuntuのダウンロード、インストール
2. Guest AdditionsのLubuntuへのインストール
3. OpenFOAMほかのインストール
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に導入が必要)
仮想化ソフトウェア
• ホストOS上に、仮想的なゲストOSをインストール可能
• ネイティブハイパーバイザ
• ハイパーバイザと呼ばれる上位のソフトウェアが、ハードウェア上で直接動作し、 全てのOS(ゲストOS)はそのハイパーバイザ上で動作する方式
• Xen, VMware ESXi, Hyper-V, KVMなど
• 現在のサーバーサイド仮想化の主流方式
• ホストハイパーバイザ
• ハードウェア上でまずホストOSが稼働し、その上でハイパーバイザが(ホストOSの アプリケーションとして)稼働し、更にはハイパーバイザの上で更に別のゲストOS を稼働させる方法
• VMware Workstation(Player), Virtual PC, VirtualBoX, Parallels Desktop, QEMUなど
VMware Workstation PlayerとVirtualBoxの比較(As of 2017/05)
VMware Workstation Player Oracle VirtualBox
バージョン 12.5.5 5.1.22 ライセンス 個人利用・商用以外での利用の場合は無償独自(?) 企業または非営利組織(教育機関含む)での利用は商用利用扱い GPL2 商用利用 ×(別途ライセンス購入が必要) △(Extension packは商用ライセンス) ホストOS Windows 64bit Linux 64bit (Ver.7以降)
Windows Vista SP1/7/8/8.1/10 64bit/32bit Windows Server 2008/2012 64bit
MacOS X 10.8-11 Linux 32/64bit Solaris 10U10/11 64bit
ゲストOS
Windows 7/8/8.1/10 32/64bit Linux 32/64bit
Solaris, FreeBSD, Max OS X 32/64bit
Windows NT4~7/8/8.1/10 32/64bit Linux 32/64bit
Solaris, FreeBSD, OpenBSD, Max OS X 32/64bit
※ 32bitのホストOS上では64bitゲストOSは動作しま せん
Intel/AMD CPUの仮想化支援機能に関連しての注意点
VMware/VirtualBoxいずれも、64bitゲストOSを利用するときは、BIOS
(UEFI)でIntel VT/AMD-Vを有効にする必要がある
Windows 8以降の場合、OSに同様の仮想化ソフトウェアHyper-Vが
搭載されている。デフォルトで無効になっているが、64bitゲストOSが
インストール時にエラーになるなどの場合は、有効化されていない
かチェックし、無効化する
docker等のインストール済み環境の場合は注意今回の想定環境(説明時に使用した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
その他の統合環境環境など
• 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-osSTEP 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(機能拡張パック) バージョンを必ず揃えること!
STEP 2-1 VirtualBoxのインストール
• DLしたVirtualBox-5.1.****-Win.exeをダブルクリック
• Windows によっては保護機能により、次のような画面が出ますが、
左にある「詳細情報」をクリックすると実行ボタンがでてきます。
インストール完了です。
VirtualBoxが起動しますが、拡張パックをインストールするために このままメニュー>ファイル>環境設定を選択します。
STEP 2-2 VirtualBox拡張パックのインストール(必須)
• 環境設定ウインドウ中の「機能拡張」を選択し、右側の▽アイコンを選んで、ダ ウンロードした拡張パックを選択します。 • 成功すれば、その旨が小さなウインドウに表示されます ライセンス確認画面 VBox本体とバージョンを揃えましょう! 拡張パックは必ずインストールしましょう!【確認】
• 拡張パックが正しく導入できていれば、以下のよう
にしても確認できます
3. VirtualBox用仮想アプライアンスのインポート
• VB上でLinuxをインストールし、さらにOF環境構築を行うことが普通ですが、都合に より全ての操作を完了してOpenFOAMがすぐ使える状態のVirtualBox用仮想アプラ イアンス(OSイメージ)をUSBメモリにいれて配布します。 • WindowsにVirtualBox 5.1.xと拡張パック(同じバージョン)を導入した上で、 VirtualBoxから、ファイル>仮想アプライアンスのインポートを選択し、仮想アプライ アンスイメージを指定してインポートしてください フォルダアイコンをクリックして、 DLしたovaファイルを選択するLubuntuシステムの起動
• インポートに成功すると、VirtualBoxの左側にOSが登録されます。
• これをダブルクリックするか、選択して起動アイコンを押すと、起動し
てLubuntuのログイン画面が出てきます
• USBで配布したイメージのログインユーザについては下記の通りです
• ユーザー名: of
• パスワード: of
Lubuntuの起動画面とデスクトップ
ユーザー名: of
パスワード: of
共有フォルダ設定についての注意事項
• 例えば、Windowsホストのデスクトップフォルダ
(C:¥Users¥
USERNAME
¥Desktop)を、HostDeskTopとしてマウントする設
定では、Lubuntuでは/media/sf_HostDesktopとしてマウントされます
• 自動マウントにチェックをいれておくと、起動時に自動マウントされます
• ただし、共有フォルダにアクセスしようとすると“許可がありません”などとエラーメッ セージが出る場合があります。これは、マウントしたポイント “/media/sf_HostDesktop”の所有者が管理者”root”の所有になっているためです。 • アクセスするためには、sudoコマンドを利用するか、下記のように通常使用するユー ザー名(@Linux)をvboxsfグループに登録して再起動することで、その後のエラーを回 避できます(一度登録すればOK、初期ユーザofについては登録済み)。
$ sudo gpasswd -a ユーザ名 vboxsf $ reboot
よく使う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オプションが必要)
よく使うLinuxコマンド(Terminal上で入力)(cont.)
• rm
• removeコマンド ディレクトリ中のファイル等を削除 • Windowsと異なり、基本的に即時削除のため要注意• cd
• Change Directoryコマンド ディレクトリを移動する • cd dir/subdir ・・・・dir以下のsubdirに移る • cd ~/ ・・・・ユーザーのホームディレクトリに戻る • cd .. ・・・一つ上のディレクトリ階層に戻る • cd ../.. ・・・一つ上のディレクトリ階層に戻る• sudo
• sudo COMMAND と打つと管理者権限でCOMMANDを実行する
以上で前半部分は終了です。後半はOFの利用方法と、
各種設定について説明します。
※ Internet環境が使える方は、メニュー>システムツール>
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版バイナリ)
OpenFOAMのインストールのテスト
• コマンドプロンプトでソルバーコマンドを実行してみます
$ icoFoam -help
OpenFOAMのチュートリアルの実行(icoFoam)
• OpenFOAMに付属のチュートリアルをコピーし、例としてcavity流れの
ケースで、icoFoamソルバーを実行してみます
$ cd OpenFOAM/USER-4.x
$ OF4x
$ cp –r $FOAM_TUTORIALS .
$ cd tutorials/incompressible/icoFoam/cavity
$ blockMesh (メッシュ生成)
$ icoFoam (ソルバー実行)
$ paraFoam & (実行結果の可視化等)
OpenFOAMの利用の流れ
1. メッシュ作成
blockMeshコマンド(基本的な形状のみ) 3DCADデータ(STL)+snappyHexMeshコマンド/cfMeshのツールコマンド メッシュ生成ソフトウェアからのデータを変換・インポート2. 計算条件等の設定
初期条件 境界条件 物性値(粘性係数、密度、熱伝導率、重力、メッシュ移動速度・・・・) 離散化スキームの選定、行列解法の選定(設定) ソルバーの選定3. 結果の評価、可視化
モニタリング出力データ(平均値、力、トルク・・・) 可視化 先ほど実行したチュートリアルcavityの例として、確認してみましょうチュートリアルcavityのフォルダ内の構造
cavity
0
constant
system
U
p
polyMesh
transportProperties
blockMeshDict
controlDict
fvSchemes
fvSolution
初期条件・境界条件を設定します メッシュデータ・物性条件を保存します 主に計算条件を設定します ※ 各種設定ファイルの場所や、これらのフォルダ名は基本的に固定です ※ ソルバーや乱流設定の有無などによって、さらにファイルなどは増えます。 ここでは、非圧縮性層流ソルバーのicoFoamに必要なファイルのみがcavity/0フォルダ
• U
• 速度Uに関する設定ファイル• P
• 圧力pに関する設定ファイル • OFでは非圧縮性流体の場合に圧力p/密度ρをpとみなしていることに注意)• 乱流計算の場合は、この他にk, epsilon, omega, nuTilda, nutなどのファ
イルが置かれる
/*---*- 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 境界条件の値; } : 設定ファイルでよく間違うのは、 { }, ( )などの対応や セミコロン;の有無などです!
/*---*- 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]
cavity/constantフォルダ
• polyMeshフォルダ
• メッシュデータを格納する
• boundary ・・・・境界条件およびtypeを設定するパッチ名を設定するファイル
→ しばしば編集することがあります!
• faces, neighbor, owner, points ・・・・OpenFOAMメッシュデータ
• transportProperties
• 流体の物性値(粘性係数など)を指定するファイル
• このほか、turbulenceProperties(乱流モデルの設定ファイル)を置き
ます
/*---*- 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
cavity/systemフォルダ
• controlDict • 時間ステップ、計算時間、ファイル出力間隔の設定 • モニタリング出力等の設定ファイル • ソルバー実行時の外部ライブラリの指定 など • blockMeshDict • blockMeshコマンド用の設定ファイル • fvSchemes • 時間進行スキームの設定 • 離散化スキームの設定(1次精度/2次精度スキーム、リミッター関数等) • fvSolution • 離散化した後の行列計算の設定ファイル • 反復回数や収束判定しきい値、緩和係数などの設定 このような***Dictというファイルは、dictionary ファイルと呼ばれ、各種のソルバーやコマンド 用設定ファイルとなっています[ヘッダー部省略] 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; アプリケーションソルバー名 計算の開始時刻、終了時刻の指定(単位は秒) 時間ステップ ファイル出力間隔や形式・精度などの指定 計算中に変更を許容するかどうか (例えば計算はじめは小さめの時間ステップとしておき、 流れ場が安定してきたらやや大きくするなど)
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 ( 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 ( );
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; } 時間進行スキーム 勾配離散化スキーム 発散離散化スキーム(対流項) ラプラシアン離散化スキーム(粘性項) 補間スキーム セルフェースでの勾配スキーム
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; 圧力pの反復計算の計算設定 圧力pの最終反復での計算設定 速度Uの反復計算の計算設定 PISO法全体の計算設定 (PISO法とは、icoFoamで用いられている解析アルゴリズムです)
以上で、導入に関するハンズオン入門セミナーは終了です。
お疲れ様でした!
APPENDIX 1-1: Linux isoイメージのダウンロード
• Lubuntu のisoイメージをDLして適当な場所に保存して下さい(898MB)
• http://lubuntu.me/downloads/
HostOSのbitに合わせて選択 ここでは64bitを選択しました ※ HostOSが64bitの場合、ゲスト OSは32/64bitが選択できますが、APPENDIX 1-2 : LubuntuのVirtualBoxへのインストール準備
• VirtualBoxマネージャーを起動し、画面中の新規をクリックします
• 仮想マシンの作成ウインドウが表示されます
名前: Lubuntu16.10_64bit タイプ: Linux バージョン: Ubuntu (64bit) メモリーサイズ: 4096MB ※ ホストPCが4GB程度しかメモ リを積んでいない場合はエラー になりますので、その場合は 2048MBなどに減らしてください ハードディスク: 「仮想ハードディスクを作成する」 Lubuntu_16.10_64bit
仮想ハードディスクファイルの場所: デフォルトでは、 C:¥Users¥USER¥VirtualBox VMs 以下に作られるが、右のディレクトリ アイコンから指定することも可能 ファイルサイズ: 20GB (本格的に使用するのであれば 最低40GBくらい) 物理ハードディスクにあるストレージ: 可変サイズ (固定サイズのほうがパフォーマンスは 上がるが、サイズ変更できない) ファイルタイプ: VDI ※ 仮想ディスクイメージのファイルタイプ で、付属ツールで後から変換可能
• 仮想マシンが作成されましたが(OSはまだインストールされていません)、利便性の向上や、 より高速になるよう、いくつかの設定を変更を行います
• 設定アイコンをクリックして下さい
①一般>高度>
クリップボードの共有→双方向
②システム>マザーボード>
チップセット→ICH9
プロセッサー>
プロセッサー数→2(あるいは4)
拡張機能→☑PAE/NXを有効化
アクセラレーション>
準仮想化インターフェース→Hyper-V
③ディスプレイ>
ビデオメモリー→128MB or 256MB(下記参照)
アクセラレーション→☑3Dアクセラレーションを有効化
裏技として、ディスプレイ数を8に増やすと、256MBまで選択できます。
その後、いったんOKを押して設定を完了し、再び設定>ディスプレイで
ディスプレイ数を1に戻しておくと256MBの選択を保持できます
(⑤共有フォルダー>右上の+アイコンをクリック)
フォルダーのパス→適宜(例ではデスクトップ)
フォルダー名→HostDesktop
☑自動マウント
※ Linux上のSambaサービス これはあとからでも変更可能ですAPPENDIX 1-4: Lubuntuのインストール
• 仮想マシンの設定から、ストレージのコントローラ:IDEを選択し、「空」に
なっている光学ドライブアイコンを選択します
• 属性: 光学ドライブの右のCDロムアイコンを選択し、仮想光学ディスク
ファイルの選択→ここで、DLしたLubuntuのisoイメージを指定してください
仮想光学ディスク ISOイメージの選 択 lubuntu-16.10-desktop-amd64.iso• OKボタンを押して設定を
抜け、仮想マシンを起動
してください
• Lubuntuのインストーラが
起動します
言語選択: 日本語→リターン Lubuntuをインストール (カーソルキーで選択) 言語選択: 日本語→続ける 時間に余裕のある場 合はインストール時 にアップデートをダウ ンロードしてもOK
続ける 続ける(入力テストしておく) • 名前 • コンピュータ名 • ユーザー名(通常は名前と同じ) • パスワード を適宜入力してください
APPENDIX 2: Guest AdditionsのLubuntuへのインストール
• インストール後に再起動を求められます。再起動を選択すると、なぜかフリーズ したようになるかもしれませんが、慌てずVirutalBoxマネージャーのメニューから 仮想マシンのリセットを選んでください。下記のログイン画面が出てきます
※ Guest AdditionsはゲストOSにインストールして、ビデオ機能の拡張や、クリップボード共有化などの機能拡張を
• Lubuntu起動後に、仮想マシンのメニュー>デバイスを選び、一番下にある“Guest Additions CD イメージの挿入”を選択して下さい
• Lubuntu側でこのCDがマウント(/media/USER/VBOXADDITIONS_5.1.12_112440)され、ファイルマ
ネージャが開かれます
• そこで、左下のメニュー>システムツール>LXTerminalを起動し、以下を
入力してみてください
$sudo apt install gcc make
$sudo /media/USER/VBOXADDITIONS_5.*.***/VBoxLinuxAdditions.run
• とくにエラーメッセージが出なければ成功です。再起動して再度ログイン
すると、画面を最大化するとLubuntuの画面も追従してくれます
sudoコマンドなどについては、 後で説明しますので、ここでは スペースなどに注意して、入力 してください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
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ディレ クトリを作成して利用する場合と異なります。注意しましょう!
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
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と呼ばれる端末も多用しますので、フォントサイズや色など使いやすいよう変更 しておくとよいでしょう
OpenFOAMの作業フォルダの作成
• 端末を立ち上げ、ユーザーフォルダ直下に作業フォルダを作成し、そこ
に移動します。ここでは”ユーザー名-4.1”としています
$ mkdir –p OpenFOAM/USER-4.1 (ユーザー名”USER”の場合)
$ cd OpenFOAM/USER-4.1
$ pwd
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-freeglut3-dev
• ソースコードのダウンロード
$ 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/bashrc Aliasコマンドとして.bashrcに登録してもOK
alias OF4x=‘ source $HOME/OpenFOAM/OpenFOAM-4.x/etc/bashrc’
• 環境変数のテスト
$ echo $ParaView_VERSION (5. 0. 1と出ればOK)