pyPRISM.omega.GaussianRing module¶
-
class
pyPRISM.omega.GaussianRing.
GaussianRing
(sigma, length)[source]¶ Bases:
pyPRISM.omega.Omega.Omega
Gaussian ring polymer intra-molecular correlation function
Mathematical Definition
\[\hat{\omega}(k) = 1+2N^{-1}\sum_{t=1}^{N-1}(N-t)\exp(\frac{-k^2\sigma^2t(N-t)}{6N})\]Variable Definitions
- \(\hat{\omega}(k)\)
- intra-molecular correlation function at wavenumber \(k\)
- \(N\)
- number of monomers/sites in gaussian ring
- \(\sigma\)
- contact distance between sites (i.e. site diameter)
Description
The Gaussian ring is an ideal model for a cyclic chain that assumes a random walk between successive monomer segments along the chain, constrained such that ends join together to form a ring with no intra-molecular excluded volume.
References
Schweizer, K.S.; Curro, J.G.; Integral-Equation Theory of Polymer Melts - Intramolecular Structure, Local Order, and the Correlation Hole, Macromolecules, 1988, 21 (10), pp 3070, doi:10.1021/ma00188a027
Example
import pyPRISM import numpy as np import matplotlib.pyplot as plt #calculate Fourier space domain and omega values domain = pyPRISM.domain(dr=0.1,length=1000) omega = pyPRISM.omega.GaussianRing(sigma=1.0,length=100) x = domain.k y = omega.calculate(x) #plot it! plt.plot(x,y) plt.gca().set_xscale("log", nonposx='clip') plt.gca().set_yscale("log", nonposy='clip') plt.show() #Define a PRISM system and set omega(k) for type A sys = pyPRISM.System(['A','B'],kT=1.0) sys.domain = pyPRISM.Domain(dr=0.1,length=1024) sys.omega['A','A'] = pyPRISM.omega.GaussianRing(sigma=1.0,length=100)