OpenFOAM-圆柱绕流
原版视频下载地址:https://yunpan.cn/c64yrdt9J5LmQ 访问密码 0128
首先进行建模操作,任何建模软件均可,本教程采用ICEM直接建模,模型尺寸如下:


建成的模型如下:

对建好的模型进行网格划分,划分完成的网格如下:

对圆柱的近壁面进行了加密处理,将划分的网格导出为ASCII的.msh格式(注:二进制的.msh格式OpenFOAM是不支持网格转换的)
接下来转入OpenFOAM的操作:
首先新建一个文件夹,名字任取,本教程中我将该文件夹命名为:train

然后进入OpenFOAM的安装目录下查找一个tutorial的文件夹,然后按照:



icoFoam求解是用来求解不可压缩牛顿层流,虽然最后为稳态,但是也可以通过计算瞬态来达到稳态。我们只需要拷贝icoFoam文件夹下的任意一个算例的0文件夹、constant文件夹和system文件夹。这里我们选择cavity算例文件夹下的三个文件夹,将他们拷贝到刚才新建的train文件夹下,然后将刚才导出的网格文件拷贝到train文件夹下,在trian文件夹下打开终端,输入fluentMeshToFoam命令:

然后开始进行转换

转换完成后,constan文件夹下会多出一个polyMesh文件夹

我们打开polyMesh文件夹,对其中的boundary文件进行编辑,将UP和DOWN边界的Type改为symmetry,记得后面一定要跟上分号,否则后面计算会报错


我们查看constant文件夹下的transportproperties文件,此处我们设置运动黏度为0.01m2/s
文件如下:
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
nu [0 2 -1 0 0 0 0] 0.01;
// ************************************************************************* //
然后对初始边界条件进行设置,下面转入0文件夹下进行操作:
在0文件夹下我们可以看到U和P两个文件:

边界条件如图所示:

我们设置来流速度为0.1m/s,则接下来修改P文件和U文件
P文件当中的内容如下修改:
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
INLET
{
type freestreamPressure;
}
OUTLET
{
type freestreamPressure;
}
UP
{
type symmetry;
}
DOWN
{
type symmetry;
}
CYLINDER
{
type zeroGradient;
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //
U文件当中的内容如下修改:
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0.1 0 0);
boundaryField
{
INLET
{
type freestream;
freestreamValue uniform (0.1 0 0);
}
OUTLET
{
type freestream;
freestreamValue uniform (0.1 0 0);
}
UP
{
type symmetry;
}
DOWN
{
type symmetry;
}
CYLINDER
{
type fixedValue;
value uniform (0 0 0);
}
frontAndBackPlanes
{
type empty;
}
}
// ************************************************************************* //
说明一下:
fixedValue
基本格式为:
边界名称
{
type fixedValue;
value uniform 向量;
}
说明:
该边界无需多说,在边界上的值为固定值,不可变动,只需要写入类似(0,0,0)这样的向量即可。对于不可压缩求解器来说,该种边界是稳定边界。
freestream
基本格式为:
边界名称
{
type freestream;
freestreamValue uniform 向量值;
}
说明:
该边界是一种fixedValue和zeroGradient的混合边界,该边界比起fixedValue边界更加灵活。出流时为zeroGradient边界,入流时则为fixedValue边界。该边界条件广泛应用于外流场的模拟当中。
freestreamPressure
基本格式:
边界名称
{
type freestreamPressure;
}
说明:
一般压力边界设置为freestreamPressure,那么对应边界的压力边界就需要设置为freestream。该边界是一种zeroGradient边界,但是在边界需要保证ρ×Sf×freestreamValue(质量流量)的值为常数。(注:Sf是边界单元的面积)
symmetry
基本格式:
边界名称
{
type symmetry;
}
说明:
对称边界条件主要用于消除边界对流场计算的影响,可以将此边界想象为一面镜子,来什么反弹什么。
empty
基本格式:
边界名称
{
type empty;
}
说明:
该边界主要二维模拟。
我们进入system文件夹下找到controldict文件,我们修改此文件:

文件内容如下:
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application icoFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 1000;
deltaT 0.01;
writeControl runTime;
writeInterval 10;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
// ************************************************************************* //
最后回到train文件夹下,打开终端,输入icoFoam开始计算

等到计算结束


然后可将计算结果导入paraview或者tecplot当中进行后处理

教程到此结束,未尽事宜,可参考视频教程。
OpenFOAM-圆柱绕流的更多相关文章
- OpenFOAM——圆柱绕流对流换热
本算例来自<ANSYS FLUENT技术基础与工程应用:流动传热与环境污染控制领域> TOP和DOWN为对称边界(symmetry),入口速度为0.01m/s,入口温度为300K,圆柱温度 ...
- OpenFOAM&Gmsh&CFD圆柱绕流(两个圆柱)
问题: 圆柱绕流问题,模拟仿真有两个圆柱.一个源的流体变化情况. 解决步骤: 1.使用Gmsh画出网格,并保存cylindertwo.msh 2.以Cavity为基础创建新的Case:Cylinder ...
- ICEM-extrude功能画圆柱绕流网格【转载】
转载自:http://blog.csdn.net/lgw19910426/article/details/26401517 首先画网格大体顺序为点-->线-->面-->单元体. 第一 ...
- OpenFOAM当中监测力和阻力系数
首先准备好我们自己的平常算例文件,本次我们以圆柱绕流的算例来说明用法 我们找到constant文件夹 打开其中的transportProperties文件 我们将其中的: nu ...
- OpenFOAM设置监测点(探针)
首先准备好我们自己的平常算例文件,本次我们以圆柱绕流的算例来说明用法 然后我们在/opt/openfoam4/etc/caseDicts/postProcessing/probes文件夹下找到prob ...
- 【CFD之道】2017年原创文章汇总
1 Fluent案例(21篇) [Fluent案例]01 空气流经障碍物 [Fluent案例]02:Tesla阀 [Fluent案例]03:RAE2822翼型外流场计算 [Fluent案例]04:多孔 ...
- 【CFD之道】2018年原创文章汇总
以下是公众号CFD之道2018年的全部原创文章,共计210篇. 1 Fluent验证案例[60篇] Fluent验证案例02:通过均匀热通量管道层流流动 Fluent验证案例03:管道中湍流流动压降计 ...
- 【小白的CFD之旅】24 稳态和瞬态
小白最近在练习案例的时候,对稳态和瞬态的问题,产生了一些疑问.譬如说,为什么有的案例用稳态,而有的案例用瞬态?有时候相同的案例既可以用稳态也可以用瞬态,而有的案例却只能用瞬态计算?小白决定找小牛师兄问 ...
- UDF——涡量
用涡量的模来显示涡结构是一种很常用的方法 涡量: 针对二维,涡量场表示为如下的标量: 对于二维流动来说,涡量为正,表示逆时针旋转:涡量为负,表示顺时针旋转 三维涡量: 其中: 计算涡量的模: 二维涡量 ...
- OpenFOAM——绕流振动
流体的物性参数为: 密度:1kg/m3 粘度系数:0.01N·s/m2 首先进行建模操作,任何建模软件均可,本算例在ICEM建模和进行网格划分,生成的网格如下: 接下来转入Open ...
随机推荐
- 微服务与SpringCloud简介
A.官网 https://spring.io/projects/spring-cloud B.简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用 ...
- 【转载】C#使用Random类来生成指定范围内的随机数
C#的程序应用的开发中,可以使用Random随机数类的对象来生成相应的随机数,通过Random随机数对象生成随机数的时候,支持设置随机数的最小值和最大值,例如可以指定生成1到1000范围内的随机数.R ...
- Microsoft Compiled HTML Help / Uncompiled .chm File XML External Entity
[+] Credits: John Page (aka hyp3rlinx) [+] Website: hyp3rlinx.altervista.org[+] Source: http://hyp3 ...
- 常用的js加密
https://github.com/hellobajie/AES-of-JavaScript 此为js的 AES加密方式,两个加密文档,可当做扣js必备
- C# is与 java instanceof 作用相同
c#中 is 检查对象是否与给定类型兼容. 例如,下面的代码可以确定对象是否为 MyObject 类型的一个实例,或者对象是否为从 MyObject 派生的一个类型: if (obj is MyObj ...
- MyBatis之Oracle、Mysql批量插入
Mybatis中Dao层 public interface UsersMapper { public void insertEntitys(List<UserEntity> users); ...
- Tomcat启动超时设置
Tomcat启动超时设置: 处理方法: 1. 在server中找到当前Tomcat双击. 2.在视图中进行修改.(如下图:)
- MongonDB 知识
配置 vi mongodb.conf dbpath=/usr/local/mongodb/data/ logpath=/usr/local/mongodb/data/mongodb.log port ...
- react native jpush
原文链接:https://blog.csdn.net/qq_38719039/article/details/80684144 1 npm install jpush-react-native --s ...
- 【转】java.io.Closeable接口
说到java.io.Closeable接口就避不开java.lang.AutoCloseable接口,因为在java版本7.0时引入了java.lang.AutoCloseable接口,同时java. ...