Constant chemical potential¶
Constant Chemical Potential Molecular Dynamics (C \(\mu\) MD) method introduces an external force that controls the environment of the chemical process of interest. This external force, drawing molecules from a finite reservoir, maintains the chemical potential constant in the region where the process takes place. This method is able to study crystal growth dynamics under constant supersaturation conditions or evaporation dynamics under constant vapor pressure. Reference: C. Perego, M. Salvalaglio, and M. Parrinello, J. Chem. Phys., 2015, 142, 144113.
Description:
\begin{eqnarray*} F^{\mathrm{\mu}}(z) &=& k(n^{CR}-n_{0})G(z, Z_{F}) \\ G(z-Z_{F}) &=& \frac{1}{4\omega}\left[ 1+cosh \left(\frac{z-Z_{F}}{\omega} \right) \right]^{-1} \\ \end{eqnarray*}Coefficients:
\(n_0\) - target constant concentration
n0
(in reduced units)\(k\) - spring constant
k
(in units of energy/distance^2)\(\sigma\) - width of external force region
sigma
(in units of distance)\(\omega\) - an intensity peak proportional to
1/omega
and a width proportional toomega
(in units of distance)
- class CCPMD(all_info, group)¶
The constructor of a constant chemical potential object of a group of particles.
- Parameters:
all_info (AllInfo) – The system information.
group (ParticleSet) – The group of particles.
- setWall(float ox, float oy, float oz, float dx, float dy, float dz)¶
specifies external force region with plane center (ox, oy, oz) and direction (dx, dy, dz). If the normal direction of wall is in Z direction, the center position of plane is (0.0, 0.0, \(Z_{F}\)).
- setParams(float n0, float k, float sigma, float omega, float Len_CR)¶
specifies target concentration, spring constant, sigma, omega, and the length of control region.
Example:
groupS = gala.ParticleSet(all_info, 'S') ccp = gala.CCPMD(all_info, groupS) ccp.setWall(0.0, 0.0, -25.0, 0.0, 0.0, -1.0) ccp.setParams(0.5, 1000.0, 1.0, 0.1, 5.0) app.add(ccp)