Constant frame‐tension algorithm - weria-pezeshkian/FreeDTS GitHub Wiki
Constant Frame-Tension Box Rescaling Algorithm
PositionRescaleFrameTensionCoupling samples a membrane under a prescribed frame tension by allowing the dimensions of the periodic simulation box to fluctuate.
For a quasi-planar membrane with periodic boundaries in the $x$ and $y$ directions, the projected membrane area is
A_p = L_x L_y .
At fixed projected area, the box dimensions are constant. In the constant-frame-tension ensemble, $A_p$ is allowed to fluctuate and is coupled to an externally imposed frame tension $\tau$.
The method follows the constant-frame-tension Monte Carlo scheme described by Pezeshkian and Ipsen, where a trial box rescaling is accepted with an additional mechanical-work contribution and a Jacobian arising from the rescaling of all vertex coordinates.
Trial Box Move
For an $xy$ frame, a trial deformation is generated as
L_x' = \lambda_x L_x,
\qquad
L_y' = \lambda_y L_y,
while $L_z$ remains unchanged.
In the isotropic implementation, the aspect ratio is preserved. A small change $\Delta L_x$ is selected and
\Delta L_y
=
\Delta L_x \frac{L_y}{L_x},
so that
\frac{L_x'}{L_y'}
=
\frac{L_x}{L_y}.
The corresponding scaling factors are
\lambda_x
=
1+\frac{\Delta L_x}{L_x},
\qquad
\lambda_y
=
1+\frac{\Delta L_y}{L_y}.
All vertex coordinates are rescaled together with the box:
x_i' = \lambda_x x_i,
\qquad
y_i' = \lambda_y y_i.
Thermodynamic Ensemble
Let a membrane configuration be denoted by
X = \{\mathbf r_i\},
with internal energy
E(X;A_p).
At fixed projected area, the configurational partition function is
Z(A_p)
=
\int_{A_p} dX\,
e^{-\beta E(X)},
where
\beta = \frac{1}{k_B T}.
To sample a membrane at prescribed frame tension $\tau$, the projected area becomes a fluctuating thermodynamic variable.
The corresponding effective thermodynamic potential is
\mathcal{H}_\tau
=
E-\tau A_p
and therefore
Z_\tau
=
\int dA_p
\int_{A_p} dX\,
\exp\left[
-\beta(E-\tau A_p)
\right]
For a trial box move,
A_p \rightarrow A_p',
the change in the effective energy is
\Delta \mathcal{H}_\tau
=
\Delta E
-
\tau \Delta A_p
with
\Delta E = E'-E
and
\Delta A_p = A_p'-A_p.
This is implemented in FreeDTS as
tot_diff_energy -= m_SigmaP *
(new_systemsize - old_systemsize);
For an XY move,
old_systemsize = Lx * Ly;
new_systemsize = Lx_new * Ly_new;
and therefore
\Delta E_{\rm ext}
=
-\tau(A_p'-A_p).
Why There Is a Jacobian
The mechanical-work contribution alone is not sufficient because changing the box also changes the integration measure of the vertex coordinates.
For an $xy$ rescaling,
x_i' = \lambda_x x_i,
\qquad
y_i' = \lambda_y y_i.
For one vertex,
dx_i' dy_i'
=
\lambda_x \lambda_y\,
dx_i dy_i.
For $N$ vertices,
dX'
=
(\lambda_x\lambda_y)^N dX.
Since
\lambda_x\lambda_y
=
\frac{L_x'L_y'}{L_xL_y}
=
\frac{A_p'}{A_p},
the Jacobian is
J
=
\left(
\frac{A_p'}{A_p}
\right)^N
.
Detailed balance therefore gives
\frac{P(X\rightarrow X')}
{P(X'\rightarrow X)}
=
\left(
\frac{A_p'}{A_p}
\right)^N
\exp
\left[
-\beta
\left(
\Delta E-\tau\Delta A_p
\right)
\right]
The Metropolis acceptance probability becomes
P_{\rm acc}
=
\min
\left[
1,
\left(
\frac{A_p'}{A_p}
\right)^N
\exp
\left(
-\beta\Delta E
+
\beta\tau\Delta A_p
\right)
\right]
This is the constant-frame-tension acceptance probability used in the original formulation.
Logarithmic Form Used in FreeDTS
FreeDTS evaluates the acceptance probability in logarithmic form:
const double logJacobian =
NV * (std::log(lx)
+ std::log(ly)
+ std::log(lz));
const double logAcceptance =
logJacobian
- m_Beta * tot_diff_energy
+ m_DBeta;
if (std::log(temp) < logAcceptance) {
// accept move
}
For an XY move,
\lambda_z = 1,
and therefore
\log J
=
N
\left[
\log\lambda_x
+
\log\lambda_y
\right]
Using
\lambda_x\lambda_y
=
\frac{A_p'}{A_p},
we obtain
\log J
=
N
\log
\left(
\frac{A_p'}{A_p}
\right)
Hence
\log P
=
N
\log
\left(
\frac{A_p'}{A_p}
\right)
-
\beta
\left(
\Delta E-\tau\Delta A_p
\right)
This is exactly the logarithmic form of the constant-frame-tension Metropolis criterion.
Reference
W. Pezeshkian and J. H. Ipsen, Fluctuations and conformational stability of a membrane patch with curvature inducing inclusions, Soft Matter 15, 9974–9981 (2019).