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

decomposePar not working when cyclic boundaries involved.

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By PanPeter

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 2, 2016, 10:08
Default decomposePar not working when cyclic boundaries involved.
  #1
Member
 
Fynn
Join Date: Feb 2016
Posts: 48
Rep Power: 10
PanPeter is on a distinguished road
Hello together,

I have the following problem: I define a simple 3D cylinder flow geometry in StarCcm+, convert it to an OpenFoam mesh with ccm26ToFoam, create the cyclic patches with createPatch and run it with icoFoam. Works fine.
But now I want to run it parallel, so I use decomposePar to partition my computational domain, its boundaries and quantities (U,p) and I get the following error:

Code:
--> FOAM FATAL IO ERROR: 
Cannot find patchField entry for cyclic PB_A1
Is your field uptodate with split cyclics?
Run foamUpgradeCyclics to convert mesh and fields to split cyclics.

file: /home/fyna/OpenFOAM/fyna-3.0.1/run/testing/lamFlow_FJA/0/cellId.boundaryField from line 212522 to line 212543.

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

FOAM exiting
Interestingly, the processor* folders are created with the respective constant subfolders but no U or p subfolders are generated. Running foamUpgradeCyclics beforehand does not seem to have an effect, that's the output:

Code:
Create time

Reading boundary from "/home/fyna/OpenFOAM/fyna-3.0.1/run/testing/lamFlow_FJA/constant/polyMesh/boundary"
Detected 0 old cyclics.

No changes made to boundary file.

Time: 0
Loading field cellId
No changes made to field cellId

Loading field cellType
No changes made to field cellType

Loading field p
No changes made to field p

Loading field U
No changes made to field U
After digging through discussions on that problem, I found that using preservePatches in the decomposeParDict help some people. However, it does not make a difference to me. I sill get the same error. This is my decomposeParDict file:

Code:
/*--------------------------------*- 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;
    location    "system";
    object      decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

numberOfSubdomains 4;

// preservePatches (PB_A1 PB_A2);

method          simple;

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

distributed     no;

roots           ( );


// ************************************************************************* //
Can anybody help me out here?
cheers
PanPeter is offline   Reply With Quote

Old   August 2, 2016, 15:51
Default
  #2
Member
 
gereksiz
Join Date: Mar 2015
Posts: 42
Rep Power: 11
clktp is on a distinguished road
// preservePatches (PB_A1 PB_A2);

I guess you need to uncomment this line, why did you comment it anyway?
clktp is offline   Reply With Quote

Old   August 2, 2016, 15:54
Default
  #3
Member
 
Fynn
Join Date: Feb 2016
Posts: 48
Rep Power: 10
PanPeter is on a distinguished road
Hi,
Because I was testing its effect. As it didn't make any difference to the output, I left it commented.
PanPeter is offline   Reply With Quote

Old   August 2, 2016, 15:57
Default
  #4
Member
 
gereksiz
Join Date: Mar 2015
Posts: 42
Rep Power: 11
clktp is on a distinguished road
sorry I didn't read the whole post, my bad. But one thing for sure, it should be uncommented.

It may be a issue with /constant/polymesh/boundary file. Can you put it here, it seems it doesn't understand which patches are cyclic. I remember I received an error like this when I didn't declare the cyclic pathces in the boundary file, however, it works for serial, which is kind of weird.
clktp is offline   Reply With Quote

Old   August 3, 2016, 04:47
Default
  #5
Member
 
Join Date: Feb 2015
Posts: 39
Rep Power: 11
HenningW is on a distinguished road
Did you look into you /constant/polyMesh and /0 files to figure out if the patch is included in there?
How is it defined in the /0 files? How in the /constant/polyMesh/boundaries?

It seems to me as if some definition of the patch is missing and thus you should not look at the decomposeParDict, which just happens to stumple upon an earlier error.
HenningW is offline   Reply With Quote

Old   August 3, 2016, 06:03
Default
  #6
Member
 
Fynn
Join Date: Feb 2016
Posts: 48
Rep Power: 10
PanPeter is on a distinguished road
Hi Taygun and Henning,

I got the same error when I did't define the patches correctly and icoFoam wouldn't run but as I can run icoFoam in serial mode without errors, I don't think there's something wrong.
Here is my createpatchDict file:

Code:
pointSync true;

// Patches to create.
patches
(
    {
        name PB_A1;

        patchInfo
        {
            type cyclic;
            neighbourPatch PB_A2;
            matchTolerance  0.1;
        }

        constructFrom patches;
        patches (SymA1);
    }
    {
        name PB_A2;

        patchInfo
        {
            type cyclic;
            neighbourPatch PB_A1;
            matchTolerance  0.1;
        }

        constructFrom patches;
        patches (SymA2);
    }
);
It creates this /constant/polyMesh/boundary file:

Code:
5
(
    Wall
    {
        type            patch;
        nFaces          12060;
        startFace       630323;
    }
    Inlet
    {
        type            patch;
        nFaces          1800;
        startFace       642383;
    }
    Outlet
    {
        type            patch;
        nFaces          1800;
        startFace       644183;
    }
    PB_A1
    {
        type            cyclic;
        inGroups        1(cyclic);
        nFaces          10654;
        startFace       645983;
        matchTolerance  0.1;
        transform       unknown;
        neighbourPatch  PB_A2;
    }
    PB_A2
    {
        type            cyclic;
        inGroups        1(cyclic);
        nFaces          10654;
        startFace       656637;
        matchTolerance  0.1;
        transform       unknown;
        neighbourPatch  PB_A1;
    }
)
After that, I change the boundary type in 0/U and 0/p to:

Code:
dimensions      [0 1 -1 0 0 0 0];

internalField   uniform (0 0 0);

boundaryField
{
    Inlet
    {
        type            fixedValue;
        value           uniform (2.0 0.0 3.0);
    }

    Outlet
    {
        type            zeroGradient;
    }

    Wall
    {
        type            fixedValue;
        value           uniform (0 0 0);
    }

    PB_A1
    {
        type            cyclic;
    }

    PB_A2
    {
        type            cyclic;
    }
}
Code:
dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 0.0;

boundaryField
{
    Inlet
    {
    	type		zeroGradient;
    }

    Outlet
    {
        type            fixedValue;
        value           uniform 0;
    }

    Wall
    {
        type            zeroGradient;
    }

    PB_A1
    {
        type            cyclic;
    }
    
    PB_A2
    {
	    type		    cyclic;
    }
}
As said, the error is related to decomposePar and doesn't occur when running icoFoam serially.
PanPeter is offline   Reply With Quote

Old   August 3, 2016, 08:15
Default
  #7
Member
 
Join Date: Feb 2015
Posts: 39
Rep Power: 11
HenningW is on a distinguished road
Under the assumption that you cycle the rotation, you at least should change "transform unknown;" to "transform rotational;" in your boundary file.
HenningW is offline   Reply With Quote

Old   August 3, 2016, 14:23
Default
  #8
Member
 
Fynn
Join Date: Feb 2016
Posts: 48
Rep Power: 10
PanPeter is on a distinguished road
Hi Henning,

It's a normal periodic boundary: the flat surfaces are parallel. The "transform unknown" is automatically added by createPatch. And commenting it has no effect on the error.
And the whole damn thing run well in serial, so there must be something odd happening when I decompose the mesh...

cheers
PanPeter is offline   Reply With Quote

Old   August 4, 2016, 08:56
Default
  #9
Member
 
Fynn
Join Date: Feb 2016
Posts: 48
Rep Power: 10
PanPeter is on a distinguished road
When calling createPatch, it changes the /constant/polymesh files according to the createPatchDict. And that seems to work fine as I see a perfect pb in my simulations. But why is it also creating a folder "0.005" with the updated polyMesh folder? I don't see the point in that and openFoam is surprised that it's a time folder without boundary conditions. Any ideas??
PanPeter is offline   Reply With Quote

Old   August 4, 2016, 09:55
Default
  #10
Member
 
Fynn
Join Date: Feb 2016
Posts: 48
Rep Power: 10
PanPeter is on a distinguished road
Hey, reading error messaged actually helps!

It said, decomposePar coundn't find the patch entry for my cyclic boundary in the 0/cellID file. Looking into that file, it is actually not just a list of numbers but at the EOF there's a boundary section, where the converted boundary names have to be changed again, just like in 0/U and 0/p. It should also be changed in 0/cellType.

And things work fine!
Thanks for your help
cheers
Bashar likes this.
PanPeter is offline   Reply With Quote

Old   August 5, 2016, 08:09
Default
  #11
Member
 
gereksiz
Join Date: Mar 2015
Posts: 42
Rep Power: 11
clktp is on a distinguished road
It's quite interesting. I wonder why it doesn't work properly, but glad to hear you've solved it. Good luck with your case!
clktp is offline   Reply With Quote

Old   October 17, 2018, 05:56
Question Reopening thread to know if it can be corrected on the fly
  #12
New Member
 
Sarath
Join Date: Mar 2017
Location: Spain
Posts: 22
Rep Power: 9
sk11 is on a distinguished road
Quote:
Originally Posted by PanPeter View Post
Hey, reading error messaged actually helps!

It said, decomposePar coundn't find the patch entry for my cyclic boundary in the 0/cellID file. Looking into that file, it is actually not just a list of numbers but at the EOF there's a boundary section, where the converted boundary names have to be changed again, just like in 0/U and 0/p. It should also be changed in 0/cellType.

Hello, I had the same problem and changing the boundaryField part of pointLevel worked for me. Even then I was wondering why createBaffleDict (in my case) is not changing this on the fly. Do you know anything which can be done other than manually editing the file?

This cause some time in automating the case.


Regards,

Sarath
sk11 is offline   Reply With Quote

Old   February 22, 2020, 07:33
Default cyclic b.C.
  #13
New Member
 
Deutschland
Join Date: Jun 2019
Posts: 21
Rep Power: 7
Arghavani is on a distinguished road
Hello everyone,

I made my geometry in fluent and converted in OpenFoam which is of5x. then since I want to have a cyclic boundary in my geometry I creat patchDict and I got the cyclic type boundary in polymesh boundary file and then I changed the type of boundry of the fields in 0 folder but after running Igot error in decomposepardict which I used metis that decompose library is missing and when I used scotch I got the error something doesn't not match. Does anybody have the same problem?


kind regards,
Arghavan
Arghavani is offline   Reply With Quote

Reply

Tags
mesh conversion, parallel processing, starccm+


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
Parallel refineMesh with Cyclic Boundaries mchurchf OpenFOAM 8 December 22, 2018 12:11
[snappyHexMesh] snappyHexMesh - cyclic boundaries aylalisa OpenFOAM Meshing & Mesh Conversion 3 November 23, 2016 04:49
Cyclic Boundary Condition Errors? nyflyer OpenFOAM Running, Solving & CFD 2 April 26, 2016 15:14
No flow through periodic (cyclic) boundaries in impeller with foam-extend-3.1 anttiad9000 OpenFOAM Running, Solving & CFD 3 March 2, 2016 20:37
[Commercial meshers] Periodic (cyclic) boundaries. ICEM Mesh to OpenFOAM 123 OpenFOAM Meshing & Mesh Conversion 0 May 6, 2014 06:49


All times are GMT -4. The time now is 02:00.