CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[mesh manipulation] Cyclic Mesh Error

Register Blogs Community New Posts Updated Threads Search

Like Tree5Likes
  • 1 Post By vbchris
  • 4 Post By vbchris

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 13, 2012, 11:16
Default Cyclic Mesh Error
  #1
Member
 
Chris L
Join Date: Sep 2012
Posts: 53
Rep Power: 13
vbchris is on a distinguished road
Hi all,

I am wondering if anyone has run into this error in OpenFoam 2.1.1
I am attempting to set two faces as cyclic boundaries.
The cyclic boundaries are not defined in either the 0/p or 0/U files.

Error received when running decomposePar or icoFoam:

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

file: OpenFOAM/chris-2.1.1/run/rcup/0/p::boundaryField from line 25 to line 44.

From function GeometricField<Type, PatchField, GeoMesh>::
GeometricBoundaryField::GeometricBoundaryField
(
const BoundaryMesh&,
const DimensionedField<Type, GeoMesh>&,
const dictionary&
)

Cyclic entries in Boundry File:

left
{
type cyclic;
nFaces 8200;
startFace 962844;
matchTolerance 0.0001;
neighbourPatch right;
}
right
{
type cyclic;
nFaces 8200;
startFace 971044;
matchTolerance 0.0001;
neighbourPatch left;
}

Block Mesh Dict File:

left
{

type cyclic;
neighbourPatch right;
faces
(
(138 140 2 0 )
...

);
}

right
{

type cyclic;
neighbourPatch left;
faces
(
(138 139 1 0 )
...
);
}


Running foamUpgradeCyclics makes no changes:

Reading boundary from "OpenFOAM/chris-2.1.1/run/rcup/constant/polyMesh/boundary"
Detected 0 old cyclics.

No changes made to boundary file.

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

Loading field U
No changes made to field U



Thanks,

Chris

Last edited by vbchris; November 13, 2012 at 15:32.
vbchris is offline   Reply With Quote

Old   November 13, 2012, 18:09
Default
  #2
Senior Member
 
Lieven
Join Date: Dec 2011
Location: Leuven, Belgium
Posts: 299
Rep Power: 22
Lieven will become famous soon enough
Dear Chris,

I'm not familiar with the error but nevertheless saying that "The cyclic boundaries are not defined in either the 0/p or 0/U files." surprises me a bit.
If you want to use the cyclic boundary condition, you need to set the type of corresponding boundary in 0/p and 0/U (and possible other files) also to cyclic.

Cheers,

L
Lieven is offline   Reply With Quote

Old   November 14, 2012, 04:00
Default
  #3
New Member
 
James Davies
Join Date: Aug 2012
Posts: 7
Rep Power: 13
james80 is on a distinguished road
Chris,

I also got this error message, one thing is in your 0 folder what boundary conditions have you set for 'left' and 'right' in all the p U K epsilon files etc, i believe the should all be

right
[
type cyclic;
]

My simulation ran after making this change! But when it tried to seed particles during running I got this error message which i have no idea about! Is anyone familiar with:

Seeded 0 particles.
[1]
[1]
[1] --> FOAM FATAL ERROR:
[1] More than one patch accessing the same transform but not of the same sign.
patch:cyc_half0 transform:0 sign:1 current transforms1 0 0)
[1]
[1] From function Foam::label Foam::globalIndexAndTransform::addToTransformIndex
(
const label,
const label,
const bool
) const
[1]
[1] in file lnInclude/globalIndexAndTransformI.H at line 240.
[1]
FOAM parallel run exiting
[1]
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 1 in communicator MPI_COMM_WORLD
with errorcode 1.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on


Thanks

James
james80 is offline   Reply With Quote

Old   November 14, 2012, 11:45
Default
  #4
Member
 
Chris L
Join Date: Sep 2012
Posts: 53
Rep Power: 13
vbchris is on a distinguished road
Thanks,

After a nights sleep I also realized adding

left
{
type cyclic;
}
right
{
type cyclic;
}

to 0/p and 0/u would fix it.

As for the transform issue. I get the same error when trying to view results in paraview. Turning off interpolate before importing volume fields seems to resolve this. I think I read somewhere that its an error from the way the cyclics are defined in blockMesh.

The thread advised using createPatch to define cyclic BC's to resolve the issue, I'll be looking into it later and will let you know what turns up.
bmikuz likes this.
vbchris is offline   Reply With Quote

Old   November 15, 2012, 13:04
Default Step by Step to blockMesh cyclic patches
  #5
Member
 
Chris L
Join Date: Sep 2012
Posts: 53
Rep Power: 13
vbchris is on a distinguished road
I just sorted the last issue with running cyclics in parallel and after reading many threads on cyclic patch problems I wanted to update with my solution. Also, this is aimed at newcomers like myself so I will attempt to be detailed.
EDIT: Please correct or expand on anything I've stated here, I am just trying to consolidate some of the issued I had with cyclic patches.


1)

My cyclic patches are 'left' and 'right' in my case.

in case/constant/blockMeshDict

instead of wall or patch use the cyclic type. Include the following parameters.
I found adding rotationAxis, rotationCentre, matchTolerance prevented the checkMesh error on my tolerance being to high on these patches.

right
{
type cyclic;
neighbourPatch left; //the patch to pair to create the cyclic BC
rotationAxis (0 0 1); // axis about which the geometry is symmetric
rotationCentre (0 0 0); // point along the axis of rotation
matchTolerance 0.0001; // tolerance - not sure about upper/lower limits for this used default

faces
(
(138 139 1 0 ) list of faces. must be in same order on left and right. blockMesh will throw an error is this is not done right I believe.
)
}

left
{
type cyclic;
neighbourPatch right; //the patch to pair to create the cyclic BC
rotationAxis (0 0 1); // axis about which the geometry is symmetric
rotationCentre (0 0 0); // point along the axis of rotation
matchTolerance 0.0001; // tolerance - not sure about upper/lower limits for this used default

faces
(
(1340 141 2 0 ) list of faces. must be in same order on left and right. blockMesh will throw an error is this is not done right I believe.
)
}

2)

Add BC to any files in case/0

left
{
type cyclic;
}

right
{
type cyclic;
}


3)

IF running solver in -parallel add the following lines to decomposeParDict

preservePatches (left);
preservePatches (right);


This will prevent decomposePar from messing (sorry for lack of clarity) with the cyclic patches after being defined in blockMeshDict.

4)

RUN!
levka, bmikuz, 5tern and 1 others like this.
vbchris 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
[OpenFOAM.org] compile error in dynamicMesh and thermophysicalModels libraries NickG OpenFOAM Installation 3 December 30, 2019 00:21
error compiling modified applications yvyan OpenFOAM Programming & Development 21 March 1, 2016 04:53
Mesquite - Adaptive mesh refinement / coarsening? philippose OpenFOAM Running, Solving & CFD 94 January 27, 2016 09:40
[swak4Foam] installing funkySetFields igo OpenFOAM Community Contributions 1 November 20, 2012 20:16
user subroutine error CFDUSER CFX 2 December 9, 2006 06:31


All times are GMT -4. The time now is 12:28.