<p>Hi Elizabeth,</p>
<p>You have to use the ValidateSpatial validator to ensure that the data handed to te subroutine is 3D.</p>
<p>-Matt</p>
<div class="gmail_quote">On Aug 9, 2011 11:50 AM, "Elizabeth Tasker" <<a href="mailto:taskere@mcmaster.ca">taskere@mcmaster.ca</a>> wrote:<br type="attribution">> Hi,<br>> <br>> I have a mystery:<br>
> <br>> Creating a ray via:<br>> <br>>  ray = pf.h.ray( com[c], com[nearestcore])<br>> <br>> and I want to get the effective potential along it, for which I have a <br>> subrountine for. However, yr gets stuck here:<br>
> <br>>  if <a href="http://data.pf">data.pf</a>["HydroMethod"] == 2:<br>>         xvel[0:-1,0:-1,0:-1] = <br>> 0.5*(data["x-velocity"][slice(None,-1,None),0:-1,0:-1]+data["x-velocity"][slice(1,None,None),0:-1,0:-1])<br>
> <br>> <br>> I thought the problem was because a ray is a 1D data set and I was <br>> trying to treat it like a 3D array, but what confuses me is that:<br>> <br>> ray["DivV"]<br>> <br>> works just fine but as the same sort of line within its definition.<br>
> <br>> <a href="http://yt.enzotools.org/doc/reference/field_list.html#divv">http://yt.enzotools.org/doc/reference/field_list.html#divv</a><br>> <br>> To make matters more confusing, if I copy out the definition of DivV <br>
> directly from universal_fields.py and implement it imaginatively as <br>> DivV2, the code doesn't work, giving me:<br>> <br>> /1/home/taskere/yt/scripts/iyt in _DivV2(field, data)<br>>     211         div_fac = 2.0<br>
>     212     ds = div_fac * data['dx'].flat[0]<br>> --> 213     f  = data["x-velocity"][sl_right,1:-1,1:-1]/ds<br>>     214     f -= data["x-velocity"][sl_left ,1:-1,1:-1]/ds<br>>     215     if data.pf.dimensionality > 1:<br>
> <br>> IndexError: too many indices<br>> <br>> <br>> What magic line does yt have to allow DivV to work for a ray?<br>> <br>> Thanks,<br>> <br>> Elizabeth<br>> <br>> _______________________________________________<br>
> yt-users mailing list<br>> <a href="mailto:yt-users@lists.spacepope.org">yt-users@lists.spacepope.org</a><br>> <a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
</div>