I was trying to understand how the GAFF force field was defined in the gaff.lib file (at gulp-6.1.2/Libraries/).
Two questions came up:

why in the section “epsilon kcal” every sigma (in fact r_min) value is multiplied by 2?
Amber uses the r_min notation, which is the same used by GULP once “lennard epsilon geometric 12 6 x13 kcal all 0.5 12.0” is defined.

I don’t understand this explanation:
“# NNB: In Amber one of two improper torsions is chosen whereas in GULP both improper angles are used but the force constant is halved.”
I was looking in both AMBER and GULP manuals and could not find the reason for dividing by 2 the force constant of the improper torsions.

Dear Alexa,
The difference in the sigmas is probably just because GULP’s combination rules takes the average of the sigma for each element (sigma_i + sigma_j)/2, whereas I suspect AMBER may include the factor of a half in the sigma so that they just get added.
For improper torsions, some codes just use 1 of several possible improper torsion angles for a set of atoms, whereas GULP will take all combinations that satisfy the criteria specified. Therefore to match the behaviour of other codes it’s necessary to divided by the multiplicity of the improper torsions.
Regards,
Julian

Alexa: Can you, please, let me know whatever you had successfully created some GULP input based on the GAFF force field ? I would like to see some samples …

Hi Michal, I did some tests, but I wasn’t exhaustive. So I suggest trying the following and thoroughly analyzing your system, compare with amber results if possible.

If you open the gulp installation folder, you will find a ‘Libraries/’ directory. There you will find a lot of force fields ready to use in gulp. Check it out in the file gulp-6.1.2/Libraries/gaff.lib, where the GAFF parameters are in gulp format.

So, after generating the RESP charges and setting the proper atom types for the atoms in your system, the FF can be defined as follows:

And just to add that the order of the atoms defined for the angles and for the impropers is different between AMBER and GULP codes. Check carefully both manuals to define them properly.

Dear Alexa
Thank you very much for your hints …
I had studied the gaff.lib carefuly …
Can you, please , post a whole GULP input ?
I mean one:

using gaff.lib

working wit periodic 3d structure (crystal)

describing the structur as the assymetric unit part + space group

I can not see any example doing this …
I am a bit afraid GULP does not work properly with symmetry operations = the symmetry generated atoms brakes the original fragments bonds …

If you do not have a periodic sample, please send at least a sample in vacuum …

Related question:
Do you assingn atom types and bord orders manualy, or do you have some engine for this ?