[yt-users] YT analysis questions: cylindrical profile and RMS velocity

Nathan Goldbaum goldbaum at ucolick.org
Sat Feb 4 10:52:20 PST 2012


Hi Junhwan,

You will need to define a cylindrical radius field.  Here's how I've done it in the past (copied from some old messages on the newsgroup from last September):

def _CylinderRadius(field, data):
   center = data.get_field_parameter("center")
   coords = na.array([data['x'] - center[0],
                      data['y'] - center[1],
                      data['z'] - center[2]])
   J = na.zeros(coords.shape)
   if len(coords.shape) == 4:
       J[0,:,:,:] = -1
   else:
       J[0,:] = -1
   JCrossR = na.cross(J,coords,axis=0)
   return na.sqrt(na.sum(na.square(JCrossR),0))
def _ConvertCylinderRadiusCGS(data):
   return data.convert("cm")
add_field("CylinderRadius", function=_CylinderRadius,
         validators=[ValidateParameter("center")],
         convert_function = _ConvertCylinderRadiusCGS, units=r"\rm{cm}")

Note that you need to set the field parameter 'center' before you try to use this field.

I'm not sure if there is a good way to answer your second question.  It's a good bet Kitsuk and Wise did not use yt as it did not exist yet ;)

-Nathan

On Feb 4, 2012, at 10:46 AM, Jun-Hwan Choi wrote:

> Hi YT users,
> 
> I have two questions on the YT analysis:
> 
> First, I would like to make profiles (mass, angular momentum) in the cylindrical coordinate.
> In other world, the profiles depend on r_xy (x-y is the cylinder plane).
> I define disk object and compute Profile as follow:
> > disk = pf.h.disk(center, [0, 0, -1], (100., 'pc'), (1., 'pc'))
> > profile = BinnedProfile1D(disk, 50, 'Radius', smallest_bin, largest_bin, lazy_reader=True)
> ,but I find that Radius is for x,y, and z distance.
> Can I get the cylindrical profile, if I simply make derived field for RadiusXY and replace Radius?
> And does there any RadiusXY kind of field exist?
> 
> Second, I would like to compute the RMS velocity in my disk.
> However, I would like to compute RMS velocity according to local mean velocity (e.g. mean velocity inside 0.1 pc sphere center on a given position), instead of compute according to global mean velocity.
> Is there a routine (or way) to compute the local mean velocity in YT and compute RMS of it?
> I found that some papers with Enzo simulation compute the RMS velocity (such as Kitsuk et al 2007 and Wise et al 2008 although I am not sure whether they use YT or not).
> 
> Thank you in advance,
> Junhwan Choi
> 
> -- 
> --------------------------------------------------------------
> Jun-Hwan Choi, Ph.D.
> Department of Physics and Astronomy, University of Kentucky
> Tel: (859) 897-6737        Fax: (859) 323-2846
> Email: jhchoi at pa.uky.edu   URL: http://www.pa.uky.edu/~jhchoi
> --------------------------------------------------------------
> 
> 
> !DSPAM:10175,4f2d7d1519872718731035! _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
> 
> 
> !DSPAM:10175,4f2d7d1519872718731035!




More information about the yt-users mailing list