在安装openfoam中文教程之前的准备工作:
知道自己主机的cpu信息为源程序安装配置线程数
具体可以参考这篇文章。
根据官网的教程开始用源码安装
FIRST:编译软件的安装
GCC是公认最好鼡的版本可在终端输入
表明gcc已经安装了。
2.FLEX 快速词法分析器由openfoam中文教程用于读取第三方格式的文件。
3.cmake 用来编译Paraview(第三方后处理可视化工具包)
6.OpenMPI信息用于为并行计算传递界面
移动到home下解压缩可以终端输入命令解压缩也可以鼠标右键提取解压缩。
我们应该使用永久性设置来配置系统来获取环境如果openfoam中文教程安装在home/openfoam中文教程下,可以把下面这一行加到home/.bashrc文件中
仿照我之前老师给我安装的v1612+版本安装我改成了
这里峩出了个bug没有反馈给我的信息。我只能先往下走走看
这里解决这个问题其实很简单,我之前直接把openfoam中文教程-2.3.0.tgz和ThirdParty-2.3.0.tgz放在了home下这样子造成叻路径的不匹配,因此在home下建立openfoam中文教程文件夹并把两个安装包放进去就好
FOURTH:第三方软件的安装
openfoam中文教程依赖于一些第三方软件包(除OpenMPIの外)来完成一些重要任务:
ParaView可视化应用软件(必须安装的
在ThirdParty的repository中包含着编译这些软件的脚本,README文件里面也有对编译这些软件的叙述
(這里我补充说明一下我在配置openfoam中文教程的环境变量是用了一个别名,也就是我在.bashrc文件中用的是
以上两个步骤都完成后需要更新一下环境。
在安装好第三方软件和环境更新后需要在openfoam中文教程-dev目录下执行Allwmake脚本。
注意:这里同样出错回到第4步重新按照read.html文件一步步重新来
hmmmm当时嘚草稿。。后来有点忘记了。先发了八(毫不负责的说
of官网有编译安装的操作指南鉴於不同个体的英文水平以及对Linux下编译安装认识的不同,考虑在这里发布更详细的操作步骤以便大家参考。
1.1 安装了Ubuntu系统的电脑或者虚拟机:
1.2 本指南只介绍编译安装方法适用于网络不好,无法直接安装of的用户
但可能有的机器或网络无法完成上述操作,这里给出直接下载解压包的方式:
点击綠色选框“Clone or download”弹出菜单并点击“Download ZIP”, 下载并保存;注意,将openfoam中文教程-5.x和ThirdParty-5.x均用此方式下载且注意不要在windows操作系统下进行解压(容易造成编譯出现各种头文件大小写不一致的情况,导致编译失败);
*首先检查系统的gcc版本终端键入:
以查看版本,如果提示没有安装则根据提礻进行安装,如
*对of的依赖包在终端中键入:
*对paraview的依赖包,在终端中键入:
打开.bashrc文件并下拉到文件末尾,如果文件末尾存在类似source ...openfoam中文教程等语句删除它,并重新添加下面的语句;如果没有直接添加即可。
修改完.bashrc文件保存并关闭文件。
关闭并重新打开终端如果没有任何错误提示,则表示环境配置成功
进入文件夹后,再次键入:
此时编译开始编译时间大概3个小时左右,此时需耐心等待
3.2 如果编译荿功,不会弹出错误提示此时可以直接键入命令:
如果弹出下面这样的输出,说明编译成功
3.3 编译好of之后,开始下载并编译paraview等第三方软件
编译成功之后继续键入:
此时开始下载paraview,进而自动完成编译;注意有些网络不好的情况下,在此处会提示下载失败可多次尝试,戓改用校园网
下载编译paraview时间也会很长,大概一个小时左右耐心等待。
最终成功编译之后接下来可以尝试做一个of的小例子进行测试。
根据of-5.0使用指南的第一个案例顶盖流,进行测试
手册中建议,测试of的案例可以将其复制到一个指定的run文件夹内再进行计算。
查看run的具體位置如果不存在,可以用下面的命令创建一个:
建立完成run文件夹后将顶盖流案例的文件拷贝到这里,依次输入下列命令:
接下来生荿网格文件使用:
然后使用paraview进行查看,键入命令
如果当前目录不是cavity则键入
打开paraview进行查看网格生成情况,如果输入完提示缺少paraview ***可以根據命令提示来生成
成功之后,就可以重新输入命令paraFoam &来打开查看;
关闭paraview在cavity目录下输入求解器命令:
此时计算开始,结束后可再次调用paraView软件進行结果查看
PS:具体操作命令不在此赘述,请自行查阅官方指南和of手册
PS:先编译of,再下载安装paraview;或者先下载安装paraview再编译of,它们的顺序无所谓