pyPRISM.calculate.structure_factor module¶
-
pyPRISM.calculate.structure_factor.
structure_factor
(PRISM, normalize=True)[source]¶ Calculate the structure factor from a PRISM object
Parameters: - PRISM (pyPRISM.core.PRISM) – A solved PRISM object.
- normalize (bool) – normalize the structure factor by the site density
Returns: structureFactor – The full MatrixArray of structure factors
Return type: pyPRISM.core.MatrixArray
Mathematical Definition
\[\hat{s}_{\alpha,\beta}(k) = \rho^{site}_{\alpha,\beta} \hat{\omega}_{\alpha,\beta}(k) + \rho^{pair}_{\alpha,\beta} \hat{h}_{\alpha,\beta}(k)\]\[\hat{s}_{\alpha,\beta}^{norm}(k) = \hat{s}_{\alpha,\beta}(k) / \rho^{site}_{\alpha,\beta}\]Variable Definitions
- \(\hat{\omega}_{\alpha,\beta}(k)\)
- Intra-molecular correlation function between sites \(\alpha\) and \(\beta\) at a wavenumber \(k\)
- \(\hat{h}_{\alpha,\beta}(k)\)
- Total correlation function between sites \(\alpha\) and \(\beta\) at a wavenumber \(k\)
- \(\rho^{site}_{\alpha,\beta}\), \(\rho^{pair}_{\alpha,\beta}\)
- Sitewise and pairwise densities for sites \(\alpha\) and
\(\beta\). See
pyPRISM.core.Density
for details.
Description
The structure factor (\(\hat{s}_{\alpha,\beta}(k)\)) is a Fourier-space representation of the structural correlations between sites \(\alpha\) and \(\beta\). The \(\hat{s}_{\alpha,\beta}(k)\) can be related to the real-space pair correlation function through a Fourier transform. In the PRISM formalism, the \(\hat{s}_{\alpha,\beta}(k)\) can be calculated as the sum of the Fourier-space intra-molecular and total correlation functions, as shown above.Warning
Passing an unsolved PRISM object to this function will still produce output based on the default values of the attributes of the PRISM object.
References
- Chandler, D., Introduction to Modern Statistical Mechanics, Oxford U. Press, New York, 1987 [link]
- Schweizer, Curro, Integral equation theory of the structure and thermodynamics of polymer blends, J. Chem. Phys., 1989 91 (8) 5059 [link]
Example
import pyPRISM sys = pyPRISM.System(['A','B']) # ** populate system variables ** PRISM = sys.createPRISM() PRISM.solve() sk = pyPRISM.calculate.structure_factor(PRISM) sk_BB = sk['B','B']