吾生有涯 学海无涯
析模有界 知识无界

绿色版 OpenFOAM 2412

前面说交叉编译ESI的OpenFOAM 2412版本,但编译过程不太顺利,老是出错,折腾了一番放弃了,以后有时间再弄了。好在ESI官方提供了OpenFOAM的交叉编译版本,我们可以直接在官方版本上进行处理就可以。

ESI官方的交叉编译版本基于MSYS2,其中所有的预置求解器都已经被编译成exe文件,可以将其弄出来处理成可以在Windows下独立运行的程序,这样套壳的时候就方便调用了。

其实只需要处理环境变量就可以了。另外官方没有编译MPI,所以如果想要使用并行计算的话,还得手动安装MPI。下面是处理过程。

1 下载安装

下载地址:https://develop.openfoam.com/Development/openfoam/-/wikis/precompiled/windows#native-windows

找到下图所示的链接下载。

安装过程非常简单,双击后一路next即可。需要注意,安装路径不允许有空格,否则后面会提示无法创建环境变量。

安装完毕后可以双击桌面上的快捷方式启动,如下图所示表示安装成功。

2 配置环境

  1. 拷贝应用程序。本机安装路径为:

    C:ESI-OpenCFDOpenFOAMv2412msys64homeofuserOpenFOAMOpenFOAM-v2412platformswin64MingwDPInt32Optbin

    也可以在安装路径中搜索icoFoam,所有的预编译程序都放在了这个文件夹下面。

    这里将bin文件夹拷贝到一个新建的文件夹中,如C:OpenFOAM中。

  2. 拷贝文件夹C:ESI-OpenCFDOpenFOAMv2412msys64homeofuserOpenFOAMOpenFOAM-v2412C:OpenFOAM

  3. C:OpenFOAM下创建一个批处理文件,命名为of2412.bat,用文本编辑器打开,并输入以下内容

    @echo off
    chcp 65001
    set path=%path%;%~dp0bin
    set WM_PROJECT_DIR=%~dp0OpenFOAM-v2412
    cmd
  4. 从tutorials中拷贝一个测试文件(如cavity)用于测试,这里将其放到文件夹C:OpenFOAMrun

    这一步不是必须的,只是用来测试。

  5. 运行of2412.bat,输入以下命令生成网格

    cd runcavity
    blockMesh

    可以看到能够正常生成网格。

  6. 继续输入命令icoFoam可以进行计算,如下图所示。

  7. 可以输入命令echo > cavity.foam生成空文件,然后用paraView打开文件进行后处理

    压力分布如下图所示。

    速度分布如图所示。

3 测试并行计算

  1. ESI OpenFOAM中并没有编译MPI,若想要使用并行计算的话,需要手动安装MPI,这里可以使用微软的Microsoft MPI。

    下载地址:https://learn.microsoft.com/zh-cn/message-passing-interface/microsoft-mpi#ms-mpi-downloads

    下载后直接安装即可。安装完毕后将MPI安装路径下的bin文件夹拷贝到文件夹C:OpenFOAM中,并修改文件夹名称为MS-MPI

    复制后的文件夹中的内容如下图所示。

  2. 修改of2412.bat的内容,将MS-MPI的路径添加到环境变量path中

    @echo off
    chcp 65001
    set path=%~dp0MS-MPI;%~dp0bin;%path%;
    set WM_PROJECT_DIR=%~dp0OpenFOAM-v2412
    cmd
  3. 搜索并拷贝文件decomposeParDictsystem路径下。注意这里没法使用foamGetDict,只能手动复制。修改其内容:

    numberOfSubdomains  4;
    method  hierarchical;
    coeffs
    {
        n   (221);
    }
  4. 测试并行计算。依次输入下面的命令

    blockMesh
    decomposePar

    执行完毕后如图所示。

  5. 执行下面的命令进行并行计算

    mpiexec -n 4 icoFoam

    执行完毕后如下图所示。

  6. 利用命令echo > cavity.foam创建一个空的后处理文件,可使用ParaView进行后处理。

    4 后期工作

  7. 当前的文件夹中的内容过于臃肿,有一大堆用不上的文件,可以删除掉。

  8. 环境变量。of2412.bat中设置的是临时变量,仅限于当前命令窗口中使用。想要全局使用的话,可以手工设置环境变量。包括:

    设置完毕后重启计算机以使环境变量生效。

    1. pathC:OpenFOAMbin
    2. pathC:OpenFOAMMS-MPI
    3. WM_PROJECT_DIRC:OpenFOAMOpenFOAM-v2412

这里需要注意的是,ESI提供的OpenFOAM交叉编译版本的:

  1. 没有OpenFOAM源代码。所以没有办法编译自己的求解器。
  2. OpenFOAM工具没有被编译。如foamGetDict之类的工具没有被编译成windows版本。
  3. 第三方工具全部都没有编译。如果需要的话,得自己去Linux系统下手工编译。

全部文件可以在这里下载:https://t.zsxq.com/yVYhB


(完)

本篇文章来源于微信公众号: CFD之道

赞(0) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《绿色版 OpenFOAM 2412》
文章链接:https://www.topcfd.cn/41049/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册