I have two conformal non plana
I have two conformal non planar patches (basically the same patch translated by an offset) which I want to couple as periodic in-/outlets:
http://www.cfd-online.com/OpenFOAM_D...ges/1/9268.png 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? |
Did you use the "createPatche"
Did you use the "createPatche" utility for creating the cyclic patches?
Francesco |
Hi Francesco,
yes!
I just
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 |
Ok I try to answer some of the
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. |
I love to monologize!
I dev
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 http://www.cfd-online.com/OpenFOAM_D...ges/1/9357.png. 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 |
Hi Hrv, Hi Martin,
I just d
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 |
Hi Hrv, Hi Martin,
I just d
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 |
Hello Jens,
Please provide
Hello Jens,
Please provide your complete test case. Martin |
Hi Martin,
I will try again
Hi Martin,
I will try again Jens |
Hi Martin,
I sent you an em
Hi Martin,
I sent you an email. Jens |
Hi Jens,
For your info, I h
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 |
Hi Hrv, Hi Martin,
ggiCycli
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: http://www.cfd-online.com/OpenFOAM_D...your_image.gif. 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 |
Hello Jens,
I have sent you
Hello Jens,
I have sent you a reply through email. I will get back to you a bit later with some more comments. Martin |
Hello Jens,
A fix for handl
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 |
1 Attachment(s)
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 |
try to update your version of the ggi try svn update. It should work
|
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 |
cyclicGGI error with OpenFOAM 1.6 and 1.6.x
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 |
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 |
uncovered faces
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 |
All times are GMT -4. The time now is 04:46. |