2D smoothing length prescription
Hi,
In 2D simulations, the smoothing length s_{sm}
should be around \epsilon H
with \epsilon \approx 0.6
in order to reproduce 3D simulations, for example https://ui.adsabs.harvard.edu/abs/2012A%26A...541A.123M/abstract.
The way the code is now, the input for the smoothing length is given in units of Hill radius r_{Hill}
rather than vertical disk thickness H
. This means that the input
Disk true
{
[...]
Smoothing
{
Change false
Flat true
Size X
Taper 0.
}
results in a smoothing length s_{sm} = X r (q/3)^{1/3} = (X (q/3)^{1/3} 1/h)\times H
, q=m_{pl}/M_*
.
Thus when one has multiple planets of different masses, it is not possible at the moment to keep s_{sm}=0.6 H
for each planet, because of the dependence in q
.
Would it be possible to have a smoothing length value X
that is different for each planet?
Or even better, would it be possible to set the smoothing length in units of H = h r
, so that one can set s_{sm}=0.6 H
once and for all, for 2D simulations?
One way to do the second option, and keep backwards compatibility, would be to have an optional parameter in the Smoothing
inputs called SmoothingType
. If it is left unspecified this parameter is set to RocheSmoothing
by default, and the smoothing is controlled in the same way as it is now (which I understand is better for 3D simulations), but it can also be set to ThicknessSmoothing
, in which case one can set
Disk true
{
[...]
Smoothing
{
Change false
Flat true
SmoothingType ThicknessSmoothing
Size epsilon
Taper 0.
}
and get s_{sm}=\epsilon \times H
. If the ThicknessSmoothing
smoothing option is not a good one for 3D simulations, one could even have a check that if the disk is 3D and Flat
is set to false
, then the code does not accept SmoothingType ThicknessSmoothing
, or it throws a warning to the user.