low-gradient correction for reaxff/c (UNCLASSIFIED)

Classification: UNCLASSIFIED
Caveats: NONE

Hello,

I am trying to use the keyword lgvdw to turn on the low gradient correction of the ReaxFF/C for long range London Dispersion. When I do this I get the following output error:

"Warning: inconsistent vdWaals-parameters Force field parameters for element SI indicate shielding without inner wall, but earlier atoms indicate different vdWaals-method.
This may cause division-by-zero errors.
Keeping vdWaals-setting for earlier atoms."

Which is repeated several times where at times the element SI is replaced by element X

The input structure in the data file that I use does not even use the element SI or X.

I am using the ffield.reax.lg file that comes with LAMMPS.

Here is my input file:

# STATE 0
# set equilibrium conditions

variable p equal 1.0
variable pdamp equal 500
variable T equal 298
variable Tdamp equal 100
variable volume equal vol # the current volume (don't change) variable totalEnergy equal etotal # total energy (don't change)

# output setting for averaging
variable avefreq equal 1

units real
atom_style full

# read restart or data file
read_data data.s0
#read_restart s0a.rst

pair_style reax/c NULL lgvdw yes
pair_coeff * * ffield.reax.lg 2 1 1 1 3 3 1 1

# optionally compute reax energies
# compute reax all pair reax/c

neighbor 2.5 bin
neigh_modify every 10 delay 0 check yes

# charge equilbration
fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c

# print output to stdout
thermo 100

# write output to file
dump 1 all atom 10000 s0.lammpstrj
dump 2 all xtc 1000 s0.xtc
timestep 0.1

fix 3 all npt temp $T $T $Tdamp iso $p $p $pdamp

# time averages
fix 4 all ave/time 1 \{avefreq\} {avefreq} c_thermo_press v_volume v_totalEnergy c_thermo_temp file s0.ave title1 "State 0: Step Pressure Volume Energy Temp"

# toggle writing between two restart files # safe since timeout could occur while writing one

restart 100 s0a.rst s0b.rst

run 100000

where the data file looks like this:

LAMMPS data file

5416 atoms

8 atom types

-6.5102778819816720e-01 3.7673027788192748e+01 xlo xhi
-6.5102778819816720e-01 3.7673027788192748e+01 ylo yhi
-6.5102778819816720e-01 3.7673027788192748e+01 zlo zhi

Masses

1 1.00797
2 12.0112
3 12.0112
4 12.0112
5 15.9994
6 15.9994
7 12.0112
8 12.0112

Atoms

534 1 7 -1.0600000000000000e-01 3.1529072596819039e+00 3.7346248194626006e+00 2.4466532725122034e+00 2 0 0 Etc...

Any suggestions for what I can be doing incorrectly?

Thanks,
Tanya

Classification: UNCLASSIFIED
Caveats: NONE

Hi Tanya,

As long as you are using "lgvdw yes" with "ffield.reax.lg" you are on the right track. Low gradient correction vdw was optimized for energetic materials, and it is just sending a warning message about it's Si and X lgvdw parameters.

The original developer, Sergey Zybin at Caltech (cc'd) can comment or correct me if I am wrong.

Best,
Ray

Hello,

I am very new in MD field. I was wondering how Lammps calculates stress/pressure tensor of a unit cell. Suppose that I have a system of polymer chains with a rigid inclusion created by treating a set of atoms rigid by fix_rigid command.
Does Lammps take the internal forces, which keep the distances between atoms in the rigid body fix, into account when calculates the virial term, say r_ij*f_ij ?

Please give me an explanation

PS, Are there any good ways to calculate stress tensor of heterogeneous system, say, polymer with rigid inclusion ?
Is Non-equilibrium MD better than equilibrium when one wants to calculate shear stress ?

Thank you so much
Wiroj Nantasetphong

Hello,

I am very new in MD field. I was wondering how Lammps calculates
stress/pressure tensor of a unit cell. Suppose that I have a system of
polymer chains with a rigid inclusion created by treating a set of atoms
rigid by fix_rigid command.
Does Lammps take the internal forces, which keep the distances between atoms
in the rigid body fix, into account when calculates the virial term, say
r_ij*f_ij ?

two comments:
a) this is not how fix rigid works. fix rigid first computes the
    total force and torque on the/each rigid object and then
    integrates the equations of motion according to that.
    all internal forces cancel out with this procedure.

b) whether contributions of the internal interactions are considered
    in the stress tensor depends on whether you compute them.
    by default they are, but you can use "neigh_modify exclude"
    with the appropriate flags, to exclude them. excluding is what
    i saw most people do and it makes the most sense to me.

Please give me an explanation

for more details, please have a closer look at the corresponding
sections in the manual. it may take a bit extra time and sometimes
the obvious parts are not always that obvious, but it is usually
worth it.

PS, Are there any good ways to calculate stress tensor of heterogeneous
system, say, polymer with rigid inclusion ?

i don't understand the question?

Is Non-equilibrium MD better than equilibrium when one wants to calculate
shear stress ?

i have no experience with this.
perhaps somebody else can comment.

cheers,
    axel.

Hi Wiroj,

PS, Are there any good ways to calculate stress tensor of heterogeneous
system, say, polymer with rigid inclusion ?

i don’t understand the question?

Lammps’ method for calculating system-averaged stress is just as valid for heterogeneous systems as homogeneous. As for it’s per-atom compute that uses the per-atom portion of the virial stress, that is certainly implemented correctly and as applicable for both types as well. However, the per-atom stress has some consistency issues with continuum definitions of stress that have been discussed at length in the literature (see articles by myself, Admal & Tadmor, Murdoch, Zhou, and others).

Is Non-equilibrium MD better than equilibrium when one wants to calculate
shear stress ?

i have no experience with this.
perhaps somebody else can comment.

Most of the virial-based definitions for stress (the ones in LAMMPS) are consistent with continuum definitions for stress only in the equilibrium limit. However, their use in non-equilibrium situations is quite common and generally produce decent results. There are other definitions for atomistic-based stress (using spatial and temporal averaging of sub-volumes) that can be found in the articles referred to above that are valid for non-equilibrium cases.

Good luck,

Jon Zimmerman

I'll just add that fix rigid does contribute a term
to the virial (pressure) of the system, which
is accounted for. It is effectively the term
due to constraint forces that keep the body
rigid, similar to SHAKE constraint forces.

Steve