diff --git a/doc/Eqs/pair_cs.jpg b/doc/Eqs/pair_cs.jpg new file mode 100644 index 0000000000..b870a3bdf4 Binary files /dev/null and b/doc/Eqs/pair_cs.jpg differ diff --git a/doc/Eqs/pair_cs.tex b/doc/Eqs/pair_cs.tex new file mode 100644 index 0000000000..b7eacb8d5b --- /dev/null +++ b/doc/Eqs/pair_cs.tex @@ -0,0 +1,9 @@ +\documentstyle[12pt]{article} + +\begin{document} + +$$ + E = \frac{C q_i q_j}{\epsilon (r + r_{min})} \qquad r \rightarrow 0 +$$ + +\end{document} diff --git a/doc/Section_commands.html b/doc/Section_commands.html index a51ad60fda..1c9a9fecb2 100644 --- a/doc/Section_commands.html +++ b/doc/Section_commands.html @@ -449,9 +449,9 @@ KOKKOS, o = USER-OMP, t = OPT. msd/chunkmsd/nongausspairpair/localpe (c)pe/atom plasticity/atompressure (c)property/atomproperty/localproperty/chunkrdf reducereduce/regionslicesna/atomsnad/atomsnav/atom -stress/atomtemp (c)temp/aspheretemp/comtemp/chunktemp/deform -temp/partial (c)temp/profiletemp/ramptemp/regiontemp/sphereti -torque/chunkvacfvcm/chunkvoronoi/atom +stress/atomtemp (c)temp/aspheretemp/comtemp/chunktemp/cs +temp/deformtemp/partial (c)temp/profiletemp/ramptemp/regiontemp/sphere +titorque/chunkvacfvcm/chunkvoronoi/atom

These are additional compute styles in USER packages, which can be @@ -478,30 +478,31 @@ KOKKOS, o = USER-OMP, t = OPT.

- - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
nonehybridhybrid/overlayadp (o)
airebo (o)beck (go)bodybop
born (go)born/coul/long (cgo)born/coul/msm (o)born/coul/wolf (go)
brownian (o)brownian/poly (o)buck (cgko)buck/coul/cut (cgo)
buck/coul/long (cgo)buck/coul/msm (o)buck/long/coul/long (o)colloid (go)
comb (o)comb3coul/cut (gko)coul/debye (go)
coul/dsf (gko)coul/long (go)coul/msmcoul/streitz
coul/wolf (ko)dpd (o)dpd/tstat (o)dsmc
eam (cgkot)eam/alloy (cgot)eam/fs (cgot)eim (o)
gauss (go)gayberne (gio)gran/hertz/history (o)gran/hooke (co)
gran/hooke/history (o)hbond/dreiding/lj (o)hbond/dreiding/morse (o)kim
lcbopline/lj (o)lj/charmm/coul/charmm (co)lj/charmm/coul/charmm/implicit (co)
lj/charmm/coul/long (cgio)lj/charmm/coul/msmlj/class2 (cgo)lj/class2/coul/cut (co)
lj/class2/coul/long (cgo)lj/cut (cgikot)lj/cut/coul/cut (cgko)lj/cut/coul/debye (cgo)
lj/cut/coul/dsf (go)lj/cut/coul/long (cgikot)lj/cut/coul/msm (go)lj/cut/dipole/cut (go)
lj/cut/dipole/longlj/cut/tip4p/cut (o)lj/cut/tip4p/long (ot)lj/expand (cgo)
lj/gromacs (cgo)lj/gromacs/coul/gromacs (co)lj/long/coul/long (o)lj/long/dipole/long
lj/long/tip4p/longlj/smooth (co)lj/smooth/linear (o)lj96/cut (cgo)
lubricate (o)lubricate/poly (o)lubricateUlubricateU/poly
meam (o)mie/cut (o)morse (cgot)nb3b/harmonic (o)
nm/cut (o)nm/cut/coul/cut (o)nm/cut/coul/long (o)peri/eps
peri/lps (o)peri/pmb (o)peri/vesreax
rebo (o)resquared (go)snapsoft (go)
sw (cgio)table (gko)tersoff (co)tersoff/mod (o)
tersoff/zbl (o)tip4p/cut (o)tip4p/long (o)tri/lj (o)
yukawa (go)yukawa/colloid (go)zbl (o) +
born (go)born/coul/long (cgo)born/coul/long/csborn/coul/msm (o)
born/coul/wolf (go)brownian (o)brownian/poly (o)buck (cgko)
buck/coul/cut (cgo)buck/coul/long (cgo)buck/coul/long/csbuck/coul/msm (o)
buck/long/coul/long (o)colloid (go)comb (o)comb3
coul/cut (gko)coul/debye (go)coul/dsf (gko)coul/long (go)
coul/msmcoul/streitzcoul/wolf (ko)dpd (o)
dpd/tstat (o)dsmceam (cgkot)eam/alloy (cgot)
eam/fs (cgot)eim (o)gauss (go)gayberne (gio)
gran/hertz/history (o)gran/hooke (co)gran/hooke/history (o)hbond/dreiding/lj (o)
hbond/dreiding/morse (o)kimlcbopline/lj (o)
lj/charmm/coul/charmm (co)lj/charmm/coul/charmm/implicit (co)lj/charmm/coul/long (cgio)lj/charmm/coul/msm
lj/class2 (cgo)lj/class2/coul/cut (co)lj/class2/coul/long (cgo)lj/cut (cgikot)
lj/cut/coul/cut (cgko)lj/cut/coul/debye (cgo)lj/cut/coul/dsf (go)lj/cut/coul/long (cgikot)
lj/cut/coul/msm (go)lj/cut/dipole/cut (go)lj/cut/dipole/longlj/cut/tip4p/cut (o)
lj/cut/tip4p/long (ot)lj/expand (cgo)lj/gromacs (cgo)lj/gromacs/coul/gromacs (co)
lj/long/coul/long (o)lj/long/dipole/longlj/long/tip4p/longlj/smooth (co)
lj/smooth/linear (o)lj96/cut (cgo)lubricate (o)lubricate/poly (o)
lubricateUlubricateU/polymeam (o)mie/cut (o)
morse (cgot)nb3b/harmonic (o)nm/cut (o)nm/cut/coul/cut (o)
nm/cut/coul/long (o)peri/epsperi/lps (o)peri/pmb (o)
peri/vesreaxrebo (o)resquared (go)
snapsoft (go)sw (cgio)table (gko)
tersoff (co)tersoff/mod (o)tersoff/zbl (o)tip4p/cut (o)
tip4p/long (o)tri/lj (o)yukawa (go)yukawa/colloid (go)
zbl (o)

These are additional pair styles in USER packages, which can be used diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt index fb527f942f..16940c4f62 100644 --- a/doc/Section_commands.txt +++ b/doc/Section_commands.txt @@ -681,6 +681,7 @@ KOKKOS, o = USER-OMP, t = OPT. "temp/asphere"_compute_temp_asphere.html, "temp/com"_compute_temp_com.html, "temp/chunk"_compute_temp_chunk.html, +"temp/cs"_compute_temp_cs.html, "temp/deform"_compute_temp_deform.html, "temp/partial (c)"_compute_temp_partial.html, "temp/profile"_compute_temp_profile.html, @@ -732,6 +733,7 @@ KOKKOS, o = USER-OMP, t = OPT. "bop"_pair_bop.html, "born (go)"_pair_born.html, "born/coul/long (cgo)"_pair_born.html, +"born/coul/long/cs"_pair_cs.html, "born/coul/msm (o)"_pair_born.html, "born/coul/wolf (go)"_pair_born.html, "brownian (o)"_pair_brownian.html, @@ -739,6 +741,7 @@ KOKKOS, o = USER-OMP, t = OPT. "buck (cgko)"_pair_buck.html, "buck/coul/cut (cgo)"_pair_buck.html, "buck/coul/long (cgo)"_pair_buck.html, +"buck/coul/long/cs"_pair_cs.html, "buck/coul/msm (o)"_pair_buck.html, "buck/long/coul/long (o)"_pair_buck_long.html, "colloid (go)"_pair_colloid.html, diff --git a/doc/Section_howto.html b/doc/Section_howto.html index 5836f9c4bc..59b4a73590 100644 --- a/doc/Section_howto.html +++ b/doc/Section_howto.html @@ -36,7 +36,8 @@ 6.21 Calculating viscosity
6.22 Calculating a diffusion coefficient
6.23 Using chunks to calculate system properties
-6.24 Setting parameters for the kspace_style pppm/disp command
+6.24 Setting parameters for the kspace_style pppm/disp command
+6.25 Adiabatic core/shell model

The example input scripts included in the LAMMPS distribution and highlighted in Section_example also show how to @@ -2418,6 +2419,191 @@ to specify this command explicitly.


+

6.25 Adiabatic core/shell model +

+

The adiabatic core-shell model by Mitchell and +Finchham is a simple method for adding +polarizability to a system. In order to mimic the electron shell of +an ion, a ghost atom is attached to it. This way the ions are split +into a core and a shell where the latter is meant to react to the +electrostatic environment inducing polarizability. +

+

Technically, shells are attached to the cores by a spring force f = +k*r where k is a parametrized spring constant and r is the distance +between the core and the shell. The charges of the core and the shell +add up to the ion charge, thus q(ion) = q(core) + q(shell). In a +similar fashion the mass of the ion is distributed on the core and the +shell with the core having the larger mass. +

+

To run this model in LAMMPS, atom_style full can +be used since atom charge and bonds are needed. Each kind of +core/shell pair requires two atom types and a bond type. The core and +shell of a core/shell pair should be bonded to each other with a +harmonic bond that provides the spring force. For example, a data file +for NaCl, as found in examples/coreshell, has this format: +

+
432   atoms  # core and shell atoms
+216   bonds  # number of core/shell springs 
+
+
4     atom types  # 2 cores and 2 shells for Na and Cl 
+2     bond types 
+
+
0.0 24.09597 xlo xhi
+0.0 24.09597 ylo yhi
+0.0 24.09597 zlo zhi 
+
+
Masses       # core/shell mass ratio = 0.1 
+
+
1 20.690784  # Na core
+2 31.90500   # Cl core
+3 2.298976   # Na shell
+4 3.54500    # Cl shell 
+
+
Atoms 
+
+
1    1    2   1.5005    0.00000000   0.00000000   0.00000000 # core of core/shell pair 1
+2    1    4  -2.5005    0.00000000   0.00000000   0.00000000 # shell of core/shell pair 1
+3    2    1   1.5056    4.01599500   4.01599500   4.01599500 # core of core/shell pair 2
+4    2    3  -0.5056    4.01599500   4.01599500   4.01599500 # shell of core/shell pair 2 
+(...) 
+
+
Bonds   # Bond topology for spring forces 
+
+
1     2     1     2   # spring for core/shell pair 1
+2     2     3     4   # spring for core/shell pair 2 
+(...) 
+
+

Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only +defined between the shells. Coulombic interactions are defined +between all cores and shells. If desired, additional bonds can be +specified between cores. +

+

The special_bonds command should be used to +turn-off the Coulombic interaction within core/shell pairs, since that +interaction is set by the bond spring. This is done using the +special_bonds command with a 1-2 weight = 0.0, +which is the default value. +

+

Since the core/shell model permits distances of r = 0.0 between the +core and shell, a pair style with a "cs" suffix needs to be used to +implement a valid long-range Coulombic correction. Several such pair +styles are provided in the CORESHELL package. See this doc +page for details. All of the core/shell enabled pair +styles require the use of a long-range Coulombic solver, as specified +by the kspace_style command. Either the PPPM or +Ewald solvers can be used. +

+

For the NaCL example problem, these pair style and bond style settings +are used: +

+
pair_style      born/coul/long/cs 20.0 20.0
+pair_coeff      * *      0.0 1.000   0.00  0.00   0.00
+pair_coeff      3 3    487.0 0.23768 0.00  1.05   0.50 #Na-Na
+pair_coeff      3 4 145134.0 0.23768 0.00  6.99   8.70 #Na-Cl
+pair_coeff      4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl 
+
+
bond_style      harmonic
+bond_coeff      1 63.014 0.0
+bond_coeff      2 25.724 0.0 
+
+

When running dynamics with the adiabatic core/shell model, the +following issues should be considered. Since the relative motion of +the core and shell particles corresponds to the polarization, typical +thermostats can alter the polarization behaviour, meaining the shell +will not react freely to its electrostatic environment. Therefore +it's typically desirable to decouple the relative motion of the +core/shell pair, which is an imaginary degree of freedom, from the +real physical system. To do that, the compute +temp/cs command can be used, in conjunction with +any of the thermostat fixes, such as fix nvt or fix +langevin. This compute uses the center-of-mass velocity +of the core/shell pairs to calculate a temperature, and insures that +velocity is what is rescaled for thermostatting purposes. The +compute temp/cs command requires input of two +groups, one for the core atoms, another for the shell atoms. These +can be defined using the group type command. Note that +to perform thermostatting using this definition of temperature, the +fix modify temp command should be used to assign the +comptue to the thermostat fix. Likewise the thermo_modify +temp command can be used to make this temperature +be output for the overall system. +

+

For the NaCl example, this can be done as follows: +

+
group cores type 1 2
+group shells type 3 4
+compute CSequ all temp/cs cores shells
+fix thermoberendsen all temp/berendsen 1427 1427 0.4    # thermostat for the true physical system
+fix thermostatequ all nve                               # integrator as needed for the berendsen thermostat
+fix_modify thermoberendsen temp CSequ
+thermo_modify temp CSequ                                # output of center-of-mass derived temperature 
+
+

When intializing the velocities of a system with core/shell pairs, it +is also desirable to not introduce energy into the relative motion of +the core/shell particles, but only assign a center-of-mass velocity to +the pairs. This can be done by using the bias keyword of the +velocity create command and assigning the compute +temp/cs command to the temp keyword of the +velocity commmand, e.g. +

+
velocity all create 1427 134 bias yes temp CSequ
+velocity all scale 1427 temp CSequ 
+
+

It is important to note that the polarizability of the core/shell +pairs is based on their relative motion. Therefore the choice of +spring force and mass ratio need to ensure much faster relative motion +of the 2 atoms within the core/shell pair than their center-of-mass +velocity. This allow the shells to effectively react instantaneously +to the electrostatic environment. This fast movement also limits the +timestep size that can be used. +

+

Additionally, the mass mismatch of the core and shell particles means +that only a small amount of energy is transfered to the decoupled +imaginary degrees of freedom. However, this transfer will typically +lead to a a small drift in total energy over time. This internal +energy can be monitored using the compute +chunk/atom and compute +temp/chunk commands. The internal kinetic +energies of each core/shell pair can then be summed using the sum() +special functino of the variable command. Or they can +be time/averaged and output using the fix ave/time +command. To use these commands, each core/shell pair must be defined +as a "chunk". If each core/shell pair is defined as its own molecule, +the molecule ID can be used to define the chunks. If cores are bonded +to each other to form larger molecules, then another way to define the +chunks is to use the fix property/atom to +assign a core/shell ID to each atom via a special field in the data +file read by the read_data command. This field can +then be accessed by the compute +property/atom command, to use as input to +the compute chunk/atom command to define the +core/shell pairs as chunks. +

+

For example, +

+
fix csinfo all property/atom i_CSID                       # property/atom command
+read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info  # atom property added in the data-file
+compute prop all property/atom i_CSID
+compute cs_chunk all chunk/atom c_prop
+compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0     # note the chosen degrees of freedom for the core/shell pairs
+fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector 
+
+

The additional section in the date file would be formatted like this: +

+
CS-Info         # header of additional section 
+
+
1   1           # column 1 = atom ID, column 2 = core/shell ID 
+2   1   
+3   2   
+4   2   
+5   3   
+6   3   
+7   4   
+8   4   
+(...) 
+
+
+
@@ -2463,4 +2649,9 @@ Phys, 79, 926 (1983).

(Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).

+ + +

(Mitchell and Finchham) Mitchell, Finchham, J Phys Condensed Matter, +5, 1031-1038 (1993). +

diff --git a/doc/Section_howto.txt b/doc/Section_howto.txt index 8b75465b5d..04c6212595 100644 --- a/doc/Section_howto.txt +++ b/doc/Section_howto.txt @@ -33,7 +33,8 @@ This section describes how to perform common tasks using LAMMPS. 6.21 "Calculating viscosity"_#howto_21 6.22 "Calculating a diffusion coefficient"_#howto_22 6.23 "Using chunks to calculate system properties"_#howto_23 -6.24 "Setting parameters for the kspace_style pppm/disp command"_#howto_24 :all(b) +6.24 "Setting parameters for the kspace_style pppm/disp command"_#howto_24 +6.25 "Adiabatic core/shell model"_#howto_25 :all(b) The example input scripts included in the LAMMPS distribution and highlighted in "Section_example"_Section_example.html also show how to @@ -2401,6 +2402,191 @@ Note that the code does not check automatically whether any mixing rule is fulfilled. If mixing rules do not apply, the user will have to specify this command explicitly. +:line + +6.25 Adiabatic core/shell model :link(howto_25),h4 + +The adiabatic core-shell model by "Mitchell and +Finchham"_#MitchellFinchham is a simple method for adding +polarizability to a system. In order to mimic the electron shell of +an ion, a ghost atom is attached to it. This way the ions are split +into a core and a shell where the latter is meant to react to the +electrostatic environment inducing polarizability. + +Technically, shells are attached to the cores by a spring force f = +k*r where k is a parametrized spring constant and r is the distance +between the core and the shell. The charges of the core and the shell +add up to the ion charge, thus q(ion) = q(core) + q(shell). In a +similar fashion the mass of the ion is distributed on the core and the +shell with the core having the larger mass. + +To run this model in LAMMPS, "atom_style"_atom_style.html {full} can +be used since atom charge and bonds are needed. Each kind of +core/shell pair requires two atom types and a bond type. The core and +shell of a core/shell pair should be bonded to each other with a +harmonic bond that provides the spring force. For example, a data file +for NaCl, as found in examples/coreshell, has this format: + +432 atoms # core and shell atoms +216 bonds # number of core/shell springs :pre + +4 atom types # 2 cores and 2 shells for Na and Cl +2 bond types :pre + +0.0 24.09597 xlo xhi +0.0 24.09597 ylo yhi +0.0 24.09597 zlo zhi :pre + +Masses # core/shell mass ratio = 0.1 :pre + +1 20.690784 # Na core +2 31.90500 # Cl core +3 2.298976 # Na shell +4 3.54500 # Cl shell :pre + +Atoms :pre + +1 1 2 1.5005 0.00000000 0.00000000 0.00000000 # core of core/shell pair 1 +2 1 4 -2.5005 0.00000000 0.00000000 0.00000000 # shell of core/shell pair 1 +3 2 1 1.5056 4.01599500 4.01599500 4.01599500 # core of core/shell pair 2 +4 2 3 -0.5056 4.01599500 4.01599500 4.01599500 # shell of core/shell pair 2 +(...) :pre + +Bonds # Bond topology for spring forces :pre + +1 2 1 2 # spring for core/shell pair 1 +2 2 3 4 # spring for core/shell pair 2 +(...) :pre + +Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only +defined between the shells. Coulombic interactions are defined +between all cores and shells. If desired, additional bonds can be +specified between cores. + +The "special_bonds"_special_bonds.html command should be used to +turn-off the Coulombic interaction within core/shell pairs, since that +interaction is set by the bond spring. This is done using the +"special_bonds"_special_bonds.html command with a 1-2 weight = 0.0, +which is the default value. + +Since the core/shell model permits distances of r = 0.0 between the +core and shell, a pair style with a "cs" suffix needs to be used to +implement a valid long-range Coulombic correction. Several such pair +styles are provided in the CORESHELL package. See "this doc +page"_pair_cs.html for details. All of the core/shell enabled pair +styles require the use of a long-range Coulombic solver, as specified +by the "kspace_style"_kspace_style.html command. Either the PPPM or +Ewald solvers can be used. + +For the NaCL example problem, these pair style and bond style settings +are used: + +pair_style born/coul/long/cs 20.0 20.0 +pair_coeff * * 0.0 1.000 0.00 0.00 0.00 +pair_coeff 3 3 487.0 0.23768 0.00 1.05 0.50 #Na-Na +pair_coeff 3 4 145134.0 0.23768 0.00 6.99 8.70 #Na-Cl +pair_coeff 4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl :pre + +bond_style harmonic +bond_coeff 1 63.014 0.0 +bond_coeff 2 25.724 0.0 :pre + +When running dynamics with the adiabatic core/shell model, the +following issues should be considered. Since the relative motion of +the core and shell particles corresponds to the polarization, typical +thermostats can alter the polarization behaviour, meaining the shell +will not react freely to its electrostatic environment. Therefore +it's typically desirable to decouple the relative motion of the +core/shell pair, which is an imaginary degree of freedom, from the +real physical system. To do that, the "compute +temp/cs"_compute_temp_cs.html command can be used, in conjunction with +any of the thermostat fixes, such as "fix nvt"_fix_nh.html or "fix +langevin"_fix_langevin. This compute uses the center-of-mass velocity +of the core/shell pairs to calculate a temperature, and insures that +velocity is what is rescaled for thermostatting purposes. The +"compute temp/cs"_compute_temp_cs.html command requires input of two +groups, one for the core atoms, another for the shell atoms. These +can be defined using the "group {type}"_group.html command. Note that +to perform thermostatting using this definition of temperature, the +"fix modify temp"_fix_modify.html command should be used to assign the +comptue to the thermostat fix. Likewise the "thermo_modify +temp"_thermo_modify.html command can be used to make this temperature +be output for the overall system. + +For the NaCl example, this can be done as follows: + +group cores type 1 2 +group shells type 3 4 +compute CSequ all temp/cs cores shells +fix thermoberendsen all temp/berendsen 1427 1427 0.4 # thermostat for the true physical system +fix thermostatequ all nve # integrator as needed for the berendsen thermostat +fix_modify thermoberendsen temp CSequ +thermo_modify temp CSequ # output of center-of-mass derived temperature :pre + +When intializing the velocities of a system with core/shell pairs, it +is also desirable to not introduce energy into the relative motion of +the core/shell particles, but only assign a center-of-mass velocity to +the pairs. This can be done by using the {bias} keyword of the +"velocity create"_velocity.html command and assigning the "compute +temp/cs"_compute_temp_cs.html command to the {temp} keyword of the +"velocity"_velocity.html commmand, e.g. + +velocity all create 1427 134 bias yes temp CSequ +velocity all scale 1427 temp CSequ :pre + +It is important to note that the polarizability of the core/shell +pairs is based on their relative motion. Therefore the choice of +spring force and mass ratio need to ensure much faster relative motion +of the 2 atoms within the core/shell pair than their center-of-mass +velocity. This allow the shells to effectively react instantaneously +to the electrostatic environment. This fast movement also limits the +timestep size that can be used. + +Additionally, the mass mismatch of the core and shell particles means +that only a small amount of energy is transfered to the decoupled +imaginary degrees of freedom. However, this transfer will typically +lead to a a small drift in total energy over time. This internal +energy can be monitored using the "compute +chunk/atom"_compute_chunk_atom.html and "compute +temp/chunk"_compute_temp_chunk.html commands. The internal kinetic +energies of each core/shell pair can then be summed using the sum() +special functino of the "variable"_variable.html command. Or they can +be time/averaged and output using the "fix ave/time"_fix_ave_time.html +command. To use these commands, each core/shell pair must be defined +as a "chunk". If each core/shell pair is defined as its own molecule, +the molecule ID can be used to define the chunks. If cores are bonded +to each other to form larger molecules, then another way to define the +chunks is to use the "fix property/atom"_fix_property_atom.html to +assign a core/shell ID to each atom via a special field in the data +file read by the "read_data"_read_data.html command. This field can +then be accessed by the "compute +property/atom"_compute_property_atom.html command, to use as input to +the "compute chunk/atom"_compute_chunk_atom.html command to define the +core/shell pairs as chunks. + +For example, + +fix csinfo all property/atom i_CSID # property/atom command +read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info # atom property added in the data-file +compute prop all property/atom i_CSID +compute cs_chunk all chunk/atom c_prop +compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0 # note the chosen degrees of freedom for the core/shell pairs +fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector :pre + +The additional section in the date file would be formatted like this: + +CS-Info # header of additional section :pre + +1 1 # column 1 = atom ID, column 2 = core/shell ID +2 1 +3 2 +4 2 +5 3 +6 3 +7 4 +8 4 +(...) :pre + :line :line @@ -2437,3 +2623,7 @@ Phys, 79, 926 (1983). :link(Shinoda) [(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). + +:link(MitchellFinchham) +[(Mitchell and Finchham)] Mitchell, Finchham, J Phys Condensed Matter, +5, 1031-1038 (1993). diff --git a/doc/Section_packages.html b/doc/Section_packages.html index 1b40c40b5a..dca0385ae5 100644 --- a/doc/Section_packages.html +++ b/doc/Section_packages.html @@ -44,26 +44,27 @@ packages, more details are provided.

- + + - - + + - + - - + + - + @@ -123,14 +124,14 @@ on how to build LAMMPS with both kinds of auxiliary libraries. - + - + - + diff --git a/doc/Section_packages.txt b/doc/Section_packages.txt index 0dde277cac..dbd2cac3b8 100644 --- a/doc/Section_packages.txt +++ b/doc/Section_packages.txt @@ -39,26 +39,27 @@ packages, more details are provided. The current list of standard packages is as follows: Package, Description, Author(s), Doc page, Example, Library -ASPHERE, aspherical particles, -, "Section_howto"_Section_howto.html#howto_14, ellipse, - +ASPHERE, aspherical particles, -, "Section_howto 6.14"_Section_howto.html#howto_14, ellipse, - BODY, body-style particles, -, "body"_body.html, body, - CLASS2, class 2 force fields, -, "pair_style lj/class2"_pair_class2.html, -, - COLLOID, colloidal particles, -, "atom_style colloid"_atom_style.html, colloid, - +CORESHELL, adiabatic core/shell model, Hendrik Heenen, "Section_howto 6.25"_Section_howto.html#howto_25, coreshell, - DIPOLE, point dipole particles, -, "pair_style dipole/cut"_pair_dipole.html, dipole, - FLD, Fast Lubrication Dynamics, Kumar & Bybee & Higdon (1), "pair_style lubricateU"_pair_lubricateU.html, -, - -GPU, GPU-enabled styles, Mike Brown (ORNL), "Section accelerate"_Section_accelerate.html#acc_6, gpu, lib/gpu -GRANULAR, granular systems, -, "Section_howto"_Section_howto.html#howto_6, pour, - +GPU, GPU-enabled styles, Mike Brown (ORNL), "Section accelerate"_accelerate_gpu.html, gpu, lib/gpu +GRANULAR, granular systems, -, "Section_howto 6.6"_Section_howto.html#howto_6, pour, - KIM, openKIM potentials, Smirichinski & Elliot & Tadmor (3), "pair_style kim"_pair_kim.html, kim, KIM -KOKKOS, Kokkos-enabled styles, Trott & Edwards (4), "Section_accelerate"_Section_accelerate.html#acc_8, kokkos, lib/kokkos +KOKKOS, Kokkos-enabled styles, Trott & Edwards (4), "Section_accelerate"_accelerate_kokkos.html, kokkos, lib/kokkos KSPACE, long-range Coulombic solvers, -, "kspace_style"_kspace_style.html, peptide, - MANYBODY, many-body potentials, -, "pair_style tersoff"_pair_tersoff.html, shear, - MEAM, modified EAM potential, Greg Wagner (Sandia), "pair_style meam"_pair_meam.html, meam, lib/meam MC, Monte Carlo options, -, "fix gcmc"_fix_gcmc.html, -, - -MOLECULE, molecular system force fields, -, "Section_howto"_Section_howto.html#howto_3, peptide, - -OPT, optimized pair styles, Fischer & Richie & Natoli (2), "Section accelerate"_Section_accelerate.html#acc_4, -, - +MOLECULE, molecular system force fields, -, "Section_howto 6.3"_Section_howto.html#howto_3, peptide, - +OPT, optimized pair styles, Fischer & Richie & Natoli (2), "Section accelerate"_accelerate_opt.html, -, - PERI, Peridynamics models, Mike Parks (Sandia), "pair_style peri"_pair_peri.html, peri, - POEMS, coupled rigid body motion, Rudra Mukherjee (JPL), "fix poems"_fix_poems.html, rigid, lib/poems REAX, ReaxFF potential, Aidan Thompson (Sandia), "pair_style reax"_pair_reax.html, reax, lib/reax -REPLICA, multi-replica methods, -, "Section_howto"_Section_howto.html#howto_5, tad, - +REPLICA, multi-replica methods, -, "Section_howto 6.5"_Section_howto.html#howto_5, tad, - RIGID, rigid bodies, -, "fix rigid"_fix_rigid.html, rigid, - SHOCK, shock loading methods, -, "fix msst"_fix_msst.html, -, - SNAP, quantum-fit potential, Aidan Thompson (Sandia), "pair snap"_pair_snap.html, snap, - @@ -115,14 +116,14 @@ USER-ATC, atom-to-continuum coupling, Jones & Templeton & Zimmerman (2), "fix at USER-AWPMD, wave-packet MD, Ilya Valuev (JIHT), "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, -, lib/awpmd USER-CG-CMM, coarse-graining model, Axel Kohlmeyer (Temple U), "pair_style lj/sdk"_pair_sdk.html, USER/cg-cmm, "cg"_cg, - USER-COLVARS, collective variables, Fiorin & Henin & Kohlmeyer (3), "fix colvars"_fix_colvars.html, USER/colvars, "colvars"_colvars, lib/colvars -USER-CUDA, NVIDIA GPU styles, Christian Trott (U Tech Ilmenau), "Section accelerate"_Section_accelerate.html#acc_7, USER/cuda, -, lib/cuda +USER-CUDA, NVIDIA GPU styles, Christian Trott (U Tech Ilmenau), "Section accelerate"_accelerate_cuda.html, USER/cuda, -, lib/cuda USER-EFF, electron force field, Andres Jaramillo-Botero (Caltech), "pair_style eff/cut"_pair_eff.html, USER/eff, "eff"_eff, - USER-FEP, free energy perturbation, Agilio Padua (U Blaise Pascal Clermont-Ferrand), "fix adapt/fep"_fix_adapt.html, USER/fep, -, - -USER-INTEL, Vectorized CPU and Intel(R) coprocessor styles, W. Michael Brown (Intel), "Section accelerate"_Section_accelerate.html#acc_9, examples/intel, -, - +USER-INTEL, Vectorized CPU and Intel(R) coprocessor styles, W. Michael Brown (Intel), "Section accelerate"_accelerate_intel.html, examples/intel, -, - USER-LB, Lattice Boltzmann fluid, Colin Denniston (U Western Ontario), "fix lb/fluid"_fix_lb_fluid.html, USER/lb, -, - USER-MISC, single-file contributions, USER-MISC/README, USER-MISC/README, -, -, - USER-MOLFILE, "VMD"_VMD molfile plug-ins, Axel Kohlmeyer (Temple U), "dump molfile"_dump_molfile.html, -, -, VMD-MOLFILE -USER-OMP, OpenMP threaded styles, Axel Kohlmeyer (Temple U), "Section accelerate"_Section_accelerate.html#acc_5, -, -, - +USER-OMP, OpenMP threaded styles, Axel Kohlmeyer (Temple U), "Section accelerate"_accelerate_omp.html, -, -, - USER-PHONON, phonon dynamical matrix, Ling-Ti Kong (Shanghai Jiao Tong U), "fix phonon"_fix_phonon.html, USER/phonon, -, - USER-QMMM, QM/MM coupling, Axel Kohlmeyer (Temple U), "fix qmmm"_fix_qmmm.html, USER/qmmm, -, lib/qmmm USER-QUIP, QM/MM coupling, Albert Bartok-Partay (U Cambridge), "fix quip"_fix_quip.html, USER/quip, -, lib/quip diff --git a/doc/compute_temp_cs.html b/doc/compute_temp_cs.html new file mode 100644 index 0000000000..5d46f1374d --- /dev/null +++ b/doc/compute_temp_cs.html @@ -0,0 +1,117 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

compute temp/cs command +

+

Syntax: +

+

compute ID group-ID temp/cs group1 group2 pre +

+ +

Examples: +

+
compute oxygen_c-s all temp/cs O_core O_shell
+compute core_shells all temp/cs cores shells 
+
+

Description: +

+

Define a computation that calculates the temperature of a system based +on the center-of-mass velocity of atom pairs that are bonded to each +other. This compute is designed to be used with the adiabatic +core/shell model of (Mitchell and Finchham). See +Section_howto 25 of the manual for an +overview of the model as implemented in LAMMPS. Specifically, this +compute enables correct temperature calculation and thermostatting of +core/shell pairs where it is desirable for the internal degrees of +freedom of the core/shell pairs to not be influenced by a thermostat. +A compute of this style can be used by any command that computes a +temperature via fix_modify e.g. fix +temp/rescale, fix npt, etc. +

+

For this compute, core and shell particles are specified by two +respective group IDs, which can be defined using the +group command. The number of atoms in the two groups +must be the same and there should be one bond defined between a pair +of atoms in the two groups. +

+

The temperature is calculated by the formula KE = dim/2 N k T, where +KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), +dim = 2 or 3 = dimensionality of the simulation, N = number of atoms +in the group, k = Boltzmann constant, and T = temperature. Note that +the velocity of each core or shell atom used in the KE calculation is +the velocity of the center-of-mass (COM) of the core/shell pair the +atom is part of. +

+

A kinetic energy tensor, stored as a 6-element vector, is also +calculated by this compute for use in the computation of a pressure +tensor. The formula for the components of the tensor is the same as +the above formula, except that v^2 is replaced by vx*vy for the xy +component, etc. The 6 components of the vector are ordered xx, yy, +zz, xy, xz, yz. Again, the velocity of each core or shell atom is its +COM velocity. +

+

The change this fix makes to core/shell atom velocities is essentially +computing the temperature after a "bias" has been removed from the +velocity of the atoms. This "bias" is the velocity of the atom +relative to the COM velocity of the core/shell pair. If this compute +is used with a fix command that performs thermostatting then this bias +will be subtracted from each atom, thermostatting of the remaining COM +velocity will be performed, and the bias will be added back in. This +means the thermostating will effectively be performed on the +core/shell pairs, instead of on the individual core and shell atoms. +Thermostatting fixes that work in this way include fix +nvt, fix temp/rescale, fix +temp/berendsen, and fix +langevin. +

+

The internal energy of core/shell pairs can be calculated by the +compute temp/chunk command, if chunks are +defined as core/shell pairs. See Section_howto +25 for more discussion on how to do this. +

+

Output info: +

+

This compute calculates a global scalar (the temperature) and a global +vector of length 6 (KE tensor), which can be accessed by indices 1-6. +These values can be used by any command that uses global scalar or +vector values from a compute as input. +

+

The scalar value calculated by this compute is "intensive". The +vector values are "extensive". +

+

The scalar value will be in temperature units. The +vector values will be in energy units. +

+

Restrictions: +

+

The number of core/shell pairs contributing to the temperature is +assumed to be constant for the duration of the run. No fixes should +be used which generate new molecules or atoms during a simulation. +

+

Related commands: +

+

compute temp, compute +temp/chunk +

+

Default: none +

+
+ + + +

(Mitchell and Finchham) Mitchell, Finchham, J Phys Condensed Matter, +5, 1031-1038 (1993). +

+ diff --git a/doc/compute_temp_cs.txt b/doc/compute_temp_cs.txt new file mode 100644 index 0000000000..4e880704a4 --- /dev/null +++ b/doc/compute_temp_cs.txt @@ -0,0 +1,111 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +compute temp/cs command :h3 + +[Syntax:] + +compute ID group-ID temp/cs group1 group2 pre + +ID, group-ID are documented in "compute"_compute.html command +temp/cs = style name of this compute command +group1 = group-ID of either cores or shells +group2 = group-ID of either shells or cores :ul + +[Examples:] + +compute oxygen_c-s all temp/cs O_core O_shell +compute core_shells all temp/cs cores shells :pre + +[Description:] + +Define a computation that calculates the temperature of a system based +on the center-of-mass velocity of atom pairs that are bonded to each +other. This compute is designed to be used with the adiabatic +core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham. See +"Section_howto 25"_Section_howto.html#howto_25 of the manual for an +overview of the model as implemented in LAMMPS. Specifically, this +compute enables correct temperature calculation and thermostatting of +core/shell pairs where it is desirable for the internal degrees of +freedom of the core/shell pairs to not be influenced by a thermostat. +A compute of this style can be used by any command that computes a +temperature via "fix_modify"_fix_modify.html e.g. "fix +temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc. + +For this compute, core and shell particles are specified by two +respective group IDs, which can be defined using the +"group"_group.html command. The number of atoms in the two groups +must be the same and there should be one bond defined between a pair +of atoms in the two groups. + +The temperature is calculated by the formula KE = dim/2 N k T, where +KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), +dim = 2 or 3 = dimensionality of the simulation, N = number of atoms +in the group, k = Boltzmann constant, and T = temperature. Note that +the velocity of each core or shell atom used in the KE calculation is +the velocity of the center-of-mass (COM) of the core/shell pair the +atom is part of. + +A kinetic energy tensor, stored as a 6-element vector, is also +calculated by this compute for use in the computation of a pressure +tensor. The formula for the components of the tensor is the same as +the above formula, except that v^2 is replaced by vx*vy for the xy +component, etc. The 6 components of the vector are ordered xx, yy, +zz, xy, xz, yz. Again, the velocity of each core or shell atom is its +COM velocity. + +The change this fix makes to core/shell atom velocities is essentially +computing the temperature after a "bias" has been removed from the +velocity of the atoms. This "bias" is the velocity of the atom +relative to the COM velocity of the core/shell pair. If this compute +is used with a fix command that performs thermostatting then this bias +will be subtracted from each atom, thermostatting of the remaining COM +velocity will be performed, and the bias will be added back in. This +means the thermostating will effectively be performed on the +core/shell pairs, instead of on the individual core and shell atoms. +Thermostatting fixes that work in this way include "fix +nvt"_fix_nh.html, "fix temp/rescale"_fix_temp_rescale.html, "fix +temp/berendsen"_fix_temp_berendsen.html, and "fix +langevin"_fix_langevin.html. + +The internal energy of core/shell pairs can be calculated by the +"compute temp/chunk"_compute_temp_chunk.html command, if chunks are +defined as core/shell pairs. See "Section_howto +25"_Section_howto.html#howto_25 for more discussion on how to do this. + +[Output info:] + +This compute calculates a global scalar (the temperature) and a global +vector of length 6 (KE tensor), which can be accessed by indices 1-6. +These values can be used by any command that uses global scalar or +vector values from a compute as input. + +The scalar value calculated by this compute is "intensive". The +vector values are "extensive". + +The scalar value will be in temperature "units"_units.html. The +vector values will be in energy "units"_units.html. + +[Restrictions:] + +The number of core/shell pairs contributing to the temperature is +assumed to be constant for the duration of the run. No fixes should +be used which generate new molecules or atoms during a simulation. + +[Related commands:] + +"compute temp"_compute_temp.html, "compute +temp/chunk"_compute_temp_chunk.html + +[Default:] none + +:line + +:link(MitchellFinchham) +[(Mitchell and Finchham)] Mitchell, Finchham, J Phys Condensed Matter, +5, 1031-1038 (1993). diff --git a/doc/fix_shake.html b/doc/fix_shake.html index 020ef7e870..064713a0e7 100644 --- a/doc/fix_shake.html +++ b/doc/fix_shake.html @@ -235,11 +235,10 @@ of SHAKE parameters and monitoring the energy versus time.

(Ryckaert) J.-P. Ryckaert, G. Ciccotti and H. J. C. Berendsen, -Journal of Computational Physics, 23, 327–341 (1977). +J of Comp Phys, 23, 327-341 (1977).

-

(Andersen) H. Andersen, -Journal of Computational Physics, 52, 24-34 (1983). +

(Andersen) H. Andersen, J of Comp Phys, 52, 24-34 (1983).

diff --git a/doc/fix_shake.txt b/doc/fix_shake.txt index 32c98711b4..6885305d73 100644 --- a/doc/fix_shake.txt +++ b/doc/fix_shake.txt @@ -218,8 +218,7 @@ of SHAKE parameters and monitoring the energy versus time. :link(Ryckaert) [(Ryckaert)] J.-P. Ryckaert, G. Ciccotti and H. J. C. Berendsen, -Journal of Computational Physics, 23, 327–341 (1977). +J of Comp Phys, 23, 327-341 (1977). :link(Andersen) -[(Andersen)] H. Andersen, -Journal of Computational Physics, 52, 24-34 (1983). +[(Andersen)] H. Andersen, J of Comp Phys, 52, 24-34 (1983). diff --git a/doc/pair_cs.html b/doc/pair_cs.html new file mode 100644 index 0000000000..8cc7b4f091 --- /dev/null +++ b/doc/pair_cs.html @@ -0,0 +1,91 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

pair_style born/coul/long/cs command +

+

pair_style buck/coul/long/cs command +

+

Syntax: +

+
pair_style style args 
+
+ +
  born/coul/long/cs args = cutoff (cutoff2)
+    cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
+    cutoff2 = global cutoff for Coulombic (optional) (distance units)
+  buck/coul/long/cs args = cutoff (cutoff2)
+    cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
+    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
+
+

Examples: +

+
pair_style born/coul/long/cs 10.0 8.0
+pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 
+
+
pair_style buck/coul/long/cs 10.0
+pair_style buck/coul/long/cs 10.0 8.0
+pair_coeff * * 100.0 1.5 200.0
+pair_coeff 1 1 100.0 1.5 200.0 9.0 
+
+

Description: +

+

These pair styles are designed to be used with the adiabatic +core/shell model of (Mitchell and Finchham). See +Section_howto 25 of the manual for an +overview of the model as implemented in LAMMPS. +

+

These pair styles are identical to the pair_style +born/coul/long and pair_style +buck/coul/long styles, except they correctly treat the +special case where the distance between two charged core and shell +atoms in the same core/shell pair approach r = 0.0. This needs +special treatment when a long-range solver for Coulombic interactions +is also used, i.e. via the kspace_style command. +

+

More specifically, the short-range Coulomb interaction between a core +and its shell should be turned off using the +special_bonds command by setting the 1-2 weight +to 0.0, which works because the core and shell atoms are bonded to +each other. This induces a long-range correction approximation which +fails at small distances (~< 10e-8). Therefore, the Coulomb term which +is used to calculate the correction factor is extended by a minimal +distance (r_min = 1.0-6) when the interaction between a core/shell +pair is treated, as follows +

+
+
+

where C is an energy-conversion constant, Qi and Qj are the charges on +the core and shell, epsilon is the dielectric constant and r_min is the +minimal distance. +

+

Restrictions: +

+

These pair styles are part of the CORESHELL package. They are only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

+

Related commands: +

+

pair_coeff, pair_style born, +pair_style buck +

+

Default: none +

+
+ + + +

(Mitchell and Finchham) Mitchell, Finchham, J Phys Condensed Matter, +5, 1031-1038 (1993). +

+ diff --git a/doc/pair_cs.txt b/doc/pair_cs.txt new file mode 100644 index 0000000000..9b9d78e17f --- /dev/null +++ b/doc/pair_cs.txt @@ -0,0 +1,83 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style born/coul/long/cs command :h3 +pair_style buck/coul/long/cs command :h3 + +[Syntax:] + +pair_style style args :pre + +style = {born/coul/long/cs} or {buck/coul/long/cs} +args = list of arguments for a particular style :ul + {born/coul/long/cs} args = cutoff (cutoff2) + cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) + {buck/coul/long/cs} args = cutoff (cutoff2) + cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre + +[Examples:] + +pair_style born/coul/long/cs 10.0 8.0 +pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 :pre + +pair_style buck/coul/long/cs 10.0 +pair_style buck/coul/long/cs 10.0 8.0 +pair_coeff * * 100.0 1.5 200.0 +pair_coeff 1 1 100.0 1.5 200.0 9.0 :pre + +[Description:] + +These pair styles are designed to be used with the adiabatic +core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham. See +"Section_howto 25"_Section_howto.html#howto_25 of the manual for an +overview of the model as implemented in LAMMPS. + +These pair styles are identical to the "pair_style +born/coul/long"_pair_born.html and "pair_style +buck/coul/long"_pair_buck.html styles, except they correctly treat the +special case where the distance between two charged core and shell +atoms in the same core/shell pair approach r = 0.0. This needs +special treatment when a long-range solver for Coulombic interactions +is also used, i.e. via the "kspace_style"_kspace_style.html command. + +More specifically, the short-range Coulomb interaction between a core +and its shell should be turned off using the +"special_bonds"_special_bonds.html command by setting the 1-2 weight +to 0.0, which works because the core and shell atoms are bonded to +each other. This induces a long-range correction approximation which +fails at small distances (~< 10e-8). Therefore, the Coulomb term which +is used to calculate the correction factor is extended by a minimal +distance (r_min = 1.0-6) when the interaction between a core/shell +pair is treated, as follows + +:c,image(Eqs/pair_cs.jpg) + +where C is an energy-conversion constant, Qi and Qj are the charges on +the core and shell, epsilon is the dielectric constant and r_min is the +minimal distance. + +[Restrictions:] + +These pair styles are part of the CORESHELL package. They are only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +[Related commands:] + +"pair_coeff"_pair_coeff.html, "pair_style born"_pair_born.html, +"pair_style buck"_pair_buck.html + +[Default:] none + +:line + +:link(MitchellFinchham) +[(Mitchell and Finchham)] Mitchell, Finchham, J Phys Condensed Matter, +5, 1031-1038 (1993). diff --git a/doc/pair_hybrid.html b/doc/pair_hybrid.html index ed45e4f686..a00eef8e14 100644 --- a/doc/pair_hybrid.html +++ b/doc/pair_hybrid.html @@ -302,12 +302,13 @@ sub-styles of the hybrid potential. and J,J is the same, and if the sub-style allows for mixing, then the coefficients for I,J can be mixed. This means you do not have to specify a pair_coeff command for I,J since the I,J type pair will be -assigned automatically to the I,I sub-style and its coefficients -generated by the mixing rule used by that sub-style. For the -hybrid/overlay style, there is an additional requirement that both -the I,I and J,J pairs are assigned to a single sub-style. See the -"pair_modify" command for details of mixing rules. See the See the -doc page for the sub-style to see if allows for mixing. +assigned automatically to the sub-style defined for both I,I and J,J +and its coefficients generated by the mixing rule used by that +sub-style. For the hybrid/overlay style, there is an additional +requirement that both the I,I and J,J pairs are assigned to a single +sub-style. See the "pair_modify" command for details of mixing rules. +See the See the doc page for the sub-style to see if allows for +mixing.

The hybrid pair styles supports the pair_modify shift, table, and tail options for an I,J pair interaction, if the diff --git a/doc/pair_hybrid.txt b/doc/pair_hybrid.txt index 89bc51af31..8692d4a20e 100644 --- a/doc/pair_hybrid.txt +++ b/doc/pair_hybrid.txt @@ -296,12 +296,13 @@ For atom type pairs I,J and I != J, if the sub-style assigned to I,I and J,J is the same, and if the sub-style allows for mixing, then the coefficients for I,J can be mixed. This means you do not have to specify a pair_coeff command for I,J since the I,J type pair will be -assigned automatically to the I,I sub-style and its coefficients -generated by the mixing rule used by that sub-style. For the -{hybrid/overlay} style, there is an additional requirement that both -the I,I and J,J pairs are assigned to a single sub-style. See the -"pair_modify" command for details of mixing rules. See the See the -doc page for the sub-style to see if allows for mixing. +assigned automatically to the sub-style defined for both I,I and J,J +and its coefficients generated by the mixing rule used by that +sub-style. For the {hybrid/overlay} style, there is an additional +requirement that both the I,I and J,J pairs are assigned to a single +sub-style. See the "pair_modify" command for details of mixing rules. +See the See the doc page for the sub-style to see if allows for +mixing. The hybrid pair styles supports the "pair_modify"_pair_modify.html shift, table, and tail options for an I,J pair interaction, if the

Package Description Author(s) Doc page Example Library
ASPHERE aspherical particles - Section_howto ellipse -
ASPHERE aspherical particles - Section_howto 6.14 ellipse -
BODY body-style particles - body body -
CLASS2 class 2 force fields - pair_style lj/class2 - -
COLLOID colloidal particles - atom_style colloid colloid -
CORESHELL adiabatic core/shell model Hendrik Heenen Section_howto 6.25 coreshell -
DIPOLE point dipole particles - pair_style dipole/cut dipole -
FLD Fast Lubrication Dynamics Kumar & Bybee & Higdon (1) pair_style lubricateU - -
GPU GPU-enabled styles Mike Brown (ORNL) Section accelerate gpu lib/gpu
GRANULAR granular systems - Section_howto pour -
GPU GPU-enabled styles Mike Brown (ORNL) Section accelerate gpu lib/gpu
GRANULAR granular systems - Section_howto 6.6 pour -
KIM openKIM potentials Smirichinski & Elliot & Tadmor (3) pair_style kim kim KIM
KOKKOS Kokkos-enabled styles Trott & Edwards (4) Section_accelerate kokkos lib/kokkos
KOKKOS Kokkos-enabled styles Trott & Edwards (4) Section_accelerate kokkos lib/kokkos
KSPACE long-range Coulombic solvers - kspace_style peptide -
MANYBODY many-body potentials - pair_style tersoff shear -
MEAM modified EAM potential Greg Wagner (Sandia) pair_style meam meam lib/meam
MC Monte Carlo options - fix gcmc - -
MOLECULE molecular system force fields - Section_howto peptide -
OPT optimized pair styles Fischer & Richie & Natoli (2) Section accelerate - -
MOLECULE molecular system force fields - Section_howto 6.3 peptide -
OPT optimized pair styles Fischer & Richie & Natoli (2) Section accelerate - -
PERI Peridynamics models Mike Parks (Sandia) pair_style peri peri -
POEMS coupled rigid body motion Rudra Mukherjee (JPL) fix poems rigid lib/poems
REAX ReaxFF potential Aidan Thompson (Sandia) pair_style reax reax lib/reax
REPLICA multi-replica methods - Section_howto tad -
REPLICA multi-replica methods - Section_howto 6.5 tad -
RIGID rigid bodies - fix rigid rigid -
SHOCK shock loading methods - fix msst - -
SNAP quantum-fit potential Aidan Thompson (Sandia) pair snap snap -
USER-AWPMD wave-packet MD Ilya Valuev (JIHT) pair_style awpmd/cut USER/awpmd - lib/awpmd
USER-CG-CMM coarse-graining model Axel Kohlmeyer (Temple U) pair_style lj/sdk USER/cg-cmm cg -
USER-COLVARS collective variables Fiorin & Henin & Kohlmeyer (3) fix colvars USER/colvars colvars lib/colvars
USER-CUDA NVIDIA GPU styles Christian Trott (U Tech Ilmenau) Section accelerate USER/cuda - lib/cuda
USER-CUDA NVIDIA GPU styles Christian Trott (U Tech Ilmenau) Section accelerate USER/cuda - lib/cuda
USER-EFF electron force field Andres Jaramillo-Botero (Caltech) pair_style eff/cut USER/eff eff -
USER-FEP free energy perturbation Agilio Padua (U Blaise Pascal Clermont-Ferrand) fix adapt/fep USER/fep - -
USER-INTEL Vectorized CPU and Intel(R) coprocessor styles W. Michael Brown (Intel) Section accelerate examples/intel - -
USER-INTEL Vectorized CPU and Intel(R) coprocessor styles W. Michael Brown (Intel) Section accelerate examples/intel - -
USER-LB Lattice Boltzmann fluid Colin Denniston (U Western Ontario) fix lb/fluid USER/lb - -
USER-MISC single-file contributions USER-MISC/README USER-MISC/README - - -
USER-MOLFILE VMD molfile plug-ins Axel Kohlmeyer (Temple U) dump molfile - - VMD-MOLFILE
USER-OMP OpenMP threaded styles Axel Kohlmeyer (Temple U) Section accelerate - - -
USER-OMP OpenMP threaded styles Axel Kohlmeyer (Temple U) Section accelerate - - -
USER-PHONON phonon dynamical matrix Ling-Ti Kong (Shanghai Jiao Tong U) fix phonon USER/phonon - -
USER-QMMM QM/MM coupling Axel Kohlmeyer (Temple U) fix qmmm USER/qmmm - lib/qmmm
USER-QUIP QM/MM coupling Albert Bartok-Partay (U Cambridge) fix quip USER/quip - lib/quip