这里安装的时间节点为: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. [C++] Test question(1-16)

    code: C++ don't have static class

  2. tp5主从数据库设置读写分离

    // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '192.168.0.5,192.168.0.6', // 数据库名 'databas ...

  3. Exception in thread "main" java.lang.Error: Unresolved compilation problem

    初学java,使用eclipse编译时,可能会遇到如下图所示的编译错误(Exception in thread "main" java.lang.Error: Unresolved ...

  4. Modelsim10.2c使用教程(一个完整工程的仿真)

    之前玩过Altera的板子,不不, 现在应该叫intel PSG.在QuartusII13.0上老喜欢用modelsim_ae做仿真,小工程用起来也方便,但是我做IIC配置摄像头的时序仿真时,就显得有 ...

  5. CodeForces - 468A ——(思维题)

    Little X used to play a card game called "24 Game", but recently he has found it too easy. ...

  6. Asp.NetCore Razor 模式 Web 应用

    Razor 页面是 ASP.NET Core MVC 的一个新功能,它可以使基于页面的编码方式更简单高效. Razor 页面是 ASP.NET Core 2.0 中的一个新选择,它是基于页面的编程模型 ...

  7. Android-FileIOUtils工具类

    文件读写相关工具类 public final class FileIOUtils { private FileIOUtils() { throw new UnsupportedOperationExc ...

  8. 深入CSS属性(九):z-index

    如果你不是一名csser新手,想必你对z-index的用法应该有个大致的了解了吧,z-index可以控制定位元素在垂直于显示屏方向(Z 轴)上的堆叠顺序,本文不去讲述基本的API如何使用,而是去更深入 ...

  9. js 倒计时,转义

    function leftTimer(time) { var leftTime = (new Date(time)) - (new Date()); //计算剩余的毫秒数 var days = par ...

  10. [JAVA]java复制文件的4种方式

    尽管Java提供了一个可以处理文件的IO操作类. 但是没有一个复制文件的方法. 复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候. 然而有几种方法可以进行Java文件复制操作,下面列举出 ...