Re: Barotropic state equation in GADGET

From: Robert Fisher <>
Date: Mon, 19 Jun 2006 11:23:10 -0500 (CDT)

Hi Stanislav :

  As you know, in the barotropic approximation, one has effectively
closed the system using the barotropic equation of state. In other words,
by specifying the pressure and soundspeeds according to the barotropic
EOS, the energy/entropy equation is redundant. Defining ISOTHERM_EQS will
keep the entropy constant, which is certainly one solution to treat the
energy/entropy. However, if the barotropic approximation is properly
implemented, the evolution of density and velocity will be entirely
independent of any values of the energy/entropy take on. An even simpler
procedure is therefore to leave the entropy evolution untouched, and
disregard the entropy output in favor of that defined by the EOS.

  Therefore, the minimal procedure to insert a barotropic EOS is to

  1) Define the barotropic pressure (eg, your GasPressure()
function) once more in the advection and momentum equations (density.c,
hydra.c, and predict.c).

  2) Introduce an effective soundspeed defined by sqrt (dP /drho) in
replacement of the soundspeeds used in hydra.c and timestep.c.

  Note that the second is also crucially important for accuracy and
stability. The remaining definitions of GAMMA & GAMMA_MINUS1, while
no longer accurate for the barotropic EOS, are not significant for the
evolution of density and velocity in non-comoving geometry.



On Mon, 19 Jun 2006, Vinogradov Stanislav wrote:

> Hi,
> I use GADGET for ISM processes modelling, namely
> for simulation of molecular clumps colliding with
> following gas fragmentation. For this aim the
> barotropic equation of state may be used, i.e.
> when pressure depend from density only, not from
> temperature.
> When I used GADGET v 1.1 (serial version as well as
> parallel one), I had been introduce into the code
> new function - float GasPressure(float u, float rho)
> (internal specific gas energy u - for simple
> ideal gas state equation, if it need) and exluded
> blocks with du/dt calculation, by preprocessor's
> directivies.
> But GADGET v 2.0 handle with 'entropy' instead of
> specific internal energy. Therefore I have a small
> question: I think, that it's enough to set ISOTHERM_EQS
> in Makefile and (again) introduce GasPressure() only?
> Am I right?
> With best regards,
> Stanislav Vinogradov.
> ********************************************
> Main Astronomical Observatory
> National Academy of Sciences of Ukraine
> 27, Zabolotnoho St., Kiev, Ukraine.
> e-mail:
> ********************************************
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> with a subject of: unsubscribe gadget-list
> A web-archive of this mailing list is available here:
Received on 2006-06-19 18:21:37

This archive was generated by hypermail 2.3.0 : 2023-01-10 10:01:30 CET