CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   Problems with cyclicBC (http://www.cfd-online.com/Forums/openfoam/82071-problems-cyclicbc.html)

farbfilm November 16, 2010 02:49

Problems with cyclicBC
 
Hi,

I'm trying to simulate one channel of a turbine! For this I need the cyclicBC.
I've done a periodic mesh with Icem, converted it with FluentMeshToFoam and want to use the MRFSimpleFoam-Solver.

Whatever I'm doing to setup the cyclic BC, I'm always getting this error:

--> FOAM Serious Error :
From function void cyclicPolyPatch::calcTransforms()
in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 279
Transformation tensor is not constant for the cyclic patch. Please reconsider your setup and definition of cyclic boundaries.

I checked my setup and searched the forum, but I don't get an idea what's wrong!

Can somebody help me???


Thanks, Michael

stevenvanharen November 16, 2010 03:51

I assume you get this error when running createPatch?

It looks like OpenFOAM thinks the two faces are rotated with respect to eachother, are they in your geometry? And in that case did you specify a rotation axis in your dictionary?

farbfilm November 16, 2010 04:10

Hi,

thank your for your answer!

Yes, I get this error when I run createPatch, but also when I start the calculation (the calculation starts in spite of this error)!

Sorry, I don't understand your first question! What so you mean with 'are they in your geometry'??
I just specified an axis in the MRF-Zones-File! Where else do I have to specify a rotation axis in my case??

Thank you again!!

michael

stevenvanharen November 16, 2010 04:15

If the two faces from which you want to create the cyclic interface are rotated with respect to each other you have to specify a rotation axis in the createPatchDict file.

Take a look in the folder where createPatch.C is located (the source), you will find and example for the createPatchDict there.

farbfilm November 16, 2010 04:50

1 Attachment(s)
I checked the createPatchDict from /OpenFOAM/OpenFOAM-1.5-dev/applications/utilities/mesh/manipulation/createPatch (see attachment) but couldn't find an entry where I can define a rotation axis!

stevenvanharen November 16, 2010 05:02

1 Attachment(s)
Ah, mmmm.

It is possible that this is not supported in OF 1.5, however I don't know.

This is the dictionary from 1.7. You can try if it works with 1.5

farbfilm November 16, 2010 05:19

Unfortunately, it doesn't work with 1.5!

Is there another solution??
(I need 1.5-dev, cause I want to use the GGI and the turbomachinery tools later)


Thanks!!!

michael

stevenvanharen November 16, 2010 05:23

Sorry, in that case I can not help you any further.

farbfilm November 16, 2010 05:31

Okay, however: Thank you very much!!

Is there anybody else who could help me??
Maybe there's somebody who is dealing with turbomachinery as well, simulates just one channel instead of the whole rotor and can help me with the general procedure of such applications (I'm a lost beginner...)??

Thank you!!

michael

maddalena November 17, 2010 05:01

Hi Michael,
not sure about your problem (I am using 1.7), but this:
Quote:

Originally Posted by farbfilm (Post 283567)
Transformation tensor is not constant for the cyclic patch. Please reconsider your setup and definition of cyclic boundaries.

let me think that maybe the two patches defining the cyclic are not flat, thus the transformation tensor differs from one point to the other...
I also have noticed that you use the same patches twice in your createPatchDict: you have the half0 half1 couple both when defining leftRight0 and bottom patches! This may lead the utility to some errors. Try to define only one of the two.
Hope this help,
cheers

mad

farbfilm November 17, 2010 05:31

2 Attachment(s)
Hi Mad,
thank you for your answer!

The createPatchDict I posted earlier is just an example from the source of OpenFOAM 1.5-dev.
The createPatchDict that I used is attached now.

In the picture you see that my cyclic patches are flat. So, my geometry shouldn't be a problem...

michael

maddalena November 17, 2010 07:26

Hi,
Quote:

Originally Posted by farbfilm (Post 283743)
The createPatchDict that I used is attached now.

That seems ok.
Quote:

Originally Posted by farbfilm (Post 283743)
In the picture you see that my cyclic patches are flat. So, my geometry shouldn't be a problem...

Ok, the looks flat, but are they really flat? What I want to say is that there can be some sort of distorted cells that does not belong to the plane... Only an idea, though.

mad

Pekka November 17, 2010 09:49

Hi Michael,

Are you try run renumber mesh on ICEMCfd? I think that node number must be in a consecutive order on same patch.

BR/Pekka

farbfilm November 18, 2010 02:22

Unfortunately renumbering doesn't help, too! But thanks for that hint!

When I change the type of my periodic patches from 'patch' to 'cyclic' before using createPatch, I'm getting the following error when running createPatch:

Code:


Create time

Reading createPatchDict.

Using relative tolerance 1e-06 to match up faces and points

Create polyMesh for time = 0



face 4215 area does not match neighbour 8431 by 11.4852% -- possible face ordering problem.
patch:PERIODIC2 my area:1.59926e-07 neighbour area:1.79413e-07 matching tolerance:0.001
Mesh face:3840485 vertices:4((0.148545 0.13087 0.00101004) (0.148056 0.130485 0.00101092) (0.148056 0.130485 0.00126784) (0.148545 0.13087 0.00126674))
Neighbour face:3844701 vertices:4((0.149363 0.131512 0.834) (0.149358 0.131508 0.834) (0.149354 0.131506 0.864) (0.149359 0.131509 0.864))
Other errors also exist, only the largest is reported. Please rerun with cyclic debug flag set for more information.

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

FOAM exiting

When I'm using the procedure Fabian (fs82), here http://www.cfd-online.com/Forums/ope...oam-1-5-a.html ,I'm getting the error I mentioned above!

I'm going round in circles...

michael

aut_iut November 18, 2010 03:47

Hi Michael,
if you define your mesh by blockMeshDict, i think you need to change some thing in it.
put all of patches which have cyclic B.C together. It should fix your problem.
for example, for my case i need to apply cyclic B.C on the front and back sides.
So, under the patches name i define BackandFront and put all of the faces of these sides together.
you need to modify your boundary file accordingly. ;)
I hope it could be useful for you.

Rasoul

Pekka November 18, 2010 05:38

Are you run on Icem "check mesh" and "beriodic boblems" is switched on? Then set the wall boundary conditions to the cyclic pair so that you have two different wall patch. Then run renumbering. Export mesh to blah.msh. Try both mesh converter "fluentMeshToFoam" and "fluent3DMeshToFoam". Then "createPatch". If it's works, test following data your boundary file under to cyclic patch and try solve. Change the angle and axis to same than is yours model. Try also "pointSync true;" and different "matchTolerance" on createPatchDict.

Code:

        type            cyclic;
        transform      rotational;
        rotationAxis    (0 0 1);
        rotationCentre  (0 0 0);
        rotationAngle    6;

of

BR/Pekka


All times are GMT -4. The time now is 21:56.