4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OpenFOAMの環境構築2018

Last updated at Posted at 2018-01-20

OpenFOAMの環境構築

新しいバージョンがリリースされるたびにインストールは少し面倒くさい。
特にOpenFOAMはextend版(OpenFOAM+)などもあり、年に数回はインストール作業をせざる得ないしたくなる。

それ以外に、毎年新年には新しい環境を作りたくなる人向けにAnsibleを用いたOpenFOAMの環境構築を紹介する


ansibleFoamInstallation

  • OpenFOAM-extendのサブプロジェクト
  • サポートするOpenFOAMのディストリビューション
  • OpenFOAM 4.1
  • OpenFOAM 5.0
  • Foam-Extend 4.0
  • OpenFOAM v1612+
  • OpenFOAM v1706+
  • OpenFOAM v1712+
  • サポートするOSのディストリビューション
  • CentOS7
  • ArchLinux
  • MacOS X (必要なパッケージのインストールは手動らしい)
  • Ubuntu 16.04 LTS
  • Fedora Linux
  • AlpineLinux
  • CentOS6 (OpenFOAM v4.0, v1612+, Foam-Extend 4.0はサポートせず)
  • sudo権限は必要
  • localhostで実行されることを想定(sshでもインベントリファイルや変数theHostなどを正しく設定すればできる)

詳しくはhttps://sourceforge.net/p/openfoam-extend/ansibleFoamInstallation/ci/default/tree/README.md を参照


下準備

以降、Ubuntu 16.04 LTSをベースに説明する

Ansibleのインストール

Ubuntu 1604 LTS のパッケージマネージャーにあるAnsibleはバージョンが低いので
pipでインストールする。
rootユーザがAnsibleを実行できるようにsudoでインストール

sudo pip install ansible

ansibleFoamInstallationのリポジトリ取得

Mercurialをインストール後、任意のディレクトリでリポジトリを取得する

sudo apt install -y mercurial
mkdir ~/src
cd ~/src
hg clone http://hg.code.sf.net/p/openfoam-extend/ansibleFoamInstallation
cd ansibleFoamInstallation

OpenFOAMのインストールの設定

exampleConfigs/allFoams.ymlを下記のように書き換える

exampleConfigs/allFoams.yml

---
- hosts: localhost
  roles:
#    - { role: pyfoam }
    - { role: swak4foam ,     distro: p1712 }
    - { role: swak4foam ,     distro: of50 }
#    - { role: swak4foam ,     distro: p1706 }
#    - { role: swak4foam ,     distro: p1612 }
#    - { role: swak4foam ,     distro: fe40 }
#    - { role: cfmesh ,        distro: of50 }
#    - { role: cfmesh ,        distro: p1706 , cfmeshversion: development}
#    - { role: cfmesh ,        distro: fe40 }
#    - { role: cfmesh ,        distro: p1612 }
#    - { role: openfoambuild , distro: of50 , buildopts: "WM_COMPILE_OPTION=Debug" }

これでOpenFOAM 5.0とv1712+がswak4foamと一緒にコンパイルできる

cfmeshはOpenFOAM 5.0には対応していないはずなのでコメントアウトしている
またコメントアウトにはしていますがv1706にはdevelopmentブランチのみ対応しているので変数cfmeshversionにdevelopmentを指定している


Ansibleの実行

前述した通り、localhostで実行されることが想定されている

sudo ansible-playbook exampleConfigs/allFoams.yml --extra-vars="{'foamuser':'ubuntu'}"

foamuserをubuntuとしている。これにより/home/ubuntu以下にOpenFOAMがインストールされる。
python3をデフォルトにしている場合は下記のようにpython3のpathを指定する

sudo ansible-playbook exampleConfigs/allFoams.yml --extra-vars="{'foamuser':'ubuntu'}" -e "ansible_python_interpreter=/usr/bin/python3"

インストール結果

ls -lh /home/ubuntu/OpenFOAM

total 267M
drwxr-xr-x  3 ubuntu root   4.0K Jan 19 12:40 Additional-OpenFOAM-5.0
drwxr-xr-x  3 ubuntu root   4.0K Jan 19 09:43 Additional-OpenFOAM-v1712
drwxr-xr-x 11 ubuntu ubuntu 4.0K Jan 19 12:40 OpenFOAM-5.0
drwxr-xr-x 12 ubuntu   1001 4.0K Jan 19 09:43 OpenFOAM-v1712
-rw-r--r--  1 root   root    71M Jan 19 06:28 OpenFOAM-v1712.tgz
drwxr-xr-x  5 ubuntu ubuntu 4.0K Jan 19 13:05 site
drwxr-xr-x  6 ubuntu ubuntu 4.0K Jan 19 10:15 ThirdParty-5.0
drwxr-xr-x 12 ubuntu   1001 4.0K Jan 19 06:31 ThirdParty-v1712
-rw-r--r--  1 root   root   196M Jan 19 06:29 ThirdParty-v1712.tgz
drwxr-xr-x  3 ubuntu ubuntu 4.0K Jan 19 12:45 ubuntu-5.0
drwxr-xr-x  3 ubuntu ubuntu 4.0K Jan 19 08:39 ubuntu-v1712

無事インストールできている。


動作確認情報募集

動作確認情報、お待ちしております。
随時更新予定!

versions CentOS7 ArchLinux MacOS X Ubuntu 1604 LTS Fedora Linux AlpineLinux CentOS6
OpenFOAM 4.1
OpenFOAM 5.0
Foam-Extend 4.0
OpenFOAM v1612+
OpenFOAM v1706+
OpenFOAM v1712+
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?