Active-Brownian Dynamics¶
Consider a particle undergoing random motion over a potential \(V\). For our development, we focus on 1-dimensional transport, but the final results are extended to 3 dimensions. The particle is subjected to thermal (emph{i.e.} Brownian) force \(f_{B}\) and active forces \(f_{A}\) that represent transient perturbations from the surrounding enzyme activity. The temporal evolution of the position \(x(t)\) is governed by a modified Langevin equation
where \(f_{V} = - \frac{\partial V}{\partial x}\) is the potential force on the particle at position \(x\).
The Brownian force \(f_{B}\) is governed by the fluctuation dissipation theorem, which states that \(f_{B}\) is a Gaussian-distributed random force that satisfies
This assumes that the environment is purely Newtonian, leading to the instantaneous decorrelation of Brownian forces (i.e. Gaussian white noise). Diffusive transport in a viscoelastic fluid leads to temporal memory in the Brownian force, reflecting temporal correlation in the frictional stress.
In our work, we assume the active force \(f_{A}\) are also Gaussian-distributed with an arbitrary temporal correlation, such that
where \(\kappa_{A}(t)\) represents the temporal correlation between active forces.
We develop a path integral formulation of the Active-Brownian particle that results in an expression for the joint probability \(\mathcal{P}[x(t)|x_0;t;f_A^{(0)}]\). This function governs the probability that if a particle begins at \(x_{0}\) experiencing an active force \(f_{A}^{(0)}\) at time \(t = 0\), the particle will be located at position \(x\) at time \(t\). Carrying out the integral over the active forces is performed by noting a Gaussian form of active forces
This is used in the path integral formulation, and after functional integration over Brownian and Active forces, we arrive at the expression
The theoretical development so far is general to any form of the spatially varying potential \(V(x)\) and does not assume any special form for the conservative forces between particles.
Dynamic behavior of an Active-Brownian polymer¶
We apply our results of an active-Brownian particle in a harmonic potential to the problem of an active-Brownian polymer chain. Since the normal-mode expansion of the Rouse polymer adopts the form of a particle in a harmonic potential, we can frame our results in the previous section to find the behavior of the pth normal mode.
We defined the normal-mode correlation function for the pth mode to be
The dimensionless time \(\tau = t/t_{b}\) is scaled by the diffusive time \(t_{b} = b^{2} \xi/(k_{B}T)\), and we define the dimensionless Active force \(F_{A}^{2} = \Gamma K_{A} = f_{A}^{2} b^{2}/(k_{B}T)^{2}\) and dimensionless active rate constant \(K_{A} = t_{b} k_{A}\).
We find the center-of-mass mean-square displacement to be
We note that Eq. (2) has the short-time asymptotic behavior \(\mathrm{MSD}_{\mathrm{com}} \rightarrow 6 [k_{B}T/(\xi N)] t\) as \(t \rightarrow 0\), which coincides with the mean-square displacement for a Brownian-only polymer. The long-time asymptotic behavior \(\mathrm{MSD}_{\mathrm{com}} \rightarrow 6 [k_{B}T/(\xi N)] (1 + F_{A}^{2}/2) t \) reveals the long-time effective temperature due to Brownian and active fluctuations, given by \(T_{AB} = T (1 + F_{A}^{2}/2)\).
The mean-square displacement of a segment of the polymer chain is define as
for the chain position n. In this work, we focus on the midpoint motion at \(n=N/2\), but this is easily extended to other polymer positions. We insert our normal-mode representation into Eq. (3), resulting in the expression
where \(\triangle C_{p}(\tau) = C_{p}(0) - C_{p}(\tau)\). In addition, we define the mean-square change in distance (MSCD) for a polymer chain. This quantity is defined as
where \(\Delta \vec{R}(t) = \vec{r}(N/2 + \Delta, t) - \vec{r}(N/2 - \Delta,t)\). Thus, MSCD is a measure of the change in separation distance between two points on the polymer that are \(2 \Delta\) segments from each other. This results in the expression
where \(\triangle C_{p}(\tau) = C_{p}(0) - C_{p}(\tau)\)
Functions contained with the ‘active_brown’ module¶
Active-Brownian dynamics
Notes
Detailed derivations for MSD and MSCD are found in “Interplay of active and thermal fluctuations in polymer dynamics”
-
wlcstat.active_brown.
flow_spec_active
(k, t, length_kuhn, ka, gamma, b=1, num_nint=1000, num_modes=20000)[source]¶ - Parameters
k –
t –
length_kuhn –
ka –
gamma –
b –
num_nint –
num_modes –
-
wlcstat.active_brown.
gen_conf_rouse_active
(length_kuhn, num_beads, ka=1, gamma=0, b=1, force_calc=False, num_modes=10000)[source]¶ Generate a discrete chain based on the active-Brownian Rouse model
- Parameters
length_kuhn (float) – Length of the chain (in Kuhn segments)
num_beads (int) – Number of beads in the discrete chain
ka (float) – Active force rate constant
gamma (float) – Magnitude of the active forces
b (float) – Kuhn length
num_modes (int) – Number of Rouse modes in calculation
- Returns
r_poly – Conformation of the chain subjected to active-Brownian forces
- Return type
(num_beads, 3) float
-
wlcstat.active_brown.
gen_pymol_file
(r_poly, filename='r_poly.pdb', ring=False)[source]¶ - Parameters
r_poly ((num_beads, 3) float) – Conformation of the chain subjected to active-Brownian forces
filename (str) – File name to write the pdb file
ring (bool) – Boolean to close the polymer into a ring
-
wlcstat.active_brown.
mscd_active
(t, length_kuhn, delta, ka, gamma, b=1, num_modes=20000)[source]¶ Compute mscd for two points on an active-Brownian polymer.
- Parameters
t ((M,) float, array_like) – Times at which to evaluate the MSCD
length_kuhn (float) – Length of the chain (in Kuhn segments)
delta (float) – Length of the chain between loci (in Kuhn segments)
ka (float) – Active force rate constant
gamma (float) – Magnitude of the active forces
b (float) – The Kuhn length (in desired length units).
num_modes (int) – how many Rouse modes to include in the sum
- Returns
mscd – result
- Return type
(M,) np.array<float>
-
wlcstat.active_brown.
mscd_plateau_active
(length_kuhn, delta, ka, gamma, b=1, num_modes=20000)[source]¶ Compute mscd plateau for two points on an active-Brownian polymer.
- Parameters
length_kuhn (float) – Length of the chain (in Kuhn segments)
delta (float, array_like) – Length of the chain between loci (in Kuhn segments)
ka (float) – Active force rate constant
gamma (float) – Magnitude of the active forces
b (float) – The Kuhn length (in desired length units).
num_modes (int) – how many Rouse modes to include in the sum
- Returns
mscd_plateau – result
- Return type
(M,) np.array<float>
-
wlcstat.active_brown.
msd_active
(t, length_kuhn, ka, gamma, b=1, num_modes=20000)[source]¶ Compute msd for the midpoint points on an active-Brownian polymer.
- Parameters
t ((M,) float, array_like) – Times at which to evaluate the MSCD
length_kuhn (float) – Length of the chain (in Kuhn segments)
ka (float) – Active force rate constant
gamma (float) – Magnitude of the active forces
b (float) – The Kuhn length (in desired length units).
num_modes (int) – how many Rouse modes to include in the sum
- Returns
msd – result
- Return type
(M,) np.array<float>