about alternative kernel functions

Hi all, Currently in yt, only the default cubic spline kernel function is provided and used for the smoothing. I’m thinking about adding more kernel functions, providing the possibility to choose from them and also the possibility for the users to provide their own ones. In my own research, a quintic spline kernel is used, for example. So I guess this functionality might also be useful for other users. My current plan goes like this: 1. Add several common kernel functions besides the current one. 2. Build a naming system. 3. Put a kwarg in appropriate places to pass the name of the kernel function. For now, I’m thinking about put it in the ParticleSmoothOperation class as a parameter of __init__. 4. Reserve a special kwarg value which can be used to pass the user-provided kernel functions. I’m not much experienced with yt. So correct me if there are any mistakes or omissions! Any suggestions are much appreciated! Thanks, Bili

On Thursday, July 30, 2015, Bili Dong <qobilidop@gmail.com> wrote:
Hi all,
Currently in yt, only the default cubic spline kernel function is provided and used for the smoothing. I’m thinking about adding more kernel functions, providing the possibility to choose from them and also the possibility for the users to provide their own ones. In my own research, a quintic spline kernel is used, for example. So I guess this functionality might also be useful for other users.
My current plan goes like this: 1. Add several common kernel functions besides the current one. 2. Build a naming system.
Maybe these choices could be visible to the user via a field name? We already let people do that for different local deposition methods (e.g. ("deposit", "all_density") versus ("deposit", "cic_density")). Perhaps the "default" smoothing kernel used for the 'gas' field type in the SPH frontend a could be configurable? That way users could use their preferred smoothing either by using the appropriate detailed field name ("PartType0_quintic_smoothed_density", just as an for example) or by using plain old ("gas", "density"), but relying on the rc configuration option to control the smoothing kernel.
3. Put a kwarg in appropriate places to pass the name of the kernel function. For now, I’m thinking about put it in the ParticleSmoothOperation class as a parameter of __init__. 4. Reserve a special kwarg value which can be used to pass the user-provided kernel functions.
I’m not much experienced with yt. So correct me if there are any mistakes or omissions! Any suggestions are much appreciated!
Thanks, Bili _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org <javascript:;> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org

Hi Bili, This is awesome, and I am really impressed you've already issued a PR with an implementation along with a YTEP. I think your plan sounds good, and I will provide feedback on both the PR and the YTEP. I think this type of thing is going to be very useful. -Matt On Thu, Jul 30, 2015 at 7:49 PM, Bili Dong <qobilidop@gmail.com> wrote:
Hi all,
Currently in yt, only the default cubic spline kernel function is provided and used for the smoothing. I’m thinking about adding more kernel functions, providing the possibility to choose from them and also the possibility for the users to provide their own ones. In my own research, a quintic spline kernel is used, for example. So I guess this functionality might also be useful for other users.
My current plan goes like this: 1. Add several common kernel functions besides the current one. 2. Build a naming system. 3. Put a kwarg in appropriate places to pass the name of the kernel function. For now, I’m thinking about put it in the ParticleSmoothOperation class as a parameter of __init__. 4. Reserve a special kwarg value which can be used to pass the user-provided kernel functions.
I’m not much experienced with yt. So correct me if there are any mistakes or omissions! Any suggestions are much appreciated!
Thanks, Bili _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org

Thank you, Matt! I'm looking forward to your advice :) -Bili On Aug 3, 2015 1:43 PM, "Matthew Turk" <matthewturk@gmail.com> wrote:
Hi Bili,
This is awesome, and I am really impressed you've already issued a PR with an implementation along with a YTEP. I think your plan sounds good, and I will provide feedback on both the PR and the YTEP. I think this type of thing is going to be very useful.
-Matt
Hi all,
Currently in yt, only the default cubic spline kernel function is
On Thu, Jul 30, 2015 at 7:49 PM, Bili Dong <qobilidop@gmail.com> wrote: provided and used for the smoothing. I’m thinking about adding more kernel functions, providing the possibility to choose from them and also the possibility for the users to provide their own ones. In my own research, a quintic spline kernel is used, for example. So I guess this functionality might also be useful for other users.
My current plan goes like this: 1. Add several common kernel functions besides the current one. 2. Build a naming system. 3. Put a kwarg in appropriate places to pass the name of the kernel
function. For now, I’m thinking about put it in the ParticleSmoothOperation class as a parameter of __init__.
4. Reserve a special kwarg value which can be used to pass the user-provided kernel functions.
I’m not much experienced with yt. So correct me if there are any mistakes or omissions! Any suggestions are much appreciated!
Thanks, Bili _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
participants (3)
-
Bili Dong
-
Matthew Turk
-
Nathan Goldbaum