fene¶
- mdhelper.openmm.bond.fene(global_args: dict[str, float | Quantity] = None, wca: bool = True, **kwargs) tuple[CustomBondForce, CustomNonbondedForce] [source]¶
Implements the finite extensible nonlinear elastic (FENE) potential used for bead-spring polymer models.
The potential energy between two bonded particles is given by
\[u_\textrm{FENE}=-\frac{1}{2}k_{12}r_{0,12}^2 \ln{\left[1-\left(\frac{r_{12}}{r_{0,12}}\right)^2\right]} +4\epsilon_{12}\left[\left(\frac{\sigma_{12}}{r_{12}}\right)^{12} -\left(\frac{\sigma_{12}}{r_{12}}\right)^6\right]+\epsilon_{12}\]where \(k_{12}\) is the bond coefficient in \(\textrm{kJ}/(\textrm{nm}^2\cdot\textrm{mol})\), \(r_{0,12}\) is the equilibrium bond length in \(\textrm{nm}\), \(\sigma_{12}\) is the average particle size in \(\textrm{nm}\), and \(\epsilon_{12}\) is the dispersion energy in \(\textrm{kJ/mol}\). \(k_{12}\), \(r_{0,12}\), \(\sigma_{12}\) and \(\epsilon_{12}\) are determined from per-bond and per-particle parameters k, r0, sigma and epsilon, respectively, which are set using
openmm.openmm.CustomBondForce.addBond()
andopenmm.openmm.NonbondedForce.addParticle()
.- Parameters:
- global_argsdict, optional
Constant values \(k_{12}\) and \(r_{0,12}\) to use instead of per-bond parameters. The corresponding per-bond parameters will not be registered, but the remaining per-bond parameters will still have to be provided in their default order.
- wcabool, default:
True
Determines whether the Weeks–Chandler–Andersen (WCA) potential is included.
- **kwargs
Keyword arguments to be passed to
mdhelper.openmm.pair.wca()
ifwca=True
.
- Returns:
- bond_feneopenmm.CustomBondForce
FENE bond potential.
- pair_wcaopenmm.CustomNonbondedForce
WCA pair potential, if
wca=True
.