作为国产计算流体力学的开源软件,OneFLOW本身是跨平台的,所以在使用外部库上是慎之又慎,如果不能跨平台的库一概不选,无论这个库效果有多好。
目前编译OneFLOW所需要的库都是基本上科学计算必须的。其中MPI库是进行大规模并行计算所必须的。其次是Metis库,是大规模并行计算网格分区的开源工具,这个也是科学计算软件大量要用到。再有就是流体力学的数据库CGNS,这个库本身也是做流体力学计算必备的工具库。以上这些库都是开源的,且跨平台。还有一个库是HDF库,这个库是使用CGNS需要间接用到的库。
前面已经分别在各自的文章中介绍了这些库在ubuntu18.04下的编译和安装,有了这些准备之后,就可以进行OneFLOW源代码的编译工作了。
迦非喵:Ubuntu18.04下安装mpich2(HYDRA3.3a2)zhuanlan.zhihu.com首先将OneFLOW源代码下载下来。网址如下:
https://github.com/eric2003/OneFLOWgithub.com进入ubuntu目录,本文是/home/eric/work
解压文件
![6df6d73e919e63e1368971e4e895ba1a.png](https://img-blog.csdnimg.cn/img_convert/6df6d73e919e63e1368971e4e895ba1a.png)
tar -xzvf OneFLOW.tar.gz
![6d54334376f4fad8dc2669917c5aed92.png](https://img-blog.csdnimg.cn/img_convert/6d54334376f4fad8dc2669917c5aed92.png)
解压完有:
![e0d66b992cc3d4691b585c87f202ce02.png](https://img-blog.csdnimg.cn/img_convert/e0d66b992cc3d4691b585c87f202ce02.png)
具体的目录结构为:
![16642d6e7053e2cb27581ed05b113bec.png](https://img-blog.csdnimg.cn/img_convert/16642d6e7053e2cb27581ed05b113bec.png)
然后按照下图连续执行这几个命令:
![b232f262dc78fed3067cd15e37d287b5.png](https://img-blog.csdnimg.cn/img_convert/b232f262dc78fed3067cd15e37d287b5.png)
有:
![dfd4e94f7788d7088bd3729cde37d910.png](https://img-blog.csdnimg.cn/img_convert/dfd4e94f7788d7088bd3729cde37d910.png)
输入字母c,有:
![09e42864abd9ec519c64c331839558e1.png](https://img-blog.csdnimg.cn/img_convert/09e42864abd9ec519c64c331839558e1.png)
其中大部分缺省就可以了,
BIT64_FLAG=ON,CGNS _ENABLE=ON,HDF5_ENABLE=ON
这几个分别都是需要的,尤其是后两个必须打开
其它的依赖于前面安装的路径,本文如下:
CGNS_HEADER_DIR
其中MPI_HEADER_DIR是使用命令apt-get install安装的,位置在/usr/include/mpich
这些都需要根据本机的具体情况进行修改。
![bf8c8cbf651eba0c022c5aa336519218.png](https://img-blog.csdnimg.cn/img_convert/bf8c8cbf651eba0c022c5aa336519218.png)
缺省的HDF5是1.10.5,由于本文已经使用了1.10.6,所以这里也需要改动
软件安装路径由缺省的CMAKE_INSTALL_PREFIX=/usr/local
改为:CMAKE_INSTALL_PREFIX=/usr/local/oneflow
然后输入字母c确认有:
![ca0e189dcaa83d9faef9962b878ff4c7.png](https://img-blog.csdnimg.cn/img_convert/ca0e189dcaa83d9faef9962b878ff4c7.png)
输入make -j8开始编译,有:
![7600ca64b27bf4f0ee6eb14baf863b5f.png](https://img-blog.csdnimg.cn/img_convert/7600ca64b27bf4f0ee6eb14baf863b5f.png)
![e5a9a064e7f29c80930a46ec87ccd106.png](https://img-blog.csdnimg.cn/img_convert/e5a9a064e7f29c80930a46ec87ccd106.png)
编译完毕后Install
输入sudo make install
有:
![d0324e679efe8054731b27c8f17a58cd.png](https://img-blog.csdnimg.cn/img_convert/d0324e679efe8054731b27c8f17a58cd.png)
![64806b1afd32aebe5eae15c945fd9877.png](https://img-blog.csdnimg.cn/img_convert/64806b1afd32aebe5eae15c945fd9877.png)
![f750ef0e3d50d99edd98b060d8ea8bcd.png](https://img-blog.csdnimg.cn/img_convert/f750ef0e3d50d99edd98b060d8ea8bcd.png)
可以看到OneFLOW安装完毕,这是需要加入系统路径,在/home/eric下的 bashrc文件中加入:
![8d97a69b78eb7929e6164ea6d5b71190.png](https://img-blog.csdnimg.cn/img_convert/8d97a69b78eb7929e6164ea6d5b71190.png)
也就是/usr/local/oneflow/bin/
这样就可以在任意位置执行OneFLOW了。
具体如下:
![f4408c28733a1ed140aed51dcf2776d6.png](https://img-blog.csdnimg.cn/img_convert/f4408c28733a1ed140aed51dcf2776d6.png)
或者并行运行:
![6d30e3a2ad3a4d292b8bbb261140752e.png](https://img-blog.csdnimg.cn/img_convert/6d30e3a2ad3a4d292b8bbb261140752e.png)
这里没有带参数,OneFLOW缺省运行并行测试代码,从结果看符合预期。
这样,通过上面的示例演示了国产CFD开源软件OneFLOW在ubuntu18.04下的编译,安装及简单的运行,为进一步的使用和了解打下了基础。