diff --git a/src/hydro/Gadget2/hydro.h b/src/hydro/Gadget2/hydro.h index 997ecaff544de673ef8ac94d37c00243f4c663e0..d8380fe5a3e59298169d21f609b9dbdb3652ab01 100644 --- a/src/hydro/Gadget2/hydro.h +++ b/src/hydro/Gadget2/hydro.h @@ -87,19 +87,21 @@ __attribute__((always_inline)) /* Finish the calculation by inserting the missing h-factors */ p->rho *= ih * ih2; p->rho_dh *= ih4; - p->density.wcount *= (4.0f / 3.0 * M_PI * kernel_gamma3); - p->density.wcount_dh *= ih * (4.0f / 3.0 * M_PI * kernel_gamma3); + p->density.wcount *= (4.0f / 3.0f * M_PI * kernel_gamma3); + p->density.wcount_dh *= ih * (4.0f / 3.0f * M_PI * kernel_gamma3); + const float irho = 1.f / p->rho; + /* Compute the derivative term */ - p->rho_dh = 1.f / (1.f + 0.33333333f * p->h * p->rho_dh / p->rho); + p->rho_dh = 1.f / (1.f + 0.33333333f * p->h * p->rho_dh * irho); /* Finish calculation of the velocity curl components */ - p->density.rot_v[0] *= ih4 / p->rho; - p->density.rot_v[1] *= ih4 / p->rho; - p->density.rot_v[2] *= ih4 / p->rho; + p->density.rot_v[0] *= ih4 * irho; + p->density.rot_v[1] *= ih4 * irho; + p->density.rot_v[2] *= ih4 * irho; /* Finish calculation of the velocity divergence */ - p->div_v *= ih4 / p->rho; + p->div_v *= ih4 * irho; } /**