zoukankan      html  css  js  c++  java
  • OpenFoam+CFDEM+Liggghts安装耦合

    这里安装的时间节点为: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),每个文件夹下只存了四分之一网格信息,所以要把它们合并:
    修改CFDconstant下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

    # 1. 更新系统包
    sudo apt-get update
    sudo apt-get upgrade
    # 2. 安装Pip
    sudo apt-get install python-pip
    # 3. 检查 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中即可,效果图:

  • 相关阅读:
    vlc-ts
    es 模板
    zookeeper 启动脚本
    received shard failed for shard id
    gitlab runner 配置
    kafka 配置文件注释
    logstash 统计告警
    BigBao 的python开发到DevOps 之路
    logstash 自动重新加载配置
    rsyslog 传输日志
  • 原文地址:https://www.cnblogs.com/Jay-CFD/p/9872426.html
Copyright © 2011-2022 走看看