MaginnGroup / Cassandra

Cassandra is a Monte Carlo package to conduct atomistic simulations.
https://cassandra.nd.edu/
GNU General Public License v3.0
41 stars 20 forks source link

Energy calculation in Cassandra #109

Closed ashomali closed 3 years ago

ashomali commented 3 years ago

Dear Developers,

I'm a Ph.D. student working on sorption in biopolymers. I've been doing molecular dynamics modeling on sorption in polymeric systems for past years (mainly with LAMMPS) and recently I've decided to migrate to Cassandra. first of all, I wanted to thank you for your clear user guide and examples which accelerated me in preparing my modeling tool. there are some questions regarding energy calculations in Cassandra that I find unclear and would be very thankful for If I can have your comments on it.

I start with my most important question:

1- I perform a MD + GCMC loop. first I add SPCE water with a specific chemical potential to my system with GCMC in Cassandra. afterward using a bash code I prepare the final product for GROMACS NPT. I repeat this loop to reach equilibrium. Since water molecule atoms move and vibrate during my MD section even when I use LINCS or RIGID algorithms to constrain the bonds. after some repetition, Cassandra finds the mismatch between mcf file and bond lengths in xyz and stops with an error. to solve this problem I can delete the bond and angle information from water spce. However, this results in previously bonded atoms in the same molecule to interact with lj and thus giving me very high energy and also problems with gcmc. To me, I can solve the problem by using intra-scaliing 0 0 0 0 instead of 0 0 0 1 to stop atoms interacting in the same molecule. (is this correct?) does this option neglect interaction within the same water molecule or all the interaction between different water molecules, too?

2-since all the above mentioned problems can happens in the solid structure of my polymer too can I use the same approach for my cellulose solid structure too?

3- strangely I found out that Cassandra gives me different energy values for wrap or unwrapped input files. If this is expected. should I always use unwrapped configurations for my simulations?

Again thanks for all your time and just wanted to add Cassandra is a very helpful and clear package and I'm happy to join your community

emarinri commented 3 years ago

Hello!

We're glad to hear that you're finding the code useful for your research! We like to use this GitHub space for development discussions and the Cassandra forum for users questions. Please use this forum for usage questions in the future!

Regarding your questions:

1-I can solve the problem by using intra-scaliing 0 0 0 0 instead of 0 0 0 1 to stop atoms interacting in the same molecule. (is this correct?) does this option neglect interaction within the same water molecule or all the interaction between different water molecules, too?

This option scales the intramolecular nonbonded interactions within the same species. Using 0 0 0 0 would indicate the code not to compute any of those interactions. To convince yourself, you could compute the configuration with the "normal" settings with Cassandra and with your settings and see if you get the same energies.

Our group developed a package to constraint the geometries of molecules of a given configuration so that they are consistent with the input configuration. This perhaps is helpful to you. If you decide to use this code and alter configurations between MC-MD runs, I would be careful to think about if detailed balance is not violated.

2-since all the above mentioned problems can happens in the solid structure of my polymer too can I use the same approach for my cellulose solid structure too?

I would guess so.

3- strangely I found out that Cassandra gives me different energy values for wrap or unwrapped input files. If this is expected. should I always use unwrapped configurations for my simulations?

Provide unwrapped configurations for your simulations.

ashomali commented 3 years ago

Thank you very much for your comments. sorry for posting in this section I actually tried to use Cassandra forums but for some reason, I can't find a way to signup to the forum. About the question number 1. I did as mentioned for the case of pure water NVT and NPT and there was no noticeable difference between results since only intramolecular terms are neglected and for rigid water, they are 0 anyway. Thanks again for your support.