CFD Online Discussion Forums

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

wllmk1 December 31, 2010 07: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 13: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 14: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 04: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 18: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 03: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 13: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 14: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 17: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 18: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 14: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 14: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 02: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 10: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 12: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 12: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 12: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 10: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 11: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 12: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

wllmk1 January 19, 2011 08:10

Hello.

Today I got my element model converted with ideasUnvToFoam. I defined patches with autoPatch and after that I combined patches with createPatchDict.. Everything went real smooth with no errors. setSet and setsToZones commands worked fine too.

When executing icoDyMFoam I get:

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create dynamic mesh for time = 0

Selecting dynamicFvMesh mixerGgiFvMesh
void mixerGgiFvMesh::addZonesAndModifiers() : Zones and modifiers already present. Skipping.
Mixer mesh:
origin: (0 0 0)
axis : (0 0 1)
rpm : 60
Reading transportProperties

Reading field p

Reading field U

Reading/calculating face flux field phi

Initializing the GGI interpolator between master/shadow patches: rotoright/rotorleft
Evaluation of GGI weighting factors:

From function void GGIInterpolation<MasterPatch, SlavePatch>::rescaleWeightingFactors() const
in file /build/buildd/openfoam-dev-1.5-1726/OpenFOAM-1.5-dev/src/OpenFOAM/lnInclude/GGIInterpolationWeights.C at line 534
Uncovered faces found. On master: 5108 on slave: 5238
Largest slave weighting factor correction : 0 average: 0
Largest master weighting factor correction: 0 average: 0



Found uncovered faces for GGI interface rotoright/rotorleft while the bridgeOverlap option is not set in the boundary file.
This is an unrecoverable error. Aborting.

From function void ggiPolyPatch::calcPatchToPatch() const
in file meshes/polyMesh/polyPatches/constraint/ggi/ggiPolyPatch.C at line 129.

FOAM aborting

Aborted (core dumped)


--------------------------------------

rotoright and rotorleft are cyclicGgi patches. Have I understood right that this patch must be set for planes defining the "slice" of rotor. (And stator too). My angles might be set wrong in boundary file.. How can I determine this angle and what does it actually mean in cyclicGgi?

This error might occur because I think that autopatch moves my origin.. Atleast origin I see in paraView is not in right place.. Is origin that I see in paraFoam the actual origin used in solving?

How can I move origin or prevent it from moving when I use autopatch.. Also is there any other possible reasons why I get this error?

prashant.A January 19, 2011 20:23

Comments :

1. If I am understanding the model physics right, how would you use moving mesh (icoDyMFoam) with a cyclic boundary ?
Remember, GGI is meant for data transfer between stator & rotor and if the rotor part starts rotating then just a periodic intersection would cease to intersect with it after few time steps. Right ?

2. Cyclic Boundary and not Cyclic GGI can be used in steady MRF type calculation and a moving mesh study cannot be done just with one periodic section


3. The GGI errors/issues that you see can be related directly to GGI definition. Follow the standard tutorial available with 1.5-dev closely to get rid of them.

All The Best !

wllmk1 January 20, 2011 13:01

Hello!

Thank you so much for your answer! This is exactly why I started this thread in the first place, I have no experience in cfd and things like this are not obvious to me.
Yes I think that you are right. I must use MRFSimpleFoam.

I tried with MRFSimpleFoam and cyclicGgi (I think that cyclicggi and MRFSimpleFoam should work fine together right?) I got all the weight factors in ggi interfaces defined with no errors. Solver also solved Ux Uy and Uz. Then it started to solve p and first I got time step continuity error and after that I got "floating point" type error.
What does this error type refer to?
Is there any tutorials with MRFSimpleFoam and cyclicGgi? I found one referred in pdf called mixer_2D_MRF_m4 but I cant find it..

-wllmk1

prashant.A January 20, 2011 14:15

1. Its important to distinguish between periodic boundaries (i.e. cyclic section) and the GGI interfaces. I hope you are not mixing these two things

2. A trick to speed up your computations may be to remove the GGI pairs between stator and rotor, only possible if you have an interface with same node imprint on both the sides. This will not only reduce the computational overhead associated with GGI but also eliminate the complexity involved with the case.

3. Just to debug the setup, remove periodicity for a while and then test if the calculation fails !

wllmk1 January 21, 2011 03:01

Quote:

Originally Posted by prashant.A (Post 291428)
1. Its important to distinguish between periodic boundaries (i.e. cyclic section) and the GGI interfaces. I hope you are not mixing these two things

2. A trick to speed up your computations may be to remove the GGI pairs between stator and rotor, only possible if you have an interface with same node imprint on both the sides. This will not only reduce the computational overhead associated with GGI but also eliminate the complexity involved with the case.

3. Just to debug the setup, remove periodicity for a while and then test if the calculation fails !

Hello. Thanks for your answer.

I have understood that cyclicGgi is made to do exactly the same job as cyclic patch is. Only difference is that with cyclicGgi the nodes dont have to match. Check this link pages 23-26: http://www.openfoamworkshop.org/08/p...doin_Jasak.pdf

It's gonna be hard to do conformal mesh with my geometry..
Im going to try to remove periodicity for debugging like u said.

-wllmk1

prashant.A January 21, 2011 11:37

1. If your meshing process involved creation of whole domain, from a unit periodic section then you should be having similar node imprint on both the sides which eliminates use of cyclicGGI

2. Take one step at a time, remove all GGI pairs for now, test& debug. Then moving on, test the rotor-stator GGI pair which is one pair . Right?

wllmk1 January 24, 2011 10:46

Hello!

I removed cyclicggi patches. In fact I modeled the whole (360 degrees) motor with coarse mesh (1,25 M cells) so there was only 1 element between insideSlider and statorwall etc...
I patched again with autopatch and createpatch. Everything seems ok..

I'm able to run this setup with icoDyMFoam and maybe turbDyMFoam.
However with MRFSimpleFoam I get 'floating point expection' error. This error occurs after Ux,Uy and Uz have been calculated and I have received time step continuity error after p residual etc...

Only thing really different when setting up case with MRFSimpleFoam is MRFZones file. I could have got something wrong here right? (Like cellZone definition).. Is there anything else what could cause this prob?

-wllmk1

prashant.A January 24, 2011 11:11

Hello,
First, I must say you have been going good so far, hope that you will soon hit the target
A couple of questions:

1. Do you see a real rotation happening in the rotor with icoDyMFoam/turbDyMFoam. If yes, then I would suggest starting a calculation with it at a low Courant no. (<0.1) Dump the transient run data at, let's say, every 5 deg of rotation..


2. Which version are you using for MRFSimpleFoam? If 1.5-dev, then I would recommend using 1.7 release version, because this one has a lesser complicated set-up , I mean setting of faceZones not required etc.

wllmk1 January 24, 2011 11:48

Quote:

Originally Posted by prashant.A (Post 291934)
Hello,
First, I must say you have been going good so far, hope that you will soon hit the target
A couple of questions:

1. Do you see a real rotation happening in the rotor with icoDyMFoam/turbDyMFoam. If yes, then I would suggest starting a calculation with it at a low Courant no. (<0.1) Dump the transient run data at, let's say, every 5 deg of rotation..


2. Which version are you using for MRFSimpleFoam? If 1.5-dev, then I would recommend using 1.7 release version, because this one has a lesser complicated set-up , I mean setting of faceZones not required etc.

1. I didnt have time to wait results with turbDyMFoam but with icoDyMFoam yes, I see rotation happening. Where can I set courant no? And how do I dump transient data? And what does it mean to dump transient data? :D Sry stupid questions.. I really dont know anything about fluid dynamics.. I started to study heat transfer and fluid dynamics as minor few weeks ago.. my major is mechanical engineering..

2. I dont know which version it is.. but it does define faceZones automatically..

prashant.A January 24, 2011 11:56

1. Check "system/controlDict" for the following :

writeControl runTime;//will dump a data file after a particular flow time
writeInterval 0.005;//is the data dump entry for above. Set this for 5deg rotation
adjustTimeStep yes; // will adjust time step based upon the Courant No entry
maxCo 0.1; //max. Courant No. allowed in a cell

These settings should do the needful for you !

2. "which MRFSimpleFoam" will tell you the version...

wllmk1 January 25, 2011 11:32

Hello!

Thanks for time step values you posted. I had to chance 5 deg rotation to 0,5 deg because solver crashed after few steps with 5deg (rotating speed is 3000 rpm). I left TurbDyMFoam running so I'll see in the morning if it has finished without problems..

What values should I use in transportprop? My nu is now 0,000015, nu0 and nuinf are 0,0000015.. and my models dimensions are in metres. Are these ok?

How many iteration rounds are ok with U and p ? U gets through with 5-20 iterations but p with 900-1000.. whats up with this?

-wllmk1

prashant.A January 25, 2011 12:02

Hello wllmk1,

1. the nu value that you have corresponds to air, and that makes sense

2. Check the model dimensions, that you dont mistake simulating a pelton wheel in place of a motor !

2. The Courant No. criteria will auto-adjust the time step to a feasible value so that stability issues are minimised

4. MRFSimpleFoam could give you a good flow field to start from, and consequently the stability issues are minimised

wllmk1 January 26, 2011 10:52

Hello!

I continued my project today and following things occured:

1. TurbDyMFoam solved with different rpm's and timesteps (And maCo < 0,1) 2..3 timesteps succesfully. Then I got error which was something like: difference between inflow and outflow couldnt be adjusted with... something.. sorry I didnt remember to copy the actual error message. I think error is related to continuity error in massflow. What could cause this?

2.I got MRFSimpleFoam working! .... somehow. It solves 8..10 time steps and then I got error: floating point expection (core dumped). Results in first timesteps solved seem to be in right scale (U=20...60 m/s). But with last steps U raises to 10e10 m/s.. however I cant see any velocity vector having values this high.. all vectors seem to have value zero in this scale (0...10e10).. Any ideas? :D

Idea behind MRFSimpleFoam is mystery to me.. If it solves steady state, why it still solves time steps? Are results in last steps better than results in earlier steps?

My rotation per step is smaller than 5 deg/step in all cases.

-wllmk1

wllmk1 January 26, 2011 15:40

Hi

I would have some questions about MRFSimpleFoam on top of my last post.

- My version of MRFSimpleFoam defines facezones automatically if I dont define it. So this means that MRFSimpleFoam removes automatically boundary faces from definitions of 'rotating' faces right?

- How can I view my cellZone in paraview (to see that I got it right)?

wllmk1 January 28, 2011 12:20

Hello.

Since my last posts I have spent way too many hours trying little this and that to make model work. Mainly I have been working MRFSimpleFoam. I got simulation through with MRFSimpleFoam but velocity magn was 0.25 m/s when it should be about 25 m/s. I think I got something wrong with timestep or definition of facezones..
I have been trying to define facezone my self because automatic defining doesnt seem to work for me.. with automatic facezone defining velocity magn arises to infinite with 6 steps and I get floating point error.

I would have some questions if someone cares to help:

1. I have to define a cellzone which has all the 'rotating' cells in it, right?
2. With older versions I have to also define facezone, right? Lets say that I define facezone myself.
- I have to pick 'insidezone' defined by insideslider for this facezone right? How about wall type patch defining rotor's wall? Do I have to include that too? (My geometry is basicly two coincentric cylinders with little more complicated geometry)
- What should I define for patches and nonrotatingpatches in MRFZones file? I have put patch defining rotor's wall to patch. nonrotating patches I have left blank.

3. What would be good values for controlDict file when rotor's diam is 0,4 m and rpm is 1000-3000 ?

wllmk1 January 30, 2011 16:32

Hello again.

I believe that I got my MRFZone related issues solved now.

This time I tried to solve my continuity errors by reducing the rotating speed. First I tried with 100 rpm and model solved with no errors and really nice convergence. U magn. and p seemed to be in right scale and flow path was realistic.. I think that since model can be solved with low rotation speed there is no error related to MRFZones, boundaries or units.. (?)

Problem seems to be that my geometry is complicated and consists of some very small holes etc.. So it is prob natural that I get continuity errors with 3000 rpm (?)

Im trying next to solve first with 100 rpm then continue from there with 200 rpm and move on from there to see if I manage to get something out of this....

Btw.. Can anyone help me and tell how to turn off glyph vectors having value zero in paraView? Those really mess glyph picture up..
And does anyone know how to chance view to perspective in paraview?

-wllmk1

wllmk1 February 2, 2011 13:53

Hello.

increasing rotational speed step by step didnt work as well as I was hoping for.. I mean simulation might run well for 100 steps but then time step continuity error might jump to 1000 from 0.0001... and I get floating point error.
I also see that maximum value of epsilon increases steadily to smthing like 1e+8 while mean value is 300 ( with 100 rad/s).. Is this normal and what does value of epsilon mean actualy?
I'm still confused by controldict file with MRFSimpleFoam. What is the meaning of time step if simulation is steady? Do i get same results for case if:
- my time step size is 1 and end time is 5000 ?
- my time step size is 0.5 and end time is 2500 ?
I think that Im asking if time steps size is here unitless or actual seconds?

I got simulation running without errors for 24 hours when decreasing relaxation factors significantly.. But is this really a solution or just a indicator that something is wrong with bc or initial conditions? Ive checked them hundred times but still..

Simulation I had running 24 hours didnt finish because I got a message 'Killed' out of nowhere when I was viewing solved steps with paraview.. What does this message 'killed' mean? Ive got it some times before also..
Could it be because processor gets too stressed because Im doing smthing else with it at the same time solver is running?

-wllmk1

wllmk1 March 4, 2011 18:16

Flow field ok, help needed with heat transfer
 
Hello again!

I haven't been posting much to this thread but I have continued working with my problem.

I'd like to believe that I have been able to solve my previous issues with stator/rotor + ggi. Everything seems to work fine now with MRFSimpleFoam + ggi + cyclicGgi and with turbDyMFoam + ggi. I'm able to get a solution with 3000 rpm and probably higher but havent tried yet. Anyone having similar problems with ggi than I did, post here and I'll help if I can.

So, my flow field is fine. Now I need to move to second part, which is heat transfer. Basicly my setup is this: I have rotor and stator and some cooling channels. And yes two fluids (air and cooling water. )
So I have some solid to solid and some fluid to solid interfaces. Rotor and stator both produce heat with 5000 [W]. I have flow fields for air and cooling water. Is there any incompressible, turbulent solver that can handle heat generation in [W]? I'm interested of solving the steady state temperature.

I have read from some thread here that it is possible to add a heat source to chtMultiregionFoam but it seems to have some problems with multiple regions.

What about the different meshes; do they have to match or can I use ggi similarly than with MRFSimpleFoam?

-wllmk1

sam.ho April 8, 2014 06:58

Found uncovered faces for GGI interface
 
2 Attachment(s)
Hi Foamers :)

I am simulating a Radial Inflow Turbine Blade passage using transonicMRFDyMFoam. I have few questions to be clarified

1. Can we use this transonicMRFDyMFoam with GGI instead of MRF ?
2. I have created the mesh in ICEM CFD then imported to OpenFOAM.
Later merged the mesh. After that set the boundary file and run the following to complete the preprocessing
setSet -batch setBatch
regionCellSets
setsToZones -noFlipMap
Now i am trying to simulate but I am getting the following error
Code:

sml5kor@BMH301562:~/OpenFOAM/sml5kor-1.6-ext/run/Test_mesh_merge$ transonicMRFDyMFoam
/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM Extend Project: Open source CFD        |
|  \\    /  O peration    | Version:  1.6-ext                              |
|  \\  /    A nd          | Web:      www.extend-project.de                |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
Build  : 1.6-ext
Exec  : transonicMRFDyMFoam
Date  : Apr 08 2014
Time  : 15:00:42
Host  : BMH301562
PID    : 12281
Case  : /home/sml5kor/OpenFOAM/sml5kor-1.6-ext/run/Test_mesh_merge
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create dynamic mesh for time = 0

Selecting dynamicFvMesh turboFvMesh
Initializing the GGI interpolator between master/shadow patches: PERIODIC1/PERIODIC2

    From function void GGIInterpolation<MasterPatch, SlavePatch>::rescaleWeightingFactors() const
    in file /home/sml5kor/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/GGIInterpolationWeights.C at line 544
    Uncovered faces found.  On master: 4216 on slave: 4216
Initializing the GGI interpolator between master/shadow patches: PER1_UPS/PER2_UPS

    From function void GGIInterpolation<MasterPatch, SlavePatch>::rescaleWeightingFactors() const
    in file /home/sml5kor/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/GGIInterpolationWeights.C at line 544
    Uncovered faces found.  On master: 1302 on slave: 1302
Initializing the GGI interpolator between master/shadow patches: PER1_DWS/PER2_DWS

    From function void GGIInterpolation<MasterPatch, SlavePatch>::rescaleWeightingFactors() const
    in file /home/sml5kor/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/GGIInterpolationWeights.C at line 544
    Uncovered faces found.  On master: 2728 on slave: 2728

    From function void GGIInterpolation<MasterPatch, SlavePatch>::rescaleWeightingFactors() const
    in file /home/sml5kor/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/GGIInterpolationWeights.C at line 544
    Uncovered faces found.  On master: 0 on slave: 1590


--> FOAM FATAL ERROR:
Found uncovered faces for GGI interface IFC1_IMP_TO_UPS/IFC2_IMP_TO_DWS
This is an unrecoverable error. Aborting.

    From function void overlapGgiPolyPatch::calcPatchToPatch() const
    in file meshes/polyMesh/polyPatches/constraint/overlapGgi/overlapGgiPolyPatchGeometry.C at line 186.

FOAM aborting

Aborted (core dumped)

Please find the attached geometry and also the boundary file .
Can anyone help me ?

Regards,
Sangamesh Hosur


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