OpenFoam 块状网格

问题描述

我正在尝试模拟制冷系统的储水罐。我是 OpenFoam 的新手,所以我的问题可能看起来很愚蠢。 但是我试图在互联网上找到信息,结果发现非常困难,因为关于 OpenFoam 的信息很少,尤其是关于我的特定项目的信息。

水箱在第一个版本中应该有一个入口和一个出口。

这是我的 BlockMesh 文件

FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

scale 0.1;

vertices
(
    (0 0 0)         //0
    (3.984 0 0)     //1
    (3.984 1.992 0)     //2
    (0 1.992 0)     //3
    (0 0 2.984)     //4
    (3.984 0 2.984)     //5
    (3.984 1.992 2.984) //6
    (0 1.992 2.984)     //7
    (0.147 0.197 2.984) //8
    (0.353 0.197 2.984) //9
    (0.147 0.313 2.984) //10
    (0.353 0.313 2.984) //11
    (0.147 1.679 2.984) //12
    (0.353 1.679 2.984) //13
    (0.353 1.885 2.984) //14
    (0.147 1.885 2.984) //15
);

blocks
(
    hex (0 1 2 3 4 5 6 7) (4 2 3) simpleGrading (1 1 1)
    hex (8 9 10 11) (1 1 0) simpleGrading (1 1 1)
    hex (12 13 14 15) (1 1 0) simpleGrading (1 1 1)
);

edges
(
);

boundary
(
    inlet
    {
        type patch;
        faces
        (
            (8 9 10 11)
        );
    }  
    outlet
    {
        type patch;
        faces
        (
            (12 13 14 15)
        );
    }
    
    fixedWalls
    {
        type wall;
        faces
        (
            (0 4 7 3)
            (2 6 5 1)
            (1 5 4 0)
            (3 7 6 2)
            (0 3 2 1)
            (4 5 6 7)
        );
    }
);

//mergePatchPairs
(
);

入口和出口应该是单独的块还是与罐的其余部分合并在一个六角块中?

没有必要做所有的工作。我会很感激一些有用的提示,我需要注意什么。 (我知道判决的顺序很重要,这是正确的吗?)

这是我在终端中运行“BlockMesh”命令时收到的错误代码

\*---------------------------------------------------------------------------*/
Build  : 8-1c9b5879390b
Exec   : blockMesh
Date   : May 27 2021
Time   : 11:03:25
Host   : "DESKTOP-DCDG4KB"
PID    : 600
I/O    : uncollated
Case   : /home/flaayor/OpenFOAM/flaayor-8/run/cavity
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Creating block mesh from
    "system/blockMeshDict"
Creating block edges
No non-planar block faces defined
Creating topology blocks
#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::sigSegv::sigHandler(int) at ??:?
#2  ? in "/lib/x86_64-linux-gnu/libc.so.6"
#3  Foam::Vector<double> Foam::face::centre<Foam::UIndirectList<Foam::Vector<double> > >(Foam::UIndirectList<Foam::Vector<double> > const&) at ??:?
#4  Foam::face::centre(Foam::Field<Foam::Vector<double> > const&) const at ??:?
#5  Foam::blockDescriptor::check(Foam::Istream const&) at ??:?
#6  Foam::blockDescriptor::blockDescriptor(Foam::dictionary const&,int,Foam::Field<Foam::Vector<double> > const&,Foam::PtrList<Foam::blockEdge> const&,Foam::PtrList<Foam::blockFace> const&,Foam::Istream&) at ??:?
#7  Foam::block::block(Foam::dictionary const&,Foam::Istream&) at ??:?
#8  Foam::block::New(Foam::dictionary const&,Foam::Istream&) at ??:?
#9  void Foam::PtrList<Foam::block>::read<Foam::block::iNew>(Foam::Istream&,Foam::block::iNew const&) at ??:?
#10  Foam::blockMesh::createtopology(Foam::IOdictionary const&,Foam::word const&) at ??:?
#11  Foam::blockMesh::blockMesh(Foam::IOdictionary const&,Foam::word const&) at ??:?
#12  ? in "/opt/openfoam8/platforms/linux64GccDPInt32Opt/bin/blockMesh"
#13  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#14  ? in "/opt/openfoam8/platforms/linux64GccDPInt32Opt/bin/blockMesh"
Segmentation fault (core dumped)

最好的祝福,并提前感谢您 鞭打

解决方法

出于某种原因,您定义了 4 个点的十六进制块 - 每个十六进制肯定需要 8 个点。例如,如果您有两个连接在一起的六角块,则需要定义 12 个点,其中 4 个点在两个块之间是通用的。