View Issue Details

IDProjectCategoryView StatusLast Update
0002484OpenFOAMBugpublic2017-03-05 12:32
Reportergdmcbain Assigned Tohenry  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionno change required 
PlatformDebianOSGNU/LinuxOS Version9.0
Fixed in Versiondev 
Summary0002484: malformed list of patches in constant/polyMesh/boundary files generated by utilities
DescriptionThe constant/polyMesh/boundary files generated by blockMesh, snappyHexMesh, or gmshToFoam are rejected by foamDictionary.


--> FOAM Warning :
    From function entry::getKeyword(keyType&, Istream&)
    in file db/dictionary/entry/entryIO.C at line 80
    Reading constant/polyMesh/boundary
    found on line 18 the label 6
    expected either } or EOF

Lists, as specified in ยง4.2.4, should begin with a <listName>, optionally followed by the number <n> of entries. The ones generated by the utilities don't, beginning with <n> and having no <listName>.
Steps To ReproduceTake any FOAM_TUTORIAL, e.g. basic/potentialFoam/cylinder, run blockMesh and then try:

    foamDictionary constant/polyMesh/boundary
Additional InformationI found that if I prepended a <listName> and appended a semicolon, as attached, the file was accepted and correctly processed by foamDictionary.

    patches
    6
    (
      ...
    );
TagsblockMesh, boundary conditions, snappyHexMesh

Activities

gdmcbain

2017-03-03 03:01

reporter  

boundary (1,738 bytes)   
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.x                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       polyBoundaryMesh;
    location    "constant/polyMesh";
    object      boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

patches
6
(
    down
    {
        type            symmetryPlane;
        inGroups        1(symmetryPlane);
        nFaces          60;
        startFace       3890;
    }
    right
    {
        type            patch;
        nFaces          30;
        startFace       3950;
    }
    up
    {
        type            symmetryPlane;
        inGroups        1(symmetryPlane);
        nFaces          60;
        startFace       3980;
    }
    left
    {
        type            patch;
        nFaces          30;
        startFace       4040;
    }
    cylinder
    {
        type            symmetry;
        inGroups        1(symmetry);
        nFaces          40;
        startFace       4070;
    }
    defaultFaces
    {
        type            empty;
        inGroups        1(empty);
        nFaces          4000;
        startFace       4110;
    }
);

// ************************************************************************* //
boundary (1,738 bytes)   

henry

2017-03-03 08:09

manager   ~0007852

The handling of lists has been added to foamDictionary in OpenFOAM-dev. Now when you run

foamDictionary constant/polyMesh/boundary

on the basic/potentialFoam/cylinder tutorial you get

FoamFile
{
    version 2;
    format ascii;
    class polyBoundaryMesh;
    location "constant/polyMesh";
    object boundary;
}


6 // entry0
(
    down
    {
        type symmetryPlane;
        inGroups 1 ( symmetryPlane );
        nFaces 60;
        startFace 3890;
    }
    right
    {
        type patch;
        nFaces 30;
        startFace 3950;
    }
    up
    {
        type symmetryPlane;
        inGroups 1 ( symmetryPlane );
        nFaces 60;
        startFace 3980;
    }
    left
    {
        type patch;
        nFaces 30;
        startFace 4040;
    }
    cylinder
    {
        type symmetry;
        inGroups 1 ( symmetry );
        nFaces 40;
        startFace 4070;
    }
    defaultFaces
    {
        type empty;
        inGroups 1 ( empty );
        nFaces 4000;
        startFace 4110;
    }
)


See commit a7256d6fa9f8f54c5aa2f14d21236659d1fc44d3

    foamDictionary: Added support for manipulating lists of dictionaries
    
      - provides support for manipulating polyMesh/boundary
    
      - changed behaviour of disableFunctionEntries option to preserve
        #include
    
      - dictionary: added reading of lists of dictionaries.
        + each list element may be accessed using the 'entryDDD' keyword
          according to their list index.

Issue History

Date Modified Username Field Change
2017-03-03 03:01 gdmcbain New Issue
2017-03-03 03:01 gdmcbain File Added: boundary
2017-03-03 03:01 gdmcbain Tag Attached: blockMesh
2017-03-03 03:01 gdmcbain Tag Attached: boundary conditions
2017-03-03 03:01 gdmcbain Tag Attached: snappyHexMesh
2017-03-03 08:09 henry Note Added: 0007852
2017-03-05 12:32 henry Assigned To => henry
2017-03-05 12:32 henry Status new => closed
2017-03-05 12:32 henry Resolution open => no change required
2017-03-05 12:32 henry Fixed in Version => dev