前言:
本文主要介绍在Windows环境下安装Ubuntu子系统,并在其中安装OpenFOAM的具体操作过程。
以下针对OpenFOAM的安装分为标准版和高级版,标准版对于日常做CFD、跑算例、编写求解器等完全足够,高级版(即安装完整Linux内核)主要是为了使用pyFOAM(为OpenFOAM开发的Python程序包),可以实时显示残差曲线、使用Python控制OpenFOAM的运行、做其他高级的优化算法、深度学习等。
以下内容中正体字的段落就是标准版安装步骤,如果只要标准版就只关注黑体字的部分,高级版在标准版的基础上有额外的步骤(即下面的第2和第4步骤),用蓝色来表示,需要安装高级版的话就要完成所有步骤。
需要注意的是,不管在安装还是使用过程中,要注意路径问题,很多报错都是由于路径不准确造成的,比如文件名或文件夹名称和教程里的不一致,需要根据自己的路径来修改。
下面正文开始:
第一步:
在计算机控制面板中找到“程序”->“启用或关闭Windows功能”,选中”Hyper-V,虚拟机平台,适用于Linux的Windows子系统“,这三项复选框,然后点击确定,完成后重启电脑。
![](https://i-blog.csdnimg.cn/blog_migrate/5ea123a4cfef662c6b3539368f81ba71.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0ec502e48cbe3d24cbd1bb8c6e267d70.png)
第二步:
打开Windows PowerShell,
![](https://i-blog.csdnimg.cn/blog_migrate/63f3051b7b91152d1e5216d7f7e99bd9.png)
输入以下代码,设置Linux子系统默认为版本2,
wsl --set-default-version 2
如果已经安装了1代Linux子系统,则可以使用以下代码转换版本,其中”Ubuntu-20.04“是你已有的Linux分发版本,如果是其他版本,需要填上对应的名称:
wsl --set-version Ubuntu-20.04 2
如果不知道自己是什么版本,可以通过以下代码查看自己的Linux版本:
wsl -l
第三步:
打开microsoft store,搜索并安装Unbuntu20.04系统。微软的应用商店有时候存在打不开的情况,网上有很多关于解决该问题的方法,如果遇到了,请自行查找解决。
本文以Unbuntu20.04为例,如果选择其他版本,那么在后文中更换国内源的部分会有所不同。
![](https://i-blog.csdnimg.cn/blog_migrate/76e560bd028bda1258a6e64b361548e9.png)
第四步:
Ubuntu安装完毕后,双击运行,刚开始需要设置用户名和密码,密码在输入的时候是不显示的,不要一直输,容易把密码搞混,密码需要输入两次,用于确认。
Ubuntu打开并初始化完成后,需要设置图形界面,这一步主要用于完成显示实时残差曲线等可视化功能,详细步骤请参考这篇文章完成:WSL2运行图像应用或图形界面_wsl2 图形化界面花屏-CSDN博客。
打开Ubuntu20.04,安装X11-apps,
sudo apt install x11-apps
安装完毕后,输入xclock测试,如果出现小钟表图形,则说明图形界面配置成功。
第五步:
和第四步刚开始一样,第一次启动Ubuntu时需要配置用户信息,设置用户名和密码,密码在输入的时候是不显示的,不要一直输,容易把密码搞混,密码需要输入两次,用于确认。
初始化完毕后,首先备份软件源,在终端输入以下命令:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
随后,更换国内源,这样下载会快一些。使用sudo vim命令打开source文件,如果没有vim就安装vim:
1.安装vim:
sudo apt install vim
2.打开source文件:
sudo vim /etc/apt/sources.list
然后一直点击键盘“d”清空内容,然后点击键盘“i”进入编辑模式,复制下面这些内容,然后在打开的source文件中点击鼠标右键进行粘贴,然后点击"Esc"退出,再输入":wq",进行保存退出。
这里涉及很多vim的文件操作命令,详细内容可以看这篇文章:Mintimate:终端文本编辑神器--Vim命令详解。如何使用和配置Vim、Vim插件?
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security multiverse
第六步:
刷新软件列表,需要确认的时候点击键盘"y",也就是yes。
sudo apt update
sudo apt upgrade
第七步:
准备安装OpenFOAM的前置工作,即安装相关的必要的库,复制下列内容到终端运行:
sudo apt update && sudo apt-get install -y build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev
第八步:
输入以下代码下载和安装OpenFOAM-9。我的仓库里有7、8、9三个版本,需要其他版本的话把下面所有"-9"都改为需要的版本号。
1.OpenFOAM-9:
cd $HOME && mkdir OpenFOAM-9 && cd OpenFOAM-9 && git clone https://gitee.com/hww-ww/OpenFOAM-9.git && git clone https://gitee.com/hww-ww/ThirdParty-9.git && sed -i '$a source $HOME/OpenFOAM-9/OpenFOAM-9/etc/bashrc' $HOME/.bashrc && source OpenFOAM-9/etc/bashrc && cd OpenFOAM-9 && ./Allwmake -j
2.OpenFOAM-8:
cd $HOME && mkdir OpenFOAM-8 && cd OpenFOAM-8 && git clone https://gitee.com/hww-ww/OpenFOAM-8.git && git clone https://gitee.com/hww-ww/ThirdParty-8.git && sed -i '$a source $HOME/OpenFOAM-8/OpenFOAM-8/etc/bashrc' $HOME/.bashrc && source OpenFOAM-8/etc/bashrc && cd OpenFOAM-8 && ./Allwmake -j
3.OpenFOAM-7:
cd $HOME && mkdir OpenFOAM-7 && cd OpenFOAM-7 && git clone https://gitee.com/hww-ww/OpenFOAM-7.git && git clone https://gitee.com/hww-ww/ThirdParty-7.git && sed -i '$a source $HOME/OpenFOAM-7/OpenFOAM-7/etc/bashrc' $HOME/.bashrc && source OpenFOAM-7/etc/bashrc && cd OpenFOAM-7 && ./Allwmake -j
如果你需要安装其他版本,则找到对应的下载地址,替换掉上述代码中的git clone后面的链接即可,此外路径也需要根据实际情况进行相关修改。
第九步:
输入用户密码后会出现大量信息,编译大约1小时。编译完成后在终端输入blockMesh并回车运行,如果显示如下信息则表示安装成功:
第十步:
如果只需要安装一个版本,那么到上面的第九步就算全部完成了,可以开始使用。
如果需要安装多个版本的OpenFOAM,则需要进行此步骤。
用vim编辑.bashrc文件,在文件最后添加如下两行文字,vim的使用参考第5步。
随后如果用户输入of7,则进入OpenFOAM-7环境;如果用户输入of9,则进入OpenFOAM-9环境。
sudo vim $HOME/.bashrc
alias of7="source ~/OpenFOAM-7/OpenFOAM-7/etc/bashrc"
alias of9="source ~/OpenFOAM-9/OpenFOAM-9/etc/bashrc"
以上就是本文的全部内容,如果觉得文章还不错的话,欢迎点赞收藏转发!