## Write code to simulate and study the self-assembly of co-polymers confined to a surface.

### computer science

##### Description

Write code to simulate and study the self-assembly of co-polymers confined to a surface. We will use a simple "bead-spring" description of the polymer, which will be described as a set of beads bonded with an harmonic potential. If you want, think about a bead as if it was a monomer of the polymer (...although somehow this is an approximation...)As in normal polymers, some beads are connected by a bond, some are not. Two connected beads provide a contribution to the total energy of the system given by a spring-like model, hence:

Eharmonic_(i,j) = 1/2 * kspring * | r |**2, r = x_i - x_j where x_i and x_j are the two vectors describing the position of particle i and j and k_spring is the spring constant, describing in practice the stiffness of the bond between the beads.

In this model, all pair of beads, whether bonded or not (and regardless of whether or not they belong to the same polymer) interact with an additional potential of the form ( it is called the Lennard-Jones potential, and we use it here just to approximate the real interactions! ):

ELJ_(i,j) = 4 * epsilon * ( ( sigma / |r| )**12 - ( sigma / |r| )**6 )

In our model, we also put a cutoff to the function, so we set ELJ = 0 if |r| > rcutoff. We choose rcutoff = 2.5 sigma

We are looking at co-polymers, and each copolymer is made by monomers of different type. For simplicity, let's assume only two types, which we will refer to as A and B.The parameter epsilon is related to the strength of the interaction, whereas sigma plays the role of the diameter of the bead.The value of epsilon will be different depending on the specific pair of bead types we consider. Thus, in our system we will have three values of epsilon:

corresponding to the 3 different potential combinations of A and B. We will also have two different values of sigma, sigma_A (for an AA pair) and sigma_B (for a BB pair). For an AB pair, sigma_AB is the average between sigmaA and sigmaB. Note that in co-polymers, self-assembly is typically driven by the fact that these three values are different as you will see in your simulations!