准备 linux

这里以虚拟机安装 Linux 系统和 OpenFOAM 为例。当然现在也可以通过 windows11 系统安装 Linux 内核和 OpenFOAM,网上教程很多。直接安装 Linux 系统和 macos 系统安装 OpenFOAM 也均不讨论。

准备虚拟机

  1. 从网上下载 VMware (下载连接 Download VMware Workstation Pro
  2. 自行激活虚拟机

准备 ubuntu 系统

下载 ubuntu desktop(下载链接 Download Ubuntu Desktop | Download | Ubuntu

使用虚拟机安装 ubuntu 系统

使用 VMware 创建新的虚拟机,参考步骤如下:

  1. 选择“典型”即可,下一步
  2. 选择下载好的系统 iso 文件,下一步
  3. 自定义全名等内容,下一步
  4. 自定义虚拟机名称,选择安装路径,下一步
  5. 更改最大磁盘大小,例如 500 GB,默认将虚拟机拆分成多个文件,下一步
  6. 自定义硬件,例如 32g 内存,8 核处理器,下一步开始安装
    • 新系统的内存和处理器之后可以再次设置
    • 硬盘大小建议考虑清楚,后期更改涉及系统分区,十分麻烦

安装 ubuntu 系统

  1. 可选择美式键盘,继续
  2. 可选择最小安装,安装时下载更新,继续
  3. 选择清除硬盘并安装(虚拟机不用担心清除),现在安装
  4. 选择现在位置,继续
  5. 输入个人信息等,继续

更新系统和商店应用

安装完成后,使用 Ctrl + Alt + T 打开终端,以后不再赘述。

  1. 更新系统

终端中输入命令

1
2
3
// terminal
sudo apt-get install ca-certificates
sudo apt-get update
  1. 更新商店应用

打开商店进行应用更新,有可能会遇到无法更新的报错。

终端输入命令

1
2
3
// terminal
killall snap-store
sudo snap refresh
  1. 商店应用安装报错

从商店里安装应用的时候,可能会有以下报错,例如

1
2
3
Unable to install code:
status-code=409 kind=snap-change-conflict message=snap "code"
has "install-snap" change in progress

上面信息表明安装进程因为某种原因,还在后台运行中,所以无法点击安装。

需要先结束进程

1
snap changes

终端上可以看到进程列表

1
2
3
4
5
ID   Status  Spawn               Ready               Summary
...
...
9 Doing today at 17:21 JST - Install "code" snap from "latest/stable" channel

所以需要先结束这个进程,终端输入指令

1
sudo snap abort 9

可能会提示输入密码,结束进程后可以从商店中再次安装应用。

安装第三方应用

有一些应用可能不在系统商店里,需要用户自行安装,比如 bing 浏览器等。

  1. 从系统自带浏览器网页下载对应的 linux 版本应用(常为 .deb 文件包)
  2. 终端安装
1
2
3
// terminal
cd 到安装包的目录
sudo dpkg -i fileName.deb

比如安装 Microsoft Edge

  1. 从网上下载 .deb 文件 https://www.microsoft.com/en-us/edge?form=MA13FJ&exp=e00
  2. 在安装包路径下终端运行 sudo dpkg -i microsoft-edge-stable_114.0.1823.82-1_amd64.deb
  3. 安装完成后,终端使用 code 打开

安装 OpenFOAM

OpenFOAM 2306 等

OpenFOAM 10 等

paraview

终端执行

1
sudo apt install paraview

多版本共存和自定义快捷命令

很多人有版本共存的需要

  1. 终端打开系统 bashrc 文件
1
2
// terminal
gedit ~/.bashrc
  1. bashrc 文件最末尾新写入以下内容
1
2
3
4
5
6
7
8
9
10
11
12
// bashrc
...

source /usr/lib/openfoam/openfoam2306/etc/bashrc

alias of2306="source /usr/lib/openfoam/openfoam2306/etc/bashrc"
alias of10="source /opt/openfoam10/etc/bashrc"

alias asd='cd /home/aerosand/aerosand'
alias user='cd $WM_PROJECT_USER_DIR'
alias srcfv='cd $FOAM_SRC/finiteVolume'
alias srcof='cd $FOAM_SRC/OpenFOAM'
  • 第一句 source 的是默认使用版本,可以自行更改
  • 最后四行是添加的自定义快捷命令
  • 本系列默认使用 openfoam.com 版本
  1. 终端编译 bashrc
1
2
// terminal
source ~/.bashrc
  1. 重新打开终端,环境配置生效
    foam 命令已经生效,切换版本的快捷命令也已经生效
    终端
1
2
3
4
5
// terminal
of2306
of10

foam
  1. 用户文件目录准备和说明
    如果使用 run 命令提示缺少文件夹,终端新建该文件夹
1
2
// terminal
mkdir -p $WM_PROJECT_USER_DIR/run

因为个人开发求解器,求解器大多和算例高度绑定,和用户自定义库高度绑定,所以初步建议用户把调式算例、开发库放在求解器文件夹内

以后还会不断提到文件结构,无需担心。

更新

好像无法直接在老版本的基础上更新,只能直接安装新版本。对于大部分人来说,一旦使用起来,其实很少有变动版本的需求。

卸载

参考 OpenFOAM 的官方安装指导网页。或者直接删除就行(OpenFOAM 说到底就是 C++ 库,直接删了就行)。

安装 PyFoam

参考官方安装教程

https://pypi.org/project/PyFoam/

安装 pip 工具

1
2
sudo apt update
sudo apt install python3-pip

安装 PyFoam

1
2
// terminal
sudo pip install PyFoam
  • 需要加 sudo

安装遇到问题参考

https://openfoamwiki.net/index.php/Contrib_PyFoam#Short_description

验证安装是否成功

1
2
3
4
5
// terminal
python3
>> import PyFoam
>> import PyFoam.FoamInformation
>> print(PyFoam.FoamInformation.foamTutorials())

运行结果类似于 /usr/lib/openfoam/openfoam2212/tutorials,表示安装成功。

使用 ctrl + d 退出 python 环境

PyFoam 的环境变量自动启用,无需手动在终端启用。

其他

也许因为网络环境原因,直接安装十分不便,可以直接使用安装好的虚拟机系统和 OpenFOAM。

如果有人想修改系统的主机名,方法仅备注如下,

按下面命令,打开文件,修改本地主机名即可。

1
2
// terminal
gedit /etc/hostname