Thanks for the reply. I agree with you that the functional forms of
dihedrals and impropers are the same in AMBER.
If it helps, recent versions of LAMMPS comes with a tool for
generating topology and assigning AMBER (GAFF) force-field parameters
to molecules. (It is located in "tools/moltemplate". See below.)
As I see it, the main remaining difficulty with setting up
simulations in AMBER is assigning the partial charges to each atom.
AMBER simulations are typically set up using AmberTools, and if my
understanding is correct, that program uses some kind of
quantum-chemistry calculation to calculate the charge on each atom.
However if you have some other way to generate the charges, then don't
worry about this issue.
As for impropers, I have been using "improper_style cvff" for AMBER
improper interactions.
The functional form may be the same, however amber dihedrals sometimes
have multiple cosine terms in the expansion. (For this reason,
moltemplate uses "dihedral_style fourier" when using AMBER instead of
"dihedral_style charmm".)
However, this is not necessary for impropers. Improper interactions
in AMBER are only used to enforce planarity and a single cosine term
is enough.
So is it fine if i put the
improper torsional parameters under the dihedral section in LAMMPS data file
and run the simulations.
Is there a reason you don't want to use "improper_style cvff?"
You could implement improper interactions using dihedrals, however
dihedral interactions in LAMMPS can sometimes can weaken or disable
pair interactions between the first and last atoms in the list.
(However in your case, I think you do not have to worry about this
issue UNLESS you are using "dihedral_style charmm", or unless you are
using special_bonds with "dihedral yes", -something which is not
recommended in your case.)
---- more advertisement for moltemplate ----
Defining improper interactions correctly by hand can be difficult,
and highly force-field dependent. It took me multiple iterations of
bugs and corrections (emails from users) to get it right. (Hopefully
it is finally right.)
If you are trying to build molecules using the AMBER force-fields,
please take a look at the "force_field_AMBER" examples that come with
moltemplate. (They should be in the
"tools/moltemplate/examples/all_atom_examples/force_field_AMBER"
directory, or downloadable at moltemplate.org). You can override and
modify how these force-field parameters are assigned. Unless
overridden, force-field parameters are assigned by atom type, so you
must read the "gaff.lt" file (in the "tools/moltemplate/common"
directory), and figure out which atom type corresponds to each atom in
your molecule. Currently I have only tried using the GAFF
force-field, however I think the other related AMBER force-fields
(.frcmod files) can be converted into moltemplate (.lt format) as well
(using the python scripts in the "tools/moltemplate/common/amber/"
subdirectory).
(As for the atomic charges, I have been looking up atomic charges
by scanning through the atom types in OPLSAA. I get this information
from http://dasher.wustl.edu/ffe/distribution/params/oplsaa.prm and I
look up the charges for the atom type stored in the "charge" section,
and using the descriptions of each atom in the "atom" section. Let me
know if there are better ways to generate these partial charges.)
If you prefer to define the force-field parameters yourself,
that's fine. If it helps, moltemplate uses these settings when using
the AMBER force-field (stored the end of the "common/gaff.lt" file):
atom_style full
bond_style harmonic
angle_style harmonic
dihedral_style fourier
improper_style cvff
pair_style lj/charmm/coul/long 9.0 10.0 10.0
kspace_style pppm 0.0001
pair_modify mix arithmetic
special_bonds amber
Note: this differs from the suggestions on this web page:
Either way should work, as long as you are careful defining your
dihedral interactions.
Good luck!
Andrew