Update the lattice state by accepting a specific jump

        Args:
            jump (Jump): The jump that has been accepted.

        Returns:
            None.

def update( self, jump ):
        """
        Update the lattice state by accepting a specific jump

        Args:
            jump (Jump): The jump that has been accepted.

        Returns:
            None.
        """
        atom = jump.initial_site.atom
        dr = jump.dr( self.cell_lengths )
        #print( "atom {} jumped from site {} to site {}".format( atom.number, jump.initial_site.number, jump.final_site.number ) )
        jump.final_site.occupation = atom.number
        jump.final_site.atom = atom
        jump.final_site.is_occupied = True
        jump.initial_site.occupation = 0
        jump.initial_site.atom = None
        jump.initial_site.is_occupied = False
        # TODO: updating atom counters could be contained in an atom.move_to( site ) method
        atom.site = jump.final_site
        atom.number_of_hops += 1
        atom.dr += dr
        atom.summed_dr2 += np.dot( dr, dr )