博客主机
A-A+

在Ubuntu上安装OpenFOAM + liggghts + CFDEM coupling

2016年09月22日 热工水力, 离散元法 评论 3 条 阅读 1,517 次
摘要:

工作中,一直在使用离散元进行相关的模拟仿真。所以对开源的离散元程序一直很关注。今天在逛知乎的时候看到有人分享了在ubuntu上安装OpenFOAM + liggghts + CFDEM coupling的中文教程,感觉写的很详细。所以转载过来,以备不时之需。

工作中,一直在使用离散元进行相关的模拟仿真。所以对开源的离散元程序一直很关注。今天在逛知乎的时候看到有人分享了在ubuntu上安装OpenFOAM + liggghts + CFDEM coupling的中文教程,感觉写的很详细。所以转载过来,以备不时之需。全文如下:

 

OpenFOAM 是著名的计算流体力学(CFD)软件;liggghts 基于 lammps 进行大尺度颗粒模拟,可用于基于离散元法(DEM)的模拟;CFDEM coupling 则将前两者结合,耦合流体和固体颗粒的动力方程。

Ubuntu 是十分流行的 Linux 发行版,本文发表时已经发布 15.10 版,作为长期支持版 14.04 仍有巨大的市场份额,Ubuntu 社区也推荐个人用户使用长期支持版。所以,本文已 14.04 为例,介绍 OpenFOAM + liggghts + CFDEM coupling 的安装。

本文发表时,OpenFOAM 已推出 3.0.1 版,但由于 CFDEM coupling 基于 2.2.0开发,支持到 2.3.0 版,因而 OpenFOAM 应选择 2.3.0 版。

liggghts 的版本对 CFDEM coupling 的安装影响不大,可选最新版或笔者选用的3.3.0版。

后处理软件为了与 OpenFOAM 2.3.0 匹配,选用 paraview 4.1;另选用 LPP 将 liggghts 生成的 dump 格式的文件转成 paraview 可识别的 vtk 格式。这一后处理方案也是官网推荐的,笔者认为较为易用。

并行计算选用 openmpi。

下面我们从新装的 Ubuntu 14.04 出发,安装上述软件。注意:在执行命令前请先搞懂命令的含义,并在下载、编译的同时,浏览相关的shell脚本,以便在出现问题时定位原因。

 

1.安装依赖包

安装依赖包之前更新系统。选用合适的软件源,速度会比较快。详情请搜索关键词:更新源。

1.1 从 github 下载、管理源代码的工具 git

sudo apt-get install git-core

1.2 OpenFOAM 和 paraview 的依赖包

sudo apt-get install build-essential flex bison cmake zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libncurses-dev libxt-dev

1.3 安装 openmpi

sudo apt-get install libscotch-dev libopenmpi-dev libcgal-dev

1.4 安装 octave 用于 CFDEM coupling 的后处理

sudo apt-get install octave

1.5 安装 LPP 的依赖包

sudo apt-get install python-numpy

 

2 准备源代码

安装依赖包的同时可以另开一个终端,进行这一步。

2.1 新建目录

先在 home 文件夹下新建几个目录,目录的名称、结构很重要,否则无法用 CFDEM coupling 的脚本自动编译。

cd $HOME

mkdir OpenFOAM

mkdir CFDEM

mkdir LIGGGHTS

2.2 下载 OpenFOAM 及 ParaView 的源代码

官网下载页面http://openfoam.org/archive/2.3.0/download/source.php,下载完后将压缩包移动到$HOME/OpenFOAM/文件夹,并解压。

cd $HOME/OpenFOAM/

tar xzf OpenFOAM-2.3.0.tgz

tar xzf ThirdParty-2.3.0.tgz

2.3 用 git下载 liggghts 和 LPP 的源代码

cd $HOME/LIGGGHTS

git clone CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC

git clone CFDEMproject/LPP.git mylpp

2.4 用 git 下载 CFDEM coupling 的源代码

cd $HOME/CFDEM

git clone CFDEMproject/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-2.3.0

 

3 配置环境变量

打开 .bashrc 文件,添加以下内容。如果有兴趣可以浏览 OpenFOAM 默认的配置文件 $HOME/OpenFOAM/OpenFOAM-2.3.0/etc/bashrc

#==============================================================

#OpenFOAM

source $HOME/OpenFOAM/OpenFOAM-2.3.0/etc/bashrc

#==============================================================

#CFDEM

export CFDEM_VERSION=PUBLIC

export CFDEM_PROJECT_DIR=$HOME/CFDEM/CFDEMcoupling-$CFDEM_VERSION-$WM_PROJECT_VERSION

export CFDEM_SRC_DIR=$CFDEM_PROJECT_DIR/src

export CFDEM_SOLVER_DIR=$CFDEM_PROJECT_DIR/applications/solvers

export CFDEM_DOC_DIR=$CFDEM_PROJECT_DIR/doc

export CFDEM_UT_DIR=$CFDEM_PROJECT_DIR/applications/utilities

export CFDEM_TUT_DIR=$CFDEM_PROJECT_DIR/tutorials

export CFDEM_PROJECT_USER_DIR=$HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSION

export CFDEM_bashrc=$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/bashrc

export CFDEM_LIGGGHTS_SRC_DIR=$HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src

export CFDEM_LIGGGHTS_MAKEFILE_NAME=fedora_fpic

export CFDEM_LPP_DIR=$HOME/LIGGGHTS/mylpp/src

export CFDEM_PIZZA_DIR=$HOME/LIGGGHTS/PIZZA/gran_pizza_17Aug10/src
. $CFDEM_bashrc

#===============================================================

 

4 编译和安装

做完以上全部之后,重新打开一个终端,进行这一步。

4.1 编译 OpenFOAM

cd $HOME/OpenFOAM/OpenFOAM-2.3.0

./Allwmake

如果发生错误,请检查前面的步骤,并重新执行这一步。

4.2 编译 paraview

cd $WM_THIRD_PARTY_DIR

./makeParaView4

这一步完成后,编译 PV4Readers

cd $FOAM_UTILITIES/postProcessing/graphics/PV4Readers

wmSET

./Allwclean

./Allwmake

4.3 检查 OpenFOAM 的安装是否正确

mkdir -p $FOAM_RUN

cp -r $FOAM_TUTORIALS $FOAM_RUN

cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavity

blockMesh

icoFoam

paraFoam

如果弹出 paraview 说明安装正确,否则检查以上步骤,并参阅 OpenFOAM 安装官方指南http://openfoam.org/archive/2.3.0/download/source.php

如果安装正确请进行下一步

4.4 编译 liggghts 和 cfdem coupling

4.4.1检查系统配置

利用 cfdem coupling 的系统检查脚本,检查系统配置

cfdemSysTest

如果这一步没有报错,进行下一步。如果有报错请按错误提示排错,笔者安装时,mpic++ 没有配置好,需要修改 mpic++ 的配置文件指定编译器。如果提示命令没有发现,说明 .bashrc 文件没有配置正确,参见前文或官方指南http://www.cfdem.com/system/files/githubaccess_public.pdf

4.4.2 编译 liggghts

利用 cfdem coupling 提供的脚本编译 liggghts

cfdemCompLIG

也可以根据 liggghts 的官方指南进行编译,建议使用脚本。编译结束后,新开一个终端输入 liggghts 命令,检查 liggghts 是否安装成功。如果提示命令没有找到,参见 liggghts 官方指南,或输入

cd $HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src

make clean-all

make fedora

重试,看有没有 lmp_fedora 文件生成,若有则编译成功,尝试重新运行

cfdemCompLIG

则可生成 lmp_fedora_fpic 文件。

4.4.3 编译 LPP

mkdir $HOME/bin

cd $HOME/LIGGGHTS/mylpp

./install

4.4.4 编译 CFDEM coupling

这一步很容易报错,前面有关 OpenFOAM 和 liggghts 的步骤很重要。运行命令编译 CFDEM coupling

cfdemCompCFDEM

4.5 测试

输入命令进行测试

cfdemTestTUT

按提示输入y,回车,如果安装正确会弹出 octave 绘出的图。

 

原作者是张祺,再次感谢他的无私分享!

 

另外之前我写过一个仅在ubuntu上安装liggghts的教程:http://gongbaoping.cn/76.html

 

3 条留言  访客:3 条  博主:0 条

  1. 华夏兼职任务网

    天昏地暗,也阻挡不住我对你博客的爱恋!

  2. QQ-41158430

    学习带来乐趣,谢谢博主!

  3. 网赚论坛

    访问您的博客已成习惯!

给我留言

博客简介 | 广告合作 | 版权说明 | 网站地图
Copyright © 望天博客 保留所有权利.  Theme by Ality 蜀ICP备15004325号-2

用户登录

分享到: