<div dir="auto"><div style="font-family:sans-serif;font-size:13.696px" dir="auto"><div style="margin:16px 0px"><div><div class="elided-text"><div dir="ltr">Hi people, <div><br></div><div>I am trying to define curl of a vector field in yt, but first I needed to see if correct derivatives are taken at the boundary. I am starting with a mock data set and followed yt tutorial:</div><div><br></div><div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><div>import yt</div><div>from yt import YTArray</div><div>import numpy as np</div><div><br></div></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px">posx = np.linspace(-1.0,1.0,12)<br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><div>posy = np.linspace(-1.0,1.0,12)</div><div>posz = np.linspace(-1.0,1.0,12)</div></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px">X, Y, Z = np.meshgrid(posx, posy, posz, indexing='ij') # From gradient output, yt seems to use ij indexing<br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px">psi = X<br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><div>data_dict = {"psi":(psi,'kg/cm**3'),</div><div>            "number_of_particles":12,</div><div>            "particle_position_x":(posx, 'kg/cm**3'),</div><div>            "particle_position_y":(posy, 'kg/cm**3'),</div><div>            "particle_position_z":(posz, 'kg/cm**3')}</div><div><br></div><div>bbox = np.array([[-1.0, 1.0], [-1.0, 1.0], [-1.0, 1.0]])</div></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px">y  = yt.load_uniform_grid(data_dict<wbr>,domain_dimensions=(12,12,12),<wbr>bbox=bbox)<br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px">grad_fields = y.add_gradient_fields(("stream<wbr>","psi"))<br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><br></div><div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px">ad = y.all_data()</div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px">print( ad["psi_gradient_x"] )</div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px">print( ad["psi_gradient_y"] )</div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px">print( ad["psi_gradient_z"] )</div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px">Output:</div><div><div><font color="#212121" face="wf_segoe-ui_normal, segoe ui, segoe wp, tahoma, arial, sans-serif, serif, emojifont"><span style="font-size:15px">yt : [INFO     ] 2017-05-17 19:40:16,410 Parameters: current_time              = 0.0</span></font></div><div><font color="#212121" face="wf_segoe-ui_normal, segoe ui, segoe wp, tahoma, arial, sans-serif, serif, emojifont"><span style="font-size:15px">yt : [INFO     ] 2017-05-17 19:40:16,410 Parameters: domain_dimensions         = [12 12 12]</span></font></div><div><font color="#212121" face="wf_segoe-ui_normal, segoe ui, segoe wp, tahoma, arial, sans-serif, serif, emojifont"><span style="font-size:15px">yt : [INFO     ] 2017-05-17 19:40:16,411 Parameters: domain_left_edge          = [-1. -1. -1.]</span></font></div><div><font color="#212121" face="wf_segoe-ui_normal, segoe ui, segoe wp, tahoma, arial, sans-serif, serif, emojifont"><span style="font-size:15px">yt : [INFO     ] 2017-05-17 19:40:16,411 Parameters: domain_right_edge         = [ 1.  1.  1.]</span></font></div><div><font color="#212121" face="wf_segoe-ui_normal, segoe ui, segoe wp, tahoma, arial, sans-serif, serif, emojifont"><span style="font-size:15px">yt : [INFO     ] 2017-05-17 19:40:16,412 Parameters: cosmological_simulation   = 0.0</span></font></div><div><font color="#212121" face="wf_segoe-ui_normal, segoe ui, segoe wp, tahoma, arial, sans-serif, serif, emojifont"><span style="font-size:15px">[-5.45454545 -5.45454545 -5.45454545 ..., -5.45454545 -5.45454545</span></font></div><div><font color="#212121" face="wf_segoe-ui_normal, segoe ui, segoe wp, tahoma, arial, sans-serif, serif, emojifont"><span style="font-size:15px"> -5.45454545] kg/cm**4</span></font></div><div><font color="#212121" face="wf_segoe-ui_normal, segoe ui, segoe wp, tahoma, arial, sans-serif, serif, emojifont"><span style="font-size:15px">[ 0.  0.  0. ...,  0.  0.  0.] kg/cm**4</span></font></div><div><font color="#212121" face="wf_segoe-ui_normal, segoe ui, segoe wp, tahoma, arial, sans-serif, serif, emojifont"><span style="font-size:15px">[ 0.  0.  0. ...,  0.  0.  0.] kg/cm**4</span></font></div></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px">Now my question is, since psi(x,y,z) = x, the gradient should be (1,0,0)...and it is everywhere except the boundaries of the box. Can you please explain to me what is going wrong here? I don't </div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px">   think YT is interpreting the bbox and grid points as I am.</div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><br></div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px">Best</div><div style="color:rgb(33,33,33);font-family:'wf_segoe-ui_normal','segoe ui','segoe wp','tahoma','arial',sans-serif,serif,'emojifont';font-size:15px"><br></div></div></div></div></div></div></div><div style="height:0px"></div></div><br></div>