define a general derived field from other fields
Hi all, I'm currently trying to find a way to define a clumping factor by giving this formula (for unigrid simulation no AMR): def _HIIClumpingFactorParts(data): square_HIIdensity = (data["HII_Density"]**2).sum() sum_HIIdensity = (data["HII_Density"]).sum() return square_HIIdensity, sum_HIIdensity def _HIIMultiplyParts(data, square_HIIdensity, sum_HIIdensity): return data.quantities["TotalQuantity"]("Ones")[0]*square_HIIdensity.sum()/sum_HIIdensity.sum()**2 add_quantity("HIIClumpingFactor", function=_HIIClumpingFactorParts, combine_function=_HIIMultiplyParts, n_ret = 2) I was wondering how I can generalize this formula to be used with different fields if I want to say get the clumping factor of HI_Density, or HeI_Density, Dark_Matter_Density etc? From G.S.
Silly me, I just had to add what's passed into _HIIClumpingFactorParts as (data, field) then from yt.mods import * pf=load("DD0273/DD0273") dd=pf.h.all_data() field="Density" dd.quantities["HIIClumpingFactor"](field) did the trick. Didn't seem this obvious at the time when I sent the email. From G.S.
Hi all,
I'm currently trying to find a way to define a clumping factor by giving this formula (for unigrid simulation no AMR):
def _HIIClumpingFactorParts(data): square_HIIdensity = (data["HII_Density"]**2).sum() sum_HIIdensity = (data["HII_Density"]).sum() return square_HIIdensity, sum_HIIdensity
def _HIIMultiplyParts(data, square_HIIdensity, sum_HIIdensity): return data.quantities["TotalQuantity"]("Ones")[0]*square_HIIdensity.sum()/sum_HIIdensity.sum()**2
add_quantity("HIIClumpingFactor", function=_HIIClumpingFactorParts, combine_function=_HIIMultiplyParts, n_ret = 2)
I was wondering how I can generalize this formula to be used with different fields if I want to say get the clumping factor of HI_Density, or HeI_Density, Dark_Matter_Density etc?
From G.S.
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
Silly me, I just had to add what's passed into _HIIClumpingFactorParts as (data, field) then from yt.mods import * pf=load("DD0273/DD0273") dd=pf.h.all_data() field="Density" dd.quantities["HIIClumpingFactor"](field) did the trick. Didn't seem this obvious at the time when I sent the email. From G.S.
Hi all,
I'm currently trying to find a way to define a clumping factor by giving this formula (for unigrid simulation no AMR):
def _HIIClumpingFactorParts(data): square_HIIdensity = (data["HII_Density"]**2).sum() sum_HIIdensity = (data["HII_Density"]).sum() return square_HIIdensity, sum_HIIdensity
def _HIIMultiplyParts(data, square_HIIdensity, sum_HIIdensity): return data.quantities["TotalQuantity"]("Ones")[0]*square_HIIdensity.sum()/sum_HIIdensity.sum()**2
add_quantity("HIIClumpingFactor", function=_HIIClumpingFactorParts, combine_function=_HIIMultiplyParts, n_ret = 2)
I was wondering how I can generalize this formula to be used with different fields if I want to say get the clumping factor of HI_Density, or HeI_Density, Dark_Matter_Density etc?
From G.S.
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
participants (1)
-
gso@physics.ucsd.edu