Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
danieljprice opened this issue May 23, 2024 · 2 comments

Comments

@danieljprice
Copy link
Owner

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:

  • when using alpha_AV to represent disc_viscosity, this should be implemented as a LOWER bound on alpha_AV, rather than inadvertently switching off the shock capturing (currently can change both alpha_max and alpha_min)
  • make beta_AV a multiple of alpha_AV but ONLY when alpha_AV is allowed to respond properly to shocks (0->1)
  • remove beta_AV from the parameter file to avoid misuse, as is already the case for the GR code
  • should be able to turn off shock capturing for simple tests but with warnings that are clear as to what you are doing
  • implement disc_viscosity as a runtime parameter, not a compile-time parameter (see disc viscosity should be a runtime parameter? #453 )

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
Copy link
Contributor

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
Copy link
Owner Author

danieljprice commented Jun 4, 2024

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants