Commit ebcd53e7 authored by Michael Wimmer's avatar Michael Wimmer
Browse files

adjust summary to the new polymer project

parent f97a72d2
Pipeline #57915 passed with stages
in 1 minute and 35 seconds
......@@ -2,8 +2,7 @@
This project is a bit different from the other two on the technical side:
instead of using the Metropolis algorithm (i.e. generating a Markov chain)
to sample the Boltzmann distribution, we use a [nearby distribution for the
importance sampling](
to sample the Boltzmann distribution, we use [approximate importance sampling](
The goal is to simulate the properties of long polymers in a good
solvent (the latter just means that the polymers do not want to stick
......@@ -12,48 +11,39 @@ polymers), and to study how they curl up.
To do this, we use a simple model for the polymer in 2D
- it consists of a sequence of $N$ consecutive "beads"
- the distance between beads is fixed (1 in dimensionless units)
- the angle $\theta$ between the links of three neighboring beads can take
any value
- the interaction between the beads/atoms is modelled with a Lennard-Jones
If there was no interaction between atoms, the polymer would correspond to
a random walk. The repulsive interaction of the Lennard-Jones potential
prevents atoms to come too close and turns the polymer into a *self-avoiding
random walk*.
We could sample the different polymers by constructing a full polymer
with $N$ beads by chosing $N-1$ angles
completely randomly. The problem with this approach is that most
polymers would energetically be very unfavorable. The Rosenbluth
algorithm improves on this by building up a polymer step by step: a
new bead with angle $\theta$ is added to an existing polymer with
probability $\sim \exp(-E(\theta)/k_b T)$, where $E(\theta)$ is
the additional energy due to the extra bead. Note that while this looks like
the Boltzmann distribution, the full polymer does not go according to the
Boltzmann distribution! The Monte Carlo sampling
then consists of growing an ensemble of polymers (which are completely
independent, unlike the Markov chain).
To account for the deviation from the real Boltzmann distribution , we
have to associate a weight factor $W_i$ with the $i$-th sample.
The expectation value of a quantity $A$ is then given by
\langle A\rangle = \frac{\sum_i W_i A_i}{\sum_i W_i}
Work out the weight factors by consulting [Chapter 10.6 from Jos'
book!](/downloads/Thijssen_Chapter10_Monte_Carlo_Method.pdf). It is essential to
get these right, otherwise your simulation will not work.
To quantitatively investigate the curling of polymers, it is useful t
the end-to-end distance of the polymers. Compare the case with
interactions to the case without interactions between the atoms.
- a polymer is a chain of subunits (monomers)
- the distance between monomers is fixed (1 in dimensionless units)
- the angle between neighboring bonds is fixed to multiples of $90^\circ$. With this, the subunits of the polymer are restricted to the sites of a square lattice.
- One lattice site can only be occupied by one monomer.
This set of rules turns the polymer problem into a *self-avoiding
random walk* on a square lattice.
It would be possible to sample all self-avoiding random walks by starting
from a free random walk, and throwing away all paths with intersections.
However, this quickly becomes too expensive computationally!
In this project we instead employ a Monte Carlo method, to sample
only a finite number of representive polymers. In particular, we
employ the Rosenbluth that builds a polymer step by step: an existing polymer is grown
by adding a new subunit onto an unoccupied lattice site. In this way we sample
only allowed polymers. However, not every polymer then has the same
probability (as desired by us), as the growing process favors certain
configurations more than others!
In accordance with what we have learned for [approximate importance sampling](,
we need to correct for this by introducing a weight.
This is derived in detail in the [lecture notes for the polymer project](
In particular, make sure you understand how Eq. (2) is derived there :
$$\langle r^2(L) \rangle = \frac{ \sum_{k=1}^N w_k^{(L)} r^2_{k}(L)}{\sum_{k=1}^N w_k^{(L)}} \tag{2}$$
Your first task in this project is thus to implement the Rosenbluth algorithm.
To quantitatively investigate the curling of polymers, it is useful to study
the squared end-to-end distance or the squared radius of gyration of the polymers. Both
quantities are known to scale as $~L^{2\nu}$ with $\nu=3/4$. Reproduce this scaling behavior!
This can be compared to the case of a free random walk, where we know $\nu=1/2$.
After implementing the Rosenbluth algorithm, you will find that for
long polymers very few samples have a large weight and dominate,
......@@ -79,4 +69,4 @@ algorithm.
## Literature
- details of the method in [Chapter 10.6](/downloads/Thijssen_Chapter10_Monte_Carlo_Method.pdf)
\ No newline at end of file
For this project we have written [extended lecture notes with all relevant information](
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment