はじめに
Apple Silicon、Apple M1 チップ、を搭載したMacでOpenCFD版(ESI)のOpenFOAM-v2106をビルドする方法を示す。
ファイル
以下のファイルが必要になります。
Case-sensitive
Macは、デフォルトで大文字小文字を区別しないファイルボリュームが使われているケースがある。OpenFOAMは、大文字小文字を区別する必要があるので、お使いのMacにAPFS (大文字/小文字を区別) ボリュームを作って、そこにOpenFOAMファイルを展開する。
ThirdParty
これに書かれているように、ThirdPartyはbrewで先にインストールする。
build方法
- 全てのファイルをCase-sensitiveのボリュームに保存する。
- OpenFOAMv2106.tgzとThirdParty-v2106.tgzを展開する。
$ tar xvzf OpenFOAM-v2106.tgz
$ tar xvzf ThirdParty-v2106.tgz
- OpenFOAM-v2106ディレクトリに移動し、パッチを当てる。
$ cd OpenFOAM-v2106
$ cp ../OpenFOAM-v2106.patch .
$ patch -p1 < OpenFOAM-v2106.patch
- feexceptErsatz.Hを差し替える。
$ mv src/OSspecific/POSIX/signals/feexceptErsatz.H src/OSspecific/POSIX/signals/feexceptErsatz.H_org
$ cp ../feexceptErsatz.H src/OSspecific/POSIX/signals/feexceptErsatz.H
- build
$ . etc/bashrc
$ ./Allwmake
最後に
OpenFOAM-v2106.patchでは、etc/config.sh/FFTWが適切に書かれない。私の場合は、brewでFFTWをインストールし、それへのパスをこのファイルに追記した。