"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 soft command :h3
pair_style soft/gpu command :h3
pair_style soft/omp command :h3

[Syntax:]

pair_style soft cutoff :pre

cutoff = global cutoff for soft interactions (distance units) :ul

[Examples:]

pair_style soft 1.0
pair_coeff * * 10.0
pair_coeff 1 1 10.0 3.0 :pre

pair_style soft 1.0
pair_coeff * * 0.0
variable prefactor equal ramp(0,30)
fix 1 all adapt 1 pair soft a * * v_prefactor :pre

[Description:]

Style {soft} computes pairwise interactions with the formula

:c,image(Eqs/pair_soft.jpg)

It is useful for pushing apart overlapping atoms, since it does not
blow up as r goes to 0.  A is a pre-factor that can be made to vary in
time from the start to the end of the run (see discussion below),
e.g. to start with a very soft potential and slowly harden the
interactions over time.  Rc is the cutoff.  See the "fix
nve/limit"_fix_nve_limit.html command for another way to push apart
overlapping atoms.

The following coefficients must be defined for each pair of atom types
via the "pair_coeff"_pair_coeff.html command as in the examples above,
or in the data file or restart files read by the
"read_data"_read_data.html or "read_restart"_read_restart.html
commands, or by mixing as described below:

A (energy units)
cutoff (distance units) :ul

The last coefficient is optional.  If not specified, the global soft
cutoff is used.

NOTE: The syntax for "pair_coeff"_pair_coeff.html with a single A
coeff is different in the current version of LAMMPS than in older
versions which took two values, Astart and Astop, to ramp between
them.  This functionality is now available in a more general form
through the "fix adapt"_fix_adapt.html command, as explained below.
Note that if you use an old input script and specify Astart and Astop
without a cutoff, then LAMMPS will interpret that as A and a cutoff,
which is probabably not what you want.

The "fix adapt"_fix_adapt.html command can be used to vary A for one
or more pair types over the course of a simulation, in which case
pair_coeff settings for A must still be specified, but will be
overridden.  For example these commands will vary the prefactor A for
all pairwise interactions from 0.0 at the beginning to 30.0 at the end
of a run:

variable prefactor equal ramp(0,30)
fix 1 all adapt 1 pair soft a * * v_prefactor :pre

Note that a formula defined by an "equal-style variable"_variable.html
can use the current timestep, elapsed time in the current run, elapsed
time since the beginning of a series of runs, as well as access other
variables.

:line

Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed in "Section 5"_Section_accelerate.html
of the manual.  The accelerated styles take the same arguments and
should produce the same results, except for round-off and precision
issues.

These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively.  They are only enabled if
LAMMPS was built with those packages.  See the "Making
LAMMPS"_Section_start.html#start_3 section for more info.

You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.

See "Section 5"_Section_accelerate.html of the manual for
more instructions on how to use the accelerated styles effectively.

:line

[Mixing, shift, table, tail correction, restart, rRESPA info]:

For atom type pairs I,J and I != J, the A coefficient and cutoff
distance for this pair style can be mixed.  A is always mixed via a
{geometric} rule.  The cutoff is mixed according to the pair_modify
mix value.  The default mix value is {geometric}.  See the
"pair_modify" command for details.

This pair style does not support the "pair_modify"_pair_modify.html
shift option, since the pair interaction goes to 0.0 at the cutoff.

The "pair_modify"_pair_modify.html table and tail options are not
relevant for this pair style.

This pair style writes its information to "binary restart
files"_restart.html, so pair_style and pair_coeff commands do not need
to be specified in an input script that reads a restart file.

This pair style can only be used via the {pair} keyword of the
"run_style respa"_run_style.html command.  It does not support the
{inner}, {middle}, {outer} keywords.

:line

[Restrictions:] none

[Related commands:]

"pair_coeff"_pair_coeff.html, "fix nve/limit"_fix_nve_limit.html, "fix
adapt"_fix_adapt.html

[Default:] none
