pyPRISM.omega.Gaussian module

class pyPRISM.omega.Gaussian.Gaussian(sigma, length)[source]

Bases: pyPRISM.omega.Omega.Omega

Gaussian intra-molecular correlation function

Mathematical Definition

\[\hat{\omega}(k) = \frac{1 - E^2 - \frac{2E}{N} + \frac{2E^{N+1}}{N}}{(1-E)^2}\]
\[E = \exp(-k^2\sigma^2/6)\]

Variable Definitions

  • \(\hat{\omega}(k)\)
    intra-molecular correlation function at wavenumber \(k\)
  • \(N\)
    number of monomers/sites in gaussian chain
  • \(\sigma\)
    contact distance between sites (i.e. site diameter)

Description

The Gaussian chain is an ideal polymer chain model that assumes a random walk between successive monomer segments along the chain with no intra-molecular excluded volume.

References

  1. 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 [link]
  2. Rubinstein, M; Colby, R.H; Polymer Physics. 2003. Oxford University Press.

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.Gaussian(sigma=1.0,length=100)
x = domain.k
y = omega.calculate(x)

#plot using matplotlib
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.Gaussian(sigma=1.0,length=100)
__init__(sigma, length)[source]

Constructor

Parameters:
  • sigma (float) – contact distance between sites (site diameter)
  • length (float) – number of monomers/sites in gaussian chain
calculate(k)[source]

Return value of \(\hat{\omega}\) at supplied \(k\)

Parameters:k (np.ndarray) – array of wavenumber values to calculate \(\omega\) at