SSAGESproject / SSAGES

Software Suite for Advanced General Ensemble Simulations
GNU General Public License v3.0
81 stars 28 forks source link

Unable to reacreate NaCl free energy surface using ABF #48

Closed wisecashew closed 11 months ago

wisecashew commented 11 months ago

I am trying to recreate the free energy surface as a function of distance between the two atoms, as laid out in the NaCl examples, in SSAGES/Examples/User/ABF/Example_NaCl/ABF_NaCl_LAMMPS_Example.

When I ran ssages using the provided json file, ABF_NaCl_1walker.json, the program ran, and I got the required F_out file. However, when I run python ABF_integrator.py -i F_out --npoints 40 --periodicity False, I get a free energy curve as a function of separation. The F_out file (F_out.txt) and the image generated by the ABF_integrator.py (G_integrated_CALC.png) is attached to this post. F_out.txt

On comparing the F_out file and the image generated by I generated versus the one present in the "Sample_Outputs" folder, I notice that the images are way off. Furthermore, the F_out file is different as well. The sample F_out starts at 0.247 and ends at 0.793. So I changed the CV_minimum, CV_maximum, CV_restraint_minimum, and CV_restraint_maximum to reflect this.

                "CV_lower_bounds" : [0.247],
                "CV_upper_bounds" : [0.794],
                "CV_bins" : [40],
                "CV_restraint_minimums" : [0.2],
                "CV_restraint_maximums" : [0.83],

However, after running this, I get a LAMMPS pressure error after energy minimization. Specifically, ERROR: Non-numeric pressure - simulation unstable.

For your convenience, I have also attached the Sample_Output image and F_out (sample) file (F_out_SAMPLE.txt), right here. G_integrated F_out_SAMPLE.txt

What is the reason for the discrepancy in the F_out file? Where am I going wrong? I would appreciate any advice you have for me!

wisecashew commented 11 months ago

As a sidenote, the ABF_integrator.py commands given in the Documentation need to be updated

ramongonzalezperez commented 11 months ago

The x-axis on Sample_Outputs/G_integrated.png represents distance in nm, and the y-axis represents energy values in kJ/mol.

The LAMMPS tutorial presents different units (Å and kcal/mol).

Furthermore, it's important to note that the example calculations are intended for tutorial purposes only. As such, a larger number of time steps was used for the Sample_Outputs directory plot to obtain a more accurate representation of the system's behavior.

wisecashew commented 11 months ago

Thank you for your response @ramongonzalezperez ! Running simulations longer helped improve the free energy curve.

ramongonzalezperez commented 11 months ago

No problem! I've noticed you've opened a few Issues recently. If you have any further questions or just want to chat about the code, feel free to reach out on Slack: https://ssagesteam.slack.com

wisecashew commented 11 months ago

Thanks @ramongonzalezperez! However, it seems like the Slack is only accessible by users with UChicago or UND email address...

pabloferz commented 11 months ago

Hi @wisecashew. Thank you for trying SSAGES!

We have GitHub discussions enabled https://github.com/SSAGESproject/SSAGES/discussions. These work better for general or quick questions than the GitHub Issues, so feel free to reach out there instead. If any particular discussion turns out to reveal an actual Issue, we can easily migrate them.