Initial N-body data support

#11 Merged at d000eb4
  1. MattT

This pull request includes initial support for reading OWLS (SPH) data off disk.

This includes reading OWLS data, creating an in-memory octree, and selecting sub-regions. Essentially, all quantitative analysis. It does not include density estimators or fluid deposition. There is still a considerable amount of work to do.

However, now this script can be executed:

Also, I have reconsidered the way that particle types are read, and I will be making some changes to the other frontends. I want to remove the distinction between reading by type and reading all, and make one a special case of the other.

UPDATE 1: To fix merge conflict.

UPDATE 2: Vector fields get passed through correctly now.

UPDATE 3: Adding initial tests for the particle octree. Also identified a nasty indexing bug and found a good (but yet unexplored) location for improving memory consumption of particle octrees.)

Comments (4)

  1. MattT author

    For what it's worth, I think the main reasons to hold off on accepting:

    • Tests for particle octree need to be written
    • YTEP for SPH/N-body support needs to be written
  2. MattT author

    I think this is ready to go, modulo testing that my change to line 149 of oct_container.pyx does not change results for @sleitner ; Sam, does this need to be changed?

    ind[i] = <np.int64_t> ((pp[i] - self.DLE[i])/dds[i])

  3. Nathan Goldbaum

    Since SPH support is till fully in development and in flux, and Matt has added tests, I'm going to accept. Thanks for all your hard work on this Matt! This looks like a great base for better support for SPH codes.