I tried to simulate the case a
I tried to simulate the case also with a different geometry where the cyclic patch is between the rotor baffle and stator baffle.
http://www.cfd-online.com/OpenFOAM_D...your_image.gif In this case the velocities are ok around the impeller tip. The error seems to occur in the rotating zone along the cyclic patch. Velocity: http://www.cfd-online.com/OpenFOAM_D...your_image.gif Pressure: http://www.cfd-online.com/OpenFOAM_D...your_image.gif The same problem occured in a simulation of an impeller. The following picture shows the pressure distribution in a cut through an impeller with the blade in the middle and the cyclic patches on the left and the right side. Is it possible that MRFSimpleFoam has a problem with cyclic patches or did I make something wrong? Regards david |
I tried to simulate the case a
I tried to simulate the case also with a different geometry where the cyclic patch is between the rotor baffle and stator baffle.
http://www.cfd-online.com/OpenFOAM_D...ges/1/7840.jpg In this case the velocities are ok around the impeller tip. The error seems to occur in the rotating zone along the cyclic patch. Velocity: http://www.cfd-online.com/OpenFOAM_D...ges/1/7841.jpg Pressure: http://www.cfd-online.com/OpenFOAM_D...ges/1/7842.jpg The same problem occured in a simulation of an impeller. The following picture shows the pressure distribution in a cut through an impeller with the blade in the middle and the cyclic patches on the left and the right side. http://www.cfd-online.com/OpenFOAM_D...ges/1/7843.jpg Is it possible that MRFSimpleFoam has a problem with cyclic patches or did I make something wrong? Regards david |
I found the solution. If anybo
I found the solution. If anybody is interested:
The make mesh script removes the boundary faces from the rotating zone. I assume that this operation results in a incorrect computation of the fluxes across the cyclic boundary. The solution is to define separate cyclic patches for the rotating and non-rotating zone. After deleting the boundary faces it is necessary to add the cyclic patch of the rotating zone to the set. This can be done with the topoSetSource patchToFace. The results are identical to the simulation with the full geometry. Regards david |
Hi David,
It looks like you
Hi David,
It looks like you manage to get something with the cyclic patches and MRFSimpleFoam. I managed to run the tutorial test case without problem. Now I would like to know how to run my own test case. I have a mesh representing a kind of boat propeler with a tube and 3 blades on it. I can run it with simplefoam staticly. But I'd like t run it with rotation using MRFSimpleFOAM. Could you indicate me the steps required to do that please? Regards, Vincent |
Hi Vincent
The main point i
Hi Vincent
The main point is to assign the rotating cells to a cell zone. I think that the following tutorial could be interesting for you: http://openfoamwiki.net/index.php/MRFSimpleFoam Take also a look at the mixerVessel2D tutorial. After the excution of makeMesh you can see in blockMeshDict that the cells of the inner blocks are assigned to the cell zone rotor. makeMesh creates a set rotor containing the cells of the zone rotor, takes the faces of these cells and adds them (without the Boundary faces) to faceZones. This is done because MRFSimpleFoam uses an absolute velocity formulation and has to compute the relative flux at the faces in the rotating zone. In constant/MRFZones you can specify the angular velocity of the rotating cell zone and the corresponding patches: 1 ( rotor { patches (patch1 patch2); origin origin [0 1 0 0 0 0 0] (0 0 0); axis axis [0 0 0 0 0 0 0] (0 0 1); omega omega [0 0 -1 0 0 0 0] 35; } ) I hope that I was able to help you. Regards david |
Hello,
I have just started l
Hello,
I have just started learning the Turbomachinery capabilities in OpenFOAM (Version 1.4.1) on Linux. I have good results using simpleFoam and turbFoam for non-turbomachinery applications. But when I open FoamX and try looking for MRFSimpleFoam I just could not find it. When I checked for MRFSimpleFoam directory from the command prompt it is very much present in my tutorials directory. Even though it looks like a basic question, it would really be helpful if somebody can help me in running this mixerVessel2D tutorial. Anand |
Hello Anand,
I don't think yo
Hello Anand,
I don't think you can run MRFSimpleFoam out of the box with FoamX, you need some configuration files for it. The good news is that you can run it directly without FoamX. Just go to the mixerVessel2D directory and type ./makeMesh, then go one directory up (cd ../) and type MRFSimpleFoam ./ mixerVessel2D. ...as simple as it can be, right? Dragos |
Hello Dragos,
Thanks a lot f
Hello Dragos,
Thanks a lot for providing me with valuable information. (i) I was successful with the ./makeMesh command. (ii) I went one directory up and typed MRFSimpleFoam <singlespace>./<singlespace> mixerVessel2D.I get the following error: bash: MRFSimpleFoam: command not found. Can I trouble you more for help in this regard? Thanks in advance. Anand |
Ok, that means you have to com
Ok, that means you have to compile the MRFSimpleFoam. In the same directory with the case mixerVessel2D, there is a subdirectory called MRFSimpleFoam. Go there, and compile the solver:
wmake. Then update with rehash or just open a new xterm. No you should be able to run MRFSimpleFoam. Dragos |
Thanks a lot, Dragos. It works
Thanks a lot, Dragos. It works.
So, I guess in order to do turbomachinery calculations, you have to go at the 'source code' level. Is it a fair statement to make? If so, can you suggest/recommend me with some relevant materials to begin with. I have been able to find some papers through netsearch, but they dont really go into the implementation details. Thanks again. Anand |
Nope, MRFSimpleFoam is a stand
Nope, MRFSimpleFoam is a standard solver, that happens to be uncompiled in the 1.4.1 version. No need to look inside, unless you want that.
You can always find good basic information in the documentation that comes along with any commercial software. Dragos |
Why isn't it in the proper pla
Why isn't it in the proper place in the distribution? Its kind of untidy to have it in the tutorial directory rather than in applications.
Gavin |
http://www.cfd-online.com/Open
|
Hi David,
It seems like you
Hi David,
It seems like you did a good job with the solver MRFSimpleFoam. i want to ask you about the cyclic BC in the MRFSimpleFoam. I'm trying to simulate mixerVessel2D, the tutorial test case. There was no problem if i started a simulation for a cycle region. the following picture is the velocity distribution. http://www.cfd-online.com/OpenFOAM_D...ges/1/7981.jpg |
Unfortunately I get wrong(?) r
Unfortunately I get wrong(?) results when I started a simultion for 1/4 cut of the region.
the geometry and cyclic BC are the same as shown by you in May 27, 2008. the following is the velocity result with the cyclic BC.(Don't mind the velocity value at the rotor. when i transfored the OF data to FLUENT, there was a error at the rotor boundary.) http://www.cfd-online.com/OpenFOAM_D...ges/1/7983.jpg i have read the discussion message posted here, and I added the cyclic face of the rotating zone to the faceZones, as you said. I checked the face-face pair in the cyclic patches, and I think there was no problem. my question is that why the velocity contours has a jump at the cyclic boundary. And is it not surprising that the result of 1/4 cut with cyclic BC is different from the cycle one? |
Hi David,
if you do not mi
Hi David,
if you do not mind, could you email me a copy of the case files for the mixerVessel2D with cyclic BC, including the directories of 0, constant, system? zhaolj98@yahoo.co.jp And i want to appreciate everyone who can help me. |
Hi zhaolj
Did you apply the
Hi zhaolj
Did you apply the patch for cyclic boundaries: http://www.cfd-online.com/cgi-bin/Op...c=1&post=20154 If that doesn't fix the problem, then I have really no idea why these jumps occur. Here is my case: http://www.cfd-online.com/OpenFOAM_D...hment_icon.gif cyclicMixerVessel2D.tar.gz A readme file with instructions is also included. Regards david |
Hi David, thank you very much.
Hi David, thank you very much.
yes, i applied the cyclic boundaries. i checked your case files, and i am sure that my case was just done as samely as yours. i executed your cyclicMixerVessel2D as you said in readme.txt. Unfortunately, the same jumps of velocity occurs at the cyclic boundary. http://www.cfd-online.com/OpenFOAM_D...ges/1/8002.jpg but there is no jump of pressure. http://www.cfd-online.com/OpenFOAM_D...ges/1/8003.jpg i checked the cyclic boundary conditions in the latest time directory. here is the U cyclic boundary of the rotating zone in the 500 time directory. And you can see that the cyclic BC is satisfied very well. periodic1 { type cyclic; value nonuniform List<vector> 32 ( (2.22966 2.60265 -2.44821e-19) (2.08095 3.65685 6.94315e-19) (2.23047 3.35284 -3.29633e-18) (2.23759 3.21746 -2.61382e-18) (2.18124 3.11587 2.69876e-18) (2.14067 3.09886 -2.87145e-18) (2.0799 3.11904 1.70075e-18) (2.01199 3.18502 4.28768e-18) (1.92898 3.27932 0) (1.81408 3.37737 0) (1.60946 3.34545 -2.35826e-18) (1.28213 3.02688 4.68323e-18) (0.897623 2.37708 -3.51468e-18) (0.620053 1.73735 1.12902e-17) (0.357876 1.34403 -7.31169e-18) (0.199506 1.06251 6.13411e-18) (2.60265 -2.22966 -2.44821e-19) (3.65685 -2.08095 6.94315e-19) (3.35284 -2.23047 -3.29633e-18) (3.21746 -2.23759 -2.61382e-18) (3.11587 -2.18124 2.69876e-18) (3.09886 -2.14067 -2.87145e-18) (3.11904 -2.0799 1.70075e-18) (3.18502 -2.01199 4.28768e-18) (3.27932 -1.92898 0) (3.37737 -1.81408 0) (3.34545 -1.60946 -2.35826e-18) (3.02688 -1.28213 4.68323e-18) (2.37708 -0.897623 -3.51468e-18) (1.73735 -0.620053 1.12902e-17) (1.34403 -0.357876 -7.31169e-18) (1.06251 -0.199506 6.13411e-18) ) ; } So i think the problem maybe happened in the postprocessing step, not in the solver MRFSimpleFoam. After the simulation stopped, i executed the following commands: foamMeshToFluent . cyclicMixerVessel2D foamDataToFluent . cyclicMixerVessel2D then the above pictures were made by FLUENT, and the jumps occured. anyone can tell me where the problem was? regards zhaolj |
sorry, i made a mistake. there
sorry, i made a mistake. there was a pressure jump at the cyclic boudary too.
|
Hi, David and everyone.
i f
Hi, David and everyone.
i found the solution. it is a bug in version 1.4.1 which i am working on. http://www.cfd-online.com/OpenFOAM_D.../126/5850.html when i replaced "OpenFOAM-1.4.1/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C" with the one supplied by Henry Weller, no jump occurs at the cyclic boundary, and the 1/4 piece result matches very well with the one of cycle region. thank you ! http://www.cfd-online.com/OpenFOAM_D...ges/1/8005.jpg |
Sorry, I gave you the wrong li
Sorry, I gave you the wrong link. But you have found what I meant :-)
|
Hello,
Actually I am trying t
Hello,
Actually I am trying to run a Fluent Generated Mesh case using MRFSimpleFoam (my application is impeller in a tank with baffles very similar to mixerVessel2D but the outer cylinder's dimension is bigger than the inner one). But when I try to compile it, I am getting the following errors (very similar to the one that has been reported in this discussion forum): /*---------------------------------------------------------------------------*\ | ========= | | | \ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \ / O peration | Version: 1.4.1 | | \ / A nd | Web: http://www.openfoam.org | | \/ M anipulation | | \*---------------------------------------------------------------------------*/ Exec : MRFSimpleFoam ./ impeller Date : Jun 12 2008 Time : 15:43:01 Host : linux-02 PID : 18936 Root : /home/ang/OpenFOAM/ang-1.4.1/run/tutorials/MRFSimpleFoam/ Case : impeller Nprocs : 1 Create time Create mesh for time = 0 Reading field p Reading field U Reading/calculating face flux field phi Selecting incompressible transport model Newtonian Selecting turbulence model laminar --> FOAM FATAL ERROR : cannot find MRF patch rotor From function Foam::MRFZone::MRFZone(const fvMesh& , const dictionary&) in file cfdTools/general/MRF/MRFZone.C at line 86. FOAM exiting Actually I tried doing cellSet (successful) and setstoZones (unsuccessful, it basically complains of the some missing file called wallcells...). It would be great if I can get help to run this case successfully. Thanks. Anand |
Hi everybody!
I will validat
Hi everybody!
I will validate my case with MRFsimpleFoam, but I get a strange. I have one nonOrthogonal element... I added the gravity force in the solver but the result still very bad. The same mesh work good with Fluent6.3. you find my case here and thanks for your help. |
Hi everybody!
I will validat
Hi everybody!
I will validate my case with MRFsimpleFoam, but I get a strange. I have one nonOrthogonal element... I added the gravity force in the solver but the result still very bad. The same mesh work good with Fluent6.3. you find my case here and thanks for your help. |
Hi everybody!
I will validat
Hi everybody!
I will validate my case with MRFsimpleFoam, but I get a strange. I have one nonOrthogonal element... I added the gravity force in the solver but the result still very bad. The same mesh work good with Fluent6.3. you find my case here and thanks for your help. |
You can download this case fro
|
Hi Danielle,
I've downloaded
Hi Danielle,
I've downloaded your case and the only thing that I can object is that although you ask for kEpsilon turbulence model, you set turbulence off. In my opinion, this is why you get an asymmetric velocity distribution in your solution. If you set turbulence on, then this is how the solution looks after 400 iterations: http://www.cfd-online.com/OpenFOAM_D...ges/1/9614.jpg I hope this is helpful, Dragos |
Thanks Dragos for your intere
Thanks Dragos for your interest,
I already tried with turbulence on, but it diverge after 9 iterations ! have you change other things? ---------------------- Time = 9 smoothSolver: Solving for Ux, Initial residual = 0.414047, Final residual = 0.0125807, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.774418, Final residual = 0.00930591, No Iterations 2 smoothSolver: Solving for Uz, Initial residual = 0.349594, Final residual = 0.00896896, No Iterations 2 GAMG: Solving for p, Initial residual = 1, Final residual = 31.5247, No Iterations 1000 GAMG: Solving for p, Initial residual = 0.60274, Final residual = 0.0233148, No Iterations 2 GAMG: Solving for p, Initial residual = 0.999192, Final residual = 0.000139628, No Iterations 1 GAMG: Solving for p, Initial residual = 0.918478, Final residual = 0.0121946, No Iterations 1 GAMG: Solving for p, Initial residual = 0.792618, Final residual = 0.00782516, No Iterations 1 time step continuity errors : sum local = 3.82222e+89, global = 1.26894e+74, cumulative = 1.26894e+74 smoothSolver: Solving for epsilon, Initial residual = 1, Final residual = 4.84359e+30, No Iterations 1000 smoothSolver: Solving for k, Initial residual = 1, Final residual = 1.41188e-16, No Iterations 2 bounding k, min: -2.89079e+55 max: 2.92153e+127 average: 3.10906e+122 ExecutionTime = 103.27 s ClockTime = 180 s |
Hello again Danielle,
It is v
Hello again Danielle,
It is very strange that it diverges so fast. It still runs on my computer even after 2800 iterations: http://www.cfd-online.com/OpenFOAM_D...ges/1/9619.jpg I'm using OpenFOAM-1.4.1-dev. What are you using? Maybe after I finish all the 5000 iterations I will put it on the wiki as a nice example... if you agree. Dragos |
...and the pressure after 5000
|
Hello again Dragos,
In the fi
Hello again Dragos,
In the first it's a good idea to put this case on the wiki as a example :-) I'm using OpenFOAM-1.4.1 and OpenFOAM-1.5 download from the http://www.opencfd.co.uk/openfoam/download.html what do you mean by -dev ?? is it another version ? how can get it ? NB: I like the stream line !! I can't do it. |
Now I try to recompile the ve
Now I try to recompile the version 1.4.1-dev. It cost a lot of time ...
Can you tel me what's the difference for the MRF implementation between this version and 1.5. It's very strange that my case diverge with 1.4.1 and 1.5 but not with 1.4.1-dev as mentionned above by Dragos??? Thanks |
Hello Danielle,
I'm not aware
Hello Danielle,
I'm not aware of any difference in the MRFSimpleFoam solver, between those versions. However, I did some small modifications to your setup files. One for instance is switching on the turbulence in constant/turbublenceProperties. Some other are in system/fvSolution. All the differences in the fvSolution file come from the fact that in OpenFOAM-1.4.1-dev there are no implicit defined values (according to Hrv), so you have to specify all the necessary options. This is why I got a running case and you didn't. I tried the 1.4.1 version with your case, but having this fvSolution instead: http://www.cfd-online.com/OpenFOAM_D...hment_icon.gif fvSolution It worked at least the first 18 iterations without any problems. I hope this is helpful, Dragos |
Hi Dragos,
with the same mod
Hi Dragos,
with the same modification it run only the 4 iterations and diverge. if I mahke turbulence off it work but the result is very bad !! I hope to resolve this problem! I have not succeded to compile 1.4.1-dev http://www.cfd-online.com/OpenFOAM_D...lipart/sad.gif --------- version 1.4.1 Starting time loop Time = 1 smoothSolver: Solving for Ux, Initial residual = 1, Final residual = 0.0219844, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 1, Final residual = 0.0224696, No Iterations 2 smoothSolver: Solving for Uz, Initial residual = 1, Final residual = 0.0211405, No Iterations 2 GAMG: Solving for p, Initial residual = 1, Final residual = 0.0468348, No Iterations 5 GAMG: Solving for p, Initial residual = 0.673131, Final residual = 0.0102878, No Iterations 2 GAMG: Solving for p, Initial residual = 0.0760988, Final residual = 0.00309761, No Iterations 2 GAMG: Solving for p, Initial residual = 0.0186959, Final residual = 0.00069648, No Iterations 3 GAMG: Solving for p, Initial residual = 0.00616283, Final residual = 0.000306048, No Iterations 2 time step continuity errors : sum local = 0.00134537, global = 3.76801e-18, cumulative = 3.76801e-18 smoothSolver: Solving for epsilon, Initial residual = 0.050018, Final residual = 0.00229752, No Iterations 2 bounding epsilon, min: -31.614 max: 11145.1 average: 39.4265 smoothSolver: Solving for k, Initial residual = 1, Final residual = 0.0926464, No Iterations 2 ExecutionTime = 4.83 s ClockTime = 5 s Time = 2 smoothSolver: Solving for Ux, Initial residual = 0.554542, Final residual = 0.0478937, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.569828, Final residual = 0.0495053, No Iterations 2 smoothSolver: Solving for Uz, Initial residual = 0.57678, Final residual = 0.0482794, No Iterations 2 GAMG: Solving for p, Initial residual = 0.851186, Final residual = 0.0365313, No Iterations 2 GAMG: Solving for p, Initial residual = 0.633769, Final residual = 0.0229999, No Iterations 2 GAMG: Solving for p, Initial residual = 0.359745, Final residual = 0.0177159, No Iterations 2 GAMG: Solving for p, Initial residual = 0.106486, Final residual = 0.00306774, No Iterations 4 GAMG: Solving for p, Initial residual = 0.0431512, Final residual = 0.0021308, No Iterations 2 time step continuity errors : sum local = 0.0322882, global = -1.03471e-16, cumulative = -9.97035e-17 smoothSolver: Solving for epsilon, Initial residual = 0.0161207, Final residual = 0.000744167, No Iterations 2 bounding epsilon, min: -6.24393 max: 21495.4 average: 76.4378 smoothSolver: Solving for k, Initial residual = 0.91095, Final residual = 0.0454208, No Iterations 2 ExecutionTime = 7.96 s ClockTime = 9 s Time = 3 smoothSolver: Solving for Ux, Initial residual = 0.251846, Final residual = 0.0204955, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.250968, Final residual = 0.0204949, No Iterations 2 smoothSolver: Solving for Uz, Initial residual = 0.123233, Final residual = 0.00961137, No Iterations 2 GAMG: Solving for p, Initial residual = 0.894017, Final residual = 0.0364758, No Iterations 3 GAMG: Solving for p, Initial residual = 0.385103, Final residual = 0.0130242, No Iterations 2 GAMG: Solving for p, Initial residual = 0.105777, Final residual = 0.00524001, No Iterations 3 GAMG: Solving for p, Initial residual = 0.0356128, Final residual = 0.00101145, No Iterations 4 GAMG: Solving for p, Initial residual = 0.0102751, Final residual = 0.000496442, No Iterations 3 time step continuity errors : sum local = 0.0179467, global = 3.56831e-17, cumulative = -6.40204e-17 smoothSolver: Solving for epsilon, Initial residual = 0.0245249, Final residual = 0.00132025, No Iterations 2 bounding epsilon, min: -7.51668 max: 54431.7 average: 136.557 smoothSolver: Solving for k, Initial residual = 0.0502388, Final residual = 0.00403868, No Iterations 2 ExecutionTime = 11.28 s ClockTime = 12 s Time = 4 smoothSolver: Solving for Ux, Initial residual = 0.136687, Final residual = 0.00884054, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.139049, Final residual = 0.00936171, No Iterations 2 smoothSolver: Solving for Uz, Initial residual = 0.0763141, Final residual = 0.0049499, No Iterations 2 GAMG: Solving for p, Initial residual = 0.659499, Final residual = 0.0324916, No Iterations 3 GAMG: Solving for p, Initial residual = 0.295368, Final residual = 0.0110679, No Iterations 2 GAMG: Solving for p, Initial residual = 0.0693061, Final residual = 0.00207471, No Iterations 4 GAMG: Solving for p, Initial residual = 0.0215861, Final residual = 0.000810994, No Iterations 3 GAMG: Solving for p, Initial residual = 0.0058221, Final residual = 0.000244605, No Iterations 3 time step continuity errors : sum local = 0.00615604, global = 7.36455e-17, cumulative = 9.62512e-18 smoothSolver: Solving for epsilon, Initial residual = 0.00728371, Final residual = 0.000434512, No Iterations 2 bounding epsilon, min: -15.4742 max: 71860.5 average: 211.005 smoothSolver: Solving for k, Initial residual = 0.0141166, Final residual = 0.000618886, No Iterations 2 ExecutionTime = 14.61 s ClockTime = 16 s Time = 5 smoothSolver: Solving for Ux, Initial residual = 0.0613413, Final residual = 4.07658e-06, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.368884, Final residual = 0.0109739, No Iterations 2 smoothSolver: Solving for Uz, Initial residual = 0.40229, Final residual = 0.0119589, No Iterations 2 GAMG: Solving for p, Initial residual = 0.502816, Final residual = 0.0193722, No Iterations 3 GAMG: Solving for p, Initial residual = 0.994737, Final residual = 0.0316806, No Iterations 3 GAMG: Solving for p, Initial residual = 0.231567, Final residual = 0.00704651, No Iterations 2 GAMG: Solving for p, Initial residual = 0.0409088, Final residual = 0.00166323, No Iterations 3 GAMG: Solving for p, Initial residual = 0.0155019, Final residual = 0.000753901, No Iterations 2 time step continuity errors : sum local = 5.40986e+07, global = -1.85347e-08, cumulative = -1.85347e-08 smoothSolver: Solving for epsilon, Initial residual = 1, Final residual = 0.0118739, No Iterations 4 smoothSolver: Solving for k, Initial residual = 1, Final residual = 0.00940916, No Iterations 4 ExecutionTime = 17.83 s ClockTime = 19 s |
Hmmmm, you're right,
Try with
Hmmmm, you're right,
Try with this: http://www.cfd-online.com/OpenFOAM_D...hment_icon.gif fvSolution |
Thanks for your help
It worke
Thanks for your help
It worke :-) now 50 iter 51 iter 52 ... I will see after that the result and tell you if it's the same thing with Fluent... many thanks for your precious time. |
Hi Dragos,
I would like to th
Hi Dragos,
I would like to thank you for your help. It gives a good results. Now I can try with my solver twoPhaseEulerFoamMRF. good day |
All times are GMT -4. The time now is 21:26. |