-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
atomistic PRISM calculation, for determination of interaction parameter #17
Comments
Hi Arash-
|
thank you for your response Thomas, and for the document. |
Yes, I think a single-chain MD simulation of your polymer of interest solvated in water should be sufficient. You'll just need to make sure that you sample for long enough (get enough independent configurations) to make sure you have good statistics for all pairs of omega_i,j. Good luck! |
thank you for your response |
Absolutely! You should just keep in mind that, while the implementation of the calculation is optimized, it is still extremely computationally intensive. I have another c++ tool (https://github.com/martintb/correlate) that you should consider if you need to apply it to a large molecule.
This is a difficult question to answer. You need to ensure that enough time steps are included to properly sample all of the relevant configurations of the molecule. You should maybe test out including different numbers of snapshots and see how this affects the final omega. |
thank you Martin |
Convergence can be affected by many factors, including the spatial discretization (dr) and number of points used in defining the system, the strength of site-site interactions, the concentration of the system, choice of omega, choice of closure, etc. Go ahead to post your code, I can look/comment on it when I get a chance. Please include as much information about your system as possible so we can understand what you are trying to do. |
thank you Thomas. |
I have several comments:
|
Dear Thomas 3- I will try that, but for now, it could converge with low density of water. |
Good, glad that it is converging in some cases. You can also apply the same iteration idea with the density-- start with the converged state at low density and iterate up to as high a density as you can. I'm a little confused with the density question overall, however. The bulk density of the water beads makes sense (8000 water molecules in a 64 angstrom cubic box is close-ish to the experimental density of water), but something is strange with the sigma used in the water-water LJ potential. An LJ fluid of number density ~0.9 with an LJ sigma of ~1.5 is far too densely packed for any MD simulation. I would go back to the paper that lists the Martini model parameters and double check that you are interpreting/normalizing all the values correctly. |
thank you dear Thomas thank you so much for double checking, I referred to these papers for those values. |
Ah, I think I got it! Martini water has 4 water molecules per water bead. So, your water site density is 4x higher than it should be. Instead, you should have site density of water=(8000/4)/(64/3.1)^3=0.227. In terms of the negative g(r), you are correct that this is an unphysical result. There should not be any negative g(r) values. This is a signal that there are numerical issues preventing a good (physical) solution. This can sometimes be solved using the iteration scheme I mentioned above, where you start from a good solution and iterate to your desired system parameters. Or, you can try adjusting the number of points and grid spacing (dr) used in your definition of the system object. This can sometimes affect the numerical result. The key challenge in correctly using PRISM theory is testing these various parameters until you achieve a stable, physical result. Having another method or set of data (either from simulations or experiments) can be helpful in validating your results. |
Dear Thomas |
So, the difference between the Flory-Huggins chi and the effective chi that pyPRISM calculates is that the PRISM chi includes entropic and enthalpic effects and the Flory-Huggins chi only includes enthalpic effects. I believe we are relatively careful throughout the documentation of always using the phrase 'effective chi' but sometimes we say 'Flory effective chi'. With that said, the traditional Flory-Huggins chi is simply related to difference in well-depths of your interaction potentials. You should be able to calculate the Flory-Huggins chi from the values you set in the pyPRISM calculation. Sorry for the delayed response. Cheers! -Tyler |
Dear Thomas and Martin
3- is that possible to provide g(r) too in pyPRISM determined from MD as an input, and instead of iterative calculation of h(r) and c(r), only calculate c(r). I guess this way I could be closer to my MD simulation environment. do you think that could work? in the following my code, including information about the problem is provided. although, this could not converge by only one kicking off, I needed to cut the energy iteration counters to more intervals, but this is the my main script. P_W_36mers.txt |
You may be able to improve the agreement between MD and PRISM if you try other closures, though I have had reasonable success with the PY closure with similar systems. Additionally, since you have already run MD simulations with these systems, you could calculate the chain omega from the MD results and use the calculated omega within your pyPRISM calculation using the Omega.FromFile method, rather than using the ideal freely jointed chain model (see for example this paper: https://pubs.acs.org/doi/10.1021/acs.macromol.9b00600). The use of this more realistic omega may improve the agreement between the methods.
In terms of your other questions, I’m not sure if I understand what you mean by ‘this goal’. Is your goal still to calculate a polymer-water chi parameter? If so, you are correct that you can use MD results to directly calculate h(r) and then solve the PRISM equation to get c(r) and the corresponding chi parameter. However, you don’t need the pyPRISM software for this calculation, as you can code it yourself in a fairly simple script (no iterative numerical solution is required with this approach). See this paper for an example: https://pubs.rsc.org/en/content/articlelanding/2018/sm/c7sm02199b/unauth#!divAbstract
However, one downside of this MD-only approach is that very large simulation boxes are needed to provide reliable sampling of long length scale structural correlations that enable the chi calculation. I have found that for dilute polymer solutions, trying to get the c(r) directly from MD was extremely computationally demanding and resulted in large statistical uncertainty.
Hope this helps.
Best,
Tom
… On Jun 14, 2019, at 1:09 AM, arash303 ***@***.***> wrote:
Dear Thomas and Martin
thank you for your responses and helps so far, and explanation for chi in the above comment was so clear. thanks
In the past couple of weeks, I had to develop a good-working MD model for PEO-WATER and another polymers solutions, that I can compare them with my PRISM calculation too. now for PEO-WATER, my model is working pretty good, and can validate most of the results of the following paper (including figure 2 and table 3 results).
https://pubs.acs.org/doi/pdf/10.1021/jp9058966
the picture attached below is the comparison between rdf calculated from MD and PRISM theory. the trend of g(r) is in an agreement, but still there is a considerable deviation. how can I make my PRISM model work better. now I have the following questions
1-does using trajectory of MD simulation work for this goal?
2- is that possible to provide g(r) too in pyPRISM determined from MD as an input, and instead of iterative calculation for h(r) and c(r), only calculate c(r). I guess this way I could be closer to my MD simulation environment. do you think is that a good idea?
in the following my code, including information about the problem is provided. although, this could not converge but only one kicking off, I needed to cut the energy iteration counters to more intervals, but this is the my main script
P_W_36mers.txt
.
thank you so much for your following up
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Dear Thomas |
Hi
I am new user to pyPRISM and integral equation theory. thus my question may look simple, sorry about that in advance.
I have the following questions.
1-I would like to assign an atom to each site in my monomer, rather than coarse-grained simulation, for doing that, what is the appropriate OMEGA and why?
2-In the examples that I saw and the referenced papers, solvent (in my case water) is simulated implicitly, can pyPRISM get explicit Solvent sites, because eventually, I would like to determine interaction parameter between the POLYMER and WATER, so I need at least two components.
3- In atomistic simulation, how interaction parameter between monomer and water can be determined? Is that an average of interaction between all atoms of monomer with water? or what is that?
The reason I would like to do atomistic simulation is, eventually I want to compare my results with experimental results(radial distribution) that is existing for atoms, rather than group of atoms
thank you for your response
The text was updated successfully, but these errors were encountered: