Difference in Four-body potentials between GULP and LAMMPS

Dear Julian and other users,

I am using GULP to compute the single point energy and compare with lammps to verify that everything is set correctly in GULP.

the output shows everything is in good agreement with lammps (E_vdw, E_bond, E_coul, E_long,
E_angle), except for dihedral and improper (364.02438 kJ/mol and 4.84772 kJ/mol, respectively, in LAMMPS, and 138.47142112 kJ/mol in unitcell by GULP).

this is functional forms in LAMMPS and GULP:

the coeffs in lammps is
Dihedral Coeffs

1        6.737110              -1               2 # Cu4+2 O_2 C_R O_2
2        3.368555              -1               2 # H_ C_R C_R C_R
3        1.250000              -1               2 # C_R C_R C_R O_2

Improper Coeffs

1        2.000000        1.000000       -1.000000        0.000000   # H_ C_R C_R C_R

and what I set in GULP is:

uff4 bond kcal
Cu O C3 O 13.47422 2
H C1 C2 C3 6.737110 2
C1 C2 C3 O 2.500000 2

uffoop bond kcal
C1 H C2 C2 2.000000 1.000000 -1.000000 0.0

this is my full gin file
single.gin (11.2 KB)

and the asymmetric unit is:
image

I didn’t see anything wrong in gulp settings, and can anyone spot any mistake in these two parts of the input file?

wang

Hi Wang,
Here is a quick guide as to how to debug your input:

  1. Start with 1 potential at a time to check them individually as this makes it easier.
  2. Make sure the bonding matches otherwise things won’t work.
  3. You can use keyword such as “torsion” or “prt_four” in order to get extra debugging info for each potential.
  4. Using the above will allow you to manually work through things to check each term.
  5. A common problem with impropers is that GULP finds all valid potentials that meet the input criteria whereas some codes use only 1 or average over the possible matches & so this is something to keep an eye out for (when using wildcards then the “no4duplicate” keyword is important).
    Regards,
    Julian