[yt-users] creating gradient of a field as a derived field

Prateek Gupta prateekgidolia at gmail.com
Fri Jun 24 04:40:39 PDT 2016


Hello Turhan,

I am not sure but I think this will work, you can try this...


*ds = yt.load("data_file_Name")*

*grad = ds.add_gradient_fields(("gas","gravitational_potential"))*

*grad *list will have a list of new field names which representing the 3
different components of the field and the magnitude of the gradient , e.g.,
"*gravitational_potential_gradient_x*" , "
*gravitational_potential_gradient_y*" , "
*gravitational_potential_gradient_z*" and "
*gravitational_potential_gradient_magnitude*"

Now for getting the negative gradient of gravitational potential we can
derive field as follows:


*####...x-component of negative of gradient of gravitational potential...*
*def _GradientX(field, data)*
*     Gx = -1.0*data["gravitational_potential_gradient_x"]*
*     return Gx*

*yt.add_field("Gx", function=_GradientX, take_log=False, units="code
length/ code time**2")*

*####...y-component of negative of gradient of gravitational potential...*
*def _GradientY(field, data)*
*     Gy = -1.0*data["gravitational_potential_gradient_y"]*
*     return Gx*
*yt.add_field("Gy", function=_GradientY, take_log=False, units="**code
length/ code time**2**")*

*####...z-component of negative of gradient of gravitational potential...*
*def _GradientZ(field, data)*
*     Gz = -1.0*data["gravitational_potential_gradient_z"]*
*     return Gz*
*yt.add_field("Gz", function=_GradientZ, take_log=False, units="**code
length/ code time**2**")*



Otherwise you can do this also,

*grad = -1.0*ds.add_gradient_fields(("gas","gravitational_potential"))*

I think this will work but this will also make the magnitude negative. But
if you want to use only 3-components then this works and you can access it
, e.g., *data["gravitational_potential_gradient_x"]* and similar for y and
z component.



Please let me know if this work.



Regards
Prateek Gupta
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20160624/948d25a5/attachment.htm>


More information about the yt-users mailing list