首先进行建模操作,任何建模软件均可,本教程采用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当中进行后处理

教程到此结束,未尽事宜,可参考视频教程。

python做圆柱绕流_OpenFOAM-圆柱绕流相关推荐

  1. python做圆柱绕流_圆柱绕流

    对称阶段 二维圆柱低速定常绕流的流型只与Re数有关.在Re≤1时,流场中的惯性力与粘性力相比居次要地位,圆柱上下游的流线前后对称,阻力系数近似与Re成反比(阻力系数为10~60),此Re数范围的绕流称 ...

  2. 如何用Python做Web开发?——Django环境配置

    用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手. 概念 最近有个词儿很流行,叫做"全栈"(full ...

  3. 如何用Python做三阶拼图?

    作者 | Ahab 来源 | Ahab杂货铺(ID:AhabBin) 今天是年假的最后一天,明天大家就要回到各自的工作岗位上去,公众号从今天开始恢复更新.不知道大家假期过得怎么样,帅张提到假期多关注一 ...

  4. 来自程序员的福利!用Python做一款翻译软件

    来源 | Ahab杂货铺(ID:PythonLearningCamp) 前两天吃了平哥的一波狗粮,他给女朋友写了一个翻译软件,自己真真切切的感受到了程序员的浪漫.在学习requests请求的时候做过类 ...

  5. 美观实用!Star 过万,用 Python 做交互式图形的这款工具火了!

    点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 转自量子位,作者乾明 GitHub 上,一份用 Python 做交互式图形的资源火了. ...

  6. python能做出什么样的网站_我能用Python做什么?

    如果你想学Python,或者你刚开始学习Python,那么你可能会问:"我能用Python做什么?" 这个问题不好回答,因为Python有很多用途. 但是随着时间,我发现有Pyth ...

  7. 用python写搜索引擎_用python做一个搜索引擎(Pylucene)的实例代码

    1.什么是搜索引擎? 搜索引擎是"对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分".如图1是搜索引擎的一般结构,信息搜集模块从网络采集信 ...

  8. 一步一步教你如何用python做词云_一步一步教你如何用Python做词云

    前言 在大数据时代,你竟然会在网上看到的词云,例如这样的. 看到之后你是什么感觉?想不想自己做一个? 如果你的答案是正确的,那就不要拖延了,现在我们就开始,做一个词云分析图,Python是一个当下很流 ...

  9. python做数据分析的包_用Python做数据分析,Numpy,Pandas,matp

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行 ...

  10. GitHub热榜第一,标星近万:这个用Python做交互式图形的项目火了

    乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI GitHub上,一份用Python做交互式图形的资源火了. 这一工具名为Bokeh,官方介绍称,它能读取大型数据集或者流数据,以简单快速的 ...

最新文章

  1. 2012关于钱的Tips
  2. Python高级特性:切片、迭代、列表生成式、生成器与迭代器
  3. LeetCode 1669. 合并两个链表
  4. dhl:指定的命名连接在配置中找不到、非计划用于 EntityClient 提供程序或者无效。...
  5. launchMode的几种模式
  6. 系统学习 TypeScript(三)——基础类型
  7. 10_android打包的过程
  8. linux 查看网络流量
  9. SQL必知必会习题练习
  10. 【STM32】基带HDB3编解码系统设计(附完整代码)
  11. python分位数回归模型_分位数回归森林
  12. 苹果官网查询产品的激活日期教程
  13. 机器手臂(2):机械手臂关节研究
  14. php 图片生成vr_vr全景技术难吗?vr全景技术原理和应用讲解
  15. mybatis开启日志打印
  16. 怎么修改网页边框html,DIV+CSS网页布局之边框的设置方法
  17. vue与原生安卓相互调用
  18. stm32开发之使用Keil MDK以及标准外设库创建STM32工程
  19. 如何搭建一个集群项目
  20. UE4 Matinee制作相机动画及其蓝图播放(UE4.11和UE4.19测试通过)

热门文章

  1. python控制树莓派风扇_三极管打造树莓派温控风扇
  2. 单体仓库与多仓库都有哪些优势劣势,微服务选择哪种方案比较好?
  3. prescan 安装许可证错误【破解失败】
  4. Kesci“魔镜杯”风控算法大赛复赛解决方案
  5. 基于天池淘宝用户100万条行为数据分析——SQL、Tableau
  6. 全球各种域名后缀注册量TOP100排行榜
  7. 如何合并PDF文件?两个方法教你轻松合并
  8. 物联网江湖 第五回 - Contiki 学院派先驱
  9. Windows Server 开启 NTP 授时服务(图形界面操作,超简单)
  10. sangerbox制作heapmap_【魔兽WE教程】地图制作必须熟悉 的快捷键