|
[Sponsors] |
decomposePar not working when cyclic boundaries involved. |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
August 2, 2016, 10:08 |
decomposePar not working when cyclic boundaries involved.
|
#1 |
Member
Fynn
Join Date: Feb 2016
Posts: 48
Rep Power: 10 |
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 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 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 ( ); // ************************************************************************* // cheers |
|
August 2, 2016, 15:51 |
|
#2 |
Member
gereksiz
Join Date: Mar 2015
Posts: 42
Rep Power: 11 |
// preservePatches (PB_A1 PB_A2);
I guess you need to uncomment this line, why did you comment it anyway? |
|
August 2, 2016, 15:54 |
|
#3 |
Member
Fynn
Join Date: Feb 2016
Posts: 48
Rep Power: 10 |
Hi,
Because I was testing its effect. As it didn't make any difference to the output, I left it commented. |
|
August 2, 2016, 15:57 |
|
#4 |
Member
gereksiz
Join Date: Mar 2015
Posts: 42
Rep Power: 11 |
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. |
|
August 3, 2016, 04:47 |
|
#5 |
Member
Join Date: Feb 2015
Posts: 39
Rep Power: 11 |
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. |
|
August 3, 2016, 06:03 |
|
#6 |
Member
Fynn
Join Date: Feb 2016
Posts: 48
Rep Power: 10 |
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); } ); 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; } ) 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; } } |
|
August 3, 2016, 08:15 |
|
#7 |
Member
Join Date: Feb 2015
Posts: 39
Rep Power: 11 |
Under the assumption that you cycle the rotation, you at least should change "transform unknown;" to "transform rotational;" in your boundary file.
|
|
August 3, 2016, 14:23 |
|
#8 |
Member
Fynn
Join Date: Feb 2016
Posts: 48
Rep Power: 10 |
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 |
|
August 4, 2016, 08:56 |
|
#9 |
Member
Fynn
Join Date: Feb 2016
Posts: 48
Rep Power: 10 |
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??
|
|
August 4, 2016, 09:55 |
|
#10 |
Member
Fynn
Join Date: Feb 2016
Posts: 48
Rep Power: 10 |
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 |
|
August 5, 2016, 08:09 |
|
#11 |
Member
gereksiz
Join Date: Mar 2015
Posts: 42
Rep Power: 11 |
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!
|
|
October 17, 2018, 05:56 |
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 |
Quote:
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 |
||
February 22, 2020, 07:33 |
cyclic b.C.
|
#13 |
New Member
Deutschland
Join Date: Jun 2019
Posts: 21
Rep Power: 7 |
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 |
|
Tags |
mesh conversion, parallel processing, starccm+ |
|
|
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 |