View Issue Details

IDProjectCategoryView StatusLast Update
0002251OpenFOAMBugpublic2016-09-22 11:35
Reporterfsalmon Assigned Towyldckat  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
PlatformGNU/LinuxOSLinux MintOS Version17.1
Product Versiondev 
Summary0002251: Cannot create a patch because the face specified is not an external face of the mesh
DescriptionI try to add a new patch in my geometry. I have a cubic geometry so far.

I want to add a parallelepiped in order to inject a fuel by this way (by using velocity condition on the faces of this parallelepiped).

But the log.createPatch gives me:

"Face 140662 specified in set fBurner is not an external face of the mesh."

I cannot add a patch within the existing geometry ?

TagsNo tags attached.

Activities

fsalmon

2016-09-21 15:37

reporter  

blockMeshDict (1,563 bytes)   
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  3.0.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 1;

vertices
(
    (-0.05 -0.1 -0.05)	//0
    ( 0.05 -0.1 -0.05)	//1
    ( 0.05 0 -0.05)	//2
    (-0.05 0 -0.05)	//3
    (-0.05 -0.1 0.05)	//4
    ( 0.05 -0.1 0.05)	//5
    ( 0.05 0 0.05)	//6
    (-0.05 0 0.05)	//7
);

blocks
(
    hex (0 1 2 3 4 5 6 7) (50 50 50) simpleGrading (1 1 1)
);

edges
(
);

boundary
(
    ground
    {
        type    wall;
        faces
        (
            (0 1 5 4)
        );
    }

    sides
    {
        type    wall;
        faces
        (
            (1 2 6 5)
            (0 3 2 1)
            (0 4 7 3)
            (6 7 4 5)
        );
    }

    top
    {
        type    wall;
        faces
        (
            (7 6 2 3)
        );
    }
);

mergePatchPairs
(
);

// ************************************************************************* //
blockMeshDict (1,563 bytes)   

fsalmon

2016-09-21 15:38

reporter  

createPatchDict (2,599 bytes)   
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  3.0.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      createPatchDict;
}

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

// This application/dictionary controls:
// - optional: create new patches from boundary faces (either given as
//   a set of patches or as a faceSet)
// - always: order faces on coupled patches such that they are opposite. This
//   is done for all coupled faces, not just for any patches created.
// - optional: synchronise points on coupled patches.

// 1. Create cyclic:
// - specify where the faces should come from
// - specify the type of cyclic. If a rotational specify the rotationAxis
//   and centre to make matching easier
// - always create both halves in one invocation with correct 'neighbourPatch'
//   setting.
// - optionally pointSync true to guarantee points to line up.

// 2. Correct incorrect cyclic:
// This will usually fail upon loading:
//  "face 0 area does not match neighbour 2 by 0.0100005%"
//  " -- possible face ordering problem."
// - in polyMesh/boundary file:
//      - loosen matchTolerance of all cyclics to get case to load
//      - or change patch type from 'cyclic' to 'patch'
//        and regenerate cyclic as above


// Do a synchronisation of coupled points after creation of any patches.
// Note: this does not work with points that are on multiple coupled patches
//       with transformations (i.e. cyclics).
pointSync false;

// Patches to create.
patches
(
    {
        // Name of new patch
        name burner;

        // Dictionary to construct new patch from
        patchInfo
        {
            type patch;
        }

        // How to construct: either from 'patches' or 'set'
        constructFrom set;

        // If constructFrom = patches : names of patches. Wildcards allowed.
        //patches (periodic1);

        // If constructFrom = set : name of faceSet
        set fBurner;
    }
);

// ************************************************************************* //
createPatchDict (2,599 bytes)   

fsalmon

2016-09-21 15:38

reporter  

fBurner.topoSetDict (1,066 bytes)

fsalmon

2016-09-21 15:39

reporter  

log.topoSet (1,351 bytes)

fsalmon

2016-09-21 15:39

reporter  

log.createPatch (1,492 bytes)

projectionist

2016-09-22 09:01

reporter   ~0006886

What you are reporting is not a bug of OpenFOAM, but rather you are trying to use certain tools in way they are not intended to be used.

Your question is best posted in the OpenFOAM forum: http://www.cfd-online.com/Forums/openfoam/

wyldckat

2016-09-22 11:29

updater   ~0006889

Adding to projectionist's answer: indeed, this does look like as a user support request, which is not handled on this bug-reporting/feature-requesting platform.

Nonetheless, the answer is simple enough: creating patches within the meshed domain is usually done with Baffles. Check the section 4.6 "Case management tools" in the OpenFOAM User Guide for more details: http://cfd.direct/openfoam/user-guide/case-management/

I'm closing this report as "No change required".

wyldckat

2016-09-22 11:31

updater   ~0006890

sorry, forgot to mention: check that section on how to search for examples.

Issue History

Date Modified Username Field Change
2016-09-21 15:37 fsalmon New Issue
2016-09-21 15:37 fsalmon File Added: blockMeshDict
2016-09-21 15:38 fsalmon File Added: createPatchDict
2016-09-21 15:38 fsalmon File Added: fBurner.topoSetDict
2016-09-21 15:39 fsalmon File Added: log.topoSet
2016-09-21 15:39 fsalmon File Added: log.createPatch
2016-09-22 09:01 projectionist Note Added: 0006886
2016-09-22 11:29 wyldckat Note Added: 0006889
2016-09-22 11:31 wyldckat Note Added: 0006890
2016-09-22 11:35 wyldckat Assigned To => wyldckat
2016-09-22 11:35 wyldckat Status new => closed
2016-09-22 11:35 wyldckat Resolution open => no change required