CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Pre-Processing

decomposePar problem: Cell 0contains face labels out of range

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 25, 2015, 13:03
Default
  #21
Senior Member
 
nasir musa yakubu
Join Date: Mar 2014
Location: Birmingham
Posts: 109
Rep Power: 12
esujby is on a distinguished road
snappyhexmeshdict:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.4.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      snappyHexMeshDict;
}

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

// Which of the steps to run
castellatedMesh true;
snap            true;
addLayers       true;


// Geometry. Definition of all surfaces. All surfaces are of class
// searchableSurface.
// Surfaces are used
// - to specify refinement for any mesh cell intersecting it
// - to specify refinement for any mesh cell inside/outside/near
// - to 'snap' the mesh boundary to the surface
geometry
{
        inlet.stl
        {
            type triSurfaceMesh;
            name inlet;
        }

        outlet.stl
        {
            type triSurfaceMesh;
            name outlet;
        }

        lens.stl
        {
            type triSurfaceMesh;
            name lens;
        }

        bot.stl
        {
            type triSurfaceMesh;
            name bot;
        }

        top.stl
        {
            type triSurfaceMesh;
            name top;
        }

        s1.stl
        {
            type triSurfaceMesh;
            name s1;
        }

        s2.stl
        {
            type triSurfaceMesh;
            name s2;
        }

        s3.stl
        {
            type triSurfaceMesh;
            name s3;
        }

        s4.stl
        {
            type triSurfaceMesh;
            name s4;
        }

        s5.stl
        {
            type triSurfaceMesh;
            name s5;
        }

        s6.stl
        {
            type triSurfaceMesh;
            name s6;
        }

        s7.stl
        {
            type triSurfaceMesh;
            name s7;
        }

        s8.stl
        {
            type triSurfaceMesh;
            name s8;
        }

        s9.stl
        {
            type triSurfaceMesh;
            name s9;
        }

        s10.stl
        {
            type triSurfaceMesh;
            name s10;
        }

        s11.stl
        {
            type triSurfaceMesh;
            name s11;
        }

        s12.stl
        {
            type triSurfaceMesh;
            name s12;
        }

        s13.stl
        {
            type triSurfaceMesh;
            name s13;
        }

        s14.stl
        {
            type triSurfaceMesh;
            name s14;
        }

        s15.stl
        {
            type triSurfaceMesh;
            name s15;
        }

        insulator.stl
        {
            type triSurfaceMesh;
            name insulator;
        }
        volume.stl
        {
            type triSurfaceMesh;
            name volume;
        }
};



// Settings for the castellatedMesh generation.
castellatedMeshControls
{

    // Refinement parameters
    // ~~~~~~~~~~~~~~~~~~~~~

    // If local number of cells is >= maxLocalCells on any processor
    // switches from from refinement followed by balancing
    // (current method) to (weighted) balancing before refinement.
    maxLocalCells 20000000;

    // Overall cell limit (approximately). Refinement will stop immediately
    // upon reaching this number so a refinement level might not complete.
    // Note that this is the number of cells before removing the part which
    // is not 'visible' from the keepPoint. The final number of cells might
    // actually be a lot less.
    maxGlobalCells 160000000;

    // The surface refinement loop might spend lots of iterations
    // refining just a few cells. This setting will cause refinement
    // to stop if <= minimumRefine are selected for refinement. Note:
    // it will at least do one iteration (unless the number of cells
    // to refine is 0)
    minRefinementCells 0;

    // Number of buffer layers between different levels.
    // 1 means normal 2:1 refinement restriction, larger means slower
    // refinement.
    nCellsBetweenLevels 1;



    // Explicit feature edge refinement
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    // Specifies a level for any cell intersected by its edges.
    // This is a featureEdgeMesh, read from constant/triSurface for now.
    features
    (
        {
            file "inlet.eMesh";
            level 5;
        }
        {
            file "outlet.eMesh";
            level 5;
        }
        {
            file "lens.eMesh";
            level 5;
        }
        {
            file "insulator.eMesh";
            level 5;
        }
        {
            file "top.eMesh";
            level 5;
        }
        {
            file "bot.eMesh";
            level 5;
        }
        {
            file "s1.eMesh";
            level 5;
        }
        {
            file "s2.eMesh";
            level 5;
        }
        {
            file "s3.eMesh";
            level 5;
        }
        {
            file "s4.eMesh";
            level 5;
        }
        {
            file "s5.eMesh";
            level 5;
        }
        {
            file "s6.eMesh";
            level 5;
        }
        {
            file "s7.eMesh";
            level 5;
        }
        {
            file "s8.eMesh";
            level 5;
        }
        {
            file "s9.eMesh";
            level 5;
        }
        {
            file "s10.eMesh";
            level 5;
        }
        {
            file "s11.eMesh";
            level 5;
        }
        {
            file "s12.eMesh";
            level 5;
        }
        {
            file "s13.eMesh";
            level 5;
        }
        {
            file "s14.eMesh";
            level 5;
        }
        {
            file "s15.eMesh";
            level 5;
        }
    );



    // Surface based refinement
    // ~~~~~~~~~~~~~~~~~~~~~~~~

    // Specifies two levels for every surface. The first is the minimum level,
    // every cell intersecting a surface gets refined up to the minimum level.
    // The second level is the maximum level. Cells that 'see' multiple
    // intersections where the intersections make an
    // angle > resolveFeatureAngle get refined up to the maximum level.

    refinementSurfaces
    {
        inlet
        {
            // Surface-wise min and max refinement level
            level (0 1);

            faceZone inlet;
            cellZone inlet;
            cellZoneInside inside;
        }

        outlet
        {
            // Surface-wise min and max refinement level
            level (0 1);

            faceZone outlet;
            cellZone outlet;
            cellZoneInside inside;
        }

        lens
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone lens;
            cellZone lens;
            cellZoneInside inside;
        }

        bot
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone bot;
            cellZone bot;
            cellZoneInside inside;
        }

        top
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone top;
            cellZone top;
            cellZoneInside inside;
        }

        insulator
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone insulator;
            cellZone insulator;
            cellZoneInside inside;
        }

        s1
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s1;
            cellZone s1;
            cellZoneInside inside;
        }

        s2
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s2;
            cellZone s2;
            cellZoneInside inside;
        }

        s3
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s3;
            cellZone s3;
            cellZoneInside inside;
        }

        s4
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s4;
            cellZone s4;
            cellZoneInside inside;
        }

        s5
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s5;
            cellZone s5;
            cellZoneInside inside;
        }

        s6
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s6;
            cellZone s6;
            cellZoneInside inside;
        }

        s7
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s7;
            cellZone s7;
            cellZoneInside inside;
        }

        s8
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s8;
            cellZone s8;
            cellZoneInside inside;
        }

        s9
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s9;
            cellZone s9;
            cellZoneInside inside;
        }

        s10
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s10;
            cellZone s10;
            cellZoneInside inside;
        }

        s11
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s11;
            cellZone s11;
            cellZoneInside inside;
        }

        s12
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s12;
            cellZone s12;
            cellZoneInside inside;
        }

        s13
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s13;
            cellZone s13;
            cellZoneInside inside;
        }

        s14
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s14;
            cellZone s14;
            cellZoneInside inside;
        }

        s15
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone s15;
            cellZone s15;
            cellZoneInside inside;
        }
    }

    // Resolve sharp angles
    resolveFeatureAngle 180;


    // Region-wise refinement
    // ~~~~~~~~~~~~~~~~~~~~~~

    // Specifies refinement level for cells in relation to a surface. One of
    // three modes
    // - distance. 'levels' specifies per distance to the surface the
    //   wanted refinement level. The distances need to be specified in
    //   descending order.
    // - inside. 'levels' is only one entry and only the level is used. All
    //   cells inside the surface get refined up to the level. The surface
    //   needs to be closed for this to be possible.
    // - outside. Same but cells outside.

    refinementRegions        // In descending levels of fine-ness
    {volume {mode distance; levels ((0.0000001 5) (0.001 3) (0.01 2));}} // was ((0.001 4) (0.003 3) (0.01 2))


    // Mesh selection
    // ~~~~~~~~~~~~~~

    // After refinement patches get added for all refinementSurfaces and
    // all cells intersecting the surfaces get put into these patches. The
    // section reachable from the locationInMesh is kept.
    // NOTE: This point should never be on a face, always inside a cell, even
    // after refinement.
    locationInMesh (0.0724 0.0651937 0.0743597);


    // Whether any faceZones (as specified in the refinementSurfaces)
    // are only on the boundary of corresponding cellZones or also allow
    // free-standing zone faces. Not used if there are no faceZones.
    allowFreeStandingZoneFaces true;
}



// Settings for the snapping.
snapControls
{
    //- Number of patch smoothing iterations before finding correspondence
    //  to surface
    nSmoothPatch 5; //was 3

    //- Relative distance for points to be attracted by surface feature point
    //  or edge. True distance is this factor times local
    //  maximum edge length.
    tolerance 10; //was 5

    //- Number of mesh displacement relaxation iterations.
    nSolveIter 30;

    //- Maximum number of snapping relaxation iterations. Should stop
    //  before upon reaching a correct mesh.
    nRelaxIter 5; //was 5

    //- Highly experimental and wip: number of feature edge snapping
    //  iterations. Leave out altogether to disable.
    //  Of limited use in this case since faceZone faces not handled.
    nFeatureSnapIter 10; // was 10

// New settings from openfoam 2.2 onwards for SHMesh

implicitFeatureSnap true; // default is false - detects without doing surfaceFeatureExtract
explicitFeatureSnap true; // default is true
multiRegionFeatureSnap true; // deafault is false - detects features between multiple surfaces

}



// Settings for the layer addition.
addLayersControls
{
    relativeSizes true;

    // Per final patch (so not geometry!) the layer information
    layers
    {
    s1
             {nSurfaceLayers 1;} // was 3
    s2 
        {nSurfaceLayers 1;} // was 3
    s3
        {nSurfaceLayers 1;} // was 3
    s4
             {nSurfaceLayers 1;} // was 3
    s5 
        {nSurfaceLayers 1;} // was 3
    s6
        {nSurfaceLayers 1;} // was 3
    s7
             {nSurfaceLayers 1;} // was 3
    s8 
        {nSurfaceLayers 1;} // was 3
    s9
        {nSurfaceLayers 1;} // was 3
    s10
             {nSurfaceLayers 1;} // was 3
    s11 
        {nSurfaceLayers 1;} // was 3
    s12
        {nSurfaceLayers 1;} // was 3
    s13
             {nSurfaceLayers 1;} // was 3
    s14 
        {nSurfaceLayers 1;} // was 3
    s15
        {nSurfaceLayers 1;} // was 3
    }

    // Expansion factor for layer mesh
    expansionRatio 1; //was 1.3

    // Wanted thickness of final added cell layer. If multiple layers
    // is the thickness of the layer furthest away from the wall.
    // Relative to undistorted size of cell outside layer.
    // See relativeSizes parameter.
    finalLayerThickness 0.000025; //was 0

    // Minimum thickness of cell layer. If for any reason layer
    // cannot be above minThickness do not add layer.
    // Relative to undistorted size of cell outside layer.
    minThickness 0.000025; //was 0.1

    // If points get not extruded do nGrow layers of connected faces that are
    // also not grown. This helps convergence of the layer addition process
    // close to features.
    // Note: changed(corrected) w.r.t 17x! (didn't do anything in 17x)
    nGrow 0;

    // Advanced settings

    // When not to extrude surface. 0 is flat surface, 90 is when two faces
    // are perpendicular
    featureAngle 180;

    // Maximum number of snapping relaxation iterations. Should stop
    // before upon reaching a correct mesh.
    nRelaxIter 6; //was 3

    // Number of smoothing iterations of surface normals
    nSmoothSurfaceNormals 5; //was 1

    // Number of smoothing iterations of interior mesh movement direction
    nSmoothNormals 3; //was 3

    // Smooth layer thickness over surface patches
    nSmoothThickness 5; //was 2

    // Stop layer growth on highly warped cells
    maxFaceThicknessRatio 0.5;

    // Reduce layer growth where ratio thickness to medial
    // distance is large
    maxThicknessToMedialRatio 0.03; //was 1

    // Angle used to pick up medial axis points
    // Note: changed(corrected) w.r.t 17x! 90 degrees corresponds to 130 in 17x.
    minMedianAxisAngle 90;

    // Create buffer region for new layer terminations
    nBufferCellsNoExtrude 0;

    // Overall max number of layer addition iterations. The mesher will exit
    // if it reaches this number of iterations; possibly with an illegal
    // mesh.
    nLayerIter 50;
}



// Generic mesh quality settings. At any undoable phase these determine
// where to undo.
meshQualityControls
{
    maxNonOrtho 180; //was 95
    maxBoundarySkewness 0.5; //was 20
    maxInternalSkewness 0.5; //was 4
    maxConcave 180; //was 80
    minFlatness 0.5; //was 0.5
    minVol 1e-100; //was 1e-15
    minTetQuality 1e-100; // was 1e-15
    minArea -1;
    minTwist 0.00000002; //was 0.002
    minDeterminant 0.000001; //was 0.001
    minFaceWeight 0.000001; //was 0.001
    minVolRatio 0.0000001; // was 0.01
    minTriangleTwist -1;

    // Advanced

    nSmoothScale 10; //was 4
    errorReduction 1; // was 0.75
}


// Advanced

// Merge tolerance. Is fraction of overall bounding box of initial mesh.
// Note: the write tolerance needs to be higher than this.
mergeTolerance 1e-6; //was 1e-6


// ************************************************************************* //
decomposepardict:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.4.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    note        "mesh decomposition control dictionary";
    location    "system";
    object      decomposeParDict;
}

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

numberOfSubdomains  16;

//- Keep owner and neighbour on same processor for faces in zones:
// preserveFaceZones (pgs insulator s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 bot top lens);

// method          scotch;
method          hierarchical;
// method          simple;
// method          manual;

simpleCoeffs
{
    n           (2 4 2);
    delta       0.001;
}

hierarchicalCoeffs
{
    n           (2 4 2);
    delta       0.001;
    order       xyz;
}

scotchCoeffs
{
    //processorWeights
    //(
    //    1
    //    1
    //    1
    //    1
    //    1
    //    1
    //    1
    //    1
    //    1
    //    1
    //    1
    //    1
    //    1
    //    1
    //    1
    //    1
    //);
    //writeGraph  true;
    //strategy "b";
}

manualCoeffs
{
    dataFile    "decompositionData";
}


//// Is the case distributed
//distributed     yes;
//// Per slave (so nProcs-1 entries) the directory above the case.
//roots
//(
//    "/tmp"
//    "/tmp"
//);


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

Last edited by wyldckat; October 25, 2015 at 13:12. Reason: Added [CODE][/CODE] markers
esujby is offline   Reply With Quote

Old   October 25, 2015, 13:21
Default
  #22
Senior Member
 
nasir musa yakubu
Join Date: Mar 2014
Location: Birmingham
Posts: 109
Rep Power: 12
esujby is on a distinguished road
boundary file:

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

42
(
    inlet
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    inlet_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    outlet
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    outlet_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    lens
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    lens_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    bot
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    bot_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    top
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    top_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s1
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s1_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s2
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s2_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s3
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s3_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s4
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s4_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s5
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s5_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s6
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s6_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s7
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s7_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s8
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s8_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s9
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s9_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s10
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s10_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s11
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s11_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s12
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s12_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s13
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s13_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s14
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s14_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s15
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    s15_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    insulator
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
    insulator_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       56040582;
    }
)

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

Last edited by wyldckat; October 25, 2015 at 13:24. Reason: Added [CODE][/CODE] markers
esujby is offline   Reply With Quote

Old   October 25, 2015, 13:23
Default
  #23
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Quick answer:
Quote:
Originally Posted by esujby View Post
snapyhexmesh (parallel processing) [...] after running reconstructparmesh - constant.
These were the details I was looking for .
This means that you should have executed it like this:
Code:
reconstructParMesh -constant -fullMatch
And please, next time, when posting contents of files, please use the [CODE] marker, as explained here: Posting code and output with [CODE] - post #6.
Tobi likes this.
__________________

Last edited by wyldckat; October 25, 2015 at 13:23. Reason: fixed link
wyldckat is offline   Reply With Quote

Old   October 26, 2015, 06:43
Default
  #24
Senior Member
 
nasir musa yakubu
Join Date: Mar 2014
Location: Birmingham
Posts: 109
Rep Power: 12
esujby is on a distinguished road
Hello Bruno,

Thanks again for your prompt reply, i did try the method you suggested but i still get the same error message for some reason. please have a look at the extract:

Code:
Writing mesh to time constant
Wrote mesh in = 92.43 s.
Layers added in = 92.44 s.
Checking final mesh ...
Checking faces in error :
    faces with face pyramid volume < 1e-100                 : 0
    faces with face-decomposition tet quality < 1e-100      : 0
    faces with skewness > 0.5 (internal) or 0.5 (boundary) : 31
    faces with interpolation weights (0..1)  < 1e-06       : 0
    faces with volume ratio of neighbour cells < 1e-07     : 0
    faces with face twist < 2e-08                          : 0
    faces on cells with determinant < 1e-06                : 0
Finished meshing with 31 illegal faces (concave, zero area or negative cell pyramid volume)
Finished meshing in = 35900.4 s.
End

Finalising parallel run
parallels@ubuntu:~/OpenFOAM-2.4.0/receiver$ reconstructParMesh -constant -fullMatch
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.4.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 2.4.0-f0842aea0e77
Exec   : reconstructParMesh -constant -fullMatch
Date   : Oct 26 2015
Time   : 10:03:17
Host   : "ubuntu"
PID    : 28364
Case   : /home/parallels/OpenFOAM-2.4.0/receiver
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

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

This is an experimental tool which tries to merge individual processor
meshes back into one master mesh. Use it if the original master mesh has
been deleted or if the processor meshes have been modified (topology change).
This tool will write the resulting mesh to a new time step and construct
xxxxProcAddressing files in the processor meshes so reconstructPar can be
used to regenerate the fields on the master mesh.

Not well tested & use at your own risk!

Merge tolerance : 1e-07
Write tolerance : 1e-07
Doing geometric matching on all boundary faces.

Found 16 processor directories

Reading database "receiver/processor0"
Reading database "receiver/processor1"
Reading database "receiver/processor2"
Reading database "receiver/processor3"
Reading database "receiver/processor4"
Reading database "receiver/processor5"
Reading database "receiver/processor6"
Reading database "receiver/processor7"
Reading database "receiver/processor8"
Reading database "receiver/processor9"
Reading database "receiver/processor10"
Reading database "receiver/processor11"
Reading database "receiver/processor12"
Reading database "receiver/processor13"
Reading database "receiver/processor14"
Reading database "receiver/processor15"
Time = constant

Reading points from "receiver/processor0" for time = constant

Reading points from "receiver/processor1" for time = constant

Reading points from "receiver/processor2" for time = constant

Reading points from "receiver/processor3" for time = constant

Reading points from "receiver/processor4" for time = constant

Reading points from "receiver/processor5" for time = constant

Reading points from "receiver/processor6" for time = constant

Reading points from "receiver/processor7" for time = constant

Reading points from "receiver/processor8" for time = constant

Reading points from "receiver/processor9" for time = constant

Reading points from "receiver/processor10" for time = constant

Reading points from "receiver/processor11" for time = constant

Reading points from "receiver/processor12" for time = constant

Reading points from "receiver/processor13" for time = constant

Reading points from "receiver/processor14" for time = constant

Reading points from "receiver/processor15" for time = constant

Overall mesh bounding box  : (-1.646242e-90 -4.126551e-38 0) (0.08 0.07 0.08)
Relative tolerance         : 1e-07
Absolute matching distance : 1.330413e-08

Constructing empty mesh to add to.

Reading mesh to add from "receiver/processor0" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor1" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor2" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor3" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor4" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor5" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor6" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor7" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor8" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor9" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor10" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor11" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor12" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor13" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor14" for time = constant

Adding to master mesh


Reading mesh to add from "receiver/processor15" for time = constant

Adding to master mesh


mergeSharedPoints : detected 0 points that are to be merged.

Writing merged mesh to "/home/parallels/OpenFOAM-2.4.0/receiver/constant"

Reconstructing the addressing from the processor meshes to the newly reconstructed mesh

Reading processor 0 mesh from "receiver/processor0"
Writing pointProcAddressing to "receiver/processor0/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor0/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor0/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor0/constant/polyMesh"

Reading processor 1 mesh from "receiver/processor1"
Writing pointProcAddressing to "receiver/processor1/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor1/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor1/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor1/constant/polyMesh"

Reading processor 2 mesh from "receiver/processor2"
Writing pointProcAddressing to "receiver/processor2/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor2/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor2/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor2/constant/polyMesh"

Reading processor 3 mesh from "receiver/processor3"
Writing pointProcAddressing to "receiver/processor3/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor3/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor3/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor3/constant/polyMesh"

Reading processor 4 mesh from "receiver/processor4"
Writing pointProcAddressing to "receiver/processor4/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor4/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor4/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor4/constant/polyMesh"

Reading processor 5 mesh from "receiver/processor5"
Writing pointProcAddressing to "receiver/processor5/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor5/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor5/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor5/constant/polyMesh"

Reading processor 6 mesh from "receiver/processor6"
Writing pointProcAddressing to "receiver/processor6/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor6/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor6/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor6/constant/polyMesh"

Reading processor 7 mesh from "receiver/processor7"
Writing pointProcAddressing to "receiver/processor7/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor7/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor7/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor7/constant/polyMesh"

Reading processor 8 mesh from "receiver/processor8"
Writing pointProcAddressing to "receiver/processor8/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor8/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor8/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor8/constant/polyMesh"

Reading processor 9 mesh from "receiver/processor9"
Writing pointProcAddressing to "receiver/processor9/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor9/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor9/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor9/constant/polyMesh"

Reading processor 10 mesh from "receiver/processor10"
Writing pointProcAddressing to "receiver/processor10/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor10/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor10/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor10/constant/polyMesh"

Reading processor 11 mesh from "receiver/processor11"
Writing pointProcAddressing to "receiver/processor11/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor11/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor11/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor11/constant/polyMesh"

Reading processor 12 mesh from "receiver/processor12"
Writing pointProcAddressing to "receiver/processor12/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor12/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor12/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor12/constant/polyMesh"

Reading processor 13 mesh from "receiver/processor13"
Writing pointProcAddressing to "receiver/processor13/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor13/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor13/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor13/constant/polyMesh"

Reading processor 14 mesh from "receiver/processor14"
Writing pointProcAddressing to "receiver/processor14/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor14/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor14/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor14/constant/polyMesh"

Reading processor 15 mesh from "receiver/processor15"
Writing pointProcAddressing to "receiver/processor15/constant/polyMesh"
Writing faceProcAddressing to "receiver/processor15/constant/polyMesh"
Writing cellProcAddressing to "receiver/processor15/constant/polyMesh"
Writing boundaryProcAddressing to "receiver/processor15/constant/polyMesh"

End.

parallels@ubuntu:~/OpenFOAM-2.4.0/receiver$ paraFoam 
created temporary 'receiver.OpenFOAM'
parallels@ubuntu:~/OpenFOAM-2.4.0/receiver$ decomposePar
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.4.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 2.4.0-f0842aea0e77
Exec   : decomposePar
Date   : Oct 26 2015
Time   : 10:35:43
Host   : "ubuntu"
PID    : 1799
Case   : /home/parallels/OpenFOAM-2.4.0/receiver
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

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



Decomposing mesh region0

Create mesh

Calculating distribution of cells
Selecting decompositionMethod hierarchical

Finished decomposition in 39.32 s

Calculating original mesh data

Distributing cells to processors

Distributing faces to processors

Distributing points to processors

Constructing processor meshes


--> FOAM FATAL ERROR: 
Cell 0contains face labels out of range: 6(0 1 2 -1 -1 -1) Max face index = 3515586

    From function polyMesh::polyMesh
(
    const IOobject&,
    const Xfer<pointField>&,
    const Xfer<faceList>&,
    const Xfer<cellList>&
)

    in file meshes/polyMesh/polyMesh.C at line 654.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::error::abort() at ??:?
#2  Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Xfer<Foam::Field<Foam::Vector<double> > > const&, Foam::Xfer<Foam::List<Foam::face> > const&, Foam::Xfer<Foam::List<Foam::cell> > const&, bool) at ??:?
#3  ? at ??:?
#4  ? at ??:?
#5  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#6  ? at ??:?
Aborted (core dumped)
parallels@ubuntu:~/OpenFOAM-2.4.0/receiver$
esujby is offline   Reply With Quote

Old   October 29, 2015, 21:43
Default
  #25
Senior Member
 
nasir musa yakubu
Join Date: Mar 2014
Location: Birmingham
Posts: 109
Rep Power: 12
esujby is on a distinguished road
Hello,

once again, i have achieved some progress by following your suggestion bruno:

Code:
reconstructParMesh -latestTime -fullMatch
or

Code:
reconstructParMesh -latestTime -mergeTol 1e-7
and after copying the contents of the polymesh 0.003 folder to the constant polymesh folder, deleting the processor folders and running decomposePar, i get the following result:

Code:
parallels@ubuntu:~/OpenFOAM-2.4.0/chtMRF$ decomposePar
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.4.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 2.4.0-f0842aea0e77
Exec   : decomposePar
Date   : Oct 30 2015
Time   : 01:18:56
Host   : "ubuntu"
PID    : 4201
Case   : /home/parallels/OpenFOAM-2.4.0/chtMRF
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

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



Decomposing mesh region0

Create mesh

Calculating distribution of cells
Selecting decompositionMethod hierarchical

Finished decomposition in 28.06 s

Calculating original mesh data

Distributing cells to processors

Distributing faces to processors

Distributing points to processors

Constructing processor meshes

Processor 0
    Number of cells = 989712
    Number of faces shared with processor 1 = 8538
    Number of faces shared with processor 2 = 17864
    Number of faces shared with processor 3 = 8
    Number of faces shared with processor 8 = 8258
    Number of faces shared with processor 10 = 148
    Number of processor patches = 5
    Number of processor faces = 34816
    Number of boundary faces = 15701

Processor 1
    Number of cells = 989712
    Number of faces shared with processor 0 = 8538
    Number of faces shared with processor 2 = 7
    Number of faces shared with processor 3 = 17916
    Number of faces shared with processor 8 = 51
    Number of faces shared with processor 9 = 7647
    Number of faces shared with processor 11 = 234
    Number of processor patches = 6
    Number of processor faces = 34393
    Number of boundary faces = 10976

Processor 2
    Number of cells = 989712
    Number of faces shared with processor 0 = 17864
    Number of faces shared with processor 1 = 7
    Number of faces shared with processor 3 = 10387
    Number of faces shared with processor 4 = 22340
    Number of faces shared with processor 5 = 24
    Number of faces shared with processor 10 = 9495
    Number of faces shared with processor 11 = 1
    Number of faces shared with processor 12 = 50
    Number of processor patches = 8
    Number of processor faces = 60168
    Number of boundary faces = 3923

Processor 3
    Number of cells = 989712
    Number of faces shared with processor 0 = 8
    Number of faces shared with processor 1 = 17916
    Number of faces shared with processor 2 = 10387
    Number of faces shared with processor 4 = 34
    Number of faces shared with processor 5 = 24347
    Number of faces shared with processor 10 = 26
    Number of faces shared with processor 11 = 9202
    Number of faces shared with processor 13 = 92
    Number of processor patches = 8
    Number of processor faces = 62012
    Number of boundary faces = 2004

Processor 4
    Number of cells = 989712
    Number of faces shared with processor 2 = 22340
    Number of faces shared with processor 3 = 34
    Number of faces shared with processor 5 = 11365
    Number of faces shared with processor 6 = 16067
    Number of faces shared with processor 7 = 8
    Number of faces shared with processor 10 = 2
    Number of faces shared with processor 12 = 11131
    Number of faces shared with processor 13 = 1
    Number of processor patches = 8
    Number of processor faces = 60948
    Number of boundary faces = 356

Processor 5
    Number of cells = 989712
    Number of faces shared with processor 2 = 24
    Number of faces shared with processor 3 = 24347
    Number of faces shared with processor 4 = 11365
    Number of faces shared with processor 6 = 31
    Number of faces shared with processor 7 = 17102
    Number of faces shared with processor 13 = 11081
    Number of faces shared with processor 15 = 26
    Number of processor patches = 7
    Number of processor faces = 63976
    Number of boundary faces = 227

Processor 6
    Number of cells = 989713
    Number of faces shared with processor 4 = 16067
    Number of faces shared with processor 5 = 31
    Number of faces shared with processor 7 = 18280
    Number of faces shared with processor 12 = 89
    Number of faces shared with processor 14 = 17730
    Number of faces shared with processor 15 = 10
    Number of processor patches = 6
    Number of processor faces = 52207
    Number of boundary faces = 222

Processor 7
    Number of cells = 989712
    Number of faces shared with processor 4 = 8
    Number of faces shared with processor 5 = 17102
    Number of faces shared with processor 6 = 18280
    Number of faces shared with processor 13 = 8
    Number of faces shared with processor 14 = 6
    Number of faces shared with processor 15 = 17368
    Number of processor patches = 6
    Number of processor faces = 52772
    Number of boundary faces = 224

Processor 8
    Number of cells = 989712
    Number of faces shared with processor 0 = 8258
    Number of faces shared with processor 1 = 51
    Number of faces shared with processor 9 = 8895
    Number of faces shared with processor 10 = 22284
    Number of processor patches = 4
    Number of processor faces = 39488
    Number of boundary faces = 10672

Processor 9
    Number of cells = 989713
    Number of faces shared with processor 1 = 7647
    Number of faces shared with processor 8 = 8895
    Number of faces shared with processor 10 = 102
    Number of faces shared with processor 11 = 22931
    Number of processor patches = 4
    Number of processor faces = 39575
    Number of boundary faces = 6377

Processor 10
    Number of cells = 989712
    Number of faces shared with processor 0 = 148
    Number of faces shared with processor 2 = 9495
    Number of faces shared with processor 3 = 26
    Number of faces shared with processor 4 = 2
    Number of faces shared with processor 8 = 22284
    Number of faces shared with processor 9 = 102
    Number of faces shared with processor 11 = 10446
    Number of faces shared with processor 12 = 19771
    Number of faces shared with processor 13 = 12
    Number of processor patches = 9
    Number of processor faces = 62286
    Number of boundary faces = 2016

Processor 11
    Number of cells = 989713
    Number of faces shared with processor 1 = 234
    Number of faces shared with processor 2 = 1
    Number of faces shared with processor 3 = 9202
    Number of faces shared with processor 9 = 22931
    Number of faces shared with processor 10 = 10446
    Number of faces shared with processor 12 = 24
    Number of faces shared with processor 13 = 19779
    Number of processor patches = 7
    Number of processor faces = 62617
    Number of boundary faces = 76

Processor 12
    Number of cells = 989712
    Number of faces shared with processor 2 = 50
    Number of faces shared with processor 4 = 11131
    Number of faces shared with processor 6 = 89
    Number of faces shared with processor 10 = 19771
    Number of faces shared with processor 11 = 24
    Number of faces shared with processor 13 = 11381
    Number of faces shared with processor 14 = 15590
    Number of faces shared with processor 15 = 20
    Number of processor patches = 8
    Number of processor faces = 58056
    Number of boundary faces = 215

Processor 13
    Number of cells = 989713
    Number of faces shared with processor 3 = 92
    Number of faces shared with processor 4 = 1
    Number of faces shared with processor 5 = 11081
    Number of faces shared with processor 7 = 8
    Number of faces shared with processor 10 = 12
    Number of faces shared with processor 11 = 19779
    Number of faces shared with processor 12 = 11381
    Number of faces shared with processor 14 = 14
    Number of faces shared with processor 15 = 15606
    Number of processor patches = 9
    Number of processor faces = 57974
    Number of boundary faces = 78

Processor 14
    Number of cells = 989714
    Number of faces shared with processor 6 = 17730
    Number of faces shared with processor 7 = 6
    Number of faces shared with processor 12 = 15590
    Number of faces shared with processor 13 = 14
    Number of faces shared with processor 15 = 18275
    Number of processor patches = 5
    Number of processor faces = 51615
    Number of boundary faces = 224

Processor 15
    Number of cells = 989713
    Number of faces shared with processor 5 = 26
    Number of faces shared with processor 6 = 10
    Number of faces shared with processor 7 = 17368
    Number of faces shared with processor 12 = 20
    Number of faces shared with processor 13 = 15606
    Number of faces shared with processor 14 = 18275
    Number of processor patches = 6
    Number of processor faces = 51305
    Number of boundary faces = 224

Number of processor faces = 422104
Max number of cells = 989714 (0.0001578741% above average 989712.4)
Max number of processor patches = 9 (35.84906% above average 6.625)
Max number of faces between processors = 63976 (21.25163% above average 52763)

Time = 0


--> FOAM FATAL IO ERROR: 
Cannot find patchField entry for maxY

file: /home/parallels/OpenFOAM-2.4.0/chtMRF/0/alphat.boundaryField from line 25 to line 126.

    From function GeometricField<Type, PatchField, GeoMesh>::GeometricBoundaryField::readField(const DimensionedField<Type, GeoMesh>&, const dictionary&)
    in file /home/openfoam/OpenFOAM/OpenFOAM-2.4.0/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 209.

FOAM exiting

parallels@ubuntu:~/OpenFOAM-2.4.0/chtMRF$
Also, when i delete the block mesh boundary definition, decomposePar crashes straight away, please have a look at my boundary file:

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.4.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       polyBoundaryMesh;
    location    "0.003/polyMesh";
    object      boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

48
(
    maxY
    {
        type            wall;
        inGroups        1(wall);
        nFaces          262;
        startFace       49884400;
    }
    minX
    {
        type            patch;
        nFaces          13784;
        startFace       49884662;
    }
    maxX
    {
        type            patch;
        nFaces          437;
        startFace       49898446;
    }
    minY
    {
        type            wall;
        inGroups        1(wall);
        nFaces          24709;
        startFace       49898883;
    }
    minZ
    {
        type            wall;
        inGroups        1(wall);
        nFaces          13778;
        startFace       49923592;
    }
    maxZ
    {
        type            wall;
        inGroups        1(wall);
        nFaces          545;
        startFace       49937370;
    }
    inlet
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    inlet_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    outlet
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    outlet_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    lens
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    lens_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    bot
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    bot_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    top
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    top_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s1
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s1_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s2
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s2_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s3
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s3_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s4
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s4_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s5
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s5_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s6
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s6_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s7
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s7_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s8
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s8_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s9
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s9_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s10
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s10_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s11
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s11_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s12
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s12_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s13
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s13_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s14
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s14_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s15
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    s15_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    insulator
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
    insulator_slave
    {
        type            wall;
        inGroups        1(wall);
        nFaces          0;
        startFace       49937915;
    }
)

// ************************************************************************* //
please help, thanks
esujby is offline   Reply With Quote

Old   October 31, 2015, 10:54
Default
  #26
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Hi Nasir,

Details, details, details... OpenFOAM is all about the details

The first detail that you didn't describe is how exactly you were running snappyHexMesh. The original problem would have been solved if you had executed with the "-overwrite" option, for example:
Code:
snappyHexMesh -overwrite
As for the latest problem, that's because the final mesh is not what you had initially planned to become.
  • The "boundary" file is telling you that the boundary "maxY" has 262 faces assigned to it.
  • Then decomposePar is telling you that the file "0/alphat" does not have a boundary condition defined for this boundary "maxY".
My advice: learn how to visually diagnose your mesh: http://openfoamwiki.net/index.php/FA...is_in_ParaView


Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   November 1, 2015, 18:24
Default
  #27
Senior Member
 
nasir musa yakubu
Join Date: Mar 2014
Location: Birmingham
Posts: 109
Rep Power: 12
esujby is on a distinguished road
Hello Bruno,

Thanks for your reply, i have actually resolved the issue, it wasn't the method i was using to run snappyHexMesh, i have tried the overwrite option already but i think it can be used to resolve similar issue. I deleted the boundary patches in all the files located in the 0 folder that was why, using wildcat option resolved the issue e.g:
Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [1 -1 -1 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    ".*"
    {
        type            calculated;
        value           uniform 0;
    }
}


// ************************************************************************* //
Incase some other newbie like myself runs into the same issue.

However, I am currently facing a new problem which i guess i ve found a solution but i just want some clarifications.

my CAD model is an assembly, with each part/region in a separate still file. I followed this procedure:
Code:
----------------------------------------------------------------------
 Rename 0 folder 0.org		        This prevents SHMesh interfering with it
 < blockMesh >			        Creates background mesh for SHMesh
 < surfaceFeatureExtract >		So the mesher knows where to snap to
 < decomposePar >			Divides mesh into one section per CPU core
 < mpirun -np 16 snappyHexMesh -overwrite -parallel >	Runs mesher in parallel

 < < reconstructParMesh -latestTime -fullMatch

7 delete all processor folders	        Clear old mesh data
8 delete folder 0			This was a dummy folder for SHMesh
9 rename folder 0.org to 0		Reactivate the folder for the solver to use
----------------------
-------------------------------------------------
10 edit the constant/polymesh/boundary file and remove all the references to patches created by blockMesh in Step2. Le§ave only the patches desired for the simulation to run. Edit the number at the top of the text file which shows how many patches are to be setup.
-----------------------------------------------------------------------
11 < decomposePar >			Puts the solution setup into a folder per CPU core

12 <mpirun -n 16 renumberMesh -overwrite -parallel>	Optimises the mesh 
-----------------------------------------------------------------------
13 <mpirun -np 16 chtMultiRegionFoam -parallel>	Run the solver in parallel
however, when i run the simulation, it says it cannot find inlet in the 0 to boundary folder. After doing some intense digging in the forum, it became clear, it has to do this not running:

Code:
splitMeshRegions -cellZones
but i am wondering what it actually does to the case, and also when exactly to run split mesh command, before reconstructing, before or after the decomposing the mesh?

thanks
esujby is offline   Reply With Quote

Old   November 2, 2015, 18:04
Default
  #28
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Quote:
Originally Posted by esujby View Post
however, when i run the simulation, it says it cannot find inlet in the 0 to boundary folder. After doing some intense digging in the forum, it became clear, it has to do this not running:

Code:
splitMeshRegions -cellZones
but i am wondering what it actually does to the case, and also when exactly to run split mesh command, before reconstructing, before or after the decomposing the mesh?
Quick answer: This is now a question about problems with using snappyHexMesh, which falls outside of the original topic of this thread.

The command splitMeshRegions is for splitting parts of the mesh into independent regions. But the problem is that your mesh is incorrectly created. You need to first diagnose the problems you have in using snappyHexMesh. For more details: http://openfoamwiki.net/index.php/SnappyHexMesh
wyldckat is offline   Reply With Quote

Old   May 7, 2017, 17:01
Default
  #29
New Member
 
Syed M. Usama
Join Date: Oct 2016
Posts: 3
Rep Power: 10
usama784 is on a distinguished road
Quote:
Originally Posted by esujby View Post
i have the same issue, when i run snappyhexmesh and try to decompose the mesh when i run DecomposePar, i get the following:

Code:
 parallels@ubuntu:~/OpenFOAM-2.4.0/receiver$ decomposePar
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.4.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 2.4.0-f0842aea0e77
Exec   : decomposePar
Date   : Oct 24 2015
Time   : 13:29:26
Host   : "ubuntu"
PID    : 19295
Case   : /home/parallels/OpenFOAM-2.4.0/receiver
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

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



Decomposing mesh region0

Create mesh

Calculating distribution of cells
Selecting decompositionMethod hierarchical

Finished decomposition in 34.4 s

Calculating original mesh data

Distributing cells to processors

Distributing faces to processors

Distributing points to processors

Constructing processor meshes


--> FOAM FATAL ERROR: 
Cell 0contains face labels out of range: 6(0 1 2 -1 -1 -1) Max face index = 3321997

    From function polyMesh::polyMesh
(
    const IOobject&,
    const Xfer<pointField>&,
    const Xfer<faceList>&,
    const Xfer<cellList>&
)

    in file meshes/polyMesh/polyMesh.C at line 654.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::error::abort() at ??:?
#2  Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Xfer<Foam::Field<Foam::Vector<double> > > const&, Foam::Xfer<Foam::List<Foam::face> > const&, Foam::Xfer<Foam::List<Foam::cell> > const&, bool) at ??:?
#3  ? at ??:?
#4  ? at ??:?
#5  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#6  ? at ??:?
Aborted (core dumped)
parallels@ubuntu:~/OpenFOAM-2.4.0/receiver$
please help shed more light.
thanks
typically this error appears for very basic problems such as not defining the geometry correctly in 0 directory for pressure and velocity etc.
usama784 is offline   Reply With Quote

Old   August 23, 2017, 14:17
Default decomposePar problem: Cell 0contains face labels out of range
  #30
New Member
 
Limone
Join Date: Aug 2017
Posts: 5
Rep Power: 9
limonegiallo is on a distinguished road
Dear All,

I have the same error message
Code:
Cell 0contains face labels out of range: 6(0 1 2 -1 -1 -1)
and I would really appreciate your help!

After the following procedure (via terminal):

Code:
1 Rename 0 folder 0.org         
2 < blockMesh >        
3 < surfaceFeatureExtract >     
4 < decomposePar >             
5 < mpirun -np 4 snappyHexMesh -overwrite -parallel >     
6 < reconstructParMesh -constant -fullMatch > 
7 delete all processor folders     
8 delete folder 0             
9 rename folder 0.org to 0         
10 edit the constant/polymesh/boundary file and remove all the references to patches created by blockMesh in Step2. 
   Leave only the patches desired for the simulation to run. 
   Edit the number at the top of the text file which shows how many patches are to be setup.
11 < decomposePar >
I get this error message when I run decomposePar:

Code:
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  3.0.x                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 3.0.x-ac3f6c67e02f
Exec   : decomposePar
Date   : Aug 23 2017
Time   : 18:33:46
Host   : "rbalwmba80000.bas.roche.com"
PID    : 27296
Case   : /home/cfdemuser/CFDEM/CFDEMcoupling-PUBLIC-3.0.x/tutorials_LORETI/cfdemSolverPiso/ErgunTestMPI2b/CFD
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

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



Decomposing mesh region0

Create mesh

Calculating distribution of cells
Selecting decompositionMethod simple

Finished decomposition in 3.31 s

Calculating original mesh data

Distributing cells to processors

Distributing faces to processors

Distributing points to processors

Constructing processor meshes


--> FOAM FATAL ERROR: 
Cell 0contains face labels out of range: 6(0 1 2 -1 -1 -1) Max face index = 3526636

    From function polyMesh::polyMesh
(
    const IOobject&,
    const Xfer<pointField>&,
    const Xfer<faceList>&,
    const Xfer<cellList>&
)

    in file meshes/polyMesh/polyMesh.C at line 654.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::error::abort() at ??:?
#2  Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Xfer<Foam::Field<Foam::Vector<double> > > const&, Foam::Xfer<Foam::List<Foam::face> > const&, Foam::Xfer<Foam::List<Foam::cell> > const&, bool) at ??:?
#3  ? at ??:?
#4  ? at ??:?
#5  __libc_start_main in "/lib64/libc.so.6"
#6  ? at ??:?
Aborted (core dumped)
Additional Information: When I run mpirun -np 4 snappyHexMesh -overwrite -parallel the meshing Finishes without any errors (in = 976.01 s). Then I tried to check the mesh, with checkMesh -allGeometry -allTopology, I received this output:


Code:
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  3.0.x                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 3.0.x-ac3f6c67e02f
Exec   : checkMesh -allGeometry -allTopology
Date   : Aug 23 2017
Time   : 18:50:33
Host   : "rbalwmba80000.bas.roche.com"
PID    : 29055
Case   : /home/cfdemuser/CFDEM/CFDEMcoupling-PUBLIC-3.0.x/tutorials_LORETI/cfdemSolverPiso/ErgunTestMPI2b/CFD
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

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

Create polyMesh for time = 0

Enabling all (cell, face, edge, point) topology checks.

Enabling all geometry checks.

Time = 0

Mesh stats
    points:           5158977
    faces:            14082002
    internal faces:   13488393
    cells:            4502214
    faces per cell:   6.12374
    boundary patches: 3
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     3904264
    prisms:        163980
    wedges:        0
    pyramids:      0
    tet wedges:    485
    tetrahedra:    0
    polyhedra:     433485
    Breakdown of polyhedra by number of faces:
        faces   number of cells
            4   77048
            5   56483
            6   53872
            7   628
            8   130
            9   186034
           12   53320
           15   5970

Checking topology...
 ****Problem with boundary patch 0 named wall of type wall. The patch should start on face no 13488393 and the patch specifies 13503393.
Possibly consecutive patches have this same problem. Suppressing future warnings.
 ***Boundary definition is in error.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
    Topological cell zip-up check OK.
  <<Number of faces with non-consecutive shared points: 11. This might indicate a problem.
  <<Writing 14 faces with non-standard edge connectivity to set edgeFaces
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces...
                   Patch    Faces   Points                  Surface topology Bounding box
                    wall   553691   635169  ok (non-closed singly connected) (-0.0979907 -0.0979912 -6.86046e-09) (0.0980502 0.0979865 0.565054)
                   inlet     5918     6908  ok (non-closed singly connected) (-0.0419709 -0.04207 -9.2327e-07) (0.0421114 0.0419902 0.00074498)
                  outlet    19000    21379  ok (non-closed singly connected) (-0.0977539 -0.0974848 0.563514) (0.0979553 0.0976161 0.565111)

Checking geometry...
    Overall domain bounding box (-0.12 -0.12 -0.05) (0.12 0.12 0.65)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (3.90822e-16 4.03493e-17 -6.0453e-17) OK.
    Max cell openness = 4.9229e-16 OK.
    Max aspect ratio = 25.5492 OK.
    Minimum face area = 4.12223e-08. Maximum face area = 7.93287e-05.  Face area magnitudes OK.
    Min volume = 1.97545e-11. Max volume = 3.82669e-07.  Total volume = 0.0403192.  Cell volumes OK.
    Mesh non-orthogonality Max: 65 average: 15.041
    Non-orthogonality check OK.
    Face pyramids OK.
 ***Max skewness = 4.47871, 7 highly skew faces detected which may impair the quality of the results
  <<Writing 7 skew faces to set skewFaces
    Coupled point location match (average 0) OK.
#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::sigSegv::sigHandler(int) at ??:?
#2  ? in "/lib64/libc.so.6"
#3  Foam::polyMeshTetDecomposition::checkFaceTets(Foam::polyMesh const&, double, bool, Foam::HashSet<int, Foam::Hash<int> >*) at ??:?
#4  ? at ??:?
#5  ? at ??:?
#6  __libc_start_main in "/lib64/libc.so.6"
#7  ? at ??:?
Segmentation fault (core dumped)
Here attached you can also find some relevant txt files as snappyHexMeshDict, blockMeshDict, boundary, faceZones and p.

It is a long time that I am trying to solve this problem and I am out of ideas.

Any suggestion ??

Best,
Limone
Attached Files
File Type: txt snappyHexMeshDict.txt (9.6 KB, 2 views)
File Type: txt blockMeshDict.txt (2.3 KB, 0 views)
File Type: txt boundary.txt (1.3 KB, 1 views)
File Type: txt faceZones.txt (878 Bytes, 1 views)
File Type: txt p.txt (1.3 KB, 1 views)
limonegiallo is offline   Reply With Quote

Old   February 7, 2018, 06:24
Default
  #31
Member
 
Join Date: Jan 2018
Location: Malaysia
Posts: 58
Rep Power: 8
jiahui_93 is on a distinguished road
Faced this problem too. I solved it by skipping the step to delete the background mesh created by BlockMesh
Quote:
edit the constant/polymesh/boundary file and remove all the references to patches
I'm not sure if it works to you. Please correct me if there's anything wrong. I'm a very newbie in this. Thanks =)
jiahui_93 is offline   Reply With Quote

Old   February 7, 2018, 06:41
Default
  #32
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Hi, you should know what you do and not believe that things work fine while doing some things you cannot argue ... however, the topic is almost half a year old. So there is no need to bring it back while giving a vague feedback. By the way, welcome to the community.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   February 7, 2018, 09:26
Smile
  #33
Member
 
Join Date: Jan 2018
Location: Malaysia
Posts: 58
Rep Power: 8
jiahui_93 is on a distinguished road
Quote:
Originally Posted by Tobi View Post
Hi, you should know what you do and not believe that things work fine while doing some things you cannot argue ... however, the topic is almost half a year old. So there is no need to bring it back while giving a vague feedback. By the way, welcome to the community.
Sorry for my uncertain suggestion. Thanks a lot for your advice. I should have understood everything I did before suggests it to others. I need to learn a lot from members here. Thanks again
Tobi likes this.
jiahui_93 is offline   Reply With Quote

Old   July 20, 2020, 04:32
Default
  #34
Member
 
Join Date: May 2020
Posts: 31
Blog Entries: 1
Rep Power: 6
Mars409 is on a distinguished road
I just fixed a problem that showed up with similar error message during decomposePar.

After running 'checkMesh -allTopology -allGeometry', it turns out that I had deleted one patch in constant/polyMesh/boundary that came from the blockMeshDict, as advised in Callum Douglas' Youtube video on snappyHexMesh.

It turns out that the STL geometry has slightly exceeded the blockMeshDict's bounding box, due to editing the geometry in the CAD tool.

All went well after the vertices' coordinates specified in blockMeshDict were amended to fully enclose the STL geometry.

Lesson: if the constant/polyMesh/boundary has a patch that comes from the block mesh, it's likely the bounding box is too small for the STL geometry and needs moving the offending plane outwards in blockMeshDict.
Mars409 is offline   Reply With Quote

Old   July 20, 2020, 04:42
Default
  #35
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Hi, this is a well-known topic and obvious in terms of geometrical behavior. How should snappyHexMesh be aware of patches that are excluded from the background mesh? The background mesh should consist of pure cubes and should always enclose the geometry. Therefore, if one creates a bounding box with the exact points of the geometry, it is always nice to enlarge the background mesh a bit. E.g., by a factor of 1.1 or 1.001 (depending on your dimensions).

Tobi
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   July 20, 2020, 05:04
Default
  #36
Member
 
Join Date: May 2020
Posts: 31
Blog Entries: 1
Rep Power: 6
Mars409 is on a distinguished road
I didn't mean to say that snappyHexMesh is supposed to be aware of the STL geometry protruding outside the bounding box. The message was merely to set out one case where the decomposePar error message giving a '-1' for geometry object index, so that others may become aware.


But, of course, now that you brought it up, seems obvious that snappyHexMesh could check. It has all the geometrical information after all. That's why tools have warnings and error messages, right?
Mars409 is offline   Reply With Quote

Old   July 20, 2020, 05:07
Default
  #37
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Snappy will not give you an error if the background mesh does not fit the whole geometry as there are scenarios in which we want to have it like that. As you already pointed out, snappy will give the name of the patch coming from the background mesh. However, I am not sure why you get problems during decomposing. The only thing that occurs is, that you might not specified the (unwanted) patch in the boundary conditions and that's why decomposePar will give an error during the field decomposition. Or maybe I did not get the point here » this happens more often.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   July 20, 2020, 06:38
Default
  #38
Member
 
Join Date: May 2020
Posts: 31
Blog Entries: 1
Rep Power: 6
Mars409 is on a distinguished road
Precisely, "it turns out that I had deleted one patch in constant/polyMesh/boundary that came from the blockMeshDict, as advised in Callum Douglas' Youtube video on snappyHexMesh" is what caused my decomposePar error, which led me to discover that my revised STL geometry protruded outside the original bounding box ever so slightly.
Mars409 is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[ICEM] Error in mesh writing helios ANSYS Meshing & Geometry 21 August 19, 2021 15:18
FvMatrix coefficients shrina OpenFOAM Running, Solving & CFD 10 October 3, 2013 15:38
Error message: 8 face(s) not in face lists of adjacent cells jyoung79 FLUENT 0 November 10, 2012 17:09
[blockMesh] error message with modeling a cube with a hold at the center hsingtzu OpenFOAM Meshing & Mesh Conversion 2 March 14, 2012 10:56
how to access each cell of a face? (user fortran) Katariina CFX 3 January 28, 2008 10:16


All times are GMT -4. The time now is 11:37.