[yt-dev] SPH Smoothing Formulation?

Matthew Turk matthewturk at gmail.com
Thu Sep 8 11:13:37 PDT 2016


On Thu, Sep 8, 2016 at 1:07 PM, Cameron Hummels <chummels at gmail.com> wrote:

> Thanks, Matt and Molly.  Very excited to see the kd-tree formulation that
> Meagan has implemented.  A couple additional questions:
>
>  * Using the chosen SPH kernel (thanks to Bili Dong, we now have cubic,
>> quartic, quintic, wendland2, wendland4, and wendland6), the smoothing is
>> conducted on each cell by looking at all the nearest particles.  This is
>> implemented in the process function on the class VolumeWeightedSmooth in
>> yt/geometry/particle_smooth.pyx
>>
>> What is the default SPH kernel that is used for deposition?  Is it
> frontend specific (and if so, where is it defined for each frontend), or do
> we just use a cubic spline as default?
>

I believe that unless an individual specifies the kernel in adding their
own field, it uses cubic spline.  I have not worked on that aspect of the
code, but perhaps Bili Dong can say.


>
> Also, what value is used for the smoothing length of the particle
> deposition?  I believe most codes already have a smoothing_length field
> defined by the simulation.  Looking in VolumeWeightedSmooth, it seems to
> accept a smoothing_length field for the particles but I don't know if this
> is the simulation-defined field.
>

If a smoothing length field is not provided by the simulation, it uses the
N-th nearest neighbor; you can see this in the setting of hsml to the r2
value of the final particle.


> I may be wrong, but it seems to me that using the simulation-defined
> smoothing_length field is only applicable for the "scatter" deposition
> method.  I thought "gather" recalculates new smoothing lengths to address
> the fact that you may try to sample the fluid quantities a large distance
> away from the nearest particles, who all may have small smoothing lengths
> because of their proximity to each other.  But I may be mixed up here.
>

The SPLASH paper defines the smoothing length to be a minimum computed
between the cell and the smoothing length of the particle.  This is what yt
does, except that we don't use fixed pixel (voxel) sizes, so the min is
never needed.  If the particles have an inherent smoothing length, this is
what is used (for instance, with Gadget datasets).  If they do not (for
instance, Gasoline), the Nth nearest neighbor is used.

A result of this is that if you have a zoom simulation where the particles
have smoothing lengths, if you are outside the maximum smoothing length
distance from a particle in a region where there are no gas particles, the
result is zero, because there are not particles that believe they
contribute to that region.  With a simulation where the formalism is such
that the Nth nearest neighbor defines the smoothing length, the result will
not be zero.


>
> Cameron
>
> --
> Cameron Hummels
> NSF Postdoctoral Fellow
> Department of Astronomy
> California Institute of Technology
> http://chummels.org
>
> _______________________________________________
> yt-dev mailing list
> yt-dev at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-dev-spacepope.org/attachments/20160908/930db2ce/attachment.html>


More information about the yt-dev mailing list