|
[Sponsors] |
September 16, 2010, 03:35 |
Free jet simulation
|
#1 |
Member
MSarkar
Join Date: Dec 2009
Posts: 99
Rep Power: 16 |
Hello Foamers,
I am trying to simulate a heated air jet dispersion in an open area. The heated air is coming out from a pipe leak ( leak diameter 1cm) with a velocity of 135 m/s and a temperature of 100 C. In this case, the Mach-number is around 0.4 which is mildly compressible flow. So, I was using rhoSimpleFoam and rhoPImpleFoam. I tried several boundary conditions and mesh sizes but with out any success. The results do not look reasonable. As initial case I am considering a 2D rectangular geometry. Could you please suggest me which solver I should use? The mesh and boundary file and one set of used boundary conditions are attached here. If you have any suggestions regarding boundary conditions, Please let me know. Any help would be very much appreciated. top: alphat: type calculated epsilon: type inletOutlet; inletValue uniform 0.01; value uniform 0.01; k: { type inletOutlet; inletValue uniform 0.1; value uniform 0.1; } mut: type calculated; p: { type fixedValue; value uniform 100000; } T: { type zeroGradient; value uniform 333; } U: { type pressureNormalInletOutletVelocity; //type slip; phi phi; rho rho; value uniform (0 0 0); } bottom: alphat: type calculated epsilon: type inletOutlet; inletValue uniform 0.01; value uniform 0.01; k: { type inletOutlet; inletValue uniform 0.1; value uniform 0.1; } mut: type calculated; p: { type fixedValue; value uniform 100000; } T: { type zeroGradient; value uniform 333; } U: { type pressureNormalInletOutletVelocity; //type slip; phi phi; rho rho; value uniform (0 0 0); } inlet: alphat: type calculated epsilon: { type compressible::turbulentMixingLengthDissipationRate Inlet; mixingLength 0.0005; // 0.01*0.05 value uniform 0.01; } k: { type turbulentIntensityKineticEnergyInlet; intensity 0.05; value uniform 0.1; } mut: type calculated; p: { type zeroGradient; value uniform 100000; } T: { type fixedValue; value uniform 373; } U: { type fixedValue; value uniform (135.74 0 0); } outlet: alphat: type calculated epsilon: { type inletOutlet; inletValue uniform 0.01; value uniform 0.01; } k: { type inletOutlet; inletValue uniform 0.1; value uniform 0.1; } mut: type calculated; p: { type fixedValue; value uniform 100000; } T: { type zeroGradient; value uniform 333; } U: { type inletOutlet; phi phi; rho rho; value uniform ( 0 0 0 ); inletValue uniform ( 0 0 0 ); } lowerleft: alphat: type alphatWallFunction; Prt 0.85; value uniform 0; epsilon: { type compressible::epsilonWallFunction; Cmu 0.09; kappa 0.41; E 9.8; value uniform 0.01; } k: { type compressible::kqRWallFunction; value uniform 0.1; } mut: { type mutWallFunction; Cmu 0.09; kappa 0.41; E 9.8; value uniform 0; } p: { type fixedValue; value uniform 100000; } T: { type zeroGradient; value uniform 333; } U: { type fixedValue; value uniform (0 0 0); } upperleft: alphat: type alphatWallFunction; Prt 0.85; value uniform 0; epsilon: { type compressible::epsilonWallFunction; Cmu 0.09; kappa 0.41; E 9.8; value uniform 0.01; } k: { type compressible::kqRWallFunction; value uniform 0.1; } mut: { type mutWallFunction; Cmu 0.09; kappa 0.41; E 9.8; value uniform 0; } p: { type fixedValue; value uniform 100000; } T: { type zeroGradient; value uniform 333; } U: { type fixedValue; value uniform (0 0 0); } frontAndBack: For all variables it is empty. |
|
August 6, 2014, 13:28 |
Boundart conditions
|
#2 |
Member
James
Join Date: Jul 2013
Posts: 38
Rep Power: 13 |
Hi foamer,
Just wondering if you ever solved your boundary conditions problems? So you maybe please post your working "0" folder? I am currently trying to simulate a high pressure hydrogen release into the open atmosphere and am struggling to select the correct boundary conditions. Top / left / right / front / back faces of the domain all open to the atmosphere. Bottom surface is ground (wall). I am using OpenFoam 2.3.0 and reactingFoam (with chemistry switched off) as my solver. Kind regards, James |
|
August 11, 2014, 16:47 |
|
#3 |
New Member
Joao
Join Date: Aug 2014
Posts: 14
Rep Power: 12 |
Did you manage to solve the problem? Could you please post the solution? If possible, including the files. I'm trying to reproduce exactly the same right now, and I'm facing this beginners problems.
Appreciate it. Joćo |
|
August 12, 2014, 07:30 |
|
#4 |
Member
James
Join Date: Jul 2013
Posts: 38
Rep Power: 13 |
Dear Joao,
I'm not sure if you comment was directed at me, however I will comment. Unfortunately I am still in the process of trying to solve my problems around the boundary condition settings (which I have learned that OpenFoam in particular is very sensitive to). My case is a 3D simulations, essentially the domain is a rectangular box. (And is summarised in the cross-section shown below).
Could someone please comment on what I should select for: alphat, epsilon, H2, O2, N2, k, mut, p, T, U for this setup. The difficulty here (I guess) is the boundaries cannot be considered as strictly inlets and outlets but may change due to entrainment due to the jet for example. I am using reactingFoam with chemistry and combustion switched off (this is H2 release and dispersion only) and am currently running on OpenFoam 2.3.0 Any comments would be most appreciated. Kind regards, James |
|
August 12, 2014, 13:30 |
|
#5 |
New Member
Joao
Join Date: Aug 2014
Posts: 14
Rep Power: 12 |
Hello James.
I believe your understanding and problem's complexity are quiet beyond mine, so I'm not sure I can help much, since I started one week ago. But from yours and msarkar posts, I understood that you have similar objectives (somehow), from which I could maybe learn something from. I'm basing my development in mainly two examples from OF, which are "prism", using sonicFoam, and also pitzDaily, using rhoPimpleFoam solver. I created my volume and mesh using gmsh, and I'm basically running the pitzDaily simulation on top of my mesh. My objective is to have something like this: (link) But so far, I only managed to have this: (attached) ss00.jpg I appreciate any help. Practical or theoretical, on how to achieve those results. Like I said, my boundary conditions are the same from the example pitzDaily. Best, Joćo |
|
August 20, 2014, 05:46 |
|
#6 |
Senior Member
|
Hi,
For the "Open Atmosphere" boundaries I would use: p: totalPressure U: pressureInletOutletVelocity k/H2/O2/epsilon/T: inletOutlet mut/alphat/N2: calculated Regards, Tom |
|
August 20, 2014, 06:53 |
|
#7 |
Member
James
Join Date: Jul 2013
Posts: 38
Rep Power: 13 |
Dear Tom,
Thank you for responding. May I ask: 1) Why do you have N2 set as 'calculated' rather than 'inletOutlet'? 2) Have you successfully completed a simulation which is similar to the one which I previously described in the 4th post of this thread? Kind regards, James |
|
August 20, 2014, 07:25 |
|
#8 |
Senior Member
|
Dear James,
Let me answer you: 1. The reason I suggested "calculated" is due to the fact that the mass fraction of all species should not be larger than 1, using calculated makes N2=1-(O2+H2), assuming your inert species is N2. If you are prescribing it to be only air, you could also use inletOutlet, both should work, I just prefer calculated. 2. Well I have performed similar simulations in the sense that I have had multi-species simulations and simulations with an open atmosphere, but not combined in one simulation. I did however have a multi-species simulation where my outlet was close to a sharp edge, so I used "open atmosphere" boundary conditions for this outlet in order to be able to cope with backflow. The simulation ran fine. Regards, Tom |
|
August 20, 2014, 13:39 |
|
#9 |
New Member
Joao
Join Date: Aug 2014
Posts: 14
Rep Power: 12 |
Dear Tom, thanks for your reply. It actually worked out for me. I'm able to simulate the entire time-span without a crash, and the flows is actually leaving through the outlet. But some initial waves are still reflected by the outlet, what I dont understand why (figure).
Also, what would you suggest to make the jet more turbulent? I've been playing with the inlet shape, but I still can not get a turbulent flow, like this http://upload.wikimedia.org/wikipedi...s/f/fb/Jet.jpg Thanks for your help. Best, Joćo reflection.jpg |
|
August 20, 2014, 13:50 |
|
#10 |
Member
James
Join Date: Jul 2013
Posts: 38
Rep Power: 13 |
Dear Joao,
I am glad that you simulation is now running without crashing. Could you please further expand on your statement: "But some initial waves are still reflected by the outlet, what I dont understand why (figure)". By this statement do you mean that initially (early stages of the simulation only) there is some reflection, but then as the simulation continues these reflections die away and your boundaries (following the settings kindly supplied by Tom) then act as they should: i.e. open and non-reflecting or are you seeing multiple reflections from the boundary with these "open atmosphere" settings? Kind regards, James |
|
August 20, 2014, 14:00 |
|
#11 |
Member
James
Join Date: Jul 2013
Posts: 38
Rep Power: 13 |
Regarding your turbulence query, I'm curious what are your boundary condition settings for k and epsilon?
If you are not already you could try: for k = turbulenceIntensityKineticEnergyInlet for epsilon = compressible::turbulentMixingLengthDissipationRate Inlet I could give you an example of how to set these inlet boundaries if you require? Kind regards, James |
|
August 20, 2014, 14:08 |
|
#12 |
New Member
Joao
Join Date: Aug 2014
Posts: 14
Rep Power: 12 |
Hi James, thanks for your reply.
From my understanding, what is happening is: the flows' start generates some pressure waves, that propagates faster then the air mass, and this waves are reflected back by the outlet boundaries. This pressures waves are reflected back to the air mass, and are attenuated, until it becomes an overall background pressure fluctuation only. In the other hand, the air mass is able to flow "through" the outlet. I seems that I had to be more specific in setting up the pressure outlets. Figure illustrates the flows' start, where part of the pressure wave was already reflected (left half of the jet), and the other half is still propagating to the right outlet. Let me know if there is still anything unclear. Best, Joćo |
|
August 20, 2014, 14:17 |
|
#13 |
New Member
Joao
Join Date: Aug 2014
Posts: 14
Rep Power: 12 |
"I could give you an example of how to set these inlet boundaries if you require?"
Dear James, I would appreciate that. I'm not exactly sure how to do so. Here is my values: k: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type fixedValue; value uniform 2e-05; } outlet { type inletOutlet; inletValue uniform 0; value uniform 0; } tube { type fixedValue; value uniform 0; } lowerWall { type fixedValue; value uniform 0; } frontAndBack { type empty; } } // ************************************************** *********************** // T: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 0 0 1 0 0 0]; internalField uniform 300; boundaryField { inlet { type fixedValue; value uniform 300; } outlet { type inletOutlet; inletValue uniform 300; value uniform 300; } tube { type fixedValue; value uniform 300; } frontAndBack { type empty; } } // ************************************************** *********************** // U: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { inlet { type turbulentInlet; referenceField uniform (300 0 0); fluctuationScale (0.02 0.01 0.01); value uniform (300 0 0); } outlet { type pressureInletOutletVelocity; inletValue uniform (0 0 0); value uniform (0 0 0); } tube { type fixedValue; value uniform (0 0 0); } lowerWall { type fixedValue; value uniform (0 0 0); } frontAndBack { type empty; } } // ************************************************** *********************** // alphaSgs: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 -1 -1 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type zeroGradient; } outlet { type calculated; } tube { type zeroGradient; } lowerWall { type zeroGradient; } frontAndBack { type empty; } } // ************************************************** *********************** // muTilda: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 -1 -1 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type fixedValue; value uniform 0; } outlet { type calculated; inletValue uniform 0; value uniform 0; } tube { type fixedValue; value uniform 0; } lowerWall { type fixedValue; value uniform 0; } frontAndBack { type empty; } } // ************************************************** *********************** // muSgs: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 -1 -1 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type zeroGradient; } outlet { type calculated; } tube { type zeroGradient; } lowerWall { type zeroGradient; } frontAndBack { type empty; } } // ************************************************** *********************** // |
|
August 20, 2014, 14:19 |
|
#14 |
Member
James
Join Date: Jul 2013
Posts: 38
Rep Power: 13 |
You may want to look that the following papers, the simulations carried out in these seem to be applicable to you work:
V. Vuorinen et al. "Large-eddy simulation on the effect of injection pressure and density on fuel jet mixing in gas engines", Fuel, 130 (2014) 214-250 V. Vuorinen et al. "Large-eddy Simulation of Subsonic Jets", Journal of Physics: Conference Series 318 (2011) 032052. |
|
August 20, 2014, 14:24 |
|
#15 |
New Member
Joao
Join Date: Aug 2014
Posts: 14
Rep Power: 12 |
Great papers, I would definitely take a look.
Thanks a lot. i missed posting p: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 -1 -2 0 0 0 0]; internalField uniform 1e5; boundaryField { inlet { type zeroGradient; } outlet { type totalPressure; value uniform 1e5; p0 uniform 1e5; U U; phi phi; rho rho; psi none; gamma 1.4; } tube { type zeroGradient; } lowerWall { type zeroGradient; } frontAndBack { type empty; } } // ************************************************** *********************** // |
|
August 20, 2014, 14:39 |
|
#16 |
Member
James
Join Date: Jul 2013
Posts: 38
Rep Power: 13 |
Looking at your boundary conditions, in your previous posts are you not including all you "open" boundaries. You seem to have only one outlet set following the settings from Tom. Have you only included one of them for brevity?
I am a little confused trying to relate your boundary settings to the pictures you have attached. How many "open" boundary conditions exist in you case? Could you label them on your attached pictures? __________________________________________________ _____ For example in my simulations I am setting k and epsilon as follows: Say we have an inlet velocity of 10 m/s, we assume a turbulent intensity of 3 % For k we have: k = (3/2)*(10*0.03)^2 = 0.135 For epsilon we have: epsilon = ((0.09)^(3/4))*(((0.135)^(3/2))/0.00154) = 5.2951 0.09 = turbulence model constant 0.00154 = length scale = 0.07*pipe diameter (in my case 0.022 m) This translates into the following initial settings for k and epsilon: k: type = turbulentIntensityKineticEnergyIntet; intensity = 0.03; value = uniform 0.135; epsilon: type = compressible::turbulenceMixingLengthDissipationRat eInlet; mixingLength = 0.00154; value = uniform 5.29251; This is following my understanding (which I hope is correct). Kind regards, James |
|
August 20, 2014, 14:48 |
|
#17 |
New Member
Joao
Join Date: Aug 2014
Posts: 14
Rep Power: 12 |
I think it was more like for bravest... Actually, I'm only using:
inlet outlet tube frontAndBack which are: __________outlet______ outlet | | | | inlet |==tube | | | outlet outlet | | ____________________ outlet "lowerWall" is only resilient text. Was it clear? |
|
August 20, 2014, 14:53 |
|
#18 |
New Member
Joao
Join Date: Aug 2014
Posts: 14
Rep Power: 12 |
|
|
August 21, 2014, 10:47 |
|
#19 |
New Member
Joao
Join Date: Aug 2014
Posts: 14
Rep Power: 12 |
Hello James.
I took a look at the papers you suggested. I understood that a new solver was developed to their needs, right? What they called Runge-Kutta-4... So, I'm not really sure how this could help me, since what they claim is that the actual solver can not give a proper solution to what they expect. I did not read it fully, but more practical details would be required so I can use their work to develop mine. Right? The main problem here is: My PhD is on embedded systems, more specifically in real time sensor networks. Because of that, I would use a CFD simulation to feed my virtual sensor network, in order to show how distributed processing can be applied to "real" data. With that I mean, fluid dynamics is not my background at all, and I'm nos supposed to spend much time with it, since its just an aside of my research. What do you think I should go for? Thanks again! Cheers, Joćo |
|
August 21, 2014, 11:02 |
|
#20 |
Member
James
Join Date: Jul 2013
Posts: 38
Rep Power: 13 |
What I meant by providing these papers to you was more to refer to the set up of the inlet rather than the solver being used, i.e "the injection system is modeled using a simple gas injector through which the jet is accelerated using a pressure gradient".
the injector starts at z/D = -77 and the fluid exits into the chamber at z/D = 0 You mentioned before that you wished to turbulise the jet, using this method along with LES (rather than RAS) may help with this. This was what I was referring to. Hope that is clear. Kind regards, James |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Jet fan and Tunnel simulation | ahlo7 | CFX | 9 | November 13, 2019 05:54 |
turbulent jet simulation | antonio_ing | OpenFOAM Running, Solving & CFD | 5 | September 16, 2010 03:31 |
CFX bubble simulation with free surface model | adma | CFX | 6 | February 3, 2006 12:17 |
Moving Jet Simulation | psen | Siemens | 2 | November 4, 2001 21:23 |
air jet simulation | Yue zou | Main CFD Forum | 0 | September 28, 1998 09:30 |