blockMesh 报错: ill defined primitiveEntry

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | foam-extend: Open Source CFD                    |
|  \\    /   O peration     | Version:     3.1                                |
|   \\  /    A nd           | Web:         http://www.extend-project.de       |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 0.001;

vertices
(
    (0 0 0)
    (5 0 0)
    (0 15 0)
    (5 15 0)
    (12 15 0)
    (7.5 21 0)
    (12 21 0)
    (3 25 0)
    (7.5 25 0)
    (12 25 0)
    (3 40 0)
    (7.5 40 0)
    (12 40 0)
    (0 0 0.1
    (5 0 0.1)
    (0 15 0.1)
    (5 15 0.1)
    (12 15 0.1)
    (7.5 21 0.1)
    (12 21 0.1)
    (3 25 0.1)
    (7.5 25 0.1)
    (12 25 0.1)
    (3 40 0.1)
    (7.5 40 0.1)
    (12 40 0.1)
    
);

blocks
(
    hex (0 1 3 2 13 14 16 15) (10 30 1) simpleGrading (2 0.25 1)
    hex (2 3 5 5 15 16 18 18) (10 30 1) simpleGrading (2 1 1)
    hex (3 4 6 5 16 17 19 18) (15 30 1) simpleGrading (1 1 1)
    hex (5 6 9 8 18 19 22 21) (15 20 1) simpleGrading (1 1 1)
    hex (8 9 12 11 21 22 25 24) (15 30 1) simpleGrading (1 4 1)
    hex (7 8 11 10 20 21 24 23) (15 30 1) simpleGrading (2 4 1)
);

edges
(
);

boundary
(
    
    fixedWalls
    {
        type wall;
        faces
        (
            (2 15 13 0)
            (1 14 16 3)
            (3 16 17 4)
            (5 18 15 2)
            (4 17 19 6)
            (8 21 18 5)
            (6 19 22 9)
            (7 20 21 8)
            (10 23 20 7)
            (9 22 25 12)
            
        );
    }

    top
    {
        type wall;
        faces
        (
            (12 25 24 11)
            (11 24 23 10)
        );
    }

    bottom
    {
        type wall;
        faces
        (
            (0 13 14 1)
        );
    }

    frontAndBack
    {
        type empty;
        faces
        (
            (0 2 3 1)
            (2 5 3 3)
            (3 5 6 4)
            (5 8 9 6)
            (7 10 11 8)
            (8 11 12 9)
            (13 15 16 14)
            (15 18 16 16)
            (16 18 19 17)
            (18 21 22 19)
            (20 23 24 21)
            (21 24 25 22)
        );
    }
);

mergePatchPairs
(
);

// ************************************************************************* //

报错信息如下:

Creating block mesh from
    "/home/xye/ABC/constant/polyMesh/blockMeshDict"

--> Error from: primitiveEntry::readEntry(const dictionary&, Istream&)
--> Fatal error reading input from: /home/xye/ABC/constant/polyMesh/blockMeshDict


--> FOAM FATAL IO ERROR: 
ill defined primitiveEntry starting at keyword 'vertices' on line 20 and ending at line 132

file: /home/xye/ABC/constant/polyMesh/blockMeshDict at line 132.

    From function primitiveEntry::readEntry(const dictionary&, Istream&)
    in file db/dictionary/primitiveEntry/primitiveEntryIO.C at line 229.

FOAM exiting

但是我的文本总共才130行

这里有一篇帖子,相同的问题,但是我们看懂他怎么解决的。
https://www.cfd-online.com/Forums/openfoam-pre-processing/180944-blockmesh-error-ill-defined-primitiveentry-starting-keyword-vertices.html

还有这个
https://www.cfd-online.com/Forums/openfoam-meshing-blockmesh/183794-ill-defined-primitiveentry-starting-keyword-blocks.html
有人说是空格的问题,但是我看了,我的空格是对的啊。

请检查一下 34 行,右括号缺失。

    (0 0 0.1

谢谢,已解决。。。。。。