Three body potential counting

Dear Prof Gale,

I have a question regarding the way in which the three body potentials are dealt with in the program. I understand that in a typical line like ‘atom1 atom2 atom3 k theta’ it is atom1 which is at the centre of the triad. My question is whether there is any double counting of three body potentials in the following input file of a primitive cubic lattice:

opti conp bond property
12.946 12.946 12.946 90.00 90.00 90.00 1 1 1 1 1 1
Zr001 core 0.5 0.5 0.5 0.0
name mof5.gin
pressure 0.0 GPa
Zr001 Zr001 2.376 12.946 15.0
Zr001 Zr001 Zr001 9.15 90.0 13.0 13.0 19.0
Zr001 Zr001 Zr001 9.15 180.0 12.0 13.0 12.0 13.0 25.0 26.0

Where I have specified the 90 and 180 degree bond angles between atoms in neighbouring cells. If notionally relative to atom1 we call the atom in the cell on the right atom2 and the atom in the cell on the left atom2, will the program count ‘atom1 atom2 atom3’ and ‘atom1 atom3 atom2’ as separate potentials or know to count only one of them?

Many thanks for your help,


Hi Robert,
There won’t be double counting of the 3-body potentials for atom1 atom2 atom3 & atom1 atom3 atom2 since GULP recognises that this is the same interaction. One comment on your input is that it’s a bad idea to use a harmonic 3-body potential for cases where the angle is 180 degrees as the derivatives can become ill-defined if the angle becomes exactly linear. For linear cases I would recommend using the “lin3” potential in GULP which can handle this case in a more stable way.