本次安装基于新安装的ubuntu18.04LTS桌面版系统,用户名为ubuntu,此前未安装其他软件(进行了系统提醒的更新),安装时间为2019年9月。

安装前需确认需要安装的OpenFOAM版本,CFDEM coupling对支持的OpenFOAM版本有要求,从CFDEM官网查看而后选择要安装的OpenFOAM版本。

以下出现的命令和添加的环境变量可能需要按照自己文件路径的情况进行调整。

1.openfoam的安装

基本按照官网(https://openfoam.org/download/source/)的教程进行分为:

(1)安装编译所需软件

先检查是否安装gcc,终端输入 gcc –version ,如未安装,sudo apt install gcc命令安装,需要4.8版本及以上,安装后可再次gcc –version查看版本

Install general packages for OpenFOAM 命令为:

sudo apt-get install build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev

Install packages for ParaView命令为:

sudo apt-get install qt4-dev-tools libqt4-dev libqt4-opengl-dev freeglut3-dev libqtwebkit-dev curl

(2)下载OpenFOAM源码包及第三方软件thirdparty源码包

可在以下网址https://github.com/OpenFOAM 找到历史各个版本,此次将安装5.x版本,将源码解压后去掉master后缀,放在home目录下,如图

(3)配置环境变量

终端输入  gedit $HOME/.bashrc

会打开一个文件,我们在文件的最底部重新取一行添加下述文字:

source $HOME/OpenFOAM-5.x/etc/bashrc

保存并关闭。关闭终端并打开新的终端的时候,环境变量自动生效。

(4)编译openfoam

终端切换到OpenFOAM-5.x文件夹下,输入命令

./Allwmake -j   全线程并行编译或者

./Allwmake

串行编译,通常并行随线程增多,编译速度更快

(5)编译第三方软件

终端切到ThirdParty-5.x文件夹下,输入命令   ./Allwmake

于此处下载paraview源码包http://www.paraview.org/files/,注意paraview版本要与thirdparty要求符合,本次安装paraview-5.4.0(http://www.paraview.org/files/v5.4/ParaView-v5.4.0.tar.gz),下载后解压(注意文件夹命字将v去掉)至ThirdParty-5.x文件夹下

同样终端切到ThirdParty-5.x文件夹下,输入命令

./makeParaView  编译时间稍长,

而后键入命令  wmRefresh

再分三次键入命令

cd $FOAM_UTILITIES/postProcessing/graphics/PVReaders

./Allwclean

./Allwmake

此时重开终端,输入命令paraview即可打开paraview,若出现Failed to load module

"canberra-gtk-module",则终端输入命令

sudo apt install libcanberra-gtk-module

再次打开paraview此情况消失。

2.下载Liggghts和lpp

官网:https://www.cfdem.com/media/DEM/docu/Section_intro.html

官网使用 make auto命令的编译方式,对耦合分析来说是不足够的,此处只是先下载到指定位置,之后再编译

创建LIGGGHTS文件夹    mkdir LIGGGHTS

终端切到LIGGGHTS文件夹下    cd LIGGGHTS

使用git下载将要耦合编译的liggghts:

git clone https://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC

lpp需要安装python

sudo apt-get install python-numpy

使用git下载lpp到LIGGGHTS文件夹下:

git clone https://github.com/CFDEMproject/lpp.git

3.下载CFDEM并耦合编译

(1)下载CFDEM

打开终端分别输入下列命令

mkdir

CFDEM

cd CFDEM

git clone git://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION

(2)路径的添加

利用终端命令

gedit ~/.bashrc

打开.bashrc文件,在文件末尾添加内容

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

source cfdem env vars

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=auto

export CFDEM_LPP_DIR=$HOME/LIGGGHTS/lpp/src

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

. $CFDEM_bashrc

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

网上的教程里面

export CFDEM_LIGGGHTS_MAKEFILE_NAME=auto

这句中,auto为fedora_fpic或fedora,导致无法生成lmp_xxx文件,编译无法继续,本次安装进行了修改

利用 cfdem coupling 的系统检查脚本,检查系统配置,终端输入  cfdemSysTest

出现如下图的信息,critical为yes的项,valid必须为yes,若有不符合的情况,修改前面.bashrc里添加的信息使之符合

(3)耦合编译

编译liggghts,直接开终端命令    cfdemCompLIG

编译cfdem,直接开终端

cfdemCompCFDEMall

出现此错误时:

是动态库链接的问题,动态库位置在:

/home/ubuntu/LIGGGHTS/LIGGGHTS-PUBLIC/lib/vtk/build/lib

打开终端,切换root用户    sudo su

打开d.so.conf文件         gedit /etc/ld.so.conf

将报错中缺少的动态库文件地址加到末尾:

include

/etc/ld.so.conf.d/*.conf

/home/ubuntu(这里是你命名的用户,根据实际情况修改)/LIGGGHTS/LIGGGHTS-PUBLIC/lib/vtk/build/lib

保存后重新编译

(4)安装CFDEM后处理需要的octave

sudo apt-get install octave

4.编译后查看是否安装成功

1.试运行

CFDEM/CFDEMcoupling/PUBLIC-5.x/tutorials/cfdemSolverPisoScalar/settingTestMPI这个算例,终端切到该文件夹下,输入  ./Allrun.sh   开始计算,会出现下图:

2.运行CFDEM/CFDEMcouplingPUBLIC-3.0.1/tutorials/cfdemSolverPisoScalar/packedBedTemp这个算例,在该算例中有CFD文件夹,有DEM文件夹,有Allrun.sh文件,有parCFDDEMrun.sh文件,有parDEMrun.sh文件。这些都是标准设置,可以进入参考,后面会有详细介绍。这里,进入parCFDDEMrun.sh文件,将cleanup=”true”

改为cleanup=”false” 将runOctave=”true” 改为runOctave=”false”并保存。修改的目的是保存程序运行过程中的文件,可以后续查看。回到terminal,输入:

./Allrun.sh

#根据该算例设置,先运行in.liggghts_init文件 150000步,然后在耦合运算 1.5s (参考该算例CFD/system/controlDict文件)。如果算例可以正常运行,说明pisoScalar Solver 也正确安装

后处理部分

1.颗粒部分

运行算例后,DEM文件夹下的post文件夹下保存的文件为颗粒信息,需要用lpp转换为vtk格式才能用paraview读取,用gedit ~/.bashrc命令打开.bashrc,在文件后部添加   alias lpp="python2 $HOME/LIGGGHTS/lpp/src/lpp.py"(根据自己lpp.py的位置来更改),若出现python版本问题导致的错误,参考https://www.cnblogs.com/Jay-CFD/p/9872426.html提出的办法。

post文件夹下终端输入

lpp dump*.liggghts_run

将颗粒的文件转换为vtk格式,就可以用paraview打开了

2.流场部分

并行运算得到的流场结果会根据并行线程数分为数个部分n个processor文件夹(processor0~processorn-1),计算完成后需要合并在一起才是完整的流场,理论上应该在CFD文件夹下打开终端

然后命令行分别输入:

reconstructPar

foamToVTK #(可能不需要)

然后就能在CFD文件夹下生成对应时间的文件夹,而后可以导入case.foam(手动创建的空文件)到paraview中(未尝试),也可以从processor0文件夹下复制file.foam文件(空文件)到CFD文件夹下,而后用paraview打开file.foam文件即可

但实际试验后发现reconstructPar运行出现了问题,如图

openfoam5可能有无法使用reconstructPar的bug,看到有人的解决方案是共存安装了openfoam4,处理时改变环境变量调用of4的reconstructPar来处理合并问题,对此进行了尝试,发现of4果然可以解决问题,而安装of6调用of6的reconstructPar不能解决问题

本次安装openfoam4.x,过程如前面1中的(1)(2)(3)(4),并不需要(5)编译第三方软件,但是要注意仍然要下载解压ThirdParty-4.x到与of4同一文件夹下,否则of4编译无法完成,安装完成后将安装过程中为of4添加的环境变量用#注释掉,保留of5的环境变量就好了,同时为了方便调用of4的reconstructPar,添加一个alias:

alias of4x="source $HOME/OpenFOAM-4.x/etc/bashrc"

如图:

完成后只需在CFD文件夹下开终端依次输入

of4x

reconstructPar

foamToVTK

合并后关掉这个终端就可以了

openfoam耦合liggghts安装的更多相关文章

  1. OpenFoam+CFDEM+Liggghts安装耦合

    这里安装的时间节点为:2018.10.29,安装的是目前的最新版本CFDEM,支持到与OpenFoam-5.x的耦合. 1. 先安装openfoam:https://openfoam.org/down ...

  2. 面系那个对象开发原则.高内聚.低耦合+Python安装详细教程+print输出带颜色的方法

    面系那个对象开发原则.高内聚.低耦合 软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准.划分摸块的一个准则就是高内聚低耦合. 这是软件工程中的概念,是判断设计好坏的标准,主要是面向OO的设计, ...

  3. Ubuntu1604下安装Liggghts及CFDEM Coupling

    部分内容参考http://www.linuxdiyf.com/linux/16315.html LIGGGHTS是一款开源的DEM软件,来自于著名的分子动力学软件LAMMPS,目前借助于CFDEM C ...

  4. OpenSUSE下编译安装OpenFoam

    在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式.以下以OpenSuSE为例进行编译安装. 1 软件包准备 需要下载两个程序包: OpenFOAM-4.x-version-4.1. ...

  5. 【OpenFOAM案例】03 Docker安装OpenFOAM

    "工欲善其事必先利其器",软件装不上,讲再多的使用技巧也是白搭.近期不少留言说OpenFOAM不容易安装,今天来谈谈如何在Linux下利用Docker安装OpenFOAM. Lin ...

  6. Windows下OpenFOAM开发及使用环境配置指南 (2)【转载】

    转载自:http://openfoam.blog.sohu.com/158751915.html *************************************************** ...

  7. 深入理解 OpenFOAM 环境变量与编译

    操作系统选择 由于 OpenFOAM 在 Linux 平台开发和测试,在非 Linux 平台无法直接对软件进行编译和安装,所以在非 Linux 平台上最简便方法是使用 docker 容器运行 Open ...

  8. 微服务效率工具 goctl 深度解析(上)

    前言 本文根据 安前松 的视频分享整理而来,视频回放地址如下: https://www.bilibili.com/video/BV1Hr4y1x7Ne goctl 的由来 1. goctl 的诞生 g ...

  9. openfoam 的安装【转载】

    原文地址: http://blog.sina.com.cn/s/blog_14bf001d10102wifw.html OpenFOAM安装 OpenFOAM基于Linux系统下运行,由于对Linux ...

随机推荐

  1. (尚014)Vue过渡与动画

    操作元素时有个过渡或动画的效果(渐变和移动的效果和放大缩小的效果) 过渡:trasition 动画:animation 1.vue动画的理解 1)操作css的trasition或animation(它 ...

  2. LIO -SCSI target

    2010年底,LIO 项目获选成为新的内核态的 SCSI target,取代原有的用户态的 STGT 项目.当时有两个主要的竞争项目(LIO和SCST),都在努力将代码并入主线内核.本文将比较着两个项 ...

  3. 猴猴的比赛 dfs序

    猴猴的比赛 dfs序 两颗\(n\)节点的树,不相同,问多少点对\((u,v)\)在两棵树上均满足路径\(v\)在\(u\)子树中 \(n\le 10^5\) 暴力: \(n^2\)暴力枚举点对用\( ...

  4. 洛谷 P2872 [USACO07DEC]道路建设Building Roads 题解

    P2872 [USACO07DEC]道路建设Building Roads 题目描述 Farmer John had just acquired several new farms! He wants ...

  5. deepin 深度Linux系统 15.11 链接蓝牙鼠标问题

    不知道为毛就是搜索不到,好吧只能用老方法,那就是不使用deepin系统自带的面板进行管理 用下面的命令进行安装配置即可 sudo apt install bluetooth blueman bluem ...

  6. [内网渗透]Mimikatz使用大全

    0x00 简介 Mimikatz 是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点就是他可以直接从 lsass.exe 进程中获取当前登录系统用户名的密码 ...

  7. Shell编程—企业生产案例

    Linux系统Shell编程—企业生产案例(一) 企业数据库可以说是重点保护对象啊,没有之一,数据在当今企业里就是生命线,因此今天就来说一说,如何通过shell脚本来检查或监控MYSQL数据库服务是否 ...

  8. 依赖倒置原则(DIP)

    1. 定义 (1)高层模块不应依赖于低层模块,两者都应该依赖于抽象.(2)抽象不应该依赖于细节,细节应该依赖于抽象. 为什么是“倒置”这个词? 这是由于许多传统的软件开发方法,比如结构化分析和设计,总 ...

  9. 反手来个K8S入门到跑路

    layout: post title: 反手来个K8S入门到跑路 category: linux date: 2019-06-09 tags: linux k8s 反手来个K8S入门到跑路 前言 放假 ...

  10. Linux系统配置静态ip

    一.工具/原料 redhat6.2 二.步骤 1."网络适配器"选择"桥接模式" 右键虚拟机,选择"设置"->"网络适配器& ...