Anisotropy of ideal chain

A Gaussian chain, when averaged over all conformations and orientations, exhibits isotropic behavior. This means it can be treated as a sphere with a radius equal to its radius of gyration, $R_g$. However, an exercise in the second chapter of Rubinstein’s Polymer Physics demonstrates that $R_g^2$ becomes asymmetric when the coordinate frame is aligned with the end-to-end vector, $\mathbf{R}_{ee}$. Specifically, if $\mathbf{R}_{ee}$ is set as the x-axis, i.e., $\mathbf{R}_{ee}=(R,0,0)^T$, the three components of $R_g^2$ are $\frac{Nb^2}{36}$, $\frac{Nb^2}{36}$ in the y and z directions, and $\frac{Nb^2}{36}+\frac{R^2}{12}$ in the x direction. Here’s a simple proof:

Consider a Gaussian chain fixed between $(0,0,0)^T$ and $\mathbf{R}_{ee}$. This forms a Brownian bridge, with a multivariate Gaussian distribution centered at $\frac{i}{N}\mathbf{R}$ and a variance of $\frac{i(N-i)}{N}b^2$. The proof is straightforward:

$P_{0\mathbf{R}}(\mathbf{r},n)=\frac{G(\mathbf{r},0,n)G(\mathbf{R},\mathbf{r},N-n)}{G(0,\mathbf{R},N)}$

where $G(a,b,n)$ represents the distribution of a Gaussian chain with segment length $n$ and ends at points $a$ and $b$. This expression represents the probability of a length-$n$ Gaussian chain starting at 0 and ending at $\mathbf{r}$, connected to another length-$(N-n)$ Gaussian chain starting at $\mathbf{R}$ and ending at $\mathbf{r}$. The entire chain is a Gaussian chain with length $N$ and end-to-end vector $\mathbf{R}_{ee}=\mathbf{R}$. It’s easy to show that the distribution of this chain:

$P_{0\mathbf{R}}(\mathbf{r},n)=G\left(\mathbf{r}-\frac{n}{N}\mathbf{R}, 0,\frac{n(N-n)}{N}\right)$

is equivalent to a Gaussian chain segment with ends at $\mathbf{r}$ and $\frac{n}{N}\mathbf{R}$, and an equivalent length of $\frac{n(N-n)}{N}$. The $R_g^2$ is then:

$\begin{align}R_g^2=&\frac{1}{2N^2}\int_0^N\langle(\mathbf{r}_i-\mathbf{r_j})^2\rangle\mathrm{d}i\mathrm{d}j\\
=&\frac{1}{N^2}\int_0^N\int_j^N \frac{(i-j)^2 R^2}{N^2}+\frac{(i-j)(N-(i-j))}{N}b^2\mathrm{d}i\mathrm{d}j\\ =&\frac{R^2+Nb^2}{12}\end{align}$

In this equivalent method, $\langle (\mathbf{r}_i-\mathbf{r}_j)^2\rangle$ is interpreted as $(\frac{i}{N}-\frac{j}{N})^2R^2+\frac{|i-j|(N-|i-j|)}{N}$ from the equivalent Gaussian chain. This is because, despite the chain being ‘fixed,’ it remains a Gaussian chain, implying translation invariance. Therefore, $\langle (\mathbf{r}_i-\mathbf{r}_j)^2\rangle$ depends only on $|i-j|$, and $P_{0\mathbf{R}}(\mathbf{r},n)$ provides the probability of segment $\mathbf{r}_n-\mathbf{r}_0$, which represents any $n$-segment on the Gaussian chain. Directly calculating $P(\mathbf{r}_i-\mathbf{r}_j)$ from the convolution of $P_{0\mathbf{R}}$ is incorrect because $\mathbf{r}_i$ and $\mathbf{r}_j$ are correlated. Convolution of $P_{0\mathbf{R}}$ introduces dependence on $i$ and $j$ in $\langle (\mathbf{r}_i-\mathbf{r}_j)^2\rangle$, violating the translation invariance of the chain.

If $R^2=Nb^2$, we find that $R_g^2=\frac{1}{6}Nb^2$. Furthermore, we have $\frac{Nb^2}{36}+\frac{R^2_{x,y,z}}{12}=\frac{Nb^2+R^2}{36}$ for each dimension. Specifically, if $\mathbf{R}_{ee}=(R,0,0)^T$, we obtain $\frac{Nb^2}{36}$ in the y and z directions and $\frac{Nb^2}{36}+\frac{R^2}{12}$ in the x-direction.

Here’s a simple simulation code:

rg2_ree = rg2 = 0
for _ in  range(5000):  
    ch = np.random.normal(size=(1000,3))  
    ch = np.append(np.zeros((1,3)),np.cumsum(ch, axis=0),axis=0)  
    ch = ch - ch.mean(axis=0)  
    ree = ch[-1]-ch[0]  
    ree = ree/np.linalg.norm(ree)  
    rg2_ree += np.sum(ch.dot(ree)**2)  
    rg2 += np.sum(ch**2)
rg2_ree/rg2
# Result is 0.666...

Flory Characteristic Ratio

  1. This exercise focuses on the Flory characteristic ratio from Rubinstein’s textbook on Polymer Physics.
  2. Definition of Flory Characteristic Ratio:


    $C_\infty:=\lim_{n\to\infty}\frac{\langle \mathbf{R}^2 \rangle}{nb^2}$


    where $\langle \mathbf{R}^2 \rangle$ represents the mean square end-to-end vector, $b$ is the Kuhn length of the polymer, and $n$ is the corresponding chain length.
  3. Calculation of $\langle \mathbf{R}^2\rangle$:


    Let $\mathbf{r}_i$ denote the bond vector between the $i$th and $(i-1)$th particle, and let $\mathbf{r}_1=\mathbf{R}_1-\mathbf{R}_0\equiv0$. For an $n$-bead chain:


    $$\begin{align}\langle \mathbf{R}^2 \rangle&=\left\langle\left(\sum_{i=1}^n \mathbf{r}_i^2\right)\cdot\left(\sum_{j=1}^n \mathbf{r}_j^2\right)\right\rangle\\

    &=\sum_i\sum_j\langle \mathbf{r}_i\cdot\mathbf{r}_j\rangle\end{align}$$
  4. Calculation of $\langle\mathbf{r}_i\cdot\mathbf{r}_j\rangle$:


    Consider a local coordinate frame where $\mathbf{r}_i=(b,0,0)^T$. Then, $\mathbf{r}_{i+1}$ can be viewed as a rotation of $\mathbf{r}_i$ by $\theta$ about the $z$-axis (bond angle) and by $\phi_{i}$ about the $x$-axis (torsion). The rotation matrix is:


    $$\mathbf{T}_i:=\left(

    \begin{array}{ccc}

    \cos (\theta ) & -\sin (\theta ) & 0 \\

    \sin (\theta ) \cos (\phi_i) & \cos (\theta ) \cos (\phi_i) & -\sin (\phi_i) \\

    \sin (\theta ) \sin (\phi_i ) & \cos (\theta ) \sin (\phi_i ) & \cos (\phi_i ) \\

    \end{array}\right)$$


    or $\pi-\theta$, $\pi – \phi$ based on the definitions of bond angle $\theta$ and torsion angle $\phi$. In each reference frame $R_i$, the bond vector is $(b,0,0)^T$, and in $R_i$, $\mathbf{r}_{i+1}=\mathbf{T}_i\cdot\mathbf{r}_i=(b \cos (\theta ),b \sin (\theta ) \cos (\phi_i ),b \sin (\theta ) \sin (\phi_i ))^T$.

    Now, consider the simple case of $\mathbf{r}_i\cdot\mathbf{r}_{i+2}$. $\mathbf{r}_{i+2}$ is calculated in the $(i+1)$th reference frame $R_{i+1}$ where $\mathbf{r}_{i+1}$ is $(b,0,0)^T$ and $\mathbf{r}_{i+2}=\mathbf{T}_{i+1}\cdot\mathbf{r}_{i+1}$. To perform the inner product, we need to rotate one of the vectors into the other frame. This involves rotating $\mathbf{r}_i=(b,0,0)^T$ from $R_i$ to $R_{i+1}$ or vice versa.

    Note that $\mathbf{r}_{i+1}$ in the $R_i$ frame is $(b \cos (\theta ),b \sin (\theta ) \cos (\phi_i ),b \sin (\theta ) \sin (\phi_i ))^T$ and $(b,0,0)^T$ in the $R_{i+1}$ frame. Therefore, to transform a vector from $R_i$ to $R_{i+1}$, we need a transformation matrix that converts $(b \cos (\theta ),b \sin (\theta ) \cos (\phi_i ),b \sin (\theta ) \sin (\phi_i ))^T$ to $(b,0,0)^T$. This matrix is $\mathbf{T}_i^{-1}$, or $\mathbf{T}_i^T$, because in frame $R_i$, we obtain $\mathbf{r}_{i+1}$ using $\mathbf{T}_i\cdot(b,0,0)^T$, and $\mathbf{T}_i$ is an orthonormal rotation matrix.

    By transforming $\mathbf{r}_i$ into $R_{i+1}$, the inner product $\mathbf{r}_i\cdot\mathbf{r}_{i+2}$ becomes:


    $$\langle\mathbf{T}_i^T\mathbf{r}_i,\mathbf{T}_{i+1}\mathbf{r}_{i+1}\rangle=$$
    $$\langle\mathbf{r}_i,\mathbf{T}_i\mathbf{T}_{i+1}\mathbf{r}_{i+1}\rangle=(b,0,0)\mathbf{T}_i\mathbf{T}_{i+1}(b,0,0)^T$$

    By induction, $\mathbf{r}_i\cdot\mathbf{r}_j=(b,0,0)\mathbf{T}_i\mathbf{T}_{i+1}\mathbf{T}_{i+2}\cdots\mathbf{T}_{j-1}(b,0,0)^T$. Since $\theta$ is the same for all bonds and $\phi_{1,2,\dots,n}$ are independently distributed, let $\mathbf{T}$ represent the average transformation matrix of ${\mathbf{T}_i}$:


    $$\begin{align}\mathbf{T}&:=\frac{\int_{-\pi}^{\pi}\mathbf{T}_i(\phi)\exp{(-U(\phi)/k_BT)}\mathrm{d}\phi}{\int_{-\pi}^{\pi}\exp{(-U(\phi)/k_BT)}\mathrm{d}\phi}\\

    &=\left(

    \begin{array}{ccc}

    \cos (\theta ) & -\sin (\theta ) & 0 \\

    \sin (\theta ) \langle\cos (\phi) \rangle & \cos (\theta )\langle \cos (\phi)\rangle &0 \\

    0& 0& \langle\cos (\phi)\rangle \\

    \end{array}\right)\end{align}$$

    Therefore, we have $\langle\mathbf{r}_i\cdot\mathbf{r}_j\rangle=(b,0,0)\mathbf{T}^{|j-i|}(b,0,0^T)=b^2(\mathbf{T}^{|j-i|})_{11}$. Every $\sin(\phi)$ term vanishes in the integral because $U$ is even.
  5. Flory Characteristic Ratio:


    $$\begin{align}C_\infty&=\lim_{n\to\infty}\frac{1}{nb^2}\sum_i\sum_j \mathbf{r}_i\cdot\mathbf{r}_j\\

    &=\lim_{n\to\infty}\frac{1}{n}(\sum_i\sum_j T^{|j-i|})_{11}\\

    &=\lim_{n\to\infty}\left(-\frac{1}{n}\frac{-2 \mathbf{T}^{n+1}+\mathbf{T}^2 n+2 \mathbf{T}-n\mathbf{I}}{(\mathbf{I}-\mathbf{T})^2}\right)_{11}\\

    &=\left(\frac{\mathbf{I}+\mathbf{T}}{\mathbf{I}-\mathbf{T}}\right)_{11}\\

    &=\frac{1+\cos(\theta)}{1-\cos(\theta)}\frac{1-\langle\cos(\phi)\rangle}{1+\langle\cos(\phi)\rangle}\end{align}$$

    Here, $\frac{\bullet}{n}=0$ and $\mathbf{T}^n=0$ as $n\to\infty$ because $\mathbf{T}$ is constant, and the correlation between two beads approaches zero as the distance between them increases.

JLU 08-18-2024

iPhone one-click post-processing.

Draw paths on energy landscape

A path on energy landscape is like:

pathway on energy landscape

and this post is a guide to generate such animations.

Step 1: Generate the Energy Landscape

An energy landscape is essentially an energy function $U(\mathbf{x})$. This function can be created in various ways. For example, you might generate a series of Gaussian functions with random parameters $\mu_i$, $\sigma_i$, and weight factors $\omega_i$. From these, you can construct a probability function $P(\mathbf{x}) = \sum_{i=1}^N \omega_i G(\mathbf{x}; \mu_i, \sigma_i)$. The energy function $U(\mathbf{x})$ is then derived using Boltzmann inversion: $U = -k_B T \log P$ .

In the example above, I generated a series of Mexican hat functions with varying parameters ($a$), ($b$), and locations.

Step 2: Generate the Path

A path is determined by the dynamics of the system, such as $\dot{\mathbf{x}} = -\nabla U(\mathbf{x})$ or $\ddot{\mathbf{x}} – \dot{\mathbf{x}} = -\nabla U(\mathbf{x})$. By integrating from a starting point, you can generate a path. In our example, the walker follows a cyclic path, which requires an understanding of the Lagrangian.

A walker on an energy surface from point $A$ to $B$ takes the “canonical path” where the Lagrangian is minimized. The probability of the walker being at $A$ at time $t_0$ and reaching $B$ at time $t_1$ is given by:

$$
P(\mathbf{x}_A, t_0 \mid \mathbf{x}_B, t_1) = \frac{1}{Z} \int_{\mathbf{x}(t_0) = \mathbf{x}_A}^{\mathbf{x}(t_1) = \mathbf{x}_B} \mathcal{D}\mathbf{x} \exp\left(-\int_{t_0}^{t_1} L(\mathbf{x}, \dot{\mathbf{x}}, t) \, dt\right)
$$

Maximizing this probability implies minimizing the Lagrangian $L$ (saddle point approximation). Given $L = T – U$ with $T \propto \dot{\mathbf{x}}^2$, we can discretize the integral of $L$ as:

$$
L = \sum_{i=0}^N \lambda_1 (\mathbf{x}_{i+1} – \mathbf{x}_i)^2 – U(\mathbf{x}_i)
$$

where $\mathbf{x}_0 = \mathbf{x}_A$ and $\mathbf{x}_N = \mathbf{x}_B$. Here, $\lambda_1$ is a hyperparameter controlling the path’s tightness. Our goal is to find a series of $\mathbf{x}_i$ that minimizes $L$. This can be achieved using scipy.optimize.minimize

Step 3. Generate the animiation

The output can be drawn by mayavi, in the example I draw the frames of the animation by povray, where .pov files were generated by mayavi. The trajectory is a thick line that slightly shifted higher than the energy landscape surface to ensure a clear view. You can also draw a big point (sphere) at the forefront of a trajectory, to emphasize the walker.

Learning photography

F2.8 FL50 ISO 400 SS 1/80

F2.8 FL50 ISO 400 SS 1/80

Back2Top ^