CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (https://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   [Technical] General Grid Interface GGI basics (https://www.cfd-online.com/Forums/openfoam-meshing/61907-general-grid-interface-ggi-basics.html)

marcosch February 6, 2009 06:38

General Grid Interface GGI basics
 
Hello!
I found the GGI mentioned several times as a possible solution to moving mesh problems.

But I have problems finding out what this method involves. Is it OpenFOAM specific (I found only few references from CAD programs)? Is it a documented (where?) standard?

Can you point me to a few tutorials or talks introducing the GGI on practical cases?

Thank you
Marco

hjasak February 6, 2009 07:10

Hello, I would first sugges
 
Hello,

I would first suggest you read the two presentations and a paper from Martin Beaudoin on the subject of GGI: this will give you some background on the theory and use. I am still hoping we will write a "proper" numerics paper once the extensions needed for the complete turbomachinery package in OpenFOAM are finished.

In OpenFOAM-1.5-dev, there is a tutorial in icoDyMFoam called mixerGgi that will show you the mechanics. Other cases, including partial overlap GGI, cyclic GGI etc will doubtless follow. I am particularly looking forward to getting the mixing plane code from the breeder into the main branch.

You can find the slides somewhere under www.openfoamworkshop.org; Martin can probably help you with the paper and other slides if you have trouble finding them.

Hope this helps,

Hrv

marcosch February 6, 2009 08:27

Thank you, Mr. Jasak. I found
 
Thank you, Mr. Jasak. I found these slides to provide a first overview on the topic: http://www.openfoamworkshop.org/08/presentations/Turbomachinery/Beaudoin_Jasak.p df

But for getting started with the mixerGgi tutorial I hope that someone will point me to the second presentation and to the paper from Martin Beaudoin that you mentioned, because I still don't feel like understanding how the GGI works.

In 1.5-dev I find the mixerGgiFvMesh class, but only a mixer2D tutorial, no mixerGgi tutorial?

Thank you
Marco

mbeaudoin February 6, 2009 12:20

Hello, We are waiting for t
 
Hello,

We are waiting for the Berlin conference proceedings to be put online.
http://www.opensourcecfd.com/confere...tpage&Itemid=1

In the meantime, you can grab a copy of the GGI paper here:
http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/Berlin2008/Papers/OSCIC-08_BeaudoinMa rtinJasakHrvoje.pdf

Martin

jiejie January 5, 2011 03:05

If I want to extend the 2d mixer ggi case to 3d case (extrude) in the z-direction. How should I set the boundary condition for the top and bottom patches - "frontAndBackPlanes" in 2d case (e.g. wall or movingWallVelocity)? or should I set the part in the "insideSlider" as movingWallVelocity and the part in the "outsideSlider" as wall?

Thanks a lot

su_junwei January 12, 2011 02:54

Quote:

Originally Posted by jiejie (Post 289299)
How should I set the boundary condition for the top and bottom patches - "frontAndBackPlanes" in 2d case (e.g. wall or movingWallVelocity)?

It depends what case you want to set up.
physical boundary wall and numerical boundary fixedvalue ; value uniform (0 0 0). if your top and bottom patches are stationary.

physical boundary: wall; and movingWallvelocity for numerical boundary may give you rotational patches.

Two cases should yield results.


Quote:

Originally Posted by jiejie (Post 289299)
should I set the part in the "insideSlider" as movingWallVelocity and the part in the "outsideSlider" as wall?

You don't have to change the boundary condition of insideslider or outsideslider. it works for 3d. take care of nFaces and startFaces. make them conform to your mesh patches.

regards, Junwei

jiejie January 12, 2011 03:08

Hi junwei

if I just want to extend the 2d mixerGgi to 3d, I thought the top and bottom surface inside the insideSlider should rotate as well? Am I right?

I set all of the top and bottom patches as wall.

However, I found that the stator (except the outsideSlider patch) is rotating during the simualtion as well, which causing the cell next to it to be skewed as shown http://www.flickr.com/photos/58216789@N06/5347809552/http://www.flickr.com/photos/5821678...9552/lightbox/at the screen shots on http://www.flickr.com/photos/58216789@N06/5348038235/

I think it might due to the set-up of moving faces and zones?

su_junwei January 12, 2011 03:37

Quote:

Originally Posted by jiejie (Post 290085)
Hi junwei

if I just want to extend the 2d mixerGgi to 3d, I thought the top and bottom surface inside the insideSlider should rotate as well? Am I right?

I set all of the top and bottom patches as wall. However, I found that even the top and bottome patches that outside the outsideSlider are moving as well. Only the cells on the outsideSlider is fixed and it causing the cell next to it to be skewed as shown http://www.flickr.com/photos/58216789@N06/5347809552/http://www.flickr.com/photos/5821678...9552/lightbox/at the screen shots on http://www.flickr.com/photos/58216789@N06/5348011299/

Thanks

Oh, I get what you mean. A better solution is cut the up or bottom patch into two parts which exactly wrap the stator or rotator. You can set up two different boundary conditions for the two parts.

Even through you set up a rotatingwall or fixed value for top or bottom patch, the cell skewness will not appear, I think. In GGI, the rotator mesh are just rotated, the shape of cells will not be changed.

Regards, Junwei

jiejie January 12, 2011 19:40

Hi junwei

Regarding to your suggestion, I did have two parts for the top and bottom surfaces (one for stator and one for rotator). I think the rotation of the stator is due to the following reson:

After I compared the 3d case with the 2d case, I found that it only includes the cells in the rotator in the moving Cells in file /constant/polyMesh/cellZones for the 2d case. However, somehow it includes the cells from both stator and rotator in movingCells in the cellsZones file. It is very hard to separates the cells from rotator and stator. I am still trying to figure out how it happened at the first place.

Would you have any idea about this? Could it be due the meshing software? I am using icemcfd.

I have upload the case at http://www.megaupload.com/?d=2IIU3UVC

jiejie January 12, 2011 21:37

I am not sure whether it is the meshing problem or not. Now I can make the stator to be stationary by re-initialise the /constant/polyMesh/cellZones with the followings:

##########

FoamFile
{
version 2.0;
format ascii;
class regIOobject;
location "constant/polyMesh";
object cellZones;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

0
(
)
//************************************************** ********************//

##########

Then, the cellZones will be re-written with the celld from rotor part.

Cheers

su_junwei January 12, 2011 22:43

Quote:

Originally Posted by jiejie (Post 290207)
I am not sure whether it is the meshing problem or not. Now I can make the stator to be stationary by re-initialise the /constant/polyMesh/cellZones with the followings:

cellZones? You don't need to define cellzones. mixggifvMesh will do it for you. You just need to define the face zone for the interface and its shadow of stator and rotator.


you can define a internal face and convert it fluent mesh and imprt it to openfoam with options -writeZones . Split the mesh along the interface using splitMesh .
alternatively, you can mesh the stator and rotator seperately and merge it using mergeMesh utility.

regards, Junwei

jiejie January 12, 2011 23:14

Quote:

Originally Posted by su_junwei (Post 290215)
cellZones? You don't need to define cellzones. mixggifvMesh will do it for you. You just need to define the face zone for the interface and its shadow of stator and rotator.


I think when I use fluent3DMeshtoFoam, OpenFOAM writes some stuff into the cellZones instead have an empty file. That's why I re-initialise it.

Quote:

Originally Posted by su_junwei (Post 290215)
you can define a internal face and convert it fluent mesh and imprt it to openfoam with options -writeZones . Split the mesh along the interface using splitMesh .

When you split the mesh along the interface, did you define this interface in the mesh when you are drawing it?

Regards,

Jie

musahossein December 6, 2011 14:07

movingWallVelocity
 
Does the keyword movingWallVelocity indicate surface moving with the mesh? In the sloshingTank2D problem, in the blockMesh folder, all the patches are defined as "walls" including atmosphere. The front and back are defined as "empty". In the U file in "0" folder, all the walls are defined in the following way:

boundaryField
{
walls
{
type movingWallVelocity;
value uniform (0 0 0);
}
}

does this mean that the front and back do not have to be defined, and the atmosphere (top wall) is defined as having velocity as well?

Any help would be greatly appreciated. Thanks!


All times are GMT -4. The time now is 14:13.