pyPRISM.potential.Exponential module

class pyPRISM.potential.Exponential.Exponential(epsilon, alpha, sigma=None, high_value=1000000.0)[source]

Bases: pyPRISM.potential.Potential.Potential

Exponential attractive interactions

Mathematical Definition

\[U_{\alpha,\beta}(r \geq \sigma_{\alpha,\beta}) = \epsilon_{\alpha,\beta} \exp\left(- \frac{r-\sigma_{\alpha,\beta}}{\alpha}\right)\]
\[U_{\alpha,\beta}(r < \sigma_{\alpha,\beta}) = C^{high}\]

Variable Definitions

\(\alpha\)
Width of exponential attraction
\(\sigma_{\alpha,\beta}\)
Contact distance of interactions between sites \(\alpha\) and \(\beta\).
\(\epsilon_{\alpha,\beta}\)
Interaction strength between sites \(\alpha\) and \(\beta\).
\(C^{high}\)
High value used to approximate an infinite potential due to overlap

Description

This potential models an exponential-like attraction between sites with a specified site size and contact distance. For example, in Reference [1] this potential is used to model the attraction between a nanoparticle and monomers of a polymer chain.

References

  1. Hooper, J.B. and K.S. Schweizer, Theory of phase separation in polymer nanocomposites. Macromolecules, 2006. 39(15): p. 5133-5142. [link]

Example

import pyPRISM

#Define a PRISM system and set the A-B interaction potential
sys = pyPRISM.System(['A','B'],kT=1.0)
sys.domain = pyPRISM.Domain(dr=0.1,length=1024)
sys.potential['A','B'] = pyPRISM.potential.Exponential(epsilon=1.0,sigma=8.0,alpha=0.5,high_value=10**6)

Warning

If sigma is specified such that it does not fall on the solution grid of the Domain object specified in System, then the sigma will effectively be rounded. A warning should be emitted during the construction of a PRISM object if this occurs.

__init__(epsilon, alpha, sigma=None, high_value=1000000.0)[source]

Constructor

Parameters:
  • epsilon (float) – Strength of attraction
  • alpha (float) – Range of attraction
  • sigma (float, optional) – Contact distance. If not specified, sigma will be calculated from the diameters specified in the System object.
  • high_value (float, optional) – High value used to approximate an infinite potential due to overlap
calculate(r)[source]

Calculate the value of the potential

r

Array of pair distances at which to calculate potential values

Type:float np.ndarray