CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Cyclic boundary conditions - not parallel patches

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 10, 2014, 11:04
Default Cyclic boundary conditions - not parallel patches
  #1
New Member
 
Tommy V
Join Date: Nov 2013
Posts: 29
Rep Power: 13
Villo is on a distinguished road
Dears, i`m troubling to set up a cyclic boundary condition for the attached geometry. The image is a cross-section along the stream-wise direction of a (particular) channel, i need to set-up the following cyclic condition:
- outlet from B1 as cyclic inlet for A1
- outlet from A2 as cyclic inlet for B2
My idea was to use createPatch, creating new cyclic patches. For each patch, the general form that I`m applying is

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

// Dictionary to construct new patch from
patchInfo
{
type cyclic;
neighbourPatch cyc_right1;
}
matchTolerance 1E-04;
constructFrom patches;
patches (left1);
// set f0;
}




But... this is the error:

[...]
Cannot find point in pts1 matching point 8510 coord0.07695659 -0.0005434099 1.308155) in pts0 when using tolerance 3.627474e-07
Searching started from:8693 in pts1
Compared coord: (-0.001621672 0.07587833 1.308155) at index 8693 with difference to point 0.1096122
Compared coord: (-0.0005434102 0.07695659 1.308155) at index 8694 with difference to point 0.1096016
cyclicPolyPatch:rder : Writing neighbour faces to OBJ file "/scratch/villoresi/Hooper/Hooper_LES/cyc_left2_faces.obj"
cyclicPolyPatch:rder : Writing my faces to OBJ file "/scratch/villoresi/Hooper/Hooper_LES/cyc_right2_faces.obj"
cyclicPolyPatch:rder : Dumping currently found cyclic match as lines between corresponding face centres to file "/scratch/villoresi/Hooper/Hooper_LES/cyc_right2_faceCentres.obj"
--> FOAM Serious Error :
From function cyclicPolyPatch:rder(const primitivePatch&, labelList&, labelList&) const
in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 1376
Patch:cyc_right2 : Cannot match vectors to faces on both sides of patch
Perhaps your faces do not match? The obj files written contain the current match.
Continuing with incorrect face ordering from now on!


--> FOAM FATAL ERROR:
face 0 area does not match neighbour by 192.442% -- possible face ordering problem.
patch:cyc_left1 my area:2.098791e-07 neighbour area:1.089771e-05 matching tolerance:0.0001
Mesh face:3278944 fc-0.04950794 0.02799206 1.308155)
Neighbour fc0.07695659 0.0005434099 1.308155)
If you are certain your matching is correct you can increase the 'matchTolerance' setting in the patch dictionary in the boundary file.
Rerun with cyclic debug flag set for more information.

From function cyclicPolyPatch::calcTransforms()
in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 220.

FOAM exiting


I`m sure that faces have same number of cells and, so, area.
I tried also to renumber the mesh (not useful, but i tried anyway).
I found that in OpenFoam 1.7 there was an impossibility to apply cyclic conditions for boundaries with rotations higher than 180, check it out
http://www.openfoam.org/mantisbt/view.php?id=138
Is this bug present also in OpenFoam 2.2.0?

Any suggestion?
Attached Images
File Type: png geometry.PNG (4.4 KB, 90 views)
Villo is offline   Reply With Quote

Old   July 12, 2014, 09:46
Default
  #2
New Member
 
Youjie BZ
Join Date: Jul 2013
Posts: 2
Rep Power: 0
ZengYoujie is on a distinguished road
This is the nearest news about the cyclicBC creating problem (: Cannot match vectors to faces on both sides of patch,Perhaps your faces do not match? The obj files written contain the current match. Continuing with incorrect face ordering from now on!).the same situation with my mesh. It was encountering by many people and discussing frequently in the Forums , but no exactly method found. It still exist in my case and i am getting crazy these days. I used the fluentMeshToFoam and createPatchDict utilities, if you find the way or some other informations, tell me please.

I think the coupled face mesh quality might be the point of the problem, in my text processes, cyclicBC creating fine with part of my mesh, which is full with hex mesh and fine geometry shape. but as the Tet/Hybrid part adding the creating process comes out with above error report. I
ZengYoujie is offline   Reply With Quote

Old   July 14, 2014, 06:28
Default
  #3
New Member
 
Tommy V
Join Date: Nov 2013
Posts: 29
Rep Power: 13
Villo is on a distinguished road
Hi Youije!
Spending more time on the implementation of my createPatchDict i was finally able to manage this problem.
You have to pay attention on definitions of rotation center and rotation axis (in respect to the right-hand rule).

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

// Dictionary to construct new patch from
patchInfo
{
type cyclic;
neighbourPatch cyc_right1;
matchTolerance 1E-04;
transform rotational; rotationAxis (1 0 0); rotationCentre (0 0 0);
}

constructFrom patches;
patches (left1);
// set f0;
}
I realize the presence of other problems with my geometry just when i used reconstructPar and foamToVTK in order to visualize the field, with the effect that cannot be applied any form of interpolation during the graphical visualization with paraview. This error can be found also with checkMesh that give... PrintStackError! ... I had no time to understand why.

#0 Foam::error:rintStack(Foam::Ostream&) in "/software/OpenFOAM/OpenFOAM-2.2$
#1 Foam::sigFpe::sigHandler(int) in "/software/OpenFOAM/OpenFOAM-2.2.0/platfor$
#2 __restore_rt at sigaction.c:0
#3 __ieee754_acos at interp.c:0
#4 acos in "/lib64/libm.so.6"
#5 Foam:olyMesh::checkFaceOrthogonality(Foam::Field <Foam::Vector<double> > c$
#6 Foam::checkGeometry(Foam:olyMesh const&, bool) in "/software/OpenFOAM/Ope$
#7 main in "/software/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64Gcc45DPOpt/bin/$
#8 __libc_start_main in "/lib64/libc.so.6"
#9 Foam::UOPstream::write(char) in "/software/OpenFOAM/OpenFOAM-2.2.0/platform$

Anyway, a strange fact is that for RANS computation i obtain the expected flow behaviour and velocity magnitude, for LES computation i obtain the expected flow behaviour but not velocity magnitude: it goes to 0 with the increasing of the simulated time. I will have to trouble a lot on it, but any suggestion is welcome!
Villo is offline   Reply With Quote

Old   July 14, 2014, 23:50
Default
  #4
New Member
 
Youjie BZ
Join Date: Jul 2013
Posts: 2
Rep Power: 0
ZengYoujie is on a distinguished road
Hi Tommy!

It does not work on my case,i am looking for other methods.thanks for your proposal. For your problem at the bottom i have not met yet. if i know some method to that, i will let you know.
ZengYoujie 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
Foam::error::PrintStack almir OpenFOAM Running, Solving & CFD 92 May 21, 2024 08:56
Possible createPatch/createBaffles bug? simpomann OpenFOAM Bugs 2 July 15, 2014 08:07
GETVAR Error in Multiband Monte Carlo Radiation Simulation with Directional Source silvan CFX 3 June 16, 2014 10:49
Question about heat transfer coefficient setting for CFX Anna Tian CFX 1 June 16, 2013 07:28
cyclic boundary conditions with sampledIsoSurface Teddy PICHARD OpenFOAM Running, Solving & CFD 7 March 21, 2013 19:09


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