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

Cyclic vs ggi vs directMapped Patches

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 22, 2008, 06:09
Default I have two conformal non plana
  #1
Senior Member
 
Jens Klostermann
Join Date: Mar 2009
Posts: 117
Rep Power: 17
jens_klostermann is on a distinguished road
I have two conformal non planar patches (basically the same patch translated by an offset) which I want to couple as periodic in-/outlets:



With cyclics I was able to create those cyclic patches but as soon as I start calculation I get face matching errors.
1. How/Where does the cyclic boundary condition calculate the transformation (rotation, translation) tensor.
2. Is there a possibility to tell (force) the cyclic to a translation instead of rotation? Also tell it the direction? ...
3. ...similar to the directMapped patch, which I suppose works only on planar patches?

A last possibility is to use the ggi patch from 1.4.1-dev implemented by Martin Beaudoin:
4. How is the status on this?
5. How is the interpolation done for conformal patches?
jens_klostermann is offline   Reply With Quote

Old   September 22, 2008, 14:30
Default Did you use the "createPatche"
  #2
Senior Member
 
Francesco Del Citto
Join Date: Mar 2009
Location: Zürich Area, Switzerland
Posts: 237
Rep Power: 18
fra76 is on a distinguished road
Did you use the "createPatche" utility for creating the cyclic patches?

Francesco
fra76 is offline   Reply With Quote

Old   September 22, 2008, 15:27
Default Hi Francesco, yes! I just
  #3
Senior Member
 
Jens Klostermann
Join Date: Mar 2009
Posts: 117
Rep Power: 17
jens_klostermann is on a distinguished road
Hi Francesco,

yes!
I just read something that only works for planar faces and I figured out that it is possible to give OpenFoam-1.5 the choice whether the cyclic is rotational, translational or unknown in the boundary file. Now I have to figure out to use it the right way!

Jens
jens_klostermann is offline   Reply With Quote

Old   September 22, 2008, 16:20
Default Ok I try to answer some of the
  #4
Senior Member
 
Jens Klostermann
Join Date: Mar 2009
Posts: 117
Rep Power: 17
jens_klostermann is on a distinguished road
Ok I try to answer some of the questions myself:

@1: The dirty stuff seems to be done in:
cyclicPolyPatch (which lives in $FOAM_SRC/OpenFOAM/meshes/polymesh/polyPatches/constraint/cyclic)
so I digg further there!

@2a: yes in the boundary file (OF-1.5)
@2b: It doesn't look like?! at least not like in directMapped patch. (OF-1.5 and OF-1.4.1-dev)

4. and 5. still open and

6. Does ggi work on non planar patches as it can be seen on the pictures above?
Jens

PS
There was some nice PseudoCode regading cyclics by Andrew Heather (Heather) on Wednesday, January 19, 2005 (quite some time ago), but it probably gut never really in the code because of the problems Mattijs pointed out later in the thread.
jens_klostermann is offline   Reply With Quote

Old   September 29, 2008, 12:18
Default I love to monologize! I dev
  #5
Senior Member
 
Jens Klostermann
Join Date: Mar 2009
Posts: 117
Rep Power: 17
jens_klostermann is on a distinguished road
I love to monologize!

I devided my two patches in several ones with same face normal vector. Now it is possible to combine all patches with the parallel or antiparallel face normal vector.
First I got some .
This was because in OF-1.4.x-dev the decision if face normal vectors are parallel or antiparallel which is done in src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic:
if (mag(n0 & n1) < 1 - SMALL)
is to tight in some cases. I just replaced it with
if (mag(n0 & n1) < 1 - cyclicPolyPatch::areaMatchTol)
which is done similar in OF-1.5. Unfortunately in OF-1.5 it still doesn't work.

Jens
jens_klostermann is offline   Reply With Quote

Old   January 15, 2009, 12:20
Default Hi Hrv, Hi Martin, I just d
  #6
Senior Member
 
Jens Klostermann
Join Date: Mar 2009
Posts: 117
Rep Power: 17
jens_klostermann is on a distinguished road
Hi Hrv, Hi Martin,

I just downloaded OpenFOAM-1.5-dev_2009-01-12.tgz form http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/ and was hoping cyclic on nonconformal meshes is working, but my tests show only segmentation faults.

Since you are the ggi professionals, can one of you (or both) give me some hints on the STATUS of ggi and cyclicGgi?! Are they ready for testing?

Best regards Jens

PS: Here my testfiles , which are related to http://www.cfd-online.com/OpenFOAM_Discus/messages/1/4824.html and http://www.cfd-online.com/OpenFOAM_Discus/messages/1/4701.html
jens_klostermann is offline   Reply With Quote

Old   January 15, 2009, 12:22
Default Hi Hrv, Hi Martin, I just d
  #7
Senior Member
 
Jens Klostermann
Join Date: Mar 2009
Posts: 117
Rep Power: 17
jens_klostermann is on a distinguished road
Hi Hrv, Hi Martin,

I just downloaded OpenFOAM-1.5-dev_2009-01-12.tgz form http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/ and was hoping cyclic on nonconformal meshes is working, but my tests show only segmentation faults.

Since you are the ggi professionals, can one of you (or both) give me some hints on the STATUS of ggi and cyclicGgi?! Are they ready for testing?

Best regards Jens

PS: Here my testfiles , which are related to http://www.cfd-online.com/OpenFOAM_Discus/messages/1/4824.html and http://www.cfd-online.com/OpenFOAM_Discus/messages/1/4701.html
jens_klostermann is offline   Reply With Quote

Old   January 15, 2009, 21:53
Default Hello Jens, Please provide
  #8
Senior Member
 
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22
mbeaudoin will become famous soon enough
Hello Jens,

Please provide your complete test case.

Martin
mbeaudoin is offline   Reply With Quote

Old   January 16, 2009, 04:18
Default Hi Martin, I will try again
  #9
Senior Member
 
Jens Klostermann
Join Date: Mar 2009
Posts: 117
Rep Power: 17
jens_klostermann is on a distinguished road
Hi Martin,

I will try again

Jens
jens_klostermann is offline   Reply With Quote

Old   January 16, 2009, 04:49
Default Hi Martin, I sent you an em
  #10
Senior Member
 
Jens Klostermann
Join Date: Mar 2009
Posts: 117
Rep Power: 17
jens_klostermann is on a distinguished road
Hi Martin,

I sent you an email.

Jens
jens_klostermann is offline   Reply With Quote

Old   January 20, 2009, 05:20
Default Hi Jens, For your info, I h
  #11
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,907
Rep Power: 33
hjasak will become famous soon enough
Hi Jens,

For your info, I have tried both your cases and they work fine. There was an error in the definition of cyclicGGI (relative rotation angles must have opposite sign), and once this got fixed, the latest snapshot works.

Hrv
__________________
Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk
hjasak is offline   Reply With Quote

Old   January 28, 2009, 07:00
Default Hi Hrv, Hi Martin, ggiCycli
  #12
Senior Member
 
Jens Klostermann
Join Date: Mar 2009
Posts: 117
Rep Power: 17
jens_klostermann is on a distinguished road
Hi Hrv, Hi Martin,

ggiCyclic in general works, at least with the testcase described above - which is good, but I 've got some more questions + Problems:

I test now the cyclicGgi with channel395 channelOoodles:

1. What means bridgeOverlap? If I am switching it off I get some Error:
ggi patch inoutA has 750 uncovered master faces and 750 uncovered slave faces. Bridging is switched off.

From function label ggiPolyPatch::shadowIndex() const
in file meshes/polyMesh/polyPatches/constraint/ggi/ggiPolyPatch.C at line 285.


Which I don't understand!

If i turn it on it runs but produces wrong results: . The values for the pressure are not the same on both patches, which may have its origin in the additional source term (gradP)? Maybe I am missusing cyclicGgi?

2. I want to use an AMG solver with cyclicGgi which one can I use?
RREAMG
MPEAMG
FPEAMG
GAMG - doesn't work
amgSolver - doesn't work


Jens
jens_klostermann is offline   Reply With Quote

Old   January 28, 2009, 10:04
Default Hello Jens, I have sent you
  #13
Senior Member
 
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22
mbeaudoin will become famous soon enough
Hello Jens,

I have sent you a reply through email.

I will get back to you a bit later with some more comments.

Martin
mbeaudoin is offline   Reply With Quote

Old   January 29, 2009, 21:40
Default Hello Jens, A fix for handl
  #14
Senior Member
 
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22
mbeaudoin will become famous soon enough
Hello Jens,

A fix for handling separation-only cyclicGGI is now available on the SVN.

Give it a spin, and don't hesitate to report any problem.

Martin
mbeaudoin is offline   Reply With Quote

Old   March 26, 2009, 12:03
Default
  #15
Member
 
mohd mojab
Join Date: Mar 2009
Posts: 31
Rep Power: 17
mou_mi is on a distinguished road
Hello,

I compiled OpenFoam-1.5-dev, I made a test case to test cyclicGgi. the geometry is a simple box with cyclic in inlet and outlet, walls in top and bottom, and cyclicGgi in front and back. I attached the test case to this thread. When I ran that with icoFoam it gave me this error:

Create time

Create mesh for time = 0

Reading transportProperties

Reading field p

Cannot find 'value' entry on patch side1 of field p in file "/home/mou/OpenFOAM/mou-1.5-dev/run/mou_cases/cyclicGgi/0/p"
which is required to set the values of the generic patch field.
(Actual type cyclicGgi)

Please add the 'value' entry to the write function of the user-defined boundary-condition
or link the boundary-condition into libfoamUtil.so

file: /home/mou/OpenFOAM/mou-1.5-dev/run/mou_cases/cyclicGgi/0/p::side1 from line 34 to line 34.

From function genericFvPatchField<Type>::genericFvPatchField(con st fvPatch&, const Field<Type>&, const dictionary&)
in file fields/fvPatchFields/basic/generic/genericFvPatchField.C at line 72.

FOAM exiting

would you look at to the case files? I am thankful for any comment or advise?

mou



Attached Files
File Type: gz cyclicGgi.tar.gz (63.8 KB, 134 views)
mou_mi is offline   Reply With Quote

Old   March 30, 2009, 17:19
Default
  #16
Member
 
olivier Petit
Join Date: Mar 2009
Location: Göteborg, Sweden
Posts: 67
Rep Power: 17
olivier is on a distinguished road
try to update your version of the ggi try svn update. It should work
olivier is offline   Reply With Quote

Old   April 1, 2009, 13:41
Default
  #17
Member
 
mohd mojab
Join Date: Mar 2009
Posts: 31
Rep Power: 17
mou_mi is on a distinguished road
Thank you Olivier. I updated the new version and now it works.

From the forum, if there is rotation periodicity, we can adjust periodic parameters in "boundary" file as for example:

separationOffset (0 0 0);
rotationAxis (1 0 0);
rotationAngle -90;

but for translational periodicity how can I adjust these parameters?

Thank you
mou
mou_mi is offline   Reply With Quote

Old   September 17, 2009, 16:07
Default cyclicGGI error with OpenFOAM 1.6 and 1.6.x
  #18
New Member
 
Martin Becker
Join Date: Sep 2009
Posts: 5
Rep Power: 17
mbecker is on a distinguished road
Hello,

I tried to use cyclicGGI with OpenFOAM 1.6 and a self-compiled 1.6.x from today and got exactly
the same error as mou_mi with his test example.

Running the test example gives me the error as well:

Create time

Create mesh for time = 0

// using new solver syntax:
p
{
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0;
}

// using new solver syntax:
U
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
}

Reading field p


Cannot find 'value' entry on patch side1 of field p in file "/tmp/cyclic/cyclicGgi/0/p"
which is required to set the values of the generic patch field.
(Actual type cyclicGgi)

Please add the 'value' entry to the write function of the user-defined boundary-condition
or link the boundary-condition into libfoamUtil.so

file: /tmp/cyclic/cyclicGgi/0/p::side1 from line 34 to line 34.

From function genericFvPatchField<Type>::genericFvPatchField(con st fvPatch&, const Field<Type>&, const dictionary&)
in file fields/fvPatchFields/basic/generic/genericFvPatchField.C at line 72.

FOAM exiting


Looks like the bug is not fixed in the recent OpenFOAM release and 1.6.x.
What can I do to make it work?

Martin
mbecker is offline   Reply With Quote

Old   September 17, 2009, 16:45
Default
  #19
Member
 
olivier Petit
Join Date: Mar 2009
Location: Göteborg, Sweden
Posts: 67
Rep Power: 17
olivier is on a distinguished road
Hello Martin,

The GGi interface, as well as cyclicGgi, is a developpement that has been realized in the developpement version of OpenFOAM. It has been developped by Martin Beaudoin och Hrvoje Hjasak.
That is the reason why it doesn't work. The error that you get is just that OpenFOAM is not recognizing the patch type cyclicGgi. If you want to use the Ggi interface, as well as cyclicGgi, you need to use the -dev version. So far, the OpenFOAM-1.6-dev is not out, so the latest version that you can use is OpenFOAM-1.5-dev. If you use it, it will work.

If you have some problems understanding the difference between the 2 versions, you can read this thread:
http://www.cfd-online.com/Forums/ope...x-1-5-dev.html

I hope this answers the question.

Olivier
olivier is offline   Reply With Quote

Old   December 4, 2009, 13:16
Default uncovered faces
  #20
New Member
 
Join Date: Apr 2009
Location: Finspċng, Sweden
Posts: 4
Rep Power: 17
mauscher is on a distinguished road
Hello,

I'm just writing my thesis and I have a problem with the cyclic ggi boundary. First I want described what I've done and then what the problem is.

1. createPatch -> sidewallright and sidewallleft cyclicGgi
from the boundary-file ->

sidewallleft
{
type cyclicGgi;
nFaces 10176;
startFace 3583008;
shadowPatch sidewallright;
zone zonesidewallleft;
bridgeOverlap true;
rotationAxis (0 0 1);
rotationAngle 0;
separationOffset (0 0 0.075);
}
sidewallright
{
type cyclicGgi;
nFaces 10176;
startFace 3593184;
shadowPatch sidewallleft;
zone zonesidewallright;
bridgeOverlap true;
rotationAxis (0 0 1);
rotationAngle 0;
separationOffset (0 0 -0.075);
}

2. faceSet from Patches sidewallright and sidewallleft

3. setsToZones -noFlipMap

4. decomposePar (2 processors)

5. mpirun ....

6. From the log-file->

Evaluation of GGI weighting factors:

From function void GGIInterpolation<MasterPatch, SlavePatch>::rescaleWeightingFactors() const
in file /home/cluster/cmau/OpenFOAM/OpenFOAM-1.5-dev/src/OpenFOAM/lnInclude/GGIInterpolationWeights.C at line 533
Uncovered faces found. On master: 5088 on slave: 5088
Largest slave weighting factor correction : 0 average: 0
Largest master weighting factor correction: 0 average: 0

The calculation works, but one half of the sidewallpatch is calculated wrong. So where is the problem?


\\mauscher
mauscher 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
MRFSimpleFoam amp cyclic patches david OpenFOAM Running, Solving & CFD 36 October 21, 2008 22:55
[Gmsh] How to define these patches zhoubinwx OpenFOAM Meshing & Mesh Conversion 6 September 15, 2008 09:52
[Technical] Application of cyclic patches klaus OpenFOAM Meshing & Mesh Conversion 9 January 18, 2008 05:28
Cyclic boundary conditions for non conformed Patches turnow OpenFOAM Running, Solving & CFD 1 October 19, 2007 02:17
rediation patches novice Siemens 2 February 25, 2004 04:53


All times are GMT -4. The time now is 16:43.