週末はいつも晴れ

社会人3年目の日記です。プログラミングとか旅行とかラーメン。

OpenFOAMメモ

あんまりこの形式でインストールする人はいないと思います。
私用のメモ

vagrant

まずvagrantをインストールした。
イメージはCentOS7を使う。以下のVagrantFileを使用する。
Vagrant box centos/7 - Vagrant Cloud
paraviewを使うのでX11の設定を書き込む

config.ssh.forward_x11 = true

Trueにしてたせいで5分悩んだ。
コピペは積極的にすべきと再認識。

vagrantを起動

vagrant init
vagrant up

vagrantゲストのシャットダウン

vagrant halt

docker

OpenFOAMがdockerで配布されているのでdocker ceをインストールする。
vagrantssh接続してdockerをインストールした。

vagrant ssh
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce

そのほか、X windowyumでgroupinstallした。

OpenFOAM

ここで結構めんどくさかった。

まず前提としてvagrantゲストのエディタ・ParaViewからOpenFOAMの入出力にさわりたい。
なぜならdocker上にコンパイラとかエディタを入れるのは難しいから(OpenFOAMのdockerのrootパスワードがわからない)。
また、vagrantのホストからvagrantを飛び越えてdockerのファイルにアクセスする設定をするのは面倒臭そうだから。

面倒ごとを回避しようとしても、結局面倒な問題を1つは解決しないといけない問題に衝突するんですけどね。
今回も同じ。

dockerをsudo無しで実行できるようにする

vagrantにはvagrantさんで入る。
いちいちsudoするのがめんどくさいし、sudoでdocker runしたファイルはvagarntさんがいじれなくなる。
Dockerコマンドをsudoなしで実行する方法 - Qiita

OpenFOAMをインストールする

まずはdockerのdaemonを立ち上げる

sudo systemctl start docker

OpenFOAMのdockerスクリプトをダウンロード

wget --trust-server-names https://sourceforge.net/projects/openfoamplus/files/v1706/installOpenFOAM
wget --trust-server-names https://sourceforge.net/projects/openfoamplus/files/v1706/startOpenFOAM

それぞれ実行権限を与える。

chmod +x installOpenFOAM
chmod +x startOpenFOAM

dockerのワークディレクトリをvagrantゲストのどのディレクトリに割り当てるか、installOpenFOAMのhome変数で指定する。

書きかけ