Intra-energy in GCMC


I am simulating methane in bulk conditions using the OPLSAA force field. For this purpose, I want to use the hybrid GCMC/NVT-MD method to account for bond and angle vibrations, ensuring the methane molecule is not considered rigid (fully flexible). However, my results are inconsistent with molecular dynamics simulations using the NPT ensemble (the density measurement is different).

I believe that the intra-molecular energy of the methane molecule is causing errors in my bulk density results. Therefore, I would appreciate any guidance on how to calculate the intra-energy of methane in the fix gcmc command or any other suggestions to improve my results.

Additionally, the input and log files are provided below.

Thank you.

CH4.txt (657 Bytes)
in.gcmc.ch4 (3.1 KB)
log.lammps (1.3 MB)

Inconsistent how ? The density you are measuring is different ? Also why do you think that intra-molecular energy is “causing errors” (which by the way is a strange way to formulate the issue) ?


Yes, the density measurement is different. I have compared the MD-NPT results of bulk methane at 363.15 K and 5 to 60 MPa with the NIST results, which are of good accuracy. However, using GCMC/NVT at the same pressure and temperature (using the Peng-Robinson equation of state), the density results differ greatly from the NIST results. Therefore, I think this can be due to intra-energy. Because I have experience working with Rigid FF (such as TraPPE) and GCMC simulations in LAMMPS, I have never encountered such a problem.

Lammps manual: When the mol keyword is used, the full_energy option also includes the intramolecular energy of inserted and deleted molecules, whereas this energy is not included when full_energy is not used. If this is not desired, the intra_energy keyword can be used to define an amount of energy that is subtracted from the final energy when a molecule is inserted, and subtracted from the initial energy when a molecule is deleted. For molecules that have a non-zero intramolecular energy, this will ensure roughly the same behavior whether or not the full_energy option is used.