CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   Periodic GGI (

cosimobianchini July 2, 2007 10:43

Hi foamers, I would like to
Hi foamers,
I would like to know if someone can suggest any hint on how to proceed in implementing periodic GGI: that means cyclic boundaries that are not conformal.

I already implemented a beta version of such boundary conditions (unfortunately calculations explodes after some iteration and I don't understand why). NOTE: the code is working for conformal cyclic.

The idea I followed (inspired by ggiInterface) is to use patchToPatchInterpolation::faceInterpolate() to calculate a "mean" value associated with the reconstructed twin cell centroid.
I tried to reconstruct the reconstructed twin cell centroid in different ways (averaging centroid position on the shadow patch, reconstructing its position on the normal vector exiting the face centroid etc etc) but results are not changing that much.
I also tried to average the values on the shadow patch including more cells or excluding some neighbor cell in case the weight was too low and again no significant change.

I read somewhere here in the forum (thread named: "Computing a cell-centered scalarField from a vertex-centered scalarField") that inverse distance weighting could cause conservativeness problems, can someone be more specific? How can this problem be avoided / solved?

If someone want to have a look at the code I will appreciate any advice: .
Here are the cases I have been running as tests: ,

Many thanks in advance

haibinli July 22, 2007 22:02

Thank you Cosimo, your codes i
Thank you Cosimo, your codes is just what I want.
But I'm not very clear the line 265 in CalcPatchToPatchWeigths.C. How should I change it in a rotational Cyclic BC?

luca July 23, 2007 04:11

Hi Haibin, I hope you can g
Hi Haibin,

I hope you can give us a hand to develop this fondamental feature for OpenFOAM.
Only put the translation vector in this line that leads the cell center projection. In the case of rotational cyclic put the chord vector that defines your periodicity.



haibinli July 24, 2007 20:02

Thank you Luca, I think it's a
Thank you Luca, I think it's a very important feature, tons of cases need it. I will put my hands soon.

anger July 31, 2007 07:26

Ciao Cosimo, I tried to ins
Ciao Cosimo,

I tried to install the files you linked above but got an error stating:
meshes/polyMesh/polyPatches/derivedPolyPatches/arbitraryCyclicPolyPatch/arbitrar yCyclicPolyPatch.C: In member function 'virtual void Foam::arbitraryCyclicPolyPatch::initUpdateTopology ()':
meshes/polyMesh/polyPatches/derivedPolyPatches/arbitraryCyclicPolyPatch/arbitrar yCyclicPolyPatch.C:364: error: 'initUpdateTopology' is not a member of 'Foam::polyPatch'
I assume that I put a file in the wrong directory so could you please give some more details how to install the files as given in the README file?

Best regards,

luca July 31, 2007 08:03

Hi Thomas, welcome in this
Hi Thomas,

welcome in this thread and thanks for contributing to PeriodicGGI developement.

You have to test the code in OpenFOAM version 1.3. It seems that you are using the latest version 1.4.

Please feel free to ask any question and to suggest every possible bug fix or change.

Keep in touch


anger August 6, 2007 11:28

Hi Luca, thanks for the war
Hi Luca,

thanks for the warm welcome. However, I'm not sure whether I'm able to really contribute to the development of PeriodicGGI due to my lack of knowledge on this subject )-:
Anyway, I installed OF V1.3 and recopiled the vanilla source tree of $FOAM_SRC/OpenFOAM and $FOAM_SRC/finiteVolume which worked (almost) without problems. After applying the modifications found in the README file, I still get errors. So my question is: the README states:
"put arbitraryCyclicPolyPatch in $FOAM_SRC/OpenFOAM/meshes/polyMesh/polyPatches/derivedPolyPatches".
Does that mean that I should put the whole directory into this place, only the files found in the directory or anything else? I assume that I'm missing something, so could you please be more precise on the installation procedure?

Best regards,

cosimobianchini August 6, 2007 11:58

Hi Thomas, just put the whol
Hi Thomas,
just put the whole directories in the places suggested by the README file.
Sorry for not having been clear enough.
Best regards,


anger August 8, 2007 08:07

Hi Cosimo, I keep on gettin
Hi Cosimo,

I keep on getting an errror:
SOURCE=interpolations/patchToPatchInterpolation/CalcPatchToPatchWeights.C ; g++ -m64 -DlinuxAMD64 -DDP -Wall -W -Wno-unused-parameter -Wold-style-cast -march=opteron -O3 -fno-gcse -DNoRepository -ftemplate-depth-30 -DWM_PROJECT_VERSION='"'1.3'"' -I/home/anger/OpenFOAM/OpenFOAM-1.3/src/zlib-1.2.1 -I/home/anger/OpenFOAM/OpenFOAM-1.3/src/OpenFOAM/lnInclude -IlnInclude -I. -fPIC -c $SOURCE -o Make/linuxAMD64DPOpt/CalcPatchToPatchWeights.o
interpolations/patchToPatchInterpolation/CalcPatchToPatchWeights.C:41: error: redefinition of 'void Foam::PatchToPatchInterpolation<frompatch,>::calcP ointAddressing() const'
interpolations/patchToPatchInterpolation/CalcPatchToPatchWeights.C:41: error: 'void Foam::PatchToPatchInterpolation<frompatch,>::calcP ointAddressing() const' previously declared here
interpolations/patchToPatchInterpolation/CalcPatchToPatchWeights.C:235: error: redefinition of 'void Foam::PatchToPatchInterpolation<frompatch,>::calcF aceAddressing() const'
interpolations/patchToPatchInterpolation/CalcPatchToPatchWeights.C:235: error: 'void Foam::PatchToPatchInterpolation<frompatch,>::calcF aceAddressing() const' previously declared here
make: *** [Make/linuxAMD64DPOpt/CalcPatchToPatchWeights.o] Fehler 1
Anyone can help me on this?

Best regards,

cosimobianchini August 8, 2007 09:00

Hi Thomas, could it be you ad
Hi Thomas,
could it be you add the wrong files into the OpenFOAM/Make/files file?

It should look like:

interpolations = interpolations
interpolation = $(interpolations)/interpolation

Sorry but I got no other clue to think about.

anger August 9, 2007 04:59

Hi Cosimo, that did the tri
Hi Cosimo,

that did the trick. I was putting the names of all files in the subdirectory of the unpacked archive ggiCyclicTools.tgz into the Make/files file, but obviuosly only these for which a .dep- file exists should be placed there.
I'm keen on getting your eample(s) runnning.

Best regards,

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