田东-OpenFOAM基础入门4学习笔记

??如何将别的软件画好的网格导入openFoam

??如何做并行计算

十一、使用别的软件建立网格导入到openFoam中(卡门涡街为例)

(一)导入
1、使用命令复制cavity到run,并将cavity文件夹名称修改为karman,进入到karman文件
cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity .

cd karman
2、将fluent.msh(用ICEM生成)文件复制到karman文件夹中
3、执行命令将fluent.msh文件转换成openFoam能够识别的网格
$ fluentMeshToFoam -scale 0.001 fluent.msh

执行完命令后在constant中生成polyMesh文件

tips:-scale 0.001 是长度量纲单位 (openFoam以米为单位→毫米网格缩小1000倍)

4、输入命令查看网格
paraFoam
 (二)边界修改
1、查看polyMesh的system--boundary文件,修改0--U文件和0--P文件

!!boundary文件里面的边界名称一定要与U、P文件内的边界名称相同

boundary

①在openFoam中进口和出口的type设置为patch→左右

②WALL的type改为symmetry(对称面)→上下

③CYLINDER的type为wall(壁面)→内部

④frontAndBackPlanes名称改为frontAndBack(前后面)→前后

P文件(0文件中)

{修改movingWall→INLET}

{修改fixedWalls→OUTLET  修改TYPE→fixedValue  添加 value uniform 0;}

{添加WALL  增添TYPE→symmetry}

{添加CYLINDER  增添TYPE→zeroGradient}

U文件(0文件中)

修改内部速度Ux=0.0037

{修改movingWall→INLET  修改流体入口速度→0.0037}

{修改fixedWalls→OUTLET  修改TYPE→zeroGradient  }

{添加WALL  增添TYPE→symmetry}

{添加CYLINDER  增添TYPE→ noSlip(无滑移边界条件)}

2、输入命令查看,ctrl+c终止
icoFoam
(三)加快计算→并行计算
1、什么是并行?
之前直接使用icoFoam求解,可以理解成是“串行”计算,这种计算方法速度比较慢。当我们的网格成干上万的时候,我们就要考虑使用“并行”运算了,因为并行运算可以加快我们的计算速度。可以简单理解成:我们在食堂打饭之前只有一个卖饭窗口,只有一队,速度很慢;但现在有好几个窗口,我们可以排成几队,加快了打饭速度,缩短时间
2、如何并行?
在karman--system文件夹下添加并行运算的文件decomposeParDict

①复制案例multiphase文件到karman的system文件夹中(Tutorials\multiphase\interFoam\RAS\damBreak\damBreak\system)

 cp -r $FOAM_TUTORIALS Tutorials

②打开decomposeParDict文件(给网格大卸八块)

③在karman下输入分解命令→karman会生成processor0、processor1、processor2、processor3四个文件

decomposePar

每个processor文件中有一个0文件一个constant文件

④进入processor0文件查看网格

cd processor0

paraFoam

!整个网格被大卸八块变得四分五裂。几个网格拼在一起又是一个完整的网格

⑤打开karman--system的controlDict文件,调整controlDict里面的结束时间,改为1000s

⑥在karman文件夹下输入命令进行并行运算(之前输入icoFoam就可以进行求解计算)

四块同时进行分别求解→ctrl+c停止

mpiexec -n 4 icoFoam -parallel

⑦打开karman--constant的transportProperties文件修改运动粘度系数(防止在求解过程中man为nan),然后再输入并行运算命令重新求解

mpiexec -n 4 icoFoam -parallel

这个运行时间比较长一些,趁着程序跑动我们随机截图,看一下库朗数(库朗数的物理意义就是时间步长内流体运动距离与矩形网格单位长度的比值:):C0
这里的U为流体速度,^t为时间步长,^x为网格长度,为了保证结果不发散,我们要求最大库朗数小于1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值