def step(self, steps=<NUM_LIT:100>, mask=None):
if mask is None:<EOL><INDENT>mask = np.ones_like(self.rad).astype('<STR_LIT:bool>')<EOL><DEDENT>for step in range(steps):<EOL><INDENT>self.forces = self.force_hardsphere(mask) + self.force_noise()<EOL>self.forces[~mask, :] = <NUM_LIT:0.><EOL>self.integrate(self.forces)<EOL>self.boundary_condition()<EOL><DEDENT>
Perform a set of integration / BC steps and update plot

Parameters:
-----------
steps : int
    number of time steps of size self.dt to perform

mask : boolean ndarray[N]
    if provided, only simulate the motion of certain particles given
    by the boolean array mask