Merge remote-tracking branch 'github/master' into adaptglok

# Conflicts:
#	doc/src/min_modify.rst
This commit is contained in:
Axel Kohlmeyer
2020-01-31 12:24:59 -05:00
38 changed files with 306 additions and 293 deletions

View File

@ -87,7 +87,7 @@ commands)
* water potentials: TIP3P, TIP4P, SPC * water potentials: TIP3P, TIP4P, SPC
* implicit solvent potentials: hydrodynamic lubrication, Debye * implicit solvent potentials: hydrodynamic lubrication, Debye
* force-field compatibility with common CHARMM, AMBER, DREIDING, OPLS, GROMACS, COMPASS options * force-field compatibility with common CHARMM, AMBER, DREIDING, OPLS, GROMACS, COMPASS options
* access to the `OpenKIM Repository <http://openkim.org>`_ of potentials via :doc:`kim\_init, kim\_interactions, and kim\_query <kim_commands>` commands * access to the `OpenKIM Repository <http://openkim.org>`_ of potentials via :doc:`kim_init, kim_interactions, and kim_query <kim_commands>` commands
* hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation * hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation
* overlaid potentials: superposition of multiple pair potentials * overlaid potentials: superposition of multiple pair potentials

View File

@ -927,7 +927,7 @@ Also several computes which calculate properties of rigid bodies.
* src/RIGID: filenames -> commands * src/RIGID: filenames -> commands
* :doc:`compute erotate/rigid <compute_erotate_rigid>` * :doc:`compute erotate/rigid <compute_erotate_rigid>`
* fix shake"_fix\_shake.html * :doc:`fix shake <fix_shake>`
* :doc:`fix rattle <fix_shake>` * :doc:`fix rattle <fix_shake>`
* :doc:`fix rigid/\* <fix_rigid>` * :doc:`fix rigid/\* <fix_rigid>`
* examples/ASPHERE * examples/ASPHERE

View File

@ -46,9 +46,9 @@ internally.
Additional to the cosine term the *cosine/buck6d* angle style computes Additional to the cosine term the *cosine/buck6d* angle style computes
the short range (vdW) interaction belonging to the the short range (vdW) interaction belonging to the
:doc:`pair\_buck6d <pair_buck6d_coul_gauss>` between the end atoms of the :doc:`pair_style buck6d <pair_buck6d_coul_gauss>` between the end atoms of the
angle. For this reason this angle style only works in combination angle. For this reason this angle style only works in combination
with the :doc:`pair\_buck6d <pair_buck6d_coul_gauss>` styles and needs with the :doc:`pair_style buck6d <pair_buck6d_coul_gauss>` styles and needs
the :doc:`special_bonds <special_bonds>` 1-3 interactions to be weighted the :doc:`special_bonds <special_bonds>` 1-3 interactions to be weighted
0.0 to prevent double counting. 0.0 to prevent double counting.
@ -61,7 +61,7 @@ Restrictions
*cosine/buck6d* can only be used in combination with the *cosine/buck6d* can only be used in combination with the
:doc:`pair\_buck6d <pair_buck6d_coul_gauss>` style and with a :doc:`pair_style buck6d <pair_buck6d_coul_gauss>` style and with a
:doc:`special_bonds <special_bonds>` 0.0 weighting of 1-3 interactions. :doc:`special_bonds <special_bonds>` 0.0 weighting of 1-3 interactions.
This angle style can only be used if LAMMPS was built with the This angle style can only be used if LAMMPS was built with the

View File

@ -83,6 +83,6 @@ Related commands
"""""""""""""""" """"""""""""""""
:doc:`angle_coeff <angle_coeff>`, :doc:`angle_coeff <angle_coeff>`,
:doc:`angle\_cosine\_shift\_exp <angle_cosine_shift_exp>` :doc:`angle_style cosine/shift/exp <angle_cosine_shift_exp>`
**Default:** none **Default:** none

View File

@ -94,7 +94,7 @@ Related commands
"""""""""""""""" """"""""""""""""
:doc:`angle_coeff <angle_coeff>`, :doc:`angle_coeff <angle_coeff>`,
:doc:`angle\_cosine\_shift <angle_cosine_shift>`, :doc:`angle_style cosine/shift <angle_cosine_shift>`,
:doc:`dihedral\_cosine\_shift\_exp <dihedral_cosine_shift_exp>` :doc:`dihedral_style cosine/shift/exp <dihedral_cosine_shift_exp>`
**Default:** none **Default:** none

View File

@ -86,6 +86,6 @@ Related commands
:doc:`bond_coeff <bond_coeff>`, :doc:`delete_bonds <delete_bonds>`, :doc:`bond_coeff <bond_coeff>`, :doc:`delete_bonds <delete_bonds>`,
:doc:`bond_harmonic <bond_harmonic>`, :doc:`bond_harmonic <bond_harmonic>`,
:doc:`bond\_harmonic\_shift <bond_harmonic_shift>` :doc:`bond_style harmonic/shift <bond_harmonic_shift>`
**Default:** none **Default:** none

View File

@ -301,7 +301,7 @@ Related commands
"""""""""""""""" """"""""""""""""
:doc:`fix adapt/fep <fix_adapt_fep>`, :doc:`fix ave/time <fix_ave_time>`, :doc:`fix adapt/fep <fix_adapt_fep>`, :doc:`fix ave/time <fix_ave_time>`,
:doc:`pair\_fep\_soft <pair_fep_soft>` :doc:`pair_style .../soft <pair_fep_soft>`
Default Default
""""""" """""""

View File

@ -54,19 +54,22 @@ effects, smaller timestep inaccuracy, faster equilibration and shorter
decorrelation time. decorrelation time.
HMA should not be used if atoms are expected to diffuse. It is also HMA should not be used if atoms are expected to diffuse. It is also
restricted to simulations in the NVT ensemble. While this compute may be restricted to simulations in the NVT ensemble. While this compute may
used with any potential in LAMMPS, it will provide inaccurate results be used with any potential in LAMMPS, it will provide inaccurate results
for potentials that do not go to 0 at the truncation distance; for potentials that do not go to 0 at the truncation distance;
:doc:`pair\_lj\_smooth\_linear <pair_lj_smooth_linear>` and Ewald summation should :doc:`pair_style lj/smooth/linear <pair_lj_smooth_linear>` and Ewald
work fine, while :doc:`pair_lj <pair_lj>` will perform poorly unless summation should work fine, while :doc:`pair_style lj/cut <pair_lj>`
the potential is shifted (via :doc:`pair_modify <pair_modify>` shift) or the cutoff is large. Furthermore, computation of the heat capacity with will perform poorly unless the potential is shifted (via
this compute is restricted to those that implement the single\_hessian method :doc:`pair_modify <pair_modify>` shift) or the cutoff is large.
in Pair. Implementing single\_hessian in additional pair styles is simple. Furthermore, computation of the heat capacity with this compute is
Please contact Andrew Schultz (ajs42 at buffalo.edu) and David Kofke (kofke at restricted to those that implement the *single\_hessian* method in Pair.
buffalo.edu) if your desired pair style does not have this method. This is Implementing *single\_hessian* in additional pair styles is simple.
the list of pair styles that currently implement pair\_hessian: Please contact Andrew Schultz (ajs42 at buffalo.edu) and David Kofke
(kofke at buffalo.edu) if your desired pair style does not have this
method. This is the list of pair styles that currently implement
*single\_hessian*:
* :doc:`lj\_smooth\_linear <pair_lj_smooth_linear>` * :doc:`pair_style lj/smooth/linear <pair_lj_smooth_linear>`
In this method, the analytically known harmonic behavior of a crystal is removed from the traditional ensemble In this method, the analytically known harmonic behavior of a crystal is removed from the traditional ensemble

View File

@ -92,7 +92,7 @@ Related commands
"""""""""""""""" """"""""""""""""
:doc:`dihedral_coeff <dihedral_coeff>`, :doc:`dihedral_coeff <dihedral_coeff>`,
:doc:`angle\_cosine\_shift\_exp <angle_cosine_shift_exp>` :doc:`angle_style cosine/shift/exp <angle_cosine_shift_exp>`
**Default:** none **Default:** none

View File

@ -319,7 +319,7 @@ Restrictions
Related commands Related commands
"""""""""""""""" """"""""""""""""
:doc:`compute fep <compute_fep>`, :doc:`fix adapt <fix_adapt>`, :doc:`compute ti <compute_ti>`, :doc:`pair\_fep\_soft <pair_fep_soft>` :doc:`compute fep <compute_fep>`, :doc:`fix adapt <fix_adapt>`, :doc:`compute ti <compute_ti>`, :doc:`pair_style \*/soft <pair_fep_soft>`
Default Default
""""""" """""""

View File

@ -143,97 +143,97 @@ Related commands
After specifying this fix in your input script, several other :doc:`fix_modify <fix_modify>` commands are used to setup the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions. After specifying this fix in your input script, several other :doc:`fix_modify <fix_modify>` commands are used to setup the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions.
fix\_modify commands for setup: *fix\_modify* commands for setup:
* `fix\_modify AtC mesh create <USER/atc/man_mesh_create.html>`_ * `fix_modify AtC mesh create <USER/atc/man_mesh_create.html>`_
* `fix\_modify AtC mesh quadrature <USER/atc/man_mesh_quadrature.html>`_ * `fix_modify AtC mesh quadrature <USER/atc/man_mesh_quadrature.html>`_
* `fix\_modify AtC mesh read <USER/atc/man_mesh_read.html>`_ * `fix_modify AtC mesh read <USER/atc/man_mesh_read.html>`_
* `fix\_modify AtC mesh write <USER/atc/man_mesh_write.html>`_ * `fix_modify AtC mesh write <USER/atc/man_mesh_write.html>`_
* `fix\_modify AtC mesh create\_nodeset <USER/atc/man_mesh_create_nodeset.html>`_ * `fix_modify AtC mesh create_nodeset <USER/atc/man_mesh_create_nodeset.html>`_
* `fix\_modify AtC mesh add\_to\_nodeset <USER/atc/man_mesh_add_to_nodeset.html>`_ * `fix_modify AtC mesh add_to_nodeset <USER/atc/man_mesh_add_to_nodeset.html>`_
* `fix\_modify AtC mesh create\_faceset box <USER/atc/man_mesh_create_faceset_box.html>`_ * `fix_modify AtC mesh create_faceset box <USER/atc/man_mesh_create_faceset_box.html>`_
* `fix\_modify AtC mesh create\_faceset plane <USER/atc/man_mesh_create_faceset_plane.html>`_ * `fix_modify AtC mesh create_faceset plane <USER/atc/man_mesh_create_faceset_plane.html>`_
* `fix\_modify AtC mesh create\_elementset <USER/atc/man_mesh_create_elementset.html>`_ * `fix_modify AtC mesh create_elementset <USER/atc/man_mesh_create_elementset.html>`_
* `fix\_modify AtC mesh delete\_elements <USER/atc/man_mesh_delete_elements.html>`_ * `fix_modify AtC mesh delete_elements <USER/atc/man_mesh_delete_elements.html>`_
* `fix\_modify AtC mesh nodeset\_to\_elementset <USER/atc/man_mesh_nodeset_to_elementset.html>`_ * `fix_modify AtC mesh nodeset_to_elementset <USER/atc/man_mesh_nodeset_to_elementset.html>`_
* `fix\_modify AtC boundary <USER/atc/man_boundary.html>`_ * `fix_modify AtC boundary <USER/atc/man_boundary.html>`_
* `fix\_modify AtC internal\_quadrature <USER/atc/man_internal_quadrature.html>`_ * `fix_modify AtC internal_quadrature <USER/atc/man_internal_quadrature.html>`_
* `fix\_modify AtC time\_integration (thermal) <USER/atc/man_thermal_time_integration.html>`_ * `fix_modify AtC time_integration (thermal) <USER/atc/man_thermal_time_integration.html>`_
* `fix\_modify AtC time\_integration (momentum) <USER/atc/man_momentum_time_integration.html>`_ * `fix_modify AtC time_integration (momentum) <USER/atc/man_momentum_time_integration.html>`_
* `fix\_modify AtC extrinsic electron\_integration <USER/atc/man_electron_integration.html>`_ * `fix_modify AtC extrinsic electron_integration <USER/atc/man_electron_integration.html>`_
* `fix\_modify AtC internal\_element\_set <USER/atc/man_internal_element_set.html>`_ * `fix_modify AtC internal_element_set <USER/atc/man_internal_element_set.html>`_
* `fix\_modify AtC decomposition <USER/atc/man_decomposition.html>`_ * `fix_modify AtC decomposition <USER/atc/man_decomposition.html>`_
fix\_modify commands for boundary and initial conditions: *fix\_modify* commands for boundary and initial conditions:
* `fix\_modify AtC initial <USER/atc/man_initial.html>`_ * `fix_modify AtC initial <USER/atc/man_initial.html>`_
* `fix\_modify AtC fix <USER/atc/man_fix_nodes.html>`_ * `fix_modify AtC fix <USER/atc/man_fix_nodes.html>`_
* `fix\_modify AtC unfix <USER/atc/man_unfix_nodes.html>`_ * `fix_modify AtC unfix <USER/atc/man_unfix_nodes.html>`_
* `fix\_modify AtC fix\_flux <USER/atc/man_fix_flux.html>`_ * `fix_modify AtC fix_flux <USER/atc/man_fix_flux.html>`_
* `fix\_modify AtC unfix\_flux <USER/atc/man_unfix_flux.html>`_ * `fix_modify AtC unfix_flux <USER/atc/man_unfix_flux.html>`_
* `fix\_modify AtC source <USER/atc/man_source.html>`_ * `fix_modify AtC source <USER/atc/man_source.html>`_
* `fix\_modify AtC remove\_source <USER/atc/man_remove_source.html>`_ * `fix_modify AtC remove_source <USER/atc/man_remove_source.html>`_
fix\_modify commands for control and filtering: *fix\_modify* commands for control and filtering:
* `fix\_modify AtC control <USER/atc/man_control.html>`_ * `fix_modify AtC control <USER/atc/man_control.html>`_
* `fix\_modify AtC control thermal <USER/atc/man_control_thermal.html>`_ * `fix_modify AtC control thermal <USER/atc/man_control_thermal.html>`_
* `fix\_modify AtC control thermal correction\_max\_iterations <USER/atc/man_control_thermal_correction_max_iterations.html>`_ * `fix_modify AtC control thermal correction_max_iterations <USER/atc/man_control_thermal_correction_max_iterations.html>`_
* `fix\_modify AtC control momentum <USER/atc/man_control_momentum.html>`_ * `fix_modify AtC control momentum <USER/atc/man_control_momentum.html>`_
* `fix\_modify AtC control localized\_lambda <USER/atc/man_localized_lambda.html>`_ * `fix_modify AtC control localized_lambda <USER/atc/man_localized_lambda.html>`_
* `fix\_modify AtC control lumped\_lambda\_solve <USER/atc/man_lumped_lambda_solve.html>`_ * `fix_modify AtC control lumped_lambda_solve <USER/atc/man_lumped_lambda_solve.html>`_
* `fix\_modify AtC control mask\_direction <USER/atc/man_mask_direction.html>`_ control * `fix_modify AtC control mask_direction <USER/atc/man_mask_direction.html>`_ control
* `fix\_modify AtC filter <USER/atc/man_time_filter.html>`_ * `fix_modify AtC filter <USER/atc/man_time_filter.html>`_
* `fix\_modify AtC filter scale <USER/atc/man_filter_scale.html>`_ * `fix_modify AtC filter scale <USER/atc/man_filter_scale.html>`_
* `fix\_modify AtC filter type <USER/atc/man_filter_type.html>`_ * `fix_modify AtC filter type <USER/atc/man_filter_type.html>`_
* `fix\_modify AtC equilibrium\_start <USER/atc/man_equilibrium_start.html>`_ * `fix_modify AtC equilibrium_start <USER/atc/man_equilibrium_start.html>`_
* `fix\_modify AtC extrinsic exchange <USER/atc/man_extrinsic_exchange.html>`_ * `fix_modify AtC extrinsic exchange <USER/atc/man_extrinsic_exchange.html>`_
* `fix\_modify AtC poisson\_solver <USER/atc/man_poisson_solver.html>`_ * `fix_modify AtC poisson_solver <USER/atc/man_poisson_solver.html>`_
fix\_modify commands for output: *fix\_modify* commands for output:
* `fix\_modify AtC output <USER/atc/man_output.html>`_ * `fix_modify AtC output <USER/atc/man_output.html>`_
* `fix\_modify AtC output nodeset <USER/atc/man_output_nodeset.html>`_ * `fix_modify AtC output nodeset <USER/atc/man_output_nodeset.html>`_
* `fix\_modify AtC output elementset <USER/atc/man_output_elementset.html>`_ * `fix_modify AtC output elementset <USER/atc/man_output_elementset.html>`_
* `fix\_modify AtC output boundary\_integral <USER/atc/man_boundary_integral.html>`_ * `fix_modify AtC output boundary_integral <USER/atc/man_boundary_integral.html>`_
* `fix\_modify AtC output contour\_integral <USER/atc/man_contour_integral.html>`_ * `fix_modify AtC output contour_integral <USER/atc/man_contour_integral.html>`_
* `fix\_modify AtC mesh output <USER/atc/man_mesh_output.html>`_ * `fix_modify AtC mesh output <USER/atc/man_mesh_output.html>`_
* `fix\_modify AtC write\_restart <USER/atc/man_write_restart.html>`_ * `fix_modify AtC write_restart <USER/atc/man_write_restart.html>`_
* `fix\_modify AtC read\_restart <USER/atc/man_read_restart.html>`_ * `fix_modify AtC read_restart <USER/atc/man_read_restart.html>`_
fix\_modify commands for post-processing: *fix\_modify* commands for post-processing:
* `fix\_modify AtC kernel <USER/atc/man_hardy_kernel.html>`_ * `fix_modify AtC kernel <USER/atc/man_hardy_kernel.html>`_
* `fix\_modify AtC fields <USER/atc/man_hardy_fields.html>`_ * `fix_modify AtC fields <USER/atc/man_hardy_fields.html>`_
* `fix\_modify AtC grdients <USER/atc/man_hardy_gradients.html>`_ * `fix_modify AtC grdients <USER/atc/man_hardy_gradients.html>`_
* `fix\_modify AtC rates <USER/atc/man_hardy_rates.html>`_ * `fix_modify AtC rates <USER/atc/man_hardy_rates.html>`_
* `fix\_modify AtC computes <USER/atc/man_hardy_computes.html>`_ * `fix_modify AtC computes <USER/atc/man_hardy_computes.html>`_
* `fix\_modify AtC on\_the\_fly <USER/atc/man_hardy_on_the_fly.html>`_ * `fix_modify AtC on_the_fly <USER/atc/man_hardy_on_the_fly.html>`_
* `fix\_modify AtC pair\_interactions/bond\_interactions <USER/atc/man_pair_interactions.html>`_ * `fix_modify AtC pair_interactions/bond_interactions <USER/atc/man_pair_interactions.html>`_
* `fix\_modify AtC sample\_frequency <USER/atc/man_sample_frequency.html>`_ * `fix_modify AtC sample_frequency <USER/atc/man_sample_frequency.html>`_
* `fix\_modify AtC set <USER/atc/man_set.html>`_ * `fix_modify AtC set <USER/atc/man_set.html>`_
miscellaneous fix\_modify commands: miscellaneous *fix\_modify* commands:
* `fix\_modify AtC atom\_element\_map <USER/atc/man_atom_element_map.html>`_ * `fix_modify AtC atom_element_map <USER/atc/man_atom_element_map.html>`_
* `fix\_modify AtC atom\_weight <USER/atc/man_atom_weight.html>`_ * `fix_modify AtC atom_weight <USER/atc/man_atom_weight.html>`_
* `fix\_modify AtC write\_atom\_weights <USER/atc/man_write_atom_weights.html>`_ * `fix_modify AtC write_atom_weights <USER/atc/man_write_atom_weights.html>`_
* `fix\_modify AtC reset\_time <USER/atc/man_reset_time.html>`_ * `fix_modify AtC reset_time <USER/atc/man_reset_time.html>`_
* `fix\_modify AtC reset\_atomic\_reference\_positions <USER/atc/man_reset_atomic_reference_positions.html>`_ * `fix_modify AtC reset_atomic_reference_positions <USER/atc/man_reset_atomic_reference_positions.html>`_
* `fix\_modify AtC fe\_md\_boundary <USER/atc/man_fe_md_boundary.html>`_ * `fix_modify AtC fe_md_boundary <USER/atc/man_fe_md_boundary.html>`_
* `fix\_modify AtC boundary\_faceset <USER/atc/man_boundary_faceset.html>`_ * `fix_modify AtC boundary_faceset <USER/atc/man_boundary_faceset.html>`_
* `fix\_modify AtC consistent\_fe\_initialization <USER/atc/man_consistent_fe_initialization.html>`_ * `fix_modify AtC consistent_fe_initialization <USER/atc/man_consistent_fe_initialization.html>`_
* `fix\_modify AtC mass\_matrix <USER/atc/man_mass_matrix.html>`_ * `fix_modify AtC mass_matrix <USER/atc/man_mass_matrix.html>`_
* `fix\_modify AtC material <USER/atc/man_material.html>`_ * `fix_modify AtC material <USER/atc/man_material.html>`_
* `fix\_modify AtC atomic\_charge <USER/atc/man_atomic_charge.html>`_ * `fix_modify AtC atomic_charge <USER/atc/man_atomic_charge.html>`_
* `fix\_modify AtC source\_integration <USER/atc/man_source_integration.html>`_ * `fix_modify AtC source_integration <USER/atc/man_source_integration.html>`_
* `fix\_modify AtC temperature\_definition <USER/atc/man_temperature_definition.html>`_ * `fix_modify AtC temperature_definition <USER/atc/man_temperature_definition.html>`_
* `fix\_modify AtC track\_displacement <USER/atc/man_track_displacement.html>`_ * `fix_modify AtC track_displacement <USER/atc/man_track_displacement.html>`_
* `fix\_modify AtC boundary\_dynamics <USER/atc/man_boundary_dynamics.html>`_ * `fix_modify AtC boundary_dynamics <USER/atc/man_boundary_dynamics.html>`_
* `fix\_modify AtC add\_species <USER/atc/man_add_species.html>`_ * `fix_modify AtC add_species <USER/atc/man_add_species.html>`_
* `fix\_modify AtC add\_molecule <USER/atc/man_add_molecule.html>`_ * `fix_modify AtC add_molecule <USER/atc/man_add_molecule.html>`_
* `fix\_modify AtC remove\_species <USER/atc/man_remove_species.html>`_ * `fix_modify AtC remove_species <USER/atc/man_remove_species.html>`_
* `fix\_modify AtC remove\_molecule <USER/atc/man_remove_molecule.html>`_ * `fix_modify AtC remove_molecule <USER/atc/man_remove_molecule.html>`_
Note: a set of example input files with the attendant material files are included with this package Note: a set of example input files with the attendant material files are included with this package

View File

@ -390,7 +390,7 @@ the activation energy (:doc:`units <units>` of energy), and *seed* is a
random number seed. The temperature is defined as the instantaneous random number seed. The temperature is defined as the instantaneous
temperature averaged over all atoms in the reaction site, and is temperature averaged over all atoms in the reaction site, and is
calculated in the same manner as for example calculated in the same manner as for example
:doc:`compute\_temp\_chunk <compute_temp_chunk>`. Currently, there are no :doc:`compute temp/chunk <compute_temp_chunk>`. Currently, there are no
options for additional temperature averaging or velocity-biased options for additional temperature averaging or velocity-biased
temperature calculations. A uniform random number between 0 and 1 is temperature calculations. A uniform random number between 0 and 1 is
generated using *seed*\ ; if this number is less than the result of the generated using *seed*\ ; if this number is less than the result of the

View File

@ -89,14 +89,14 @@ in the LAMMPS frame. Only when the positions and velocities are
updated is the system rotated to the flow frame, and it is rotated updated is the system rotated to the flow frame, and it is rotated
back to the LAMMPS frame immediately afterwards. For this reason, all back to the LAMMPS frame immediately afterwards. For this reason, all
vector-valued quantities (except for the tensors from vector-valued quantities (except for the tensors from
:doc:`compute\_pressure/uef <compute_pressure_uef>` and :doc:`compute pressure/uef <compute_pressure_uef>` and
:doc:`compute\_temp/uef <compute_temp_uef>`) will be computed in the :doc:`compute temp/uef <compute_temp_uef>`) will be computed in the
LAMMPS frame. Rotationally invariant scalar quantities like the LAMMPS frame. Rotationally invariant scalar quantities like the
temperature and hydrostatic pressure are frame-invariant and will be temperature and hydrostatic pressure are frame-invariant and will be
computed correctly. Additionally, the system is in the LAMMPS frame computed correctly. Additionally, the system is in the LAMMPS frame
during all of the output steps, and therefore trajectory files made during all of the output steps, and therefore trajectory files made
using the dump command will be in the LAMMPS frame unless the using the dump command will be in the LAMMPS frame unless the
:doc:`dump\_cfg/uef <dump_cfg_uef>` command is used. :doc:`dump cfg/uef <dump_cfg_uef>` command is used.
---------- ----------

View File

@ -85,7 +85,7 @@ function for the same parameters.
The temperature effects are accounted for by connecting the spin The temperature effects are accounted for by connecting the spin
:math:`i` to a thermal bath using a Langevin thermostat (see :math:`i` to a thermal bath using a Langevin thermostat (see
:doc:`fix\_langevin\_spin <fix_langevin_spin>` for the definition of :doc:`fix langevin/spin <fix_langevin_spin>` for the definition of
this thermostat). this thermostat).
Style *anisotropy* is used to simulate an easy axis or an easy plane Style *anisotropy* is used to simulate an easy axis or an easy plane

View File

@ -83,17 +83,18 @@ close enough to touch it.
The nature of the wall/particle interactions are determined by the The nature of the wall/particle interactions are determined by the
*fstyle* setting. It can be any of the styles defined by the *fstyle* setting. It can be any of the styles defined by the
:doc:`pair_style gran/\* <pair_gran>` or the more general `pair\_style granular <pair_granular.html">`_ commands. Currently the options are :doc:`pair_style gran/\* <pair_gran>` or the more general
*hooke*\ , *hooke/history*\ , or *hertz/history* for the former, and :doc:`pair_style granular <pair_granular>` commands. Currently the
*granular* with all the possible options of the associated options are *hooke*\ , *hooke/history*\ , or *hertz/history* for the
former, and *granular* with all the possible options of the associated
*pair\_coeff* command for the latter. The equation for the force *pair\_coeff* command for the latter. The equation for the force
between the wall and particles touching it is the same as the between the wall and particles touching it is the same as the
corresponding equation on the :doc:`pair_style gran/\* <pair_gran>` and corresponding equation on the :doc:`pair_style gran/\* <pair_gran>` and
:doc:`pair\_style\_granular <pair_granular>` doc pages, in the limit of :doc:`pair_style granular <pair_granular>` doc pages, in the limit of
one of the two particles going to infinite radius and mass (flat one of the two particles going to infinite radius and mass (flat wall).
wall). Specifically, delta = radius - r = overlap of particle with Specifically, delta = radius - r = overlap of particle with wall, m\_eff
wall, m\_eff = mass of particle, and the effective radius of contact = = mass of particle, and the effective radius of contact = RiRj/Ri+Rj is
RiRj/Ri+Rj is set to the radius of the particle. set to the radius of the particle.
The parameters *Kn*\ , *Kt*\ , *gamma\_n*, *gamma\_t*, *xmu* and *dampflag* The parameters *Kn*\ , *Kt*\ , *gamma\_n*, *gamma\_t*, *xmu* and *dampflag*
have the same meaning and units as those specified with the have the same meaning and units as those specified with the

View File

@ -154,15 +154,16 @@ corresponding manner.
The nature of the wall/particle interactions are determined by the The nature of the wall/particle interactions are determined by the
*fstyle* setting. It can be any of the styles defined by the *fstyle* setting. It can be any of the styles defined by the
:doc:`pair_style gran/\* <pair_gran>` or the more general `pair\_style granular <pair_granular.html">`_ commands. Currently the options are :doc:`pair_style gran/\* <pair_gran>` or the more general
*hooke*\ , *hooke/history*\ , or *hertz/history* for the former, and :doc:`pair_style granular <pair_granular>` commands. Currently the
*granular* with all the possible options of the associated options are *hooke*\ , *hooke/history*\ , or *hertz/history* for the
former, and *granular* with all the possible options of the associated
*pair\_coeff* command for the latter. The equation for the force *pair\_coeff* command for the latter. The equation for the force
between the wall and particles touching it is the same as the between the wall and particles touching it is the same as the
corresponding equation on the :doc:`pair_style gran/\* <pair_gran>` and corresponding equation on the :doc:`pair_style gran/\* <pair_gran>` and
:doc:`pair\_style\_granular <pair_granular>` doc pages, but the effective :doc:`pair_style granular <pair_granular>` doc pages, but the effective
radius is calculated using the radius of the particle and the radius radius is calculated using the radius of the particle and the radius of
of curvature of the wall at the contact point. curvature of the wall at the contact point.
Specifically, delta = radius - r = overlap of particle with wall, Specifically, delta = radius - r = overlap of particle with wall,
m\_eff = mass of particle, and RiRj/Ri+Rj is the effective radius, with m\_eff = mass of particle, and RiRj/Ri+Rj is the effective radius, with

View File

@ -121,7 +121,7 @@ quantities.
The choice of a line search algorithm for the *spin/cg* and The choice of a line search algorithm for the *spin/cg* and
*spin/lbfgs* styles can be specified via the *line* keyword. The *spin/lbfgs* styles can be specified via the *line* keyword. The
*spin\_cubic* and *spin\_none* only make sense when one of those two *spin\_cubic* and *spin\_none* keywords only make sense when one of those two
minimization styles is declared. The *spin\_cubic* performs the line minimization styles is declared. The *spin\_cubic* performs the line
search based on a cubic interpolation of the energy along the search search based on a cubic interpolation of the energy along the search
direction. The *spin\_none* keyword deactivates the line search direction. The *spin\_none* keyword deactivates the line search
@ -131,7 +131,7 @@ more robust if *spin\_cubic* line search is used.
The Newton *integrator* used for *fire* minimization can be selected The Newton *integrator* used for *fire* minimization can be selected
to be either the symplectic Euler (\ *eulerimplicit*\ ) or velocity to be either the symplectic Euler (\ *eulerimplicit*\ ) or velocity
Verlet (\ *verlet*\ ). *tmax* define the maximum value for the Verlet (\ *verlet*\ ). *tmax* defines the maximum value for the
adaptive timestep during a *fire* minimization. It is a multiplication adaptive timestep during a *fire* minimization. It is a multiplication
factor applied to the current :doc:`timestep <timestep>` (not in time factor applied to the current :doc:`timestep <timestep>` (not in time
unit). For example, *tmax* = 4.0 with a :doc:`timestep <timestep>` of unit). For example, *tmax* = 4.0 with a :doc:`timestep <timestep>` of
@ -165,7 +165,7 @@ Restrictions
For magnetic GNEB calculations, only *spin\_none* value for *line* For magnetic GNEB calculations, only *spin\_none* value for *line*
keyword can be used when styles *spin/cg* and *spin/lbfgs* are keyword can be used when minimization styles *spin/cg* and *spin/lbfgs* are
employed. See :doc:`neb/spin <neb_spin>` for more explanation. employed. See :doc:`neb/spin <neb_spin>` for more explanation.
Related commands Related commands

View File

@ -70,14 +70,13 @@ discretization factor *discrete\_factor*.
By default, style *spin/cg* does not employ the line search procedure By default, style *spin/cg* does not employ the line search procedure
and uses the adaptive time-step technique in the same way as style *spin*\ . and uses the adaptive time-step technique in the same way as style *spin*\ .
Style *spin/lbfgs* defines an orthogonal spin optimization Style *spin/lbfgs* defines an orthogonal spin optimization (OSO)
(OSO) combined to a limited-memory Broyden-Fletcher-Goldfarb-Shanno combined to a limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)
(L-BFGS) algorithm. algorithm. By default, style *spin/lbfgs* does not employ line search
By default, style *spin/lbfgs* does not employ line search procedure. procedure. If the line search procedure is not used then the discrete
If the line search procedure is not used then the discrete factor defines factor defines the maximum root mean squared rotation angle of spins by
the maximum root mean squared rotation angle of spins by equation *pi/(5\*Kappa)*. equation *pi/(5\*Kappa)*. The default value for Kappa is 10. The
The default value for Kappa is 10. *spin\_cubic* line search option can improve the convergence of the
The *spin\_cubic* line search can improve the convergence of the
*spin/lbfgs* algorithm. *spin/lbfgs* algorithm.
The :doc:`min_modify <min_modify>` command can be used to The :doc:`min_modify <min_modify>` command can be used to

View File

@ -389,8 +389,9 @@ This command can only be used if LAMMPS was built with the SPIN
package. See the :doc:`Build package <Build_package>` doc package. See the :doc:`Build package <Build_package>` doc
page for more info. page for more info.
For magnetic GNEB calculations, only *spin\_none* value for *line* keyword can be used For magnetic GNEB calculations, only the *spin\_none* value for the
when styles *spin/cg* and *spin/lbfgs* are employed. *line* keyword can be used when minimization styles *spin/cg* and
*spin/lbfgs* are employed.
---------- ----------

View File

@ -133,7 +133,7 @@ cutoff distance.
A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in
free energy calculations, is part of the USER-FEP package and is documented with free energy calculations, is part of the USER-FEP package and is documented with
the :doc:`pair\_fep\_soft <pair_fep_soft>` styles. The version with soft core is the :doc:`pair_style */soft <pair_fep_soft>` styles. The version with soft core is
only available if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. only available if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
@ -203,7 +203,7 @@ LAMMPS was built with that package. See the :doc:`Build package <Build_package>
Related commands Related commands
"""""""""""""""" """"""""""""""""
:doc:`pair_coeff <pair_coeff>`, :doc:`pair\_fep\_soft <pair_fep_soft>` :doc:`pair_coeff <pair_coeff>`, :doc:`pair_style */soft <pair_fep_soft>`
**Default:** none **Default:** none

View File

@ -392,7 +392,7 @@ info.
Related commands Related commands
"""""""""""""""" """"""""""""""""
:doc:`pair_coeff <pair_coeff>`, :doc:`pair\_style, hybrid/overlay <pair_hybrid>`, :doc:`kspace_style <kspace_style>` :doc:`pair_coeff <pair_coeff>`, :doc:`pair_style, hybrid/overlay <pair_hybrid>`, :doc:`kspace_style <kspace_style>`
**Default:** none **Default:** none

View File

@ -193,7 +193,7 @@ and Coulomb potentials modified by a soft core, with the functional form
The *lj/class2/soft* style is a 9-6 potential with the exponent of the The *lj/class2/soft* style is a 9-6 potential with the exponent of the
denominator of the first term in brackets taking the value 1.5 instead of 2 denominator of the first term in brackets taking the value 1.5 instead of 2
(other details differ, see the form of the potential in (other details differ, see the form of the potential in
:doc:`pair\_class2 <pair_class2>`). :doc:`pair_style lj/class2 <pair_class2>`).
Coulomb interactions can also be damped with a soft core at short distance, Coulomb interactions can also be damped with a soft core at short distance,
@ -255,14 +255,14 @@ optional cutoffs.
Style *lj/charmm/coul/long/soft* implements a soft-core version of the modified Style *lj/charmm/coul/long/soft* implements a soft-core version of the modified
12-6 LJ potential used in CHARMM and documented in the 12-6 LJ potential used in CHARMM and documented in the
:doc:`pair\_lj\_charmm <pair_charmm>` style. In the soft version the parameters n, :doc:`pair_style lj/charmm/coul/long <pair_charmm>` style. In the soft version the parameters n,
alpha\_LJ and alpha\_C are set in the :doc:`pair_style <pair_style>` command, before alpha\_LJ and alpha\_C are set in the :doc:`pair_style <pair_style>` command, before
the global cutoffs. The activation parameter lambda is introduced as an argument the global cutoffs. The activation parameter lambda is introduced as an argument
of the :doc:`pair_coeff <pair_coeff>` command, after epsilon and sigma and of the :doc:`pair_coeff <pair_coeff>` command, after epsilon and sigma and
before the optional eps14 and sigma14. before the optional eps14 and sigma14.
Style *lj/class2/soft* implements a soft-core version of the 9-6 potential in Style *lj/class2/soft* implements a soft-core version of the 9-6 potential in
:doc:`pair\_class2 <pair_class2>`. In the soft version the parameters n, alpha\_LJ :doc:`pair_style lj/class2 <pair_class2>`. In the soft version the parameters n, alpha\_LJ
and alpha\_C are set in the :doc:`pair_style <pair_style>` command, before the and alpha\_C are set in the :doc:`pair_style <pair_style>` command, before the
global cutoffs. The activation parameter lambda is introduced as an argument of global cutoffs. The activation parameter lambda is introduced as an argument of
the the :doc:`pair_coeff <pair_coeff>` command, after epsilon and sigma and before the the :doc:`pair_coeff <pair_coeff>` command, after epsilon and sigma and before

View File

@ -348,7 +348,7 @@ pair\_style command.
A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in
free energy calculations, is part of the USER-FEP package and is documented with free energy calculations, is part of the USER-FEP package and is documented with
the :doc:`pair\_fep\_soft <pair_fep_soft>` styles. The version with soft core is the :doc:`pair_style */soft <pair_fep_soft>` styles. The version with soft core is
only available if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. only available if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.

View File

@ -180,7 +180,7 @@ specified in the pair\_style command.
A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in
free energy calculations, is part of the USER-FEP package and is documented with free energy calculations, is part of the USER-FEP package and is documented with
the :doc:`pair\_fep\_soft <pair_fep_soft>` styles. The version with soft core is the :doc:`pair_style */soft <pair_fep_soft>` styles. The version with soft core is
only available if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. only available if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.

View File

@ -13,18 +13,14 @@ Syntax
* one or more keyword/value pairs may be listed * one or more keyword/value pairs may be listed
* keyword = *pair* or *shift* or *mix* or *table* or *table/disp* or *tabinner* * keyword = *pair* or *shift* or *mix* or *table* or *table/disp* or *tabinner*
or *tabinner/disp* or *tail* or *compute* or *nofdotr* or *tabinner/disp* or *tail* or *compute* or *nofdotr* or *special* or
*compute/tally*
.. parsed-literal:: .. parsed-literal::
*pair* values = sub-style N *special* which wt1 wt2 wt3 *pair* value = sub-style N
or sub-style N *compute/tally* flag
sub-style = sub-style of :doc:`pair hybrid <pair_hybrid>` sub-style = sub-style of :doc:`pair hybrid <pair_hybrid>`
N = which instance of sub-style (only if sub-style is used multiple times) N = which instance of sub-style (1 to M), only specify if sub-style is used multiple times
*special* which wt1 wt2 wt3 = override *special_bonds* settings (optional)
which = *lj/coul* or *lj* or *coul*
w1,w2,w3 = 1-2, 1-3, and 1-4 weights from 0.0 to 1.0 inclusive
*compute/tally* flag = *yes* or *no*
*mix* value = *geometric* or *arithmetic* or *sixthpower* *mix* value = *geometric* or *arithmetic* or *sixthpower*
*shift* value = *yes* or *no* *shift* value = *yes* or *no*
*table* value = N *table* value = N
@ -37,8 +33,11 @@ Syntax
cutoff = inner cutoff at which to begin table (distance units) cutoff = inner cutoff at which to begin table (distance units)
*tail* value = *yes* or *no* *tail* value = *yes* or *no*
*compute* value = *yes* or *no* *compute* value = *yes* or *no*
*nofdotr* *nofdotr* value = none
*special* values = which wt1 wt2 wt3
which = *lj/coul* or *lj* or *coul*
w1,w2,w3 = 1-2, 1-3, 1-4 weights from 0.0 to 1.0 inclusive
*compute/tally* value = *yes* or *no*
Examples Examples
@ -53,47 +52,41 @@ Examples
pair_modify pair lj/cut compute no pair_modify pair lj/cut compute no
pair_modify pair tersoff compute/tally no pair_modify pair tersoff compute/tally no
pair_modify pair lj/cut/coul/long 1 special lj/coul 0.0 0.0 0.0 pair_modify pair lj/cut/coul/long 1 special lj/coul 0.0 0.0 0.0
pair_modify pair lj/cut/coul/long special lj 0.0 0.0 0.5 special coul 0.0 0.0 0.8333333
Description Description
""""""""""" """""""""""
Modify the parameters of the currently defined pair style. Not all Modify the parameters of the currently defined pair style. If the
parameters are relevant to all pair styles. pair style is :doc:`hybrid or hybrid/overlay <pair_hybrid>`, then the
specified parameters are by default modified for all the hybrid sub-styles.
If used, the *pair* keyword must appear first in the list of keywords. .. note::
It can only be used with the :doc:`hybrid and hybrid/overlay <pair_hybrid>` pair styles. It means that all the
following parameters will only be modified for the specified
sub-style. If the sub-style is defined multiple times, then an
additional numeric argument *N* must also be specified, which is a
number from 1 to M where M is the number of times the sub-style was
listed in the :doc:`pair_style hybrid <pair_hybrid>` command. The extra
number indicates which instance of the sub-style the remaining
keywords will be applied to. Note that if the *pair* keyword is not
used, and the pair style is *hybrid* or *hybrid/overlay*\ , then all the
specified keywords will be applied to all sub-styles.
The *special* and *compute/tally* keywords can **only** be used in The behavior for hybrid pair styles can be changed by using the *pair*
conjunction with the *pair* keyword and must directly follow it. keyword, which allows selection of a specific sub-style to apply all
*special* allows to override the remaining keywords to.
:doc:`special_bonds <special_bonds>` settings for the specified sub-style. The *special* and *compute/tally* keywords can **only** be
*compute/tally* allows to disable or enable registering used in conjunction with the *pair* keyword. See further details about
:doc:`compute \*/tally <compute_tally>` computes for a given sub-style. these 3 keywords below.
More details are given below.
The *mix* keyword affects pair coefficients for interactions between The *mix* keyword affects pair coefficients for interactions between
atoms of type I and J, when I != J and the coefficients are not atoms of type I and J, when I != J and the coefficients are not
explicitly set in the input script. Note that coefficients for I = J explicitly set in the input script. Note that coefficients for I = J
must be set explicitly, either in the input script via the must be set explicitly, either in the input script via the
"pair\_coeff" command or in the "Pair Coeffs" section of the :doc:`data file <read_data>`. For some pair styles it is not necessary to :doc:`pair_coeff <pair_coeff>` command or in the "Pair Coeffs" section of the
specify coefficients when I != J, since a "mixing" rule will create :doc:`data file <read_data>`. For some pair styles it is not
them from the I,I and J,J settings. The pair\_modify *mix* value necessary to specify coefficients when I != J, since a "mixing" rule
determines what formulas are used to compute the mixed coefficients. will create them from the I,I and J,J settings. The pair\_modify
In each case, the cutoff distance is mixed the same way as sigma. *mix* value determines what formulas are used to compute the mixed
coefficients. In each case, the cutoff distance is mixed the same way
as sigma.
Note that not all pair styles support mixing. Also, some mix options Note that not all pair styles support mixing and some mix options
are not available for certain pair styles. See the doc page for are not available for certain pair styles. Also, there are additional
individual pair styles for those restrictions. Note also that the restrictions when using :doc:`pair style hybrid or hybrid/overlay <pair_hybrid>`.
:doc:`pair_coeff <pair_coeff>` command also can be to directly set See the doc page for individual pair styles for those restrictions. Note also that the
:doc:`pair_coeff <pair_coeff>` command also can be used to directly set
coefficients for a specific I != J pairing, in which case no mixing is coefficients for a specific I != J pairing, in which case no mixing is
performed. performed.
@ -135,10 +128,11 @@ see the doc page for individual styles to see which potentials support
these options. If N is non-zero, a table of length 2\^N is these options. If N is non-zero, a table of length 2\^N is
pre-computed for forces and energies, which can shrink their pre-computed for forces and energies, which can shrink their
computational cost by up to a factor of 2. The table is indexed via a computational cost by up to a factor of 2. The table is indexed via a
bit-mapping technique :ref:`(Wolff) <Wolff1>` and a linear interpolation is bit-mapping technique :ref:`(Wolff) <Wolff1>` and a linear
performed between adjacent table values. In our experiments with interpolation is performed between adjacent table values. In our
different table styles (lookup, linear, spline), this method typically experiments with different table styles (lookup, linear, spline), this
gave the best performance in terms of speed and accuracy. method typically gave the best performance in terms of speed and
accuracy.
The choice of table length is a tradeoff in accuracy versus speed. A The choice of table length is a tradeoff in accuracy versus speed. A
larger N yields more accurate force computations, but requires more larger N yields more accurate force computations, but requires more
@ -162,27 +156,28 @@ pairwise interactions are computed via table lookup for simulations
with "real" units, but some close pairs may be computed directly with "real" units, but some close pairs may be computed directly
(non-table) for simulations with "lj" units. (non-table) for simulations with "lj" units.
When the *tail* keyword is set to *yes*\ , certain pair styles will add When the *tail* keyword is set to *yes*\ , certain pair styles will
a long-range VanderWaals tail "correction" to the energy and pressure. add a long-range VanderWaals tail "correction" to the energy and
These corrections are bookkeeping terms which do not affect dynamics, pressure. These corrections are bookkeeping terms which do not affect
unless a constant-pressure simulation is being performed. See the doc dynamics, unless a constant-pressure simulation is being performed.
page for individual styles to see which support this option. These See the doc page for individual styles to see which support this
corrections are included in the calculation and printing of option. These corrections are included in the calculation and
thermodynamic quantities (see the :doc:`thermo_style <thermo_style>` printing of thermodynamic quantities (see the :doc:`thermo_style
command). Their effect will also be included in constant NPT or NPH <thermo_style>` command). Their effect will also be included in
simulations where the pressure influences the simulation box constant NPT or NPH simulations where the pressure influences the
dimensions (e.g. the :doc:`fix npt <fix_nh>` and :doc:`fix nph <fix_nh>` simulation box dimensions (e.g. the :doc:`fix npt <fix_nh>` and
commands). The formulas used for the long-range corrections come from :doc:`fix nph <fix_nh>` commands). The formulas used for the
equation 5 of :ref:`(Sun) <Sun>`. long-range corrections come from equation 5 of :ref:`(Sun) <Sun>`.
.. note:: .. note::
The tail correction terms are computed at the beginning of each The tail correction terms are computed at the beginning of each
run, using the current atom counts of each atom type. If atoms are run, using the current atom counts of each atom type. If atoms are
deleted (or lost) or created during a simulation, e.g. via the :doc:`fix gcmc <fix_gcmc>` command, the correction factors are not deleted (or lost) or created during a simulation, e.g. via the
re-computed. If you expect the counts to change dramatically, you can :doc:`fix gcmc <fix_gcmc>` command, the correction factors are not
break a run into a series of shorter runs so that the correction re-computed. If you expect the counts to change dramatically, you
factors are re-computed more frequently. can break a run into a series of shorter runs so that the
correction factors are re-computed more frequently.
Several additional assumptions are inherent in using tail corrections, Several additional assumptions are inherent in using tail corrections,
including the following: including the following:
@ -191,26 +186,27 @@ including the following:
should not be used for systems that are non-liquid, 2d, have a slab should not be used for systems that are non-liquid, 2d, have a slab
geometry (only 2d periodic), or inhomogeneous. geometry (only 2d periodic), or inhomogeneous.
* G(r), the radial distribution function (rdf), is unity beyond the * G(r), the radial distribution function (rdf), is unity beyond the
cutoff, so a fairly large cutoff should be used (i.e. 2.5 sigma for an cutoff, so a fairly large cutoff should be used (i.e. 2.5 sigma for
LJ fluid), and it is probably a good idea to verify this assumption by an LJ fluid), and it is probably a good idea to verify this
checking the rdf. The rdf is not exactly unity beyond the cutoff for assumption by checking the rdf. The rdf is not exactly unity beyond
each pair of interaction types, so the tail correction is necessarily the cutoff for each pair of interaction types, so the tail
an approximation. correction is necessarily an approximation.
The tail corrections are computed at the beginning of each simulation The tail corrections are computed at the beginning of each
run. If the number of atoms changes during the run, e.g. due to atoms simulation run. If the number of atoms changes during the run,
leaving the simulation domain, or use of the :doc:`fix gcmc <fix_gcmc>` e.g. due to atoms leaving the simulation domain, or use of the
command, then the corrections are not updated to reflect the changed :doc:`fix gcmc <fix_gcmc>` command, then the corrections are not
atom count. If this is a large effect in your simulation, you should updated to reflect the changed atom count. If this is a large
break the long run into several short runs, so that the correction effect in your simulation, you should break the long run into
factors are re-computed multiple times. several short runs, so that the correction factors are re-computed
multiple times.
* Thermophysical properties obtained from calculations with this option * Thermophysical properties obtained from calculations with this
enabled will not be thermodynamically consistent with the truncated option enabled will not be thermodynamically consistent with the
force-field that was used. In other words, atoms do not feel any LJ truncated force-field that was used. In other words, atoms do not
pair interactions beyond the cutoff, but the energy and pressure feel any LJ pair interactions beyond the cutoff, but the energy and
reported by the simulation include an estimated contribution from pressure reported by the simulation include an estimated
those interactions. contribution from those interactions.
The *compute* keyword allows pairwise computations to be turned off, The *compute* keyword allows pairwise computations to be turned off,
@ -225,53 +221,73 @@ a simulation with :doc:`pair_style hybrid <pair_hybrid>` with only a
subset of the hybrid sub-styles enabled. Second, this option allows subset of the hybrid sub-styles enabled. Second, this option allows
you to perform a simulation with only long-range interactions but no you to perform a simulation with only long-range interactions but no
short-range pairwise interactions. Doing this by simply not defining short-range pairwise interactions. Doing this by simply not defining
a pair style will not work, because the a pair style will not work, because the :doc:`kspace_style
:doc:`kspace_style <kspace_style>` command requires a Kspace-compatible <kspace_style>` command requires a Kspace-compatible pair style be
pair style be defined. defined.
The *nofdotr* keyword allows to disable an optimization that computes The *nofdotr* keyword allows to disable an optimization that computes
the global stress tensor from the total forces and atom positions rather the global stress tensor from the total forces and atom positions
than from summing forces between individual pairs of atoms. rather than from summing forces between individual pairs of atoms.
---------- ----------
The *pair* keyword can only be used with the :doc:`hybrid and
hybrid/overlay <pair_hybrid>` pair styles. If used, it must appear
first in the list of keywords.
The *special* keyword allows to override the 1-2, 1-3, and 1-4 Its meaning is that all the following parameters will only be modified
exclusion settings for individual sub-styles of a for the specified sub-style. If the sub-style is defined multiple
:doc:`hybrid pair style <pair_hybrid>`. It requires 4 arguments similar times, then an additional numeric argument *N* must also be specified,
to the :doc:`special_bonds <special_bonds>` command, *which* and which is a number from 1 to M where M is the number of times the
wt1,wt2,wt3. The *which* argument can be *lj* to change the sub-style was listed in the :doc:`pair_style hybrid <pair_hybrid>`
Lennard-Jones settings, *coul* to change the Coulombic settings, command. The extra number indicates which instance of the sub-style
or *lj/coul* to change both to the same set of 3 values. The wt1,wt2,wt3 the remaining keywords will be applied to.
values are numeric weights from 0.0 to 1.0 inclusive, for the 1-2,
1-3, and 1-4 bond topology neighbors, respectively. The *special* The *special* and *compute/tally* keywords can **only** be used in
keyword can only be used in conjunction with the *pair* keyword conjunction with the *pair* keyword and they must directly follow it.
and has to directly follow it. This option is not compatible with I.e. any other keyword, must appear after *pair*, *special*, and
pair styles from the GPU or the USER-INTEL package and attempting *compute/tally*.
it will cause an error.
The *special* keyword overrides the global :doc:`special_bonds <special_bonds>`
1-2, 1-3, 1-4 exclusion settings (weights) for the sub-style selected
by the *pair* keyword.
Similar to the :doc:`special_bonds <special_bonds>` command, it takes
4 arguments. The *which* argument can be *lj* to change only the
non-Coulomb weights (e.g. Lennard-Jones or Buckingham), *coul* to change
only the Coulombic settings, or *lj/coul* to change both to the same
values. The *wt1,wt2,wt3* values are numeric weights from 0.0 to 1.0
inclusive, for the 1-2, 1-3, and 1-4 bond topology neighbors, respectively.
The *special* keyword can be used multiple times, e.g. to set the *lj*
and *coul* settings to different values.
.. note:: .. note::
The global settings specified by the The *special* keyword is not compatible with pair styles from the
:doc:`special_bonds <special_bonds>` command affect the construction of GPU or the USER-INTEL package and attempting to use it will cause
neighbor lists. Weights of 0.0 (for 1-2, 1-3, or 1-4 neighbors) an error.
exclude those pairs from the neighbor list entirely. Weights of 1.0
store the neighbor with no weighting applied. Thus only global values
different from exactly 0.0 or 1.0 can be overridden and an error is
generated if the requested setting is not compatible with the global
setting. Substituting 1.0e-10 for 0.0 and 0.9999999999 for 1.0 is
usually a sufficient workaround in this case without causing a
significant error.
The *compute/tally* keyword takes exactly 1 argument (\ *no* or *yes*\ ),
and allows to selectively disable or enable processing of the various
:doc:`compute \*/tally <compute_tally>` styles for a given
:doc:`pair hybrid or hybrid/overlay <pair_hybrid>` sub-style.
.. note:: .. note::
Any "pair\_modify pair compute/tally" command must be issued Weights of exactly 0.0 or 1.0 in the :doc:`special_bonds <special_bonds>`
command have implications on the neighbor list construction, which
means that they cannot be overridden by using the *special* keyword.
One workaround for this restriction is to use the :doc:`special_bonds <special_bonds>`
command with weights like 1.0e-10 or 0.999999999 instead of 0.0 or 1.0,
respectively, which enables to reset each them to any value between 0.0
and 1.0 inclusively. Otherwise you can set **all** global weights to
an arbitrary number between 0.0 or 1.0, like 0.5, and then you have
to override **all** *special* settings for **all** sub-styles which use
the 1-2, 1-3, and 1-4 exclusion weights in their force/energy computation.
The *compute/tally* keyword disables or enables registering :doc:`compute
\*/tally <compute_tally>` computes for the sub-style specified by
the *pair* keyword. Use *no* to disable, or *yes* to enable.
.. note::
The "pair_modify pair compute/tally" command must be issued
**before** the corresponding compute style is defined. **before** the corresponding compute style is defined.
@ -290,7 +306,7 @@ Related commands
"""""""""""""""" """"""""""""""""
:doc:`pair_style <pair_style>`, :doc:`pair_style hybrid <pair_hybrid>`, :doc:`pair_style <pair_style>`, :doc:`pair_style hybrid <pair_hybrid>`,
pair\_coeff"_pair\_coeff.html, :doc:`thermo_style <thermo_style>`, :doc:`pair_coeff <pair_coeff>`, :doc:`thermo_style <thermo_style>`,
:doc:`compute \*/tally <compute_tally>` :doc:`compute \*/tally <compute_tally>`
Default Default

View File

@ -95,7 +95,7 @@ the *morse* and *morse/smooth/linear* styles.
A version of the *morse* style with a soft core, *morse/soft*\ , suitable for use in A version of the *morse* style with a soft core, *morse/soft*\ , suitable for use in
free energy calculations, is part of the USER-FEP package and is documented with free energy calculations, is part of the USER-FEP package and is documented with
the :doc:`pair\_fep\_soft <pair_fep_soft>` styles. The version with soft core is only the :doc:`pair_style */soft <pair_fep_soft>` styles. The version with soft core is only
available if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. available if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
@ -160,7 +160,7 @@ built with the USER-MISC package. See the :doc:`Build package <Build_package>`
Related commands Related commands
"""""""""""""""" """"""""""""""""
:doc:`pair_coeff <pair_coeff>`, :doc:`pair\_fep\_soft <pair_fep_soft>` :doc:`pair_coeff <pair_coeff>`, :doc:`pair_style */soft <pair_fep_soft>`
**Default:** none **Default:** none

View File

@ -55,7 +55,7 @@ in :ref:`(Tranchida) <Tranchida3>`.
From this exchange interaction, each spin :math:`i` will be submitted From this exchange interaction, each spin :math:`i` will be submitted
to a magnetic torque :math:`\vec{\omega}`, and its associated atom can be submitted to a to a magnetic torque :math:`\vec{\omega}`, and its associated atom can be submitted to a
force :math:`\vec{F}` for spin-lattice calculations (see :doc:`fix\_nve\_spin <fix_nve_spin>`), force :math:`\vec{F}` for spin-lattice calculations (see :doc:`fix nve/spin <fix_nve_spin>`),
such as: such as:
.. math:: .. math::

View File

@ -41,7 +41,7 @@ direction of a screened dielectric atomic polarization (in eV).
From this magneto-electric interaction, each spin i will be submitted From this magneto-electric interaction, each spin i will be submitted
to a magnetic torque omega, and its associated atom can be submitted to a to a magnetic torque omega, and its associated atom can be submitted to a
force F for spin-lattice calculations (see :doc:`fix\_nve\_spin <fix_nve_spin>`), force F for spin-lattice calculations (see :doc:`fix nve/spin <fix_nve_spin>`),
such as: such as:
.. image:: Eqs/pair_spin_me_forces.jpg .. image:: Eqs/pair_spin_me_forces.jpg
@ -68,7 +68,7 @@ Related commands
"""""""""""""""" """"""""""""""""
:doc:`atom_style spin <atom_style>`, :doc:`pair_coeff <pair_coeff>`, :doc:`atom_style spin <atom_style>`, :doc:`pair_coeff <pair_coeff>`,
:doc:`pair\_spin\_exchange <pair_spin_exchange>`, :doc:`pair_eam <pair_eam>`, :doc:`pair_style spin/exchange <pair_spin_exchange>`, :doc:`pair_eam <pair_eam>`,
**Default:** none **Default:** none

View File

@ -53,7 +53,7 @@ describes how to use the :doc:`thermalized Drude oscillator model <Howto_drude>`
discussed on the :doc:`Howto polarizable <Howto_polarizable>` doc page. discussed on the :doc:`Howto polarizable <Howto_polarizable>` doc page.
The *thole* pair style should be used as a sub-style within in the The *thole* pair style should be used as a sub-style within in the
:doc:`pair\_hybrid/overlay <pair_hybrid>` command, in conjunction with a :doc:`pair_style hybrid/overlay <pair_hybrid>` command, in conjunction with a
main pair style including Coulomb interactions, i.e. any pair style main pair style including Coulomb interactions, i.e. any pair style
containing *coul/cut* or *coul/long* in its style name. containing *coul/cut* or *coul/long* in its style name.

View File

@ -115,13 +115,13 @@ However if you specify a series of dump files in an incorrect order
(with respect to the timesteps they contain), you may skip large (with respect to the timesteps they contain), you may skip large
numbers of snapshots numbers of snapshots
Note that the dump files specified as part of the *dump* keyword can Note that the dump files specified as part of the *dump* keyword can be
be parallel files, i.e. written as multiple files either per processor parallel files, i.e. written as multiple files either per processor
and/or per snapshot. If that is the case they will also be read in and/or per snapshot. If that is the case they will also be read in
parallel which can make the rerun command operate dramatically faster parallel which can make the rerun command operate dramatically faster
for large systems. See the doc page for the `read\_dump <read_dump>`_ and for large systems. See the doc page for the :doc:`read_dump
:doc:`dump <dump>` commands which describe how to read and write <read_dump>` and :doc:`dump <dump>` commands which describe how to read
parallel dump files. and write parallel dump files.
The *first*\ , *last*\ , *every*\ , *skip* keywords determine which The *first*\ , *last*\ , *every*\ , *skip* keywords determine which
snapshots are read from the dump file(s). Snapshots are skipped until snapshots are read from the dump file(s). Snapshots are skipped until

View File

@ -359,9 +359,9 @@ particles must be ellipsoids as defined by the :doc:`atom_style ellipsoid <atom_
of the particles is set to the 3 specified components. of the particles is set to the 3 specified components.
Keyword *omega* sets the angular velocity of selected atoms. The Keyword *omega* sets the angular velocity of selected atoms. The
particles must be spheres as defined by the "atom\_style sphere"_ particles must be spheres as defined by the
atom\_style.html command. The angular velocity vector of the particles :doc:`atom_style sphere <atom_style>` command. The angular velocity
is set to the 3 specified components. vector of the particles is set to the 3 specified components.
Keyword *mass* sets the mass of all selected particles. The particles Keyword *mass* sets the mass of all selected particles. The particles
must have a per-atom mass attribute, as defined by the must have a per-atom mass attribute, as defined by the

View File

@ -14,7 +14,7 @@ Syntax
* N = total # of timesteps to run * N = total # of timesteps to run
* M = attempt a tempering swap every this many steps * M = attempt a tempering swap every this many steps
* lambda = initial lambda for this ensemble * lambda = initial lambda for this ensemble
* fix-ID = ID of fix\_grem * fix-ID = ID of *fix grem*
* thermostat-ID = ID of the thermostat that controls kinetic temperature * thermostat-ID = ID of the thermostat that controls kinetic temperature
* seed1 = random # seed used to decide on adjacent temperature to partner with * seed1 = random # seed used to decide on adjacent temperature to partner with
* seed2 = random # seed for Boltzmann factor in Metropolis swap * seed2 = random # seed for Boltzmann factor in Metropolis swap

View File

@ -221,7 +221,7 @@ void BondOxdnaFene::compute(int eflag, int vflag)
TAGINT_FORMAT " " TAGINT_FORMAT " %g", TAGINT_FORMAT " " TAGINT_FORMAT " %g",
update->ntimestep,atom->tag[a],atom->tag[b],r); update->ntimestep,atom->tag[a],atom->tag[b],r);
error->warning(FLERR,str,0); error->warning(FLERR,str,0);
if (rlogarg <= -3.0) error->one(FLERR,"Bad FENE bond"); if (rlogarg <= -8.0) error->one(FLERR,"Bad FENE bond");
} }
fbond = -k[type]*rr0/rlogarg/Deltasq/r; fbond = -k[type]*rr0/rlogarg/Deltasq/r;
@ -421,7 +421,7 @@ double BondOxdnaFene::single(int type, double rsq, int /*i*/, int /*j*/,
sprintf(str,"FENE bond too long: " BIGINT_FORMAT " %g", sprintf(str,"FENE bond too long: " BIGINT_FORMAT " %g",
update->ntimestep,sqrt(rsq)); update->ntimestep,sqrt(rsq));
error->warning(FLERR,str,0); error->warning(FLERR,str,0);
if (rlogarg <= -3.0) error->one(FLERR,"Bad FENE bond"); if (rlogarg <= -8.0) error->one(FLERR,"Bad FENE bond");
} }
double eng = -0.5 * k[type]*log(rlogarg); double eng = -0.5 * k[type]*log(rlogarg);

View File

@ -286,7 +286,7 @@ void KSpace::qsum_qsq(int warning_flag)
double qsum_local(0.0), qsqsum_local(0.0); double qsum_local(0.0), qsqsum_local(0.0);
#if defined(_OPENMP) #if defined(_OPENMP)
#pragma omp parallel for default(none) reduction(+:qsum_local,qsqsum_local) #pragma omp parallel for default(shared) reduction(+:qsum_local,qsqsum_local)
#endif #endif
for (int i = 0; i < nlocal; i++) { for (int i = 0; i < nlocal; i++) {
qsum_local += q[i]; qsum_local += q[i];

View File

@ -402,13 +402,6 @@ void Neighbor::init()
} }
} }
// maxwt = max multiplicative factor on atom indices stored in neigh list
maxwt = 0;
if (special_flag[1] == 2) maxwt = 2;
if (special_flag[2] == 2) maxwt = 3;
if (special_flag[3] == 2) maxwt = 4;
// ------------------------------------------------------------------ // ------------------------------------------------------------------
// xhold array // xhold array

View File

@ -166,7 +166,6 @@ class Neighbor : protected Pointers {
int maxatom; // max size of atom-based NeighList arrays int maxatom; // max size of atom-based NeighList arrays
int maxrequest; // max size of NeighRequest list int maxrequest; // max size of NeighRequest list
int maxwt; // max weighting factor applied + 1
// info for other Neigh classes: NBin,NStencil,NPair,NTopo // info for other Neigh classes: NBin,NStencil,NPair,NTopo

View File

@ -859,14 +859,17 @@ void PairHybrid::modify_params(int narg, char **arg)
iarg = 3; iarg = 3;
} }
// if 2nd keyword (after pair) is special: // keywords "special" and "compute/tally" have to be listed directly
// invoke modify_special() for the sub-style // after "pair" but can be given multiple times
again:
if (iarg < narg && strcmp(arg[iarg],"special") == 0) { if (iarg < narg && strcmp(arg[iarg],"special") == 0) {
if (narg < iarg+5) if (narg < iarg+5)
error->all(FLERR,"Illegal pair_modify special command"); error->all(FLERR,"Illegal pair_modify special command");
modify_special(m,narg-iarg,&arg[iarg+1]); modify_special(m,narg-iarg,&arg[iarg+1]);
iarg += 5; iarg += 5;
goto again;
} }
// if 2nd keyword (after pair) is compute/tally: // if 2nd keyword (after pair) is compute/tally:
@ -881,11 +884,13 @@ void PairHybrid::modify_params(int narg, char **arg)
compute_tally[m] = 0; compute_tally[m] = 0;
} else error->all(FLERR,"Illegal pair_modify compute/tally command"); } else error->all(FLERR,"Illegal pair_modify compute/tally command");
iarg += 2; iarg += 2;
goto again;
} }
// apply the remaining keywords to the base pair style itself and the // apply the remaining keywords to the base pair style itself and
// sub-style except for "pair" and "special". // the sub-style except for "pair" and "special" or "compute/tally"
// the former is important for some keywords like "tail" or "compute" // and their arguments. the former is important for some keywords
// like "tail" or "compute"
if (narg-iarg > 0) { if (narg-iarg > 0) {
Pair::modify_params(narg-iarg,&arg[iarg]); Pair::modify_params(narg-iarg,&arg[iarg]);

View File

@ -183,7 +183,7 @@ void RanMars::select_subset(bigint ntarget, int nmine, int *mark, int *next)
int mode,index,oldindex,newvalue,nflip,which,niter; int mode,index,oldindex,newvalue,nflip,which,niter;
int active[2],first[2],last[2]; int active[2],first[2],last[2];
int newactive[2],newfirst[2],newlast[2]; int newactive[2],newfirst[2],newlast[2];
bigint nmark,nactive,nactiveall,nflipall,bnflip; bigint nmark,nflipall;
bigint activeall[2],bsum[3],bsumall[3]; bigint activeall[2],bsum[3],bsumall[3];
double thresh; double thresh;
@ -210,15 +210,12 @@ void RanMars::select_subset(bigint ntarget, int nmine, int *mark, int *next)
// choose to ADD or SUBTRACT from current nmark // choose to ADD or SUBTRACT from current nmark
// thresh = desired flips / size of active set // thresh = desired flips / size of active set
// nactive = size of current active set, only for debug output below
if (ntarget-nmark > 0) { if (ntarget-nmark > 0) {
mode = ADD; mode = ADD;
// nactive = active[mode];
thresh = 1.0 * (ntarget-nmark) / activeall[mode]; thresh = 1.0 * (ntarget-nmark) / activeall[mode];
} else { } else {
mode = SUBTRACT; mode = SUBTRACT;
// nactive = active[mode];
thresh = 1.0 * (nmark-ntarget) / activeall[mode]; thresh = 1.0 * (nmark-ntarget) / activeall[mode];
} }
@ -278,12 +275,10 @@ void RanMars::select_subset(bigint ntarget, int nmine, int *mark, int *next)
bsum[0] = nflip; bsum[0] = nflip;
bsum[1] = active[0]; bsum[1] = active[0];
bsum[2] = active[1]; bsum[2] = active[1];
bsum[3] = nactive; MPI_Allreduce(&bsum,&bsumall,3,MPI_LMP_BIGINT,MPI_SUM,world);
MPI_Allreduce(&bsum,&bsumall,4,MPI_LMP_BIGINT,MPI_SUM,world);
nflipall = bsumall[0]; nflipall = bsumall[0];
activeall[0] = bsumall[1]; activeall[0] = bsumall[1];
activeall[1] = bsumall[2]; activeall[1] = bsumall[2];
nactiveall = bsumall[3];
if (mode == ADD) nmark += nflipall; if (mode == ADD) nmark += nflipall;
else if (mode == SUBTRACT) nmark -= nflipall; else if (mode == SUBTRACT) nmark -= nflipall;