Tons of fixes in python binder. Loadgadget slightly more verbose

This commit is contained in:
Guilhem Lavaux 2014-05-31 08:43:22 +02:00
parent f4187185a7
commit 5d3b56bfcb
4 changed files with 104 additions and 24 deletions

View file

@ -1,2 +1,57 @@
from _cosmotool import *
from borg import read_borg_vol
class SimulationBare(PySimulationBase):
def __init__(self):
pass
def getPositions(self):
return self.positions
def getVelocities(self):
return self.velocities
def getIdentifiers(self):
return self.identifiers
def getTime(self):
return self.time
def getHubble(self):
return self.Hubble
def getBoxsize(self):
return self.boxsize
def getOmega_M(self):
return self.Omega_M
def getOmega_Lambda(self):
return self.Omega_Lambda
def simpleWriteGadget(filename, positions, boxsize=1.0, Hubble=100, Omega_M=0.30, time=1, velocities=None, identifiers=None):
s = SimulationBare()
s.positions = positions
if velocities:
s.velocities = velocities
else:
s.velocities = [np.zeros(positions[0].size,dtype=np.float32)]*3
if identifiers:
s.identifiers = identifiers
else:
s.identifiers = np.arange(positions[0].size, dtype=np.int64)
s.Hubble = Hubble
s.time = time
s.Omega_M = Omega_M
s.Omega_Lambda = 1-Omega_M
s.boxsize = boxsize
writeGadget(filename, s)

View file

@ -11,16 +11,8 @@ import glob
class BorgVolume(object):
def __init__(self, density, ranges):
self._density = density
self._ranges = ranges
property density:
def __get__(self):
return self._density
property ranges:
def __get__(self):
return self._ranges
self.density = density
self.ranges = ranges
def build_filelist(fdir):
#builds list of all borg density fields which may be distributed over several directories