Beispiel #1
0
    def particle_trajectories(self, indices, fields=None, suppress_logging=False):
        r"""Create a collection of particle trajectories in time over a series of
        datasets.

        Parameters
        ----------
        indices : array_like
            An integer array of particle indices whose trajectories we
            want to track. If they are not sorted they will be sorted.
        fields : list of strings, optional
            A set of fields that is retrieved when the trajectory
            collection is instantiated. Default: None (will default
            to the fields 'particle_position_x', 'particle_position_y',
            'particle_position_z')
        suppress_logging : boolean
            Suppress yt's logging when iterating over the simulation time
            series. Default: False

        Examples
        --------
        >>> my_fns = glob.glob("orbit_hdf5_chk_00[0-9][0-9]")
        >>> my_fns.sort()
        >>> fields = ["particle_position_x", "particle_position_y",
        >>>           "particle_position_z", "particle_velocity_x",
        >>>           "particle_velocity_y", "particle_velocity_z"]
        >>> ds = load(my_fns[0])
        >>> init_sphere = ds.sphere(ds.domain_center, (.5, "unitary"))
        >>> indices = init_sphere["particle_index"].astype("int")
        >>> ts = DatasetSeries(my_fns)
        >>> trajs = ts.particle_trajectories(indices, fields=fields)
        >>> for t in trajs :
        >>>     print t["particle_velocity_x"].max(), t["particle_velocity_x"].min()
        """
        return ParticleTrajectories(self, indices, fields=fields, suppress_logging=suppress_logging)
Beispiel #2
0
    def particle_trajectories(self,
                              indices,
                              fields=None,
                              suppress_logging=False,
                              ptype=None):
        r"""Create a collection of particle trajectories in time over a series of
        datasets.

        Parameters
        ----------
        indices : array_like
            An integer array of particle indices whose trajectories we
            want to track. If they are not sorted they will be sorted.
        fields : list of strings, optional
            A set of fields that is retrieved when the trajectory
            collection is instantiated. Default: None (will default
            to the fields 'particle_position_x', 'particle_position_y',
            'particle_position_z')
        suppress_logging : boolean
            Suppress yt's logging when iterating over the simulation time
            series. Default: False
        ptype : str, optional
            Only use this particle type. Default: None, which uses all particle type.

        Examples
        --------
        >>> my_fns = glob.glob("orbit_hdf5_chk_00[0-9][0-9]")
        >>> my_fns.sort()
        >>> fields = [
        ...     ("all", "particle_position_x"),
        ...     ("all", "particle_position_y"),
        ...     ("all", "particle_position_z"),
        ...     ("all", "particle_velocity_x"),
        ...     ("all", "particle_velocity_y"),
        ...     ("all", "particle_velocity_z"),
        ... ]
        >>> ds = load(my_fns[0])
        >>> init_sphere = ds.sphere(ds.domain_center, (0.5, "unitary"))
        >>> indices = init_sphere[("all", "particle_index")].astype("int")
        >>> ts = DatasetSeries(my_fns)
        >>> trajs = ts.particle_trajectories(indices, fields=fields)
        >>> for t in trajs:
        ...     print(
        ...         t[("all", "particle_velocity_x")].max(),
        ...         t[("all", "particle_velocity_x")].min(),
        ...     )

        Notes
        -----
        This function will fail if there are duplicate particle ids or if some of the
        particle disappear.
        """
        return ParticleTrajectories(self,
                                    indices,
                                    fields=fields,
                                    suppress_logging=suppress_logging,
                                    ptype=ptype)