{ "info": { "author": "Tyler B. Martin", "author_email": "tyler.martin@nist.gov", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: Freely Distributable", "License :: Freeware", "License :: Public Domain", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: Microsoft", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 2 :: Only", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Chemistry", "Topic :: Scientific/Engineering :: Physics" ], "description": "
\n
\n
\n\n\n \n\n\n\n
\n\n\n\n
\n\n\n\n
\n\n\n\n
\n\n\n\n
\n\n\n\n
\nPolymer Reference Interaction Site Model (PRISM) theory describes the\nequilibrium spatial-correlations of liquid-like polymer systems including\nmelts, blends, solutions, block copolymers, ionomers, liquid crystal forming\npolymers and nanocomposites. Using PRISM theory, one can calculate\nthermodynamic (e.g., second virial coefficients, Flory-Huggins interaction\nparameters, potentials of mean force) and structural (eg., pair correlation\nfunctions, structure factors) information for these macromolecular materials.\npyPRISM is a Python-based, open-source framework for conducting PRISM theory\ncalculations. This framework aims to simplify PRISM-based studies by providing\na user-friendly scripting interface for setting up and numerically solving the\nPRISM equations. pyPRISM also provides data structures, functions, and classes\nthat streamline PRISM calculations, allowing pyPRISM to be extended for use in\nother tasks such as the coarse-graining of atomistic simulation force-fields or\nthe modeling of experimental scattering data. The goal of this framework is to\nreduce the barrier to correctly and appropriately using PRISM theory and to\nprovide a platform for rapid calculations of the structure and thermodynamics\nof polymeric fluids and nanocomposites. \n
\n\nIf you use pyPRISM in your work, we ask that you please cite both of the following articles
\n\n1. Martin, T.B.; Gartner, T.E III; Jones, R.L.; Snyder, C.R.; Jayaraman, A.;\n pyPRISM: A Computational Tool for Liquid State Theory Calculations of\n Macromolecular Materials [link](https://dx.doi.org/10.1021/acs.macromol.8b00011)\n\n2. Schweizer, K.S.; Curro, J.G.; Integral Equation Theory of the Structure of\n Polymer Melts, Physical Review Letters, 1987, 58 (3) p246-249 [link](https://doi.org/10.1103/PhysRevLett.58.246)\n\n\nExample\n=======\nBelow is an example python script where we use pyPRISM to calculate the pair\ncorrelation functions for a nanocomposite (polymer + particle) system with\nattractive polymer-particle interactions. Below the script is a plot of the\npair correlation functions from this calculation.\n\n```python\nimport pyPRISM\nfrom pyPRISM.calculate.pair_correlation import pair_correlation\n\nsys = pyPRISM.System(['particle','polymer'],kT=1.0)\nsys.domain = pyPRISM.Domain(dr=0.01,length=4096)\n \nsys.density['polymer'] = 0.75\nsys.density['particle'] = 6e-6\n\nsys.diameter['polymer'] = 1.0\nsys.diameter['particle'] = 5.0\n\nsys.omega['polymer','polymer'] = pyPRISM.omega.FreelyJointedChain(length=100,l=4.0/3.0)\nsys.omega['polymer','particle'] = pyPRISM.omega.InterMolecular()\nsys.omega['particle','particle'] = pyPRISM.omega.SingleSite()\n\nsys.potential['polymer','polymer'] = pyPRISM.potential.HardSphere(sigma=1.0)\nsys.potential['polymer','particle'] = pyPRISM.potential.Exponential(sigma=3.0,alpha=0.5,epsilon=1.0)\nsys.potential['particle','particle'] = pyPRISM.potential.HardSphere(sigma=5.0)\n\nsys.closure['polymer','polymer'] = pyPRISM.closure.PercusYevick()\nsys.closure['polymer','particle'] = pyPRISM.closure.PercusYevick()\nsys.closure['particle','particle'] = pyPRISM.closure.HyperNettedChain()\n\nPRISM = sys.createPRISM()\n\nPRISM.solve()\n\npcf = pyPRISM.calculate.prism.pair_correlation(PRISM)\n```\n\n
\n