2
2

CFDM-PFM・Liggghts-PFMのインストール

Posted at

CFDEMのPublic版とPremium版

以前の記事でCFDEMの環境構築を紹介しました。wsl上に構築したCFDEMをいろいろと試してみたのですが、所々機能制限があることが分かりました。CFDEMには2つのバージョンがありますが、それぞれで使える機能が異なるようです。

  • CFDEM-Public
    フリーライセンス。誰でも利用可。
  • CFDEM-Premium
    ユーザー限定。研究利用などで認定された団体だけが使用可能。もしくは、ライセンス料を支払うことで利用可能。Publicにはない機能が利用できる。

一般利用では、CFDEM-Publicになると思いますが機能が限定されています。例えば、VOF法+DEMの連成はPremiumでないと専用のソルバーを使用することができません。。。
VOF法+DEMの解析をしたいなーと思っていたので残念、、と思っていたのですが、調べていくとCFDE-PFMというものがあることが分かり、そちらでは解析できる模様。ということで、wsl上にCFDEM-PFMの計算環境を構築してみたので、その方法を共有します。

CFDEM-PFM

CFDEM-PFMですが、CFDEMからフォークして開発が進められているプロジェクトのようです。CFDEMの更新は数年前から行われておらず、開発は終了してしまったかと思っていたのですが、どうやらCFDEM-PFMの方で開発が継続しているようです。以下サイトを参考にwsl上のインストールしていきます。

インストール

前提条件

今回は以下条件でインストールを進めていきます。
Ubuntuはほかのバージョンでも頑張ればインストールできると思いますが、18.04LTSで構築するのが一番簡単です。

  • wsl2
  • Ubuntu 18.04LTS

手順

CFDEM-PFMはOpenfoam6(推奨)/Openfoam5/Openfoam4をベースに連成用ソルバーをコンパイルできるようです。ただし、現状Openfoam6でCFDEM-PFMをビルドした場合、VOF法+DEMの連成用ソルバーが使用できない状態となっています。バグを抱えているため使用できないようです。そこで今回は推奨されているOpenfoam6とVOF法+DEMの連成のためにOpenfoam5を使用した2通りの方法でインストールしていきます。
まず、依存関係のパッケージをインストールします。

sudo apt-get update
sudo apt-get install git-core 
sudo apt-get install build-essential flex bison cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev libscotch-dev libptscotch-dev
sudo apt-get install libqt5x11extras5-dev libxt-dev qt5-default qttools5-dev curl python-dev
sudo apt-get install libvtk6-dev
sudo apt-get install python-numpy
sudo apt-get install octave

Openfoma6/5をインストールするために、リポジトリを追加します。

sudo sh -c "wget -O - https://dl.openfoam.org/gpg.key > /etc/apt/trusted.gpg.d/openfoam.asc"
sudo add-apt-repository http://dl.openfoam.org/ubuntu
sudo apt-get update

リポジトリを追加するとapt-getで簡単にOpenfoamがインストールできます。

sudo apt-get -y install openfoam6
sudo apt-get -y install openfoam5

今回は/optフォルダー内にCFDEMをインストールしていこうと思います。/optフォルダーに移動し、Openfaomのバージョン毎に2つのディレクトリを作成します。

sudo mkdir CFDEM-5
sudo mkdir CFDEM-6

それぞれのフォルダーに移動し、CFDEMのインストールに必要なソースをクローンします。

git clone https://github.com/ParticulateFlow/LIGGGHTS-PFM.git
git clone https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
git clone https://github.com/ParticulateFlow/LPP.git

クローン出来たら、Liggghts-PFMのインストールから進めていきます。まずはCFDEM-5から。

cd /opt/CFDEM-5
cd LIGGGHTS-PFM
mkdir - p src-build
cd src-build
cmake ../src/
make

続いて、CFDEMcoupling-PFMのインストールを行います。

cd /opt/CFDEM-5/CFDEMcoupling-PFM
nano /opt/CFDEM-5/CFDEMcoupling-PFM/etc/bashrc

nanoでCFDEMのbashrcを編集します。
冒頭部分を以下のように書き換えてください。

bashrc.sh
#----------------------------------*-sh-*--------------------------------------
# CFDEMcoupling
#
# Copyright 2009-2012 JKU Linz
# Copyright 2012-2015 DCS Computing GmbH, Linz
# Copyright 2015-     JKU Linz
#------------------------------------------------------------------------------
#
# File
#     etc/bashrc
#
# Description
#     Startup file for CFDEMcoupling
#     Sourced from ~/.profile or ~/.bashrc
#
# you can test the correctness using cfdemSystemTest.sh
#------------------------------------------------------------------------------

export CFDEM_PROJECT=CFDEM-5
export CFDEM_VERSION=23.02

################################################################################
# USER EDITABLE PART: Changes made here may be lost with the next upgrade
#
# Please set to the appropriate path if the default is not correct.
#
# activate compatible OpenFOAM version
. /opt/openfoam5/etc/bashrc
#
# CFDEMcoupling
export CFDEM_INST_DIR=/opt/$CFDEM_PROJECT
export CFDEM_PROJECT_DIR=$CFDEM_INST_DIR/CFDEMcoupling-PFM
export CFDEM_PROJECT_USER_DIR=$CFDEM_INST_DIR/$USER-$WM_PROJECT_VERSION
#
# LIGGGHTS
export CFDEM_LIGGGHTS_INST_DIR=$CFDEM_INST_DIR/LIGGGHTS-PFM
#
# LPP installation path
export CFDEM_LPP_INST_DIR=$CFDEM_INST_DIR/LPP
#
# Path to additional libraries
export CFDEM_ADD_LIBS_DIR=
#
# END OF (NORMAL) USER EDITABLE PART
################################################################################

編集が完了したら保存して閉じ、CFDEMのbashrcを読み込みます。
また、openfoam5のbashrcも読み込みます。

.sh
source /opt/CFDEM-5/CFDEMcoupling-PFM/etc/bashrc
source /opt/openfoam5/etc/bashrc

ここまで完了したら、CFDEM-PFMのコンパイルを行います。
そのまえに、コンパイルに使用するコア数を指定します。
~/.bashrcに環境変数を追加します。環境に応じて、WM_NCOMPPROCSの数値を調整してください。

.sh
echo "export WM_NCOMPPROCS=2" >> ~/.bashrc
source ~/.bashrc

以下のコマンドを順に実行し、コンパイルしていきます。
完了までに少し時間がかかります。

cfdemSysTest 
cfdemCompLIG
cfdemCompCFDEMsrc
cfdemCompCFDEMsol
cfdemCompCFDEMuti

すべて実行完了したら、opt/CFDEM-5/CFDEMcoupling-PFM/etc/log の中身を確認してください。
"log_compile_results_success"というlogファイルが存在し、"log_compile_results_failed"というlogファイルが出力されていなければ無事完了しています。
以上でopenfoam5を用いたCFDEM-PFMのインストールは完了です。
続いて同様の手順でCFDEM-6内にopenfoam6を用いたCFDEM-PFMをインストールしてください。ソースのクローンから同様のでできるはずです。

CFDEM-5とCFDEM-6のフォルダにそれぞれインストールが完了したら、以下のaliasを~/.bashrcに追記します。

alias cfdem5='source /opt/openfoam5/etc/bashrc; /opt/CFDEM-5/CFDEMcoupling-PFM/etc/bashrc'
alias cfdem6='source /opt/openfoam6/etc/bashrc; /opt/CFDEM-6/CFDEMcoupling-PFM/etc/bashrc'

このaliasを登録しておけば、シェルで"cfdem5"や"cfdem6"と入力するだけで、CFDEM-PFMの環境を適用でき、バージョンの切り替えも可能になります。

以上でCFDM-PFMのインストールは完了です。
次回はチュートリアルを実行してみます。

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