danieljprice / phantom

Phantom Smoothed Particle Hydrodynamics and Magnetohydrodynamics code
https://phantomsph.github.io
Other
94 stars 204 forks source link

Better default settings for shock capturing parameters + disc viscosity / GI discs etc #549

Open danieljprice opened 1 month ago

danieljprice commented 1 month ago

Aim of this issue is to fix some misinterpretations of shock capturing parameters needed in SPH, namely choices of linear and non-linear shock parameters (alpha_AV and beta_AV).

Following several conversations on this, the proposal is to:

The main application where this matters is for simulations of self-gravitating discs, but also for warped discs or other disc applications where one desires a careful control of alpha_SS

alisonkyoung1 commented 1 month ago

Is there a reason to make beta_AV variable rather than keeping it fixed? Is this to get alpha_SS really low or to do with simulating material colliding with discs? Shocks within discs will be pretty slow, right. Please can there still be the option to fix beta_AV in the parameter file? Fwiw, I find it confusing to use the same parameter to set alpha_AV / alpha_SS .

danieljprice commented 1 month ago

The issue is with setting beta_av less than 2 at a shock, this just causes the shock capturing to fail (meaning the particles penetrate each other at the shock). In other words, it's not a free parameter. However if the desire is to reduce dissipation away from shocks then coupling beta to alpha is ok, because it would be 2 at a shock. What is not ok is to set beta=0.2 everywhere as already demonstrated in Meru & Bate (2012).

What we need to do is separate the issue of "setting a desired alphaSS" from shock capturing. The latter needs to work independently of the former, and should not be switched off. However it is perfectly fine to put a floor on viscosity in order to represent a desired disc viscosity (it just should not be a cap)