ubuntu10.04 にfoam-extent 4.0をインストールしよう

 今回もかなりマニアック。多分たいていの人は興味ない?

 やりたい計算があったのだけど、openFOAMの正式版にはなくてfoam-extentにあることがわかりました。ということでUbuntu20.04にfoam-extentをインストールした過程を今後のためにメモしました。

 将来、また同じようなことをやるかもしれないしのでメモを残しておきます。 間違いや無駄なことをやっているかもしれません。有識者の方のアドバイス、ご意見いただけたら幸いです。


実施日 2022/9  OpenFOAM20.04(USB16G)

1 foam-extendをインストールしようと思い立つ

 以下のホームページに従って進めていく。基本的にはこの資料の手順で進めるのだが何度かつまづいてしまう。

ttps://gitlab.com/serfriz/foam-extend-4.0-ubuntu-20.04

その際にはこのHPが大いに参考になった。感謝、感謝。

https://openfoamquest.hatenablog.jp/entry/2020/10/03/230248


1-0 最初にインストールフォルダを作る

 ホームページの指示では mkdir ~/Apps/FOAM-Extend だけで作れるようだったが

 いきなり/Apps/FOME-Extend は作れなかったのでまずAppsをつくり、つぎにFOAM-Extendをつくった。

mkdir ~/Apps
mkdir ~/Apps/FOAM-Extend
cd ~/Apps/FOAM-Extend

git clone https://gitlab.com/serfriz/foam-extend-4.0-ubuntu-20.04.git foam-extend-4.0


1-1 step1

 以下のコマンド(1つ)をターミナルで実行する。

echo "deb http://archive.ubuntu.com/ubuntu xenial main" | sudo tee /etc/apt/sources.list.d/xenial.list

→問題なし



1-2 step2

以下のコマンドを実行

sudo add-apt-repository ppa:rock-core/qt4

sudo apt-get update

実行→問題なし

1-3 step3

 以下のコマンド(1行)を実行

sudo apt-get install git-core build-essential binutils-dev cmake flex \

zlib1g-dev qt4-dev-tools libqt4-dev libncurses5-dev \

libxt-dev rpm mercurial graphviz python python-dev gcc-5 g++-5

 ⇢ここでエラー多発!! 泣きたくなった。

エラーメッセージは以下のとおり

//---ここからエラーメッセージ---

sudo apt-get install git-core build-essential binutils-dev cmake flex \

> zlib1g-dev qt4-dev-tools libqt4-dev libncurses5-dev \

> libxt-dev rpm mercurial graphviz python python-dev gcc-5 g++-5

パッケージリストを読み込んでいます... 完了

依存関係ツリーを作成しています

状態情報を読み取っています... 完了

インストールすることができないパッケージがありました。おそらく、あり得

ない状況を要求したか、(不安定版ディストリビューションを使用しているの

であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移

動されていないことが考えられます。

以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:

mercurial : 依存: mercurial-common (= 5.3.1-1ubuntu1) しかし、インストールされようとしていません

依存: python2 (< 2.8) しかし、インストールされようとしていません

依存: python2 (>= 2.7~) しかし、インストールされようとしていません

依存: python2:any (< 2.8)

依存: python2:any (>= 2.7~)

python : 先行依存: python-minimal (= 2.7.11-1) しかし、インストールされようとしていません

依存: libpython-stdlib (= 2.7.11-1) しかし、インストールされようとしていません

E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

//---ここまでエラーメッセージ---

どうやら zlib1g-dev、 qt4-dev-tools、libqt4-dev の3つが見つからないみたいなので、この3つを外してインストールした。つまりlibncurses5-devのみをインストールするってこと。


sudo apt-get install git-core build-essential binutils-dev cmake flex \libncurses5-dev libxt-dev rpm mercurial graphviz gcc-5 g++-5


これは無事終了。はずした3つを個別にインストールする。。


① zlib1g-dev のインストール。

https://installati.one/ubuntu/20.04/zlib1g-dev/ を参考にして

以下のコマンド実行

sudo apt-get update

sudo apt-get -y install zlib1g-dev

でインストールした。これも無事終了。


② qt4-dev-tools のインストール

https://zoomadmin.com/HowToInstall/UbuntuPackage/qt4-dev-tools を参考に・・・ 

sudo apt-get update -y 

sudo apt-get install -y qt4-dev-tools 

でできるらしいけど、 1つ目のコマンドは could not get lock /var/lib/apt/lists/lock. it is held by process 1210(packagekitd) とか言われてロックできない・・・保留。 

 2つ目のコマンドは接続できません・・・・のエラーが沢山出てきた。・・・保留。 


③ libqt4のインストール

https://ubuntuhandbook.org/index.php/2020/07/install-qt4-ubuntu-20-04/ を参考にして 

sudo add-apt-repository ppa:rock-core/qt4 

を実行。無事終了。


ここで再度step3 を実行したら・・・

sudo apt-get install git-core build-essential binutils-dev cmake flex \

zlib1g-dev qt4-dev-tools libqt4-dev libncurses5-dev \

libxt-dev rpm mercurial graphviz python python-dev gcc-5 g++-5


まだエラーが出る。エラーメッセージは・・・

sudo apt-get install git-core build-essential binutils-dev cmake flex \

> zlib1g-dev qt4-dev-tools libqt4-dev libncurses5-dev \

> libxt-dev rpm mercurial graphviz python python-dev gcc-5 g++-5

パッケージリストを読み込んでいます... 完了

依存関係ツリーを作成しています

状態情報を読み取っています... 完了

cmake はすでに最新バージョン (3.16.3-1ubuntu1) です。

flex はすでに最新バージョン (2.6.4-6.2) です。

libncurses5-dev はすでに最新バージョン (6.2-0ubuntu2) です。

libxt-dev はすでに最新バージョン (1:1.1.5-1) です。

graphviz はすでに最新バージョン (2.42.2-3build2) です。

mercurial はすでに最新バージョン (5.3.1-1ubuntu1) です。

rpm はすでに最新バージョン (4.14.2.1+dfsg1-1build2) です。

binutils-dev はすでに最新バージョン (2.34-6ubuntu1.3) です。

build-essential はすでに最新バージョン (12.8ubuntu1.1) です。

zlib1g-dev はすでに最新バージョン (1:1.2.11.dfsg-2ubuntu1.3) です。

g++-5 はすでに最新バージョン (5.3.1-14ubuntu2) です。

gcc-5 はすでに最新バージョン (5.3.1-14ubuntu2) です。

git-core はすでに最新バージョン (1:2.7.4-0ubuntu1) です。

インストールすることができないパッケージがありました。おそらく、あり得

ない状況を要求したか、(不安定版ディストリビューションを使用しているの

であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移

動されていないことが考えられます。

以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:

python : 先行依存: python-minimal (= 2.7.11-1) しかし、インストールされようとしていません

依存: libpython-stdlib (= 2.7.11-1) しかし、インストールされようとしていません

python2 : 破壊: python (< 2.7.15-2)

E: エラー、pkgProblemResolver::Resolve は停止しました。おそらく変更禁止パッケージが原因です。



これは・・・pythonがないのと怒っているかな? なのでインストールする。

sudo apt-get update

sudo apt-get install python2

sudo apt-get install python-dev-is-python2

sudo apt-get install python3

sudo apt-get install python-dev-is-python3


やっとstep3が終わった。


1-4 step4

 指示通り以下を実行

cd ~/Apps/FOAM-Extend/foam-extend-4.0

source etc/bashrc

echo "alias fe40='source \$HOME/Apps/FOAM-Extend/foam-extend-4.0/etc/bashrc'" >> $HOME/.bashrc

すると以下のエラーメッセージがでる。


cd ~/Apps/FOAM-Extend/foam-extend-4.0

openfoam@openfoam-CF-NX3EDWCS:~/Apps/FOAM-Extend/foam-extend-4.0$ source etc/bashrc

bash: /usr/bin/mpicc: そのようなファイルやディレクトリはありません

bash: /usr/bin/mpicc: そのようなファイルやディレクトリはありません

bash: /usr/bin/mpicc: そのようなファイルやディレクトリはありません

bash: /usr/bin/mpicc: そのようなファイルやディレクトリはありません


どうも mpicc を インストールする必要があるらしい・・・?

sudo apt install lam4-dev # version 7.1.4-6build2

sudo apt install openmpi-bin # version 4.0.3-0ubuntu1

これでOKかな。


step4の後の説明を見ると

This last line means that whenever you start a new terminal window or tab, you should run the alias command associated to the foam-extend 4.0 shell environment. In other words, whenever you start a new terminal, you should run: fe40

つまりTerminaからfe40を打つとfoam-extendが使えるようになるらしい。

ファイラーで ctrl+h コマンドをうって隠しファイルを見えるように設定を変更して

HOME/.bashrc を開くと最後の行が

 alias fe40='source $HOME/Apps/FOAM-Extend/foam-extend-4.0/etc/bashrc'

となっているので最後に以下を追加した。これで端末(terminal)を開くとextendが使えるのかな?

 fe40

ついでに並列計算用に以下の1行もも追加しておこう。

 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/mpi/gcc/openmpi/lib64/


HOME/.bashrcファイルの最後はこんな感じ

# enable programmable completion features (you don't need to enable

# this, if it's already enabled in /etc/bash.bashrc and /etc/profile

# sources /etc/bash.bashrc).

if ! shopt -oq posix; then

if [ -f /usr/share/bash-completion/bash_completion ]; then

. /usr/share/bash-completion/bash_completion

elif [ -f /etc/bash_completion ]; then

. /etc/bash_completion

fi

fi

alias fe40='source $HOME/Apps/FOAM-Extend/foam-extend-4.0/etc/bashrc'

fe40

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/mpi/gcc/openmpi/lib64/


これで並列計算もできるのかな。



1-5 step5

 ホームページの指示に従って以下のコマンドを実行。

sed -i -e 's=rpmbuild --define=rpmbuild --define "_build_id_links none" --define=' ThirdParty/tools/makeThirdPartyFunctionsForRPM

sed -i -e 's/gcc/\$(WM_CC)/' wmake/rules/linux64Gcc/c

sed -i -e 's/g++/\$(WM_CXX)/' wmake/rules/linux64Gcc/c++

特に何も起こらない。


1-6 step6

 さてコンパイル。

./Allwmake.firstInstall > log.firstInstall 2>&1

かなり時間がかかる。10:15〜13:50  Let's note CF-NX3 (corei5)で3時間以上。古いPCだからかな。



2 試し計算

2-1 cvity計算

 Terminalを新たに開いて cavityのチュートリアルを実行。icoFoamで計算できた!

ところが、paraFoamは呼べるがparaview がないと怒られた。


2-2 paraviewのインストール

 sudo apt-install paraview 

 無事cavityFlowのチュートリアルが計算できてparafoamで結果がみえた!

毎回リーダをどれにするか選ばないといけないのだが、これは回避できないんだろうか?

とりあえずfoam-extendが使えるようになったのかな・・・。本格的な計算はまた今度。

麦酒物理研究所

麦酒物理研究所 ーBeer Physics Reserch Center- フリーのシミュレーションツール(OpenFOAM)をつかっていろいろと解析してみます。初めてのホームページ作成なので、なかなかはかどりませんが、気長に更新していきます。勘違い、間違いがあるかもしれません。ご意見、コメント歓迎します。

0コメント

  • 1000 / 1000