LoginSignup
1
1

More than 1 year has passed since last update.

M1 MacでUbuntu入れて,OpenFOAM使えるようにする

Last updated at Posted at 2023-05-24

概要

M1 MacにUbuntuをインストールして,OpenFOAMをビルドするまでの手順です。

以前,M1 Mac上でUbuntuいれるとかなしで,OpenFOAMビルドするのは以下でやりましたが,今回はUbuntu入れてから,OpenFOAMのビルドします。
https://qiita.com/ishigaki/items/52c5996f7d6e56376168

OS

  • Multipassをhomebrewでインストール。brew install --cask multipassをターミナルで実行。
  • MultipassでUbuntu18.04をインストール。multipass launch --cpus 2 --disk 20G --memory 4G --name ubuntu18 18.04 をターミナルで実行。イメージの名前がubuntu18, 最後がバージョン。
  • コア数は4程度にする。
  • XquartzをMacにインストールしておく。

Mac側の作業

$ brew install --cask multipass
$ multipass launch --cpus 4 --disk 20G --memory 4G --name ubuntu18 18.04 

OpenFOAM (Ubuntu側の作業)

  • aptでインストールできない。(Arm64のバイナリが配布されてない)
  • OpenFOAM7以降なら,Arm64のビルドは可能。
  • OpenFOAM 8をインストール。
  • gcc-5, g++-5をインストール。gcc-5, g++-5のシンボリックリンクをgcc, g++としてホーム($MOHE/usr/local/bin)に作る。
  • PATH設定で $HOME/usr/local/bin が先にくるようにする。

シンボリックリンクの作成

$ sudo apt install gcc-5, g++-5
$ sudo ln -s /usr/bin/gcc-5 $HOME/usr/local/bin/gcc
$ sudo ln -s /usr/bin/g++-5 $HOME/usr/local/bin/g++

.bashrcに追記

export PATH=$HOME/usr/local/bin:$PATH

ThirdParty-8をOpenFOAMディレクトリにダウンロード

$ mkdir $HOME/OpenFOAM
$ cd $HOME/OpenFOAM
$ wget http://dl.openfoam.org/third-party/8
$ tar xvf 8

OpenFOAM-8をGithubからクローン

$ cd $HOME/OpenFOAM
$ git clone https://github.com/OpenFOAM/OpenFOAM-8.git

ビルドに必要なライブラリのインストール (OpenFOAMの公式通り https://openfoam.org/download/source/software-for-compilation/)

$ sudo apt-get install build-essential cmake git ca-certificates
$ sudo apt-get install flex libfl-dev bison zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev
$ sudo apt-get install libqt5x11extras5-dev libxt-dev qt5-default qttools5-dev curl

OpenFOAM-8のビルド

$ cd $HOME/OpenFOAM/OpenFOAM-8
$ ./Allwmake

Allwmakeのときに-jのオプションで並列ビルドできるけど,メモリが足りなくなる可能性がある。つけるなら,最初に確保したコア数を指定する。

Paraview

  • Paraview-5.0.1をダウンロードしてくる。デフォルトは5.6.3だけどビルドに失敗する。
  • OpenFOAM-8/etc/config.sh/paraviewのなかのParaviewのバージョンを5.0.1にする。
  • etc/tools/ParaViewFunctions, makeParaviewはThirdParty-4の内容に書き換える。https://github.com/OpenFOAM/ThirdParty-4.x を参考にする。(この作業はしなくてもビルドは通るが,Segmentation faultするので,必要な作業)
  • Pythonを有効にする。 (必須)
  • makeParaviewを実行。
  • 最悪,aptでparaviewがインストールできる。

$HOME/OpenFOAM/OpenFOAM-8/etc/config.sh/paraviewの編集。以下のようにする。

#- ParaView version, automatically determine major version
#export ParaView_VERSION=4.0.1
#export ParaView_VERSION=4.1.0
#export ParaView_VERSION=4.3.1
#export ParaView_VERSION=4.4.0
#export ParaView_VERSION=5.0.0
export ParaView_VERSION=5.0.1
#export ParaView_VERSION=5.4.0
#export ParaView_VERSION=5.5.0
#export ParaView_VERSION=5.6.3
export ParaView_MAJOR=detect

makeParaviewのPython関係のところを以下のようにする。

withPYTHON=true
PYTHON_LIBRARY="/usr/lib/aarch64-linux-gnu/libpython2.7.so.1.0"

Paraviewのビルド

$ cd $HOME/OpenFOAM/ThirdParty-8/
$ ./makeParaview

まとめ

OpenFOAMのビルドはデフォルトのGccでできますが,Paraviewのビルドで失敗するので,Gcc 5を使うようにしました。OpenFOAMのビルドは簡単でした。Paraviewのビルドがたいへん

MacにOepnFOAM入れるようなひとは,すでにOpenFOAMのビルドは散々やってきたひとだとおもうので,要点だけ書きました。質問等あったらコメントください。

1
1
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
1
1