usnistgov / pyPRISM

A framework for conducting polymer reference interaction site model (PRISM) calculations
Other
37 stars 20 forks source link

pyPRISM to RISM #23

Open Riperedo opened 5 months ago

Riperedo commented 5 months ago

Hi, I'm new to the study of integral equations theories. Can pyPRISM compute RISM site-site structures?

tgartner commented 4 months ago

Yes, provided that you appropriately specify your intramolecular correlation functions (omega)

Riperedo commented 4 months ago

Ok, so all I need is a well-defined omega. For example, in the book "Theory of Simple Liquids" by Hansen and McDonald, a section is dedicated to RISM. And for a molecule with intramolecular separation $L_{\alpha\beta}$ between sites $\alpha$ and $\beta$ we have

$ \hat{\omega}{\alpha\beta}(k) = \delta{\alpha\beta} + (1-\delta_{\alpha\beta})j0(L{\alpha\beta})$

Now, on the tutorial page, there are some examples where the setup before the actual calculus involves the definition of a specie "A", (or "B" and "C", ... depending on the components considered)

sys = pyPRISM.System(['A'],kT=1.0)
sys.domain = pyPRISM.Domain(dr=0.005,length=32768)
sys.diameter['A']      = 1.0
sys.potential['A','A'] = pyPRISM.potential.HardSphere()
sys.density['A']       = 0.8
sys.omega['A','A']     = pyPRISM.omega.SingleSite()
sys.closure['A','A']   = pyPRISM.closure.PY(apply_hard_core=True)

There is a part where the user can provide a numerical definition of omega, and pyPrism can do its best.

But I am still trying to understand, in the case of a dumbbell-shaped particle, if it must be entered as a monocomponent of two sites or two components with an omega defined as the book definition.

tgartner commented 4 months ago

You could do it either way, depending on whether or not you wanted to distinguish between the two sites in the dumbbell particle. If there was no reason to distinguish between them, then you could keep them as the same site type.