On Thursday, July 30, 2015, Bili Dong firstname.lastname@example.org wrote:
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:
- Add several common kernel functions besides the current one.
- 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.
- 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!