openfoam中如何用blockMesh将一个六面体块切分成两部分加密?
-
[链接文本](```
链接地址
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}// 全局设置
convertToMeters 1;// 顶点定义
vertices
(
(0 0 0)
(1 0 0)
(1 1 0)
(0 1 0)
(0 0 1)
(1 0 1)
(1 1 1)
(0 1 1)
// 添加新的顶点用于切分
(0 0 0.5)
(1 0 0.5)
(1 1 0.5)
(0 1 0.5)
);// 块定义(切分成两个块)
blocks
(
hex (0 1 2 3 8 9 10 11) (20 20 10) simpleGrading (1 1 1) // 下面的块
hex (8 9 10 11 4 5 6 7) (40 40 10) simpleGrading (1 1 1) // 上面的块
);// 边界定义
boundary
(
front
{
type patch;
faces
(
(4 5 6 7)
);
}
back
{
type patch;
faces
(
(0 1 2 3)
);
}
left
{
type patch;
faces
(
(0 4 7 3)
);
}
right
{
type patch;
faces
(
(1 2 6 5)
);
}
bottom
{
type patch;
faces
(
(0 1 5 4)
(8 9 5 4)
);
}
top
{
type patch;
faces
(
(3 2 6 7)
(11 10 6 7)
);
}
middle // 添加中间的边界
{
type patch;
faces
(
(8 9 10 11)
);
}
);// 网格划分方法
mergePatchPairs
(
);这样多定义出4个顶点(8 9 10 11),但是运行blockMesh的时候报错,如下:(以icoFoam中cavity算例为基础) --> FOAM FATAL ERROR: face 0 in patch 2 does not have neighbour cell face: 4(0 4 7 3) 大家之道该怎么调节吗? ------------------------------------------------------------- 具体想实现的功能就是在计算的时候输出一个平面的速度,想用functionObject功能,但是需要指定一个面,所以上述想在画网格的时候把面指定出来。