python做圆柱绕流_OpenFOAM-圆柱绕流
首先进行建模操作,任何建模软件均可,本教程采用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-圆柱绕流相关推荐
- python做圆柱绕流_圆柱绕流
对称阶段 二维圆柱低速定常绕流的流型只与Re数有关.在Re≤1时,流场中的惯性力与粘性力相比居次要地位,圆柱上下游的流线前后对称,阻力系数近似与Re成反比(阻力系数为10~60),此Re数范围的绕流称 ...
- 如何用Python做Web开发?——Django环境配置
用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手. 概念 最近有个词儿很流行,叫做"全栈"(full ...
- 如何用Python做三阶拼图?
作者 | Ahab 来源 | Ahab杂货铺(ID:AhabBin) 今天是年假的最后一天,明天大家就要回到各自的工作岗位上去,公众号从今天开始恢复更新.不知道大家假期过得怎么样,帅张提到假期多关注一 ...
- 来自程序员的福利!用Python做一款翻译软件
来源 | Ahab杂货铺(ID:PythonLearningCamp) 前两天吃了平哥的一波狗粮,他给女朋友写了一个翻译软件,自己真真切切的感受到了程序员的浪漫.在学习requests请求的时候做过类 ...
- 美观实用!Star 过万,用 Python 做交互式图形的这款工具火了!
点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 转自量子位,作者乾明 GitHub 上,一份用 Python 做交互式图形的资源火了. ...
- python能做出什么样的网站_我能用Python做什么?
如果你想学Python,或者你刚开始学习Python,那么你可能会问:"我能用Python做什么?" 这个问题不好回答,因为Python有很多用途. 但是随着时间,我发现有Pyth ...
- 用python写搜索引擎_用python做一个搜索引擎(Pylucene)的实例代码
1.什么是搜索引擎? 搜索引擎是"对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分".如图1是搜索引擎的一般结构,信息搜集模块从网络采集信 ...
- 一步一步教你如何用python做词云_一步一步教你如何用Python做词云
前言 在大数据时代,你竟然会在网上看到的词云,例如这样的. 看到之后你是什么感觉?想不想自己做一个? 如果你的答案是正确的,那就不要拖延了,现在我们就开始,做一个词云分析图,Python是一个当下很流 ...
- python做数据分析的包_用Python做数据分析,Numpy,Pandas,matp
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行 ...
- GitHub热榜第一,标星近万:这个用Python做交互式图形的项目火了
乾明 发自 凹非寺 量子位 报道 | 公众号 QbitAI GitHub上,一份用Python做交互式图形的资源火了. 这一工具名为Bokeh,官方介绍称,它能读取大型数据集或者流数据,以简单快速的 ...
最新文章
- 2012关于钱的Tips
- Python高级特性:切片、迭代、列表生成式、生成器与迭代器
- LeetCode 1669. 合并两个链表
- dhl:指定的命名连接在配置中找不到、非计划用于 EntityClient 提供程序或者无效。...
- launchMode的几种模式
- 系统学习 TypeScript(三)——基础类型
- 10_android打包的过程
- linux 查看网络流量
- SQL必知必会习题练习
- 【STM32】基带HDB3编解码系统设计(附完整代码)
- python分位数回归模型_分位数回归森林
- 苹果官网查询产品的激活日期教程
- 机器手臂(2):机械手臂关节研究
- php 图片生成vr_vr全景技术难吗?vr全景技术原理和应用讲解
- mybatis开启日志打印
- 怎么修改网页边框html,DIV+CSS网页布局之边框的设置方法
- vue与原生安卓相互调用
- stm32开发之使用Keil MDK以及标准外设库创建STM32工程
- 如何搭建一个集群项目
- UE4 Matinee制作相机动画及其蓝图播放(UE4.11和UE4.19测试通过)
热门文章
- python控制树莓派风扇_三极管打造树莓派温控风扇
- 单体仓库与多仓库都有哪些优势劣势,微服务选择哪种方案比较好?
- prescan 安装许可证错误【破解失败】
- Kesci“魔镜杯”风控算法大赛复赛解决方案
- 基于天池淘宝用户100万条行为数据分析——SQL、Tableau
- 全球各种域名后缀注册量TOP100排行榜
- 如何合并PDF文件?两个方法教你轻松合并
- 物联网江湖 第五回 - Contiki 学院派先驱
- Windows Server 开启 NTP 授时服务(图形界面操作,超简单)
- sangerbox制作heapmap_【魔兽WE教程】地图制作必须熟悉 的快捷键