示例#1
0
 def _part_ind(self):
     if self._particle_mask is None:
         parent = getattr(self, "parent", self.base_object)
         units = "code_length"
         mask = points_in_cells(self["x"].to(units), self["y"].to(units),
                                self["z"].to(units), self["dx"].to(units),
                                self["dy"].to(units), self["dz"].to(units),
                                parent["particle_position_x"].to(units),
                                parent["particle_position_y"].to(units),
                                parent["particle_position_z"].to(units))
         self._particle_mask = mask
     return self._particle_mask
示例#2
0
    def _part_ind_brute_force(self, ptype):
        parent = getattr(self, "parent", self.base_object)
        units = "code_length"
        mask = points_in_cells(
            self[("index", "x")].to(units), self[("index", "y")].to(units),
            self[("index", "z")].to(units), self[("index", "dx")].to(units),
            self[("index", "dy")].to(units), self[("index", "dz")].to(units),
            parent[(ptype, "particle_position_x")].to(units),
            parent[(ptype, "particle_position_y")].to(units),
            parent[(ptype, "particle_position_z")].to(units))

        return mask
示例#3
0
 def _part_ind(self, ptype):
     if self._particle_mask.get(ptype) is None:
         parent = getattr(self, "parent", self.base_object)
         units = "code_length"
         mask = points_in_cells(
             self[("index", "x")].to(units), self[("index", "y")].to(units),
             self[("index", "z")].to(units), self[("index",
                                                   "dx")].to(units),
             self[("index", "dy")].to(units), self[("index",
                                                    "dz")].to(units),
             parent[(ptype, "particle_position_x")].to(units),
             parent[(ptype, "particle_position_y")].to(units),
             parent[(ptype, "particle_position_z")].to(units))
         self._particle_mask[ptype] = mask
     return self._particle_mask[ptype]