Cavitation around NACA hydrofoil using interPhaseChangeFoam
Hello!
I would like to simulate cavitation around NACA hydrofoil using interPhaseChangeFoam and realizable k-eps model of turbulence. Unfortunately, experiment and numerical results does not match. In case of the numerical results, the cavitation cloud is much more longer than in reality. The volume of the cloud is transient, on the other hand there is no significant separation during the period of the cavitation cloud development. I'm still quite new in openFoam and this is my first multiphase simulation, therefore I'm not very familiar with numerical schemes. The dictionaries are attached to the message. I will appriciate any advices. Thank you very much ;) fvSolution Code:
/*--------------------------------*- C++ -*----------------------------------*\ Code:
/*--------------------------------*- C++ -*----------------------------------*\ Code:
/*--------------------------------*- C++ -*----------------------------------*\ |
Hi,
Have you solved your problem? I'm facing the same problem. I'm simulating NACA66 foil using interPhaseChangeFoam by LES. However, the resulting pressure is too low , which causes a cavitation cavity along the whole foil. Also, the pressure will increase to a value of about 10e7 Pa sometimes, while the pressure is about 2300Pa at most time:( |
Hi you two,
although it seems to me pretty heuristically... have you tried different transport models, e.g. SchnerrSauer, Merkle, Kunz and tried different coefficients? regards Alex |
Quote:
Haven't yet. This is my first cavitation calculation in OF, so I just use almost the same setting in the cavitatingBullet tutorial, eg. boundary condition, fvscheme, fvsolution. It's strange that the pressure along the foil is around 2300Pa, the saturation pressure at most time, with some randomly large pressure value sometimes.Here is my understanding about interPhaseChangeFoam: 1\ the reference pressure is 0 by default, so that the pressure in the calculation is the absolute pressure 2\ if the gravity is not included, g should be set to (0 0 0) I think numerical schemes and solution methods should not affect the result so much, maybe the reason is somewhere else, for example , the boundary condition. As I look into the cavitatingBullet, the pressure condition on the wall is set to be fixedFluxPressure, and the velocity condition at outlet is set to be pressureInletOutletVelocity, however, the same phenomenen appears whether I use the above conditions or use the normal condition, zeroGradient. Could you please give me some advice? Xianbei |
p { margin-bottom: 0.25cm; line-height: 120%; } Hello,
I had a lot of other work, so I had to stop computations of the cavitation around the hydrofoil. I came back home from abroad two weeks ago and I start to simulate partial cavitation in the converging-diverging nozzle (venturi tube) considering realizable k-eps model of turbulence and kunz model of mass transfer. At the moment it seems much more promissing, but in fact I have noticed the same problem with severe pressure shocks. I'm trying to find some information about this issue and to make some database of computations capturing influence of the basic modifications of the simulation (i.e. temporal discretization 1e-6 s to 5e-6 s and mesh refinement) in the same time. I thing that there are two suspicious in this case. The first one is bounday reflexion and the second one was mentioned on this page by M.Dular few years ago (problem with the numerical speed of sound??... I'm not sure) Could we stay in touch? I can post some results during the next week, if you want. Have a nice weekend :) P.S. The same problem with the pressure shocks occures in the Fluent in case of the transient cavitation. |
Quote:
The first thing I considered was the boundary conditions. So I ran a steadyState case with k-epsilon model using simpleFoam, with the same pressure and velocity conditions in the cavitating case. http://www.cfd-online.com/Forums/mem...cavitation.jpg As can be seen, the pressure along the foil is resonable. Today, I use the steady result as the initial condition in the cavitating case, however, it's so strange that the pressure is almost not changed as in the noncavitating case with no cavitation occurs:((PIMPLE is used with a residual control for p_rgh) I'll post my new findings as soon as there are. PS: by the way, could you please post your boundary conditions and fvSchemes and fvSolution? Or if convenient, you can send these through email, znhuang@163.com Xianbei Edit 1: I found that the algorithm used in the pressure-velocity coupling affect the result, leading to two different results. If the PIMPLE is used by setting nOuterCorrectors to 10 or else with a residual control, then the cavitation will disappear after certain time, while if PISO mode is turned on (nOuterCorrectors =1), the cavitation is everywhere along the foil ! Edit 2: Another thing I found is that the time scheme used will significantly affect the result. it seems that the first order Euler scheme performs much more reasonable than backward and CrankNicholson, additionally, CrankNicholson crashed after a short time. I'm confused and wondering whether interPhaseChangeFoam is suitable Also, no matter how large the pressure is given at outlet, if the second order time scheme is used, the pressure along the foil are all around the saturation pressure |
Hi,
I will post some results and dictionaries tomorrow. I'm not at the university today :). If you want, you can download some animation of the cavitation in the nozzle using following link: (Kunz) http://leteckaposta.cz/538378633 I'm really glad that I found somebody to share the experinces with OpenFoam in both dorections, thanks :) Have a nice day Jiří. P.S. I noticed the same problem with the higher order of the temporal discretization when I was trying to simulate cavitation around hydrofoil. |
Hi, glad again to receive your reply.
In fact, I have spent a terrible day in trying different pressure values at outlet and the numerical schemes:eek: I have changed my geometry to 2D with k-epsilon model to quickly know all the changes' influence on the result. As I have mentioned, the time scheme affect the result so much. This makes me more confused. I have performed lots of simulations using single phase solver in OF and didn't experience such a strange fact. I'll keep on working tomorrow. Edit: I start a thread to describe my problem more clearly http://www.cfd-online.com/Forums/ope...tml#post550422, you can take a look at it and see if there is anyone who can give us some suggestions |
Hello,
I started with multiphase simulations in OpenFoam right after I managed to make some tutorials, so I'm not very experineced at all. I'm really sorry but there was some problem with my simulations, so I had to start again yesterday. I'm trying to do transient simulation of the cavitating flow in the full 3D geometry, so it is quite time consuming process. I can share some result from last week at the moment. In the following charts you can see comparison of the pressure fluctuations using two different time steps (1e-6 and 5e-6 s) http://img21.rajce.idnes.cz/d2103/11.../CFD.jpg?ver=0 You can see severe pressure shocks in the downstream pipe, but the shock are quite damped in the difusser. In case of higher cavitation number, where the cavitation in the diffuser is not so significant the shocks have higher amplitude. I'm using quite simmilar dictionaries as I post at the beginning of this thread. controlDict: Code:
/*--------------------------------*- C++ -*----------------------------------*\ Code:
/*--------------------------------*- C++ -*----------------------------------*\ Code:
/*--------------------------------*- C++ -*----------------------------------*\ Code:
/*--------------------------------*- C++ -*----------------------------------*\ |
well, it seems that the timestep size will affect the result. As seen, the pressure shock tends to reduce with the increasing time step size.
Have you checked the Courant number? Is it resonable if large time step size is used? Another point I'd like to figure out is the Code:
momentumPredictor yes; Anyway, I would try your settings to restart my simulation. I'll try different time step size by using PIMPLE instead of PISO. Good luck to our simulations:) |
I have figured out why PIMPLE and PISO get different performance. The reason is that in the origin code (OF-2.3.0), interPhaseChangeFoam.C
Code:
if (pimple.firstIter() || alphaOuterCorrectors) So I recompile this by commenting the if condition You can see the bug fix here: https://github.com/OpenFOAM/OpenFOAM...c7396809f308ef Now they performs similar, but the performance is still not good at noncavitating condition, the pressure at the leading edge is too low. |
Hi,jiri:
Have you solve the excessive pressure during the calculation? Recently, I got acceptable results in cavitating flow ,while the excessive pressure still occurs. As I said in the previous post, I found some bugs in OF-2.3.0 which made me thought that the official version maybe not suitable for cavitating flow calculation. So I turned to the extend version. I installed openfoam-extend-3.1 and tested my 2D case under noncavitating condition. The results are very good. So I ran my 3D case using LES also in noncavitating condition and got good results too (no excessive pressure occurs). However, if I ran it in cavitating condition, it occured again:( I'm thinking this to be caused by the instability of the solver rather than anything else, just like the noise signal detected in the experiment. Therefore, I'd rather regard it as a noise. So I deleted the pressure signals which are 2 times larger than the average and did a smothing operation. The result seems reasonable. In conclusion, the pressure signal may include noise, and we should do some filtering operations to it to analysis the phenomenen better . |
Hello Huang,
I'm in Berlin right now. So I will send you my results next Tuesday. I can say that in case of higher cavitation number the frequency of vortex rings separation was quite reasonable. With the lower cavitation number the frequency was significantly higher compared to the experimental data. Unfortunately I did not solve the problem with pressure shocks. What about some chat or skype session next week? I'm really sorry that I can't give you more useful information at the moment. Have a nice day.:) Best regards, Jiří |
Quote:
That's the same problem with me. I'm not sure if skype works well in China, I'll try it. I'm going to travelling for a few days and come back next week:) See you next week. Xianbei |
Hi!
I'm really sorry, but I had no time last week. I have finished a set of simulations considering constant discharge 7 l/s and 3E-5 s length of timestep. Value of the pressure was recorded using three probes, all of them were near the wall (apx. 0.3 mm) of the domain. First one was located in the midle of the difusser, second one 3 mm behind the diffuser and third one 130 mm behind the difusser. Value of the pressure was captured every timestep. I tried to compare the results of simulations with experimental measurement and high speed video analysys (figure). http://img21.rajce.idnes.cz/d2103/11..._FFT.jpg?ver=0 Sorry, text in picture is in czech language. So: Yellow = experiment, red = video analysis, blue = openFoam. You can see that there is significant difference between experimental and numerical results in case of lower cavitation numbers. On the other hand the numerical results match quite accuratively the experimental data in the region of higher cavitation number. What about you? Best regards, Jiř |
Quote:
In fact, the problem is the same. http://www.cfd-online.com/Forums/mem...cavi50wdsm.jpg As seen, this is the pressure coefficient along the suction side of the hydrofoil under low cavitation number, significant discrepancy can be seen. In your result, the frequency is smaller than the exp, which is contrary to my case, because the cavity sheading frequency in my case tends to be larger than the exp, as shown following: http://www.cfd-online.com/Forums/mem...ture717-c5.jpg This is a comparison of the pressure fluctuation at x/c=0.4 on the suction side. If we look at this result, it seems more or less that OpenFOAM's result is reasonable, and the discrepancy may be attributed to the cavitation model or turbulence model, or the mixture assumption in the two-phase modeling. What's your opinion? PS: I used the Kunz model and found that some coefficients should be set according to the case to be modeled. ie. UInf and tInf, I'm running a case which adopts the new coefficients, the result should come out in two days and I will study it to see if there is any influence. Xianbei |
Hi,
Yep, I downloaded the article written by Kunz. Change of the coefficients t_inf and U_inf had quite significant influence on the results. Another problem was that there was negative pressure in domain (which is nonsense due to absolute formulation of p in case of interPhaseChangeFoam). I had to increase value of the Cv coefficient, but I didn't found any further information about that so I think that this is pure empiric problem. The original value was 1000 (I think), new value is 10000 and the lowest in the domain is about 1500Pa, which is still too low. The value of p_sat is 2400 Pa (20 °C), I think that it should be nearly the lowest pressure (at least it was when I did some computations using Fluent an incompressible solver). The second picture is capturing the whole computation, or only its part? I think, that you shoud wait litle bit more longer. I have tried to use finer mesh, but in my case the results were worse (more noisy FFT) so I decided to use coarser mesh (0.9 vs 1.5 M of hexahedral cells) By the way, the pressure fluctuations depicted in my previous post were obtained using the first probe (in the diffusser), results from the second one were much more noisy and the third one was completely useless. Have a nice day, Jiří P.S. Could you share your dictionaries? I have got some experimental data of NACA profile which were done in our department, so we can make some comparison. |
Hi, so quick reply!
1\Another problem was that there was negative pressure in domain (which is nonsense due to absolute formulation of p in case of interPhaseChangeFoam) Hmm, your problem seems strange, the lowest pressure should be around the saturation pressure if cavitation model is applied. I have no idea about that. 2\ I had to increase value of the Cv coefficient, but I didn't found any further information about that so I think that this is pure empiric problem. Yes, this is an emperical constant and hard to decide, so I didn't change it (1000), while I remember that in Kunz's paper, the two are set to 100 3\ Change of the coefficients t_inf and U_inf had quite significant influence on the results. This is case dependent. U_inf is the free stream velocity and t_inf=L/U_inf, L is the chord length in my case. 4\The second picture is capturing the whole computation, or only its part? It's the pressure pulsation at 1 point at x/c=0.4, the calculation shows significant periodicity, so at this stage, it's enough for me, while for further research, longer time is required. 5\I have tried to use finer mesh, but in my case the results were worse I use 0.5 million elements in my case, which is mesh converged. 6\Could you share your dictionaries? Which "dictionaries" do you mean? the fvSolution or something else? Xianbei |
Hi!
1\ Yes, I know, that it is really strange. 2\ Sorry for my formulation, I mean set up of reference case which I found, not the original coefficients from the article. 3\ - 4\ Ok, but are you sure, that the solution is converged, in my case it lasts few periods until the frequency of vortex rings separation become more or less constant. 5\- 6\ Yes, I meant fvSolution, fvSchemes and condrolDictionary plus the whole constant folder. Question: I want to make singlephase simulation for the comparison of the additional vorticity which is produced in the phases interface region. It is possible to turn off mass transfer using interphaseChangeFoam (like in fluent, you can turn off mass transfer equation and get fully wetted solution) or it is necessary to use another solver (pimpleFoam)? Thanks. Have a nice day. Best regards, Jiří |
2 Attachment(s)
4/ That's a question, in fact, the first two cycles show some differences from the following. So I have to run for longer time
Attachment 40860 Attachment 40861 Here is the files. The Kunz model is modified according to"Cavitating flow around a 2D hydrofoil using a user modified version of interPhaseChangeFoam" I think you can just run a case under noncavitating condition because the volume fraction of water is always equal to 1. Xianbei |
Thanks.
Of course, but I want to make single phase simulation of the flow with multiphase condition, to compute the aditional vorticity which is introduced by the cavitation under the same condition. |
2 Attachment(s)
Dear All,
I am retrieving similar strange behaviour using InterPhaseChangeFoam as it is posted in this treatment. And I would like to know if some one can help me or give some tips to solve it. The case what I am running is a 3D geometry of a Globe Valve in a pressure drive condition. I have run the case with following pressure drops: - No Cavitation Condition (According to experimental results) DP = 0.7, 0.8 and 1.0 bar (Pin = 1.62, 1.74 and 1.98 bar) - Cavitation Condition (According to experimental results) DP = 1.5 and 1.8 bar (Pin = 2.1, 2.5, 3 bar) The cavitation model using here is Schneer-Sauer, n = 1e+14, dNuc = 1e-05, Cc =1; Cv =1 The problem is that in all of the cases there are several cells with negative pressure (fluctuating around 0), what is no physical when absolute pressure at inlet and outlet is used. In any case I get less value than saturation pressure (3500 Pa), even when I did not expect cavitation. Normally, the negative pressure (or pressure below the saturation pressure) is located at the ring intersection between pipe and the globe valve, as is shown in this figure: https://www.dropbox.com/s/gwywsu4pjr...eDp07.png?dl=0 https://www.dropbox.com/s/gwywsu4pjr...eDp07.png?dl=0 Firstly, I was using the interPhaseChangeFoma of OF-2.3.0 which give a high negative pressure, of order of -200000 Pa Then, changing some lines in the code, I am retrieving better results but still negative ( order of -2500 Pa) as you can see in the next figure: https://www.dropbox.com/s/jqdq8j0juk...-Pmin.png?dl=0 https://www.dropbox.com/s/jqdq8j0juk...-Pmin.png?dl=0 The changes in code are: 1. phaseChangeTwoPhaseMixture.C in line 105 Code:
Foam::tmp<Foam::volScalarField> 2. alphaEqnSubCycle.H in line 31 Code:
else 3. UEqn.H Code:
/* VERSION 2.1.1*/ if (pimple.momentumPredictor()) The set-up of the case is: BOUNDARY CONDITIONS p_rgh Inlet → TotalPressure Outlet → fixedPressure Wall → fixedFluxPressure U Inlet → pressureInletVelocity Oultet → zeroGradient Wall → fixedFluxPressure Turbulence Model kOmegaSST ControlDict Adaptative time step → Co = 0.9 (PISO mode with nCorr = 4) maximum yPlus < 3 I attach the system file for more information. Attachment 41829 I will be very greatful if some can help me in order to obtain more physical results using this solver. Kind Regards, |
Hi,
Can you post some log-output? |
Hi Philipp,
Thank you for replying me. Here you have time steps of my log. There is extra information (as min max pressure) from the implementation of solver introduced above: Code:
|
Hi Daniel. I don't see anything unusual right now.
Some ideas: 1) Please read henry's first comment about limiting of gradient schemes: http://www.openfoam.org/mantisbt/view.php?id=1410#c3246 So you should not do that in your fvSchemes 2) Did you test the solver with some safe settings, such as first order upwind divergence schemes and so on? 3) Did you run your loop with much more pressure cycles? Now you run 4, but with let's say 8? Even your log doesn't look suspicious, I once had a problem due to too high residuals... You will probably also need to reduce tolerance of the solver then. 4) I don't know the solver you use... do you know 100% that this is actually absolute pressure? |
Thank you Philipp,
I try three different set-up according with your comments: 1) Using the scheme grad(p) Gauss linear; 2) Using upwin in div schemes 3) Using 8 pressure correctors in PISO Here you have a figure representing the minimum pressure in this three cases. https://www.dropbox.com/s/9vc02ca43p...ssure.png?dl=0 https://www.dropbox.com/s/9vc02ca43p...ssure.png?dl=0 All of them give similar minimum pressure and always negative. I am realy confusing what can be happen. Trying to understand what can be happen, I would like to ask you if the turbulence model can have influence on this behaviour. I am using kOmegaSST with y+ ~ 1. Using nut = nutLowReWallFunction; k =kLowReWallFunction; omega = omegaWallFunction, to use kOmegaSST in lowRe mode. Also I try with nut = nutUSpaldingWallFunction as is indicated in this bug on the official OpenCFD bug tracker http://www.openfoam.org/mantisbt/view.php?id=179#c351. By the way, I know that you develop a turbulence model kOmegaSST in lowRe model. Did you validated? Do you think that is apropiate to use in my case? Thank you in advance. |
Daniel,
First of all: As I understand it your solver it is uncompressional. So it doesn't matter if the pressure goes below zero. Am I right? Secondly: I just implemented the Fluent version of low-Re SST into openFoam. Yes, I think I get the same results as in Fluent. I use it for all low-Re cases. |
non cavitating simulation using InterPhaseChangeFoam
Hello all,
I've been simulating a cavitation model on Naca66 airfoil using InterPhaseChangeFoam solver, and I'm pretty new to this. I was getting abrupt pressure fluctuations over my internal field and was getting very unsatisfactory Cp values for the simulation. So I wanted to check if my model is correct or not. For this i thought of using the same solver and same setup except the cavitation model. I was using the SchnerrSauer cavitation model and set all its coefficients to zero. But it didn't work. Can anyone help me through this ? |
Daniel,
I know this post has been a few years old. Just wondering what was your conclusion and solution in the end? Thanks, Rdf |
All times are GMT -4. The time now is 13:05. |