In PRISM, the molecular structure of molecules is encoded into intra-molecular correlation functions called \(\hat{\omega}(k)\). All connectivity and intra-molecular excluded volume is contained in these functions. During a PRISM calculation, \(\hat{\omega}(k)\) are specified as input and are held fixed during the solution procedure. While this leads to a decoupling of the intra-molecular and inter-molecular correlations within a given PRISM calculation, methods such as self-consistent PRISM offer a route to mitigating this potential problem. See Self-Consistent PRISM Method for more details.

pyPRISM offers several analytical form factors which are listed below. If you have an analytical \(\hat{\omega}(k)\) that is not listed, please consider filing an Issue on GitHub, implementing the \(\hat{\omega}(k)\) and sharing with the community. See Contributing for more details.

Alternatively, if no analytical form exists, \(\hat{\omega}(k)\) can be calculated using a simulation. The pyPRISM.trajectory.Debyer class implements the Debye summation method for calculating \(\hat{\omega}(k)\) from simulation.

Finally, the FromArray and FromFile classes exist for loading \(\hat{\omega}(k)\) calculated in memory or from another program.