目录
一、openfoam的安装
在ubuntu系统下利用apt方式安装OpenFOAM经常会遇到下载超慢的情况,有时候等一个下午未必都能下载下来,区区一百多兆的文件(其中OpenFOAM文件84M,paraView文件65M)搞得心情难受。
我查阅资料后,可以直接从sourceforge网站下载deb安装包速度挺快的,分分钟就能下载下来。
(注:安装后两个即可,保证日期一致)
2.将openfoam8与paraviewopenfoam56下载下来,默认情况下放到了download文件夹下
3.在download文件夹下启动终端,运行命令
sudo dpkg -i openfoam8_20201114_amd64.deb
此时会解压文件,不过最终会报错,提示依赖未安装
4.在终端运行命令
sudo apt -f -y install
此时系统会自动安装依赖,安装完毕后提示配置openfoam的环境变量。
5.先不忙着配置环境变量,可以先安装paraview,采用相同方式进行安装。
依次运行下面的命令
sudo dpkg -i paraviewopenfoam56_3-20201114_amd64
sudo apt-get -f -y install
安装完毕后可以配置环境变量。
6.运行命令
sudo gedit ~/.bashrc
在打开的文本文件第119行添加:
source /opt/openfoam8/etc/bashrc
添加完毕后如下图所示
7.此时可以另外再打开一个终端,输入命令
simpleFoam -help
若出现下面所示内容则表示OpenFOAM安装成功
二、openfoam文件功能
openfoam文件不同于以往我们学过的代码文件,之前学过的代码我们都是在告诉计算机怎么做,而openfoam文件是如何描述你的流体模型。
具体教学视频可自行学习b站视频https://www.bilibili.com/video/BV1JC4y1t7B6?p=6&vd_source=0386bac16003ee6c171cfec1161e2963https://www.bilibili.com/video/BV1JC4y1t7B6?p=6&vd_source=0386bac16003ee6c171cfec1161e2963如果大家想尽快有初步了解,可以看一下我自己的学习笔记,如下:
openfoam文件分为0文件、constant文件、system文件、Allrun脚本
1.‘0’文件
0
文件夹中的文件被用来设置仿真的初始状态,包括场量(如速度、压力、温度等)以及边界条件。这些文件通常以不同的字段名称来命名,例如 U
表示速度场,p
表示压力场,T
表示温度场等。
(1)U
: 该文件定义了速度场的初始条件。它包含了不同空间位置上的速度矢量值,用来指定流体在仿真开始时的初始速度分布。
(2)p
: 这个文件包含了初始压力场的设置。它描述了流体在仿真开始时的初始压力分布。
(3)T
: 如果仿真涉及温度场,这个文件定义了初始温度场分布。
(4)epsilon
,k
,nut
: 这些文件用于涡动模型(如 k-epsilon 模型)的仿真,其中epsilon
表示湍流耗散率,k
表示湍流动能,nut
表示湍流粘度。
2.constant文件
(1)polyMesh:文件包含了描述仿真领域的几何形状和网格信息的文件。
points(顶点) faces(多边形面) boundary(边界面)
owner(面单元) neighbor(面单元的相邻单元)
(2)transportProperties:这个文件定义了流体的物性参数,如密度、粘度、热导率等。它在流体力学方程的求解中起到重要作用。
(3)turbulenceProperties:如果仿真中涉及湍流模型,这个文件定义了湍流模型的参数,如k-epsilon模型、k-omega模型等。
3.system文件
(1)controldict:控制时间步长、仿真时间、输出间隔;
(2)fvSchemes:定义离散方程使用的数值格式;
(3)fvSolution:配置求解器设置(压力速度耦合算法等)
(4)decomposeParDict:配置网格生成以便并行计算;
(5)blockMeshDict:描述网格生成的设置;
4.Allrun脚本
Allrun脚本通常是一个用于运行模拟案例的批处理脚本。它可以执行预处理、求解和后处理等步骤,以便轻松地运行整个模拟流程。下面是一个简单的"Allrun"脚本示例:
#!/bin/bash
# 设置 OpenFOAM 环境变量
source $HOME/OpenFOAM/OpenFOAM-vX.YY/etc/bashrc
# 进入案例文件夹
cd case_directory
# 预处理:生成网格、边界条件等
blockMesh
# 求解:运行求解器(以 simpleFoam 为例)
simpleFoam
# 后处理:生成报告、图表等
postProcess -func postProcessingFunction
# 将结果复制到其他文件夹
mkdir -p $HOME/OpenFOAM/results
cp -r ./postProcessing $HOME/OpenFOAM/results
# 完成
echo "模拟已完成!"
其中,运行求解器常用有:
(1)icoFoam——瞬态、层流
(2)simpleFoam——稳态、湍流
(3)pisoFoam——瞬态、湍流
(4)pimpleFoam——瞬态、湍流
三、openfoam案例学习
1.你可以通过以下方式开始使用OpenFOAM,在终端上键入
mkdir -p $FOAM_RUN
在你的用户目录中创建新的目录<用户>→OpenFOAM→<用户-9>→run
2.在GitHub下载圆柱绕流的openfoam案例,链接如下
https://github.com/Veenxz/Veen_OpenFOAM_Cases/tree/main/VIV_cylinderhttps://github.com/Veenxz/Veen_OpenFOAM_Cases/tree/main/VIV_cylinder3.将VIV_cylinder文件夹放入刚才建立的run文件夹内,如图
4.在此目录下打开终端,输入
blockMesh
pimpleFoam
paraview
即可求解一个圆柱绕流/卡门涡街的案例。
5.进入paraview页面之后,点击左上角file-open-OpenFOAM-<用户-8>-run-VIV_cylinder-system,进入如图界面
在最下面File of type选择All Files选项,可以看到controldict文件,点击
然后,点击OpenFOAMReader
进入Paraview界面,选中左上部分controldict左边的小眼睛,如图
最后,点击Help下面的运行按键,即可看到圆柱绕流的仿真
此次圆柱绕流案例完成。
参考资料
【1】利用deb包安装OpenFOAM8_理论_科普_代码&命令_OpenFOAM-仿真秀干货文章
【3】OpenFOAM V9在Ubuntu上的安装_openfoamv9安装_translator_的博客-CSDN博客