本次安装基于新安装的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. $\text{fhq-treap}$总结

    \(\text{fhq-treap}\)总结 又名范浩强\(\text{treap}\),是一种无旋\(\text{treap}\).其原理同\(\text{treap}\)一样都是通过维护一个随机堆 ...

  2. 2440sd初始化(存储器控制器寄存器的设置)

    #define mem_contrl 0x48000000   //13个寄存器的基地址(看做一个内存块)init_sdram: ldr r0, =mem_contrl               / ...

  3. Large-Scale Oil Palm Tree Detection from High-Resolution Satellite Images Using Two-Stage Convolutional Neural Networks(worldview油棕树检测)

    不是目标检测也不是语义分割,两步CNN指的是,采集的数据是一堆点,以点为中心的65*65和17*17图像范围大小来判断这个点是否是油棕树.第一步就是判断65*65的范围是否为(油棕树植被群,其他植被/ ...

  4. MySQL数据库设置表名区分大小写

    使用Mysql的朋友有时候会遇到表名称不区分大小写的情况,导致导入数据或者备份数据库很麻烦. 如何设置Mysql数据库表名区分大小写呢,配置如下: 一.修改Mysql的配置文件my.ini my.in ...

  5. fluent提供的边界条件解析【转载】

    转载自:http://chengkang8.blog.163.com/blog/static/6719535620113149552369/ 1. 速度入口边界条件 用于定义流动入口边界的速度和标量 ...

  6. 03、CPU主频,和性能

    性能?时间的倒数 有两个指标:一个是响应时间或者叫执行时间:一个是吞吐率或者带宽,这两个就可以理解为办事的时间和办事的多少. 而 性能= 1/响应时间 CPU时钟:计算机的计时单位 程序的CPU执行时 ...

  7. 进入tomcat6的控制台

      在tomcat文件夹找到conf文件夹中的tomcat-user.xml文件, 用记事本打开,在最下面可以看到tomcat默认把用户注释掉了,也就是说打开tomcat主页是进不去管理页面的. 方法 ...

  8. Android 9.0 Http不能访问网络

    最近在做公司产品,一期完成,打包给测试,然后....一台手机连服务器都访问不了看日志如下: UnityWebRequest返回code:0,显示Unknow error 服务器接口是http://非域 ...

  9. STM32F429的LTDC和DMA2D ***

    在阅读了STM32F429的手册之后,对LTDC与DMA2D有了一点认识. STM32F429与之前的系列强大之处就在于增加了LTDC个功能,从手册上看STM32F429的LTDC可以用于驱动1024 ...

  10. layer.msg如何让按钮的回调执行完毕后弹框不自动关闭

    问题出现:我点击“确定”时会验证“新手机号码”,如果验证不通过则不给该弹框关掉,但是实际操作时,不管验证怎么样,点击“确定”之后该弹框都会关掉. 之前的写法: layer.open({         ...