def __init__(self, N=<NUM_LIT>, phi=<NUM_LIT>, radius=<NUM_LIT>, polydispersity=<NUM_LIT:0.0>, beta=<NUM_LIT:1>,<EOL>epsilon=<NUM_LIT>, T=<NUM_LIT:1>, dt=<NUM_LIT>, dim=<NUM_LIT:3>, box_side_ratio=<NUM_LIT:1.0>):
self.N = N<EOL>self.phi = phi<EOL>self.beta = beta<EOL>self.epsilon = epsilon<EOL>self.T = T<EOL>self.dt = dt<EOL>self.radius = radius<EOL>self.polydispersity = polydispersity<EOL>self.box_side_ratio = box_side_ratio<EOL>self.dim = int(dim)<EOL>if self.dim == <NUM_LIT:2>:<EOL><INDENT>self.box_side = (self.N*np.pi*self.radius**<NUM_LIT:2> / self.phi)**(<NUM_LIT:1.>/<NUM_LIT:2>)<EOL>self.box = np.array([self.box_side]*self.dim)<EOL><DEDENT>if self.dim == <NUM_LIT:3>:<EOL><INDENT>self.box_side = (self.N*<NUM_LIT>/<NUM_LIT:3>*np.pi*self.radius**<NUM_LIT:3> / self.phi)**(<NUM_LIT:1.>/<NUM_LIT:3>)<EOL>sxy = self.box_side/np.sqrt(self.box_side_ratio)<EOL>sz  = self.box_side*self.box_side_ratio<EOL>self.box = np.array([sz, sxy, sxy])<EOL><DEDENT>self.init_random()<EOL>
Creates a simulation of soft sphere particles. By default, creates
particles in a random uniform (perhaps overlapping) distribution of
particles inside a box dimension `dim` given a packing fraction

Parameters:
-----------
N : integer [default: 500]
    the number of particles in the simulation

phi : float 
    packing fraction to use while initializing the particles

radius : float [default: 5]
    mean radius of the particles, see polydispersity

polydispersity : float [default: 0]
    relative polydispersity goal sqrt(<(a-<a>)^2>)/<a>

beta : float
    damping parameter f = -beta v

epsilon : float
    force constant for the soft-sphere potential f = \epsilon (1-d/d_0)^{3/2}

T : float
    temperature of the system

dt : float
    timestep for the integrator

dim : integer [default: 3]
    number of dimensions for the simulation

box_side_ratio : float [default: 1]
    ratio of the box's z height to original z height before scaling.
    therefore, you can squish the box by half (while elongating the
    sides) by setting box_side_ratio=0.5