def __init__(self, pos, rad, tile, D=<NUM_LIT>, epsilon=<NUM_LIT>, dt=<NUM_LIT>):
self.pos = pos<EOL>self.rad = rad<EOL>self.tile = tile<EOL>self.N = self.pos.shape[<NUM_LIT:0>]<EOL>self.dim = self.pos.shape[<NUM_LIT:1>]<EOL>self.forces = <NUM_LIT:0>*self.pos<EOL>self.D = D<EOL>self.dt = dt<EOL>self.epsilon = epsilon<EOL>
Creates a hard sphere brownian dynamics simulation in ND as specified
by the pos, rad and tile supplied to initializer.

Parameters:
-----------
pos : ndarray [N, dim]
    Positions of particles in the simulation.

rad : ndarray [N]
    Radii of particles in the simulation.

tile : `peri.util.Tile`
    The simulation box defined by a tile with left and right bounds.

D : float
    diffusion constant in proper units

epsilon : float
    Force constant for the soft-sphere potential f = \epsilon (1-d/d_0)^{3/2}.
    This parameter is really a ratio of epsilon / eta (the damping parameter)

dt : float
    timestep for the integrator