pyPRISM.omega.FreelyJointedChain module¶
-
class
pyPRISM.omega.FreelyJointedChain.
FJC
(length, l)[source]¶ Bases:
pyPRISM.omega.FreelyJointedChain.FreelyJointedChain
Alias of FreelyJointedChain
-
class
pyPRISM.omega.FreelyJointedChain.
FreelyJointedChain
(length, l)[source]¶ Bases:
pyPRISM.omega.Omega.Omega
Freely jointed chain 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 = \frac{\sin(k l)}{k l}\]Variable Definitions
- \(\hat{\omega}(k)\)
- intra-molecular correlation function at wavenumber \(k\)
- \(N\)
- number of repeat units in chain
- \(l\)
- bond-length
Description
The freely-jointed chain is an ideal polymer chain model that assumes a constant bond length \(l\) and no correlations between the directions of different bond vectors (i.e. \(<cos(\theta_{ij})>=0\)). In other words, monomer segments are assumed to have 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 [link]
- 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.FreelyJointedChain(length=100,l=1.0) 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.FreelyJointedChain(length=100,l=1.0)