Re: Time-dependent artificial viscosity

From: Volker Springel <vspringel_at_MPA-Garching.MPG.DE>
Date: Tue, 10 Aug 2021 19:48:53 +0200

Hi Leonard,

> On 26. Jul 2021, at 22:04, Leonard Romano <> wrote:
> Dear gadget-list members,
> I noticed some possibly major issues with the current implementation of time-dependent artificial viscosity:
> • The decay velocity is computed during the density loop, using Csnd even though Csnd depends on the density that is still to be computed

Right, the decay velocity is estimated using the sound-speeds of the particles from their previous timesteps (the sound-speed is set during initialization, so Csnd is always available before the first viscous forces are computed). This should be fine, I think, and was deliberate at this place, as one only needs an approximate estimate for a reasonable decay timescale, and the viscosity and its evolution is associated with dissipative/irreversible processes.

> • Alpha is integrated during the density loop, which in particular means that it will be integrated in time as many times as loops are necessary to reach a good density estimate. I think that this should be moved somewhere outside the density loop to ensure correct synchronization.

I agree with this. I have moved the corresponding call so that a potential spurious evolution of alpha due to repetitions of the density calculation is avoided. The latter would make the viscosity reach the target viscosity somewhat faster than intended.

> I am worried that with these issues, it might not work as intended. I suggest for the decay velocity to compute it during the force loop and integrating Alpha during the kick operations.

This would certainly be another possibility, but I'm not sure this would make any appreciable difference in practice. Note that the target viscosity jumps discontinuously in time due to the shock indicator, so integrating alpha smoothly in time is arguably less important than responding quickly when the shock indicator triggers. The idea of the present formulation is that in case this happens, the subsequent kick can immediately apply a higher alpha without having to ramp it up first over the timestep of the kick.

In general, there is unfortunately a high degree of arbitrariness in how one evolves (and more generally parameterizes) the artificial viscosity, i.e. there is no perfectly right way of doing it, and one mostly has to rely on test results to establish what works better or worse in practice.


> Best,
> Leonard
> --
> ===================================================
> Leonard Romano, B.Sc.(レオナルド・ロマノ)
> Physics Department
> Technical University of Munich (TUM), Germany
> Theoretical Astrophysics Group
> Department of Earth and Space Science
> Graduate School of Science, Osaka University, Japan
> he / him / his
> ===================================================
> -----------------------------------------------------------
> 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 2021-08-10 19:48:54

This archive was generated by hypermail 2.3.0 : 2022-09-01 14:03:43 CEST