• 検索結果がありません。

PowerPoint プレゼンテーション

N/A
N/A
Protected

Academic year: 2021

シェア "PowerPoint プレゼンテーション"

Copied!
71
0
0

読み込み中.... (全文を見る)

全文

(1)

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

OpenFOAM利用環境の構築

若嶋 振一郎(NIT, Ichinoseki College) [email protected]

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

(2)

Outline

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

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

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

4. Tutorialのテスト実行

Appendix:

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

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

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

(3)

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に導入が必要)

(4)

仮想化ソフトウェア

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

• ネイティブハイパーバイザ

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

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

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

• ホストハイパーバイザ

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

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

(5)

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は動作しま せん

(6)

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

VMware/VirtualBoxいずれも、64bitゲストOSを利用するときは、BIOS

(UEFI)でIntel VT/AMD-Vを有効にする必要がある

Windows 8以降の場合、OSに同様の仮想化ソフトウェアHyper-Vが

搭載されている。デフォルトで無効になっているが、64bitゲストOSが

インストール時にエラーになるなどの場合は、有効化されていない

かチェックし、無効化する

docker等のインストール済み環境の場合は注意

(7)

今回の想定環境(説明時に使用した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

(8)

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

• 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

(9)

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(機能拡張パック) バージョンを必ず揃えること!

(10)

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

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

• Windows によっては保護機能により、次のような画面が出ますが、

左にある「詳細情報」をクリックすると実行ボタンがでてきます。

(11)
(12)

インストール完了です。

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

(13)

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

• 環境設定ウインドウ中の「機能拡張」を選択し、右側の▽アイコンを選んで、ダ ウンロードした拡張パックを選択します。 • 成功すれば、その旨が小さなウインドウに表示されます ライセンス確認画面 VBox本体とバージョンを揃えましょう! 拡張パックは必ずインストールしましょう!

(14)

【確認】

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

にしても確認できます

(15)

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

• VB上でLinuxをインストールし、さらにOF環境構築を行うことが普通ですが、都合に より全ての操作を完了してOpenFOAMがすぐ使える状態のVirtualBox用仮想アプラ イアンス(OSイメージ)をUSBメモリにいれて配布します。 • WindowsにVirtualBox 5.1.xと拡張パック(同じバージョン)を導入した上で、 VirtualBoxから、ファイル>仮想アプライアンスのインポートを選択し、仮想アプライ アンスイメージを指定してインポートしてください フォルダアイコンをクリックして、 DLしたovaファイルを選択する

(16)

Lubuntuシステムの起動

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

• これをダブルクリックするか、選択して起動アイコンを押すと、起動し

てLubuntuのログイン画面が出てきます

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

• ユーザー名: of

• パスワード: of

(17)

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

ユーザー名: of

パスワード: of

(18)

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

• 例えば、Windowsホストのデスクトップフォルダ

(C:¥Users¥

USERNAME

¥Desktop)を、HostDeskTopとしてマウントする設

定では、Lubuntuでは/media/sf_HostDesktopとしてマウントされます

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

(19)

• ただし、共有フォルダにアクセスしようとすると“許可がありません”などとエラーメッ セージが出る場合があります。これは、マウントしたポイント “/media/sf_HostDesktop”の所有者が管理者”root”の所有になっているためです。 • アクセスするためには、sudoコマンドを利用するか、下記のように通常使用するユー ザー名(@Linux)をvboxsfグループに登録して再起動することで、その後のエラーを回 避できます(一度登録すればOK、初期ユーザofについては登録済み)。

$ sudo gpasswd -a ユーザ名 vboxsf $ reboot

(20)

よく使う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オプションが必要)

(21)

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

• rm

• removeコマンド ディレクトリ中のファイル等を削除 • Windowsと異なり、基本的に即時削除のため要注意

• cd

• Change Directoryコマンド ディレクトリを移動する • cd dir/subdir ・・・・dir以下のsubdirに移る • cd ~/ ・・・・ユーザーのホームディレクトリに戻る • cd .. ・・・一つ上のディレクトリ階層に戻る • cd ../.. ・・・一つ上のディレクトリ階層に戻る

• sudo

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

(22)

以上で前半部分は終了です。後半はOFの利用方法と、

各種設定について説明します。

※ Internet環境が使える方は、メニュー>システムツール>

(23)

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版バイナリ)

(24)

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

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

$ icoFoam -help

(25)

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

• OpenFOAMに付属のチュートリアルをコピーし、例としてcavity流れの

ケースで、icoFoamソルバーを実行してみます

$ cd OpenFOAM/USER-4.x

$ OF4x

$ cp –r $FOAM_TUTORIALS .

$ cd tutorials/incompressible/icoFoam/cavity

$ blockMesh (メッシュ生成)

$ icoFoam (ソルバー実行)

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

(26)
(27)

OpenFOAMの利用の流れ

1. メッシュ作成

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

2. 計算条件等の設定

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

3. 結果の評価、可視化

モニタリング出力データ(平均値、力、トルク・・・) 可視化 先ほど実行したチュートリアルcavityの例として、確認してみましょう

(28)

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

cavity

0

constant

system

U

p

polyMesh

transportProperties

blockMeshDict

controlDict

fvSchemes

fvSolution

初期条件・境界条件を設定します メッシュデータ・物性条件を保存します 主に計算条件を設定します ※ 各種設定ファイルの場所や、これらのフォルダ名は基本的に固定です ※ ソルバーや乱流設定の有無などによって、さらにファイルなどは増えます。 ここでは、非圧縮性層流ソルバーのicoFoamに必要なファイルのみが

(29)

cavity/0フォルダ

• U

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

• P

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

• 乱流計算の場合は、この他にk, epsilon, omega, nuTilda, nutなどのファ

イルが置かれる

(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 境界条件の値; } : 設定ファイルでよく間違うのは、 { }, ( )などの対応や セミコロン;の有無などです!

(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]

(32)

cavity/constantフォルダ

• polyMeshフォルダ

• メッシュデータを格納する

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

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

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

• transportProperties

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

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

ます

(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

(34)

cavity/systemフォルダ

• controlDict • 時間ステップ、計算時間、ファイル出力間隔の設定 • モニタリング出力等の設定ファイル • ソルバー実行時の外部ライブラリの指定 など • blockMeshDict • blockMeshコマンド用の設定ファイル • fvSchemes • 時間進行スキームの設定 • 離散化スキームの設定(1次精度/2次精度スキーム、リミッター関数等) • fvSolution • 離散化した後の行列計算の設定ファイル • 反復回数や収束判定しきい値、緩和係数などの設定 このような***Dictというファイルは、dictionary ファイルと呼ばれ、各種のソルバーやコマンド 用設定ファイルとなっています

(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; アプリケーションソルバー名 計算の開始時刻、終了時刻の指定(単位は秒) 時間ステップ ファイル出力間隔や形式・精度などの指定 計算中に変更を許容するかどうか (例えば計算はじめは小さめの時間ステップとしておき、 流れ場が安定してきたらやや大きくするなど)

(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 ( 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 ( );

(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; } 時間進行スキーム 勾配離散化スキーム 発散離散化スキーム(対流項) ラプラシアン離散化スキーム(粘性項) 補間スキーム セルフェースでの勾配スキーム

(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; 圧力pの反復計算の計算設定 圧力pの最終反復での計算設定 速度Uの反復計算の計算設定 PISO法全体の計算設定 (PISO法とは、icoFoamで用いられている解析アルゴリズムです)

(39)

以上で、導入に関するハンズオン入門セミナーは終了です。

お疲れ様でした!

(40)

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

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

• http://lubuntu.me/downloads/

HostOSのbitに合わせて選択 ここでは64bitを選択しました ※ HostOSが64bitの場合、ゲスト OSは32/64bitが選択できますが、

(41)

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

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

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

(42)

名前: Lubuntu16.10_64bit タイプ: Linux バージョン: Ubuntu (64bit) メモリーサイズ: 4096MB ※ ホストPCが4GB程度しかメモ リを積んでいない場合はエラー になりますので、その場合は 2048MBなどに減らしてください ハードディスク: 「仮想ハードディスクを作成する」 Lubuntu_16.10_64bit

(43)

仮想ハードディスクファイルの場所: デフォルトでは、 C:¥Users¥USER¥VirtualBox VMs 以下に作られるが、右のディレクトリ アイコンから指定することも可能 ファイルサイズ: 20GB (本格的に使用するのであれば 最低40GBくらい) 物理ハードディスクにあるストレージ: 可変サイズ (固定サイズのほうがパフォーマンスは 上がるが、サイズ変更できない) ファイルタイプ: VDI ※ 仮想ディスクイメージのファイルタイプ で、付属ツールで後から変換可能

(44)

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

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

(45)

①一般>高度>

クリップボードの共有→双方向

(46)

②システム>マザーボード>

チップセット→ICH9

プロセッサー>

プロセッサー数→2(あるいは4)

拡張機能→☑PAE/NXを有効化

アクセラレーション>

準仮想化インターフェース→Hyper-V

(47)

③ディスプレイ>

ビデオメモリー→128MB or 256MB(下記参照)

アクセラレーション→☑3Dアクセラレーションを有効化

裏技として、ディスプレイ数を8に増やすと、256MBまで選択できます。

その後、いったんOKを押して設定を完了し、再び設定>ディスプレイで

ディスプレイ数を1に戻しておくと256MBの選択を保持できます

(48)
(49)

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

フォルダーのパス→適宜(例ではデスクトップ)

フォルダー名→HostDesktop

☑自動マウント

※ Linux上のSambaサービス これはあとからでも変更可能です

(50)

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

• 仮想マシンの設定から、ストレージのコントローラ:IDEを選択し、「空」に

なっている光学ドライブアイコンを選択します

• 属性: 光学ドライブの右のCDロムアイコンを選択し、仮想光学ディスク

ファイルの選択→ここで、DLしたLubuntuのisoイメージを指定してください

仮想光学ディスク ISOイメージの選 択 lubuntu-16.10-desktop-amd64.iso

(51)

• OKボタンを押して設定を

抜け、仮想マシンを起動

してください

• Lubuntuのインストーラが

起動します

(52)

言語選択: 日本語→リターン Lubuntuをインストール (カーソルキーで選択) 言語選択: 日本語→続ける 時間に余裕のある場 合はインストール時 にアップデートをダウ ンロードしてもOK

(53)

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

(54)

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

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

(55)

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

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

• Lubuntu側でこのCDがマウント(/media/USER/VBOXADDITIONS_5.1.12_112440)され、ファイルマ

ネージャが開かれます

(56)

• そこで、左下のメニュー>システムツール>LXTerminalを起動し、以下を

入力してみてください

$sudo apt install gcc make

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

• とくにエラーメッセージが出なければ成功です。再起動して再度ログイン

すると、画面を最大化するとLubuntuの画面も追従してくれます

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

(57)

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

(58)

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ディレ クトリを作成して利用する場合と異なります。注意しましょう!

(59)

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

(60)

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と呼ばれる端末も多用しますので、フォントサイズや色など使いやすいよう変更 しておくとよいでしょう

(61)

OpenFOAMの作業フォルダの作成

• 端末を立ち上げ、ユーザーフォルダ直下に作業フォルダを作成し、そこ

に移動します。ここでは”ユーザー名-4.1”としています

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

$ cd OpenFOAM/USER-4.1

$ pwd

(62)

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

(63)

• ソースコードのダウンロード

$ 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)

(64)

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

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

$ ./Allwmake

• Paraview(ParaFoam)のビルド

$ ./makeParaview

$ wmRefresh

(65)

• OpenFOAMのビルド

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

$ ./Allwmake –j

• OpenFOAMの更新

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

$ git pull

$ ./Allwmake -update

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

$ wcleanPlatfoam

$ ./Allwmake -j

(66)

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

• バイナリパッケージなどをダウンロードして展開するのではなく、開

発版をダウンロードして使用したい場合には、これらのコマンドをし

ばしば利用します(括弧内はアプリケーション名)

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

めてインストールしてしまいます

(67)

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

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

$ sudo apt install

setuptools dev numpy

python-matplotlib python-qt4 cmake bison flex tk tk-dev libblas-dev

liblapack-dev gfortran

(1行で)

(68)

①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

更新する場合は

(69)

②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

(70)

③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

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

(71)

• ここで./Allwmakeと行きたいところですが、Lubuntu16.10のbisonが新

しすぎるのでエラーになります。エラーメッセージにあるように、以下

のコマンドを実行し、適切なbisonのバージョンをローカルにインス

トールします

$ ./maintainanceScripts/compileRequirements.sh

• bison 2.7.1がDLされて自動ビルドされ、ローカルにインストールまで

行われるはずです。続いてAllwmakeスクリプトを実行し、swak4foam

をビルドしましょう

$ ./Allwmake

参照

関連したドキュメント

●Gartner Magic QuadrantにてクラウドHCM Suiteにおけるリーダーの評価.. Copyright © 2022 Nomura System Corporation Co, Ltd. All Rights Reserved.. Copyright © 2022 Nomura

7IEC で定義されていない出力で 575V 、 50Hz

支援要請入力詳細 13ページ 患者受入入力詳細 14ページ 支援可能スタッフ3.

and Kristjan Vassil (2010) Internet voting in Estonia : a comparative analysis of four elections since 2005 : report for the Council of Europe”Report for the Council of Europe.

2021年1月15日にHa Tay Pharmaceutical Joint Stock Company(

がん化学療法に十分な知識・経験を持つ医師のもとで、本剤の投与が適切と判断さ

日医かかりつけ医機能研修制度 令和 年度応用研修会 「メタボリックシンドロームからフレイルまで」 飯島勝矢 Tamakoshi A ら. Obesity

(Immuno Checkpoint Inhibitor Proper use Support team