Issue #1312: depositing particle velocities in gadget (yt_analysis/yt)

New issue 1312: depositing particle velocities in gadget https://bitbucket.org/yt_analysis/yt/issues/1312/depositing-particle-velocit... Desika Narayanan: Trying to add a deposited particle field from gadget particle velocities (say, gas in this instance; https://paste.yt-project.org/show/6999/ ) returns error: ``` In [1]: run vel_proj yt : [INFO ] 2017-01-17 15:27:33,808 Calculating time from 3.448e-01 to be 1.108e+17 seconds yt : [INFO ] 2017-01-17 15:27:33,808 Assuming length units are in kpc/h (comoving) yt : [INFO ] 2017-01-17 15:27:33,825 Parameters: current_time = 1.10758107325e+17 s yt : [INFO ] 2017-01-17 15:27:33,825 Parameters: domain_dimensions = [2 2 2] yt : [INFO ] 2017-01-17 15:27:33,825 Parameters: domain_left_edge = [ 0. 0. 0.] yt : [INFO ] 2017-01-17 15:27:33,826 Parameters: domain_right_edge = [ 64000. 64000. 64000.] yt : [INFO ] 2017-01-17 15:27:33,826 Parameters: cosmological_simulation = 1 yt : [INFO ] 2017-01-17 15:27:33,826 Parameters: current_redshift = 1.89999652869 yt : [INFO ] 2017-01-17 15:27:33,826 Parameters: omega_lambda = 0.721 yt : [INFO ] 2017-01-17 15:27:33,827 Parameters: omega_matter = 0.279 yt : [INFO ] 2017-01-17 15:27:33,827 Parameters: hubble_constant = 0.7 yt : [INFO ] 2017-01-17 15:27:33,830 Allocating for 1.191e+07 particles (index particle type 'all') yt : [INFO ] 2017-01-17 15:27:35,746 Identified 8.088e+05 octs --------------------------------------------------------------------------- ValueError Traceback (most recent call last) /Users/desika/Dropbox/scratch/vel_proj.py in <module>() 6 7 ds.add_deposited_particle_field( ('PartType0', 'particle_velocity_y'),"sum") ----> 8 print ad[('deposit', 'PartType0_sum_velocity_y')] /Users/desika/yt/yt/data_objects/data_containers.pyc in __getitem__(self, key) 279 return self.field_data[f] 280 else: --> 281 self.get_data(f) 282 # fi.units is the unit expression string. We depend on the registry 283 # hanging off the dataset to define this unit object. /Users/desika/yt/yt/data_objects/data_containers.pyc in get_data(self, fields) 1331 1332 fields_to_generate += gen_fluids + gen_particles -> 1333 self._generate_fields(fields_to_generate) 1334 for field in list(self.field_data.keys()): 1335 if field not in ofields: /Users/desika/yt/yt/data_objects/data_containers.pyc in _generate_fields(self, fields_to_generate) 1351 fi = self.ds._get_field_info(*field) 1352 try: -> 1353 fd = self._generate_field(field) 1354 if fd is None: 1355 raise RuntimeError /Users/desika/yt/yt/data_objects/data_containers.pyc in _generate_field(self, field) 316 tr = self._generate_particle_field(field) 317 else: --> 318 tr = self._generate_fluid_field(field) 319 if tr is None: 320 raise YTCouldNotGenerateField(field, self.ds) /Users/desika/yt/yt/data_objects/data_containers.pyc in _generate_fluid_field(self, field) 334 finfo.check_available(gen_obj) 335 except NeedsGridType as ngt_exception: --> 336 rv = self._generate_spatial_fluid(field, ngt_exception.ghost_zones) 337 else: 338 rv = finfo(gen_obj) /Users/desika/yt/yt/data_objects/data_containers.pyc in _generate_spatial_fluid(self, field, ngz) 354 o = self._current_chunk.objs[0] 355 with o._activate_cache(): --> 356 ind += o.select(self.selector, self[field], rv, ind) 357 else: 358 chunks = self.index._chunk(self, "spatial", ngz = ngz) /Users/desika/yt/yt/data_objects/data_containers.pyc in __getitem__(self, key) 279 return self.field_data[f] 280 else: --> 281 self.get_data(f) 282 # fi.units is the unit expression string. We depend on the registry 283 # hanging off the dataset to define this unit object. /Users/desika/yt/yt/data_objects/data_containers.pyc in get_data(self, fields) 1331 1332 fields_to_generate += gen_fluids + gen_particles -> 1333 self._generate_fields(fields_to_generate) 1334 for field in list(self.field_data.keys()): 1335 if field not in ofields: /Users/desika/yt/yt/data_objects/data_containers.pyc in _generate_fields(self, fields_to_generate) 1351 fi = self.ds._get_field_info(*field) 1352 try: -> 1353 fd = self._generate_field(field) 1354 if fd is None: 1355 raise RuntimeError /Users/desika/yt/yt/data_objects/data_containers.pyc in _generate_field(self, field) 316 tr = self._generate_particle_field(field) 317 else: --> 318 tr = self._generate_fluid_field(field) 319 if tr is None: 320 raise YTCouldNotGenerateField(field, self.ds) /Users/desika/yt/yt/data_objects/data_containers.pyc in _generate_fluid_field(self, field) 336 rv = self._generate_spatial_fluid(field, ngt_exception.ghost_zones) 337 else: --> 338 rv = finfo(gen_obj) 339 return rv 340 /Users/desika/yt/yt/fields/derived_field.pyc in __call__(self, data) 218 "for %s" % (self.name,)) 219 with self.unit_registry(data): --> 220 dd = self._function(self, data) 221 for field_name in data.keys(): 222 if field_name not in original_fields: /Users/desika/yt/yt/data_objects/static_output.pyc in _deposit_field(field, data) 1215 else: 1216 d = data.ds.arr(data.deposit(pos, [data[ptype, deposit_field]], -> 1217 method=method, kernel_name=kernel_name), 1218 input_units=units) 1219 return d /Users/desika/yt/yt/data_objects/octree_subset.pyc in deposit(self, positions, fields, method, kernel_name) 193 fields = [np.asarray(f, dtype="float64") for f in fields] 194 op.process_octree(self.oct_handler, self.domain_ind, pos, fields, --> 195 self.domain_id, self._domain_offset) 196 vals = op.finalize() 197 if vals is None: return /Users/desika/yt/yt/geometry/particle_deposit.pyx in yt.geometry.particle_deposit.ParticleDepositOperation.process_octree (yt/geometry/particle_deposit.c:4579)() 61 nf = len(fields) 62 cdef np.float64_t[::cython.view.indirect, ::1] field_pointers ---> 63 if nf > 0: field_pointers = OnceIndirect(fields) 64 cdef np.float64_t pos[3] 65 cdef np.float64_t[:] field_vals = np.empty(nf, dtype="float64") ValueError: Buffer and memoryview are not contiguous in the same dimension. ``` Responsible: MatthewTurk
participants (1)
-
Desika Narayanan