1.. index:: pair_style born/coul/dsf/cs
2.. index:: pair_style born/coul/long/cs
3.. index:: pair_style born/coul/long/cs/gpu
4.. index:: pair_style born/coul/wolf/cs
5.. index:: pair_style born/coul/wolf/cs/gpu
6.. index:: pair_style buck/coul/long/cs
7.. index:: pair_style coul/long/cs
8.. index:: pair_style coul/long/cs/gpu
9.. index:: pair_style coul/wolf/cs
10.. index:: pair_style lj/cut/coul/long/cs
11.. index:: pair_style lj/class2/coul/long/cs
12
13pair_style born/coul/dsf/cs command
14===================================
15
16pair_style born/coul/long/cs command
17====================================
18
19Accelerator Variants: *born/coul/long/cs/gpu*
20
21pair_style born/coul/wolf/cs command
22====================================
23
24Accelerator Variants: *born/coul/wolf/cs/gpu*
25
26pair_style buck/coul/long/cs command
27====================================
28
29pair_style coul/long/cs command
30===============================
31
32Accelerator Variants: *coul/long/cs/gpu*
33
34pair_style coul/wolf/cs command
35===============================
36
37pair_style lj/cut/coul/long/cs command
38======================================
39
40pair_style lj/class2/coul/long/cs command
41=========================================
42
43Syntax
44""""""
45
46.. code-block:: LAMMPS
47
48   pair_style style args
49
50* style = *born/coul/dsf/cs* or *born/coul/long/cs* or *born/coul/wolf/cs* or *buck/coul/long/cs* or *coul/long/cs* or *coul/wolf/cs* or *lj/cut/coul/long/cs* or *lj/class2/coul/long/cs*
51* args = list of arguments for a particular style
52
53.. parsed-literal::
54
55     *born/coul/dsf/cs* args = alpha cutoff (cutoff2)
56       alpha = damping parameter (inverse distance units)
57       cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
58       cutoff2 = global cutoff for Coulombic (distance units)
59     *born/coul/long/cs* args = cutoff (cutoff2)
60       cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
61       cutoff2 = global cutoff for Coulombic (optional) (distance units)
62     *born/coul/wolf/cs* args = alpha cutoff (cutoff2)
63       alpha = damping parameter (inverse distance units)
64       cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
65       cutoff2 = global cutoff for Coulombic (optional) (distance units)
66     *buck/coul/long/cs* args = cutoff (cutoff2)
67       cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
68       cutoff2 = global cutoff for Coulombic (optional) (distance units)
69     *coul/long* args = cutoff
70       cutoff = global cutoff for Coulombic (distance units)
71     *coul/wolf* args = alpha cutoff
72       alpha = damping parameter (inverse distance units)
73       cutoff = global cutoff for Coulombic (distance units)
74     *lj/cut/coul/long/cs* args = cutoff (cutoff2)
75       cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
76       cutoff2 = global cutoff for Coulombic (optional) (distance units)
77     *lj/class2/coul/long/cs* args = cutoff (cutoff2)
78       cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
79       cutoff2 = global cutoff for Coulombic (optional) (distance units)
80
81Examples
82""""""""
83
84.. code-block:: LAMMPS
85
86   pair_style born/coul/dsf/cs 0.1 10.0 12.0
87   pair_coeff * *   0.0 1.00 0.00 0.00 0.00
88   pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50
89
90   pair_style born/coul/long/cs 10.0 8.0
91   pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51
92
93   pair_style born/coul/wolf/cs 0.25 10.0 12.0
94   pair_coeff * *   0.0 1.00 0.00 0.00 0.00
95   pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50
96
97   pair_style buck/coul/long/cs 10.0
98   pair_style buck/coul/long/cs 10.0 8.0
99   pair_coeff * * 100.0 1.5 200.0
100   pair_coeff 1 1 100.0 1.5 200.0 9.0
101
102   pair_style coul/long/cs 10.0
103   pair_coeff * *
104
105   pair_style coul/wolf/cs 0.2 9.0
106   pair_coeff * *
107
108   pair_style lj/cut/coul/long/cs 10.0
109   pair_style lj/cut/coul/long/cs 10.0 8.0
110   pair_coeff * * 100.0 3.0
111   pair_coeff 1 1 100.0 3.5 9.0
112
113Description
114"""""""""""
115
116These pair styles are designed to be used with the adiabatic
117core/shell model of :ref:`(Mitchell and Finchham) <MitchellFinchham2>`.  See
118the :doc:`Howto coreshell <Howto_coreshell>` page for an overview of
119the model as implemented in LAMMPS.
120
121All the styles are identical to the corresponding pair style without
122the "/cs" in the name:
123
124* :doc:`pair_style born/coul/dsf <pair_born>`
125* :doc:`pair_style born/coul/long <pair_born>`
126* :doc:`pair_style born/coul/wolf <pair_born>`
127* :doc:`pair_style buck/coul/long <pair_buck>`
128* :doc:`pair_style coul/long <pair_coul>`
129* :doc:`pair_style coul/wolf <pair_coul>`
130* :doc:`pair_style lj/cut/coul/long <pair_lj_cut_coul>`
131* :doc:`pair_style lj/class2/coul/long <pair_class2>`
132
133except that they correctly treat the special case where the distance
134between two charged core and shell atoms in the same core/shell pair
135approach r = 0.0.
136
137Styles with a "/long" in the name are used with a long-range solver
138for Coulombic interactions via the :doc:`kspace_style <kspace_style>`
139command.  They require special treatment of the short-range Coulombic
140interactions within the cor/shell model.
141
142Specifically, the short-range Coulomb interaction between a core and
143its shell should be turned off using the
144:doc:`special_bonds <special_bonds>` command by setting the 1-2 weight
145to 0.0, which works because the core and shell atoms are bonded to
146each other.  This induces a long-range correction approximation which
147fails at small distances (~< 10e-8). Therefore, the Coulomb term which
148is used to calculate the correction factor is extended by a minimal
149distance (r_min = 1.0-6) when the interaction between a core/shell
150pair is treated, as follows
151
152.. math::
153
154   E = \frac{C q_i q_j}{\epsilon (r + r_{min})} \qquad r \rightarrow 0
155
156where C is an energy-conversion constant, :math:`q_i` and :math:`q_j`
157are the charges on the core and shell, epsilon is the dielectric
158constant and :math:`r_{min}` is the minimal distance.
159
160For styles that are not used with a long-range solver, i.e. those with
161"/dsf" or "/wolf" in the name, the only correction is the addition of
162a minimal distance to avoid the possible r = 0.0 case for a core/shell
163pair.
164
165----------
166
167.. include:: accel_styles.rst
168
169----------
170
171Mixing, shift, table, tail correction, restart, rRESPA info
172"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
173
174See the corresponding doc pages for pair styles without the "cs"
175suffix to see how mixing, shifting, tabulation, tail correction,
176restarting, and rRESPA are handled by theses pair styles.
177
178----------
179
180Restrictions
181""""""""""""
182
183These pair styles are part of the CORESHELL package.  They are only
184enabled if LAMMPS was built with that package.  See the :doc:`Build package <Build_package>` page for more info.
185
186Related commands
187""""""""""""""""
188
189:doc:`pair_coeff <pair_coeff>`, :doc:`pair_style born <pair_born>`,
190:doc:`pair_style buck <pair_buck>`
191
192Default
193"""""""
194
195none
196
197----------
198
199.. _MitchellFinchham2:
200
201**(Mitchell and Finchham)** Mitchell, Finchham, J Phys Condensed Matter,
2025, 1031-1038 (1993).
203