# comoving implementation

From: Yves Revaz <yves.revaz_at_obspm.fr>
Date: Thu, 01 Feb 2007 18:17:28 +0100

I'm trying to understand some points in the comoving
implementation of the hydro part of Gadget2.

In "timestep.c" when ComovingIntegrationOn is true,

dt_entr = (tend - tstart) * All.Timebase_interval;
which in fact corresponds to dt_entr = da/a (where a is the scale factor).

Then, the evolution of the entropy is (as for non-comoving simulations)
SphP[i].Entropy += SphP[i].DtEntropy * dt_entr;

SphP[i].DtEntropy is computed in "hydra.c", where we find in
/* do final operations on results */ :
SphP[i].DtEntropy *= GAMMA_MINUS1 / (hubble_a2 * pow(SphP[i].Density,
GAMMA_MINUS1));
which means, that :

SphP[i].DtEntropy)comoving = DEntropy/da
= DEntropy/dt * 1/(H(a) a^2)
= SphP[i].DtEntropy)non-comoving * 1/(H(a) a^2)

Here, I expected to have :
DtEntropy/da = DtEntropy/dt * 1/(H(a))

in order to have then :
SphP[i].DtEntropy * dt_entr = DEntropy/dt * 1/(H(a)) * da/a
= DEntropy

because dt*H(a)*a = da

Probably I missed a point here.

It is also difficult to understand the fac_mu correction in "hydra.c":

1) 0.0001 * soundspeed_i / SphP[i].Hsml / fac_mu
with fac_mu = a^(3/2(GAMMA - 1))/a

Here I expected to find
fac_mu = a^(1/2(GAMMA - 1))/a
in order to write soundspeed_i / SphP[i].Hsml in non-comoving units.

2) mu_ij = fac_mu * vdotr2 / r
is also unclear to me

Another question conserns the
dt_hydrokick factor which corresponds to the integral
Int_a1^a2 da/( H(a)*a*a^3(gamma-1) )
If, following Quinn et al. 97, the origin of dt_gravkick is clear,
I fail to understand the origin of dt_hydrokick.

```--
(o o)
--------------------------------------------oOO--(_)--OOo-------
Yves Revaz
Lerma Batiment A           Tel : ++ 33 (0) 1 40 51 20 79
Observatoire de Paris      Fax : ++ 33 (0) 1 40 51 20 02
77 av Denfert-Rochereau    e-mail : yves.revaz_at_obspm.fr
F-75014 Paris              Web : http://obswww.unige.ch/~revaz/
FRANCE
----------------------------------------------------------------
```