CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   Rotating rotor inside a frame (http://www.cfd-online.com/Forums/openfoam/83498-rotating-rotor-inside-frame.html)

wllmk1 December 31, 2010 08:02

Rotating rotor inside a frame
 
Hello all.

Please bear with me, my english is sometimes something else..

I have been using openfoam (1.7.1) for two days now and I understand poorly some very basic concepts. However I'm unable to spend massive amounts of time on learning every aspect of software.. so I would like to learn if there is a one good solution to my problem.

My goal would be to simulate an air flow affected by rotating rotor inside a motor frame. Application is an electric motor. Rotating speed is constant and flow turbulent based on hand calculations.

Frame and stator can be created with commercial 3D software and meshed with commercial FEM software.

What I need to do with openfoam is basicly import meshgeometries and make rotor to rotate inside a fixed frame. Of course there is plenty of stuff to do and this is where I hope that you could help me.

This is basicly only case where I need openfoam. Of course rotor and frame geometries and rotating speed will be case dependant but it will allways be rotor inside the frame.

I have seen many example cases with rotating bodies but none in 3D or suitable to openfoam 1.7.1.

If you could help me in any way it would be great. Let me know if there exists any examples that I could modify suitable to my case. I can save my models to almost any format.

wllmk1 January 2, 2011 14:32

Hello.

I studied available options for my problem and it seems that rotor stator situation is easiest to set up with ggi and solver like TurboDyMFoam. I understand that I need 1.5-dev version to use ggi? For 1.5-dev is prob easiest to download usb stick version?

I found that example like mixer ggi is something I could work with but it seems to be a 2D case. Is there any 3D rotor stator examples using ggi ?

Im pretty confused about ggi n stuff so could someone please explain me:

- Is it required that rotating faces of rotor and stator are alike (with small gap)? Or can rotor be a cube and stator a cylinder for example? I found some tutorials where mergeMesh command was used between meshes of rotor and stator.

prashant.A January 2, 2011 15:17

Hi there!

Yes, for GGI there needs to be similarity between the interfaces, however, the overlap may partial or full as it is observed in some sliding mesh problems. Important thing to note is that the flux/data transfer happens only at overlapping locations...
If your setup isn't having an overlap, then essentially you are not transferring data across GGI !
Don't worry about mergeMesh commands etc. I would suggest to get started with your own case, import your mesh & start the setup and you can always write back when you are stuck :)



Quote:

Originally Posted by wllmk1 (Post 289027)
Hello.

I studied available options for my problem and it seems that rotor stator situation is easiest to set up with ggi and solver like TurboDyMFoam. I understand that I need 1.5-dev version to use ggi? For 1.5-dev is prob easiest to download usb stick version?

I found that example like mixer ggi is something I could work with but it seems to be a 2D case. Is there any 3D rotor stator examples using ggi ?

Im pretty confused about ggi n stuff so could someone please explain me:

- Is it required that rotating faces of rotor and stator are alike (with small gap)? Or can rotor be a cube and stator a cylinder for example? I found some tutorials where mergeMesh command was used between meshes of rotor and stator.


wllmk1 January 5, 2011 05:35

Hey! Thank you for your answer.

I have studied 2D GGI cases and general structure of data in openfoam. Some questions again:

- What kind of 3D mesh should I form? Should I form different 3D parts with solid elements or with surface mesh only?

- What are the steps required to convert a mesh to meshblockdict file (Say that i have a I-DEAS type mesh)? I assume that patches etc shoud be named when creating mesh?

- Should the nodes of 'insideslider' and 'outsideslider' patches be exactly at same places when simulation is starting?

Thank you for helping me!

prashant.A January 5, 2011 19:13

Well,

1. You wont be needing any solid volume, but necessarily fluid cells though where would you calculate flow physics....

2. Use any CFD meshing tool, be it snappyHex or commercial software. Get a good quality mesh and then is the time to import it into OpenFOAM.

3. Inside/Outside sliders need not necessarily have same mesh impressions at the outset. Note that while the mesh elements rotates, you cannot preserve same impressions in time..

Write back if you need further assistance/help...:)


Quote:

Originally Posted by wllmk1 (Post 289322)
Hey! Thank you for your answer.

I have studied 2D GGI cases and general structure of data in openfoam. Some questions again:

- What kind of 3D mesh should I form? Should I form different 3D parts with solid elements or with surface mesh only?

- What are the steps required to convert a mesh to meshblockdict file (Say that i have a I-DEAS type mesh)? I assume that patches etc shoud be named when creating mesh?

- Should the nodes of 'insideslider' and 'outsideslider' patches be exactly at same places when simulation is starting?

Thank you for helping me!


wllmk1 January 6, 2011 04:36

Hello.

Thanks for help. I created 3d geometry with Inventor, used Femap for meshing it and succesfully imported mesh and patches to openfoam. I'll try later to solve it and report back here.

- wllmk1

wllmk1 January 7, 2011 14:26

Seems like I was too positive earlier. When I tried to convert a more complicated mesh with more patches I ran to error using ideasUnvToFoam.
converting starts normally but in the very end I get a message something like:

Constructing mesh with non default patches of size:
staattori 277468
OutsideSlider 72696

Trying to specify a boundary face 3(56038 2804 1064) on the face on cell 51 which is either an internal face or already belongs to some other patch. This is face 0 of patch 0 named staattori.

...
Foam aborting
...

I have tried to trace this error by removing patches and using more elements. I assume I need 4 patches (InsideSlider, OutsideSlider, and two walls defining the surfaces of stator and rotor. However I can convert mesh succesfully only if I define only one patch. So it seems that I get this error because face of some cell(s) is defined by two patches? I would understand this between patches of insideSlider and outsideSlider because those faces are located exactly on the same face (Should I have a gap between them btw..) But I get the same error also when I have defined patches for stator wall and outsideSlider.

Shortly:

I try to convert only the mesh of stator with two patches defined--> I get error

I try to convert meshes of stator and rotor with patches for outsideSlider and insideSlider defined-->
I get error

I try to convert one patch only with any mesh-->
I dont get error

plus: Do I need to leave a gap between rotor and stator?
Do I need to create meshes of stator and rotor separately and combine them using mergeMesh or something? (now I have created meshes to same unv. (ideas) file and havent merged them.)

Thanks for your help !

prashant.A January 7, 2011 15:16

1. Its not common to create CFD meshes in Ideas, by far I haven't seen any one do that.....

2. You can create meshes together, it really should not throw error like this for a valid CFD volume mesh.

3. However, there could be some modeling errors in your model.
I can have a look at your geometry for the purpose. You can share the surface probably in STL if its possible...

wllmk1 January 7, 2011 18:59

Hello.

Yes I think it is possible that Femap is not suitable for creating cfd volume. What software would you prefer? Can it be done by netgen or snappyhexmex?
I would really appreciate if you would take a look at my geometry, .stl is no problem. I suppose I have to create rotor and stator .stl's separately so that ggi patches can be defined.(?) I'll send them to you by monday when I get to office. You have mail address or do I attach files here?

-wllmk1

prashant.A January 7, 2011 19:27

Let me first have a look at your surface model, then I could suggest something on meshing...

Take your time and send me the STL on my skype account (details in my profile)
You could send me one complete file but atleast details with what part stator is etc.

Cheers !


Quote:

Originally Posted by wllmk1 (Post 289654)
Hello.

Yes I think it is possible that Femap is not suitable for creating cfd volume. What software would you prefer? Can it be done by netgen or snappyhexmex?
I would really appreciate if you would take a look at my geometry, .stl is no problem. I suppose I have to create rotor and stator .stl's separately so that ggi patches can be defined.(?) I'll send them to you by monday when I get to office. You have mail address or do I attach files here?

-wllmk1


wllmk1 January 10, 2011 15:04

Hello.

I haven't yet been able to send any stl model because my computers network card broke down and I can't connect to license server of Inventor. However, I did use femap and ideas conversion yet again to model a very simplified geometry of my problem. This time I got it solved with no problems using mixerggi as a starting point. I assume that my previous geometry had somekind of error in it (it was pretty complicated afterall).
Now that I have been able to get some results new questions have arisen:
- What turbulence model does icoDyMFoam use? I assume that there isn't turbulence model used in mixerggi example?
- What do I have to do to add turbulence? Add some coeff's to transportProperties atleast and propably create a RAS file?
- Is it possible to solve a convective and conductive heat transfer caused by flow I have solved in icoDyMFoam? In my case the rotor and stator generates heat about 5000 W. There exists also a cooling channel inside stator where cooling water circultes. What do I have to do to take all these factors in consern?

-wllmk1

prashant.A January 10, 2011 15:29

As per your queries:

1. icoDyMFoam - has been developed from the solver icoFoam, which is inherently meant for laminar flows. To model turbulence, you need to use turbDyMFoam.

2. MRFSimpleFoam : could be an option for modeling rotation in turbomachinery, etc which would take lesser time and would give you a steady state solution.

3. I would suggest solving a cold flow/isothermal problem first, then start looking around for a solver with energy equation which might be available. You may also add energy equation to the solver yourself for the purpose...

wllmk1 January 12, 2011 03:10

Hey!

Thanks again for your answer. You have really boosted up my project! I have now been able to model a basic ggi 3D case (two coincentric cylinders). I start practising with more complex case later today.
I think it would be possible to model a heat transfer caused by conduction and convection with cht..simple something solver. I could perhaps just paste steady state U vectors to projects 0-file?
But to model steady state heat transfer I'm going to need volume elements inside the rotor and stator too right? They would have to be there (elements inside rotor and stator) when modeling airflow too because otherwise U vectors would get out of order?
Is there some boundary condition that allows me to keep elements inside rotor and stator when solving airflow so that they wouldnt affect the results?(like empty)?.
Or is there another way to transfer solved U vectors to heat transfer model so that vectors wouldnt get out of order?

-wllmk1

prashant.A January 12, 2011 11:39

First, good to know that you could finally get going further with the project.

You have really applied well to the problem. Anyways, further sugegstions are:

1. For modeling conjugate heat transfer i.e. conduction and convection, you need to use chtMulti region foam.

2. It is quite possible to attain a steady cold flow solution from MRF simple foam and use it as an initial condition for modeling heat transfer..

3. For heat transfer, it may be required to add an extra equation (for energy) to your solver, and you may find this link interesting:
http://openfoamwiki.net/index.php/Ho...ure_to_icoFoam


Cheers !

wllmk1 January 15, 2011 13:02

Hello again!

I have spent something like 20 hours building 3d models and element models related to my problem since last post.
One thing modeling electric motors in the terms of cfd makes it really difficult. That is an air gap between rotor and stator which is usually like 1,5 mm when rotor diameter is like 500 mm. If I want to model air flow in airgap accurately, I need there more than two or three element layers, yes ? This makes models as large as 10M cells and quality meshing is kinda difficult. I was wondering that how many element layers would be good amount in air gap? Also the ggi interface is naturally located in air gap. How many element layers should I have between rotor wall and insideSlider or between stator wall and outsideSlider? Is ggi interface best to have in the midlle of airgap or should it be closer to the rotor or stator?

I still have patching issues with difficult geometries with femap. simple geometries are no problem.. when I tried to do mesh conversion from femap I got stuck in the same place than before but this time I just got message 'killed' :D.. Autopatch seems to work well however so I could prob try to do autopatch and then combine/split some patches?

I reached info for heat transfer problem discussed earlier and I think it could be possible to transfer solved U vectors to heat transfer model using mapFields command.

It is very time consuming to build my models because geometries are complex and models huge but I hope I can get forwad with this case by the end of nex week !

-wllmk1

prashant.A January 15, 2011 13:14

Hi !

1. Your observation is quite valid, its difficult to mesh such regions, made thn with the GGI passing through rotor and stator. There are a few meshing tricks involved, try to capture the gap with prrism layer extrusion if possible. Some softwares have this feature of creating such cells in small thickness regions which would bring the mesh count lower to 2-3 Mi cells than ~10-15 Mi.

2. Owing to the difficulties with handling that big a mesh with a transient moving mesh type run, people generally go for a steady state MRF type of simulation, possible in 24-48 hrs of CPU time...

3. You could use mapFields, Or if the same mesh is to be recomputed again no need to map the data ! Restart from then and there and that should work...


Such kind of meshing work is generally time-intensive and will take time.
ALL THE BEST !

prashant.A January 15, 2011 13:19

Sorry , I did miss a few queries on the GGI, there you go:
1. Two cells from GGI on either side is bare minimum to have good results.

2. Try to include the whole rotation swept volume inside the GGI, which fundamentally should be the case

wllmk1 January 18, 2011 11:53

Hello. Thanks for your answer!

Today I started to build element model of my actual geometry. I did my best to create small elements to air gap and bigger ones elsewhere. I modeled 6 element layers to airgap which hopefully is enough. Mesh looks ok to my eye but there is 20 M cells now and I'm having hard time to make final adjustings with femap.

How about openfoam? Can it handle 20 M cells when solving steady state case? And yeah I suppose that I must use MRFSimpleFoam if I manage ever to finish this mesh with femap..

However my geometry is axially symmetric, it consists of 16 identical "slices". Is there any symmetry boundary condition that I could use to solve only 1 slice? Then I would only have 1,25 M cells and things would be nice again :)

prashant.A January 18, 2011 12:02

Hi!

1. 20M cell count is possible to solve but start with a smaller one preferably ~2-3 Mi where you would see early developments

2. Once you have identified the process, you could easily switch to finer mesh with same settings and even result mapping ! Do not worry too much over gap count, resolve it just 1 cell thick to begin with. Who knows, your mesh model may require bigger modifications later...

3. Very good observation indeed, you can solve for a periodic section from the geometry with in-plane periodicity but strictly in periodic sections. There may be mesh requirements like same impression of nodes on both the periodic planes etc.

wllmk1 January 18, 2011 13:48

Hello!

Yes I think that you are right. I should start with coarse mesh to be able to see if any other errors/ complications occur..

But I think that first I go and try solving with periodic symmetry. This is because I already have a necessary element model ready to use (I meshed only 1/16 slice and then copy-rotated elements for full model). And it took me 8 hours today to build it so I really dont want to do any meshing for a while :D

I did some googling and it seems that cyclicGgi is patch type used for faces of periodic model. It seems like not too hard to set up so I try to go with that.
Edit: It seems that nodes do not have to match.
-wllmk1


All times are GMT -4. The time now is 12:30.