TIP4P interaction with other atoms (buckingham)

Dear all,

I need to define buckingham interaction between the oxygen in TIP4P and an atom type 3.

I define:

kspace_style pppm/tip4p 1e-5

pair_style hybrid buck/coul/long 8.5 lj/cut/tip4p/long 1 2 1 1 01546 8.5

pair_coeff 1 3 buck/coul/long 2.78e4 0.297 #TIP4P oxygen and type 3
pair_coeff 1 1 lj/cut/tip4p/long 0.18521 3.1589 #TIP4P oxygen - TIP4P oxygen

My question is: does specifying buck/coul/long take care of the shifted charge center for oxygen completely (both short and long range)?
But if that’s the case, then using lj/cut/coul/long instead of lj/cut/tip4p/long for 1-1 interaction should make no difference.

From this post: http://lammps.sandia.gov/threads/msg23956.html
it seems like it’s okey to do this.

Thank you in advance

Jamal

Dear all,

I need to define buckingham interaction between the oxygen in TIP4P and an
atom type 3.

I define:

kspace_style pppm/tip4p 1e-5

pair_style hybrid buck/coul/long 8.5 lj/cut/tip4p/long 1 2 1 1 01546 8.5

pair_coeff 1 3 buck/coul/long 2.78e4 0.297 tip4p oxygen
and type 3
pair_coeff 1 1 lj/cut/tip4p/long 0.18521 3.1589 tip4p oxygen
- TIP4P oxygen

My question is: does specifying buck/coul/long take care of the shifted
charge center for oxygen completely (both short and long range)?
But if that's the case, then using lj/cut/coul/long instead
of lj/cut/tip4p/long for 1-1 interaction should make no difference.

From this post: LAMMPS Molecular Dynamics Simulator
it seems like it's okey to do this.

​that depends on what your model is. with your setup, 1 3 interactions
using the buck/coul/long ​potential, will "see" only the oxygen and
hydrogen atoms and the charge on the M point will not be seen, but rather
assumed to be on the location of the oxygen atoms, since this is a
coul/long potential and not a tip4p/long potential.

if you don't want this, you have to describe your TIP4P model as explicit
4-site potential, time integrate it with fix rigid (since you cannot apply
SHAKE to that geometry) and then replace all tip4p variants (pair and
kspace) with the the regular ones.

axel.

Dear Dr. Axel,

You have said that:

"​that depends on what your model is. with your setup, 1 3 interactions using the buck/coul/long ​potential, will “see” only the oxygen and hydrogen atoms and the charge on the M point will not be seen, but rather assumed to be on the location of the oxygen atoms, since this is a coul/long potential and not a tip4p/long potential."​

So you mean that if one is using

“pair_coeff 1 3 buck/coul/long 2.78e4 0.297 #TIP4P oxygen and type 3”

Lammps will assume that the charge on the M point moves to the O point, or it will not neglect the force due to this charge?

Thanks,
Hai

Hello, Hai:

TIP4P water is normally specified like TIP3P water, with the M charge “assigned” to the O atom. The charge is moved only if a tip4p “aware” style is used. Otherwise, the force will be calculated, but that calculation will assume the charge is on the oxygen, not the displaced location assumed by tip4p.

—AEI

Dear Dr. Axel,

You have said that:

"​that depends on what your model is. with your setup, 1 3 interactions
using the buck/coul/long ​potential, will "see" only the oxygen and
hydrogen atoms and the charge on the M point will not be seen, but rather
assumed to be on the location of the oxygen atoms, since this is a
coul/long potential and not a tip4p/long potential."​

So you mean that if one is using

"pair_coeff 1 3 buck/coul/long 2.78e4 0.297 tip4p
oxygen and type 3"

Lammps will assume that the charge on the M point moves to the O point, or
it will not neglect the force due to this charge?

​this is not an "or" condition. it *will* consider the force due to the
assigned charge, but it will consider it at the O location, because that is
the only position that is known.​
​for coul/long styles there is no M point. the whole reason for tip4p/*
styles is that in this case the 4-th position, i.e. ​the M point, can be
inferred from the positions of the two hydrogens and the oxygen, yet this
is only done *inside* the style. this significantly reduces the number of
entries in the neighbor list and allows to use fix shake (instead of having
to use fix rigid), which can work with a larger time step.

axel.

Dear Dr. Axel and Ahmed,

Thank you so much for your explanations. It is clear to me, now!

Thanks,
Hai

Dear all,

Thank you for the comments.

Is there anything wrong with defining the coulombic interaction separately like this:

kspace_style pppm/tip4p 1e-5

pair_style hybrid buck 8.5 tip4p/long 1 2 1 1 01546 8.5 lj/cut 8.5

pair_coeff * * tip4p/long
pair_coeff 1 3 buck 2.78e4 0.297 #TIP4P oxygen and type 3
pair_coeff 1 1 lj/cut 0.18521 3.1589 #TIP4P oxygen - TIP4P oxygen

It seems to me that this way, we define ALL the coulombic interactions with a tip4p aware style. Please let me know if this is a good way to handle the issue.

Best,
Jamal

Dear all,

Thank you for the comments.

Is there anything wrong with defining the coulombic interaction separately
like this:

kspace_style pppm/tip4p 1e-5

pair_style hybrid buck 8.5 tip4p/long 1 2 1 1 01546 8.5 lj/cut 8.5

pair_coeff * * tip4p/long
pair_coeff 1 3 buck 2.78e4 0.297 tip4p oxygen and type 3
pair_coeff 1 1 lj/cut 0.18521 3.1589 tip4p oxygen - TIP4P
oxygen

It seems to me that this way, we define ALL the coulombic interactions
with a tip4p aware style. Please let me know if this is a good way to
handle the issue.

​no, it isn't. if anythin, you want hybrid/overlay, not plain hybrid. with
hybrid​ the following pair_coeff commands will *override* previous
settings, while hybrid/overlay will accumulate them.
also, pair_coeff 3 3 seems to be missing and what about 2 3?

axel.

Dear Axel,

Thanks for the comment.

I have the numbers for 2-3 and 3-3 in my run file. This is what I’m using now:

kspace_style pppm/tip4p 1e-5

pair_style hybrid/overlay buck 8.5 tip4p/long 1 2 1 1 01546 8.5 lj/cut 8.5

pair_coeff * * tip4p/long
pair_coeff 1 3 buck 2.78e4 0.297 #TIP4P oxygen and type 3
pair_coeff 1 1 lj/cut 0.18521 3.1589 #TIP4P oxygen - TIP4P oxygen

pair_coeff 3 3 buck xx xx #TIP4P oxygen and type 3
pair_coeff 2 3 buck xx xx #TIP4P oxygen - TIP4P oxygen

This seems fine now.