Hi everyone, I'm kind of new to yt and am currently working on creating a set of graphs but am having a bit of difficulty. My goal is to take a list of central points (a set of x,y,z coordinates) and then look at a set of 30 spherical "shells" which surround the central points. So I want to be able to know how much mass is between, say 30 and 60 parsecs away from a certain point (along with 60-90, 90-120, etc.). The problem is, the number of points is absolutely massive, so I need a fairly quick way of finding these values for all the points I'm interested in. I've tried a few tactics already. First I tried going to each point, creating a sphere with that center and the maximum radius. Then I used the center location to set a field parameter, then created a BinnedProfile1D using a "radius" field and the sphere I created, but that seemed to be impractically slow. Next, I tried the somewhat hackish method of for each point, creating a series of 30 spheres with radii corresponding with the boundaries I wanted between the shells. I then used the boolean("NOT") command to construct a series of shells by finding the part of each sphere not in the smaller one. I could then sum over the values in each shell. This seemed to go a bit faster, but I feel like this could use an absolutely massive amount of computation, if I understand how yt works properly. Is there a better way of doing this? Thank you so much for your time, Thomas
participants (3)
-
Britton Smith
-
Matthew Turk
-
Thomas Hansen