Unverified Commit 21e9db6b authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

Merge branch 'master' into polymorphic-update

parents 4fa0186b 07663508
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ src/SPIN/* @julient31
src/USER-CGDNA/*      @ohenrich
src/USER-CGSDK/*      @akohlmey
src/USER-COLVARS/*    @giacomofiorin
src/USER-DPD/*        @timattox
src/USER-INTEL/*      @wmbrownintel
src/USER-MANIFOLD/*   @Pakketeretet2
src/USER-MEAMC/*      @martok
@@ -119,6 +118,7 @@ tools/emacs/* @HaoZeke

# cmake
cmake/*               @junghans @rbberger
cmake/Modules/Packages/USER-COLVARS.cmake @junghans @rbberger @giacomofiorin

# python
python/*              @rbberger
+5 −1
Original line number Diff line number Diff line
@@ -12,6 +12,8 @@ if(COLVARS_LEPTON)
  if(NOT BUILD_SHARED_LIBS)
    install(TARGETS lepton EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
  endif()
  # Change the define below to LEPTON_BUILDING_SHARED_LIBRARY when linking Lepton as a DLL with MSVC
  target_compile_definitions(lepton PRIVATE -DLEPTON_BUILDING_STATIC_LIBRARY)
  set_target_properties(lepton PROPERTIES OUTPUT_NAME lammps_lepton${LAMMPS_MACHINE})
  target_include_directories(lepton PRIVATE ${LEPTON_DIR}/include)
endif()
@@ -27,6 +29,8 @@ target_link_libraries(lammps PRIVATE colvars)

if(COLVARS_LEPTON)
  target_link_libraries(lammps PRIVATE lepton)
  target_compile_options(colvars PRIVATE -DLEPTON)
  target_compile_definitions(colvars PRIVATE -DLEPTON)
  # Disable the line below when linking Lepton as a DLL with MSVC
  target_compile_definitions(colvars PRIVATE -DLEPTON_USE_STATIC_LIBRARIES)
  target_include_directories(colvars PUBLIC ${LEPTON_DIR}/include)
endif()
+1 −1
Original line number Diff line number Diff line
.TH LAMMPS "19 March 2020" "2020-03-19"
.TH LAMMPS "15 April 2020" "2020-04-15"
.SH NAME
.B LAMMPS
\- Molecular Dynamics Simulator.
+28 −12
Original line number Diff line number Diff line
@@ -142,24 +142,40 @@ new owning processors.

.. note::

   The simulation box size/shape can be changed by arbitrarily
   large amounts by this command.  This is not a problem, except that the
   The simulation box size/shape can be changed by arbitrarily large
   amounts by this command.  This is not a problem, except that the
   mapping of processors to the simulation box is not changed from its
   initial 3d configuration; see the :doc:`processors <processors>`
   command.  Thus, if the box size/shape changes dramatically, the
   mapping of processors to the simulation box may not end up as optimal
   as the initial mapping attempted to be.
   mapping of processors to the simulation box may not end up as
   optimal as the initial mapping attempted to be.  You may wish to
   re-balance the atoms by using the :doc:`balance <balance>` command
   if that is the case.

.. note::

   Because the keywords used in this command are applied one at a
   time to the simulation box and the atoms in it, care must be taken
   with triclinic cells to avoid exceeding the limits on skew after each
   transformation in the sequence.  If skew is exceeded before the final
   transformation this can be avoided by changing the order of the
   sequence, or breaking the transformation into two or more smaller
   transformations.  For more information on the allowed limits for box
   skew see the discussion on triclinic boxes on :doc:`Howto triclinic <Howto_triclinic>` doc page.
   You cannot use this command after reading a restart file (and
   before a run is performed) if the restart file stored per-atom
   information from a fix and any of the specified keywords change the
   box size or shape or boundary conditions.  This is because atoms
   may be moved to new processors and the restart info will not
   migrate with them.  LAMMPS will generate an error if this could
   happen.  Only the *ortho* and *triclinic* keywords do not trigger
   this error.  One solution is to perform a "run 0" command before
   using the change_box command.  This clears the per-atom restart
   data, whether it has been re-assigned to a new fix or not.

.. note::

   Because the keywords used in this command are applied one at a time
   to the simulation box and the atoms in it, care must be taken with
   triclinic cells to avoid exceeding the limits on skew after each
   transformation in the sequence.  If skew is exceeded before the
   final transformation this can be avoided by changing the order of
   the sequence, or breaking the transformation into two or more
   smaller transformations.  For more information on the allowed
   limits for box skew see the discussion on triclinic boxes on
   :doc:`Howto triclinic <Howto_triclinic>` doc page.

----------

+34 −2
Original line number Diff line number Diff line
@@ -17,10 +17,18 @@ Syntax

  .. parsed-literal::

       *bond* args = atom1 atom2 Kstart Kstop r0
       *bond* args = atom1 atom2 Kstart Kstop r0start (r0stop)
         atom1,atom2 = IDs of 2 atoms in bond
         Kstart,Kstop = restraint coefficients at start/end of run (energy units)
         r0 = equilibrium bond distance (distance units)
         r0start = equilibrium bond distance at start of run (distance units)
         r0stop = equilibrium bond distance at end of run (optional) (distance units). If not
           specified it is assumed to be equal to r0start
       *lbond* args = atom1 atom2 Kstart Kstop r0start (r0stop)
         atom1,atom2 = IDs of 2 atoms in bond
         Kstart,Kstop = restraint coefficients at start/end of run (energy units)
         r0start = equilibrium bond distance at start of run (distance units)
         r0stop = equilibrium bond distance at end of run (optional) (distance units). If not
           specified it is assumed to be equal to r0start
       *angle* args = atom1 atom2 atom3 Kstart Kstop theta0
         atom1,atom2,atom3 = IDs of 3 atoms in angle, atom2 = middle atom
         Kstart,Kstop = restraint coefficients at start/end of run (energy units)
@@ -38,6 +46,7 @@ Examples
.. code-block:: LAMMPS

   fix holdem all restrain bond 45 48 2000.0 2000.0 2.75
   fix holdem all restrain lbond 45 48 2000.0 2000.0 2.75
   fix holdem all restrain dihedral 1 2 3 4 2000.0 2000.0 120.0
   fix holdem all restrain bond 45 48 2000.0 2000.0 2.75 dihedral 1 2 3 4 2000.0 2000.0 120.0
   fix texas_holdem all restrain dihedral 1 2 3 4 0.0 2000.0 120.0 dihedral 1 2 3 5 0.0 2000.0 -120.0 dihedral 1 2 3 6 0.0 2000.0 0.0
@@ -141,6 +150,29 @@ is included in :math:`K`.

----------

The *lbond* keyword applies a lower bound bond restraint to the specified atoms
using the same functional form used by the :doc:`bond_style harmonic <bond_harmonic>` command if the distance between
the atoms is smaller than the equilibrium bond distance and 0 otherwise. The potential associated with
the restraint is

.. math::

   E = K (r - r_0)^2 ,if\;r < r_0

.. math::

   E = 0 \qquad\quad\quad ,if\;r \ge r_0
   
with the following coefficients:

* :math:`K` (energy/distance\^2)
* :math:`r_0` (distance)

:math:`K` and :math:`r_0` are specified with the fix.  Note that the usual 1/2 factor
is included in :math:`K`.

----------

The *angle* keyword applies an angle restraint to the specified atoms
using the same functional form used by the :doc:`angle_style harmonic <angle_harmonic>` command.  The potential associated with
the restraint is
Loading