管网:https://doc.cfd.direct/openfoam/user-guide-v9/cavity
一、算例实现
文件结构
- 0:存放初场
- constant:存放网格信息
- system:存放网格划分、计算等工具
1、画网格
blockMesh
2、求解
icoFoam
3、保存文件
touch cavity.OpenFOAM
4、后处理
paraview
使用openFoamReader打开
显示所有边界
apply
二、网格加密
1、网格划分
在icoFoam文件夹内创建cavityFine文件夹,复制cavity文件夹内的constant和system文件夹至该文件夹。
在system/blockMeshDict文件改变网格数量,由之前的(20,20,1)改为(40,40,1),之后使用blockMesh生成网格信息
2、mapFields映射结果
将粗网格中的0.5结果,映射到细网格中。
修改controlDict文件
映射
mapFields ../cavity/cavity -consistent
3、计算并输出log文件
// 计算并输出log文件
icoFoam > log
// 查看log文件
cat log
// 可以合并运行
icoFoam > log && cat log
4、calcType
可以对速度的某个量进行可视化处理并咬着计算域内的一条线来绘制一个二维的图
postProcess -func "components(U)"
此时会在时间步长文件夹下出现3个新文件
5、后处理
使用paraview加载数据,就会显示刚才计算出的值。
三、网格非均匀分布
1、修改blockMeshDict
在icoFoam文件夹内创建asMeshCavity文件夹,复制cavity文件夹内的constant和system文件夹至该文件夹。
修改constant/blockMeshDict文件,如下
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 9
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 0.1;
vertices
(
(0 0 0)
(0.5 0 0)
(1 0 0)
(0 0.5 0)
(0.5 0.5 0)
(1 0.5 0)
(0 1 0)
(0.5 1 0)
(1 1 0)
(0 0 0.1)
(0.5 0 0.1)
(1 0 0.1)
(0 0.5 0.1)
(0.5 0.5 0.1)
(1 0.5 0.1)
(0 1 0.1)
(0.5 1 0.1)
(1 1 0.1)
);
blocks
(
hex (0 1 4 3 9 10 13 12) (10 10 1) simpleGrading (2 2 1)
hex (1 2 5 4 10 11 14 13) (10 10 1) simpleGrading (0.5 2 1)
hex (3 4 7 6 12 13 16 15) (10 10 1) simpleGrading (2 0.5 1)
hex (4 5 8 7 13 14 17 16) (10 10 1) simpleGrading (0.5 0.5 1)
);
edges
(
);
boundary
(
movingWall
{
type wall;
faces
(
(6 15 16 7)
(7 16 17 8)
);
}
fixedWalls
{
type wall;
faces
(
(3 12 15 6)
(0 9 12 3)
(0 1 10 9)
(1 2 11 10)
(2 5 14 11)
(5 8 17 14)
);
}
frontAndBack
{
type empty;
faces
(
(0 3 4 1)
(1 4 5 2)
(3 6 7 4)
(4 7 8 5)
(9 10 13 12)
(10 11 14 13)
(12 13 16 15)
(13 14 17 16)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //
2、画网格
blockMesh
3、生成asyMeshCavity.OpenFOAM文件
touch asyMeshCavity.OpenFOAM
4、后处理
paraview
标签:10,13,05,0.1,算例,0.5,网格,openFoam,文件夹
From: https://www.cnblogs.com/dbai/p/17267165.html