added periodic kdtree to partUtil

This commit is contained in:
Paul Matthew Sutter 2014-02-08 11:58:26 +01:00
parent 4c2ab2cce8
commit e728e4a152

View file

@ -26,6 +26,7 @@ import sys
from void_python_tools.backend import *
import void_python_tools.apTools as vp
import pickle
from periodic_kdtree import PeriodicCKDTree
NetCDFFile = Dataset
ncFloat = 'f8'
@ -135,6 +136,27 @@ def loadPartVel(sampleDir):
return partVel
# -----------------------------------------------------------------------------
def getPartTree(sampleDir, partData, boxLen):
with open(sampleDir+"/sample_info.dat", 'rb') as input:
sample = pickle.load(input)
periodicLine = getPeriodic(sample)
periodic = 1.*boxLen
if not "x" in periodicLine: periodic[0] = -1
if not "y" in periodicLine: periodic[1] = -1
if not "z" in periodicLine: periodic[2] = -1
return PeriodicCKDTree(periodic, partData)
# -----------------------------------------------------------------------------
def getBall(partTree, center, radius):
return partTree.query_ball_point(center, r=radius)
# -----------------------------------------------------------------------------
def shiftPart(inPart, center, periodicLine, ranges):