_DesmondFrame contains simulation data at a particular time.
  Each raw frame may contain position and velocity of pseudo atoms. Data
  for pseudo atoms can appear behind component ct or solvent ct. We don't 
  want to expose them in most cases.
    |  | 
        
          | __init__(self,
        rawframe,
        natom=None,
        frame_id=None,
        cst=None) |  |  | 
    |  |  | 
    |  | 
        
          | getStructure(self) Get a Structure associated with this frame.
 |  |  | 
    |  | 
        
          | getMinimalDifference(self,
        pos1,
        pos2) Calculate the smallest difference between two sets of points in the 
      frame, paying attention to periodic boundary conditions.
 |  |  | 
    |  |  | 
    |  |  | 
    |  |  | 
    |  | 
        
          | __len__(self) Return the number of atoms in the frame.
 |  |  | 
    | numpy array with shape (self._natom, 3) | position Position of the real atoms in the frame.
 | 
    | numpy array with shape (self._natom,3) | pseudo_position Position of pseudo particles in the frame.
 | 
    | numpy array with shape (self._natom, 3) | velocity Velocity of the real atoms in the frame.
 | 
    | numpy array with shape (self._nparticles, 3) | particle_position Position for all particles in the frame, including pseudo atoms.
 | 
    | numpy array with shape (self._nparticles, 3) | particle_velocity Velocity for all particles in the frame, including pseudo atoms.
 | 
    |  | atom_total Number of real atoms in this frame.
 | 
    |  | particle_total Number of particles in this frame, including atoms and pseudo atoms.
 | 
    | a numpy array with shape (9,). | box The simulation box for the frame.
 | 
    | a BoundaryCondition instance | boundary_condition The periodic boundary condition for this frame.
 | 
    |  | time Chemical time (ps) for this frame.
 | 
    |  | charge Numpy array of atom charges with shape (self._nparticles, 1).
 | 
    |  | mass Numpy array of atom masses with shape (self._nparticles, 1).
 | 
    |  | total_mass Total mass of all atoms in the frame.
 | 
    |  | set_pseudo_position Update positions on the pseudo particles Only works when all pseudo 
      particles are in a single CT
 |