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

1. 先安装openfoam:
https://openfoam.org/download/source/
不算很难,安装这个官网程序走就行,主要需要注意的是源码一定要放在~目录下编译,如下

2. 再安装Liggghts:
https://www.cfdem.com/media/DEM/docu/Section_start.html
主要也是按照官网教程,下载完后直接make auto
这里需要注意两点,一是要在~目录下建立名为LIGGGHTS文件夹,然后把源码放在这个文件夹里编译(这一步最关键),
再一个是需要建立一个软链接:sudo ln -s $HOME/LIGGGHTS-PUBLIC/src/lmp_auto /usr/local/bin/liggghts(这一步不确定是否必要,但最好加上)

3. 安装CFDEM:
https://www.cfdem.com/media/CFDEM/docu/CFDEMcoupling_Manual.html#
一直到cfdemSysTest这一步都不难,测试这一步的时候看看几个critical的路径能不能找到,容易出问题的就是Liggghts没有放在上面说的LIGGGHTS文件夹里,如下:

还得下载lpp: sudo git clone https://github.com/CFDEMproject/LPP.git mylpp,注意下载到$HOME/LIGGGHTS文件夹下,因为bashrc中设置了这个路径,其实只要放置位置和bashrc中对应即可

然后开始编译CFDEM,可以直接cfdemCompCFDEMall,或者step by step编译:
cfdemCompLIG
cfdemCompCFDEMsrc
cfdemCompCFDEMsol
cfdemCompCFDEMuti
千万注意官网这里,后两个命令又typo,他们写成了:
cfdemCompCFDEmsol
cfdenCompCFDEMuti
按照官网写的会出现找不到命令的问题。见:https://www.cfdem.com/forums/cfdemcompcfdemsol-cfdencompcfdemuti

4. 运行测试
全部编译好以后可以测试一下,把~/CFDEM/CFDEMcoupling-PUBLIC-5.x/tutorials文件夹里拷贝一个案例文件夹到任意工作目录,例如cfdemSolverPiso这个案例
然后运行下面所示目录下的./Allrun.sh就能开始计算了。

ywj@DESKTOP-OD3RNEO:/mnt/e/CFD_wkdir/openfoam/CFDEM/cfdemSolverPiso/ErgunTestMPI$ ls
Allrun.sh DEM log_run_parallel_cfdemSolverPiso_ErgunTestMPI_CFDDEM parDEMrun.sh
CFD log_run_liggghts_init_DEM parCFDDEMrun.sh

5. 后处理
运行后生成CFD和DEM两个文件夹,一个放流场信息,一个放颗粒信息

由于这里是并行,所以CFD文件夹下有四个processor文件夹(processor0~processor3),每个文件夹下只存了四分之一网格信息,所以要把它们合并:
修改CFD\constant下couplingProperties文件关键字IOModel basicIO为IOModel off
然后命令行分别输入:
reconstructPar
foamToVTK
然后就能在CFD文件夹下生成对应时间的文件夹了,导入case.foam(手动创建的空文件)到paraview中,就能看到完整网格信息了

然后处理DEM下的文件,需要把dump文件转换为vtk格式,要用到lpp,这是一个python写的脚本,通过git clone到某个文件夹(这个步骤在3. 安装CFDEM中提到过),我这里直接放在~目录下
然后做一个alias:

alias lpp="python2 $HOME/mylpp/src/lpp.py"

这样,在DEM/post文件夹下运行lpp dump*.liggghts_run就把所有dump文件都转化为vtk了。如果出问题,接着下面步骤。

由于我的默认python版本为3.6,而此脚本文件为python2.7,所以我需要做一些修改:
安装pip

# . 更新系统包
sudo apt-get update
sudo apt-get upgrade
# . 安装Pip
sudo apt-get install python-pip
# . 检查 pip 是否安装成功
pip -V

安装python2版本的numpy

python2 -m pip list 查看
python2 -m pip install --upgrade pip 更新
python2 -m pip install numpy 安装

然后修改
$HOME/mylpp/src/lpp.py脚本文件第一行为:

#!/usr/bin/env python2

改完之后再在DEM/post文件夹下运行命令:

lpp dump*.liggghts_run

就能把dump文件都转换为VTK格式了,然后导入paraview中即可,效果图:

OpenFoam+CFDEM+Liggghts安装耦合的更多相关文章

  1. openfoam耦合liggghts安装

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

  2. Ubuntu1604下安装Liggghts及CFDEM Coupling

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

  3. OpenSUSE下编译安装OpenFoam

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

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

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

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

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

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

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

  7. openfoam 的安装【转载】

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

  8. Microsoft Prism安装使用教程 搭建WPF松耦合架构框架

    Microsoft Prism安装使用教程 搭建WPF松耦合架构框架 Prism是由微软Patterns & Practices团队开发的项目,目的在于帮助开发人员构建松散耦合的.更灵活.更易 ...

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

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

随机推荐

  1. Java 设计模式系列(七)桥接模式

    Java 设计模式系列(七)桥接模式 桥接模式(Bridge)是一种结构型设计模式.Bridge 模式基于类的最小设计原则,通过使用封装.聚合及继承等行为让不同的类承担不同的职责.它的主要特点是把抽象 ...

  2. tp5 根据经纬度计算门店距离 可排序

    $branchInfo=Db::name('Branch')->where('b_id','250')->find(); $map['p.cate_id']=array('eq',5); ...

  3. Swift使用CoreLocation,你必须要看这一篇

    CoreLocation,在我们这里讨论的是一个最常用的东西,就是用Location Manger获取用户当前的位置. 整个的来说非常简单.只要这样: import CoreLocation 需要使用 ...

  4. 第二届CCCC赛后感想 2017-04-15 23:56 88人阅读 评论(0) 收藏

    第一次写赛后感想,也不算什么很正规的比赛,不过这次比赛的时间恰好处于思想变化的阶段,留贴纪念. 先谈谈这次比赛,弱校萌新,依靠申请进了总决赛,发现和第一届不一样,缺少了团队奖心中有点缺乏动力,比赛2个 ...

  5. SqlServer获取字符串中数字,中文及字符部分数据

    --获取英文字符数据 Create function [dbo].[Fun_GetChar] ( ) ) ) AS BEGIN BEGIN ,'') --删掉一个非数字的字符,循环结束,剩余的为数字部 ...

  6. Mysql错误: ERROR 1205: Lock wait timeout exceeded try restarting transaction解决办法

    select * from information_schema.INNODB_TRX;show full processlist;//找出目前连接的列表kill ID//根据ID kill掉

  7. vmware之VMware Remote Console (VMRC) SDK(三)

    前两节我们介绍了vmrc sdk的基本用法.在前面的demo中,有一个关键的问题是,我们现在所作的工作都是基于局域网的,作为应用层面上,主机不会直接暴露给用户,而是通过一系列的web service服 ...

  8. 调整Linux最大打开文件数

    #!/bin/bash ## 文件数限制 ulimit -n ulimit -Sn ulimit -Hn ## fs.nr_open,进程级别 ## fs.file-max,系统级别 ## 最大文件描 ...

  9. Jenkins 使用 Build Flow 插件配置工作流任务依赖

    Jenkins 使用 Build Flow 插件配置工作流任务依赖 Jenkins 多任务依赖方式的配置方法目前可以通过MultiJob Project 或者Build Flow 或者Piplelin ...

  10. JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误

    问题一:出现控制台坏的响应错误一Bad request 控制台出现错误如下: Bad Request request: http://hostIP:8983/solr/update?wt=javabi ...