CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   FLUENT (https://www.cfd-online.com/Forums/fluent/)
-   -   Fluent & Barotropic EOS (https://www.cfd-online.com/Forums/fluent/120625-fluent-barotropic-eos.html)

fivos July 11, 2013 03:32

Fluent & Barotropic EOS
 
1 Attachment(s)
Hi to all,

I am trying to implement a barotropic model in Fluent 14.5 using UDFs, for the simulation of water cavitation.

For those who may not know, a barotropic model uses a stiff equation of state, relating pressure to density. An indicative graph of the pressure=f(density) is shown in the attached barotropic_EOS.jpg. As you can see there are three distinct regions (beginning from low density and going towards high density):
- Pure vapor, for which I have used a simple isentropic law
p = C * rho ^ gamma
- Liquid / Water mixture, where pressure is constant (in practice I have used a small variation in pressure for numerical reasons)
- Pure liquid, where the Tait equation of state is used:
p = B * ((rho/rho0)^n -1) + pref

It is easy to understand that there are numerical difficulties with this equation of state, since there is a huge density variation for a small pressure variation at saturation condition. For that reason, I initially tried to use the density based solver of Fluent, since it is able to naturally handle large density variation.

Unfortunately, both solvers (pressure and density based) require the EOS written as density = f(pressure), which means that I had to modify the EOS introducing a small variation in pressure during saturation, in order to be possible to express rho=f(p).

I cannot understand why the density based solver needs the EOS in such a form, since it is supposed to solve for density, energy and momentum and, using the results, to calculate pressure.

Both solvers had serious convergence difficulties, however I think that the issues in the density-based solver come from the way the EOS is treated (rho=f(p), instead of p=f(rho)).

So I would like to ask:
- is there any possibility to implement an EOS with pressure as function of density (instead of the opposite which is by default in fluent)?
- has anyone else done something similar, so we may discuss on the implementation details?
- Is there any other (commercial or open source) code which you suggest to implement the model?


P.S. If someone wants, I may share the UDF; however in its current form, it does not work.


All times are GMT -4. The time now is 06:33.