Merge conflicts

This commit is contained in:
jtclemm
2024-08-09 15:38:19 -06:00
472 changed files with 20190 additions and 11808 deletions

1
.github/CODEOWNERS vendored
View File

@ -50,6 +50,7 @@ src/PTM/* @pmla
src/QMMM/* @akohlmey
src/REACTION/* @jrgissing
src/REAXFF/* @hasanmetin @stanmoore1
src/RHEO/* @jtclemm
src/SCAFACOS/* @rhalver
src/SNAP/* @athomps
src/SPIN/* @julient31

View File

@ -164,6 +164,22 @@ if(MSVC)
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
endif()
# warn about potentially problematic GCC compiler versions
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if (CMAKE_CXX_STANDARD GREATER_EQUAL 17)
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)
message(WARNING "Using ${CMAKE_CXX_COMPILER_ID} compiler version ${CMAKE_CXX_COMPILER_VERSION} "
"with C++17 is not recommended. Please use ${CMAKE_CXX_COMPILER_ID} compiler version 9.x or later")
endif()
endif()
if (CMAKE_CXX_STANDARD GREATER_EQUAL 11)
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
message(WARNING "Using ${CMAKE_CXX_COMPILER_ID} compiler version ${CMAKE_CXX_COMPILER_VERSION} "
"with C++11 is not recommended. Please use ${CMAKE_CXX_COMPILER_ID} compiler version 5.x or later")
endif()
endif()
endif()
# export all symbols when building a .dll file on windows
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND BUILD_SHARED_LIBS)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
@ -198,7 +214,6 @@ set(LAMMPS_BINARY lmp${LAMMPS_MACHINE})
option(BUILD_SHARED_LIBS "Build shared library" OFF)
option(CMAKE_POSITION_INDEPENDENT_CODE "Create object compatible with shared libraries" ON)
option(BUILD_TOOLS "Build and install LAMMPS tools (msi2lmp, binary2txt, chain)" OFF)
option(BUILD_LAMMPS_SHELL "Build and install the LAMMPS shell" OFF)
option(BUILD_LAMMPS_GUI "Build and install the LAMMPS GUI" OFF)
# Support using clang-tidy for C++ files with selected options
@ -495,6 +510,14 @@ if(PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_ML-POD OR PKG_ELECTRODE OR BUILD_T
endif()
endif()
find_package(CURL QUIET COMPONENTS HTTP HTTPS)
option(WITH_CURL "Enable libcurl support" ${CURL_FOUND})
if(WITH_CURL)
find_package(CURL REQUIRED COMPONENTS HTTP HTTPS)
target_compile_definitions(lammps PRIVATE -DLAMMPS_CURL)
target_link_libraries(lammps PRIVATE CURL::libcurl)
endif()
# tweak jpeg library names to avoid linker errors with MinGW cross-compilation
set(JPEG_NAMES libjpeg libjpeg-62)
find_package(JPEG QUIET)
@ -872,7 +895,7 @@ endif()
include(Testing)
include(CodeCoverage)
include(CodingStandard)
find_package(ClangFormat 8.0)
find_package(ClangFormat 11.0)
if(ClangFormat_FOUND)
add_custom_target(format-src
@ -1049,9 +1072,6 @@ endif()
if(BUILD_TOOLS)
message(STATUS "<<< Building Tools >>>")
endif()
if(BUILD_LAMMPS_SHELL)
message(STATUS "<<< Building LAMMPS Shell >>>")
endif()
if(BUILD_LAMMPS_GUI)
message(STATUS "<<< Building LAMMPS GUI >>>")
if(LAMMPS_GUI_USE_PLUGIN)

View File

@ -1,5 +1,8 @@
# Find clang-format
find_program(ClangFormat_EXECUTABLE NAMES clang-format
clang-format-20.0
clang-format-19.0
clang-format-18.0
clang-format-17.0
clang-format-16.0
clang-format-15.0

View File

@ -32,7 +32,13 @@ function(check_omp_h_include)
set(CMAKE_REQUIRED_INCLUDES ${OpenMP_CXX_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LINK_OPTIONS ${OpenMP_CXX_FLAGS})
set(CMAKE_REQUIRED_LIBRARIES ${OpenMP_CXX_LIBRARIES})
check_include_file_cxx(omp.h _have_omp_h)
# there are all kinds of problems with finding omp.h
# for Clang and derived compilers so we pretend it is there.
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set(_have_omp_h TRUE)
else()
check_include_file_cxx(omp.h _have_omp_h)
endif()
else()
set(_have_omp_h FALSE)
endif()

View File

@ -24,6 +24,12 @@ target_include_directories(colvars PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/colvars)
target_include_directories(colvars PRIVATE ${LAMMPS_SOURCE_DIR})
target_link_libraries(lammps PRIVATE colvars)
if(BUILD_OMP)
# Enable OpenMP for Colvars as well
target_compile_options(colvars PRIVATE ${OpenMP_CXX_FLAGS})
target_link_libraries(colvars PRIVATE OpenMP::OpenMP_CXX)
endif()
if(COLVARS_DEBUG)
# Need to export the define publicly to be valid in interface code
target_compile_definitions(colvars PUBLIC -DCOLVARS_DEBUG)

View File

@ -1,2 +1,2 @@
find_package(GSL 2.7 REQUIRED)
find_package(GSL 2.6 REQUIRED)
target_link_libraries(lammps PRIVATE GSL::gsl)

View File

@ -37,37 +37,6 @@ if(BUILD_TOOLS)
add_subdirectory(${LAMMPS_TOOLS_DIR}/phonon ${CMAKE_BINARY_DIR}/phana_build)
endif()
find_package(PkgConfig QUIET)
if(BUILD_LAMMPS_SHELL)
if(NOT PkgConfig_FOUND)
message(FATAL_ERROR "Must have pkg-config installed for building LAMMPS shell")
endif()
find_package(PkgConfig REQUIRED)
pkg_check_modules(READLINE IMPORTED_TARGET REQUIRED readline)
# include resource compiler to embed icons into the executable on Windows
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
enable_language(RC)
set(ICON_RC_FILE ${LAMMPS_TOOLS_DIR}/lammps-shell/lmpicons.rc)
endif()
add_executable(lammps-shell ${LAMMPS_TOOLS_DIR}/lammps-shell/lammps-shell.cpp ${ICON_RC_FILE})
target_include_directories(lammps-shell PRIVATE ${LAMMPS_TOOLS_DIR}/lammps-shell)
target_link_libraries(lammps-shell PRIVATE lammps PkgConfig::READLINE)
# workaround for broken readline pkg-config file on FreeBSD
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
target_include_directories(lammps-shell PRIVATE /usr/local/include)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "LinuxMUSL")
pkg_check_modules(TERMCAP IMPORTED_TARGET REQUIRED termcap)
target_link_libraries(lammps-shell PRIVATE lammps PkgConfig::TERMCAP)
endif()
install(TARGETS lammps-shell EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR})
install(DIRECTORY ${LAMMPS_TOOLS_DIR}/lammps-shell/icons DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/)
install(FILES ${LAMMPS_TOOLS_DIR}/lammps-shell/lammps-shell.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications/)
endif()
if(BUILD_LAMMPS_GUI)
get_filename_component(LAMMPS_GUI_DIR ${LAMMPS_SOURCE_DIR}/../tools/lammps-gui ABSOLUTE)
get_filename_component(LAMMPS_GUI_BIN ${CMAKE_BINARY_DIR}/lammps-gui-build ABSOLUTE)

View File

@ -489,8 +489,7 @@ using CMake or Make.
.. code-block:: bash
-D BUILD_TOOLS=value # yes or no (default). Build binary2txt, chain.x, micelle2d.x, msi2lmp, phana, stl_bin2txt
-D BUILD_LAMMPS_SHELL=value # yes or no (default). Build lammps-shell
-D BUILD_LAMMPS_GUI=value # yes or no (default). Build lammps-gui
-D BUILD_LAMMPS_GUI=value # yes or no (default). Build LAMMPS-GUI
The generated binaries will also become part of the LAMMPS installation
(see below).
@ -505,8 +504,9 @@ using CMake or Make.
make chain # build only chain tool
make micelle2d # build only micelle2d tool
cd lammps/tools/lammps-shell
make # build LAMMPS shell
.. note::
Building the LAMMPS-GUI *requires* building LAMMPS with CMake.
----------

View File

@ -153,7 +153,12 @@ development headers to compile (if those are not found locally a recent
version of that library will be downloaded and compiled along with
LAMMPS and the test programs) and will download and compile a specific
version of the `GoogleTest <https://github.com/google/googletest/>`_ C++
test framework that is used to implement the tests.
test framework that is used to implement the tests. Those unit tests
may be combined with memory access and leak checking with valgrind
(see below for how to enable it). In that case, running so-called
death tests will create a lot of false positives and thus they can be
disabled by configuring compilation with the additional setting
``-D SKIP_DEATH_TESTS=on``.
.. admonition:: Software version and LAMMPS configuration requirements
:class: note

View File

@ -639,6 +639,9 @@ They must be specified in uppercase.
* - AMD_GFX1100
- GPU
- AMD GPU RX7900XTX
* - AMD_GFX1103
- GPU
- AMD Phoenix APU with Radeon 740M/760M/780M/880M/890M
* - INTEL_GEN
- GPU
- SPIR64-based devices, e.g. Intel GPUs, using JIT

View File

@ -8,7 +8,8 @@ explains how to do this for building both with CMake and make.
* `FFT library`_ for use with the :doc:`kspace_style pppm <kspace_style>` command
* `Size of LAMMPS integer types and size limits`_
* `Read or write compressed files`_
* `Output of JPG, PNG, and move files` via the :doc:`dump image <dump_image>` or :doc:`dump movie <dump_image>` commands
* `Output of JPEG, PNG, and movie files`_ via the :doc:`dump image <dump_image>` or :doc:`dump movie <dump_image>` commands
* `Support for downloading files`_
* `Memory allocation alignment`_
* `Workaround for long long integers`_
* `Exception handling when using LAMMPS as a library`_ to capture errors
@ -19,7 +20,7 @@ explains how to do this for building both with CMake and make.
.. _cxx11:
C++11 standard compliance
------------------------------------------
-------------------------
A C++11 standard compatible compiler is a requirement for compiling LAMMPS.
LAMMPS version 3 March 2020 is the last version compatible with the previous
@ -31,12 +32,16 @@ flags to enable C++11 compliance. Example for GNU c++ 4.8.x:
CCFLAGS = -g -O3 -std=c++11
Individual packages may require compliance with a later C++ standard
like C++14 or C++17. These requirements will be documented with the
:doc:`individual packages <Packages_details>`.
----------
.. _fft:
FFT library
---------------------
-----------
When the KSPACE package is included in a LAMMPS build, the
:doc:`kspace_style pppm <kspace_style>` command performs 3d FFTs which
@ -341,8 +346,8 @@ in whichever ``lib/gpu/Makefile`` is used must be the same as above.
.. _graphics:
Output of JPG, PNG, and movie files
--------------------------------------------------
Output of JPEG, PNG, and movie files
------------------------------------
The :doc:`dump image <dump_image>` command has options to output JPEG or
PNG image files. Likewise, the :doc:`dump movie <dump_image>` command
@ -356,9 +361,9 @@ requires the following settings:
.. code-block:: bash
-D WITH_JPEG=value # yes or no
# default = yes if CMake finds JPEG files, else no
# default = yes if CMake finds JPEG development files, else no
-D WITH_PNG=value # yes or no
# default = yes if CMake finds PNG and ZLIB files, else no
# default = yes if CMake finds PNG and ZLIB development files, else no
-D WITH_FFMPEG=value # yes or no
# default = yes if CMake can find ffmpeg, else no
@ -414,8 +419,8 @@ Read or write compressed files
If this option is enabled, large files can be read or written with
compression by ``gzip`` or similar tools by several LAMMPS commands,
including :doc:`read_data <read_data>`, :doc:`rerun <rerun>`, and
:doc:`dump <dump>`. Supported compression tools are currently
``gzip``, ``bzip2``, ``zstd``, and ``lzma``.
:doc:`dump <dump>`. Supported compression tools and algorithms are currently
``gzip``, ``bzip2``, ``zstd``, ``xz``, ``lz4``, and ``lzma`` (via xz).
.. tabs::
@ -446,12 +451,58 @@ during a run.
available using a compression library instead, which is what the
:ref:`COMPRESS package <PKG-COMPRESS>` enables.
--------------------------------------------------
.. _libcurl:
Support for downloading files
-----------------------------
.. versionadded:: TBD
The :doc:`geturl command <geturl>` command uses the `the libcurl library
<https://curl.se/libcurl/>`_ to download files. This requires that
LAMMPS is compiled accordingly which needs the following settings:
.. tabs::
.. tab:: CMake build
.. code-block:: bash
-D WITH_CURL=value # yes or no
# default = yes if CMake finds CURL development files, else no
Usually these settings are all that is needed. If CMake cannot
find the graphics header, library, executable files, you can set
these variables:
.. code-block:: bash
-D CURL_INCLUDE_DIR=path # path to folder which contains curl.h header file
-D CURL_LIBRARY=path # path to libcurls.a (.so) file
.. tab:: Traditional make
.. code-block:: make
LMP_INC = -DLAMMPS_CURL <other LMP_INC settings>
CURL_INC = -I/usr/local/include # path to curl folder with curl.h
CURL_PATH = -L/usr/lib # paths to libcurl.a(.so) if make cannot find it
CURL_LIB = -lcurl # library names
As with CMake, you do not need to set ``CURL_INC`` or ``CURL_PATH``,
if make can find the libcurl header and library files in their
default system locations. You must specify ``CURL_LIB`` with a
paths or linker flags to link to libcurl.
----------
.. _align:
Memory allocation alignment
---------------------------------------
---------------------------
This setting enables the use of the "posix_memalign()" call instead of
"malloc()" when LAMMPS allocates large chunks of memory. Vector

View File

@ -54,6 +54,7 @@ table above.
* :doc:`echo <echo>`
* :doc:`fix <fix>`
* :doc:`fix_modify <fix_modify>`
* :doc:`geturl <geturl>`
* :doc:`group <group>`
* :doc:`if <if>`
* :doc:`improper_coeff <improper_coeff>`

View File

@ -73,7 +73,7 @@ OPT.
* :doc:`none <angle_none>`
* :doc:`zero <angle_zero>`
* :doc:`hybrid <angle_hybrid>`
* :doc:`hybrid (k) <angle_hybrid>`
*
*
*
@ -101,7 +101,7 @@ OPT.
* :doc:`mesocnt <angle_mesocnt>`
* :doc:`mm3 <angle_mm3>`
* :doc:`quartic (o) <angle_quartic>`
* :doc:`spica (o) <angle_spica>`
* :doc:`spica (ko) <angle_spica>`
* :doc:`table (o) <angle_table>`
.. _dihedral:
@ -119,7 +119,7 @@ OPT.
* :doc:`none <dihedral_none>`
* :doc:`zero <dihedral_zero>`
* :doc:`hybrid <dihedral_hybrid>`
* :doc:`hybrid (k) <dihedral_hybrid>`
*
*
*
@ -157,7 +157,7 @@ OPT.
* :doc:`none <improper_none>`
* :doc:`zero <improper_zero>`
* :doc:`hybrid <improper_hybrid>`
* :doc:`hybrid (k) <improper_hybrid>`
*
*
*

View File

@ -195,7 +195,7 @@ OPT.
* :doc:`lj/mdf <pair_mdf>`
* :doc:`lj/relres (o) <pair_lj_relres>`
* :doc:`lj/spica (gko) <pair_spica>`
* :doc:`lj/spica/coul/long (go) <pair_spica>`
* :doc:`lj/spica/coul/long (gko) <pair_spica>`
* :doc:`lj/spica/coul/msm (o) <pair_spica>`
* :doc:`lj/sf/dipole/sf (go) <pair_dipole>`
* :doc:`lj/smooth (go) <pair_lj_smooth>`

View File

@ -8,6 +8,18 @@ stop LAMMPS and print a suitable error message in most cases, when a
style/command is used that has been removed or will replace the command
with the direct alternative (if available) and print a warning.
restart2data tool
-----------------
.. versionchanged:: 23Nov2013
The functionality of the restart2data tool has been folded into the
LAMMPS executable directly instead of having a separate tool. A
combination of the commands :doc:`read_restart <read_restart>` and
:doc:`write_data <write_data>` can be used to the same effect. For
added convenience this conversion can also be triggered by
:doc:`command line flags <Run_options>`
Fix ave/spatial and fix ave/spatial/sphere
------------------------------------------
@ -151,17 +163,16 @@ and allow running LAMMPS with GPU acceleration.
i-PI tool
---------
.. versionchanged:: 27June2024
.. versionchanged:: 27Jun2024
The i-PI tool has been removed from the LAMMPS distribution. Instead,
instructions to install i-PI from PyPI via pip are provided.
restart2data tool
-----------------
LAMMPS shell
------------
.. versionchanged:: TBD
The LAMMPS shell has been removed from the LAMMPS distribution. Users
are encouraged to use the :ref:`LAMMPS-GUI <lammps_gui>` tool instead.
The functionality of the restart2data tool has been folded into the
LAMMPS executable directly instead of having a separate tool. A
combination of the commands :doc:`read_restart <read_restart>` and
:doc:`write_data <write_data>` can be used to the same effect. For
added convenience this conversion can also be triggered by
:doc:`command line flags <Run_options>`

View File

@ -2327,7 +2327,7 @@ Procedures Bound to the :f:type:`lammps` Derived Type
retrieved via :f:func:`get_last_error_message`. This allows to
restart a calculation or delete and recreate the LAMMPS instance when
a C++ exception occurs. One application of using exceptions this way
is the :ref:`lammps_shell`.
is the :ref:`lammps_gui`.
:to: :cpp:func:`lammps_config_has_exceptions`
:r has_exceptions:

View File

@ -339,8 +339,6 @@ Some common LAMMPS specific variables
- build LAMMPS with OpenMP support (default: ``on`` if compiler supports OpenMP fully, else ``off``)
* - ``BUILD_TOOLS``
- compile some additional executables from the ``tools`` folder (default: ``off``)
* - ``BUILD_LAMMPS_SHELL``
- compile the LAMMPS shell from the ``tools/lammps-shell`` folder (default: ``off``)
* - ``BUILD_DOC``
- include building the HTML format documentation for packaging/installing (default: ``off``)
* - ``CMAKE_TUNE_FLAGS``

View File

@ -1,11 +1,11 @@
Using the LAMMPS GUI
====================
Using LAMMPS-GUI
================
This document describes **LAMMPS GUI version 1.5**.
This document describes **LAMMPS-GUI version 1.6**.
-----
LAMMPS GUI is a graphical text editor customized for editing LAMMPS
LAMMPS-GUI is a graphical text editor customized for editing LAMMPS
input files that is linked to the :ref:`LAMMPS library <lammps_c_api>`
and thus can run LAMMPS directly using the contents of the editor's text
buffer as input. It can retrieve and display information from LAMMPS
@ -16,58 +16,123 @@ to the online LAMMPS documentation for known LAMMPS commands and styles.
.. note::
Pre-compiled, ready-to-use LAMMPS GUI executables for Linux (Ubuntu
20.04LTS or later and compatible), macOS (version 11 aka Big Sur or
later), and Windows (version 10 or later) :ref:`are available
<lammps_gui_install>` for download. They may be linked to a
development version of LAMMPS in case they need features not yet
available in a released version. Serial LAMMPS executables of the
same LAMMPS version are included as well. The source code for the
LAMMPS GUI is included in the LAMMPS source code and can be found in
the ``tools/lammps-gui`` folder. It can be compiled alongside LAMMPS
when :doc:`compiling with CMake <Build_cmake>`.
Pre-compiled, ready-to-use LAMMPS-GUI executables for Linux x86\_64
(Ubuntu 20.04LTS or later and compatible), macOS (version 11 aka Big
Sur or later), and Windows (version 10 or later) :ref:`are available
<lammps_gui_install>` for download. None-MPI LAMMPS executables for
running LAMMPS from the command line and :doc:`some LAMMPS tools <Tools>`
are also included.
LAMMPS GUI tries to provide an experience similar to what people
traditionally would do to run LAMMPS using a command line window:
The source code for LAMMPS-GUI is included in the LAMMPS source code
distribution and can be found in the ``tools/lammps-gui`` folder. It
can be compiled alongside LAMMPS when :doc:`compiling with CMake
<Build_cmake>`.
- editing inputs with a text editor
- run LAMMPS on the input with selected command line flags
- and then use or extract data from the created files and visualize it
LAMMPS-GUI tries to provide an experience similar to what people
traditionally would have running LAMMPS using a command line window
and the console LAMMPS executable but just rolled into a single executable:
- writing & editing LAMMPS input files with a text editor
- run LAMMPS on those input file with selected command line flags
- use or extract data from the created files and visualize it with
either a molecular visualization program or a plotting program
That procedure is quite effective for people proficient in using the
command line, as that allows them to use tools for the individual steps
which they are most comfortable with. It is often required when running
LAMMPS on high-performance computing facilities.
that they are most comfortable with. It is often *required* to adopt
this workflow when running LAMMPS simulations on high-performance
computing facilities.
The main benefit of using the LAMMPS GUI application instead is that
many basic tasks can be done directly from the GUI without switching to
a text console window or using external programs, let alone writing
scripts to extract data from the generated output. It also integrates
well with graphical desktop environments.
The main benefit of using LAMMPS-GUI is that many basic tasks can be
done directly from the GUI without switching to a text console window or
using external programs, let alone writing scripts to extract data from
the generated output. It also integrates well with graphical desktop
environments where the `.lmp` filename extension can be registered with
LAMMPS-GUI as the executable to launch when double clicking on such
files. Also, LAMMPS-GUI has support for drag-n-drop, i.e. an input
file can be selected and then moved and dropped on the LAMMPS-GUI
executable, and LAMMPS-GUI will launch and read the file into its
buffer.
LAMMPS GUI thus makes it easier for beginners to get started running
LAMMPS-GUI thus makes it easier for beginners to get started running
simple LAMMPS simulations. It is very suitable for tutorials on LAMMPS
since you only need to learn how to use a single program for most tasks
and thus time can be saved and people can focus on learning LAMMPS. It
is also designed to keep the barrier low when you decide to switch to a
full featured, standalone programming editor and more sophisticated
visualization and analysis tools and run LAMMPS from a command line.
and thus time can be saved and people can focus on learning LAMMPS.
The tutorials at https://lammpstutorials.github.io/ were specifically
updated for use with LAMMPS-GUI.
Another design goal is to keep the barrier low when replacing part of
the functionality of LAMMPS-GUI with external tools.
The following text provides a detailed tour of the features and
functionality of the LAMMPS GUI.
Suggestions for new features and reports of bugs are always welcome.
You can use the :doc:`the same channels as for LAMMPS itself
<Errors_bugs>` for that purpose.
functionality of LAMMPS-GUI. Suggestions for new features and
reports of bugs are always welcome. You can use the :doc:`the same
channels as for LAMMPS itself <Errors_bugs>` for that purpose.
-----
Main window
-----------
Installing Pre-compiled LAMMPS-GUI Packages
-------------------------------------------
When LAMMPS GUI starts, it will show a main window with either an
empty buffer or the contents of a loaded file. In the latter case it
may look like the following:
LAMMPS-GUI is available as pre-compiled binary packages for Linux
x86\_64, macOS 11 and later, and Windows 10 and later. Alternately, it
can be compiled from source.
Windows 10 and later
^^^^^^^^^^^^^^^^^^^^
After downloading the ``LAMMPS-Win10-64bit-GUI-<version>.exe`` installer
package, you need to execute it, and start the installation process.
Since those packages are currently unsigned, you have to enable "Developer Mode"
in the Windows System Settings to run the installer.
MacOS 11 and later
^^^^^^^^^^^^^^^^^^
After downloading the ``LAMMPS-macOS-multiarch-GUI-<version>.dmg``
installer package, you need to double-click it and then, in the window
that opens, drag the app bundle as indicated into the "Applications"
folder. The follow the instructions in the "README.txt" file to
get access to the other included executables.
Linux on x86\_64
^^^^^^^^^^^^^^^^
For Linux with x86\_64 CPU there are currently two variants. The first
is compiled on Ubuntu 20.04LTS, is using some wrapper scripts, and
should be compatible with more recent Linux distributions. After
downloading and unpacking the
``LAMMPS-Linux-x86_64-GUI-<version>.tar.gz`` package. You can switch
into the "LAMMPS_GUI" folder and execute "./lammps-gui" directly.
The second variant uses `flatpak <https://www.flatpak.org>`_ and
requires the flatpak management and runtime software to be installed.
After downloading the ``LAMMPS-GUI-Linux-x86_64-GUI-<version>.tar.gz``
flatpak bundle, you can install it with ``flatpak install --user
LAMMPS-GUI-Linux-x86_64-GUI-<version>.tar.gz``. After installation,
LAMMPS-GUI should be integrated into your desktop environment under
"Applications > Science" but also can be launched from the console with
``flatpak run org.lammps.lammps-gui``. The flatpak bundle also includes
the console LAMMPS executable ``lmp`` which can be launched to run
simulations with, for example: ``flatpak run --command=lmp
org.lammps.lammps-gui -in in.melt``.
Compiling from Source
^^^^^^^^^^^^^^^^^^^^^
There also are instructions for :ref:`compiling LAMMPS-GUI from source
code <lammps_gui_compilation>` available elsewhere in the manual.
Compilation from source *requires* using CMake.
-----
Starting LAMMPS-GUI
-------------------
When LAMMPS-GUI starts, it shows the main window, labeled *Editor*, with
either an empty buffer or the contents of the file used as argument. In
the latter case it may look like the following:
.. image:: JPG/lammps-gui-main.png
:align: center
@ -80,32 +145,41 @@ the LAMMPS input file syntax. The status bar shows the status of
LAMMPS execution on the left (e.g. "Ready." when idle) and the current
working directory on the right. The name of the current file in the
buffer is shown in the window title; the word `*modified*` is added if
the buffer edits have not yet saved to a file. The size of the main
window will be stored when exiting and restored when starting again.
the buffer edits have not yet saved to a file. The geometry of the main
window is stored when exiting and restored when starting again.
Opening Files
^^^^^^^^^^^^^
The LAMMPS GUI application will try to open the first command line
argument as a LAMMPS input script, further arguments are ignored.
When no argument is given, LAMMPS GUI will start with an empty buffer.
Files can also be opened via the ``File`` menu or by drag-and-drop of
a file from a graphical file manager into the editor window. Only one
file can be open at a time, so opening a new file with a filled buffer
will close the buffer. If the buffer has unsaved modifications, you
will be asked to either cancel the operation, discard the changes, or
save them.
The LAMMPS-GUI application can be launched without command line arguments
and then starts with an empty buffer in the *Editor* window. If arguments
are given LAMMPS will use first command line argument as the file name for
the *Editor* buffer and reads its contents into the buffer, if the file
exists. All further arguments are ignored. Files can also be opened via
the ``File`` menu, the `Ctrl-O` (`Command-O` on macOS) keyboard shortcut
or by drag-and-drop of a file from a graphical file manager into the editor
window. If a file extension (e.g. ``.lmp``) has been registered with the
graphical environment to launch LAMMPS-GUI, an existing input file can
be launched with LAMMPS-GUI through double clicking.
Only one file can be edited at a time, so opening a new file with a
filled buffer closes that buffer. If the buffer has unsaved
modifications, you are asked to either cancel the operation, discard the
changes, or save them. A buffer with modifications can be saved any
time from the "File" menu, by the keyboard shortcut `Ctrl-S`
(`Command-S` on macOS), or by clicking on the "Save" button at the very
left in the status bar.
Running LAMMPS
^^^^^^^^^^^^^^
From within the LAMMPS GUI main window LAMMPS can be started either from
From within the LAMMPS-GUI main window LAMMPS can be started either from
the ``Run`` menu using the ``Run LAMMPS from Editor Buffer`` entry, by
the keyboard shortcut `Ctrl-Enter` (`Command-Enter` on macOS), or by
clicking on the green "Run" button in the status bar. All of these
operations will cause LAMMPS to process the entire input script, which
may contain multiple :doc:`run <run>` or :doc:`minimize <minimize>`
commands.
operations causes LAMMPS to process the entire input script in the
editor buffer, which may contain multiple :doc:`run <run>` or
:doc:`minimize <minimize>` commands.
LAMMPS runs in a separate thread, so the GUI stays responsive and is
able to interact with the running calculation and access data it
@ -128,33 +202,30 @@ before LAMMPS can be run from a file.
While LAMMPS is running, the contents of the status bar change. On
the left side there is a text indicating that LAMMPS is running, which
will also show the number of active threads, if thread-parallel
also indicates the number of active threads, when thread-parallel
acceleration was selected in the ``Preferences`` dialog. On the right
side, a progress bar is shown that displays the estimated progress for
the current :doc:`run command <run>`.
the current :doc:`run <run>` or :doc:`minimize <minimize>` command.
Also, the line number of the currently executed command will be
highlighted in green.
.. image:: JPG/lammps-gui-run-highlight.png
:align: center
:scale: 75%
Also, the line number of the currently executed command is highlighted
in green.
If an error occurs (in the example below the command :doc:`label
<label>` was incorrectly capitalized as "Label"), an error message
dialog will be shown and the line of the input which triggered the
error will be highlighted. The state of LAMMPS in the status bar will
be set to "Failed." instead of "Ready."
dialog is shown and the line of the input which triggered the error is
highlighted. The state of LAMMPS in the status bar is set to "Failed."
instead of "Ready."
.. image:: JPG/lammps-gui-run-error.png
:align: center
:scale: 75%
Up to three additional windows will open during a run:
Up to three additional windows may open during a run:
- a log window with the captured screen output
- a chart window with a line graph created from the thermodynamic output of the run
- a slide show window with images created by a :doc:`dump image command <dump_image>`
- an *Output* window with the captured screen output from LAMMPS
- a *Charts* window with a line graph created from thermodynamic output of the run
- a *Slide Show* window with images created by a :doc:`dump image command <dump_image>`
in the input
More information on those windows and how to adjust their behavior and
contents is given below.
@ -171,77 +242,101 @@ This is equivalent to the input script command :doc:`timer timeout 0
interface. Please see the corresponding documentation pages to
understand the implications of this operation.
Log Window
----------
Output Window
-------------
By default, when starting a run, a "Log Window" will open that displays
the current screen output of the LAMMPS calculation, that would normally
be seen in the command line window, as shown below.
By default, when starting a run, an *Output* window opens that displays
the screen output of the running LAMMPS calculation, as shown below.
This text would normally be seen in the command line window.
.. image:: JPG/lammps-gui-log.png
:align: center
:scale: 50%
LAMMPS GUI captures the screen output as it is generated and updates
the log window regularly during a run.
LAMMPS-GUI captures the screen output from LAMMPS as it is generated and
updates the *Output* window regularly during a run.
By default, the log window will be replaced each time a run is started.
By default, the *Output* window is replaced each time a run is started.
The runs are counted and the run number for the current run is displayed
in the window title. It is possible to change the behavior of LAMMPS
GUI in the preferences dialog to create a *new* log window for every run
or to not show the current log window. It is also possible to show or
hide the *current* log window from the ``View`` menu.
in the window title. It is possible to change the behavior of
LAMMPS-GUI in the preferences dialog to create a *new* *Output* window
for every run or to not show the current *Output* window. It is also
possible to show or hide the *current* *Output* window from the ``View``
menu.
The text in the log window is read-only and cannot be modified, but
The text in the *Output* window is read-only and cannot be modified, but
keyboard shortcuts to select and copy all or parts of the text can be
used to transfer text to another program. Also, the keyboard shortcut
`Ctrl-S` (`Command-S` on macOS) is available to save the log buffer to a
`Ctrl-S` (`Command-S` on macOS) is available to save the *Output* buffer to a
file. The "Select All" and "Copy" functions, as well as a "Save Log to
File" option are also available from a context menu by clicking with the
right mouse button into the log window text area.
right mouse button into the *Output* window text area.
Chart Window
------------
By default, when starting a run, a "Chart Window" will open that
displays a plot of thermodynamic output of the LAMMPS calculation as
shown below.
.. image:: JPG/lammps-gui-chart.png
.. image:: JPG/lammps-gui-yaml.png
:align: center
:scale: 50%
.. versionadded:: 1.6
Should the *Output* window contain embedded YAML format text (see above for a
demonstration), for example from using :doc:`thermo_style yaml
<thermo_style>` or :doc:`thermo_modify line yaml <thermo_modify>`, the
keyboard shortcut `Ctrl-Y` (`Command-Y` on macOS) is available to save
only the YAML parts to a file. This option is also available from a
context menu by clicking with the right mouse button into the *Output* window
text area.
Charts Window
-------------
By default, when starting a run, a *Charts* window opens that displays a
plot of thermodynamic output of the LAMMPS calculation as shown below.
.. image:: JPG/lammps-gui-chart.png
:align: center
:scale: 33%
The drop down menu on the top right allows selection of different
properties that are computed and written to thermo output. Only one
property can be shown at a time. The plots will be updated with new
data as the run progresses, so they can be used to visually monitor the
evolution of available properties. The window title will show the
current run number that this chart window corresponds to. Same as
explained for the log window above, by default, the chart window will
be replaced on each new run, but the behavior can be changed in the
preferences dialog.
property can be shown at a time. The plots are updated with new data as
the run progresses, so they can be used to visually monitor the
evolution of available properties. The window title shows the current
run number that this chart window corresponds to. Same as for the
*Output* window, the chart window is replaced on each new run, but the
behavior can be changed in the preferences dialog.
.. versionadded:: 1.6
Support for YAML export added
From the ``File`` menu on the top left, it is possible to save an image
of the currently displayed plot or export the data in either plain text
columns (for use by plotting tools like `gnuplot
<http://www.gnuplot.info/>`_ or `grace
<https://plasma-gate.weizmann.ac.il/Grace/>`_), or as CSV data which can
be imported for further processing with Microsoft Excel or `pandas
<https://pandas.pydata.org/>`_
<https://plasma-gate.weizmann.ac.il/Grace/>`_), as CSV data which can be
imported for further processing with Microsoft Excel `LibreOffice Calc
<https://www.libreoffice.org/>`_ or with Python via `pandas
<https://pandas.pydata.org/>`_, or as YAML which can be imported into
Python with `PyYAML <https://pyyaml.org/>`_ or pandas.
Thermo output data from successive run commands in the input script will
be combined into a single data set unless the format, number, or names
of output columns are changed with a :doc:`thermo_style <thermo_style>`
or a :doc:`thermo_modify <thermo_modify>` command, or the current time
step is reset with :doc:`reset_timestep <reset_timestep>`, or if a
:doc:`clear <clear>` command is issued.
Thermo output data from successive run commands in the input script is
combined into a single data set unless the format, number, or names of
output columns are changed with a :doc:`thermo_style <thermo_style>` or
a :doc:`thermo_modify <thermo_modify>` command, or the current time step
is reset with :doc:`reset_timestep <reset_timestep>`, or if a
:doc:`clear <clear>` command is issued. This is where the YAML export
from the *Charts* window differs from that of the *Output* window:
here you get the compounded data set starting with the last change of
output fields or timestep setting, while the export from the log will
contain *all* YAML output but *segmented* into individual runs.
Image Slide Show
----------------
By default, if the LAMMPS input contains a :doc:`dump image
<dump_image>` command, a "Slide Show" window will open which loads and
displays the images created by LAMMPS as they are written.
<dump_image>` command, a "Slide Show" window opens which loads and
displays the images created by LAMMPS as they are written. This is a
convenient way to visually monitor the progress of the simulation.
.. image:: JPG/lammps-gui-slideshow.png
:align: center
@ -250,9 +345,17 @@ displays the images created by LAMMPS as they are written.
The various buttons at the bottom right of the window allow single
stepping through the sequence of images or playing an animation (as a
continuous loop or once from first to last). It is also possible to
zoom in or zoom out of the displayed images, and to export the slide
show animation to a movie file, if `ffmpeg <https://ffmpeg.org/>`_ is
installed.
zoom in or zoom out of the displayed images. The button on the very
left triggers an export of the slide show animation to a movie file,
provided the `FFmpeg program <https://ffmpeg.org/>`_ is installed.
.. versionadded:: 1.6
When clicking on the "garbage can" icon, all image files of the slide
show will be deleted. Since their number can be large for long
simulations, this option enables to safely and quickly clean up the
clutter caused in the working directory by those image files without
risk of deleting other files by accident when using wildcards.
Variable Info
-------------
@ -260,23 +363,22 @@ Variable Info
During a run, it may be of interest to monitor the value of input script
variables, for example to monitor the progress of loops. This can be
done by enabling the "Variables Window" in the ``View`` menu or by using
the `Ctrl-Shift-W` keyboard shortcut. This will show info similar to
the :doc:`info variables <info>` command in a separate window as shown
the `Ctrl-Shift-W` keyboard shortcut. This shows info similar to the
:doc:`info variables <info>` command in a separate window as shown
below.
.. image:: JPG/lammps-gui-variable-info.png
:align: center
:scale: 75%
Like the log and chart windows, its content is continuously updated
during a run. It will show "(none)" if there are no variables
Like for the *Output* and *Charts* windows, its content is continuously
updated during a run. It will show "(none)" if there are no variables
defined. Note that it is also possible to *set* :doc:`index style
variables <variable>`, that would normally be set via command line
flags, via the "Set Variables..." dialog from the ``Run`` menu.
LAMMPS GUI will automatically set the variable "gui_run" to the
current value of the run counter. That way it would be possible
to automatically record a log for each run attempt by using the
command
LAMMPS-GUI automatically defines the variable "gui_run" to the current
value of the run counter. That way it is possible to automatically
record a separate log for each run attempt by using the command
.. code-block:: LAMMPS
@ -285,62 +387,93 @@ command
at the beginning of an input file. That would record logs to files
``logfile-1.txt``, ``logfile-2.txt``, and so on for successive runs.
Viewing Snapshot Images
-----------------------
Snapshot Image Viewer
---------------------
By selecting the ``Create Image`` entry in the ``Run`` menu, or by
hitting the `Ctrl-I` (`Command-I` on macOS) keyboard shortcut, or by
clicking on the "palette" button in the status bar, LAMMPS GUI will send
a custom :doc:`write_dump image <dump_image>` command to LAMMPS and read
the resulting snapshot image with the current state of the system into
an image viewer window. This functionality is not available *during* an
ongoing run. When LAMMPS is not yet initialized, LAMMPS GUI will try to
identify the line with the first run or minimize command and execute all
command up to that line from the input buffer and then add a "run 0"
command. This will initialize the system so an image of the initial
state of the system can be rendered. If there was an error, the
snapshot image viewer will not appear.
clicking on the "palette" button in the status bar of the *Editor*
window, LAMMPS-GUI sends a custom :doc:`write_dump image <dump_image>`
command to LAMMPS and reads back the resulting snapshot image with the
current state of the system into an image viewer. This functionality is
*not* available *during* an ongoing run. In case LAMMPS is not yet
initialized, LAMMPS-GUI tries to identify the line with the first run or
minimize command and execute all commands from the input buffer up to
that line, and then executes a "run 0" command. This initializes the
system so an image of the initial state of the system can be rendered.
If there was an error in that process, the snapshot image viewer does
not appear.
When possible, LAMMPS GUI will try to detect which elements the atoms
correspond to (via their mass) and then colorize them in the image
accordingly. Otherwise the default predefined sequence of colors is
assigned to the different atom types.
When possible, LAMMPS-GUI tries to detect which elements the atoms
correspond to (via their mass) and then colorize them in the image and
set their atom diameters accordingly. If this is not possible, for
instance when using reduced (= 'lj') :doc:`units <units>`, then
LAMMPS-GUI will check the current pair style and if it is a
Lennard-Jones type potential, it will extract the *sigma* parameter
for each atom type and assign atom diameters from those numbers.
.. image:: JPG/lammps-gui-image.png
Otherwise the default sequence of colors of the :doc:`dump image
<dump_image>` command is assigned to the different atom types and the
diameters are all the same.
.. figure:: JPG/lammps-gui-image.png
:align: center
:scale: 50%
Visualization of LAMMPS "peptide" example
.. versionchanged:: 1.6
Buttons for toggling shininess and re-centering were added.
The default image size, some default image quality settings, the view
style and some colors can be changed in the ``Preferences`` dialog
window. From the image viewer window further adjustments can be made:
actual image size, high-quality (SSAO) rendering, anti-aliasing, view
style, display of box or axes, zoom factor. The view of the system
can be rotated horizontally and vertically. It is also possible to
only display the atoms within a group defined in the input script
(default is "all"). After each change, the image is rendered again
and the display updated. The small palette icon on the top left will
be colored while LAMMPS is running to render the new image; it will be
grayed out when it is finished. When there are many atoms to render
and high quality images with anti-aliasing are requested, re-rendering
may take several seconds. From the ``File`` menu of the image window,
the current image can be saved to a file or copied into the
cut-n-paste buffer for pasting into another application.
style, display of box or axes, zoom factor. The view of the system can
be rotated horizontally and vertically. It is also possible to only
display the atoms within a group defined in the input script (default is
"all"). The image can also be re-centered on the center of mass of the
selected group. After each change, the image is rendered again and the
display updated. The small palette icon on the top left is colored
while LAMMPS is running to render the new image; it is grayed out when
LAMMPS is finished. When there are many atoms to render and high
quality images with anti-aliasing are requested, re-rendering may take
several seconds. From the ``File`` menu of the image window, the
current image can be saved to a file (keyboard shortcut `Ctrl-S`) or
copied to the clipboard (keyboard shortcut `Ctrl-C`) for pasting the
image into another application.
Editor Functions
----------------
.. versionadded:: 1.6
The editor has most of the usual functionality that similar programs
have: text selection via mouse or with cursor moves while holding the
Shift key, Cut (`Ctrl-X`), Copy (`Ctrl-C`), Paste (`Ctrl-V`), Undo
(`Ctrl-Z`), Redo (`Ctrl-Shift-Z`), Select All (`Ctrl-A`). When trying
to exit the editor with a modified buffer, a dialog will pop up asking
whether to cancel the exit operation, or to save or not save the buffer
contents to a file.
From the ``File`` menu it is also possible to copy the current
:doc:`dump image <dump_image>` and :doc:`dump_modify <dump_image>`
commands to the clipboard so they can be pasted into a LAMMPS input file
so that the visualization settings of the snapshot image can be repeated
for the entire simulation (and thus be repeated in the slide show
viewer). This feature has the keyboard shortcut `Ctrl-D`.
Editor Window
-------------
The *Editor* window of LAMMPS-GUI has most of the usual functionality
that similar programs have: text selection via mouse or with cursor
moves while holding the Shift key, Cut (`Ctrl-X`), Copy (`Ctrl-C`),
Paste (`Ctrl-V`), Undo (`Ctrl-Z`), Redo (`Ctrl-Shift-Z`), Select All
(`Ctrl-A`). When trying to exit the editor with a modified buffer, a
dialog will pop up asking whether to cancel the exit operation, or to
save or not save the buffer contents to a file.
.. versionadded:: 1.6
The editor has an auto-save mode that can be enabled or disabled in the
``Preferences`` dialog. In auto-save mode, the editor buffer is
automatically saved before running LAMMPS or before exiting LAMMPS-GUI.
Context Specific Word Completion
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
By default, LAMMPS GUI will display a small pop-up frame with possible
By default, LAMMPS-GUI displays a small pop-up frame with possible
choices for LAMMPS input script commands or styles after 2 characters of
a word have been typed.
@ -354,10 +487,10 @@ by clicking on the entry with the mouse. The automatic completion
pop-up can be disabled in the ``Preferences`` dialog, but the completion
can still be requested manually by either hitting the 'Shift-TAB' key or
by right-clicking with the mouse and selecting the option from the
context menu. Most of the completion information is taken from the
LAMMPS instance and thus it will be adjusted to only show available
options that have been enabled while compiling LAMMPS. That, however,
excludes accelerated styles and commands; for improved clarity, only the
context menu. Most of the completion information is retrieved from the
active LAMMPS instance and thus it shows only available options that
have been enabled when compiling LAMMPS. That list, however, excludes
accelerated styles and commands; for improved clarity, only the
non-suffix version of styles are shown.
Line Reformatting
@ -366,11 +499,12 @@ Line Reformatting
The editor supports reformatting lines according to the syntax in order
to have consistently aligned lines. This primarily means adding
whitespace padding to commands, type specifiers, IDs and names. This
reformatting is performed by default when hitting the 'Enter' key to
start a new line. This feature can be turned on or off in the
``Preferences`` dialog, but it can still be manually performed by
hitting the 'TAB' key. The amount of padding can also be changed in the
``Preferences`` dialog.
reformatting is performed manually by hitting the 'Tab' key. It is
also possible to have this done automatically when hitting the 'Enter'
key to start a new line. This feature can be turned on or off in the
``Preferences`` dialog for ``Editor Settings`` with the
"Reformat with 'Enter'" checkbox. The amount of padding for multiple
categories can be adjusted in the same dialog.
Internally this functionality is achieved by splitting the line into
"words" and then putting it back together with padding added where the
@ -379,17 +513,32 @@ context can be detected; otherwise a single space is used between words.
Context Specific Help
^^^^^^^^^^^^^^^^^^^^^
.. image:: JPG/lammps-gui-popup-help.png
:align: center
:scale: 50%
.. |gui-popup1| image:: JPG/lammps-gui-popup-help.png
:width: 48%
A unique feature of the LAMMPS GUI is the option to look up the
.. |gui-popup2| image:: JPG/lammps-gui-popup-view.png
:width: 48%
|gui-popup1| |gui-popup2|
A unique feature of LAMMPS-GUI is the option to look up the LAMMPS
documentation for the command in the current line. This can be done by
either clicking the right mouse button or by using the `Ctrl-?` keyboard
shortcut. When clicking the mouse there are additional entries in the
context menu that will open the corresponding documentation page in the
online LAMMPS documentation. When using the keyboard, the first of
those entries will be chosen directly.
shortcut. When using the mouse, there are additional entries in the
context menu that open the corresponding documentation page in the
online LAMMPS documentation in a web browser window. When using the
keyboard, the first of those entries is chosen.
.. versionadded:: 1.6
If the word under the cursor is a file, then additionally the context
menu has an entry to open the file in a read-only text viewer window.
This is a convenient way to view the contents of files that are
referenced in the input. The file viewer also supports on-the-fly
decompression based on the file name suffix in a :ref:`similar fashion
as available with LAMMPS <gzip>`. If the necessary decompression
program is missing or the file cannot be decompressed, the viewer window
will contain a corresponding message.
Menu
----
@ -397,9 +546,9 @@ Menu
The menu bar has entries ``File``, ``Edit``, ``Run``, ``View``, and
``About``. Instead of using the mouse to click on them, the individual
menus can also be activated by hitting the `Alt` key together with the
corresponding underlined letter, that is `Alt-F` will activate the
corresponding underlined letter, that is `Alt-F` activates the
``File`` menu. For the corresponding activated sub-menus, the key
corresponding the underlined letters can again be used to select entries
corresponding the underlined letters can be used to select entries
instead of using the mouse.
File
@ -407,19 +556,22 @@ File
The ``File`` menu offers the usual options:
- ``New`` will clear the current buffer and reset the file name to ``*unknown*``
- ``Open`` will open a dialog to select a new file
- ``Save`` will save the current file; if the file name is ``*unknown*``
- ``New`` clears the current buffer and resets the file name to ``*unknown*``
- ``Open`` opens a dialog to select a new file for editing in the *Editor*
- ``View`` opens a dialog to select a file for viewing in a *separate* window (read-only) with support for on-the-fly decompression as explained above.
- ``Save`` saves the current file; if the file name is ``*unknown*``
a dialog will open to select a new file name
- ``Save As`` will open a dialog to select and new file name and save
the buffer to it
- ``Quit`` will exit LAMMPS GUI. If there are unsaved changes, a dialog
will appear to either cancel the operation, or to save or not save the
edited file.
- ``Save As`` opens a dialog to select and new file name (and folder, if
desired) and saves the buffer to it. Writing the buffer to a
different folder will also switch the current working directory to
that folder.
- ``Quit`` exits LAMMPS-GUI. If there are unsaved changes, a dialog will
appear to either cancel the operation, or to save, or to not save the
modified buffer.
In addition, up to 5 recent file names will be listed after the
``Open`` entry that allows re-opening recent files. This list is
stored when quitting and recovered when starting again.
In addition, up to 5 recent file names will be listed after the ``Open``
entry that allows re-opening recently opened files. This list is stored
when quitting and recovered when starting again.
Edit
^^^^
@ -427,19 +579,20 @@ Edit
The ``Edit`` menu offers the usual editor functions like ``Undo``,
``Redo``, ``Cut``, ``Copy``, ``Paste``. It can also open a
``Preferences`` dialog (keyboard shortcut `Ctrl-P`) and allows deletion
of all stored preferences so they will be reset to default values.
of all stored preferences and settings, so they are reset to their
default values.
Run
^^^
The ``Run`` menu has options to start and stop a LAMMPS process.
Rather than calling the LAMMPS executable as a separate executable,
the LAMMPS GUI is linked to the LAMMPS library and thus can run LAMMPS
internally through the :ref:`LAMMPS C-library interface
<lammps_c_api>`.
The ``Run`` menu has options to start and stop a LAMMPS process. Rather
than calling the LAMMPS executable as a separate executable, the
LAMMPS-GUI is linked to the LAMMPS library and thus can run LAMMPS
internally through the :ref:`LAMMPS C-library interface <lammps_c_api>`
in a separate thread.
Specifically, a LAMMPS instance will be created by calling
:cpp:func:`lammps_open_no_mpi`. The buffer contents then executed by
:cpp:func:`lammps_open_no_mpi`. The buffer contents are then executed by
calling :cpp:func:`lammps_commands_string`. Certain commands and
features are only available after a LAMMPS instance is created. Its
presence is indicated by a small LAMMPS ``L`` logo in the status bar
@ -449,16 +602,16 @@ reading the file. This is mainly provided as a fallback option in
case the input uses some feature that is not available when running
from a string buffer.
The LAMMPS calculation will be run in a concurrent thread so that the
GUI can stay responsive and be updated during the run. This can be
used to tell the running LAMMPS instance to stop at the next timestep.
The ``Stop LAMMPS`` entry will do this by calling
:cpp:func:`lammps_force_timeout`, which is equivalent to a :doc:`timer
timeout 0 <timer>` command.
The LAMMPS calculations are run in a concurrent thread so that the GUI
can stay responsive and be updated during the run. The GUI can retrieve
data from the running LAMMPS instance and tell it to stop at the next
timestep. The ``Stop LAMMPS`` entry will do this by calling the
:cpp:func:`lammps_force_timeout` library function, which is equivalent
to a :doc:`timer timeout 0 <timer>` command.
The ``Set Variables...`` entry will open a dialog box where
The ``Set Variables...`` entry opens a dialog box where
:doc:`index style variables <variable>` can be set. Those variables
will be passed to the LAMMPS instance when it is created and are thus
are passed to the LAMMPS instance when it is created and are thus
set *before* a run is started.
.. image:: JPG/lammps-gui-variables.png
@ -478,12 +631,12 @@ in an ``Image Viewer`` window.
The ``View in OVITO`` entry will launch `OVITO <https://ovito.org>`_
with a :doc:`data file <write_data>` containing the current state of
the system. This option is only available if the LAMMPS GUI can find
the system. This option is only available if LAMMPS-GUI can find
the OVITO executable in the system path.
The ``View in VMD`` entry will launch VMD with a :doc:`data file
<write_data>` containing the current state of the system. This option
is only available if the LAMMPS GUI can find the VMD executable in the
is only available if LAMMPS-GUI can find the VMD executable in the
system path.
View
@ -498,14 +651,17 @@ About
^^^^^
The ``About`` menu finally offers a couple of dialog windows and an
option to launch the LAMMPS online documentation in a web browser.
The ``About LAMMPS`` entry displays a dialog with a summary of the
option to launch the LAMMPS online documentation in a web browser. The
``About LAMMPS-GUI`` entry displays a dialog with a summary of the
configuration settings of the LAMMPS library in use and the version
number of LAMMPS GUI itself. The ``Quick Help`` displays a dialog
with a minimal description of LAMMPS GUI. The ``LAMMPS GUI Howto``
entry will open this documentation page from the online documentation
in a web browser window. The ``LAMMPS Manual`` entry will open the
main page of the LAMMPS documentation in the web browser.
number of LAMMPS-GUI itself. The ``Quick Help`` displays a dialog with
a minimal description of LAMMPS-GUI. The ``LAMMPS-GUI Howto`` entry
will open this documentation page from the online documentation in a web
browser window. The ``LAMMPS Manual`` entry will open the main page of
the LAMMPS online documentation in a web browser window.
The ``LAMMPS Tutorial`` entry will open the main page of the set of
LAMMPS tutorials authored and maintained by Simon Gravelle at
https://lammpstutorials.github.io/ in a web browser window.
-----
@ -513,8 +669,8 @@ Preferences
-----------
The ``Preferences`` dialog allows customization of the behavior and
look of the LAMMPS GUI application. The settings are grouped and each
group is displayed within a tab.
look of LAMMPS-GUI. The settings are grouped and each group is
displayed within a tab.
.. |guiprefs1| image:: JPG/lammps-gui-prefs-general.png
:width: 24%
@ -534,9 +690,9 @@ General Settings:
^^^^^^^^^^^^^^^^^
- *Echo input to log:* when checked, all input commands, including
variable expansions, will be echoed to the log window. This is
variable expansions, are echoed to the *Output* window. This is
equivalent to using `-echo screen` at the command line. There is no
log *file* produced by default, since LAMMPS GUI uses `-log none`.
log *file* produced by default, since LAMMPS-GUI uses `-log none`.
- *Include citation details:* when checked full citation info will be
included to the log window. This is equivalent to using `-cite
screen` on the command line.
@ -558,24 +714,26 @@ General Settings:
chart window will be replaced when a new snapshot image is requested,
otherwise each command will create a new image window.
- *Path to LAMMPS Shared Library File:* this option is only visible
when LAMMPS GUI was compiled to load the LAMMPS library at run time
when LAMMPS-GUI was compiled to load the LAMMPS library at run time
instead of being linked to it directly. With the ``Browse..`` button
or by changing the text, a different shared library file with a
different compilation of LAMMPS with different settings or from a
different version can be loaded. After this setting was changed,
LAMMPS GUI needs to be re-launched.
LAMMPS-GUI needs to be re-launched.
- *Select Default Font:* Opens a font selection dialog where the type
and size for the default font (used for everything but the editor and
log) of the application can be set.
- *Select Text Font:* Opens a font selection dialog where the type and
size for the text editor and log font of the application can be set.
- *GUI update interval:* Allows to set the time interval between GUI
and data updates during a LAMMPS run in milliseconds. The default is
to update the GUI every 10 milliseconds. This is good for most cases.
For LAMMPS runs that run *very* fast, however, data may be missed and
through lowering this interval, this can be corrected. However, this
will make the GUI use more resources, which may be a problem on some
computers with slower CPUs and a small number of CPU cores. This
- *GUI update interval:* Allows to set the time interval between GUI and
data updates during a LAMMPS run in milliseconds. The default is to
update the GUI every 10 milliseconds. This is good for many cases.
Set this to 100 milliseconds or more if LAMMPS-GUI consumes too many
resources during a run. For LAMMPS runs that run *very* fast (for
example in tutorial examples), however, data may be missed and through
lowering this interval, this can be corrected. However, this will
make the GUI use more resources, which may be a problem on some
computers with slower CPUs and a small number of CPU cores. This
setting may be changed to a value between 1 and 1000 milliseconds.
Accelerators:
@ -592,18 +750,23 @@ Snapshot Image:
^^^^^^^^^^^^^^^
This tab allows setting defaults for the snapshot images displayed in
the ``Image Viewer`` window, such as its dimensions and the zoom
factor applied. The *Antialias* switch will render images with twice
the number of pixels for width and height and then smoothly scale the
image back to the requested size. This produces higher quality images
with smoother edges at the expense of requiring more CPU time to
render the image. The *HQ Image mode* option turns on screen space
ambient occlusion (SSAO) mode when rendering images. This is also
more time consuming, but produces a more 'spatial' representation of
the system shading of atoms by their depth. The *VDW Style* checkbox
selects whether atoms are represented by space filling spheres when
checked or by smaller spheres and sticks. Finally there are a couple
of drop down lists to select the background and box colors.
the ``Image Viewer`` window, such as its dimensions and the zoom factor
applied. The *Antialias* switch will render images with twice the
number of pixels for width and height and then smoothly scale the image
back to the requested size. This produces higher quality images with
smoother edges at the expense of requiring more CPU time to render the
image. The *HQ Image mode* option turns on screen space ambient
occlusion (SSAO) mode when rendering images. This is also more time
consuming, but produces a more 'spatial' representation of the system
shading of atoms by their depth. The *Shiny Image mode* option will
render objects with a shiny surface when enabled. Otherwise the
surfaces will be matted. The *Show Box* option selects whether the
system box is drawn as a colored set of sticks. Similarly, the *Show
Axes* option selects whether a representation of the three system axes
will be drawn as colored sticks. The *VDW Style* checkbox selects
whether atoms are represented by space filling spheres when checked or
by smaller spheres and sticks. Finally there are a couple of drop down
lists to select the background and box colors.
Editor Settings:
^^^^^^^^^^^^^^^^
@ -614,9 +777,11 @@ ranges, IDs (e.g. for fixes), and names (e.g. for groups). The value
set is the minimum width for the text element and it can be chosen in
the range between 1 and 32.
The two settings which follow enable or disable the automatic
reformatting when hitting the 'Enter' key and the automatic display of
the completion pop-up window.
The three settings which follow enable or disable the automatic
reformatting when hitting the 'Enter' key, the automatic display of
the completion pop-up window, and whether auto-save mode is enabled.
In auto-save mode the editor buffer is saved before a run or before
exiting LAMMPS-GUI.
-----------
@ -649,48 +814,54 @@ available (On macOS use the Command key instead of Ctrl/Control).
- Redo edit
- Ctrl+/
- Stop Active Run
* - Ctrl+S
- Save File
* - Ctrl+Shift+F
- View File
- Ctrl+C
- Copy text
- Ctrl+Shift+V
- Set Variables
* - Ctrl+Shift+S
- Save File As
* - Ctrl+S
- Save File
- Ctrl+X
- Cut text
- Ctrl+I
- Snapshot Image
* - Ctrl+Q
- Quit Application
* - Ctrl+Shift+S
- Save File As
- Ctrl+V
- Paste text
- Ctrl+L
- Slide Show
* - Ctrl+W
- Close Window
* - Ctrl+Q
- Quit Application
- Ctrl+A
- Select All
- Ctrl+P
- Preferences
* - Ctrl+Shift+A
- About LAMMPS
* - Ctrl+W
- Close Window
- Ctrl+Shift+H
- Quick Help
- Ctrl+Shift+G
- LAMMPS GUI Howto
* - Ctrl+Shift+M
- LAMMPS Manual
- LAMMPS-GUI Howto
* - Ctrl+Shift+A
- About LAMMPS
- Ctrl+?
- Context Help
- Ctrl+Shift+W
- Show Variables
* - Ctrl+Shift+Enter
- Run File
* - Ctrl+Shift+M
- LAMMPS Manual
- TAB
- Reformat line
- Shift+TAB
- Show Completions
* - Ctrl+Shift+T
- LAMMPS Tutorial
- Ctrl+Shift+Enter
- Run File
-
-
Further editing keybindings `are documented with the Qt documentation
<https://doc.qt.io/qt-5/qplaintextedit.html#editing-key-bindings>`_. In

View File

@ -6,19 +6,22 @@ PyLammps Tutorial
Overview
--------
``PyLammps`` is a Python wrapper class for LAMMPS which can be created
on its own or use an existing lammps Python object. It creates a simpler,
:py:class:`PyLammps <lammps.PyLammps>` is a Python wrapper class for
LAMMPS which can be created on its own or use an existing
:py:class:`lammps Python <lammps.lammps>` object. It creates a simpler,
more "pythonic" interface to common LAMMPS functionality, in contrast to
the ``lammps`` wrapper for the C-style LAMMPS library interface which
is written using `Python ctypes <ctypes_>`_. The ``lammps`` wrapper
is discussed on the :doc:`Python_head` doc page.
the :py:class:`lammps <lammps.lammps>` wrapper for the LAMMPS :ref:`C
language library interface API <lammps_c_api>` which is written using
`Python ctypes <ctypes_>`_. The :py:class:`lammps <lammps.lammps>`
wrapper is discussed on the :doc:`Python_head` doc page.
Unlike the flat ``ctypes`` interface, PyLammps exposes a discoverable
API. It no longer requires knowledge of the underlying C++ code
implementation. Finally, the ``IPyLammps`` wrapper builds on top of
``PyLammps`` and adds some additional features for
`IPython integration <ipython_>`_ into `Jupyter notebooks <jupyter_>`_,
e.g. for embedded visualization output from :doc:`dump style image <dump_image>`.
Unlike the flat `ctypes <ctypes_>`_ interface, PyLammps exposes a
discoverable API. It no longer requires knowledge of the underlying C++
code implementation. Finally, the :py:class:`IPyLammps
<lammps.IPyLammps>` wrapper builds on top of :py:class:`PyLammps
<lammps.PyLammps>` and adds some additional features for `IPython
integration <ipython_>`_ into `Jupyter notebooks <jupyter_>`_, e.g. for
embedded visualization output from :doc:`dump style image <dump_image>`.
.. _ctypes: https://docs.python.org/3/library/ctypes.html
.. _ipython: https://ipython.org/
@ -30,19 +33,22 @@ Comparison of lammps and PyLammps interfaces
lammps.lammps
"""""""""""""
* uses ``ctypes``
* direct memory access to native C++ data
* uses `ctypes <ctypes_>`_
* direct memory access to native C++ data with optional support for NumPy arrays
* provides functions to send and receive data to LAMMPS
* interface modeled after the LAMMPS :ref:`C language library interface API <lammps_c_api>`
* requires knowledge of how LAMMPS internally works (C pointers, etc)
* full support for running Python with MPI using `mpi4py <https://mpi4py.readthedocs.io>`_
lammps.PyLammps
"""""""""""""""
* higher-level abstraction built on top of original ctypes interface
* higher-level abstraction built on *top* of original :py:class:`ctypes based interface <lammps.lammps>`
* manipulation of Python objects
* communication with LAMMPS is hidden from API user
* shorter, more concise Python
* better IPython integration, designed for quick prototyping
* designed for serial execution
Quick Start
-----------
@ -506,14 +512,26 @@ inside of the IPython notebook.
Using PyLammps and mpi4py (Experimental)
----------------------------------------
PyLammps can be run in parallel using mpi4py. This python package can be installed using
PyLammps can be run in parallel using `mpi4py
<https://mpi4py.readthedocs.io>`_. This python package can be installed
using
.. code-block:: bash
pip install mpi4py
The following is a short example which reads in an existing LAMMPS input file and
executes it in parallel. You can find in.melt in the examples/melt folder.
.. warning::
Usually, any :py:class:`PyLammps <lammps.PyLammps>` command must be
executed by *all* MPI processes. However, evaluations and querying
the system state is only available on MPI rank 0. Using these
functions from other MPI ranks will raise an exception.
The following is a short example which reads in an existing LAMMPS input
file and executes it in parallel. You can find in.melt in the
examples/melt folder. Please take note that the
:py:meth:`PyLammps.eval() <lammps.PyLammps.eval>` is called only from
MPI rank 0.
.. code-block:: python
@ -535,10 +553,6 @@ following mpirun command:
mpirun -np 4 python melt.py
.. warning::
Any command must be executed by all MPI processes. However, evaluations and querying the system state is only available on rank 0.
Feedback and Contributing
-------------------------

View File

@ -13,7 +13,7 @@ interact and their physical behavior. The package is designed with modularity
in mind, so one can easily turn various features on/off, adjust physical
details of the system, or develop new capabilities. For instance, the numerics
associated with calculating gradients, reproducing kernels, etc. are separated
into distinctclasses to simplify the development of new integration schemes
into distinct classes to simplify the development of new integration schemes
which can call these calculations. Additional numerical details can be found in
:ref:`(Palermo) <howto_rheo_palermo>` and
:ref:`(Clemmer) <howto_rheo_clemmer>`. Example movies illustrating some of these

View File

@ -35,11 +35,11 @@ packages listed below), they do not depend on any installed software and
thus should run on *any* 64-bit x86 machine with *any* Linux version.
These executable include most of the available packages and multi-thread
parallelization (via INTEL, KOKKOS, or OPENMP package). They are **not**
compatible with MPI. Several of the LAMMPS tools executables (e.g. ``msi2lmp``)
and the ``lammps-shell`` program are included as well. Because of the
static linkage, there is no ``liblammps.so`` library file and thus also the
LAMMPS python module, which depends on it, is not included.
parallelization (via INTEL, KOKKOS, or OPENMP package). They are
**not** compatible with MPI. Several of the LAMMPS tools executables
(e.g. ``msi2lmp``) are included as well. Because of the static linkage,
there is no ``liblammps.so`` library file and thus also the LAMMPS
python module, which depends on it, is not included.
The compressed tar archives available for download have names following
the pattern ``lammps-linux-x86_64-<version>.tar.gz`` and will all unpack

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

View File

@ -13,6 +13,8 @@ This section documents the following functions:
- :cpp:func:`lammps_extract_setting`
- :cpp:func:`lammps_extract_global_datatype`
- :cpp:func:`lammps_extract_global`
- :cpp:func:`lammps_extract_pair_dimension`
- :cpp:func:`lammps_extract_pair`
- :cpp:func:`lammps_map_atom`
--------------------
@ -123,6 +125,16 @@ subdomains and processors.
-----------------------
.. doxygenfunction:: lammps_extract_pair_dimension
:project: progguide
-----------------------
.. doxygenfunction:: lammps_extract_pair
:project: progguide
-----------------------
.. doxygenfunction:: lammps_map_atom
:project: progguide

View File

@ -92,8 +92,7 @@ Miscellaneous tools
* :ref:`emacs <emacs>`
* :ref:`i-PI <ipi>`
* :ref:`kate <kate>`
* :ref:`LAMMPS shell <lammps_shell>`
* :ref:`LAMMPS GUI <lammps_gui>`
* :ref:`LAMMPS-GUI <lammps_gui>`
* :ref:`LAMMPS magic patterns for file(1) <magic>`
* :ref:`Offline build tool <offline>`
* :ref:`singularity/apptainer <singularity_tool>`
@ -444,219 +443,9 @@ The file was provided by Alessandro Luigi Sellerio
----------
.. _lammps_shell:
LAMMPS shell
------------
.. versionadded:: 9Oct2020
Overview
^^^^^^^^
The LAMMPS Shell, ``lammps-shell`` is a program that functions very
similar to the regular LAMMPS executable but has several modifications
and additions that make it more powerful for interactive sessions,
i.e. where you type LAMMPS commands from the prompt instead of reading
them from a file.
- It uses the readline and history libraries to provide command line
editing and context aware TAB-expansion (details on that below).
- When processing an input file with the '-in' or '-i' flag from the
command line, it does not exit at the end of that input file but
stops at a prompt, so that additional commands can be issued
- Errors will not abort the shell but return to the prompt.
- It has additional commands aimed at interactive use (details below).
- Interrupting a calculation with CTRL-C will not terminate the
session but rather enforce a timeout to cleanly stop an ongoing
run (more info on timeouts is in the :doc:`timer command <timer>`
documentation).
These enhancements make the LAMMPS shell an attractive choice for
interactive LAMMPS sessions in graphical desktop environments
(e.g. Gnome, KDE, Cinnamon, XFCE, Windows).
TAB-expansion
^^^^^^^^^^^^^
When writing commands interactively at the shell prompt, you can hit
the TAB key at any time to try and complete the text. This completion
is context aware and will expand any first word only to commands
available in that executable.
- For style commands it will expand to available styles of the
corresponding category (e.g. pair styles after a
:doc:`pair_style <pair_style>` command).
- For :doc:`compute <compute>`, :doc:`fix <fix>`, or :doc:`dump <dump>`
it will also expand only to already defined groups for the group-ID
keyword.
- For commands like :doc:`compute_modify <compute_modify>`,
:doc:`fix_modify <fix_modify>`, or :doc:`dump_modify <dump_modify>`
it will expand to known compute/fix/dump IDs only.
- When typing references to computes, fixes, or variables with a
"c\_", "f\_", or "v\_" prefix, respectively, then the expansion will
be to known compute/fix IDs and variable names. Variable name
expansion is also available for the ${name} variable syntax.
- In all other cases TAB expansion will complete to names of files
and directories.
Command line editing and history
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
When typing commands, command line editing similar to what BASH
provides is available. Thus it is possible to move around the
currently line and perform various cut and insert and edit operations.
Previous commands can be retrieved by scrolling up (and down)
or searching (e.g. with CTRL-r).
Also history expansion through using the exclamation mark '!'
can be performed. Examples: '!!' will be replaced with the previous
command, '!-2' will repeat the command before that, '!30' will be
replaced with event number 30 in the command history list, and
'!run' with the last command line that started with "run". Adding
a ":p" to such a history expansion will result that the expansion is
printed and added to the history list, but NOT executed.
On exit the LAMMPS shell will write the history list to a file
".lammps_history" in the current working directory. If such a
file exists when the LAMMPS shell is launched it will be read to
populate the history list.
This is realized via the readline library and can thus be customized
with an ``.inputrc`` file in the home directory. For application
specific customization, the LAMMPS shell uses the name "lammps-shell".
For more information about using and customizing an application using
readline, please see the available documentation at:
https://www.gnu.org/software/readline/
Additional commands
^^^^^^^^^^^^^^^^^^^
The following commands are added to the LAMMPS shell on top of the
regular LAMMPS commands:
.. parsed-literal::
help (or ?) print a brief help message
history display the current command history list
clear_history wipe out the current command history list
save_history <range> <file>
write commands from the history to file.
The range is given as <from>-<to>, where <from> and <to>
may be empty. Example: save_history 100- in.recent
source <file> read commands from file (same as "include")
pwd print current working directory
cd <directory> change current working directory (same as pwd if no directory)
mem print current and maximum memory usage
\|<command> execute <command> as a shell command and return to the command prompt
exit exit the LAMMPS shell cleanly (unlike the "quit" command)
Please note that some known shell operations are implemented in the
LAMMPS :doc:`shell command <shell>` in a platform neutral fashion,
while using the '\|' character will always pass the following text
to the operating system's shell command.
Compilation
^^^^^^^^^^^
Compilation of the LAMMPS shell can be enabled by setting the CMake
variable ``BUILD_LAMMPS_SHELL`` to "on" or using the makefile in the
``tools/lammps-shell`` folder to compile after building LAMMPS using
the conventional make procedure. The makefile will likely need
customization depending on the features and settings used for
compiling LAMMPS.
Limitations
^^^^^^^^^^^
The LAMMPS shell was not designed for use with MPI parallelization
via ``mpirun`` or ``mpiexec`` or ``srun``.
Readline customization
^^^^^^^^^^^^^^^^^^^^^^
The behavior of the readline functionality can be customized in the
``${HOME}/.inputrc`` file. This can be used to alter the default
settings or change the key-bindings. The LAMMPS Shell sets the
application name ``lammps-shell``, so settings can be either applied
globally or only for the LAMMPS shell by bracketing them between
``$if lammps-shell`` and ``$endif`` like in the following example:
.. code-block:: bash
$if lammps-shell
# disable "beep" or "screen flash"
set bell-style none
# bind the "Insert" key to toggle overwrite mode
"\e[2~": overwrite-mode
$endif
More details about this are in the `readline documentation <https://tiswww.cwru.edu/php/chet/readline/rluserman.html#SEC9>`_.
LAMMPS Shell tips and tricks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Below are some suggestions for how to use and customize the LAMMPS shell.
Enable tilde expansion
""""""""""""""""""""""
Adding ``set expand-tilde on`` to ``${HOME}/.inputrc`` is recommended as
this will change the filename expansion behavior to replace any text
starting with "~" by the full path to the corresponding user's home
directory. While the expansion of filenames **will** happen on all
arguments where the context is not known (e.g. ``~/compile/lamm<TAB>``
will expand to ``~/compile/lammps/``), it will not replace the tilde by
default. But since LAMMPS does not do tilde expansion itself (unlike a
shell), this will result in errors. Instead the tilde-expression should
be expanded into a valid path, where the plain "~/" stands for the
current user's home directory and "~someuser/" stands for
"/home/someuser" or whatever the full path to that user's home directory
is.
File extension association
""""""""""""""""""""""""""
Since the LAMMPS shell (unlike the regular LAMMPS executable) does not
exit when an input file is passed on the command line with the "-in" or
"-i" flag (the behavior is like for ``python -i <filename>``), it makes
the LAMMPS shell suitable for associating it with input files based on
their filename extension (e.g. ".lmp"). Since ``lammps-shell`` is a
console application, you have to run it inside a terminal program with a
command line like this:
.. code-block:: bash
xterm -title "LAMMPS Shell" -e /path/to/lammps-shell -i in.file.lmp
Use history to create an input file
"""""""""""""""""""""""""""""""""""
When experimenting with commands to interactively to figure out a
suitable choice of settings or simply the correct syntax, you may want
to record part of your commands to a file for later use. This can be
done with the ``save_history`` commands, which allows to selectively
write a section of the command history to a file (Example:
``save_history 25-30 in.run``). This file can be further edited
(Example: ``|vim in.run``) and then the file read back in and tried out
(Example: ``source in.run``). If the input also creates a system box,
you first need to use the :doc:`clear` command.
----------
.. _lammps_gui:
LAMMPS GUI
LAMMPS-GUI
----------
.. versionadded:: 2Aug2023
@ -664,25 +453,28 @@ LAMMPS GUI
Overview
^^^^^^^^
LAMMPS GUI is a graphical text editor customized for editing LAMMPS
LAMMPS-GUI is a graphical text editor customized for editing LAMMPS
input files that is linked to the :ref:`LAMMPS C-library <lammps_c_api>`
and thus can run LAMMPS directly using the contents of the editor's text
buffer as input. It can retrieve and display information from LAMMPS
while it is running, display visualizations created with the :doc:`dump
image command <dump_image>`, and is adapted specifically for editing
LAMMPS input files through text completion and reformatting, and linking
to the online LAMMPS documentation for known LAMMPS commands and styles.
LAMMPS input files through syntax highlighting, text completion, and
reformatting, and linking to the online LAMMPS documentation for known
LAMMPS commands and styles.
This is similar to what people traditionally would do to run LAMMPS:
using a regular text editor to edit the input and run the necessary
commands, possibly including the text editor, too, from a command line
terminal window. This similarity is a design goal. While making it easy
for beginners to start with LAMMPS, it is also the intention to simplify
the transition to workflows like most experienced LAMMPS users do.
This is similar to what people traditionally would do to run LAMMPS but
all rolled into a single application: that is, using a text editor,
plotting program, and a visualization program to edit the input, run
LAMMPS, process the output into graphs and visualizations from a command
line window. This similarity is a design goal. While making it easy for
beginners to start with LAMMPS, it is also the expectation that
LAMMPS-GUI users will eventually transition to workflows that most
experienced LAMMPS users employ.
All features have been extensively exposed to keyboard shortcuts, so
that there is also appeal for experienced LAMMPS users for prototyping
and testing simulations setups.
and testing simulation setups.
Features
^^^^^^^^
@ -690,48 +482,49 @@ Features
A detailed discussion and explanation of all features and functionality
are in the :doc:`Howto_lammps_gui` tutorial Howto page.
Here are a few highlights of LAMMPS GUI
Here are a few highlights of LAMMPS-GUI
- Text editor with syntax highlighting customized for LAMMPS
- Text editor will switch working directory to folder of file in buffer
- Text editor will remember up to 5 recent files
- Text editor with line numbers and syntax highlighting customized for LAMMPS
- Text editor features command completion and auto-indentation for known commands and styles
- Text editor will switch its working directory to folder of file in buffer
- Many adjustable settings and preferences that are persistent including the 5 most recent files
- Context specific LAMMPS command help via online documentation
- LAMMPS is running in a concurrent thread, so the GUI remains responsive
- Support for most accelerator packages
- Progress bar indicates how far a run command is completed
- LAMMPS can be started and stopped with a hotkey
- Screen output is captured in a Log Window
- Thermodynamic output is captured and displayed as line graph in a Chart Window
- LAMMPS can be started and stopped with a mouse click or a hotkey
- Screen output is captured in an *Output* Window
- Thermodynamic output is captured and displayed as line graph in a *Chart* Window
- Indicator for currently executed command
- Indicator for line that caused an error
- Visualization of current state in Image Viewer (via :doc:`dump image <dump_image>`)
- Many adjustable settings and preferences that are persistent
- Dialog to set variables from the LAMMPS command line
- Visualization of current state in Image Viewer (via calling :doc:`write_dump image <dump_image>`)
- Capture of images created via :doc:`dump image <dump_image>` in Slide show window
- Dialog to set variables, similar to the LAMMPS command line flag '-v' / '-var'
- Support for GPU, INTEL, KOKKOS/OpenMP, OPENMAP, and OPT and accelerator packages
Parallelization
^^^^^^^^^^^^^^^
Due to its nature as a graphical application, it is not possible to use
the LAMMPS GUI in parallel with MPI, but OpenMP multi-threading and GPU
the LAMMPS-GUI in parallel with MPI, but OpenMP multi-threading and GPU
acceleration is available and enabled by default.
Prerequisites and portability
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LAMMPS GUI is programmed in C++ based on the C++11 standard and using
LAMMPS-GUI is programmed in C++ based on the C++11 standard and using
the `Qt GUI framework <https://www.qt.io/product/framework>`_.
Currently, Qt version 5.12 or later is required; Qt 5.15LTS is
recommended; support for Qt version 6.x is under active development and
thus far only tested with Qt 6.5LTS on Linux. Building LAMMPS with
CMake is required.
recommended; support for Qt version 6.x is available. Building LAMMPS
with CMake is required.
The LAMMPS GUI has been successfully compiled and tested on:
The LAMMPS-GUI has been successfully compiled and tested on:
- Ubuntu Linux 20.04LTS x86_64 using GCC 9, Qt version 5.12
- Fedora Linux 40 x86\_64 using GCC 14 and Clang 17, Qt version 5.15LTS
- Fedora Linux 40 x86\_64 using GCC 14, Qt version 6.5LTS
- Fedora Linux 40 x86\_64 using GCC 14, Qt version 6.7
- Apple macOS 12 (Monterey) and macOS 13 (Ventura) with Xcode on arm64 and x86\_64, Qt version 5.15LTS
- Windows 10 and 11 x86_64 with Visual Studio 2022 and Visual C++ 14.36, Qt version 5.15LTS
- Windows 10 and 11 x86_64 with Visual Studio 2022 and Visual C++ 14.40, Qt version 6.7
- Windows 10 and 11 x86_64 with MinGW / GCC 10.0 cross-compiler on Fedora 38, Qt version 5.15LTS
.. _lammps_gui_install:
@ -740,25 +533,41 @@ The LAMMPS GUI has been successfully compiled and tested on:
Pre-compiled executables
^^^^^^^^^^^^^^^^^^^^^^^^
Pre-compiled LAMMPS executable packages that include the GUI are currently
available from https://download.lammps.org/static or
https://github.com/lammps/lammps/releases. You can unpack the archives
(or mount the macOS disk image) and run the GUI directly in place. The
folder may also be moved around and added to the ``PATH`` environment
variable so the executables will be found automatically. The LAMMPS GUI
executable is called ``lammps-gui`` and either takes no arguments or
attempts to load the first argument as LAMMPS input file.
Pre-compiled LAMMPS executable packages that include the GUI are
currently available from https://download.lammps.org/static or
https://github.com/lammps/lammps/releases. For Windows, you need to
download and then run the application installer. For macOS you download
and mount the disk image and then drag the application bundle to the
Applications folder. For Linux (x86_64) you currently have two
options: 1) you can download the tar.gz archive, unpack it and run the
GUI directly in place. The ``LAMMPS_GUI`` folder may also be moved
around and added to the ``PATH`` environment variable so the executables
will be found automatically. 2) you can download the `Flatpak file
<https://www.flatpak.org/>`_ and then install it locally with the
*flatpak* command: ``flatpak install --user
LAMMPS-Linux-x86_64-GUI-<version>.flatpak`` and run it with ``flatpak
run org.lammps.lammps-gui``. The flatpak bundle also includes the
command line version of LAMMPS and some LAMMPS tools like msi2lmp. The
can be launched by using the ``--command`` flag. For example to run
LAMMPS directly on the ``in.lj`` benchmark input you would type in the
``bench`` folder: ``flatpak run --command=lmp -in in.lj`` The flatpak
version should also appear in the applications menu of standard desktop
environments. The LAMMPS-GUI executable is called ``lammps-gui`` and
either takes no arguments or attempts to load the first argument as
LAMMPS input file.
.. _lammps_gui_compilation:
Compilation
^^^^^^^^^^^
The source for the LAMMPS GUI is included with the LAMMPS source code
The source for the LAMMPS-GUI is included with the LAMMPS source code
distribution in the folder ``tools/lammps-gui`` and thus it can be can
be built as part of a regular LAMMPS compilation. :doc:`Using CMake
<Howto_cmake>` is required. To enable its compilation, the CMake
variable ``-D BUILD_LAMMPS_GUI=on`` must be set when creating the CMake
configuration. All other settings (compiler, flags, compile type) for
LAMMPS GUI are then inherited from the regular LAMMPS build. If the Qt
LAMMPS-GUI are then inherited from the regular LAMMPS build. If the Qt
library is packaged for Linux distributions, then its location is
typically auto-detected since the required CMake configuration files are
stored in a location where CMake can find them without additional help.
@ -766,17 +575,17 @@ Otherwise, the location of the Qt library installation must be indicated
by setting ``-D Qt5_DIR=/path/to/qt5/lib/cmake/Qt5``, which is a path to
a folder inside the Qt installation that contains the file
``Qt5Config.cmake``. Similarly, for Qt6 the location of the Qt library
installation can be indicated by setting ``-D Qt6_DIR=/path/to/qt6/lib/cmake/Qt6``,
if necessary. When both, Qt5 and Qt6 are available, Qt6 will be preferred
unless ``-D LAMMPS_GUI_USE_QT5=yes`` is set.
installation can be indicated by setting ``-D
Qt6_DIR=/path/to/qt6/lib/cmake/Qt6``, if necessary. When both, Qt5 and
Qt6 are available, Qt6 will be preferred unless ``-D
LAMMPS_GUI_USE_QT5=yes`` is set.
It should be possible to build the LAMMPS GUI as a standalone
compilation (e.g. when LAMMPS has been compiled with traditional make).
Then the CMake configuration needs to be told where to find the LAMMPS
headers and the LAMMPS library, via ``-D
LAMMPS_SOURCE_DIR=/path/to/lammps/src``. CMake will try to guess a
build folder with the LAMMPS library from that path, but it can also be
set with ``-D LAMMPS_LIB_DIR=/path/to/lammps/lib``.
It is possible to build the LAMMPS-GUI as a standalone compilation
(e.g. when LAMMPS has been compiled with traditional make). Then the
CMake configuration needs to be told where to find the LAMMPS headers
and the LAMMPS library, via ``-D LAMMPS_SOURCE_DIR=/path/to/lammps/src``.
CMake will try to guess a build folder with the LAMMPS library from that
path, but it can also be set with ``-D LAMMPS_LIB_DIR=/path/to/lammps/lib``.
Rather than linking to the LAMMPS library during compilation, it is also
possible to compile the GUI with a plugin loader that will load
@ -827,13 +636,13 @@ There is a custom `x64-GUI-MSVC` build configuration provided in the
compilation settings for project. Choosing this configuration will
activate building the `lammps-gui.exe` executable in addition to LAMMPS
through importing package selection from the ``windows.cmake`` preset
file and enabling building the LAMMPS GUI and disabling building with MPI.
file and enabling building the LAMMPS-GUI and disabling building with MPI.
When requesting an installation from the `Build` menu in Visual Studio,
it will create a compressed ``LAMMPS-Win10-amd64.zip`` zip file with the
executables and required dependent .dll files. This zip file can be
uncompressed and ``lammps-gui.exe`` run directly from there. The
uncompressed folder can be added to the ``PATH`` environment and LAMMPS
and LAMMPS GUI can be launched from anywhere from the command line.
and LAMMPS-GUI can be launched from anywhere from the command line.
**MinGW64 Cross-compiler**
@ -1313,13 +1122,13 @@ necessary development headers and libraries are present.
.. code-block:: bash
-D WITH_SWIG=on # to enable building any SWIG wrapper
-D BUILD_SWIG_JAVA=on # to enable building the Java wrapper
-D BUILD_SWIG_LUA=on # to enable building the Lua wrapper
-D BUILD_SWIG_PERL5=on # to enable building the Perl 5.x wrapper
-D BUILD_SWIG_PYTHON=on # to enable building the Python wrapper
-D BUILD_SWIG_RUBY=on # to enable building the Ruby wrapper
-D BUILD_SWIG_TCL=on # to enable building the Tcl wrapper
-D WITH_SWIG=on # to enable building any SWIG wrapper
-D BUILD_SWIG_JAVA=on # to enable building the Java wrapper
-D BUILD_SWIG_LUA=on # to enable building the Lua wrapper
-D BUILD_SWIG_PERL5=on # to enable building the Perl 5.x wrapper
-D BUILD_SWIG_PYTHON=on # to enable building the Python wrapper
-D BUILD_SWIG_RUBY=on # to enable building the Ruby wrapper
-D BUILD_SWIG_TCL=on # to enable building the Tcl wrapper
Manual building allows a little more flexibility. E.g. one can choose

View File

@ -1,8 +1,11 @@
.. index:: angle_style hybrid
.. index:: angle_style hybrid/kk
angle_style hybrid command
==========================
Accelerator Variants: *hybrid/kk*
Syntax
""""""
@ -79,6 +82,10 @@ for specific angle types.
----------
.. include:: accel_styles.rst
----------
Restrictions
""""""""""""
@ -87,8 +94,9 @@ MOLECULE package. See the :doc:`Build package <Build_package>` doc page
for more info.
Unlike other angle styles, the hybrid angle style does not store angle
coefficient info for individual sub-styles in a :doc:`binary restart files <restart>`. Thus when restarting a simulation from a restart
file, you need to re-specify :doc:`angle_coeff <angle_coeff>` commands.
coefficient info for individual sub-styles in :doc:`binary restart files
<restart>` or :doc:`data files <write_data>`. Thus when restarting a
simulation, you need to re-specify the angle_coeff commands.
Related commands
""""""""""""""""

View File

@ -1,10 +1,11 @@
.. index:: angle_style spica
.. index:: angle_style spica/omp
.. index:: angle_style spica/kk
angle_style spica command
=========================
Accelerator Variants: *spica/omp*
Accelerator Variants: *spica/omp*, *spica/kk*
Syntax
""""""

View File

@ -75,8 +75,9 @@ package. See the :doc:`Build package <Build_package>` page for more
info.
Unlike other bond styles, the hybrid bond style does not store bond
coefficient info for individual sub-styles in a :doc:`binary restart files <restart>`. Thus when restarting a simulation from a restart
file, you need to re-specify bond_coeff commands.
coefficient info for individual sub-styles in :doc:`binary restart files
<restart>` or :doc:`data files <write_data>`. Thus when restarting a
simulation, you need to re-specify the bond_coeff commands.
Related commands
""""""""""""""""

View File

@ -45,6 +45,7 @@ Commands
fix
fix_modify
fitpod_command
geturl
group
group2ndx
hyper

View File

@ -1,8 +1,11 @@
.. index:: dihedral_style hybrid
.. index:: dihedral_style hybrid/kk
dihedral_style hybrid command
=============================
Accelerator Variants: *hybrid/kk*
Syntax
""""""
@ -80,6 +83,10 @@ for specific dihedral types.
----------
.. include:: accel_styles.rst
----------
Restrictions
""""""""""""
@ -88,8 +95,10 @@ MOLECULE package. See the :doc:`Build package <Build_package>` doc page
for more info.
Unlike other dihedral styles, the hybrid dihedral style does not store
dihedral coefficient info for individual sub-styles in a :doc:`binary restart files <restart>`. Thus when restarting a simulation from a
restart file, you need to re-specify dihedral_coeff commands.
dihedral coefficient info for individual sub-styles in :doc:`binary
restart files <restart>` or :doc:`data files <write_data>`. Thus when
restarting a simulation, you need to re-specify the dihedral_coeff
commands.
Related commands
""""""""""""""""

View File

@ -111,10 +111,10 @@ Syntax
.. parsed-literal::
*acolor* args = type color
type = atom type or range of types (see below)
type = atom type (numeric or type label) or range of numeric types (see below)
color = name of color or color1/color2/...
*adiam* args = type diam
type = atom type or range of types (see below)
type = atom type (numeric or type label) or range of numeric types (see below)
diam = diameter of atoms of that type (distance units)
*amap* args = lo hi style delta N entry1 entry2 ... entryN
lo = number or *min* = lower bound of range of color map
@ -139,10 +139,10 @@ Syntax
*backcolor* arg = color
color = name of color for background
*bcolor* args = type color
type = bond type or range of types (see below)
type = bond type (numeric or type label) or range of numeric types (see below)
color = name of color or color1/color2/...
*bdiam* args = type diam
type = bond type or range of types (see below)
type = bond type (numeric or type label) or range of numeric types (see below)
diam = diameter of bonds of that type (distance units)
*bitrate* arg = rate
rate = target bitrate for movie in kbps
@ -169,6 +169,9 @@ Examples
dump_modify 1 amap min max cf 0.0 3 min green 0.5 yellow max blue boxcolor red
labelmap atom 1 C 2 H 3 O 4 N
dump_modify 1 acolor C gray acolor H white acolor O red acolor N blue
Description
"""""""""""
@ -739,15 +742,15 @@ The *acolor* keyword can be used with the dump image command, when its
atom color setting is *type*, to set the color that atoms of each type
will be drawn in the image.
The specified *type* should be an integer from 1 to Ntypes = the
number of atom types. A wildcard asterisk can be used in place of or
in conjunction with the *type* argument to specify a range of atom
types. This takes the form "\*" or "\*n" or "n\*" or "m\*n". If N =
the number of atom types, then an asterisk with no numeric values
means all types from 1 to N. A leading asterisk means all types from
1 to n (inclusive). A trailing asterisk means all types from n to N
(inclusive). A middle asterisk means all types from m to n
(inclusive).
The specified *type* should be a type label or integer from 1 to Ntypes
= the number of atom types. For numeric types, a wildcard asterisk can
be used in place of or in conjunction with the *type* argument to
specify a range of atom types. This takes the form "\*" or "\*n" or
"n\*" or "m\*n". If N = the number of atom types, then an asterisk with
no numeric values means all types from 1 to N. A leading asterisk
means all types from 1 to n (inclusive). A trailing asterisk means all
types from n to N (inclusive). A middle asterisk means all types from
m to n (inclusive).
The specified *color* can be a single color which is any of the 140
pre-defined colors (see below) or a color name defined by the
@ -761,11 +764,12 @@ fashion to each of the specified atom types.
The *adiam* keyword can be used with the dump image command, when its
atom diameter setting is *type*, to set the size that atoms of each
type will be drawn in the image. The specified *type* should be an
integer from 1 to Ntypes. As with the *acolor* keyword, a wildcard
asterisk can be used as part of the *type* argument to specify a range
of atom types. The specified *diam* is the size in whatever distance
:doc:`units <units>` the input script is using, e.g. Angstroms.
type will be drawn in the image. The specified *type* should be a type
label or integer from 1 to Ntypes. As with the *acolor* keyword, a
wildcard asterisk can be used as part of the *type* argument to specify
a range of numeric atom types. The specified *diam* is the size in
whatever distance :doc:`units <units>` the input script is using, e.g.
Angstroms.
----------
@ -908,14 +912,15 @@ The *bcolor* keyword can be used with the dump image command, with its
*bond* keyword, when its color setting is *type*, to set the color
that bonds of each type will be drawn in the image.
The specified *type* should be an integer from 1 to :math:`N`, where :math:`N`
is the number of bond types. A wildcard asterisk can be used in place of or
in conjunction with the *type* argument to specify a range of bond
types. This takes the form "\*" or "\*n" or "m\*" or "m\*n". If :math:`N`
is the number of bond types, then an asterisk with no numerical values
means all types from 1 to :math:`N`. A leading asterisk means all types from
1 to n (inclusive). A trailing asterisk means all types from m to :math:`N`
(inclusive). A middle asterisk means all types from m to n
The specified *type* should be a type label or integer from 1 to
:math:`N`, where :math:`N` is the number of bond types. For numeric
types, a wildcard asterisk can be used in place of or in conjunction
with the *type* argument to specify a range of bond types. This takes
the form "\*" or "\*n" or "m\*" or "m\*n". If :math:`N` is the number
of bond types, then an asterisk with no numerical values means all
types from 1 to :math:`N`. A leading asterisk means all types from 1
to n (inclusive). A trailing asterisk means all types from m to
:math:`N` (inclusive). A middle asterisk means all types from m to n
(inclusive).
The specified *color* can be a single color which is any of the 140
@ -931,11 +936,11 @@ of the specified bond types.
The *bdiam* keyword can be used with the dump image command, with its
*bond* keyword, when its *diam* setting is *type*, to set the diameter
that bonds of each type will be drawn in the image. The specified
*type* should be an integer from 1 to Nbondtypes. As with the
*bcolor* keyword, a wildcard asterisk can be used as part of the
*type* argument to specify a range of bond types. The specified
*diam* is the size in whatever distance :doc:`units <units>` you are
using (e.g., Angstroms).
*type* should be a type label or integer from 1 to Nbondtypes. As with
the *bcolor* keyword, a wildcard asterisk can be used as part of the
*type* argument to specify a range of numeric bond types. The
specified *diam* is the size in whatever distance :doc:`units <units>`
you are using (e.g., Angstroms).
----------

View File

@ -107,6 +107,13 @@ Syntax
*checksum* args = *yes* or *no* (add checksum at end of zst file)
* these keywords apply only to the vtk* dump style
* keyword = *binary*
.. parsed-literal::
*binary* args = *yes* or *no* (select between binary and text mode VTK files)
Examples
""""""""
@ -907,11 +914,11 @@ box size stored with the snapshot.
----------
The COMPRESS package offers both GZ and Zstd compression variants of
styles atom, custom, local, cfg, and xyz. When using these styles the
compression level can be controlled by the :code:`compression_level`
keyword. File names with these styles have to end in either
:code:`.gz` or :code:`.zst`.
The :ref:`COMPRESS package <PKG-COMPRESS>` offers both GZ and Zstd
compression variants of styles atom, custom, local, cfg, and xyz. When
using these styles the compression level can be controlled by the
:code:`compression_level` keyword. File names with these styles have to
end in either :code:`.gz` or :code:`.zst`.
GZ supports compression levels from :math:`-1` (default), 0 (no compression),
and 1 to 9, 9 being the best compression. The COMPRESS :code:`/gz` styles use 9
@ -930,6 +937,17 @@ default and it can be disabled with the :code:`checksum` keyword.
----------
The :ref:`VTK package <PKG-VTK>` offers writing dump files in `VTK file
formats <https://www.vtk.org/>`_ that can be read by a variety of
visualization tools based on the VTK library. These VTK files follow
naming conventions that collide with the LAMMPS convention to append
".bin" to a file name in order to switch to a binary output. Thus for
:doc:`vtk style dumps <dump_vtk>` the dump_modify command supports the
keyword *binary* which selects between generating text mode and binary
style VTK files.
----------
Restrictions
""""""""""""

View File

@ -8,151 +8,228 @@ Syntax
.. code-block:: LAMMPS
fix ID group-ID colvars configfile keyword values ...
fix ID group-ID colvars *configfile* keyword value ...
* ID, group-ID are documented in :doc:`fix <fix>` command
* colvars = style name of this fix command
* configfile = the configuration file for the colvars module
* keyword = *input* or *output* or *seed* or *unwrap* or *tstat*
* *ID*, *group-ID* are documented in :doc:`fix <fix>` command
* "colvars" = style name of this fix command
* *configfile* = configuration file for Colvars (use "*none*" to provide it inline)
* keyword = *output* or *input* or *unwrap* or *tstat* or *seed*
.. parsed-literal::
*input* arg = colvars.state file name or prefix or NULL (default: NULL)
*output* arg = output filename prefix (default: out)
*seed* arg = seed for random number generator (default: 1966)
*unwrap* arg = *yes* or *no*
use unwrapped coordinates in collective variables (default: yes)
*tstat* arg = fix id of a thermostat or NULL (default: NULL)
*output* value = state filename/prefix for Colvars (default: "out")
*input* value = input state filename/prefix for Colvars (optional, default: "NULL")
*unwrap* value = "yes" or "no" (default: "yes")
*tstat* value = fix ID of thermostat applied to relevant atoms (default: "NULL")
*seed* value = seed for random number generator (default: 1966)
Examples
""""""""
.. code-block:: LAMMPS
fix mtd all colvars peptide.colvars.inp seed 2122 input peptide.colvars.state output peptide
fix abf all colvars colvars.inp tstat 1
# Create the fix using a config file, set prefix for its output files
fix Colvars all colvars colvars.inp output ${JOB}
# Communicate the LAMMPS target temperature to the Colvars module
fix_modify Colvars tstat NPT
# Add a new restraint specific to this LAMMPS run
fix_modify Colvars config """
harmonic {
name restraint
colvars distance1 distance2
centers ${ref1} ${ref2}
forceConstant ${kappa}
}"""
Description
"""""""""""
This fix interfaces LAMMPS to the collective variables (Colvars)
library, which allows to calculate potentials of mean force (PMFs) for
any set of colvars, using sampling methods, including but not limited to
Adaptive Biasing Force (ABF), metadynamics (MtD), Steered Molecular
Dynamics (SMD) and Umbrella Sampling (US) via a flexible harmonic
restraint bias.
This fix interfaces LAMMPS to the collective variables `Colvars
<https://colvars.github.io>`_ library, which allows to accelerate sampling of
rare events and the computation of free energy surfaces and potentials of
mean force (PMFs) for any set of collective variables using a variety of
sampling methods (e.g. umbrella-sampling, metadynamics, ABF...).
This documentation describes only the ``fix colvars`` command itself in
a LAMMPS script. The Colvars library is documented via the included
`PDF manual <PDF/colvars-refman-lammps.pdf>`_ or at the webpage
This documentation describes only the "fix colvars" command itself in
a LAMMPS script. The Colvars library is fully documented in the included
`PDF manual <PDF/colvars-refman-lammps.pdf>`_ or in the webpage
`https://colvars.github.io/colvars-refman-lammps/colvars-refman-lammps.html
<https://colvars.github.io/colvars-refman-lammps/colvars-refman-lammps.html>`_.
The Colvars library is developed at `https://github.com/Colvars/colvars
<https://github.com/Colvars/colvars>`_ A detailed discussion of its
implementation is in :ref:`(Fiorin) <Fiorin>`; additional references are
printed at runtime based on specific features being used.
<https://github.com/colvars/colvars>`_ A detailed discussion of its
implementation is in :ref:`(Fiorin) <Fiorin>`; additional citations for
specific features are printed at runtime if these features are used.
There are some example scripts for using this package with LAMMPS in the
``examples/PACKAGES/colvars`` directory.
There are example scripts on the `Colvars website <https://colvars.github.io>`_
as well as in the ``examples/PACKAGES/colvars`` directory in the LAMMPS
source tree.
----------
The only required argument to ``fix colvars`` is the filename to the
Colvars configuration file that contains the definition of the variables
and any biasing methods applied to them. from the MD program in which
the colvars library has been integrated.
The only required argument to the fix is the name of the Colvars
configuration file. The contents of this file are independent from the MD
engine in which the Colvars library has been integrated, save for the units
that are specific to each engine. In LAMMPS, the units used by Colvars are
consistent with those specificed by the :doc:`units <units>` command.
The *group-ID* entry is ignored. ``fix colvars`` will always apply to
.. versionadded:: Colvars_2023-06-04 The special value "*none*"
(lowercase) initializes an empty Colvars module, which
allows loading configuration dynamically using
:doc:`fix_modify <fix_modify>` (see below).
The *group-ID* entry is ignored. "fix colvars" will always apply to
the entire system, but specific atoms will be selected based on
selection keywords in the Colvars configuration file or files. There is
no need to define multiple ``fix colvars`` instances and it is not
no need to define multiple "fix colvars" instances and it is not
allowed.
The *output* keyword allows to specify the prefix of output files
generated by Colvars, for example ``output.colvars.traj`` or
``output.pmf``.
The "output" keyword allows to specify the prefix of output files generated
by Colvars, for example "*output*.colvars.traj" or "output.pmf". Supplying
an empty string suppresses any file output from Colvars to file, except for
data saved into the LAMMPS :doc:`binary restart <restart>` files.
The *input* keyword allows to specify an optional state file that
contains the restart information needed to continue a previous
simulation state. Note, however, that ``fix colvars`` records its state
in :doc:`binary restart <restart>` files, so when using the
:doc:`read_restart <read_restart>` command, this is usually not needed.
The "input" keyword allows to specify an optional state file that contains
the restart information needed to continue a previous simulation state.
However, because "fix colvars" records its state in LAMMPS :doc:`binary
restart <restart>` files, this is usually not needed when using the
:doc:`read_restart <read_restart>` command.
The *seed* keyword contains the seed for the random number generator
used by Colvars.
The *unwrap* keyword controls whether wrapped or unwrapped coordinates
are passed to the Colvars library for calculation of the collective
variables and the resulting forces. The default is *yes*, i.e. to use
the image flags to reconstruct the absolute atom positions. Setting
this to *no* will use the current local coordinates that are wrapped
back into the simulation cell at each re-neighboring instead. For
information about when and how this affects results, please see
The *unwrap* keyword controls whether wrapped or unwrapped coordinates are
passed to the Colvars library for calculation of the collective variables and
the resulting forces. The default is *yes*, i.e. the image flags are used to
reconstruct the absolute atom positions. Setting this to *no* will use the
current local coordinates that are wrapped back into the simulation cell at
each re-neighboring step instead. For information about when and how this
affects results, please see
`https://colvars.github.io/colvars-refman-lammps/colvars-refman-lammps.html#sec:colvar_atom_groups_wrapping
<https://colvars.github.io/colvars-refman-lammps/colvars-refman-lammps.html#sec:colvar_atom_groups_wrapping>`_.
The *tstat* keyword can be either NULL or the label of a thermostatting
fix that thermostats all atoms in the fix colvars group. This will be
used to let Colvars know what is the current thermostat target
The *tstat* keyword can be either "NULL" or the label of a thermostatting
fix that thermostats all atoms in the fix colvars group. This will be
used to provide the colvars module with the current thermostat target
temperature.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
The *seed* keyword contains the seed for the random number generator
that will be used in the colvars module.
This fix writes the current status of the colvars module into
:doc:`binary restart files <restart>`. This is in addition to the text
mode ``.colvars.state`` written by Colvars itself and the information in
both files is identical.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change from the biasing force added by Colvars to
the global potential energy of the system as part of :doc:`thermodynamic
output <thermo_style>`. The default setting for this fix is
:doc:`fix_modify energy no <fix_modify>`.
Restarting
""""""""""
The *fix_modify configfile <config file>* option loads Colvars
configuration from an additional file. This option can only be used,
after the system has been initialized with a :doc:`run <run>` command.
This fix writes the current state of the Colvars module into :doc:`binary
restart files <restart>`. This is in addition to the text-mode
".colvars.state" state file that is written by the Colvars module itself.
The information contained in both files is identical, and the binary LAMMPS
restart file is also used by fix colvars when :doc:`read_restart
<read_restart>` is called in a LAMMPS script. In that case, there is
typically no need to specify the *input* keyword.
The *fix_modify config <quoted string>* option allows to add settings
from inline strings. Those have to fit on a single line when enclosed in
a pair of double quotes ("), or can span multiple lines when bracketed
by a pair of triple double quotes (""", like Python embedded
documentation).
As long as LAMMPS binary restarts will be used to continue a simulation, it
is safe to delete the ".colvars.state" files to save space. However, when a
LAMMPS simulation is restarted using :doc:`read_data <read_data>`, the
Colvars state file must be available and loaded via the "input" keyword or
via a "fix_modify Colvars load" command (see below).
When restarting, the fix and the Colvars module should be created and
configured using either the original configuration file(s).
Output
""""""
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the Colvars energy
mentioned above. The scalar value calculated by this fix is
"extensive".
:doc:`output commands <Howto_output>`. The scalar is the energy due to all
external potentials defined in the Colvars configuration. The scalar value
calculated by this fix is "extensive".
Aside from the state information in a ".colvars.state" file, other
`output files <https://colvars.github.io/colvars-refman-lammps/colvars-refman-lammps.html#sec:colvars_output>`_
are produced by Colvars depending on the type of simulation.
For this reason, the "output" keyword is required for fix colvars.
Controlling Colvars via `fix_modify`
""""""""""""""""""""""""""""""""""""
The :doc:`fix_modify <fix_modify>` command may be used on "fix colvars" in
either one of two ways:
(1) Provide updated values for the fix parameters, such as *output*, *input*,
*unwrap*, *tstat* and *seed*. Additionally, the :doc:`fix_modify
<fix_modify>` *energy* keyword is supported by this fix to add the energy
change from the biasing force added by Colvars to the global potential
energy of the system as part of :doc:`thermodynamic output <thermo_style>`
(the default is :doc:`fix_modify energy no <fix_modify>`).
For example, in a multi-step LAMMPS script involving multiple thermostats
(e.g. fix nvt followed by fix npt), Colvars can read a new thermostat's
target temperature like this:
.. code-block:: LAMMPS
fix NVT all nvt ...
fix Colvars all colvars <configfile> output equil1 tstat NVT
run <NUMSTEPS>
unfix nvt
fix NPT all n ...
fix_modify Colvars tstat NPT
fix_modify Colvars output equil2
(2) .. versionadded:: Colvars_2023-06-04 Call one of the scripting
functions provided by the Colvars module itself (a full list is available
in the Colvars doc). The arguments to these functions are provided as
strings and passed to Colvars.
LAMMPS variables referenced by their string representation
"${variable}" will be expanded immediately. Note also that this
variable expansion *will also happen within quotes*, similar to what the
:doc:`mdi <mdi>` command provides. This feature makes it possible to use
the values of certain LAMMPS variables in Colvars configuration strings.
For example, to synchronize the LAMMPS and Colvars dump frequencies:
.. code-block:: LAMMPS
variable freq index 10000
dump myDump all atom/zstd ${freq} dump.atom.zstd
fix_modify Colvars config "colvarsTrajFrequency ${freq}"
.. note::
Although it is possible to use :doc:`fix_modify <fix_modify>` at any time,
its results will only reflect the state of the Colvars module at the end
of the most recent "run" or "minimize" command. Any new configuration
added via "fix_modify Colvars configfile" or "fix_modify Colvars config"
will only be loaded when the simulation resumes. Configuration files or
strings will be parsed in the same sequence as they were provided in the
LAMMPS script.
Restrictions
""""""""""""
``fix colvars`` is provided by the COLVARS package and is only available
if LAMMPS was built with that package. Some of the features also
require code available from the LEPTON package. See the :doc:`Build
This fix is provided by the COLVARS package and is only available if LAMMPS
was built with that package (default in most builds). Some of the features
also require code available from the LEPTON package. See the :doc:`Build
package <Build_package>` page for more info.
There can only be one Colvars instance defined at a time. Since the
interface communicates only the minimum amount of information and the
Colvars module itself can handle an arbitrary number of collective
interface communicates only the minimum required amount of information, and
the Colvars module itself can handle an arbitrary number of collective
variables, this is not a limitation of functionality.
Related commands
""""""""""""""""
:doc:`fix smd <fix_smd>`, :doc:`fix spring <fix_spring>`,
:doc:`fix plumed <fix_plumed>`
Default
"""""""
The default options are input = NULL, output = out, seed = 1966, unwrap yes,
and tstat = NULL.
----------
.. _Fiorin:
**(Fiorin)** Fiorin, Klein, Henin, Mol. Phys. 111, 3345 (2013) https://doi.org/10.1080/00268976.2013.813594
**(Fiorin)** Fiorin, Klein, Henin, Mol. Phys., DOI:10.1080/00268976.2013.813594
.. _Colvars_LAMMPS_doc:
https://colvars.github.io/colvars-refman-lammps/colvars-refman-lammps.html

View File

@ -247,6 +247,11 @@ defined by the :doc:`atom_style sph <atom_style>` command.
All particles in the group must be mesoscopic SPH/SDPD particles.
.. versionchanged:: TBD
This fix is incompatible with deformation controls that remap velocity,
for instance the *remap v* option of :doc:`fix deform <fix_deform>`.
Related commands
""""""""""""""""

View File

@ -97,6 +97,11 @@ These fixes are part of the DPD-MESO package. They are only enabled if
LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` page for more info.
.. versionchanged:: TBD
This fix is incompatible with deformation controls that remap velocity,
for instance the *remap v* option of :doc:`fix deform <fix_deform>`.
Related commands
""""""""""""""""

View File

@ -236,7 +236,7 @@ The keyword *fixcom* specifies whether the center-of-mass of the extended ring-p
Once *fixcom* is set to be *yes*, the center-of-mass velocity will be distracted from the centroid-mode velocities in each step.
The keyword *lj* should be used if :doc:`lj units <units>` is used for *fix pimd/langevin*. Typically one may want to use
reduced units to run the simulation, and then convert the results into some physical units (for example, :doc:`metal units <units>`). In this case, the 5 quantities in the physical mass units are needed: epsilon (energy scale), sigma (length scale), mass, Planck's constant, mvv2e (mass * velocity^2 to energy conversion factor). Planck's constant and mvv2e can be found in src/update.cpp. If there is no need to convert reduced units to physical units, set all these five value to 1.
reduced units to run the simulation, and then convert the results into some physical units (for example, :doc:`metal units <units>`). In this case, the 5 quantities in the physical mass units are needed: epsilon (energy scale), sigma (length scale), mass, Planck's constant, mvv2e (mass * velocity^2 to energy conversion factor). Planck's constant and mvv2e can be found in src/update.cpp. If there is no need to convert reduced units to physical units, you can omit the keyword *lj* and these five values will be set to 1.
The PIMD algorithm in LAMMPS is implemented as a hyper-parallel scheme
as described in :ref:`Calhoun <Calhoun>`. In LAMMPS this is done by using

View File

@ -353,6 +353,11 @@ defined by the :doc:`atom_style sph <atom_style>` command.
All particles in the group must be mesoscopic SPH/SDPD particles.
.. versionchanged:: TBD
This fix is incompatible with deformation controls that remap velocity,
for instance the *remap v* option of :doc:`fix deform <fix_deform>`.
Related commands
""""""""""""""""

View File

@ -27,9 +27,9 @@ Syntax
.. parsed-literal::
*b* values = one or more bond types
*a* values = one or more angle types
*t* values = one or more atom types
*b* values = one or more bond types (may use type labels)
*a* values = one or more angle types (may use type labels)
*t* values = one or more atom types (may use type labels)
*m* value = one or more mass values
* zero or more keyword/value pairs may be appended
@ -137,7 +137,17 @@ constrained (within a fudge factor of MASSDELTA specified in
both bonds in the angle are constrained then the angle will also be
constrained if its type is in the list.
For all constraints, a particular bond is only constrained if both
.. versionchanged:: TBD
The types may be given as type labels *only* if there is no atom, bond,
or angle type label named *b*, *a*, *t*, or *m* defined in the
simulation. If that is the case, type labels cannot be used as
constraint type index with these two fixes, because the type labels
would be incorrectly treated as a new type of constraint instead.
Thus, LAMMPS will print a warning and type label handling is disabled
and numeric types must be used.
For all constraints, a particular bond is only constrained if *both*
atoms in the bond are in the group specified with the SHAKE fix.
The degrees-of-freedom removed by SHAKE bonds and angles are accounted

View File

@ -53,6 +53,11 @@ Restrictions
This fix is part of the MACHDYN package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
.. versionchanged:: TBD
This fix is incompatible with deformation controls that remap velocity,
for instance the *remap v* option of :doc:`fix deform <fix_deform>`.
Related commands
""""""""""""""""

View File

@ -61,6 +61,11 @@ Restrictions
This fix is part of the MACHDYN package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
.. versionchanged:: TBD
This fix is incompatible with deformation controls that remap velocity,
for instance the *remap v* option of :doc:`fix deform <fix_deform>`.
Related commands
""""""""""""""""

82
doc/src/geturl.rst Normal file
View File

@ -0,0 +1,82 @@
.. index:: geturl
geturl command
==============
Syntax
""""""
.. code-block:: LAMMPS
geturl url keyword args ...
* url = URL of the file to download
* zero or more keyword argument pairs may be provided
* keyword = *output* or *verify* or *overwrite* or *verbose*
.. parsed-literal::
*output* filename = write to *filename* instead of inferring the name from the URL
*verify* yes/no = verify SSL certificate and hostname if *yes*, do not if *no*
*overwrite* yes/no = if *yes* overwrite the output file in case it exists, do not if *no*
*verbose* yes/no = if *yes* write verbose debug output from libcurl to screen, do not if *no*
Examples
""""""""
.. code-block:: LAMMPS
geturl https://www.ctcms.nist.gov/potentials/Download/1990--Ackland-G-J-Vitek-V--Cu/2/Cu2.eam.fs
geturl https://github.com/lammps/lammps/blob/develop/bench/in.lj output in.bench-lj
Description
"""""""""""
.. versionadded:: TBD
Download a file from an URL to the local disk. This is implemented with
the `libcurl library <https:://curl.se/libcurl/>`_ which supports a
large variety of protocols including "http", "https", "ftp", "scp",
"sftp", "file". The transfer will only be performed on MPI rank 0.
The *output* keyword can be used to set the filename. By default, the last part
of the URL is used.
The *verify* keyword determines whether ``libcurl`` will validate the
SSL certificate and hostname for encrypted connections. Turning this
off may be required when using a proxy or connecting to a server with a
self-signed SSL certificate.
The *overwrite* keyword determines whether a file should be overwritten if it
already exists. If the argument is *no*, then the download will be skipped
if the file exists.
The *verbose* keyword determines whether a detailed protocol of the steps
performed by libcurl is written to the screen. Using the argument *yes*
can be used to debug connection issues when the *geturl* command does not
behave as expected. If the argument is *no*, geturl will operate silently
and only report the error status number provided by libcurl, in case of a
failure.
----------
Restrictions
""""""""""""
This command is part of the EXTRA-COMMAND package. It is only enabled
if LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` page for more info. It also requires that LAMMPS was
built with support for `the libcurl library
<https://curl.se/libcurl/>`_. See the page about :ref:`Compiling LAMMPS
with libcurl support <libcurl>` for further info. If support for
libcurl is not included, using *geturl* will trigger an error.
Related commands
""""""""""""""""
:doc:`shell <shell>`
Default
"""""""
*verify* = yes, *overwrite* = yes

View File

@ -1,8 +1,11 @@
.. index:: improper_style hybrid
.. index:: improper_style hybrid/kk
improper_style hybrid command
=============================
Accelerator Variants: *hybrid/kk*
Syntax
""""""
@ -79,6 +82,10 @@ types.
----------
.. include:: accel_styles.rst
----------
Restrictions
""""""""""""
@ -87,9 +94,10 @@ MOLECULE package. See the :doc:`Build package <Build_package>` doc page
for more info.
Unlike other improper styles, the hybrid improper style does not store
improper coefficient info for individual sub-styles in a :doc:`binary restart files <restart>`.
Thus when restarting a simulation from a
restart file, you need to re-specify improper_coeff commands.
improper coefficient info for individual sub-styles in :doc:`binary
restart files <restart>` or :doc:`data files <write_data>`. Thus when
restarting a simulation, you need to re-specify the improper_coeff
commands.
Related commands
""""""""""""""""

View File

@ -32,7 +32,7 @@ Syntax
group-ID = only build pair neighbor lists for atoms in this group
*exclude* values:
*type* M N
M,N = exclude if one atom in pair is type M, other is type N
M,N = exclude if one atom in pair is type M, other is type N (M and N may be type labels)
*group* group1-ID group2-ID
group1-ID,group2-ID = exclude if one atom is in 1st group, other in 2nd
*molecule/intra* group-ID
@ -159,15 +159,19 @@ sample scenarios where this is useful:
* When one or more rigid bodies are specified, interactions within each
body can be turned off to save needless computation. See the :doc:`fix rigid <fix_rigid>` command for more details.
The *exclude type* option turns off the pairwise interaction if one
atom is of type M and the other of type N. M can equal N. The
*exclude group* option turns off the interaction if one atom is in the
first group and the other is the second. Group1-ID can equal
group2-ID. The *exclude molecule/intra* option turns off the
interaction if both atoms are in the specified group and in the same
molecule, as determined by their molecule ID. The *exclude
molecule/inter* turns off the interaction between pairs of atoms that
have different molecule IDs and are both in the specified group.
.. versionchanged:: TBD
Support for type labels was added.
The *exclude type* option turns off the pairwise interaction if one atom
is of type M and the other of type N. M can equal N. The *exclude
group* option turns off the interaction if one atom is in the first
group and the other is the second. Group1-ID can equal group2-ID. The
*exclude molecule/intra* option turns off the interaction if both atoms
are in the specified group and in the same molecule, as determined by
their molecule ID. The *exclude molecule/inter* turns off the
interaction between pairs of atoms that have different molecule IDs and
are both in the specified group.
Each of the exclude options can be specified multiple times. The
*exclude type* option is the most efficient option to use; it requires
@ -219,34 +223,34 @@ atom can have.
The *binsize* option allows you to specify what size of bins will be
used in neighbor list construction to sort and find neighboring atoms.
By default, for :doc:`neighbor style bin <neighbor>`, LAMMPS uses bins
that are 1/2 the size of the maximum pair cutoff. For :doc:`neighbor style multi <neighbor>`,
the bins are 1/2 the size of the collection interaction cutoff.
Typically these are good values for minimizing the time for
neighbor list construction. This setting overrides the default.
If you make it too big, there is little overhead due to
that are 1/2 the size of the maximum pair cutoff. For :doc:`neighbor
style multi <neighbor>`, the bins are 1/2 the size of the collection
interaction cutoff. Typically these are good values for minimizing the
time for neighbor list construction. This setting overrides the
default. If you make it too big, there is little overhead due to
looping over bins, but more atoms are checked. If you make it too
small, the optimal number of atoms is checked, but bin overhead goes
up. If you set the binsize to 0.0, LAMMPS will use the default
binsize of 1/2 the cutoff.
small, the optimal number of atoms is checked, but bin overhead goes up.
If you set the binsize to 0.0, LAMMPS will use the default binsize of
1/2 the cutoff.
The *collection/type* option allows you to define collections of atom
types, used by the *multi* neighbor mode. By grouping atom types with
similar physical size or interaction cutoff lengths, one may be able
to improve performance by reducing
overhead. You must first specify the number of collections N to be
defined followed by N lists of types. Each list consists of a series of type
ranges separated by commas. The range can be specified as a
single numeric value, or a wildcard asterisk can be used to specify a range
of values. This takes the form "\*" or "\*n" or "n\*" or "m\*n". For
example, if M = the number of atom types, then an asterisk with no numeric
values means all types from 1 to M. A leading asterisk means all types
from 1 to n (inclusive). A trailing asterisk means all types from n to M
(inclusive). A middle asterisk means all types from m to n (inclusive).
Note that all atom types must be included in exactly one of the N collections.
types, used by the *multi* neighbor mode. By grouping atom types with
similar physical size or interaction cutoff lengths, one may be able to
improve performance by reducing overhead. You must first specify the
number of collections N to be defined followed by N lists of types.
Each list consists of a series of type ranges separated by commas. The
range can be specified as a single numeric value, or a wildcard asterisk
can be used to specify a range of values. This takes the form "\*" or
"\*n" or "n\*" or "m\*n". For example, if M = the number of atom types,
then an asterisk with no numeric values means all types from 1 to M. A
leading asterisk means all types from 1 to n (inclusive). A trailing
asterisk means all types from n to M (inclusive). A middle asterisk
means all types from m to n (inclusive). Note that all atom types must
be included in exactly one of the N collections.
The *collection/interval* option provides a similar capability. This
command allows a user to define collections by specifying a series of
cutoff intervals. LAMMPS will automatically sort atoms into these
cutoff intervals. LAMMPS will automatically sort atoms into these
intervals based on their type-dependent cutoffs or their finite size.
You must first specify the number of collections N to be defined
followed by N values representing the upper cutoff of each interval.

View File

@ -19,7 +19,7 @@ Examples
.. code-block:: LAMMPS
pair_style born/gauss 10.0
pair_coeff 1 1 1 1 8.2464e13 12.48 0.042644277 0.44 3.56
pair_coeff 1 1 8.2464e13 12.48 0.042644277 0.44 3.56
Description
"""""""""""

View File

@ -479,11 +479,12 @@ For the hybrid pair styles, the list of sub-styles and their respective
settings are written to :doc:`binary restart files <restart>`, so a
:doc:`pair_style <pair_style>` command does not need to specified in an
input script that reads a restart file. However, the coefficient
information is not stored in the restart file. Thus, pair_coeff
commands need to be re-specified in the restart input script. For pair
style *hybrid/scaled* also the names of any variables used as scale
factors are restored, but not the variables themselves, so those may
need to be redefined when continuing from a restart.
information is not stored in the restart file. The same is true for
:doc:`data files <write_data>`. Thus, pair_coeff commands need to be
re-specified in the restart input script. For pair style
*hybrid/scaled* also the names of any variables used as scale factors
are restored, but not the variables themselves, so those may need to be
redefined when continuing from a restart.
These pair styles support the use of the *inner*, *middle*, and
*outer* keywords of the :doc:`run_style respa <run_style>` command, if

View File

@ -5,6 +5,7 @@
.. index:: pair_style lj/spica/coul/long
.. index:: pair_style lj/spica/coul/long/gpu
.. index:: pair_style lj/spica/coul/long/omp
.. index:: pair_style lj/spica/coul/long/kk
.. index:: pair_style lj/spica/coul/msm
.. index:: pair_style lj/spica/coul/msm/omp
@ -16,7 +17,7 @@ Accelerator Variants: *lj/spica/gpu*, *lj/spica/kk*, *lj/spica/omp*
pair_style lj/spica/coul/long command
=====================================
Accelerator Variants: *lj/spica/coul/long/gpu*, *lj/spica/coul/long/omp*
Accelerator Variants: *lj/spica/coul/long/gpu*, *lj/spica/coul/long/omp*, *lj/spica/coul/long/kk*
pair_style lj/spica/coul/msm command
====================================

View File

@ -292,6 +292,7 @@ accelerated styles exist.
* :doc:`mesocnt/viscous <pair_mesocnt>` - Mesoscopic vdW potential for (carbon) nanotubes with friction
* :doc:`mgpt <pair_mgpt>` - Simplified model generalized pseudopotential theory (MGPT) potential
* :doc:`mie/cut <pair_mie>` - Mie potential
* :doc:`mliap <pair_mliap>` - Multiple styles of machine-learning potential
* :doc:`mm3/switch3/coulgauss/long <pair_lj_switch3_coulgauss_long>` - Smoothed MM3 vdW potential with Gaussian electrostatics
* :doc:`momb <pair_momb>` - Many-Body Metal-Organic (MOMB) force field
* :doc:`morse <pair_morse>` - Morse potential
@ -349,7 +350,6 @@ accelerated styles exist.
* :doc:`smd/tri_surface <pair_smd_triangulated_surface>` -
* :doc:`smd/ulsph <pair_smd_ulsph>` -
* :doc:`smtbq <pair_smtbq>` -
* :doc:`mliap <pair_mliap>` - Multiple styles of machine-learning potential
* :doc:`snap <pair_snap>` - SNAP machine-learning potential
* :doc:`soft <pair_soft>` - Soft (cosine) potential
* :doc:`sph/heatconduction <pair_sph_heatconduction>` -

View File

@ -51,10 +51,12 @@ value.
The write_data command may not always write all coefficient settings
to the corresponding Coeff sections of the data file. This can have
one of multiple reasons. 1) A few styles may be missing the code that
would write those sections (if you come across one, please notify
the LAMMPS developers). 2) Some pair styles require a single pair_coeff
statement and those are not compatible with data files. 3) The
one of multiple reasons. 1) The style may be a hybrid style. In that
case *no* coeff information is written. 2) A few styles may be
missing the code that would write those sections (This is rare these
days, but if you come across one, please notify the LAMMPS
developers). 3) Some pair styles require a single pair_coeff
statement and those are not compatible with data files. 4) The
default for write_data is to write a PairCoeff section, which has
only entries for atom types i == j. The remaining coefficients would
be inferred through the currently selected mixing rule. If there has

View File

@ -1,4 +1,4 @@
Sphinx >= 5.3.0, <8.0
Sphinx >= 5.3.0, <7.5
sphinxcontrib-spelling
sphinxcontrib-jquery
sphinx-design

View File

@ -1101,6 +1101,7 @@ excv
exe
executables
extep
extractable
extrema
extxyz
exy
@ -1185,6 +1186,7 @@ flaglog
flagN
flagVF
flang
flatpak
fld
floralwhite
Florez
@ -1296,6 +1298,7 @@ Gershgorin
getrusage
getter
gettimeofday
geturl
gewald
Gezelter
Gflop
@ -1354,6 +1357,7 @@ Grama
grana
granregion
graphene
Gravelle
Greathouse
greenyellow
Greffet
@ -1489,6 +1493,8 @@ hplanck
Hs
hstyle
html
http
https
hTST
https
hu
@ -3079,6 +3085,7 @@ qx
qy
qz
Rackers
Radeon
radi
radialscreened
radialscreenedspin
@ -3345,6 +3352,7 @@ Schunk
Schuring
Schwen
Sci
scp
screenshot
screenshots
Scripps
@ -3385,6 +3393,7 @@ setvel
sevenbody
sfftw
sfree
sftp
Sg
sgcmc
Shan
@ -3899,6 +3908,7 @@ upenn
upto
Urbakh
Urbana
url
UreyBradley
Usabiaga
usec

View File

@ -101,6 +101,8 @@ liblammpsplugin_t *liblammpsplugin_load(const char *lib)
ADDSYM(extract_setting);
ADDSYM(extract_global_datatype);
ADDSYM(extract_global);
ADDSYM(extract_pair_dimension);
ADDSYM(extract_pair);
ADDSYM(map_atom);
ADDSYM(extract_atom_datatype);
@ -148,6 +150,7 @@ liblammpsplugin_t *liblammpsplugin_load(const char *lib)
ADDSYM(config_has_png_support);
ADDSYM(config_has_jpeg_support);
ADDSYM(config_has_ffmpeg_support);
ADDSYM(config_has_curl_support);
ADDSYM(config_has_exceptions);
ADDSYM(config_has_package);

View File

@ -144,11 +144,13 @@ struct _liblammpsplugin {
int (*get_mpi_comm)(void *);
int (*extract_setting)(void *, const char *);
int *(*extract_global_datatype)(void *, const char *);
int (*extract_global_datatype)(void *, const char *);
void *(*extract_global)(void *, const char *);
void *(*map_atom)(void *, const void *);
int (*extract_pair_dimension)(void *, const char *);
void *(*extract_pair)(void *, const char *);
int (*map_atom)(void *, const void *);
int *(*extract_atom_datatype)(void *, const char *);
int (*extract_atom_datatype)(void *, const char *);
void *(*extract_atom)(void *, const char *);
void *(*extract_compute)(void *, const char *, int, int);
@ -201,6 +203,7 @@ struct _liblammpsplugin {
int (*config_has_png_support)();
int (*config_has_jpeg_support)();
int (*config_has_ffmpeg_support)();
int (*config_has_curl_support)();
int (*config_has_exceptions)();
int (*config_has_package)(const char *);

View File

@ -5,9 +5,9 @@ dimension 3
atom_style full
processors * * 1
pair_style lj/sdk/coul/long 15.0 # compatible with "lj/spica/coul/long"
pair_style lj/spica/coul/long 15.0
bond_style harmonic
angle_style sdk # compatible with "spica"
angle_style spica
special_bonds lj/coul 0.0 0.0 1.0
read_data data.sds.gz

View File

@ -1,629 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
orthogonal box = (36.8402 41.0137 29.7681) to (64.2116 68.3851 57.1395)
1 by 1 by 1 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
shell "rm -f out*.colvars.*"
fix 2 all colvars peptide.colvars
fix 2a ref setforce 0.0 0.0 0.0
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
#dump 1 colvar custom 1 dump.colvar.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
thermo_style custom step temp etotal pe ke epair ebond f_2
thermo 10
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:321)
G vector (1/distance) = 0.268725
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.0228209
estimated relative force accuracy = 6.87243e-05
using double precision FFTs
3d grid and FFT values/proc = 10648 3375
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d/newton
bin: standard
colvars: Creating proxy instance
colvars: ----------------------------------------------------------------------
colvars: Initializing the collective variables module, version 2018-11-16.
colvars: Please cite Fiorin et al, Mol Phys 2013:
colvars: https://doi.org/10.1080/00268976.2013.813594
colvars: in any publication based on this calculation.
colvars: SMP parallelism is available.
colvars: Using LAMMPS interface, version 2018-08-29.
colvars: ----------------------------------------------------------------------
colvars: Reading new configuration from file "peptide.colvars":
colvars: # smp = on [default]
colvars: # colvarsTrajFrequency = 1
colvars: # colvarsRestartFrequency = 1000
colvars: # scriptedColvarForces = off [default]
colvars: # scriptingAfterBiases = off [default]
colvars: ----------------------------------------------------------------------
colvars: Initializing a new collective variable.
colvars: # name = "one"
colvars: Initializing a new "distance" component.
colvars: # name = "" [default]
colvars: # componentCoeff = 1 [default]
colvars: # componentExp = 1 [default]
colvars: # period = 0 [default]
colvars: # wrapAround = 0 [default]
colvars: # forceNoPBC = off [default]
colvars: # scalable = on [default]
colvars: Initializing atom group "group1".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group1" defined, 4 atoms initialized: total mass = 4, total charge = 0.
colvars: Initializing atom group "group2".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group2" defined, 1 atoms initialized: total mass = 1, total charge = 0.
colvars: # oneSiteSystemForce = off [default]
colvars: # oneSiteTotalForce = off [default]
colvars: All components initialized.
colvars: # timeStepFactor = 1 [default]
colvars: # width = 1 [default]
colvars: # lowerBoundary = 0 [default]
colvars: # upperBoundary = 0 [default]
colvars: # expandBoundaries = off [default]
colvars: # extendedLagrangian = off [default]
colvars: # outputValue = on [default]
colvars: # outputVelocity = off [default]
colvars: # outputTotalForce = off [default]
colvars: # outputAppliedForce = off [default]
colvars: # subtractAppliedForce = off [default]
colvars: # runAve = off [default]
colvars: # corrFunc = off [default]
colvars: ----------------------------------------------------------------------
colvars: Initializing a new collective variable.
colvars: # name = "two"
colvars: Initializing a new "distance" component.
colvars: # name = "" [default]
colvars: # componentCoeff = 1 [default]
colvars: # componentExp = 1 [default]
colvars: # period = 0 [default]
colvars: # wrapAround = 0 [default]
colvars: # forceNoPBC = off [default]
colvars: # scalable = on [default]
colvars: Initializing atom group "group1".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group1" defined, 4 atoms initialized: total mass = 4, total charge = 0.
colvars: Initializing atom group "group2".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group2" defined, 1 atoms initialized: total mass = 1, total charge = 0.
colvars: # oneSiteSystemForce = off [default]
colvars: # oneSiteTotalForce = off [default]
colvars: All components initialized.
colvars: # timeStepFactor = 1 [default]
colvars: # width = 1 [default]
colvars: # lowerBoundary = 0 [default]
colvars: # upperBoundary = 0 [default]
colvars: # expandBoundaries = off [default]
colvars: # extendedLagrangian = off [default]
colvars: # outputValue = on [default]
colvars: # outputVelocity = off [default]
colvars: # outputTotalForce = off [default]
colvars: # outputAppliedForce = off [default]
colvars: # subtractAppliedForce = off [default]
colvars: # runAve = off [default]
colvars: # corrFunc = off [default]
colvars: ----------------------------------------------------------------------
colvars: Collective variables initialized, 2 in total.
colvars: ----------------------------------------------------------------------
colvars: Initializing a new "harmonic" instance.
colvars: # name = "h_pot"
colvars: # colvars = { one, two }
colvars: # outputEnergy = off [default]
colvars: # timeStepFactor = 1 [default]
colvars: # writeTISamples = off [default]
colvars: # writeTIPMF = off [default]
colvars: # centers = { 10, 10 }
colvars: # targetCenters = { 10, 10 } [default]
colvars: # outputCenters = off [default]
colvars: # forceConstant = 100
colvars: # targetForceConstant = -1 [default]
colvars: ----------------------------------------------------------------------
colvars: Collective variables biases initialized, 1 in total.
colvars: ----------------------------------------------------------------------
colvars: Collective variables module (re)initialized.
colvars: ----------------------------------------------------------------------
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 4.
colvars: Re-initialized atom group one:0/1. 1 atoms: total mass = 1.
colvars: Re-initialized atom group two:0/0. 4 atoms: total mass = 4.
colvars: Re-initialized atom group two:0/1. 1 atoms: total mass = 1.
colvars: The restart output state file will be "rest.colvars.state".
colvars: The final output state file will be "out.colvars.state".
colvars: Writing to colvar trajectory file "out.colvars.traj".
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group one:0/1. 1 atoms: total mass = 12.011.
colvars: Re-initialized atom group two:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group two:0/1. 1 atoms: total mass = 12.011.
colvars: Performing analysis.
SHAKE stats (type/ave/delta) on step 0
4 1.111 1.44264e-05
6 0.996998 7.26967e-06
8 1.08 1.32536e-05
10 1.111 1.22749e-05
12 1.08 1.11767e-05
14 0.96 0
18 0.957206 4.37979e-05
31 104.519 0.00396029
Per MPI rank memory allocation (min/avg/max) = 18.7 | 18.7 | 18.7 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 292.14604
10 305.06149 -5058.8972 -6286.1901 1227.2929 -6413.1021 58.8499 103.38345
20 311.00516 -4999.0612 -6250.266 1251.2048 -6417.1021 47.695297 36.699695
30 314.22337 -4993.7012 -6257.8532 1264.152 -6421.9679 35.344144 10.563933
40 297.87491 -5020.8378 -6219.2184 1198.3805 -6389.8528 27.723133 3.8354517
50 304.02071 -5056.2576 -6279.3633 1223.1057 -6456.8214 55.459505 0.20678217
60 285.92576 -5104.0461 -6254.354 1150.3079 -6435.5814 32.767229 0.69352945
70 277.83519 -5163.9758 -6281.7345 1117.7587 -6447.7033 39.627168 11.433603
80 267.51495 -5206.4046 -6282.644 1076.2394 -6456.6369 31.611883 6.3554178
90 278.15579 -5245.3824 -6364.431 1119.0485 -6499.8063 28.849773 0.36941576
SHAKE stats (type/ave/delta) on step 100
4 1.11098 8.97155e-05
6 0.996996 1.00568e-05
8 1.08 6.02345e-06
10 1.111 1.84253e-05
12 1.08 7.2713e-06
14 0.959996 0
18 0.957198 3.36079e-05
31 104.52 0.0030599
100 260.10613 -5292.6885 -6339.1215 1046.433 -6471.6734 25.362042 0.21987323
colvars: Saving collective variables state to "out.colvars.state".
Loop time of 2.17304 on 1 procs for 100 steps with 2004 atoms
Performance: 7.952 ns/day, 3.018 hours/ns, 46.018 timesteps/s
98.9% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.5817 | 1.5817 | 1.5817 | 0.0 | 72.79
Bond | 0.0031469 | 0.0031469 | 0.0031469 | 0.0 | 0.14
Kspace | 0.17366 | 0.17366 | 0.17366 | 0.0 | 7.99
Neigh | 0.37354 | 0.37354 | 0.37354 | 0.0 | 17.19
Comm | 0.013652 | 0.013652 | 0.013652 | 0.0 | 0.63
Output | 0.00026059 | 0.00026059 | 0.00026059 | 0.0 | 0.01
Modify | 0.025484 | 0.025484 | 0.025484 | 0.0 | 1.17
Other | | 0.001615 | | | 0.07
Nlocal: 2004 ave 2004 max 2004 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 11124 ave 11124 max 11124 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 708237 ave 708237 max 708237 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 708237
Ave neighs/atom = 353.412
Ave special neighs/atom = 2.34032
Neighbor list builds = 12
Dangerous builds = 2
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:321)
G vector (1/distance) = 0.268725
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.0228209
estimated relative force accuracy = 6.87243e-05
using double precision FFTs
3d grid and FFT values/proc = 10648 3375
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group one:0/1. 1 atoms: total mass = 12.011.
colvars: Re-initialized atom group two:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group two:0/1. 1 atoms: total mass = 12.011.
SHAKE stats (type/ave/delta) on step 100
4 1.11098 8.97155e-05
6 0.996996 1.00568e-05
8 1.08 6.02345e-06
10 1.111 1.84253e-05
12 1.08 7.2713e-06
14 0.959996 0
18 0.957198 3.36079e-05
31 104.52 0.0030599
Per MPI rank memory allocation (min/avg/max) = 18.7 | 18.7 | 18.7 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
100 260.10613 -5292.6885 -6339.1215 1046.433 -6471.6734 25.362042 0.21987323
110 266.26438 -5341.1991 -6412.4073 1071.2082 -6552.7551 33.573173 1.9229657
120 262.66604 -5386.2387 -6442.9704 1056.7317 -6587.5483 29.859587 2.7124812
130 252.83379 -5422.5401 -6439.7157 1017.1756 -6580.4703 25.979343 1.2031592
140 253.85111 -5452.1838 -6473.4522 1021.2684 -6609.4826 26.071651 0.30585517
150 261.31816 -5490.4727 -6541.7817 1051.3091 -6646.6076 16.258823 6.9051008
160 255.7352 -5521.5941 -6550.4424 1028.8483 -6658.1373 19.717399 12.339679
170 253.42527 -5540.0942 -6559.6494 1019.5552 -6656.6678 23.293812 10.290217
180 248.51161 -5550.3253 -6550.1124 999.78705 -6661.4235 26.200127 3.4336038
190 250.80862 -5555.2554 -6564.2836 1009.0282 -6666.164 25.53634 3.3494288
SHAKE stats (type/ave/delta) on step 200
4 1.111 1.81266e-06
6 0.997 7.79424e-07
8 1.08 1.08903e-06
10 1.111 2.96503e-07
12 1.08 4.69038e-07
14 0.960001 0
18 0.957201 3.76471e-06
31 104.52 0.000411055
200 251.50475 -5557.4251 -6569.2538 1011.8287 -6674.0845 24.804906 7.1387574
colvars: Saving collective variables state to "out.colvars.state".
Loop time of 2.03298 on 1 procs for 100 steps with 2004 atoms
Performance: 8.500 ns/day, 2.824 hours/ns, 49.189 timesteps/s
98.9% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.5975 | 1.5975 | 1.5975 | 0.0 | 78.58
Bond | 0.0033164 | 0.0033164 | 0.0033164 | 0.0 | 0.16
Kspace | 0.17349 | 0.17349 | 0.17349 | 0.0 | 8.53
Neigh | 0.21971 | 0.21971 | 0.21971 | 0.0 | 10.81
Comm | 0.012045 | 0.012045 | 0.012045 | 0.0 | 0.59
Output | 0.00026226 | 0.00026226 | 0.00026226 | 0.0 | 0.01
Modify | 0.025034 | 0.025034 | 0.025034 | 0.0 | 1.23
Other | | 0.001596 | | | 0.08
Nlocal: 2004 ave 2004 max 2004 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 11159 ave 11159 max 11159 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 708083 ave 708083 max 708083 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 708083
Ave neighs/atom = 353.335
Ave special neighs/atom = 2.34032
Neighbor list builds = 7
Dangerous builds = 0
fix 2 all colvars peptide.colvars input out.colvars.state output out2
colvars: Resetting the Collective Variables module.
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:321)
G vector (1/distance) = 0.268725
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.0228209
estimated relative force accuracy = 6.87243e-05
using double precision FFTs
3d grid and FFT values/proc = 10648 3375
colvars: Creating proxy instance
colvars: ----------------------------------------------------------------------
colvars: Initializing the collective variables module, version 2018-11-16.
colvars: Please cite Fiorin et al, Mol Phys 2013:
colvars: https://doi.org/10.1080/00268976.2013.813594
colvars: in any publication based on this calculation.
colvars: SMP parallelism is available.
colvars: Using LAMMPS interface, version 2018-08-29.
colvars: ----------------------------------------------------------------------
colvars: Reading new configuration from file "peptide.colvars":
colvars: # smp = on [default]
colvars: # colvarsTrajFrequency = 1
colvars: # colvarsRestartFrequency = 1000
colvars: # scriptedColvarForces = off [default]
colvars: # scriptingAfterBiases = off [default]
colvars: ----------------------------------------------------------------------
colvars: Initializing a new collective variable.
colvars: # name = "one"
colvars: Initializing a new "distance" component.
colvars: # name = "" [default]
colvars: # componentCoeff = 1 [default]
colvars: # componentExp = 1 [default]
colvars: # period = 0 [default]
colvars: # wrapAround = 0 [default]
colvars: # forceNoPBC = off [default]
colvars: # scalable = on [default]
colvars: Initializing atom group "group1".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group1" defined, 4 atoms initialized: total mass = 4, total charge = 0.
colvars: Initializing atom group "group2".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group2" defined, 1 atoms initialized: total mass = 1, total charge = 0.
colvars: # oneSiteSystemForce = off [default]
colvars: # oneSiteTotalForce = off [default]
colvars: All components initialized.
colvars: # timeStepFactor = 1 [default]
colvars: # width = 1 [default]
colvars: # lowerBoundary = 0 [default]
colvars: # upperBoundary = 0 [default]
colvars: # expandBoundaries = off [default]
colvars: # extendedLagrangian = off [default]
colvars: # outputValue = on [default]
colvars: # outputVelocity = off [default]
colvars: # outputTotalForce = off [default]
colvars: # outputAppliedForce = off [default]
colvars: # subtractAppliedForce = off [default]
colvars: # runAve = off [default]
colvars: # corrFunc = off [default]
colvars: ----------------------------------------------------------------------
colvars: Initializing a new collective variable.
colvars: # name = "two"
colvars: Initializing a new "distance" component.
colvars: # name = "" [default]
colvars: # componentCoeff = 1 [default]
colvars: # componentExp = 1 [default]
colvars: # period = 0 [default]
colvars: # wrapAround = 0 [default]
colvars: # forceNoPBC = off [default]
colvars: # scalable = on [default]
colvars: Initializing atom group "group1".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group1" defined, 4 atoms initialized: total mass = 4, total charge = 0.
colvars: Initializing atom group "group2".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group2" defined, 1 atoms initialized: total mass = 1, total charge = 0.
colvars: # oneSiteSystemForce = off [default]
colvars: # oneSiteTotalForce = off [default]
colvars: All components initialized.
colvars: # timeStepFactor = 1 [default]
colvars: # width = 1 [default]
colvars: # lowerBoundary = 0 [default]
colvars: # upperBoundary = 0 [default]
colvars: # expandBoundaries = off [default]
colvars: # extendedLagrangian = off [default]
colvars: # outputValue = on [default]
colvars: # outputVelocity = off [default]
colvars: # outputTotalForce = off [default]
colvars: # outputAppliedForce = off [default]
colvars: # subtractAppliedForce = off [default]
colvars: # runAve = off [default]
colvars: # corrFunc = off [default]
colvars: ----------------------------------------------------------------------
colvars: Collective variables initialized, 2 in total.
colvars: ----------------------------------------------------------------------
colvars: Initializing a new "harmonic" instance.
colvars: # name = "h_pot"
colvars: # colvars = { one, two }
colvars: # outputEnergy = off [default]
colvars: # timeStepFactor = 1 [default]
colvars: # writeTISamples = off [default]
colvars: # writeTIPMF = off [default]
colvars: # centers = { 10, 10 }
colvars: # targetCenters = { 10, 10 } [default]
colvars: # outputCenters = off [default]
colvars: # forceConstant = 100
colvars: # targetForceConstant = -1 [default]
colvars: ----------------------------------------------------------------------
colvars: Collective variables biases initialized, 1 in total.
colvars: ----------------------------------------------------------------------
colvars: Collective variables module (re)initialized.
colvars: ----------------------------------------------------------------------
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 4.
colvars: Re-initialized atom group one:0/1. 1 atoms: total mass = 1.
colvars: Re-initialized atom group two:0/0. 4 atoms: total mass = 4.
colvars: Re-initialized atom group two:0/1. 1 atoms: total mass = 1.
colvars: ----------------------------------------------------------------------
colvars: Restarting from file "out.colvars.state".
colvars: Restarting collective variable "one" from value: 10.0128
colvars: Restarting collective variable "two" from value: 9.62236
colvars: ----------------------------------------------------------------------
colvars: The restart output state file will be "rest.colvars.state".
colvars: The final output state file will be "out2.colvars.state".
colvars: Writing to colvar trajectory file "out2.colvars.traj".
colvars: Setting initial step number from LAMMPS: 200
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group one:0/1. 1 atoms: total mass = 12.011.
colvars: Re-initialized atom group two:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group two:0/1. 1 atoms: total mass = 12.011.
colvars: Performing analysis.
SHAKE stats (type/ave/delta) on step 200
4 1.111 1.81266e-06
6 0.997 7.79424e-07
8 1.08 1.08903e-06
10 1.111 2.96503e-07
12 1.08 4.69038e-07
14 0.960001 0
18 0.957201 3.76471e-06
31 104.52 0.000411055
Per MPI rank memory allocation (min/avg/max) = 18.7 | 18.7 | 18.7 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
200 251.50475 -5557.4251 -6569.2538 1011.8287 -6674.0845 24.804906 7.1387574
210 253.15303 -5538.5615 -6557.0215 1018.46 -6672.0498 37.67662 0.61219496
220 245.19621 -5522.519 -6508.9679 986.44888 -6628.1899 36.657688 0.04864338
230 258.69884 -5495.7275 -6536.4988 1040.7713 -6658.2885 34.857911 0.22092547
240 260.79635 -5469.8678 -6519.0776 1049.2098 -6624.1801 31.576951 3.7574816
250 269.07527 -5438.3946 -6520.9114 1082.5167 -6616.4383 25.447674 8.6600014
260 266.01049 -5397.3485 -6467.5353 1070.1868 -6580.2897 26.871917 8.3323097
270 272.81313 -5350.882 -6448.4365 1097.5545 -6563.8231 23.114195 10.973131
280 279.42263 -5307.9798 -6432.125 1124.1452 -6557.3367 33.644027 8.5490492
290 286.85172 -5260.841 -6414.8741 1154.0331 -6515.6798 28.574838 5.9100133
SHAKE stats (type/ave/delta) on step 300
4 1.111 1.79792e-05
6 0.997005 1.02512e-05
8 1.08 1.85102e-05
10 1.111 9.98839e-06
12 1.08 8.84111e-06
14 0.960008 0
18 0.957203 1.8445e-05
31 104.52 0.00168383
300 291.52798 -5216.288 -6389.1341 1172.8462 -6503.1276 27.889154 2.2482459
colvars: Saving collective variables state to "out2.colvars.state".
Loop time of 2.07171 on 1 procs for 100 steps with 2004 atoms
Performance: 8.341 ns/day, 2.877 hours/ns, 48.269 timesteps/s
98.9% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.6047 | 1.6047 | 1.6047 | 0.0 | 77.46
Bond | 0.0031033 | 0.0031033 | 0.0031033 | 0.0 | 0.15
Kspace | 0.17325 | 0.17325 | 0.17325 | 0.0 | 8.36
Neigh | 0.25117 | 0.25117 | 0.25117 | 0.0 | 12.12
Comm | 0.012173 | 0.012173 | 0.012173 | 0.0 | 0.59
Output | 0.00026488 | 0.00026488 | 0.00026488 | 0.0 | 0.01
Modify | 0.025317 | 0.025317 | 0.025317 | 0.0 | 1.22
Other | | 0.001731 | | | 0.08
Nlocal: 2004 ave 2004 max 2004 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 11296 ave 11296 max 11296 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 708152 ave 708152 max 708152 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 708152
Ave neighs/atom = 353.369
Ave special neighs/atom = 2.34032
Neighbor list builds = 8
Dangerous builds = 0
colvars: Resetting the Collective Variables module.
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:06

View File

@ -1,629 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
orthogonal box = (36.8402 41.0137 29.7681) to (64.2116 68.3851 57.1395)
1 by 2 by 2 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
shell "rm -f out*.colvars.*"
fix 2 all colvars peptide.colvars
fix 2a ref setforce 0.0 0.0 0.0
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
#dump 1 colvar custom 1 dump.colvar.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
thermo_style custom step temp etotal pe ke epair ebond f_2
thermo 10
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:321)
G vector (1/distance) = 0.268725
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.0228209
estimated relative force accuracy = 6.87243e-05
using double precision FFTs
3d grid and FFT values/proc = 4312 960
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d/newton
bin: standard
colvars: Creating proxy instance
colvars: ----------------------------------------------------------------------
colvars: Initializing the collective variables module, version 2018-11-16.
colvars: Please cite Fiorin et al, Mol Phys 2013:
colvars: https://doi.org/10.1080/00268976.2013.813594
colvars: in any publication based on this calculation.
colvars: SMP parallelism is available.
colvars: Using LAMMPS interface, version 2018-08-29.
colvars: ----------------------------------------------------------------------
colvars: Reading new configuration from file "peptide.colvars":
colvars: # smp = on [default]
colvars: # colvarsTrajFrequency = 1
colvars: # colvarsRestartFrequency = 1000
colvars: # scriptedColvarForces = off [default]
colvars: # scriptingAfterBiases = off [default]
colvars: ----------------------------------------------------------------------
colvars: Initializing a new collective variable.
colvars: # name = "one"
colvars: Initializing a new "distance" component.
colvars: # name = "" [default]
colvars: # componentCoeff = 1 [default]
colvars: # componentExp = 1 [default]
colvars: # period = 0 [default]
colvars: # wrapAround = 0 [default]
colvars: # forceNoPBC = off [default]
colvars: # scalable = on [default]
colvars: Initializing atom group "group1".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group1" defined, 4 atoms initialized: total mass = 4, total charge = 0.
colvars: Initializing atom group "group2".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group2" defined, 1 atoms initialized: total mass = 1, total charge = 0.
colvars: # oneSiteSystemForce = off [default]
colvars: # oneSiteTotalForce = off [default]
colvars: All components initialized.
colvars: # timeStepFactor = 1 [default]
colvars: # width = 1 [default]
colvars: # lowerBoundary = 0 [default]
colvars: # upperBoundary = 0 [default]
colvars: # expandBoundaries = off [default]
colvars: # extendedLagrangian = off [default]
colvars: # outputValue = on [default]
colvars: # outputVelocity = off [default]
colvars: # outputTotalForce = off [default]
colvars: # outputAppliedForce = off [default]
colvars: # subtractAppliedForce = off [default]
colvars: # runAve = off [default]
colvars: # corrFunc = off [default]
colvars: ----------------------------------------------------------------------
colvars: Initializing a new collective variable.
colvars: # name = "two"
colvars: Initializing a new "distance" component.
colvars: # name = "" [default]
colvars: # componentCoeff = 1 [default]
colvars: # componentExp = 1 [default]
colvars: # period = 0 [default]
colvars: # wrapAround = 0 [default]
colvars: # forceNoPBC = off [default]
colvars: # scalable = on [default]
colvars: Initializing atom group "group1".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group1" defined, 4 atoms initialized: total mass = 4, total charge = 0.
colvars: Initializing atom group "group2".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group2" defined, 1 atoms initialized: total mass = 1, total charge = 0.
colvars: # oneSiteSystemForce = off [default]
colvars: # oneSiteTotalForce = off [default]
colvars: All components initialized.
colvars: # timeStepFactor = 1 [default]
colvars: # width = 1 [default]
colvars: # lowerBoundary = 0 [default]
colvars: # upperBoundary = 0 [default]
colvars: # expandBoundaries = off [default]
colvars: # extendedLagrangian = off [default]
colvars: # outputValue = on [default]
colvars: # outputVelocity = off [default]
colvars: # outputTotalForce = off [default]
colvars: # outputAppliedForce = off [default]
colvars: # subtractAppliedForce = off [default]
colvars: # runAve = off [default]
colvars: # corrFunc = off [default]
colvars: ----------------------------------------------------------------------
colvars: Collective variables initialized, 2 in total.
colvars: ----------------------------------------------------------------------
colvars: Initializing a new "harmonic" instance.
colvars: # name = "h_pot"
colvars: # colvars = { one, two }
colvars: # outputEnergy = off [default]
colvars: # timeStepFactor = 1 [default]
colvars: # writeTISamples = off [default]
colvars: # writeTIPMF = off [default]
colvars: # centers = { 10, 10 }
colvars: # targetCenters = { 10, 10 } [default]
colvars: # outputCenters = off [default]
colvars: # forceConstant = 100
colvars: # targetForceConstant = -1 [default]
colvars: ----------------------------------------------------------------------
colvars: Collective variables biases initialized, 1 in total.
colvars: ----------------------------------------------------------------------
colvars: Collective variables module (re)initialized.
colvars: ----------------------------------------------------------------------
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 4.
colvars: Re-initialized atom group one:0/1. 1 atoms: total mass = 1.
colvars: Re-initialized atom group two:0/0. 4 atoms: total mass = 4.
colvars: Re-initialized atom group two:0/1. 1 atoms: total mass = 1.
colvars: The restart output state file will be "rest.colvars.state".
colvars: The final output state file will be "out.colvars.state".
colvars: Writing to colvar trajectory file "out.colvars.traj".
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group one:0/1. 1 atoms: total mass = 12.011.
colvars: Re-initialized atom group two:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group two:0/1. 1 atoms: total mass = 12.011.
colvars: Performing analysis.
SHAKE stats (type/ave/delta) on step 0
4 1.111 1.44264e-05
6 0.996998 7.26967e-06
8 1.08 1.32536e-05
10 1.111 1.22749e-05
12 1.08 1.11767e-05
14 0.96 0
18 0.957206 4.37979e-05
31 104.519 0.00396029
Per MPI rank memory allocation (min/avg/max) = 15.65 | 15.86 | 16.05 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 292.14604
10 305.06149 -5058.8972 -6286.1901 1227.2929 -6413.1021 58.8499 103.38345
20 311.00516 -4999.0612 -6250.266 1251.2048 -6417.1021 47.695297 36.699695
30 314.22337 -4993.7012 -6257.8532 1264.152 -6421.9679 35.344144 10.563933
40 297.87491 -5020.8378 -6219.2184 1198.3805 -6389.8528 27.723133 3.8354517
50 304.02071 -5056.2576 -6279.3633 1223.1057 -6456.8214 55.459505 0.20678217
60 285.92576 -5104.0461 -6254.354 1150.3079 -6435.5814 32.767229 0.69352945
70 277.83519 -5163.9758 -6281.7345 1117.7587 -6447.7033 39.627168 11.433603
80 267.51495 -5206.4046 -6282.644 1076.2394 -6456.6369 31.611883 6.3554178
90 278.15579 -5245.3824 -6364.431 1119.0485 -6499.8063 28.849773 0.36941576
SHAKE stats (type/ave/delta) on step 100
4 1.11098 8.97155e-05
6 0.996996 1.00568e-05
8 1.08 6.02345e-06
10 1.111 1.84253e-05
12 1.08 7.2713e-06
14 0.959996 0
18 0.957198 3.36079e-05
31 104.52 0.0030599
100 260.10613 -5292.6885 -6339.1215 1046.433 -6471.6734 25.362042 0.21987323
colvars: Saving collective variables state to "out.colvars.state".
Loop time of 0.614168 on 4 procs for 100 steps with 2004 atoms
Performance: 28.136 ns/day, 0.853 hours/ns, 162.822 timesteps/s
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.40413 | 0.41468 | 0.42573 | 1.4 | 67.52
Bond | 0.00056815 | 0.0011595 | 0.0017791 | 1.6 | 0.19
Kspace | 0.056367 | 0.066512 | 0.076213 | 3.3 | 10.83
Neigh | 0.095025 | 0.09507 | 0.095124 | 0.0 | 15.48
Comm | 0.015385 | 0.015831 | 0.01623 | 0.2 | 2.58
Output | 0.00026512 | 0.00034493 | 0.00057554 | 0.0 | 0.06
Modify | 0.01938 | 0.019431 | 0.019474 | 0.0 | 3.16
Other | | 0.001141 | | | 0.19
Nlocal: 501 ave 513 max 489 min
Histogram: 1 0 0 0 1 1 0 0 0 1
Nghost: 6563.25 ave 6596 max 6519 min
Histogram: 1 0 1 0 0 0 0 0 0 2
Neighs: 177059 ave 181742 max 172942 min
Histogram: 1 0 1 0 0 0 1 0 0 1
Total # of neighbors = 708237
Ave neighs/atom = 353.412
Ave special neighs/atom = 2.34032
Neighbor list builds = 12
Dangerous builds = 2
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:321)
G vector (1/distance) = 0.268725
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.0228209
estimated relative force accuracy = 6.87243e-05
using double precision FFTs
3d grid and FFT values/proc = 4312 960
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group one:0/1. 1 atoms: total mass = 12.011.
colvars: Re-initialized atom group two:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group two:0/1. 1 atoms: total mass = 12.011.
SHAKE stats (type/ave/delta) on step 100
4 1.11098 8.97155e-05
6 0.996996 1.00568e-05
8 1.08 6.02345e-06
10 1.111 1.84253e-05
12 1.08 7.2713e-06
14 0.959996 0
18 0.957198 3.36079e-05
31 104.52 0.0030599
Per MPI rank memory allocation (min/avg/max) = 15.66 | 15.86 | 16.06 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
100 260.10613 -5292.6885 -6339.1215 1046.433 -6471.6734 25.362042 0.21987323
110 266.26438 -5341.1991 -6412.4073 1071.2082 -6552.7551 33.573173 1.9229657
120 262.66604 -5386.2387 -6442.9704 1056.7317 -6587.5483 29.859587 2.7124812
130 252.83379 -5422.5401 -6439.7157 1017.1756 -6580.4703 25.979343 1.2031592
140 253.85111 -5452.1838 -6473.4521 1021.2684 -6609.4826 26.071651 0.30585517
150 261.31816 -5490.4726 -6541.7817 1051.3091 -6646.6075 16.258823 6.9051008
160 255.7352 -5521.5941 -6550.4423 1028.8483 -6658.1373 19.717399 12.339679
170 253.42527 -5540.0941 -6559.6493 1019.5552 -6656.6677 23.293812 10.290217
180 248.51161 -5550.3253 -6550.1124 999.78704 -6661.4235 26.200127 3.4336037
190 250.80862 -5555.2553 -6564.2834 1009.0282 -6666.1638 25.53634 3.3494287
SHAKE stats (type/ave/delta) on step 200
4 1.111 1.81266e-06
6 0.997 7.79424e-07
8 1.08 1.08903e-06
10 1.111 2.96503e-07
12 1.08 4.69038e-07
14 0.960001 0
18 0.957201 3.76471e-06
31 104.52 0.000411055
200 251.50475 -5557.4251 -6569.2539 1011.8288 -6674.0845 24.804905 7.1387572
colvars: Saving collective variables state to "out.colvars.state".
Loop time of 0.569733 on 4 procs for 100 steps with 2004 atoms
Performance: 30.330 ns/day, 0.791 hours/ns, 175.521 timesteps/s
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.40512 | 0.41306 | 0.42363 | 1.3 | 72.50
Bond | 0.00061107 | 0.001151 | 0.0017512 | 1.4 | 0.20
Kspace | 0.054393 | 0.063988 | 0.07198 | 3.0 | 11.23
Neigh | 0.056063 | 0.056079 | 0.05609 | 0.0 | 9.84
Comm | 0.013584 | 0.014145 | 0.014649 | 0.3 | 2.48
Output | 0.00026965 | 0.00042897 | 0.00090265 | 0.0 | 0.08
Modify | 0.019253 | 0.019257 | 0.01926 | 0.0 | 3.38
Other | | 0.001623 | | | 0.28
Nlocal: 501 ave 513 max 481 min
Histogram: 1 0 0 0 0 0 1 0 1 1
Nghost: 6556.5 ave 6608 max 6514 min
Histogram: 2 0 0 0 0 0 0 1 0 1
Neighs: 177021 ave 182259 max 172089 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Total # of neighbors = 708083
Ave neighs/atom = 353.335
Ave special neighs/atom = 2.34032
Neighbor list builds = 7
Dangerous builds = 0
fix 2 all colvars peptide.colvars input out.colvars.state output out2
colvars: Resetting the Collective Variables module.
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:321)
G vector (1/distance) = 0.268725
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.0228209
estimated relative force accuracy = 6.87243e-05
using double precision FFTs
3d grid and FFT values/proc = 4312 960
colvars: Creating proxy instance
colvars: ----------------------------------------------------------------------
colvars: Initializing the collective variables module, version 2018-11-16.
colvars: Please cite Fiorin et al, Mol Phys 2013:
colvars: https://doi.org/10.1080/00268976.2013.813594
colvars: in any publication based on this calculation.
colvars: SMP parallelism is available.
colvars: Using LAMMPS interface, version 2018-08-29.
colvars: ----------------------------------------------------------------------
colvars: Reading new configuration from file "peptide.colvars":
colvars: # smp = on [default]
colvars: # colvarsTrajFrequency = 1
colvars: # colvarsRestartFrequency = 1000
colvars: # scriptedColvarForces = off [default]
colvars: # scriptingAfterBiases = off [default]
colvars: ----------------------------------------------------------------------
colvars: Initializing a new collective variable.
colvars: # name = "one"
colvars: Initializing a new "distance" component.
colvars: # name = "" [default]
colvars: # componentCoeff = 1 [default]
colvars: # componentExp = 1 [default]
colvars: # period = 0 [default]
colvars: # wrapAround = 0 [default]
colvars: # forceNoPBC = off [default]
colvars: # scalable = on [default]
colvars: Initializing atom group "group1".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group1" defined, 4 atoms initialized: total mass = 4, total charge = 0.
colvars: Initializing atom group "group2".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group2" defined, 1 atoms initialized: total mass = 1, total charge = 0.
colvars: # oneSiteSystemForce = off [default]
colvars: # oneSiteTotalForce = off [default]
colvars: All components initialized.
colvars: # timeStepFactor = 1 [default]
colvars: # width = 1 [default]
colvars: # lowerBoundary = 0 [default]
colvars: # upperBoundary = 0 [default]
colvars: # expandBoundaries = off [default]
colvars: # extendedLagrangian = off [default]
colvars: # outputValue = on [default]
colvars: # outputVelocity = off [default]
colvars: # outputTotalForce = off [default]
colvars: # outputAppliedForce = off [default]
colvars: # subtractAppliedForce = off [default]
colvars: # runAve = off [default]
colvars: # corrFunc = off [default]
colvars: ----------------------------------------------------------------------
colvars: Initializing a new collective variable.
colvars: # name = "two"
colvars: Initializing a new "distance" component.
colvars: # name = "" [default]
colvars: # componentCoeff = 1 [default]
colvars: # componentExp = 1 [default]
colvars: # period = 0 [default]
colvars: # wrapAround = 0 [default]
colvars: # forceNoPBC = off [default]
colvars: # scalable = on [default]
colvars: Initializing atom group "group1".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group1" defined, 4 atoms initialized: total mass = 4, total charge = 0.
colvars: Initializing atom group "group2".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group2" defined, 1 atoms initialized: total mass = 1, total charge = 0.
colvars: # oneSiteSystemForce = off [default]
colvars: # oneSiteTotalForce = off [default]
colvars: All components initialized.
colvars: # timeStepFactor = 1 [default]
colvars: # width = 1 [default]
colvars: # lowerBoundary = 0 [default]
colvars: # upperBoundary = 0 [default]
colvars: # expandBoundaries = off [default]
colvars: # extendedLagrangian = off [default]
colvars: # outputValue = on [default]
colvars: # outputVelocity = off [default]
colvars: # outputTotalForce = off [default]
colvars: # outputAppliedForce = off [default]
colvars: # subtractAppliedForce = off [default]
colvars: # runAve = off [default]
colvars: # corrFunc = off [default]
colvars: ----------------------------------------------------------------------
colvars: Collective variables initialized, 2 in total.
colvars: ----------------------------------------------------------------------
colvars: Initializing a new "harmonic" instance.
colvars: # name = "h_pot"
colvars: # colvars = { one, two }
colvars: # outputEnergy = off [default]
colvars: # timeStepFactor = 1 [default]
colvars: # writeTISamples = off [default]
colvars: # writeTIPMF = off [default]
colvars: # centers = { 10, 10 }
colvars: # targetCenters = { 10, 10 } [default]
colvars: # outputCenters = off [default]
colvars: # forceConstant = 100
colvars: # targetForceConstant = -1 [default]
colvars: ----------------------------------------------------------------------
colvars: Collective variables biases initialized, 1 in total.
colvars: ----------------------------------------------------------------------
colvars: Collective variables module (re)initialized.
colvars: ----------------------------------------------------------------------
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 4.
colvars: Re-initialized atom group one:0/1. 1 atoms: total mass = 1.
colvars: Re-initialized atom group two:0/0. 4 atoms: total mass = 4.
colvars: Re-initialized atom group two:0/1. 1 atoms: total mass = 1.
colvars: ----------------------------------------------------------------------
colvars: Restarting from file "out.colvars.state".
colvars: Restarting collective variable "one" from value: 10.0128
colvars: Restarting collective variable "two" from value: 9.62236
colvars: ----------------------------------------------------------------------
colvars: The restart output state file will be "rest.colvars.state".
colvars: The final output state file will be "out2.colvars.state".
colvars: Writing to colvar trajectory file "out2.colvars.traj".
colvars: Setting initial step number from LAMMPS: 200
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group one:0/1. 1 atoms: total mass = 12.011.
colvars: Re-initialized atom group two:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group two:0/1. 1 atoms: total mass = 12.011.
colvars: Performing analysis.
SHAKE stats (type/ave/delta) on step 200
4 1.111 1.81266e-06
6 0.997 7.79424e-07
8 1.08 1.08903e-06
10 1.111 2.96503e-07
12 1.08 4.69038e-07
14 0.960001 0
18 0.957201 3.76471e-06
31 104.52 0.000411055
Per MPI rank memory allocation (min/avg/max) = 15.66 | 15.86 | 16.06 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
200 251.50475 -5557.4251 -6569.2539 1011.8288 -6674.0845 24.804905 7.1387572
210 253.15304 -5538.5615 -6557.0215 1018.46 -6672.0498 37.676621 0.61219486
220 245.19621 -5522.5189 -6508.9678 986.44888 -6628.1898 36.657688 0.048643368
230 258.69885 -5495.7276 -6536.4989 1040.7713 -6658.2887 34.857911 0.22092541
240 260.79635 -5469.8677 -6519.0775 1049.2098 -6624.18 31.576952 3.7574818
250 269.07527 -5438.3947 -6520.9115 1082.5167 -6616.4384 25.447674 8.6600013
260 266.0105 -5397.3486 -6467.5354 1070.1868 -6580.2898 26.871917 8.3323096
270 272.81314 -5350.8819 -6448.4364 1097.5545 -6563.823 23.114195 10.973131
280 279.42263 -5307.9799 -6432.125 1124.1452 -6557.3367 33.644027 8.5490488
290 286.8517 -5260.8409 -6414.874 1154.0331 -6515.6797 28.574839 5.9100135
SHAKE stats (type/ave/delta) on step 300
4 1.111 1.79792e-05
6 0.997005 1.02512e-05
8 1.08 1.85102e-05
10 1.111 9.98838e-06
12 1.08 8.84113e-06
14 0.960008 0
18 0.957203 1.8445e-05
31 104.52 0.00168382
300 291.52794 -5216.2881 -6389.1342 1172.846 -6503.1276 27.889153 2.248246
colvars: Saving collective variables state to "out2.colvars.state".
Loop time of 0.584942 on 4 procs for 100 steps with 2004 atoms
Performance: 29.541 ns/day, 0.812 hours/ns, 170.957 timesteps/s
99.0% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.41044 | 0.41882 | 0.42773 | 1.1 | 71.60
Bond | 0.00056911 | 0.0011486 | 0.0018017 | 1.4 | 0.20
Kspace | 0.056211 | 0.064277 | 0.072168 | 2.7 | 10.99
Neigh | 0.064606 | 0.064613 | 0.064617 | 0.0 | 11.05
Comm | 0.013311 | 0.013966 | 0.015175 | 0.6 | 2.39
Output | 0.00027871 | 0.00051689 | 0.0012221 | 0.0 | 0.09
Modify | 0.019776 | 0.0199 | 0.020015 | 0.1 | 3.40
Other | | 0.001705 | | | 0.29
Nlocal: 501 ave 513 max 472 min
Histogram: 1 0 0 0 0 0 0 0 0 3
Nghost: 6612.75 ave 6681 max 6561 min
Histogram: 1 1 0 0 0 1 0 0 0 1
Neighs: 177038 ave 180136 max 170218 min
Histogram: 1 0 0 0 0 0 0 1 0 2
Total # of neighbors = 708152
Ave neighs/atom = 353.369
Ave special neighs/atom = 2.34032
Neighbor list builds = 8
Dangerous builds = 0
colvars: Resetting the Collective Variables module.
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:01

View File

@ -1,260 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
orthogonal box = (36.8402 41.0137 29.7681) to (64.2116 68.3851 57.1395)
1 by 1 by 1 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
shell "rm -f peptide2.colvars.*"
fix 2 all colvars peptide.colvars2 output peptide2
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
#dump 1 colvar custom 1 dump.colvar2.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
thermo_style custom step temp etotal pe ke epair ebond f_2
thermo 10
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:321)
G vector (1/distance) = 0.268725
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.0228209
estimated relative force accuracy = 6.87243e-05
using double precision FFTs
3d grid and FFT values/proc = 10648 3375
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d/newton
bin: standard
colvars: Creating proxy instance
colvars: ----------------------------------------------------------------------
colvars: Initializing the collective variables module, version 2018-11-16.
colvars: Please cite Fiorin et al, Mol Phys 2013:
colvars: https://doi.org/10.1080/00268976.2013.813594
colvars: in any publication based on this calculation.
colvars: SMP parallelism is available.
colvars: Using LAMMPS interface, version 2018-08-29.
colvars: ----------------------------------------------------------------------
colvars: Reading new configuration from file "peptide.colvars2":
colvars: # smp = on [default]
colvars: # colvarsTrajFrequency = 1
colvars: # colvarsRestartFrequency = 1000
colvars: # scriptedColvarForces = off [default]
colvars: # scriptingAfterBiases = off [default]
colvars: ----------------------------------------------------------------------
colvars: Initializing a new collective variable.
colvars: # name = "one"
colvars: Initializing a new "distance" component.
colvars: # name = "" [default]
colvars: # componentCoeff = 1 [default]
colvars: # componentExp = 1 [default]
colvars: # period = 0 [default]
colvars: # wrapAround = 0 [default]
colvars: # forceNoPBC = off [default]
colvars: # scalable = on [default]
colvars: Initializing atom group "group1".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group1" defined, 4 atoms initialized: total mass = 4, total charge = 0.
colvars: Initializing atom group "group2".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group2" defined, 4 atoms initialized: total mass = 4, total charge = 0.
colvars: # oneSiteSystemForce = off [default]
colvars: # oneSiteTotalForce = off [default]
colvars: All components initialized.
colvars: # timeStepFactor = 1 [default]
colvars: # width = 1 [default]
colvars: # lowerBoundary = 0 [default]
colvars: # upperBoundary = 0 [default]
colvars: # expandBoundaries = off [default]
colvars: # extendedLagrangian = off [default]
colvars: # outputValue = on [default]
colvars: # outputVelocity = off [default]
colvars: # outputTotalForce = off [default]
colvars: # outputAppliedForce = off [default]
colvars: # subtractAppliedForce = off [default]
colvars: # runAve = off [default]
colvars: # corrFunc = off [default]
colvars: ----------------------------------------------------------------------
colvars: Collective variables initialized, 1 in total.
colvars: ----------------------------------------------------------------------
colvars: Initializing a new "harmonic" instance.
colvars: # name = "h_pot"
colvars: # colvars = { one }
colvars: # outputEnergy = off [default]
colvars: # timeStepFactor = 1 [default]
colvars: # writeTISamples = off [default]
colvars: # writeTIPMF = off [default]
colvars: # centers = { 10 }
colvars: # targetCenters = { 10 } [default]
colvars: # outputCenters = off [default]
colvars: # forceConstant = 100
colvars: # targetForceConstant = -1 [default]
colvars: ----------------------------------------------------------------------
colvars: Collective variables biases initialized, 1 in total.
colvars: ----------------------------------------------------------------------
colvars: Collective variables module (re)initialized.
colvars: ----------------------------------------------------------------------
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 4.
colvars: Re-initialized atom group one:0/1. 4 atoms: total mass = 4.
colvars: The restart output state file will be "rest.colvars.state".
colvars: The final output state file will be "peptide2.colvars.state".
colvars: Writing to colvar trajectory file "peptide2.colvars.traj".
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group one:0/1. 4 atoms: total mass = 15.035.
colvars: Performing analysis.
SHAKE stats (type/ave/delta) on step 0
4 1.111 1.44264e-05
6 0.996998 7.26967e-06
8 1.08 1.32536e-05
10 1.111 1.22749e-05
12 1.08 1.11767e-05
14 0.96 0
18 0.957206 4.37979e-05
31 104.519 0.00396029
Per MPI rank memory allocation (min/avg/max) = 18.7 | 18.7 | 18.7 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 273.74323
10 333.47919 -4982.3968 -6324.0169 1341.6201 -6400.4223 21.367762 12.393263
20 309.56902 -4999.4978 -6244.9249 1245.4271 -6401.6981 43.59542 13.004314
30 316.9763 -5025.5662 -6300.7935 1275.2273 -6422.5375 27.323196 6.7589585
40 297.55779 -5088.2204 -6285.3252 1197.1047 -6395.375 13.6769 25.625024
50 296.79994 -5117.2966 -6311.3525 1194.0558 -6451.8309 30.631241 5.3320863
60 281.72778 -5188.4969 -6321.9159 1133.419 -6427.8856 26.287723 20.574037
70 277.26053 -5224.8434 -6340.2902 1115.4468 -6447.8521 27.742893 0.69420283
80 268.01484 -5281.8509 -6360.1014 1078.2505 -6496.6086 20.300754 5.2607186
90 270.43472 -5334.0835 -6422.0694 1087.9859 -6563.2511 39.846095 1.1832272
SHAKE stats (type/ave/delta) on step 100
4 1.11096 0.000191462
6 0.996989 3.55508e-05
8 1.08 9.0997e-06
10 1.111 1.58544e-05
12 1.08 5.80604e-06
14 0.959997 0
18 0.957198 2.92445e-05
31 104.52 0.00239923
100 260.35636 -5387.2284 -6434.6681 1047.4397 -6534.1956 20.246866 0.075048487
colvars: Saving collective variables state to "peptide2.colvars.state".
Loop time of 2.25958 on 1 procs for 100 steps with 2004 atoms
Performance: 7.647 ns/day, 3.138 hours/ns, 44.256 timesteps/s
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.6373 | 1.6373 | 1.6373 | 0.0 | 72.46
Bond | 0.0031531 | 0.0031531 | 0.0031531 | 0.0 | 0.14
Kspace | 0.17439 | 0.17439 | 0.17439 | 0.0 | 7.72
Neigh | 0.40442 | 0.40442 | 0.40442 | 0.0 | 17.90
Comm | 0.014091 | 0.014091 | 0.014091 | 0.0 | 0.62
Output | 0.00027752 | 0.00027752 | 0.00027752 | 0.0 | 0.01
Modify | 0.024481 | 0.024481 | 0.024481 | 0.0 | 1.08
Other | | 0.001465 | | | 0.06
Nlocal: 2004 ave 2004 max 2004 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 11143 ave 11143 max 11143 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 708234 ave 708234 max 708234 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 708234
Ave neighs/atom = 353.41
Ave special neighs/atom = 2.34032
Neighbor list builds = 13
Dangerous builds = 1
colvars: Resetting the Collective Variables module.
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:02

View File

@ -1,260 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
orthogonal box = (36.8402 41.0137 29.7681) to (64.2116 68.3851 57.1395)
1 by 2 by 2 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
shell "rm -f peptide2.colvars.*"
fix 2 all colvars peptide.colvars2 output peptide2
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
#dump 1 colvar custom 1 dump.colvar2.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
thermo_style custom step temp etotal pe ke epair ebond f_2
thermo 10
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:321)
G vector (1/distance) = 0.268725
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.0228209
estimated relative force accuracy = 6.87243e-05
using double precision FFTs
3d grid and FFT values/proc = 4312 960
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d/newton
bin: standard
colvars: Creating proxy instance
colvars: ----------------------------------------------------------------------
colvars: Initializing the collective variables module, version 2018-11-16.
colvars: Please cite Fiorin et al, Mol Phys 2013:
colvars: https://doi.org/10.1080/00268976.2013.813594
colvars: in any publication based on this calculation.
colvars: SMP parallelism is available.
colvars: Using LAMMPS interface, version 2018-08-29.
colvars: ----------------------------------------------------------------------
colvars: Reading new configuration from file "peptide.colvars2":
colvars: # smp = on [default]
colvars: # colvarsTrajFrequency = 1
colvars: # colvarsRestartFrequency = 1000
colvars: # scriptedColvarForces = off [default]
colvars: # scriptingAfterBiases = off [default]
colvars: ----------------------------------------------------------------------
colvars: Initializing a new collective variable.
colvars: # name = "one"
colvars: Initializing a new "distance" component.
colvars: # name = "" [default]
colvars: # componentCoeff = 1 [default]
colvars: # componentExp = 1 [default]
colvars: # period = 0 [default]
colvars: # wrapAround = 0 [default]
colvars: # forceNoPBC = off [default]
colvars: # scalable = on [default]
colvars: Initializing atom group "group1".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group1" defined, 4 atoms initialized: total mass = 4, total charge = 0.
colvars: Initializing atom group "group2".
colvars: # name = "" [default]
colvars: # centerReference = off [default]
colvars: # rotateReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "" [default]
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableForces = on [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "group2" defined, 4 atoms initialized: total mass = 4, total charge = 0.
colvars: # oneSiteSystemForce = off [default]
colvars: # oneSiteTotalForce = off [default]
colvars: All components initialized.
colvars: # timeStepFactor = 1 [default]
colvars: # width = 1 [default]
colvars: # lowerBoundary = 0 [default]
colvars: # upperBoundary = 0 [default]
colvars: # expandBoundaries = off [default]
colvars: # extendedLagrangian = off [default]
colvars: # outputValue = on [default]
colvars: # outputVelocity = off [default]
colvars: # outputTotalForce = off [default]
colvars: # outputAppliedForce = off [default]
colvars: # subtractAppliedForce = off [default]
colvars: # runAve = off [default]
colvars: # corrFunc = off [default]
colvars: ----------------------------------------------------------------------
colvars: Collective variables initialized, 1 in total.
colvars: ----------------------------------------------------------------------
colvars: Initializing a new "harmonic" instance.
colvars: # name = "h_pot"
colvars: # colvars = { one }
colvars: # outputEnergy = off [default]
colvars: # timeStepFactor = 1 [default]
colvars: # writeTISamples = off [default]
colvars: # writeTIPMF = off [default]
colvars: # centers = { 10 }
colvars: # targetCenters = { 10 } [default]
colvars: # outputCenters = off [default]
colvars: # forceConstant = 100
colvars: # targetForceConstant = -1 [default]
colvars: ----------------------------------------------------------------------
colvars: Collective variables biases initialized, 1 in total.
colvars: ----------------------------------------------------------------------
colvars: Collective variables module (re)initialized.
colvars: ----------------------------------------------------------------------
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 4.
colvars: Re-initialized atom group one:0/1. 4 atoms: total mass = 4.
colvars: The restart output state file will be "rest.colvars.state".
colvars: The final output state file will be "peptide2.colvars.state".
colvars: Writing to colvar trajectory file "peptide2.colvars.traj".
colvars: Re-initialized atom group one:0/0. 4 atoms: total mass = 15.035.
colvars: Re-initialized atom group one:0/1. 4 atoms: total mass = 15.035.
colvars: Performing analysis.
SHAKE stats (type/ave/delta) on step 0
4 1.111 1.44264e-05
6 0.996998 7.26967e-06
8 1.08 1.32536e-05
10 1.111 1.22749e-05
12 1.08 1.11767e-05
14 0.96 0
18 0.957206 4.37979e-05
31 104.519 0.00396029
Per MPI rank memory allocation (min/avg/max) = 15.65 | 15.86 | 16.05 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 273.74323
10 333.47919 -4982.3968 -6324.0169 1341.6201 -6400.4223 21.367762 12.393263
20 309.56902 -4999.4978 -6244.9249 1245.4271 -6401.6981 43.59542 13.004314
30 316.9763 -5025.5662 -6300.7935 1275.2273 -6422.5375 27.323196 6.7589585
40 297.55779 -5088.2204 -6285.3252 1197.1047 -6395.375 13.6769 25.625024
50 296.79994 -5117.2966 -6311.3525 1194.0558 -6451.8309 30.631241 5.3320863
60 281.72778 -5188.4969 -6321.9159 1133.419 -6427.8856 26.287723 20.574037
70 277.26053 -5224.8434 -6340.2902 1115.4468 -6447.8521 27.742893 0.69420283
80 268.01484 -5281.8509 -6360.1014 1078.2505 -6496.6086 20.300754 5.2607186
90 270.43472 -5334.0835 -6422.0694 1087.9859 -6563.2511 39.846095 1.1832272
SHAKE stats (type/ave/delta) on step 100
4 1.11096 0.000191462
6 0.996989 3.55508e-05
8 1.08 9.0997e-06
10 1.111 1.58544e-05
12 1.08 5.80604e-06
14 0.959997 0
18 0.957198 2.92445e-05
31 104.52 0.00239923
100 260.35636 -5387.2284 -6434.6681 1047.4397 -6534.1956 20.246866 0.075048487
colvars: Saving collective variables state to "peptide2.colvars.state".
Loop time of 0.629325 on 4 procs for 100 steps with 2004 atoms
Performance: 27.458 ns/day, 0.874 hours/ns, 158.900 timesteps/s
99.3% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.4012 | 0.41532 | 0.42829 | 1.9 | 65.99
Bond | 0.0005219 | 0.0011545 | 0.0018291 | 1.8 | 0.18
Kspace | 0.059271 | 0.071301 | 0.084393 | 4.4 | 11.33
Neigh | 0.10416 | 0.10419 | 0.10424 | 0.0 | 16.56
Comm | 0.015643 | 0.016628 | 0.017256 | 0.5 | 2.64
Output | 0.00025177 | 0.00033599 | 0.00058722 | 0.0 | 0.05
Modify | 0.01912 | 0.019129 | 0.019141 | 0.0 | 3.04
Other | | 0.001264 | | | 0.20
Nlocal: 501 ave 513 max 494 min
Histogram: 1 1 0 1 0 0 0 0 0 1
Nghost: 6572.5 ave 6593 max 6548 min
Histogram: 1 0 1 0 0 0 0 0 0 2
Neighs: 177058 ave 181778 max 174301 min
Histogram: 2 0 0 0 1 0 0 0 0 1
Total # of neighbors = 708234
Ave neighs/atom = 353.41
Ave special neighs/atom = 2.34032
Neighbor list builds = 13
Dangerous builds = 1
colvars: Resetting the Collective Variables module.
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:00

View File

@ -1,163 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
orthogonal box = (36.8402 41.0137 29.7681) to (64.2116 68.3851 57.1395)
1 by 1 by 1 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
fix 3a one spring couple ref 100.0 0.0 0.0 0.0 10.0
fix 3b two spring couple ref 100.0 0.0 0.0 0.0 10.0
fix 2a ref setforce 0.0 0.0 0.0
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
#dump 1 colvar custom 1 dump.spring.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
variable sp equal f_3a+f_3b
thermo_style custom step temp etotal pe ke epair ebond v_sp
thermo 10
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:321)
G vector (1/distance) = 0.268725
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.0228209
estimated relative force accuracy = 6.87243e-05
using double precision FFTs
3d grid and FFT values/proc = 10648 3375
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d/newton
bin: standard
SHAKE stats (type/ave/delta) on step 0
4 1.111 1.44264e-05
6 0.996998 7.26967e-06
8 1.08 1.32536e-05
10 1.111 1.22749e-05
12 1.08 1.11767e-05
14 0.96 0
18 0.957206 4.37979e-05
31 104.519 0.00396029
Per MPI rank memory allocation (min/avg/max) = 18.7 | 18.7 | 18.7 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond v_sp
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 292.14604
10 305.06149 -5058.8972 -6286.1901 1227.2929 -6413.1021 58.8499 103.38345
20 311.00516 -4999.0612 -6250.266 1251.2048 -6417.1021 47.695297 36.699695
30 314.22337 -4993.7012 -6257.8532 1264.152 -6421.9679 35.344144 10.563933
40 297.87491 -5020.8378 -6219.2184 1198.3805 -6389.8528 27.723133 3.8354517
50 304.02071 -5056.2576 -6279.3633 1223.1057 -6456.8214 55.459505 0.20678217
60 285.92576 -5104.0461 -6254.354 1150.3079 -6435.5814 32.767229 0.69352945
70 277.83519 -5163.9758 -6281.7345 1117.7587 -6447.7033 39.627168 11.433603
80 267.51495 -5206.4046 -6282.644 1076.2394 -6456.6369 31.611883 6.3554178
90 278.15579 -5245.3824 -6364.431 1119.0485 -6499.8063 28.849773 0.36941576
SHAKE stats (type/ave/delta) on step 100
4 1.11098 8.97155e-05
6 0.996996 1.00568e-05
8 1.08 6.02345e-06
10 1.111 1.84253e-05
12 1.08 7.2713e-06
14 0.959996 0
18 0.957198 3.36079e-05
31 104.52 0.0030599
100 260.10613 -5292.6885 -6339.1215 1046.433 -6471.6734 25.362042 0.21987323
Loop time of 2.21146 on 1 procs for 100 steps with 2004 atoms
Performance: 7.814 ns/day, 3.071 hours/ns, 45.219 timesteps/s
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.6195 | 1.6195 | 1.6195 | 0.0 | 73.23
Bond | 0.0033534 | 0.0033534 | 0.0033534 | 0.0 | 0.15
Kspace | 0.17464 | 0.17464 | 0.17464 | 0.0 | 7.90
Neigh | 0.37337 | 0.37337 | 0.37337 | 0.0 | 16.88
Comm | 0.013891 | 0.013891 | 0.013891 | 0.0 | 0.63
Output | 0.00037336 | 0.00037336 | 0.00037336 | 0.0 | 0.02
Modify | 0.024753 | 0.024753 | 0.024753 | 0.0 | 1.12
Other | | 0.001613 | | | 0.07
Nlocal: 2004 ave 2004 max 2004 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 11124 ave 11124 max 11124 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 708237 ave 708237 max 708237 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 708237
Ave neighs/atom = 353.412
Ave special neighs/atom = 2.34032
Neighbor list builds = 12
Dangerous builds = 2
Total wall time: 0:00:02

View File

@ -1,163 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
orthogonal box = (36.8402 41.0137 29.7681) to (64.2116 68.3851 57.1395)
1 by 2 by 2 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
fix 3a one spring couple ref 100.0 0.0 0.0 0.0 10.0
fix 3b two spring couple ref 100.0 0.0 0.0 0.0 10.0
fix 2a ref setforce 0.0 0.0 0.0
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
#dump 1 colvar custom 1 dump.spring.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
variable sp equal f_3a+f_3b
thermo_style custom step temp etotal pe ke epair ebond v_sp
thermo 10
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:321)
G vector (1/distance) = 0.268725
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.0228209
estimated relative force accuracy = 6.87243e-05
using double precision FFTs
3d grid and FFT values/proc = 4312 960
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d/newton
bin: standard
SHAKE stats (type/ave/delta) on step 0
4 1.111 1.44264e-05
6 0.996998 7.26967e-06
8 1.08 1.32536e-05
10 1.111 1.22749e-05
12 1.08 1.11767e-05
14 0.96 0
18 0.957206 4.37979e-05
31 104.519 0.00396029
Per MPI rank memory allocation (min/avg/max) = 15.65 | 15.86 | 16.05 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond v_sp
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 292.14604
10 305.06149 -5058.8972 -6286.1901 1227.2929 -6413.1021 58.8499 103.38345
20 311.00516 -4999.0612 -6250.266 1251.2048 -6417.1021 47.695297 36.699695
30 314.22337 -4993.7012 -6257.8532 1264.152 -6421.9679 35.344144 10.563933
40 297.87491 -5020.8378 -6219.2184 1198.3805 -6389.8528 27.723133 3.8354517
50 304.02071 -5056.2576 -6279.3633 1223.1057 -6456.8214 55.459505 0.20678217
60 285.92576 -5104.0461 -6254.354 1150.3079 -6435.5814 32.767229 0.69352945
70 277.83519 -5163.9758 -6281.7345 1117.7587 -6447.7033 39.627168 11.433603
80 267.51495 -5206.4046 -6282.644 1076.2394 -6456.6369 31.611883 6.3554178
90 278.15579 -5245.3824 -6364.431 1119.0485 -6499.8063 28.849773 0.36941576
SHAKE stats (type/ave/delta) on step 100
4 1.11098 8.97155e-05
6 0.996996 1.00568e-05
8 1.08 6.02345e-06
10 1.111 1.84253e-05
12 1.08 7.2713e-06
14 0.959996 0
18 0.957198 3.36079e-05
31 104.52 0.0030599
100 260.10613 -5292.6885 -6339.1215 1046.433 -6471.6734 25.362042 0.21987323
Loop time of 0.620672 on 4 procs for 100 steps with 2004 atoms
Performance: 27.841 ns/day, 0.862 hours/ns, 161.116 timesteps/s
99.1% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.4029 | 0.41752 | 0.4307 | 1.7 | 67.27
Bond | 0.00054789 | 0.0011698 | 0.0018225 | 1.8 | 0.19
Kspace | 0.055853 | 0.069798 | 0.083975 | 4.3 | 11.25
Neigh | 0.096553 | 0.096622 | 0.096707 | 0.0 | 15.57
Comm | 0.015383 | 0.016022 | 0.01632 | 0.3 | 2.58
Output | 0.00033116 | 0.00057495 | 0.0012989 | 0.0 | 0.09
Modify | 0.017549 | 0.017693 | 0.017826 | 0.1 | 2.85
Other | | 0.001274 | | | 0.21
Nlocal: 501 ave 513 max 489 min
Histogram: 1 0 0 0 1 1 0 0 0 1
Nghost: 6563.25 ave 6596 max 6519 min
Histogram: 1 0 1 0 0 0 0 0 0 2
Neighs: 177059 ave 181742 max 172942 min
Histogram: 1 0 1 0 0 0 1 0 0 1
Total # of neighbors = 708237
Ave neighs/atom = 353.412
Ave special neighs/atom = 2.34032
Neighbor list builds = 12
Dangerous builds = 2
Total wall time: 0:00:00

View File

@ -1,158 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
orthogonal box = (36.8402 41.0137 29.7681) to (64.2116 68.3851 57.1395)
1 by 1 by 1 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
fix 3 one spring couple two 100.0 0.0 0.0 0.0 10.0
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
#dump 1 colvar custom 1 dump.spring2.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
thermo_style custom step temp etotal pe ke epair ebond f_3
thermo 10
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:321)
G vector (1/distance) = 0.268725
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.0228209
estimated relative force accuracy = 6.87243e-05
using double precision FFTs
3d grid and FFT values/proc = 10648 3375
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d/newton
bin: standard
SHAKE stats (type/ave/delta) on step 0
4 1.111 1.44264e-05
6 0.996998 7.26967e-06
8 1.08 1.32536e-05
10 1.111 1.22749e-05
12 1.08 1.11767e-05
14 0.96 0
18 0.957206 4.37979e-05
31 104.519 0.00396029
Per MPI rank memory allocation (min/avg/max) = 18.7 | 18.7 | 18.7 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_3
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 273.74323
10 333.47919 -4982.3968 -6324.0169 1341.6201 -6400.4223 21.367762 12.393263
20 309.56902 -4999.4978 -6244.9249 1245.4271 -6401.6981 43.59542 13.004314
30 316.9763 -5025.5662 -6300.7935 1275.2273 -6422.5375 27.323196 6.7589585
40 297.55779 -5088.2204 -6285.3252 1197.1047 -6395.375 13.6769 25.625024
50 296.79994 -5117.2966 -6311.3525 1194.0558 -6451.8309 30.631241 5.3320863
60 281.72778 -5188.4969 -6321.9159 1133.419 -6427.8856 26.287723 20.574037
70 277.26053 -5224.8434 -6340.2902 1115.4468 -6447.8521 27.742893 0.69420283
80 268.01484 -5281.8509 -6360.1014 1078.2505 -6496.6086 20.300754 5.2607186
90 270.43472 -5334.0835 -6422.0694 1087.9859 -6563.2511 39.846095 1.1832272
SHAKE stats (type/ave/delta) on step 100
4 1.11096 0.000191462
6 0.996989 3.55508e-05
8 1.08 9.0997e-06
10 1.111 1.58544e-05
12 1.08 5.80604e-06
14 0.959997 0
18 0.957198 2.92445e-05
31 104.52 0.00239923
100 260.35636 -5387.2284 -6434.6681 1047.4397 -6534.1956 20.246866 0.075048487
Loop time of 2.2037 on 1 procs for 100 steps with 2004 atoms
Performance: 7.841 ns/day, 3.061 hours/ns, 45.378 timesteps/s
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.5852 | 1.5852 | 1.5852 | 0.0 | 71.93
Bond | 0.0032725 | 0.0032725 | 0.0032725 | 0.0 | 0.15
Kspace | 0.17308 | 0.17308 | 0.17308 | 0.0 | 7.85
Neigh | 0.4027 | 0.4027 | 0.4027 | 0.0 | 18.27
Comm | 0.014041 | 0.014041 | 0.014041 | 0.0 | 0.64
Output | 0.00032306 | 0.00032306 | 0.00032306 | 0.0 | 0.01
Modify | 0.023546 | 0.023546 | 0.023546 | 0.0 | 1.07
Other | | 0.001546 | | | 0.07
Nlocal: 2004 ave 2004 max 2004 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 11143 ave 11143 max 11143 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 708234 ave 708234 max 708234 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 708234
Ave neighs/atom = 353.41
Ave special neighs/atom = 2.34032
Neighbor list builds = 13
Dangerous builds = 1
Total wall time: 0:00:02

View File

@ -1,158 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
orthogonal box = (36.8402 41.0137 29.7681) to (64.2116 68.3851 57.1395)
1 by 2 by 2 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
fix 3 one spring couple two 100.0 0.0 0.0 0.0 10.0
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
#dump 1 colvar custom 1 dump.spring2.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
thermo_style custom step temp etotal pe ke epair ebond f_3
thermo 10
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:321)
G vector (1/distance) = 0.268725
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.0228209
estimated relative force accuracy = 6.87243e-05
using double precision FFTs
3d grid and FFT values/proc = 4312 960
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d/newton
bin: standard
SHAKE stats (type/ave/delta) on step 0
4 1.111 1.44264e-05
6 0.996998 7.26967e-06
8 1.08 1.32536e-05
10 1.111 1.22749e-05
12 1.08 1.11767e-05
14 0.96 0
18 0.957206 4.37979e-05
31 104.519 0.00396029
Per MPI rank memory allocation (min/avg/max) = 15.65 | 15.86 | 16.05 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_3
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 273.74323
10 333.47919 -4982.3968 -6324.0169 1341.6201 -6400.4223 21.367762 12.393263
20 309.56902 -4999.4978 -6244.9249 1245.4271 -6401.6981 43.59542 13.004314
30 316.9763 -5025.5662 -6300.7935 1275.2273 -6422.5375 27.323196 6.7589585
40 297.55779 -5088.2204 -6285.3252 1197.1047 -6395.375 13.6769 25.625024
50 296.79994 -5117.2966 -6311.3525 1194.0558 -6451.8309 30.631241 5.3320863
60 281.72778 -5188.4969 -6321.9159 1133.419 -6427.8856 26.287723 20.574037
70 277.26053 -5224.8434 -6340.2902 1115.4468 -6447.8521 27.742893 0.69420283
80 268.01484 -5281.8509 -6360.1014 1078.2505 -6496.6086 20.300754 5.2607186
90 270.43472 -5334.0835 -6422.0694 1087.9859 -6563.2511 39.846095 1.1832272
SHAKE stats (type/ave/delta) on step 100
4 1.11096 0.000191462
6 0.996989 3.55508e-05
8 1.08 9.0997e-06
10 1.111 1.58544e-05
12 1.08 5.80604e-06
14 0.959997 0
18 0.957198 2.92445e-05
31 104.52 0.00239923
100 260.35636 -5387.2284 -6434.6681 1047.4397 -6534.1956 20.246866 0.075048487
Loop time of 0.616036 on 4 procs for 100 steps with 2004 atoms
Performance: 28.050 ns/day, 0.856 hours/ns, 162.328 timesteps/s
99.1% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.40372 | 0.41244 | 0.41714 | 0.8 | 66.95
Bond | 0.00053573 | 0.0011384 | 0.0017946 | 1.8 | 0.18
Kspace | 0.060087 | 0.063993 | 0.07306 | 2.1 | 10.39
Neigh | 0.1033 | 0.10349 | 0.1036 | 0.0 | 16.80
Comm | 0.01568 | 0.016453 | 0.017178 | 0.5 | 2.67
Output | 0.00028253 | 0.00032026 | 0.00043178 | 0.0 | 0.05
Modify | 0.016238 | 0.016955 | 0.017704 | 0.5 | 2.75
Other | | 0.001239 | | | 0.20
Nlocal: 501 ave 513 max 494 min
Histogram: 1 1 0 1 0 0 0 0 0 1
Nghost: 6572.5 ave 6593 max 6548 min
Histogram: 1 0 1 0 0 0 0 0 0 2
Neighs: 177058 ave 181778 max 174301 min
Histogram: 2 0 0 0 1 0 0 0 0 1
Total # of neighbors = 708234
Ave neighs/atom = 353.41
Ave special neighs/atom = 2.34032
Neighbor list builds = 13
Dangerous builds = 1
Total wall time: 0:00:00

View File

@ -0,0 +1,732 @@
LAMMPS (27 Jun 2024)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
Reading data file ...
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 1 by 1 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 1 by 1 MPI processor grid
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 0 0
special bond factors coul: 0 0 0
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
special bonds CPU = 0.000 seconds
read_data CPU = 0.012 seconds
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
shell "rm -f out*.colvars.*"
fix 2 all colvars peptide.colvars
----------------------------------------------------------------------
Initializing the collective variables module, version 2024-06-04.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
This version was built with the C++11 standard or higher.
Summary of compile-time features available in this build:
- SMP parallelism: enabled (num. threads = 1)
- Lepton custom functions: available
- Tcl interpreter: not available
Using LAMMPS interface, version "2024-07-05".
fix 2a ref setforce 0.0 0.0 0.0
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
Finding SHAKE clusters ...
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
find clusters CPU = 0.000 seconds
#dump 1 colvar custom 1 dump.colvar.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
thermo_style custom step temp etotal pe ke epair ebond f_2
thermo 10
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.26872465
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.022820853
estimated relative force accuracy = 6.872432e-05
using double precision FFTW3
3d grid and FFT values/proc = 10648 3375
Generated 91 of 91 mixed pair_coeff terms from arithmetic mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 5 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
----------------------------------------------------------------------
Reading new configuration from file "peptide.colvars":
# units = "" [default]
# smp = on [default]
# colvarsTrajFrequency = 1
# colvarsRestartFrequency = 1000
# scriptedColvarForces = off [default]
# scriptingAfterBiases = off [default]
----------------------------------------------------------------------
Initializing a new collective variable.
# name = "one"
Initializing a new "distance" component.
# name = "" [default]
# componentCoeff = 1 [default]
# componentExp = 1 [default]
# period = 0 [default]
# wrapAround = 0 [default]
# forceNoPBC = off [default]
# scalable = on [default]
Initializing atom group "group1".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group1" defined with 4 atoms requested.
Initializing atom group "group2".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group2" defined with 1 atoms requested.
# oneSiteSystemForce = off [default]
# oneSiteTotalForce = off [default]
All components initialized.
# timeStepFactor = 1 [default]
# width = 1 [default]
# lowerBoundary = 0 [default]
# upperBoundary = 1 [default]
# hardLowerBoundary = on [default]
# hardUpperBoundary = off [default]
# expandBoundaries = off [default]
# extendedLagrangian = off [default]
# outputValue = on [default]
# outputVelocity = off [default]
# outputTotalForce = off [default]
# outputAppliedForce = off [default]
# subtractAppliedForce = off [default]
# runAve = off [default]
# corrFunc = off [default]
----------------------------------------------------------------------
Initializing a new collective variable.
# name = "two"
Initializing a new "distance" component.
# name = "" [default]
# componentCoeff = 1 [default]
# componentExp = 1 [default]
# period = 0 [default]
# wrapAround = 0 [default]
# forceNoPBC = off [default]
# scalable = on [default]
Initializing atom group "group1".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group1" defined with 4 atoms requested.
Initializing atom group "group2".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group2" defined with 1 atoms requested.
# oneSiteSystemForce = off [default]
# oneSiteTotalForce = off [default]
All components initialized.
# timeStepFactor = 1 [default]
# width = 1 [default]
# lowerBoundary = 0 [default]
# upperBoundary = 1 [default]
# hardLowerBoundary = on [default]
# hardUpperBoundary = off [default]
# expandBoundaries = off [default]
# extendedLagrangian = off [default]
# outputValue = on [default]
# outputVelocity = off [default]
# outputTotalForce = off [default]
# outputAppliedForce = off [default]
# subtractAppliedForce = off [default]
# runAve = off [default]
# corrFunc = off [default]
----------------------------------------------------------------------
Collective variables initialized, 2 in total.
----------------------------------------------------------------------
Initializing a new "harmonic" instance.
# name = "h_pot"
# colvars = { one, two }
# stepZeroData = off [default]
# outputEnergy = off [default]
# outputFreq = 1000 [default]
# timeStepFactor = 1 [default]
# writeTISamples = off [default]
# writeTIPMF = off [default]
# centers = { 10, 10 }
# targetCenters = { 10, 10 } [default]
# outputCenters = off [default]
# forceConstant = 100
# decoupling = off [default]
# targetForceConstant = -1 [default]
The force constant for colvar "one" will be rescaled to 100 according to the specified width (1).
The force constant for colvar "two" will be rescaled to 100 according to the specified width (1).
----------------------------------------------------------------------
Collective variables biases initialized, 1 in total.
----------------------------------------------------------------------
Collective variables module (re)initialized.
----------------------------------------------------------------------
Current simulation parameters: initial step = 0, integration timestep = 2
Updating atomic parameters (masses, charges, etc).
Re-initialized atom group for variable "one":0/0. 4 atoms: total mass = 15.035, total charge = -2.77556e-17.
Re-initialized atom group for variable "one":0/1. 1 atoms: total mass = 12.011, total charge = 0.51.
Re-initialized atom group for variable "two":0/0. 4 atoms: total mass = 15.035, total charge = 0.16.
Re-initialized atom group for variable "two":0/1. 1 atoms: total mass = 12.011, total charge = 0.51.
The final output state file will be "out.colvars.state".
Synchronizing (emptying the buffer of) trajectory file "out.colvars.traj".
SHAKE stats (type/ave/delta/count) on step 0
Bond: 4 1.111 1.44264e-05 9
Bond: 6 0.996998 7.26967e-06 6
Bond: 8 1.08 1.32536e-05 7
Bond: 10 1.111 1.22749e-05 8
Bond: 12 1.08 1.11767e-05 9
Bond: 14 0.96 0 1
Bond: 18 0.957206 4.37979e-05 1280
Angle: 31 104.519 0.00396029 640
Per MPI rank memory allocation (min/avg/max) = 19.03 | 19.03 | 19.03 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 292.14604
10 305.06149 -5058.8972 -6286.1901 1227.2929 -6413.1021 58.8499 103.38345
20 311.00516 -4999.0612 -6250.266 1251.2048 -6417.1021 47.695297 36.699695
30 314.22337 -4993.7012 -6257.8532 1264.152 -6421.9679 35.344144 10.563933
40 297.87491 -5020.8378 -6219.2184 1198.3805 -6389.8528 27.723133 3.8354517
50 304.02071 -5056.2576 -6279.3633 1223.1057 -6456.8214 55.459505 0.20678217
60 285.92576 -5104.0461 -6254.354 1150.3079 -6435.5814 32.767229 0.69352945
70 277.83519 -5163.9758 -6281.7345 1117.7587 -6447.7033 39.627168 11.433603
80 267.51495 -5206.4046 -6282.644 1076.2394 -6456.6369 31.611883 6.3554178
90 278.15579 -5245.3824 -6364.431 1119.0485 -6499.8063 28.849773 0.36941576
SHAKE stats (type/ave/delta/count) on step 100
Bond: 4 1.11098 8.97155e-05 9
Bond: 6 0.996996 1.00568e-05 6
Bond: 8 1.08 6.02345e-06 7
Bond: 10 1.111 1.84253e-05 8
Bond: 12 1.08 7.2713e-06 9
Bond: 14 0.959996 0 1
Bond: 18 0.957198 3.36079e-05 1280
Angle: 31 104.52 0.0030599 640
100 260.10613 -5292.6885 -6339.1215 1046.433 -6471.6734 25.362042 0.21987323
Saving collective variables state to "out.colvars.state".
Loop time of 0.897199 on 1 procs for 100 steps with 2004 atoms
Performance: 19.260 ns/day, 1.246 hours/ns, 111.458 timesteps/s, 223.362 katom-step/s
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.71298 | 0.71298 | 0.71298 | 0.0 | 79.47
Bond | 0.001284 | 0.001284 | 0.001284 | 0.0 | 0.14
Kspace | 0.041232 | 0.041232 | 0.041232 | 0.0 | 4.60
Neigh | 0.1277 | 0.1277 | 0.1277 | 0.0 | 14.23
Comm | 0.0033285 | 0.0033285 | 0.0033285 | 0.0 | 0.37
Output | 0.00017467 | 0.00017467 | 0.00017467 | 0.0 | 0.02
Modify | 0.010003 | 0.010003 | 0.010003 | 0.0 | 1.11
Other | | 0.0004941 | | | 0.06
Nlocal: 2004 ave 2004 max 2004 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 11124 ave 11124 max 11124 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 708237 ave 708237 max 708237 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 708237
Ave neighs/atom = 353.41168
Ave special neighs/atom = 2.3403194
Neighbor list builds = 12
Dangerous builds = 2
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Colvars module (Fiorin2013, plus other works listed for specific features)
% Colvars module:
% Colvars-LAMMPS interface:
% Harmonic colvar bias implementation:
% Optimal rotation via flexible fitting:
% distance colvar component:
@article{Fiorin2013,
author = {Fiorin, Giacomo and Klein, Michael L.{} and H\'enin, J\'er\^ome},
title = {Using collective variables to drive molecular dynamics simulations},
journal = {Mol. Phys.},
year = {2013},
volume = {111},
number = {22-23},
pages = {3345--3362},
publisher = {Taylor & Francis},
doi = {10.1080/00268976.2013.813594},
url = {https://doi.org/10.1080/00268976.2013.813594}
}
% LAMMPS engine:
@article{Thompson2022,
title = {{LAMMPS} - a flexible simulation tool for particle-based materials modeling at the atomic, meso, and continuum scales},
author = {Thompson, Aidan P. and Aktulga, H. Metin and Berger, Richard and Bolintineanu, Dan S. and Brown, W. Michael and Crozier, Paul S. and {in't Veld}, Pieter J. and Kohlmeyer, Axel and Moore, Stan G. and Nguyen, Trung Dac and Shan, Ray and Stevens, Mark J. and Tranchida, Julien and Trott, Christian and Plimpton, Steven J.},
journal = {Comp. Phys. Comm.},
volume = {271},
pages = {108171},
year = {2022},
doi = {10.1016/j.cpc.2021.108171},
url = {https://doi.org/10.1016/j.cpc.2021.108171}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.26872465
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.022820853
estimated relative force accuracy = 6.872432e-05
using double precision FFTW3
3d grid and FFT values/proc = 10648 3375
Generated 91 of 91 mixed pair_coeff terms from arithmetic mixing rule
Current simulation parameters: initial step = 100, integration timestep = 2
Updating atomic parameters (masses, charges, etc).
Re-initialized atom group for variable "one":0/0. 4 atoms: total mass = 15.035, total charge = -2.77556e-17.
Re-initialized atom group for variable "one":0/1. 1 atoms: total mass = 12.011, total charge = 0.51.
Re-initialized atom group for variable "two":0/0. 4 atoms: total mass = 15.035, total charge = 0.16.
Re-initialized atom group for variable "two":0/1. 1 atoms: total mass = 12.011, total charge = 0.51.
SHAKE stats (type/ave/delta/count) on step 100
Bond: 4 1.11098 8.97155e-05 9
Bond: 6 0.996996 1.00568e-05 6
Bond: 8 1.08 6.02345e-06 7
Bond: 10 1.111 1.84253e-05 8
Bond: 12 1.08 7.2713e-06 9
Bond: 14 0.959996 0 1
Bond: 18 0.957198 3.36079e-05 1280
Angle: 31 104.52 0.0030599 640
Per MPI rank memory allocation (min/avg/max) = 19.03 | 19.03 | 19.03 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
100 260.10613 -5292.6885 -6339.1215 1046.433 -6471.6734 25.362042 0.21987323
110 266.26438 -5341.1991 -6412.4073 1071.2082 -6552.7551 33.573173 1.9229657
120 262.66604 -5386.2387 -6442.9704 1056.7317 -6587.5483 29.859587 2.7124812
130 252.83379 -5422.5401 -6439.7157 1017.1756 -6580.4703 25.979343 1.2031591
140 253.85111 -5452.1838 -6473.4521 1021.2684 -6609.4826 26.071651 0.30585517
150 261.31816 -5490.4726 -6541.7817 1051.3091 -6646.6075 16.258823 6.9051008
160 255.7352 -5521.5941 -6550.4423 1028.8483 -6658.1372 19.717399 12.339679
170 253.42527 -5540.0942 -6559.6494 1019.5552 -6656.6678 23.293812 10.290217
180 248.51161 -5550.3254 -6550.1125 999.78704 -6661.4236 26.200127 3.4336037
190 250.80862 -5555.2554 -6564.2836 1009.0281 -6666.164 25.53634 3.3494286
SHAKE stats (type/ave/delta/count) on step 200
Bond: 4 1.111 1.81266e-06 9
Bond: 6 0.997 7.79424e-07 6
Bond: 8 1.08 1.08903e-06 7
Bond: 10 1.111 2.96503e-07 8
Bond: 12 1.08 4.69038e-07 9
Bond: 14 0.960001 0 1
Bond: 18 0.957201 3.76471e-06 1280
Angle: 31 104.52 0.000411055 640
200 251.50475 -5557.4251 -6569.2538 1011.8288 -6674.0845 24.804906 7.1387572
Saving collective variables state to "out.colvars.state".
Loop time of 0.855092 on 1 procs for 100 steps with 2004 atoms
Performance: 20.208 ns/day, 1.188 hours/ns, 116.946 timesteps/s, 234.361 katom-step/s
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.71954 | 0.71954 | 0.71954 | 0.0 | 84.15
Bond | 0.0012655 | 0.0012655 | 0.0012655 | 0.0 | 0.15
Kspace | 0.042826 | 0.042826 | 0.042826 | 0.0 | 5.01
Neigh | 0.078128 | 0.078128 | 0.078128 | 0.0 | 9.14
Comm | 0.0029003 | 0.0029003 | 0.0029003 | 0.0 | 0.34
Output | 0.00016605 | 0.00016605 | 0.00016605 | 0.0 | 0.02
Modify | 0.0097753 | 0.0097753 | 0.0097753 | 0.0 | 1.14
Other | | 0.0004882 | | | 0.06
Nlocal: 2004 ave 2004 max 2004 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 11159 ave 11159 max 11159 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 708083 ave 708083 max 708083 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 708083
Ave neighs/atom = 353.33483
Ave special neighs/atom = 2.3403194
Neighbor list builds = 7
Dangerous builds = 0
fix 2 all colvars peptide.colvars input out.colvars.state output out2
----------------------------------------------------------------------
Initializing the collective variables module, version 2024-06-04.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
This version was built with the C++11 standard or higher.
Summary of compile-time features available in this build:
- SMP parallelism: enabled (num. threads = 1)
- Lepton custom functions: available
- Tcl interpreter: not available
Using LAMMPS interface, version "2024-07-05".
Setting initial step number from MD engine: 200
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.26872465
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.022820853
estimated relative force accuracy = 6.872432e-05
using double precision FFTW3
3d grid and FFT values/proc = 10648 3375
Generated 91 of 91 mixed pair_coeff terms from arithmetic mixing rule
Will read input state from file "out.colvars.state"----------------------------------------------------------------------
Reading new configuration from file "peptide.colvars":
# units = "" [default]
# smp = on [default]
# colvarsTrajFrequency = 1
# colvarsRestartFrequency = 1000
# scriptedColvarForces = off [default]
# scriptingAfterBiases = off [default]
----------------------------------------------------------------------
Initializing a new collective variable.
# name = "one"
Initializing a new "distance" component.
# name = "" [default]
# componentCoeff = 1 [default]
# componentExp = 1 [default]
# period = 0 [default]
# wrapAround = 0 [default]
# forceNoPBC = off [default]
# scalable = on [default]
Initializing atom group "group1".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group1" defined with 4 atoms requested.
Initializing atom group "group2".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group2" defined with 1 atoms requested.
# oneSiteSystemForce = off [default]
# oneSiteTotalForce = off [default]
All components initialized.
# timeStepFactor = 1 [default]
# width = 1 [default]
# lowerBoundary = 0 [default]
# upperBoundary = 1 [default]
# hardLowerBoundary = on [default]
# hardUpperBoundary = off [default]
# expandBoundaries = off [default]
# extendedLagrangian = off [default]
# outputValue = on [default]
# outputVelocity = off [default]
# outputTotalForce = off [default]
# outputAppliedForce = off [default]
# subtractAppliedForce = off [default]
# runAve = off [default]
# corrFunc = off [default]
----------------------------------------------------------------------
Initializing a new collective variable.
# name = "two"
Initializing a new "distance" component.
# name = "" [default]
# componentCoeff = 1 [default]
# componentExp = 1 [default]
# period = 0 [default]
# wrapAround = 0 [default]
# forceNoPBC = off [default]
# scalable = on [default]
Initializing atom group "group1".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group1" defined with 4 atoms requested.
Initializing atom group "group2".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group2" defined with 1 atoms requested.
# oneSiteSystemForce = off [default]
# oneSiteTotalForce = off [default]
All components initialized.
# timeStepFactor = 1 [default]
# width = 1 [default]
# lowerBoundary = 0 [default]
# upperBoundary = 1 [default]
# hardLowerBoundary = on [default]
# hardUpperBoundary = off [default]
# expandBoundaries = off [default]
# extendedLagrangian = off [default]
# outputValue = on [default]
# outputVelocity = off [default]
# outputTotalForce = off [default]
# outputAppliedForce = off [default]
# subtractAppliedForce = off [default]
# runAve = off [default]
# corrFunc = off [default]
----------------------------------------------------------------------
Collective variables initialized, 2 in total.
----------------------------------------------------------------------
Initializing a new "harmonic" instance.
# name = "h_pot"
# colvars = { one, two }
# stepZeroData = off [default]
# outputEnergy = off [default]
# outputFreq = 1000 [default]
# timeStepFactor = 1 [default]
# writeTISamples = off [default]
# writeTIPMF = off [default]
# centers = { 10, 10 }
# targetCenters = { 10, 10 } [default]
# outputCenters = off [default]
# forceConstant = 100
# decoupling = off [default]
# targetForceConstant = -1 [default]
The force constant for colvar "one" will be rescaled to 100 according to the specified width (1).
The force constant for colvar "two" will be rescaled to 100 according to the specified width (1).
----------------------------------------------------------------------
Collective variables biases initialized, 1 in total.
----------------------------------------------------------------------
Collective variables module (re)initialized.
----------------------------------------------------------------------
Current simulation parameters: initial step = 200, integration timestep = 2
Updating atomic parameters (masses, charges, etc).
Re-initialized atom group for variable "one":0/0. 4 atoms: total mass = 15.035, total charge = -2.77556e-17.
Re-initialized atom group for variable "one":0/1. 1 atoms: total mass = 12.011, total charge = 0.51.
Re-initialized atom group for variable "two":0/0. 4 atoms: total mass = 15.035, total charge = 0.16.
Re-initialized atom group for variable "two":0/1. 1 atoms: total mass = 12.011, total charge = 0.51.
----------------------------------------------------------------------
Loading state from text file "out.colvars.state".
Restarting collective variable "one" from value: 10.0128
Restarting collective variable "two" from value: 9.62236
Restarted harmonic bias "h_pot" with step number 200.
----------------------------------------------------------------------
The final output state file will be "out2.colvars.state".
SHAKE stats (type/ave/delta/count) on step 200
Bond: 4 1.111 1.81266e-06 9
Bond: 6 0.997 7.79424e-07 6
Bond: 8 1.08 1.08903e-06 7
Bond: 10 1.111 2.96503e-07 8
Bond: 12 1.08 4.69038e-07 9
Bond: 14 0.960001 0 1
Bond: 18 0.957201 3.76471e-06 1280
Angle: 31 104.52 0.000411055 640
Per MPI rank memory allocation (min/avg/max) = 19.03 | 19.03 | 19.03 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
200 251.50475 -5557.4251 -6569.2538 1011.8288 -6674.0845 24.804906 7.1387572
210 253.15302 -5538.5614 -6557.0213 1018.4599 -6672.0496 37.676621 0.61219488
220 245.19621 -5522.5192 -6508.9681 986.44887 -6628.19 36.657688 0.048643387
230 258.69885 -5495.7277 -6536.499 1040.7713 -6658.2888 34.857911 0.2209256
240 260.79633 -5469.8678 -6519.0775 1049.2097 -6624.1799 31.576952 3.7574815
250 269.07527 -5438.3947 -6520.9114 1082.5167 -6616.4383 25.447674 8.6600023
260 266.01046 -5397.3484 -6467.5351 1070.1867 -6580.2895 26.871919 8.3323102
270 272.81307 -5350.882 -6448.4362 1097.5543 -6563.8228 23.114196 10.973132
280 279.42264 -5307.9798 -6432.125 1124.1452 -6557.3367 33.644021 8.5490492
290 286.85168 -5260.8411 -6414.874 1154.033 -6515.6797 28.574838 5.9100104
SHAKE stats (type/ave/delta/count) on step 300
Bond: 4 1.111 1.79793e-05 9
Bond: 6 0.997005 1.02512e-05 6
Bond: 8 1.08 1.85103e-05 7
Bond: 10 1.111 9.9884e-06 8
Bond: 12 1.08 8.84114e-06 9
Bond: 14 0.960008 0 1
Bond: 18 0.957203 1.8445e-05 1280
Angle: 31 104.52 0.00168383 640
300 291.52794 -5216.288 -6389.1341 1172.846 -6503.1276 27.889149 2.2482427
Saving collective variables state to "out2.colvars.state".
Loop time of 0.86889 on 1 procs for 100 steps with 2004 atoms
Performance: 19.887 ns/day, 1.207 hours/ns, 115.089 timesteps/s, 230.639 katom-step/s
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.72728 | 0.72728 | 0.72728 | 0.0 | 83.70
Bond | 0.0012755 | 0.0012755 | 0.0012755 | 0.0 | 0.15
Kspace | 0.041631 | 0.041631 | 0.041631 | 0.0 | 4.79
Neigh | 0.085283 | 0.085283 | 0.085283 | 0.0 | 9.82
Comm | 0.0029986 | 0.0029986 | 0.0029986 | 0.0 | 0.35
Output | 0.00013272 | 0.00013272 | 0.00013272 | 0.0 | 0.02
Modify | 0.0097972 | 0.0097972 | 0.0097972 | 0.0 | 1.13
Other | | 0.0004882 | | | 0.06
Nlocal: 2004 ave 2004 max 2004 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 11296 ave 11296 max 11296 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 708152 ave 708152 max 708152 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 708152
Ave neighs/atom = 353.36926
Ave special neighs/atom = 2.3403194
Neighbor list builds = 8
Dangerous builds = 0
Total wall time: 0:00:02

View File

@ -0,0 +1,732 @@
LAMMPS (27 Jun 2024)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
Reading data file ...
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 2 by 2 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 2 by 2 MPI processor grid
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 0 0
special bond factors coul: 0 0 0
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
special bonds CPU = 0.000 seconds
read_data CPU = 0.011 seconds
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
shell "rm -f out*.colvars.*"
fix 2 all colvars peptide.colvars
----------------------------------------------------------------------
Initializing the collective variables module, version 2024-06-04.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
This version was built with the C++11 standard or higher.
Summary of compile-time features available in this build:
- SMP parallelism: enabled (num. threads = 1)
- Lepton custom functions: available
- Tcl interpreter: not available
Using LAMMPS interface, version "2024-07-05".
fix 2a ref setforce 0.0 0.0 0.0
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
Finding SHAKE clusters ...
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
find clusters CPU = 0.000 seconds
#dump 1 colvar custom 1 dump.colvar.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
thermo_style custom step temp etotal pe ke epair ebond f_2
thermo 10
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.26872465
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.022820853
estimated relative force accuracy = 6.872432e-05
using double precision FFTW3
3d grid and FFT values/proc = 4312 960
Generated 91 of 91 mixed pair_coeff terms from arithmetic mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 5 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
----------------------------------------------------------------------
Reading new configuration from file "peptide.colvars":
# units = "" [default]
# smp = on [default]
# colvarsTrajFrequency = 1
# colvarsRestartFrequency = 1000
# scriptedColvarForces = off [default]
# scriptingAfterBiases = off [default]
----------------------------------------------------------------------
Initializing a new collective variable.
# name = "one"
Initializing a new "distance" component.
# name = "" [default]
# componentCoeff = 1 [default]
# componentExp = 1 [default]
# period = 0 [default]
# wrapAround = 0 [default]
# forceNoPBC = off [default]
# scalable = on [default]
Initializing atom group "group1".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group1" defined with 4 atoms requested.
Initializing atom group "group2".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group2" defined with 1 atoms requested.
# oneSiteSystemForce = off [default]
# oneSiteTotalForce = off [default]
All components initialized.
# timeStepFactor = 1 [default]
# width = 1 [default]
# lowerBoundary = 0 [default]
# upperBoundary = 1 [default]
# hardLowerBoundary = on [default]
# hardUpperBoundary = off [default]
# expandBoundaries = off [default]
# extendedLagrangian = off [default]
# outputValue = on [default]
# outputVelocity = off [default]
# outputTotalForce = off [default]
# outputAppliedForce = off [default]
# subtractAppliedForce = off [default]
# runAve = off [default]
# corrFunc = off [default]
----------------------------------------------------------------------
Initializing a new collective variable.
# name = "two"
Initializing a new "distance" component.
# name = "" [default]
# componentCoeff = 1 [default]
# componentExp = 1 [default]
# period = 0 [default]
# wrapAround = 0 [default]
# forceNoPBC = off [default]
# scalable = on [default]
Initializing atom group "group1".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group1" defined with 4 atoms requested.
Initializing atom group "group2".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group2" defined with 1 atoms requested.
# oneSiteSystemForce = off [default]
# oneSiteTotalForce = off [default]
All components initialized.
# timeStepFactor = 1 [default]
# width = 1 [default]
# lowerBoundary = 0 [default]
# upperBoundary = 1 [default]
# hardLowerBoundary = on [default]
# hardUpperBoundary = off [default]
# expandBoundaries = off [default]
# extendedLagrangian = off [default]
# outputValue = on [default]
# outputVelocity = off [default]
# outputTotalForce = off [default]
# outputAppliedForce = off [default]
# subtractAppliedForce = off [default]
# runAve = off [default]
# corrFunc = off [default]
----------------------------------------------------------------------
Collective variables initialized, 2 in total.
----------------------------------------------------------------------
Initializing a new "harmonic" instance.
# name = "h_pot"
# colvars = { one, two }
# stepZeroData = off [default]
# outputEnergy = off [default]
# outputFreq = 1000 [default]
# timeStepFactor = 1 [default]
# writeTISamples = off [default]
# writeTIPMF = off [default]
# centers = { 10, 10 }
# targetCenters = { 10, 10 } [default]
# outputCenters = off [default]
# forceConstant = 100
# decoupling = off [default]
# targetForceConstant = -1 [default]
The force constant for colvar "one" will be rescaled to 100 according to the specified width (1).
The force constant for colvar "two" will be rescaled to 100 according to the specified width (1).
----------------------------------------------------------------------
Collective variables biases initialized, 1 in total.
----------------------------------------------------------------------
Collective variables module (re)initialized.
----------------------------------------------------------------------
Current simulation parameters: initial step = 0, integration timestep = 2
Updating atomic parameters (masses, charges, etc).
Re-initialized atom group for variable "one":0/0. 4 atoms: total mass = 15.035, total charge = -2.77556e-17.
Re-initialized atom group for variable "one":0/1. 1 atoms: total mass = 12.011, total charge = 0.51.
Re-initialized atom group for variable "two":0/0. 4 atoms: total mass = 15.035, total charge = 0.16.
Re-initialized atom group for variable "two":0/1. 1 atoms: total mass = 12.011, total charge = 0.51.
The final output state file will be "out.colvars.state".
Synchronizing (emptying the buffer of) trajectory file "out.colvars.traj".
SHAKE stats (type/ave/delta/count) on step 0
Bond: 4 1.111 1.44264e-05 9
Bond: 6 0.996998 7.26967e-06 6
Bond: 8 1.08 1.32536e-05 7
Bond: 10 1.111 1.22749e-05 8
Bond: 12 1.08 1.11767e-05 9
Bond: 14 0.96 0 1
Bond: 18 0.957206 4.37979e-05 1280
Angle: 31 104.519 0.00396029 640
Per MPI rank memory allocation (min/avg/max) = 16.02 | 16.22 | 16.41 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 292.14604
10 305.06149 -5058.8972 -6286.1901 1227.2929 -6413.1021 58.8499 103.38345
20 311.00516 -4999.0612 -6250.266 1251.2048 -6417.1021 47.695297 36.699695
30 314.22337 -4993.7012 -6257.8532 1264.152 -6421.9679 35.344144 10.563933
40 297.87491 -5020.8378 -6219.2184 1198.3805 -6389.8528 27.723133 3.8354517
50 304.02071 -5056.2576 -6279.3633 1223.1057 -6456.8214 55.459505 0.20678217
60 285.92576 -5104.0461 -6254.354 1150.3079 -6435.5814 32.767229 0.69352945
70 277.83519 -5163.9758 -6281.7345 1117.7587 -6447.7033 39.627168 11.433603
80 267.51495 -5206.4046 -6282.644 1076.2394 -6456.6369 31.611883 6.3554178
90 278.15579 -5245.3824 -6364.431 1119.0485 -6499.8063 28.849773 0.36941576
SHAKE stats (type/ave/delta/count) on step 100
Bond: 4 1.11098 8.97155e-05 9
Bond: 6 0.996996 1.00568e-05 6
Bond: 8 1.08 6.02345e-06 7
Bond: 10 1.111 1.84253e-05 8
Bond: 12 1.08 7.2713e-06 9
Bond: 14 0.959996 0 1
Bond: 18 0.957198 3.36079e-05 1280
Angle: 31 104.52 0.0030599 640
100 260.10613 -5292.6885 -6339.1215 1046.433 -6471.6734 25.362042 0.21987323
Saving collective variables state to "out.colvars.state".
Loop time of 0.246405 on 4 procs for 100 steps with 2004 atoms
Performance: 70.128 ns/day, 0.342 hours/ns, 405.836 timesteps/s, 813.295 katom-step/s
99.5% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.17765 | 0.18092 | 0.18373 | 0.6 | 73.42
Bond | 0.00021581 | 0.00045219 | 0.00069916 | 0.0 | 0.18
Kspace | 0.018035 | 0.020459 | 0.023812 | 1.7 | 8.30
Neigh | 0.032165 | 0.032193 | 0.032207 | 0.0 | 13.07
Comm | 0.00566 | 0.0058533 | 0.0060088 | 0.2 | 2.38
Output | 0.00012205 | 0.00014069 | 0.00019404 | 0.0 | 0.06
Modify | 0.0059979 | 0.0060225 | 0.0060368 | 0.0 | 2.44
Other | | 0.0003631 | | | 0.15
Nlocal: 501 ave 513 max 489 min
Histogram: 1 0 0 0 1 1 0 0 0 1
Nghost: 6563.25 ave 6596 max 6519 min
Histogram: 1 0 1 0 0 0 0 0 0 2
Neighs: 177059 ave 181742 max 172942 min
Histogram: 1 0 1 0 0 0 1 0 0 1
Total # of neighbors = 708237
Ave neighs/atom = 353.41168
Ave special neighs/atom = 2.3403194
Neighbor list builds = 12
Dangerous builds = 2
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Colvars module (Fiorin2013, plus other works listed for specific features)
% Colvars module:
% Colvars-LAMMPS interface:
% Harmonic colvar bias implementation:
% Optimal rotation via flexible fitting:
% distance colvar component:
@article{Fiorin2013,
author = {Fiorin, Giacomo and Klein, Michael L.{} and H\'enin, J\'er\^ome},
title = {Using collective variables to drive molecular dynamics simulations},
journal = {Mol. Phys.},
year = {2013},
volume = {111},
number = {22-23},
pages = {3345--3362},
publisher = {Taylor & Francis},
doi = {10.1080/00268976.2013.813594},
url = {https://doi.org/10.1080/00268976.2013.813594}
}
% LAMMPS engine:
@article{Thompson2022,
title = {{LAMMPS} - a flexible simulation tool for particle-based materials modeling at the atomic, meso, and continuum scales},
author = {Thompson, Aidan P. and Aktulga, H. Metin and Berger, Richard and Bolintineanu, Dan S. and Brown, W. Michael and Crozier, Paul S. and {in't Veld}, Pieter J. and Kohlmeyer, Axel and Moore, Stan G. and Nguyen, Trung Dac and Shan, Ray and Stevens, Mark J. and Tranchida, Julien and Trott, Christian and Plimpton, Steven J.},
journal = {Comp. Phys. Comm.},
volume = {271},
pages = {108171},
year = {2022},
doi = {10.1016/j.cpc.2021.108171},
url = {https://doi.org/10.1016/j.cpc.2021.108171}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.26872465
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.022820853
estimated relative force accuracy = 6.872432e-05
using double precision FFTW3
3d grid and FFT values/proc = 4312 960
Generated 91 of 91 mixed pair_coeff terms from arithmetic mixing rule
Current simulation parameters: initial step = 100, integration timestep = 2
Updating atomic parameters (masses, charges, etc).
Re-initialized atom group for variable "one":0/0. 4 atoms: total mass = 15.035, total charge = -2.77556e-17.
Re-initialized atom group for variable "one":0/1. 1 atoms: total mass = 12.011, total charge = 0.51.
Re-initialized atom group for variable "two":0/0. 4 atoms: total mass = 15.035, total charge = 0.16.
Re-initialized atom group for variable "two":0/1. 1 atoms: total mass = 12.011, total charge = 0.51.
SHAKE stats (type/ave/delta/count) on step 100
Bond: 4 1.11098 8.97155e-05 9
Bond: 6 0.996996 1.00568e-05 6
Bond: 8 1.08 6.02345e-06 7
Bond: 10 1.111 1.84253e-05 8
Bond: 12 1.08 7.2713e-06 9
Bond: 14 0.959996 0 1
Bond: 18 0.957198 3.36079e-05 1280
Angle: 31 104.52 0.0030599 640
Per MPI rank memory allocation (min/avg/max) = 16.02 | 16.22 | 16.41 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
100 260.10613 -5292.6885 -6339.1215 1046.433 -6471.6734 25.362042 0.21987323
110 266.26438 -5341.1991 -6412.4073 1071.2082 -6552.7551 33.573173 1.9229657
120 262.66604 -5386.2387 -6442.9704 1056.7317 -6587.5483 29.859587 2.7124812
130 252.83379 -5422.5401 -6439.7157 1017.1756 -6580.4703 25.979343 1.2031591
140 253.85111 -5452.1837 -6473.4521 1021.2684 -6609.4826 26.071651 0.30585517
150 261.31816 -5490.4726 -6541.7816 1051.3091 -6646.6075 16.258823 6.9051008
160 255.7352 -5521.5941 -6550.4423 1028.8483 -6658.1373 19.717399 12.339679
170 253.42527 -5540.0942 -6559.6494 1019.5552 -6656.6678 23.293812 10.290217
180 248.51161 -5550.3254 -6550.1125 999.78704 -6661.4235 26.200127 3.4336036
190 250.80862 -5555.2555 -6564.2836 1009.0281 -6666.164 25.53634 3.3494286
SHAKE stats (type/ave/delta/count) on step 200
Bond: 4 1.111 1.81266e-06 9
Bond: 6 0.997 7.79424e-07 6
Bond: 8 1.08 1.08903e-06 7
Bond: 10 1.111 2.96503e-07 8
Bond: 12 1.08 4.69038e-07 9
Bond: 14 0.960001 0 1
Bond: 18 0.957201 3.76471e-06 1280
Angle: 31 104.52 0.000411055 640
200 251.50475 -5557.4252 -6569.2539 1011.8288 -6674.0846 24.804906 7.1387572
Saving collective variables state to "out.colvars.state".
Loop time of 0.238087 on 4 procs for 100 steps with 2004 atoms
Performance: 72.578 ns/day, 0.331 hours/ns, 420.014 timesteps/s, 841.709 katom-step/s
99.4% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.17913 | 0.18408 | 0.19082 | 1.1 | 77.32
Bond | 0.00019617 | 0.00044139 | 0.00071286 | 0.0 | 0.19
Kspace | 0.016186 | 0.022449 | 0.02737 | 3.0 | 9.43
Neigh | 0.018728 | 0.018753 | 0.018777 | 0.0 | 7.88
Comm | 0.0052171 | 0.0055397 | 0.0058422 | 0.3 | 2.33
Output | 0.00012326 | 0.00014453 | 0.00020506 | 0.0 | 0.06
Modify | 0.0062505 | 0.0062725 | 0.0062944 | 0.0 | 2.63
Other | | 0.0004069 | | | 0.17
Nlocal: 501 ave 513 max 481 min
Histogram: 1 0 0 0 0 0 1 0 1 1
Nghost: 6556.5 ave 6608 max 6514 min
Histogram: 2 0 0 0 0 0 0 1 0 1
Neighs: 177021 ave 182259 max 172089 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Total # of neighbors = 708083
Ave neighs/atom = 353.33483
Ave special neighs/atom = 2.3403194
Neighbor list builds = 7
Dangerous builds = 0
fix 2 all colvars peptide.colvars input out.colvars.state output out2
----------------------------------------------------------------------
Initializing the collective variables module, version 2024-06-04.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
This version was built with the C++11 standard or higher.
Summary of compile-time features available in this build:
- SMP parallelism: enabled (num. threads = 1)
- Lepton custom functions: available
- Tcl interpreter: not available
Using LAMMPS interface, version "2024-07-05".
Setting initial step number from MD engine: 200
run 100
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.26872465
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.022820853
estimated relative force accuracy = 6.872432e-05
using double precision FFTW3
3d grid and FFT values/proc = 4312 960
Generated 91 of 91 mixed pair_coeff terms from arithmetic mixing rule
Will read input state from file "out.colvars.state"----------------------------------------------------------------------
Reading new configuration from file "peptide.colvars":
# units = "" [default]
# smp = on [default]
# colvarsTrajFrequency = 1
# colvarsRestartFrequency = 1000
# scriptedColvarForces = off [default]
# scriptingAfterBiases = off [default]
----------------------------------------------------------------------
Initializing a new collective variable.
# name = "one"
Initializing a new "distance" component.
# name = "" [default]
# componentCoeff = 1 [default]
# componentExp = 1 [default]
# period = 0 [default]
# wrapAround = 0 [default]
# forceNoPBC = off [default]
# scalable = on [default]
Initializing atom group "group1".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group1" defined with 4 atoms requested.
Initializing atom group "group2".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group2" defined with 1 atoms requested.
# oneSiteSystemForce = off [default]
# oneSiteTotalForce = off [default]
All components initialized.
# timeStepFactor = 1 [default]
# width = 1 [default]
# lowerBoundary = 0 [default]
# upperBoundary = 1 [default]
# hardLowerBoundary = on [default]
# hardUpperBoundary = off [default]
# expandBoundaries = off [default]
# extendedLagrangian = off [default]
# outputValue = on [default]
# outputVelocity = off [default]
# outputTotalForce = off [default]
# outputAppliedForce = off [default]
# subtractAppliedForce = off [default]
# runAve = off [default]
# corrFunc = off [default]
----------------------------------------------------------------------
Initializing a new collective variable.
# name = "two"
Initializing a new "distance" component.
# name = "" [default]
# componentCoeff = 1 [default]
# componentExp = 1 [default]
# period = 0 [default]
# wrapAround = 0 [default]
# forceNoPBC = off [default]
# scalable = on [default]
Initializing atom group "group1".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group1" defined with 4 atoms requested.
Initializing atom group "group2".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group2" defined with 1 atoms requested.
# oneSiteSystemForce = off [default]
# oneSiteTotalForce = off [default]
All components initialized.
# timeStepFactor = 1 [default]
# width = 1 [default]
# lowerBoundary = 0 [default]
# upperBoundary = 1 [default]
# hardLowerBoundary = on [default]
# hardUpperBoundary = off [default]
# expandBoundaries = off [default]
# extendedLagrangian = off [default]
# outputValue = on [default]
# outputVelocity = off [default]
# outputTotalForce = off [default]
# outputAppliedForce = off [default]
# subtractAppliedForce = off [default]
# runAve = off [default]
# corrFunc = off [default]
----------------------------------------------------------------------
Collective variables initialized, 2 in total.
----------------------------------------------------------------------
Initializing a new "harmonic" instance.
# name = "h_pot"
# colvars = { one, two }
# stepZeroData = off [default]
# outputEnergy = off [default]
# outputFreq = 1000 [default]
# timeStepFactor = 1 [default]
# writeTISamples = off [default]
# writeTIPMF = off [default]
# centers = { 10, 10 }
# targetCenters = { 10, 10 } [default]
# outputCenters = off [default]
# forceConstant = 100
# decoupling = off [default]
# targetForceConstant = -1 [default]
The force constant for colvar "one" will be rescaled to 100 according to the specified width (1).
The force constant for colvar "two" will be rescaled to 100 according to the specified width (1).
----------------------------------------------------------------------
Collective variables biases initialized, 1 in total.
----------------------------------------------------------------------
Collective variables module (re)initialized.
----------------------------------------------------------------------
Current simulation parameters: initial step = 200, integration timestep = 2
Updating atomic parameters (masses, charges, etc).
Re-initialized atom group for variable "one":0/0. 4 atoms: total mass = 15.035, total charge = -2.77556e-17.
Re-initialized atom group for variable "one":0/1. 1 atoms: total mass = 12.011, total charge = 0.51.
Re-initialized atom group for variable "two":0/0. 4 atoms: total mass = 15.035, total charge = 0.16.
Re-initialized atom group for variable "two":0/1. 1 atoms: total mass = 12.011, total charge = 0.51.
----------------------------------------------------------------------
Loading state from text file "out.colvars.state".
Restarting collective variable "one" from value: 10.0128
Restarting collective variable "two" from value: 9.62236
Restarted harmonic bias "h_pot" with step number 200.
----------------------------------------------------------------------
The final output state file will be "out2.colvars.state".
SHAKE stats (type/ave/delta/count) on step 200
Bond: 4 1.111 1.81266e-06 9
Bond: 6 0.997 7.79424e-07 6
Bond: 8 1.08 1.08903e-06 7
Bond: 10 1.111 2.96503e-07 8
Bond: 12 1.08 4.69038e-07 9
Bond: 14 0.960001 0 1
Bond: 18 0.957201 3.76471e-06 1280
Angle: 31 104.52 0.000411055 640
Per MPI rank memory allocation (min/avg/max) = 16.02 | 16.22 | 16.41 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
200 251.50475 -5557.4252 -6569.2539 1011.8288 -6674.0846 24.804906 7.1387572
210 253.15302 -5538.5615 -6557.0215 1018.4599 -6672.0498 37.676621 0.61219488
220 245.19621 -5522.5191 -6508.9679 986.44887 -6628.1899 36.657688 0.048643387
230 258.69885 -5495.7275 -6536.4989 1040.7713 -6658.2886 34.857911 0.22092559
240 260.79633 -5469.8678 -6519.0775 1049.2097 -6624.18 31.576952 3.7574815
250 269.07527 -5438.3946 -6520.9113 1082.5167 -6616.4382 25.447675 8.6600023
260 266.01046 -5397.3485 -6467.5352 1070.1867 -6580.2896 26.871919 8.3323104
270 272.81307 -5350.8819 -6448.4362 1097.5543 -6563.8228 23.114196 10.973132
280 279.42265 -5307.9799 -6432.1251 1124.1452 -6557.3368 33.644022 8.5490489
290 286.85168 -5260.841 -6414.874 1154.033 -6515.6797 28.574838 5.9100102
SHAKE stats (type/ave/delta/count) on step 300
Bond: 4 1.111 1.79793e-05 9
Bond: 6 0.997005 1.02512e-05 6
Bond: 8 1.08 1.85103e-05 7
Bond: 10 1.111 9.9884e-06 8
Bond: 12 1.08 8.84114e-06 9
Bond: 14 0.960008 0 1
Bond: 18 0.957203 1.8445e-05 1280
Angle: 31 104.52 0.00168383 640
300 291.52793 -5216.288 -6389.1341 1172.846 -6503.1275 27.88915 2.2482428
Saving collective variables state to "out2.colvars.state".
Loop time of 0.245933 on 4 procs for 100 steps with 2004 atoms
Performance: 70.263 ns/day, 0.342 hours/ns, 406.614 timesteps/s, 814.854 katom-step/s
99.6% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.17862 | 0.18666 | 0.19126 | 1.2 | 75.90
Bond | 0.00021974 | 0.00048505 | 0.00077708 | 0.0 | 0.20
Kspace | 0.018338 | 0.02317 | 0.031148 | 3.4 | 9.42
Neigh | 0.022128 | 0.022183 | 0.022222 | 0.0 | 9.02
Comm | 0.0059137 | 0.0060593 | 0.0064247 | 0.3 | 2.46
Output | 0.00014648 | 0.00015946 | 0.00019596 | 0.0 | 0.06
Modify | 0.0067012 | 0.00674 | 0.0067814 | 0.0 | 2.74
Other | | 0.0004738 | | | 0.19
Nlocal: 501 ave 513 max 472 min
Histogram: 1 0 0 0 0 0 0 0 0 3
Nghost: 6612.75 ave 6681 max 6561 min
Histogram: 1 1 0 0 0 1 0 0 0 1
Neighs: 177038 ave 180136 max 170218 min
Histogram: 1 0 0 0 0 0 0 1 0 2
Total # of neighbors = 708152
Ave neighs/atom = 353.36926
Ave special neighs/atom = 2.3403194
Neighbor list builds = 8
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,344 @@
LAMMPS (27 Jun 2024)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
Reading data file ...
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 1 by 1 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 1 by 1 MPI processor grid
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 0 0
special bond factors coul: 0 0 0
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
special bonds CPU = 0.000 seconds
read_data CPU = 0.012 seconds
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
shell "rm -f peptide2.colvars.*"
fix 2 all colvars peptide.colvars2 output peptide2
----------------------------------------------------------------------
Initializing the collective variables module, version 2024-06-04.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
This version was built with the C++11 standard or higher.
Summary of compile-time features available in this build:
- SMP parallelism: enabled (num. threads = 1)
- Lepton custom functions: available
- Tcl interpreter: not available
Using LAMMPS interface, version "2024-07-05".
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
Finding SHAKE clusters ...
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
find clusters CPU = 0.000 seconds
#dump 1 colvar custom 1 dump.colvar2.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
thermo_style custom step temp etotal pe ke epair ebond f_2
thermo 10
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.26872465
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.022820853
estimated relative force accuracy = 6.872432e-05
using double precision FFTW3
3d grid and FFT values/proc = 10648 3375
Generated 91 of 91 mixed pair_coeff terms from arithmetic mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 5 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
----------------------------------------------------------------------
Reading new configuration from file "peptide.colvars2":
# units = "" [default]
# smp = on [default]
# colvarsTrajFrequency = 1
# colvarsRestartFrequency = 1000
# scriptedColvarForces = off [default]
# scriptingAfterBiases = off [default]
----------------------------------------------------------------------
Initializing a new collective variable.
# name = "one"
Initializing a new "distance" component.
# name = "" [default]
# componentCoeff = 1 [default]
# componentExp = 1 [default]
# period = 0 [default]
# wrapAround = 0 [default]
# forceNoPBC = off [default]
# scalable = on [default]
Initializing atom group "group1".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group1" defined with 4 atoms requested.
Initializing atom group "group2".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group2" defined with 4 atoms requested.
# oneSiteSystemForce = off [default]
# oneSiteTotalForce = off [default]
All components initialized.
# timeStepFactor = 1 [default]
# width = 1 [default]
# lowerBoundary = 0 [default]
# upperBoundary = 1 [default]
# hardLowerBoundary = on [default]
# hardUpperBoundary = off [default]
# expandBoundaries = off [default]
# extendedLagrangian = off [default]
# outputValue = on [default]
# outputVelocity = off [default]
# outputTotalForce = off [default]
# outputAppliedForce = off [default]
# subtractAppliedForce = off [default]
# runAve = off [default]
# corrFunc = off [default]
----------------------------------------------------------------------
Collective variables initialized, 1 in total.
----------------------------------------------------------------------
Initializing a new "harmonic" instance.
# name = "h_pot"
# colvars = { one }
# stepZeroData = off [default]
# outputEnergy = off [default]
# outputFreq = 1000 [default]
# timeStepFactor = 1 [default]
# writeTISamples = off [default]
# writeTIPMF = off [default]
# centers = { 10 }
# targetCenters = { 10 } [default]
# outputCenters = off [default]
# forceConstant = 100
# decoupling = off [default]
# targetForceConstant = -1 [default]
The force constant for colvar "one" will be rescaled to 100 according to the specified width (1).
----------------------------------------------------------------------
Collective variables biases initialized, 1 in total.
----------------------------------------------------------------------
Collective variables module (re)initialized.
----------------------------------------------------------------------
Current simulation parameters: initial step = 0, integration timestep = 2
Updating atomic parameters (masses, charges, etc).
Re-initialized atom group for variable "one":0/0. 4 atoms: total mass = 15.035, total charge = -2.77556e-17.
Re-initialized atom group for variable "one":0/1. 4 atoms: total mass = 15.035, total charge = 0.16.
The final output state file will be "peptide2.colvars.state".
Synchronizing (emptying the buffer of) trajectory file "peptide2.colvars.traj".
SHAKE stats (type/ave/delta/count) on step 0
Bond: 4 1.111 1.44264e-05 9
Bond: 6 0.996998 7.26967e-06 6
Bond: 8 1.08 1.32536e-05 7
Bond: 10 1.111 1.22749e-05 8
Bond: 12 1.08 1.11767e-05 9
Bond: 14 0.96 0 1
Bond: 18 0.957206 4.37979e-05 1280
Angle: 31 104.519 0.00396029 640
Per MPI rank memory allocation (min/avg/max) = 19.03 | 19.03 | 19.03 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 273.74323
10 333.47919 -4982.3968 -6324.0169 1341.6201 -6400.4223 21.367762 12.393263
20 309.56902 -4999.4978 -6244.9249 1245.4271 -6401.6981 43.59542 13.004314
30 316.9763 -5025.5662 -6300.7935 1275.2273 -6422.5375 27.323196 6.7589585
40 297.55779 -5088.2204 -6285.3252 1197.1047 -6395.375 13.6769 25.625024
50 296.79994 -5117.2966 -6311.3525 1194.0558 -6451.8309 30.631241 5.3320863
60 281.72778 -5188.4969 -6321.9159 1133.419 -6427.8856 26.287723 20.574037
70 277.26053 -5224.8434 -6340.2902 1115.4468 -6447.8521 27.742893 0.69420283
80 268.01484 -5281.8509 -6360.1014 1078.2505 -6496.6086 20.300754 5.2607186
90 270.43472 -5334.0835 -6422.0694 1087.9859 -6563.2511 39.846095 1.1832272
SHAKE stats (type/ave/delta/count) on step 100
Bond: 4 1.11096 0.000191462 9
Bond: 6 0.996989 3.55508e-05 6
Bond: 8 1.08 9.0997e-06 7
Bond: 10 1.111 1.58544e-05 8
Bond: 12 1.08 5.80604e-06 9
Bond: 14 0.959997 0 1
Bond: 18 0.957198 2.92445e-05 1280
Angle: 31 104.52 0.00239923 640
100 260.35636 -5387.2284 -6434.6681 1047.4397 -6534.1956 20.246866 0.075048487
Saving collective variables state to "peptide2.colvars.state".
Loop time of 0.907882 on 1 procs for 100 steps with 2004 atoms
Performance: 19.033 ns/day, 1.261 hours/ns, 110.146 timesteps/s, 220.734 katom-step/s
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.71563 | 0.71563 | 0.71563 | 0.0 | 78.82
Bond | 0.0013267 | 0.0013267 | 0.0013267 | 0.0 | 0.15
Kspace | 0.042157 | 0.042157 | 0.042157 | 0.0 | 4.64
Neigh | 0.13452 | 0.13452 | 0.13452 | 0.0 | 14.82
Comm | 0.0034995 | 0.0034995 | 0.0034995 | 0.0 | 0.39
Output | 0.00014584 | 0.00014584 | 0.00014584 | 0.0 | 0.02
Modify | 0.010115 | 0.010115 | 0.010115 | 0.0 | 1.11
Other | | 0.0004888 | | | 0.05
Nlocal: 2004 ave 2004 max 2004 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 11143 ave 11143 max 11143 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 708234 ave 708234 max 708234 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 708234
Ave neighs/atom = 353.41018
Ave special neighs/atom = 2.3403194
Neighbor list builds = 13
Dangerous builds = 1
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Colvars module (Fiorin2013, plus other works listed for specific features)
% Colvars module:
% Colvars-LAMMPS interface:
% Harmonic colvar bias implementation:
% Optimal rotation via flexible fitting:
% distance colvar component:
@article{Fiorin2013,
author = {Fiorin, Giacomo and Klein, Michael L.{} and H\'enin, J\'er\^ome},
title = {Using collective variables to drive molecular dynamics simulations},
journal = {Mol. Phys.},
year = {2013},
volume = {111},
number = {22-23},
pages = {3345--3362},
publisher = {Taylor & Francis},
doi = {10.1080/00268976.2013.813594},
url = {https://doi.org/10.1080/00268976.2013.813594}
}
% LAMMPS engine:
@article{Thompson2022,
title = {{LAMMPS} - a flexible simulation tool for particle-based materials modeling at the atomic, meso, and continuum scales},
author = {Thompson, Aidan P. and Aktulga, H. Metin and Berger, Richard and Bolintineanu, Dan S. and Brown, W. Michael and Crozier, Paul S. and {in't Veld}, Pieter J. and Kohlmeyer, Axel and Moore, Stan G. and Nguyen, Trung Dac and Shan, Ray and Stevens, Mark J. and Tranchida, Julien and Trott, Christian and Plimpton, Steven J.},
journal = {Comp. Phys. Comm.},
volume = {271},
pages = {108171},
year = {2022},
doi = {10.1016/j.cpc.2021.108171},
url = {https://doi.org/10.1016/j.cpc.2021.108171}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Total wall time: 0:00:00

View File

@ -0,0 +1,344 @@
LAMMPS (27 Jun 2024)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
Reading data file ...
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 2 by 2 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 2 by 2 MPI processor grid
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 0 0
special bond factors coul: 0 0 0
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
special bonds CPU = 0.000 seconds
read_data CPU = 0.011 seconds
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
shell "rm -f peptide2.colvars.*"
fix 2 all colvars peptide.colvars2 output peptide2
----------------------------------------------------------------------
Initializing the collective variables module, version 2024-06-04.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
Please cite Fiorin et al, Mol Phys 2013:
https://doi.org/10.1080/00268976.2013.813594
as well as all other papers listed below for individual features used.
This version was built with the C++11 standard or higher.
Summary of compile-time features available in this build:
- SMP parallelism: enabled (num. threads = 1)
- Lepton custom functions: available
- Tcl interpreter: not available
Using LAMMPS interface, version "2024-07-05".
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
Finding SHAKE clusters ...
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
find clusters CPU = 0.000 seconds
#dump 1 colvar custom 1 dump.colvar2.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
thermo_style custom step temp etotal pe ke epair ebond f_2
thermo 10
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.26872465
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.022820853
estimated relative force accuracy = 6.872432e-05
using double precision FFTW3
3d grid and FFT values/proc = 4312 960
Generated 91 of 91 mixed pair_coeff terms from arithmetic mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 5 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
----------------------------------------------------------------------
Reading new configuration from file "peptide.colvars2":
# units = "" [default]
# smp = on [default]
# colvarsTrajFrequency = 1
# colvarsRestartFrequency = 1000
# scriptedColvarForces = off [default]
# scriptingAfterBiases = off [default]
----------------------------------------------------------------------
Initializing a new collective variable.
# name = "one"
Initializing a new "distance" component.
# name = "" [default]
# componentCoeff = 1 [default]
# componentExp = 1 [default]
# period = 0 [default]
# wrapAround = 0 [default]
# forceNoPBC = off [default]
# scalable = on [default]
Initializing atom group "group1".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group1" defined with 4 atoms requested.
Initializing atom group "group2".
# name = "" [default]
# centerToOrigin = off [default]
# centerToReference = off [default]
# rotateToReference = off [default]
# atomsOfGroup = "" [default]
# indexGroup = "" [default]
# psfSegID = [default]
# atomsFile = "" [default]
# dummyAtom = ( 0 , 0 , 0 ) [default]
# enableFitGradients = on [default]
# printAtomIDs = off [default]
Atom group "group2" defined with 4 atoms requested.
# oneSiteSystemForce = off [default]
# oneSiteTotalForce = off [default]
All components initialized.
# timeStepFactor = 1 [default]
# width = 1 [default]
# lowerBoundary = 0 [default]
# upperBoundary = 1 [default]
# hardLowerBoundary = on [default]
# hardUpperBoundary = off [default]
# expandBoundaries = off [default]
# extendedLagrangian = off [default]
# outputValue = on [default]
# outputVelocity = off [default]
# outputTotalForce = off [default]
# outputAppliedForce = off [default]
# subtractAppliedForce = off [default]
# runAve = off [default]
# corrFunc = off [default]
----------------------------------------------------------------------
Collective variables initialized, 1 in total.
----------------------------------------------------------------------
Initializing a new "harmonic" instance.
# name = "h_pot"
# colvars = { one }
# stepZeroData = off [default]
# outputEnergy = off [default]
# outputFreq = 1000 [default]
# timeStepFactor = 1 [default]
# writeTISamples = off [default]
# writeTIPMF = off [default]
# centers = { 10 }
# targetCenters = { 10 } [default]
# outputCenters = off [default]
# forceConstant = 100
# decoupling = off [default]
# targetForceConstant = -1 [default]
The force constant for colvar "one" will be rescaled to 100 according to the specified width (1).
----------------------------------------------------------------------
Collective variables biases initialized, 1 in total.
----------------------------------------------------------------------
Collective variables module (re)initialized.
----------------------------------------------------------------------
Current simulation parameters: initial step = 0, integration timestep = 2
Updating atomic parameters (masses, charges, etc).
Re-initialized atom group for variable "one":0/0. 4 atoms: total mass = 15.035, total charge = -2.77556e-17.
Re-initialized atom group for variable "one":0/1. 4 atoms: total mass = 15.035, total charge = 0.16.
The final output state file will be "peptide2.colvars.state".
Synchronizing (emptying the buffer of) trajectory file "peptide2.colvars.traj".
SHAKE stats (type/ave/delta/count) on step 0
Bond: 4 1.111 1.44264e-05 9
Bond: 6 0.996998 7.26967e-06 6
Bond: 8 1.08 1.32536e-05 7
Bond: 10 1.111 1.22749e-05 8
Bond: 12 1.08 1.11767e-05 9
Bond: 14 0.96 0 1
Bond: 18 0.957206 4.37979e-05 1280
Angle: 31 104.519 0.00396029 640
Per MPI rank memory allocation (min/avg/max) = 16.02 | 16.22 | 16.41 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 273.74323
10 333.47919 -4982.3968 -6324.0169 1341.6201 -6400.4223 21.367762 12.393263
20 309.56902 -4999.4978 -6244.9249 1245.4271 -6401.6981 43.59542 13.004314
30 316.9763 -5025.5662 -6300.7935 1275.2273 -6422.5375 27.323196 6.7589585
40 297.55779 -5088.2204 -6285.3252 1197.1047 -6395.375 13.6769 25.625024
50 296.79994 -5117.2966 -6311.3525 1194.0558 -6451.8309 30.631241 5.3320863
60 281.72778 -5188.4969 -6321.9159 1133.419 -6427.8856 26.287723 20.574037
70 277.26053 -5224.8434 -6340.2902 1115.4468 -6447.8521 27.742893 0.69420283
80 268.01484 -5281.8509 -6360.1014 1078.2505 -6496.6086 20.300754 5.2607186
90 270.43472 -5334.0835 -6422.0694 1087.9859 -6563.2511 39.846095 1.1832272
SHAKE stats (type/ave/delta/count) on step 100
Bond: 4 1.11096 0.000191462 9
Bond: 6 0.996989 3.55508e-05 6
Bond: 8 1.08 9.0997e-06 7
Bond: 10 1.111 1.58544e-05 8
Bond: 12 1.08 5.80604e-06 9
Bond: 14 0.959997 0 1
Bond: 18 0.957198 2.92445e-05 1280
Angle: 31 104.52 0.00239923 640
100 260.35636 -5387.2284 -6434.6681 1047.4397 -6534.1956 20.246866 0.075048487
Saving collective variables state to "peptide2.colvars.state".
Loop time of 0.253421 on 4 procs for 100 steps with 2004 atoms
Performance: 68.187 ns/day, 0.352 hours/ns, 394.600 timesteps/s, 790.779 katom-step/s
99.6% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.1771 | 0.18185 | 0.18625 | 0.8 | 71.76
Bond | 0.00028771 | 0.00056007 | 0.00087366 | 0.0 | 0.22
Kspace | 0.017434 | 0.021451 | 0.026345 | 2.4 | 8.46
Neigh | 0.035481 | 0.035495 | 0.035512 | 0.0 | 14.01
Comm | 0.0064003 | 0.0065098 | 0.0065994 | 0.1 | 2.57
Output | 0.00012417 | 0.00013888 | 0.00018109 | 0.0 | 0.05
Modify | 0.0069389 | 0.0069521 | 0.0069617 | 0.0 | 2.74
Other | | 0.0004667 | | | 0.18
Nlocal: 501 ave 513 max 494 min
Histogram: 1 1 0 1 0 0 0 0 0 1
Nghost: 6572.5 ave 6593 max 6548 min
Histogram: 1 0 1 0 0 0 0 0 0 2
Neighs: 177058 ave 181778 max 174301 min
Histogram: 2 0 0 0 1 0 0 0 0 1
Total # of neighbors = 708234
Ave neighs/atom = 353.41018
Ave special neighs/atom = 2.3403194
Neighbor list builds = 13
Dangerous builds = 1
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Colvars module (Fiorin2013, plus other works listed for specific features)
% Colvars module:
% Colvars-LAMMPS interface:
% Harmonic colvar bias implementation:
% Optimal rotation via flexible fitting:
% distance colvar component:
@article{Fiorin2013,
author = {Fiorin, Giacomo and Klein, Michael L.{} and H\'enin, J\'er\^ome},
title = {Using collective variables to drive molecular dynamics simulations},
journal = {Mol. Phys.},
year = {2013},
volume = {111},
number = {22-23},
pages = {3345--3362},
publisher = {Taylor & Francis},
doi = {10.1080/00268976.2013.813594},
url = {https://doi.org/10.1080/00268976.2013.813594}
}
% LAMMPS engine:
@article{Thompson2022,
title = {{LAMMPS} - a flexible simulation tool for particle-based materials modeling at the atomic, meso, and continuum scales},
author = {Thompson, Aidan P. and Aktulga, H. Metin and Berger, Richard and Bolintineanu, Dan S. and Brown, W. Michael and Crozier, Paul S. and {in't Veld}, Pieter J. and Kohlmeyer, Axel and Moore, Stan G. and Nguyen, Trung Dac and Shan, Ray and Stevens, Mark J. and Tranchida, Julien and Trott, Christian and Plimpton, Steven J.},
journal = {Comp. Phys. Comm.},
volume = {271},
pages = {108171},
year = {2022},
doi = {10.1016/j.cpc.2021.108171},
url = {https://doi.org/10.1016/j.cpc.2021.108171}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Total wall time: 0:00:00

View File

@ -0,0 +1,194 @@
LAMMPS (27 Jun 2024)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
Reading data file ...
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 1 by 1 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 1 by 1 MPI processor grid
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 0 0
special bond factors coul: 0 0 0
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
special bonds CPU = 0.000 seconds
read_data CPU = 0.012 seconds
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
fix 3a one spring couple ref 100.0 0.0 0.0 0.0 10.0
fix 3b two spring couple ref 100.0 0.0 0.0 0.0 10.0
fix 2a ref setforce 0.0 0.0 0.0
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
Finding SHAKE clusters ...
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
find clusters CPU = 0.000 seconds
#dump 1 colvar custom 1 dump.spring.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
variable sp equal f_3a+f_3b
thermo_style custom step temp etotal pe ke epair ebond v_sp
thermo 10
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.26872465
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.022820853
estimated relative force accuracy = 6.872432e-05
using double precision FFTW3
3d grid and FFT values/proc = 10648 3375
Generated 91 of 91 mixed pair_coeff terms from arithmetic mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 5 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
SHAKE stats (type/ave/delta/count) on step 0
Bond: 4 1.111 1.44264e-05 9
Bond: 6 0.996998 7.26967e-06 6
Bond: 8 1.08 1.32536e-05 7
Bond: 10 1.111 1.22749e-05 8
Bond: 12 1.08 1.11767e-05 9
Bond: 14 0.96 0 1
Bond: 18 0.957206 4.37979e-05 1280
Angle: 31 104.519 0.00396029 640
Per MPI rank memory allocation (min/avg/max) = 19.03 | 19.03 | 19.03 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond v_sp
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 292.14604
10 305.06149 -5058.8972 -6286.1901 1227.2929 -6413.1021 58.8499 103.38345
20 311.00516 -4999.0612 -6250.266 1251.2048 -6417.1021 47.695297 36.699695
30 314.22337 -4993.7012 -6257.8532 1264.152 -6421.9679 35.344144 10.563933
40 297.87491 -5020.8378 -6219.2184 1198.3805 -6389.8528 27.723133 3.8354517
50 304.02071 -5056.2576 -6279.3633 1223.1057 -6456.8214 55.459505 0.20678217
60 285.92576 -5104.0461 -6254.354 1150.3079 -6435.5814 32.767229 0.69352945
70 277.83519 -5163.9758 -6281.7345 1117.7587 -6447.7033 39.627168 11.433603
80 267.51495 -5206.4046 -6282.644 1076.2394 -6456.6369 31.611883 6.3554178
90 278.15579 -5245.3824 -6364.431 1119.0485 -6499.8063 28.849773 0.36941576
SHAKE stats (type/ave/delta/count) on step 100
Bond: 4 1.11098 8.97155e-05 9
Bond: 6 0.996996 1.00568e-05 6
Bond: 8 1.08 6.02345e-06 7
Bond: 10 1.111 1.84253e-05 8
Bond: 12 1.08 7.2713e-06 9
Bond: 14 0.959996 0 1
Bond: 18 0.957198 3.36079e-05 1280
Angle: 31 104.52 0.0030599 640
100 260.10613 -5292.6885 -6339.1215 1046.433 -6471.6734 25.362042 0.21987323
Loop time of 0.893963 on 1 procs for 100 steps with 2004 atoms
Performance: 19.330 ns/day, 1.242 hours/ns, 111.861 timesteps/s, 224.170 katom-step/s
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.7114 | 0.7114 | 0.7114 | 0.0 | 79.58
Bond | 0.0012663 | 0.0012663 | 0.0012663 | 0.0 | 0.14
Kspace | 0.041962 | 0.041962 | 0.041962 | 0.0 | 4.69
Neigh | 0.12542 | 0.12542 | 0.12542 | 0.0 | 14.03
Comm | 0.0033466 | 0.0033466 | 0.0033466 | 0.0 | 0.37
Output | 0.00017765 | 0.00017765 | 0.00017765 | 0.0 | 0.02
Modify | 0.0098927 | 0.0098927 | 0.0098927 | 0.0 | 1.11
Other | | 0.0005014 | | | 0.06
Nlocal: 2004 ave 2004 max 2004 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 11124 ave 11124 max 11124 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 708237 ave 708237 max 708237 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 708237
Ave neighs/atom = 353.41168
Ave special neighs/atom = 2.3403194
Neighbor list builds = 12
Dangerous builds = 2
Total wall time: 0:00:00

View File

@ -0,0 +1,194 @@
LAMMPS (27 Jun 2024)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
Reading data file ...
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 2 by 2 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 2 by 2 MPI processor grid
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 0 0
special bond factors coul: 0 0 0
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
special bonds CPU = 0.000 seconds
read_data CPU = 0.010 seconds
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
fix 3a one spring couple ref 100.0 0.0 0.0 0.0 10.0
fix 3b two spring couple ref 100.0 0.0 0.0 0.0 10.0
fix 2a ref setforce 0.0 0.0 0.0
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
Finding SHAKE clusters ...
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
find clusters CPU = 0.000 seconds
#dump 1 colvar custom 1 dump.spring.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
variable sp equal f_3a+f_3b
thermo_style custom step temp etotal pe ke epair ebond v_sp
thermo 10
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.26872465
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.022820853
estimated relative force accuracy = 6.872432e-05
using double precision FFTW3
3d grid and FFT values/proc = 4312 960
Generated 91 of 91 mixed pair_coeff terms from arithmetic mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 5 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
SHAKE stats (type/ave/delta/count) on step 0
Bond: 4 1.111 1.44264e-05 9
Bond: 6 0.996998 7.26967e-06 6
Bond: 8 1.08 1.32536e-05 7
Bond: 10 1.111 1.22749e-05 8
Bond: 12 1.08 1.11767e-05 9
Bond: 14 0.96 0 1
Bond: 18 0.957206 4.37979e-05 1280
Angle: 31 104.519 0.00396029 640
Per MPI rank memory allocation (min/avg/max) = 16.01 | 16.22 | 16.41 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond v_sp
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 292.14604
10 305.06149 -5058.8972 -6286.1901 1227.2929 -6413.1021 58.8499 103.38345
20 311.00516 -4999.0612 -6250.266 1251.2048 -6417.1021 47.695297 36.699695
30 314.22337 -4993.7012 -6257.8532 1264.152 -6421.9679 35.344144 10.563933
40 297.87491 -5020.8378 -6219.2184 1198.3805 -6389.8528 27.723133 3.8354517
50 304.02071 -5056.2576 -6279.3633 1223.1057 -6456.8214 55.459505 0.20678217
60 285.92576 -5104.0461 -6254.354 1150.3079 -6435.5814 32.767229 0.69352945
70 277.83519 -5163.9758 -6281.7345 1117.7587 -6447.7033 39.627168 11.433603
80 267.51495 -5206.4046 -6282.644 1076.2394 -6456.6369 31.611883 6.3554178
90 278.15579 -5245.3824 -6364.431 1119.0485 -6499.8063 28.849773 0.36941576
SHAKE stats (type/ave/delta/count) on step 100
Bond: 4 1.11098 8.97155e-05 9
Bond: 6 0.996996 1.00568e-05 6
Bond: 8 1.08 6.02345e-06 7
Bond: 10 1.111 1.84253e-05 8
Bond: 12 1.08 7.2713e-06 9
Bond: 14 0.959996 0 1
Bond: 18 0.957198 3.36079e-05 1280
Angle: 31 104.52 0.0030599 640
100 260.10613 -5292.6885 -6339.1215 1046.433 -6471.6734 25.362042 0.21987323
Loop time of 0.247541 on 4 procs for 100 steps with 2004 atoms
Performance: 69.806 ns/day, 0.344 hours/ns, 403.973 timesteps/s, 809.561 katom-step/s
99.3% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.17778 | 0.18129 | 0.18529 | 0.8 | 73.24
Bond | 0.00024025 | 0.00049912 | 0.00080235 | 0.0 | 0.20
Kspace | 0.016204 | 0.0204 | 0.023648 | 2.3 | 8.24
Neigh | 0.032425 | 0.032462 | 0.032496 | 0.0 | 13.11
Comm | 0.0063955 | 0.0065509 | 0.0067449 | 0.2 | 2.65
Output | 0.0001675 | 0.00018071 | 0.00021385 | 0.0 | 0.07
Modify | 0.0057027 | 0.0057304 | 0.0057568 | 0.0 | 2.31
Other | | 0.0004289 | | | 0.17
Nlocal: 501 ave 513 max 489 min
Histogram: 1 0 0 0 1 1 0 0 0 1
Nghost: 6563.25 ave 6596 max 6519 min
Histogram: 1 0 1 0 0 0 0 0 0 2
Neighs: 177059 ave 181742 max 172942 min
Histogram: 1 0 1 0 0 0 1 0 0 1
Total # of neighbors = 708237
Ave neighs/atom = 353.41168
Ave special neighs/atom = 2.3403194
Neighbor list builds = 12
Dangerous builds = 2
Total wall time: 0:00:00

View File

@ -0,0 +1,189 @@
LAMMPS (27 Jun 2024)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
Reading data file ...
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 1 by 1 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 1 by 1 MPI processor grid
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 0 0
special bond factors coul: 0 0 0
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
special bonds CPU = 0.000 seconds
read_data CPU = 0.012 seconds
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
fix 3 one spring couple two 100.0 0.0 0.0 0.0 10.0
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
Finding SHAKE clusters ...
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
find clusters CPU = 0.000 seconds
#dump 1 colvar custom 1 dump.spring2.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
thermo_style custom step temp etotal pe ke epair ebond f_3
thermo 10
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.26872465
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.022820853
estimated relative force accuracy = 6.872432e-05
using double precision FFTW3
3d grid and FFT values/proc = 10648 3375
Generated 91 of 91 mixed pair_coeff terms from arithmetic mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 5 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
SHAKE stats (type/ave/delta/count) on step 0
Bond: 4 1.111 1.44264e-05 9
Bond: 6 0.996998 7.26967e-06 6
Bond: 8 1.08 1.32536e-05 7
Bond: 10 1.111 1.22749e-05 8
Bond: 12 1.08 1.11767e-05 9
Bond: 14 0.96 0 1
Bond: 18 0.957206 4.37979e-05 1280
Angle: 31 104.519 0.00396029 640
Per MPI rank memory allocation (min/avg/max) = 19.03 | 19.03 | 19.03 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_3
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 273.74323
10 333.47919 -4982.3968 -6324.0169 1341.6201 -6400.4223 21.367762 12.393263
20 309.56902 -4999.4978 -6244.9249 1245.4271 -6401.6981 43.59542 13.004314
30 316.9763 -5025.5662 -6300.7935 1275.2273 -6422.5375 27.323196 6.7589585
40 297.55779 -5088.2204 -6285.3252 1197.1047 -6395.375 13.6769 25.625024
50 296.79994 -5117.2966 -6311.3525 1194.0558 -6451.8309 30.631241 5.3320863
60 281.72778 -5188.4969 -6321.9159 1133.419 -6427.8856 26.287723 20.574037
70 277.26053 -5224.8434 -6340.2902 1115.4468 -6447.8521 27.742893 0.69420283
80 268.01484 -5281.8509 -6360.1014 1078.2505 -6496.6086 20.300754 5.2607186
90 270.43472 -5334.0835 -6422.0694 1087.9859 -6563.2511 39.846095 1.1832272
SHAKE stats (type/ave/delta/count) on step 100
Bond: 4 1.11096 0.000191462 9
Bond: 6 0.996989 3.55508e-05 6
Bond: 8 1.08 9.0997e-06 7
Bond: 10 1.111 1.58544e-05 8
Bond: 12 1.08 5.80604e-06 9
Bond: 14 0.959997 0 1
Bond: 18 0.957198 2.92445e-05 1280
Angle: 31 104.52 0.00239923 640
100 260.35636 -5387.2284 -6434.6681 1047.4397 -6534.1956 20.246866 0.075048487
Loop time of 0.910778 on 1 procs for 100 steps with 2004 atoms
Performance: 18.973 ns/day, 1.265 hours/ns, 109.796 timesteps/s, 220.032 katom-step/s
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.71746 | 0.71746 | 0.71746 | 0.0 | 78.77
Bond | 0.0012756 | 0.0012756 | 0.0012756 | 0.0 | 0.14
Kspace | 0.042462 | 0.042462 | 0.042462 | 0.0 | 4.66
Neigh | 0.13497 | 0.13497 | 0.13497 | 0.0 | 14.82
Comm | 0.0036247 | 0.0036247 | 0.0036247 | 0.0 | 0.40
Output | 0.00016145 | 0.00016145 | 0.00016145 | 0.0 | 0.02
Modify | 0.010258 | 0.010258 | 0.010258 | 0.0 | 1.13
Other | | 0.0005695 | | | 0.06
Nlocal: 2004 ave 2004 max 2004 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 11143 ave 11143 max 11143 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 708234 ave 708234 max 708234 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 708234
Ave neighs/atom = 353.41018
Ave special neighs/atom = 2.3403194
Neighbor list builds = 13
Dangerous builds = 1
Total wall time: 0:00:00

View File

@ -0,0 +1,189 @@
LAMMPS (27 Jun 2024)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# Solvated 5-mer peptide
units real
atom_style full
pair_style lj/charmm/coul/long 8.0 10.0 10.0
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
kspace_style pppm 0.0001
read_data data.peptide
Reading data file ...
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 2 by 2 MPI processor grid
reading atoms ...
2004 atoms
reading velocities ...
2004 velocities
scanning bonds ...
3 = max bonds/atom
scanning angles ...
6 = max angles/atom
scanning dihedrals ...
14 = max dihedrals/atom
scanning impropers ...
1 = max impropers/atom
orthogonal box = (36.840194 41.013691 29.768095) to (64.21156 68.385058 57.139462)
1 by 2 by 2 MPI processor grid
reading bonds ...
1365 bonds
reading angles ...
786 angles
reading dihedrals ...
207 dihedrals
reading impropers ...
12 impropers
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 0 0
special bond factors coul: 0 0 0
4 = max # of 1-2 neighbors
7 = max # of 1-3 neighbors
14 = max # of 1-4 neighbors
18 = max # of special neighbors
special bonds CPU = 0.000 seconds
read_data CPU = 0.011 seconds
neighbor 2.0 bin
neigh_modify delay 5
timestep 2.0
group peptide type <= 12
84 atoms in group peptide
group one id 2 4 5 6
4 atoms in group one
group two id 80 82 83 84
4 atoms in group two
group ref id 37
1 atoms in group ref
group colvar union one two ref
9 atoms in group colvar
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
fix 3 one spring couple two 100.0 0.0 0.0 0.0 10.0
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
Finding SHAKE clusters ...
19 = # of size 2 clusters
6 = # of size 3 clusters
3 = # of size 4 clusters
640 = # of frozen angles
find clusters CPU = 0.000 seconds
#dump 1 colvar custom 1 dump.spring2.lammpstrj id xu yu zu fx fy fz
#dump_modify 1 sort id
thermo_style custom step temp etotal pe ke epair ebond f_3
thermo 10
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.26872465
grid = 15 15 15
stencil order = 5
estimated absolute RMS force accuracy = 0.022820853
estimated relative force accuracy = 6.872432e-05
using double precision FFTW3
3d grid and FFT values/proc = 4312 960
Generated 91 of 91 mixed pair_coeff terms from arithmetic mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 5 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 5 5 5
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmm/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
SHAKE stats (type/ave/delta/count) on step 0
Bond: 4 1.111 1.44264e-05 9
Bond: 6 0.996998 7.26967e-06 6
Bond: 8 1.08 1.32536e-05 7
Bond: 10 1.111 1.22749e-05 8
Bond: 12 1.08 1.11767e-05 9
Bond: 14 0.96 0 1
Bond: 18 0.957206 4.37979e-05 1280
Angle: 31 104.519 0.00396029 640
Per MPI rank memory allocation (min/avg/max) = 16.01 | 16.22 | 16.41 Mbytes
Step Temp TotEng PotEng KinEng E_pair E_bond f_3
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 273.74323
10 333.47919 -4982.3968 -6324.0169 1341.6201 -6400.4223 21.367762 12.393263
20 309.56902 -4999.4978 -6244.9249 1245.4271 -6401.6981 43.59542 13.004314
30 316.9763 -5025.5662 -6300.7935 1275.2273 -6422.5375 27.323196 6.7589585
40 297.55779 -5088.2204 -6285.3252 1197.1047 -6395.375 13.6769 25.625024
50 296.79994 -5117.2966 -6311.3525 1194.0558 -6451.8309 30.631241 5.3320863
60 281.72778 -5188.4969 -6321.9159 1133.419 -6427.8856 26.287723 20.574037
70 277.26053 -5224.8434 -6340.2902 1115.4468 -6447.8521 27.742893 0.69420283
80 268.01484 -5281.8509 -6360.1014 1078.2505 -6496.6086 20.300754 5.2607186
90 270.43472 -5334.0835 -6422.0694 1087.9859 -6563.2511 39.846095 1.1832272
SHAKE stats (type/ave/delta/count) on step 100
Bond: 4 1.11096 0.000191462 9
Bond: 6 0.996989 3.55508e-05 6
Bond: 8 1.08 9.0997e-06 7
Bond: 10 1.111 1.58544e-05 8
Bond: 12 1.08 5.80604e-06 9
Bond: 14 0.959997 0 1
Bond: 18 0.957198 2.92445e-05 1280
Angle: 31 104.52 0.00239923 640
100 260.35636 -5387.2284 -6434.6681 1047.4397 -6534.1956 20.246866 0.075048487
Loop time of 0.248812 on 4 procs for 100 steps with 2004 atoms
Performance: 69.450 ns/day, 0.346 hours/ns, 401.910 timesteps/s, 805.428 katom-step/s
99.5% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.17522 | 0.18002 | 0.18454 | 1.0 | 72.35
Bond | 0.00020312 | 0.00044793 | 0.00074786 | 0.0 | 0.18
Kspace | 0.016556 | 0.021002 | 0.026079 | 3.0 | 8.44
Neigh | 0.035695 | 0.03571 | 0.03572 | 0.0 | 14.35
Comm | 0.0057324 | 0.0058127 | 0.005874 | 0.1 | 2.34
Output | 0.00013005 | 0.00013946 | 0.00016548 | 0.0 | 0.06
Modify | 0.00526 | 0.0052645 | 0.005272 | 0.0 | 2.12
Other | | 0.0004197 | | | 0.17
Nlocal: 501 ave 513 max 494 min
Histogram: 1 1 0 1 0 0 0 0 0 1
Nghost: 6572.5 ave 6593 max 6548 min
Histogram: 1 0 1 0 0 0 0 0 0 2
Neighs: 177058 ave 181778 max 174301 min
Histogram: 2 0 0 0 1 0 0 0 0 1
Total # of neighbors = 708234
Ave neighs/atom = 353.41018
Ave special neighs/atom = 2.3403194
Neighbor list builds = 13
Dangerous builds = 1
Total wall time: 0:00:00

View File

@ -1,17 +1,17 @@
configuration {
step 200
dt 2.000000e+00
version 2020-07-07
version 2024-06-04
}
colvar {
name one
x 1.00127732034965e+01
x 10.012773203962
}
colvar {
name two
x 9.62235997490241e+00
x 9.6223599748448
}
restraint {

View File

@ -1,17 +1,17 @@
configuration {
step 100
dt 2.000000e+00
version 2020-07-07
version 2024-06-04
}
colvar {
name one
x 1.00136989326255e+01
x 10.013698932648
}
colvar {
name two
x 1.00648830006091e+01
x 10.064883000604
}
restraint {

View File

@ -13,191 +13,191 @@
11 1.01744058364969e+01 8.66916428851601e+00
12 1.01894584969823e+01 8.75011341291751e+00
13 1.02015949657517e+01 8.81261373358815e+00
14 1.02107634786499e+01 8.86010572643564e+00
14 1.02107634786498e+01 8.86010572643564e+00
15 1.02172802335367e+01 8.89996164389908e+00
16 1.02217586687617e+01 8.94046117354318e+00
17 1.02249400729821e+01 8.98764357480963e+00
18 1.02274821194763e+01 9.04385418276306e+00
19 1.02297694921722e+01 9.10767828090644e+00
20 1.02317948794015e+01 9.17521818721732e+00
20 1.02317948794015e+01 9.17521818721733e+00
21 1.02331324174422e+01 9.24256921345538e+00
22 1.02330115052436e+01 9.30670040650459e+00
22 1.02330115052436e+01 9.30670040650458e+00
23 1.02304888847637e+01 9.36477739916766e+00
24 1.02246905091409e+01 9.41471338314027e+00
25 1.02150557312054e+01 9.45578119421866e+00
26 1.02015018849614e+01 9.48855148434622e+00
27 1.01844563445019e+01 9.51414398880334e+00
26 1.02015018849613e+01 9.48855148434622e+00
27 1.01844563445019e+01 9.51414398880333e+00
28 1.01647618536435e+01 9.53348342780342e+00
29 1.01435075836914e+01 9.54736918677922e+00
30 1.01218448127414e+01 9.55679294480281e+00
30 1.01218448127414e+01 9.55679294480282e+00
31 1.01008234685872e+01 9.56289707955055e+00
32 1.00812605992407e+01 9.56689852729787e+00
33 1.00636482078211e+01 9.57008522470066e+00
34 1.00481219532447e+01 9.57404682801174e+00
35 1.00345149123742e+01 9.58097344406653e+00
32 1.00812605992407e+01 9.56689852729789e+00
33 1.00636482078211e+01 9.57008522470067e+00
34 1.00481219532447e+01 9.57404682801176e+00
35 1.00345149123742e+01 9.58097344406654e+00
36 1.00224896192326e+01 9.59352147402459e+00
37 1.00117065902086e+01 9.61412496221624e+00
38 1.00019625883763e+01 9.64369256665448e+00
39 9.99324045988116e+00 9.68100279483232e+00
40 9.98566198277188e+00 9.72340741886406e+00
41 9.97939087537504e+00 9.76737558060000e+00
42 9.97455220189940e+00 9.80830263552738e+00
43 9.97120052013341e+00 9.84185625268822e+00
44 9.96933202180119e+00 9.86623764187619e+00
45 9.96891976615505e+00 9.88235950966856e+00
46 9.96994868341340e+00 9.89287033859050e+00
47 9.97242707411381e+00 9.90111363064262e+00
48 9.97636549450466e+00 9.91016536955268e+00
49 9.98173560597232e+00 9.92197275407224e+00
50 9.98843048433684e+00 9.93674029911159e+00
39 9.99324045988117e+00 9.68100279483232e+00
40 9.98566198277187e+00 9.72340741886405e+00
41 9.97939087537503e+00 9.76737558059998e+00
42 9.97455220189941e+00 9.80830263552736e+00
43 9.97120052013341e+00 9.84185625268820e+00
44 9.96933202180119e+00 9.86623764187617e+00
45 9.96891976615505e+00 9.88235950966853e+00
46 9.96994868341340e+00 9.89287033859049e+00
47 9.97242707411382e+00 9.90111363064261e+00
48 9.97636549450467e+00 9.91016536955268e+00
49 9.98173560597233e+00 9.92197275407223e+00
50 9.98843048433685e+00 9.93674029911158e+00
51 9.99624064138588e+00 9.95286099036568e+00
52 1.00048525916104e+01 9.96759873289121e+00
53 1.00138780764319e+01 9.97821328789638e+00
53 1.00138780764319e+01 9.97821328789637e+00
54 1.00229204333232e+01 9.98289434996108e+00
55 1.00316676518615e+01 9.98113328544968e+00
56 1.00399758142293e+01 9.97358294450079e+00
57 1.00479031641095e+01 9.96154574170506e+00
58 1.00556838347250e+01 9.94624156425743e+00
59 1.00636555959318e+01 9.92816580065099e+00
60 1.00721640105110e+01 9.90692505955277e+00
56 1.00399758142293e+01 9.97358294450078e+00
57 1.00479031641095e+01 9.96154574170507e+00
58 1.00556838347250e+01 9.94624156425742e+00
59 1.00636555959318e+01 9.92816580065100e+00
60 1.00721640105110e+01 9.90692505955279e+00
61 1.00814536313753e+01 9.88155118527262e+00
62 1.00915547252798e+01 9.85098082230735e+00
63 1.01021918256653e+01 9.81456141006142e+00
64 1.01127650365675e+01 9.77251908261309e+00
62 1.00915547252798e+01 9.85098082230737e+00
63 1.01021918256653e+01 9.81456141006145e+00
64 1.01127650365675e+01 9.77251908261310e+00
65 1.01224426616504e+01 9.72626626484817e+00
66 1.01303500341168e+01 9.67844790721581e+00
66 1.01303500341168e+01 9.67844790721582e+00
67 1.01357827497794e+01 9.63264342158540e+00
68 1.01383594707679e+01 9.59267551611127e+00
69 1.01380701059532e+01 9.56168371312923e+00
70 1.01352290156399e+01 9.54132235576289e+00
71 1.01303782422632e+01 9.53145207033862e+00
72 1.01241807468998e+01 9.53052072472080e+00
73 1.01173118912092e+01 9.53632715678295e+00
74 1.01103471939659e+01 9.54668992740772e+00
75 1.01036629090248e+01 9.55984803752009e+00
76 1.00973931139318e+01 9.57467381743772e+00
77 1.00914805900150e+01 9.59078681449290e+00
78 1.00857806923796e+01 9.60849062320413e+00
79 1.00801732463746e+01 9.62847591791803e+00
80 1.00746211947647e+01 9.65137407697197e+00
81 1.00691682828698e+01 9.67731006831009e+00
82 1.00638992393184e+01 9.70564969348618e+00
83 1.00589006124327e+01 9.73510953407921e+00
84 1.00542402131510e+01 9.76420390471647e+00
85 1.00499602946160e+01 9.79180385249033e+00
86 1.00460706235439e+01 9.81755460563928e+00
87 1.00425414168408e+01 9.84200765912343e+00
88 1.00393046004480e+01 9.86642899323320e+00
89 1.00362677210398e+01 9.89232615597538e+00
90 1.00333326702222e+01 9.92077091295346e+00
91 1.00304190984417e+01 9.95163431119817e+00
92 1.00274924302484e+01 9.98320614724761e+00
93 1.00245832030580e+01 1.00126809229005e+01
94 1.00217818712298e+01 1.00372157022896e+01
95 1.00192174478224e+01 1.00549229065348e+01
96 1.00170334876474e+01 1.00654011519876e+01
97 1.00153609154724e+01 1.00697015600771e+01
98 1.00142801210350e+01 1.00698014812365e+01
99 1.00137749686339e+01 1.00677656407202e+01
100 1.00136989326255e+01 1.00648830006091e+01
100 1.00136989326255e+01 1.00648830006091e+01
101 1.00137674082083e+01 1.00611318434583e+01
102 1.00135836692120e+01 1.00551787890126e+01
103 1.00127001705469e+01 1.00448624179689e+01
104 1.00107128955990e+01 1.00279896008852e+01
105 1.00073732210918e+01 1.00031581615939e+01
106 1.00026863896858e+01 9.97035446256176e+00
107 9.99696129324890e+00 9.93114647843641e+00
108 9.99078911556410e+00 9.88834547941894e+00
109 9.98495363939735e+00 9.84525289783234e+00
110 9.98029333636388e+00 9.80488218664815e+00
111 9.97754787492958e+00 9.76956483721087e+00
112 9.97722552172005e+00 9.74089998776836e+00
113 9.97952448720610e+00 9.71964869280979e+00
114 9.98432949668635e+00 9.70572109422863e+00
115 9.99128565538624e+00 9.69882579496975e+00
116 9.99992834152120e+00 9.69906594532193e+00
117 1.00098244901113e+01 9.70675942684906e+00
118 1.00206778548564e+01 9.72193838510829e+00
119 1.00323618718055e+01 9.74392916146852e+00
120 1.00448741144078e+01 9.77144817149792e+00
121 1.00582353428180e+01 9.80293643028548e+00
122 1.00723772537607e+01 9.83653980628752e+00
123 1.00870562810006e+01 9.86996874359296e+00
124 1.01018143847617e+01 9.90067377124461e+00
125 1.01159953973120e+01 9.92637526075002e+00
126 1.01288196652442e+01 9.94569135970445e+00
127 1.01395052692626e+01 9.95859533688896e+00
128 1.01474034953817e+01 9.96651718147533e+00
129 1.01521107193303e+01 9.97198512417321e+00
130 1.01535310646235e+01 9.97783256102044e+00
131 1.01518709230597e+01 9.98617497185904e+00
132 1.01475657142497e+01 9.99754506682891e+00
133 1.01411666167305e+01 1.00106710657684e+01
134 1.01332318751871e+01 1.00230220357698e+01
135 1.01242581986854e+01 1.00317166064461e+01
136 1.01146544066986e+01 1.00343612487317e+01
137 1.01047332554016e+01 1.00296420246780e+01
138 1.00947014667735e+01 1.00175763327172e+01
139 1.00846531387645e+01 9.99930494674974e+00
140 1.00745857366623e+01 9.97646128131491e+00
141 1.00644400706802e+01 9.95041823440337e+00
142 1.00541501159131e+01 9.92180857541951e+00
143 1.00436834569978e+01 9.89050941872713e+00
144 1.00330649757401e+01 9.85603943350860e+00
145 1.00223855042347e+01 9.81818968302844e+00
146 1.00118066120717e+01 9.77759398920638e+00
147 1.00015635423691e+01 9.73590632972306e+00
148 9.99195808427061e+00 9.69551862637489e+00
149 9.98332973799261e+00 9.65911623085002e+00
150 9.97599905761175e+00 9.62915505877515e+00
151 9.97019367767784e+00 9.60716909686955e+00
152 9.96598267281873e+00 9.59318709200410e+00
153 9.96324605944343e+00 9.58559881047527e+00
154 9.96169276126796e+00 9.58153758556819e+00
155 9.96092625032814e+00 9.57763829311044e+00
156 9.96054315607791e+00 9.57093750799266e+00
157 9.96023482227745e+00 9.55965895377840e+00
158 9.95985352165466e+00 9.54367776307569e+00
159 9.95942460039566e+00 9.52452561463833e+00
160 9.95911205589222e+00 9.50490226824346e+00
161 9.95914975443396e+00 9.48781410600212e+00
162 9.95975278911406e+00 9.47562429341561e+00
163 9.96103890040379e+00 9.46939719079233e+00
164 9.96299147170478e+00 9.46883821286236e+00
165 9.96547099380307e+00 9.47284423942468e+00
166 9.96826097146115e+00 9.48031949605208e+00
167 9.97113131026389e+00 9.49080246783928e+00
168 9.97390346515378e+00 9.50467508257787e+00
169 9.97650055807565e+00 9.52297045210046e+00
170 9.97896696852481e+00 9.54683120799382e+00
171 9.98144993167344e+00 9.57673108800475e+00
172 9.98414386605973e+00 9.61177309775590e+00
173 9.98721435874383e+00 9.64941604907962e+00
174 9.99072987081047e+00 9.68581828149366e+00
175 9.99462784290560e+00 9.71674849920838e+00
176 9.99872910050856e+00 9.73876571566039e+00
177 1.00027910094647e+01 9.75024496509227e+00
178 1.00065753933095e+01 9.75188677631197e+00
179 1.00099096736715e+01 9.74652424002240e+00
180 1.00127256239536e+01 9.73825559652692e+00
181 1.00150707323506e+01 9.73120003142692e+00
182 1.00170870650914e+01 9.72835138795971e+00
183 1.00189588719574e+01 9.73088542644806e+00
184 1.00208370553711e+01 9.73798855694274e+00
185 1.00227676206971e+01 9.74722630488312e+00
186 1.00246552838286e+01 9.75544013816019e+00
187 1.00262844434324e+01 9.75985859738447e+00
188 1.00273887691195e+01 9.75895345517658e+00
189 1.00277400472209e+01 9.75275536148299e+00
190 1.00272200725279e+01 9.74261382746486e+00
191 1.00258549688160e+01 9.73056754269459e+00
192 1.00238089567536e+01 9.71853980670345e+00
193 1.00213474465750e+01 9.70762043885231e+00
194 1.00187805230869e+01 9.69773175124558e+00
195 1.00164016154513e+01 9.68784935173366e+00
196 1.00144402674219e+01 9.67667427007303e+00
197 1.00130444574495e+01 9.66343938720852e+00
198 1.00122912607270e+01 9.64854739476250e+00
199 1.00122066750836e+01 9.63383866331536e+00
200 1.00127732034965e+01 9.62235997490241e+00
68 1.01383594707679e+01 9.59267551611128e+00
69 1.01380701059532e+01 9.56168371312924e+00
70 1.01352290156399e+01 9.54132235576292e+00
71 1.01303782422632e+01 9.53145207033865e+00
72 1.01241807468998e+01 9.53052072472082e+00
73 1.01173118912091e+01 9.53632715678298e+00
74 1.01103471939659e+01 9.54668992740775e+00
75 1.01036629090248e+01 9.55984803752012e+00
76 1.00973931139318e+01 9.57467381743775e+00
77 1.00914805900150e+01 9.59078681449293e+00
78 1.00857806923796e+01 9.60849062320414e+00
79 1.00801732463746e+01 9.62847591791801e+00
80 1.00746211947646e+01 9.65137407697184e+00
81 1.00691682828698e+01 9.67731006830983e+00
82 1.00638992393183e+01 9.70564969348716e+00
83 1.00589006124326e+01 9.73510953408138e+00
84 1.00542402131508e+01 9.76420390471977e+00
85 1.00499602946157e+01 9.79180385249472e+00
86 1.00460706235435e+01 9.81755460564468e+00
87 1.00425414168399e+01 9.84200765912968e+00
88 1.00393046004464e+01 9.86642899324013e+00
89 1.00362677210369e+01 9.89232615598293e+00
90 1.00333326702175e+01 9.92077091296133e+00
91 1.00304190984349e+01 9.95163431120606e+00
92 1.00274924302394e+01 9.98320614725514e+00
93 1.00245832030468e+01 1.00126809229072e+01
94 1.00217818712178e+01 1.00372157022924e+01
95 1.00192174478128e+01 1.00549229065339e+01
96 1.00170334876423e+01 1.00654011519831e+01
97 1.00153609154726e+01 1.00697015600704e+01
98 1.00142801210419e+01 1.00698014812268e+01
99 1.00137749686484e+01 1.00677656407098e+01
100 1.00136989326479e+01 1.00648830006035e+01
100 1.00136989326479e+01 1.00648830006035e+01
101 1.00137674082404e+01 1.00611318434631e+01
102 1.00135836692638e+01 1.00551787890321e+01
103 1.00127001706252e+01 1.00448624180052e+01
104 1.00107128957021e+01 1.00279896009381e+01
105 1.00073732212177e+01 1.00031581616613e+01
106 1.00026863898319e+01 9.97035446264584e+00
107 9.99696129340979e+00 9.93114647853474e+00
108 9.99078911574286e+00 9.88834547952885e+00
109 9.98495363959500e+00 9.84525289795163e+00
110 9.98029333657187e+00 9.80488218677250e+00
111 9.97754787513574e+00 9.76956483733739e+00
112 9.97722552190832e+00 9.74089998789470e+00
113 9.97952448737980e+00 9.71964869293034e+00
114 9.98432949682222e+00 9.70572109433721e+00
115 9.99128565545184e+00 9.69882579506424e+00
116 9.99992834150833e+00 9.69906594541022e+00
117 1.00098244900360e+01 9.70675942693532e+00
118 1.00206778547510e+01 9.72193838520098e+00
119 1.00323618716864e+01 9.74392916157914e+00
120 1.00448741142733e+01 9.77144817163477e+00
121 1.00582353426856e+01 9.80293643045616e+00
122 1.00723772536367e+01 9.83653980649396e+00
123 1.00870562808775e+01 9.86996874383092e+00
124 1.01018143846136e+01 9.90067377150288e+00
125 1.01159953971355e+01 9.92637526102012e+00
126 1.01288196650277e+01 9.94569135999291e+00
127 1.01395052689679e+01 9.95859533719747e+00
128 1.01474034950021e+01 9.96651718180170e+00
129 1.01521107188430e+01 9.97198512451327e+00
130 1.01535310640198e+01 9.97783256135978e+00
131 1.01518709223691e+01 9.98617497219244e+00
132 1.01475657134909e+01 9.99754506714391e+00
133 1.01411666159632e+01 1.00106710660677e+01
134 1.01332318744629e+01 1.00230220360430e+01
135 1.01242581980791e+01 1.00317166066961e+01
136 1.01146544061953e+01 1.00343612489597e+01
137 1.01047332550129e+01 1.00296420248946e+01
138 1.00947014664877e+01 1.00175763329223e+01
139 1.00846531385394e+01 9.99930494695532e+00
140 1.00745857364974e+01 9.97646128152161e+00
141 1.00644400705403e+01 9.95041823460627e+00
142 1.00541501157683e+01 9.92180857562118e+00
143 1.00436834568360e+01 9.89050941892251e+00
144 1.00330649755670e+01 9.85603943369589e+00
145 1.00223855041248e+01 9.81818968320503e+00
146 1.00118066120332e+01 9.77759398937178e+00
147 1.00015635424482e+01 9.73590632987673e+00
148 9.99195808450856e+00 9.69551862651774e+00
149 9.98332973840472e+00 9.65911623099469e+00
150 9.97599905822999e+00 9.62915505892649e+00
151 9.97019367845638e+00 9.60716909703526e+00
152 9.96598267372795e+00 9.59318709218540e+00
153 9.96324606044969e+00 9.58559881066392e+00
154 9.96169276237047e+00 9.58153758575953e+00
155 9.96092625152242e+00 9.57763829328116e+00
156 9.96054315740228e+00 9.57093750810941e+00
157 9.96023482376251e+00 9.55965895382487e+00
158 9.95985352333786e+00 9.54367776304373e+00
159 9.95942460236116e+00 9.52452561453112e+00
160 9.95911205820184e+00 9.50490226807002e+00
161 9.95914975712190e+00 9.48781410580017e+00
162 9.95975279219164e+00 9.47562429324685e+00
163 9.96103890394426e+00 9.46939719071147e+00
164 9.96299147570651e+00 9.46883821294305e+00
165 9.96547099819345e+00 9.47284423972085e+00
166 9.96826097616579e+00 9.48031949660299e+00
167 9.97113131520360e+00 9.49080246868345e+00
168 9.97390347029220e+00 9.50467508368792e+00
169 9.97650056337441e+00 9.52297045344289e+00
170 9.97896697398981e+00 9.54683120949238e+00
171 9.98144993724280e+00 9.57673108957231e+00
172 9.98414387172420e+00 9.61177309931033e+00
173 9.98721436449207e+00 9.64941605055506e+00
174 9.99072987660973e+00 9.68581828287900e+00
175 9.99462784873357e+00 9.71674850053884e+00
176 9.99872910630021e+00 9.73876571701760e+00
177 1.00027910151196e+01 9.75024496660445e+00
178 1.00065753987481e+01 9.75188677811518e+00
179 1.00099096788152e+01 9.74652424221370e+00
180 1.00127256286803e+01 9.73825559920752e+00
181 1.00150707365928e+01 9.73120003464725e+00
182 1.00170870688102e+01 9.72835139174119e+00
183 1.00189588750915e+01 9.73088543078432e+00
184 1.00208370578559e+01 9.73798856175907e+00
185 1.00227676225361e+01 9.74722631009118e+00
186 1.00246552850623e+01 9.75544014363497e+00
187 1.00262844441069e+01 9.75985860295140e+00
188 1.00273887692830e+01 9.75895346064793e+00
189 1.00277400469004e+01 9.75275536661271e+00
190 1.00272200717913e+01 9.74261383198996e+00
191 1.00258549677417e+01 9.73056754639127e+00
192 1.00238089554369e+01 9.71853980943337e+00
193 1.00213474450786e+01 9.70762044056817e+00
194 1.00187805216026e+01 9.69773175201182e+00
195 1.00164016141049e+01 9.68784935170505e+00
196 1.00144402663323e+01 9.67667426952134e+00
197 1.00130444566844e+01 9.66343938641739e+00
198 1.00122912603524e+01 9.64854739402150e+00
199 1.00122066751424e+01 9.63383866285097e+00
200 1.00127732039621e+01 9.62235997484479e+00

View File

@ -1,17 +1,17 @@
configuration {
step 300
dt 2.000000e+00
version 2020-07-07
version 2024-06-04
}
colvar {
name one
x 9.95315918568411e+00
x 9.9531592295885
}
colvar {
name two
x 9.79318883680258e+00
x 9.7931889789213
}
restraint {

View File

@ -1,102 +1,102 @@
# step one two
200 1.00127732034965e+01 9.62235997490241e+00
201 1.00139198864982e+01 9.61766167925624e+00
202 1.00155004339120e+01 9.62284272858813e+00
203 1.00172741972246e+01 9.63964899323068e+00
204 1.00189052021826e+01 9.66786718571673e+00
205 1.00199887119842e+01 9.70521202056400e+00
206 1.00201070660155e+01 9.74782380666112e+00
207 1.00189089093749e+01 9.79114913038349e+00
208 1.00162005540278e+01 9.83091553260188e+00
209 1.00120316562035e+01 9.86409994884863e+00
210 1.00067394529596e+01 9.88955328455197e+00
211 1.00009200584653e+01 9.90798080826055e+00
212 9.99531475905311e+00 9.92127385542524e+00
213 9.99063400342297e+00 9.93157198661852e+00
214 9.98737188807678e+00 9.94051482696048e+00
215 9.98567127567181e+00 9.94885527957784e+00
216 9.98528704043382e+00 9.95646746111755e+00
217 9.98565832937415e+00 9.96275739929720e+00
218 9.98606724184677e+00 9.96730423246689e+00
219 9.98583582550472e+00 9.97036378703713e+00
220 9.98451001643477e+00 9.97292736129215e+00
221 9.98198434901656e+00 9.97627439806637e+00
222 9.97853678731273e+00 9.98127100659218e+00
223 9.97475984191141e+00 9.98785371236258e+00
224 9.97140286510626e+00 9.99492286335624e+00
225 9.96917137580259e+00 1.00005443231922e+01
226 9.96854523900174e+00 1.00023222923235e+01
227 9.96967375964547e+00 9.99790273206806e+00
228 9.97237636771905e+00 9.98555960216881e+00
229 9.97624253505807e+00 9.96473792067690e+00
230 9.98078777310055e+00 9.93636511602182e+00
231 9.98560846780419e+00 9.90275990393703e+00
232 9.99048787217569e+00 9.86710855077386e+00
233 9.99543040822038e+00 9.83269539984149e+00
234 1.00006246021103e+01 9.80221208335553e+00
235 1.00063530848982e+01 9.77738136586701e+00
236 1.00128741709083e+01 9.75887400813685e+00
237 1.00203106975850e+01 9.74632163179798e+00
238 1.00285805371730e+01 9.73844350416337e+00
239 1.00373945897865e+01 9.73349215182819e+00
240 1.00463194539327e+01 9.72980720779576e+00
241 1.00548770491533e+01 9.72611599020063e+00
242 1.00626421174965e+01 9.72152572108181e+00
243 1.00693109823863e+01 9.71531423107737e+00
244 1.00747300690509e+01 9.70668632474813e+00
245 1.00788811512303e+01 9.69472082245661e+00
246 1.00818281591535e+01 9.67872530149764e+00
247 1.00836382918008e+01 9.65899116363609e+00
248 1.00843077585461e+01 9.63702967428387e+00
249 1.00837304601058e+01 9.61431312359133e+00
250 1.00817369874724e+01 9.59193249256670e+00
251 1.00781951382998e+01 9.57162234547176e+00
252 1.00731274409141e+01 9.55557274350384e+00
253 1.00667870632608e+01 9.54560001126946e+00
254 1.00596598859158e+01 9.54253147668434e+00
255 1.00523956909045e+01 9.54593692832520e+00
256 1.00457028282132e+01 9.55423082330650e+00
257 1.00402418669526e+01 9.56514761944992e+00
258 1.00365397691695e+01 9.57641296971103e+00
259 1.00349276270394e+01 9.58620624196598e+00
260 1.00355019919770e+01 9.59332346959128e+00
261 1.00381137097146e+01 9.59732188686984e+00
262 1.00423905760179e+01 9.59837618250971e+00
263 1.00477959188736e+01 9.59679324477687e+00
264 1.00537068007149e+01 9.59269523141530e+00
265 1.00594937260641e+01 9.58610120816249e+00
266 1.00645870781682e+01 9.57722117048002e+00
267 1.00685316571224e+01 9.56668493985151e+00
268 1.00710357823615e+01 9.55556251047062e+00
269 1.00720144042107e+01 9.54520978473172e+00
270 1.00716144493745e+01 9.53703781183182e+00
271 1.00701992199135e+01 9.53227489206590e+00
272 1.00682808706064e+01 9.53173333554826e+00
273 1.00663988075209e+01 9.53554943194497e+00
274 1.00649733063520e+01 9.54299862049767e+00
275 1.00641836485840e+01 9.55262143610080e+00
276 1.00639178664285e+01 9.56271517955029e+00
277 1.00638153921535e+01 9.57192148747872e+00
278 1.00633853985923e+01 9.57957875475062e+00
279 1.00621626720543e+01 9.58572327394556e+00
280 1.00598570838615e+01 9.59085686511578e+00
281 1.00564566071967e+01 9.59567423393283e+00
282 1.00522576614697e+01 9.60085550637412e+00
283 1.00478091897332e+01 9.60690040068280e+00
284 1.00437767664032e+01 9.61396708331890e+00
285 1.00407546813490e+01 9.62178118810825e+00
286 1.00390773261870e+01 9.62975547860500e+00
287 1.00386906040191e+01 9.63733595704590e+00
288 1.00391292740982e+01 9.64435229335154e+00
289 1.00396077171765e+01 9.65114124926381e+00
290 1.00391967746350e+01 9.65843904962787e+00
291 1.00370409303829e+01 9.66713735495098e+00
292 1.00325613495850e+01 9.67798035621834e+00
293 1.00255913568518e+01 9.69130440474672e+00
294 1.00164044158125e+01 9.70689841022156e+00
295 1.00056261321876e+01 9.72399810930261e+00
296 9.99406221883501e+00 9.74140402524052e+00
297 9.98250803362175e+00 9.75776438941627e+00
298 9.97160202027972e+00 9.77203069297329e+00
299 9.96175637151037e+00 9.78379375044905e+00
300 9.95315918568411e+00 9.79318883680258e+00
200 1.00127732039621e+01 9.62235997484479e+00
201 1.00139198873142e+01 9.61766167960114e+00
202 1.00155004349735e+01 9.62284272927993e+00
203 1.00172741984288e+01 9.63964899413135e+00
204 1.00189052034286e+01 9.66786718668113e+00
205 1.00199887131237e+01 9.70521202139326e+00
206 1.00201070669505e+01 9.74782380717117e+00
207 1.00189089099933e+01 9.79114913037297e+00
208 1.00162005542527e+01 9.83091553193592e+00
209 1.00120316559893e+01 9.86409994753053e+00
210 1.00067394522266e+01 9.88955328278264e+00
211 1.00009200570685e+01 9.90798080630807e+00
212 9.99531475670037e+00 9.92127385350745e+00
213 9.99063399978946e+00 9.93157198491364e+00
214 9.98737188290188e+00 9.94051482558046e+00
215 9.98567126870035e+00 9.94885527853167e+00
216 9.98528703143402e+00 9.95646746044078e+00
217 9.98565831825084e+00 9.96275739920543e+00
218 9.98606722850532e+00 9.96730423316541e+00
219 9.98583581006681e+00 9.97036378874527e+00
220 9.98450999905139e+00 9.97292736402649e+00
221 9.98198432974296e+00 9.97627440161597e+00
222 9.97853676608100e+00 9.98127101043889e+00
223 9.97475981847134e+00 9.98785371579891e+00
224 9.97140283904510e+00 9.99492286559338e+00
225 9.96917134637541e+00 1.00005443234936e+01
226 9.96854520536988e+00 1.00023222900809e+01
227 9.96967372102824e+00 9.99790272698630e+00
228 9.97237632329275e+00 9.98555959429830e+00
229 9.97624248419111e+00 9.96473791046628e+00
230 9.98078771543058e+00 9.93636510426670e+00
231 9.98560840329183e+00 9.90275989164257e+00
232 9.99048780094848e+00 9.86710853890991e+00
233 9.99543033063032e+00 9.83269538913306e+00
234 1.00006245185513e+01 9.80221207423406e+00
235 1.00063529959328e+01 9.77738135842695e+00
236 1.00128740773079e+01 9.75887400220566e+00
237 1.00203106003782e+01 9.74632162713091e+00
238 1.00285804376080e+01 9.73844350045589e+00
239 1.00373944894039e+01 9.73349214878674e+00
240 1.00463193546284e+01 9.72980720512224e+00
241 1.00548769529672e+01 9.72611598750665e+00
242 1.00626420263492e+01 9.72152571786963e+00
243 1.00693108979996e+01 9.71531422666390e+00
244 1.00747299927796e+01 9.70668631833486e+00
245 1.00788810840328e+01 9.69472081315003e+00
246 1.00818281015229e+01 9.67872528846535e+00
247 1.00836382438846e+01 9.65899114629446e+00
248 1.00843077202414e+01 9.63702965268533e+00
249 1.00837304312378e+01 9.61431309843794e+00
250 1.00817369677632e+01 9.59193246490958e+00
251 1.00781951275561e+01 9.57162231665577e+00
252 1.00731274389447e+01 9.55557271498134e+00
253 1.00667870699195e+01 9.54559998431332e+00
254 1.00596599010604e+01 9.54253145213164e+00
255 1.00523957143832e+01 9.54593690642836e+00
256 1.00457028598538e+01 9.55423080384305e+00
257 1.00402419064054e+01 9.56514760196478e+00
258 1.00365398159221e+01 9.57641295373454e+00
259 1.00349276804438e+01 9.58620622717253e+00
260 1.00355020510841e+01 9.59332345585722e+00
261 1.00381137733017e+01 9.59732187421620e+00
262 1.00423906427137e+01 9.59837617102817e+00
263 1.00477959872900e+01 9.59679323453788e+00
264 1.00537068694862e+01 9.59269522224878e+00
265 1.00594937939774e+01 9.58610119961332e+00
266 1.00645871442695e+01 9.57722116190429e+00
267 1.00685317208695e+01 9.56668493059359e+00
268 1.00710358435525e+01 9.55556250017823e+00
269 1.00720144628669e+01 9.54520977349603e+00
270 1.00716145056864e+01 9.53703780013997e+00
271 1.00701992741473e+01 9.53227488069496e+00
272 1.00682809229059e+01 9.53173332532930e+00
273 1.00663988579612e+01 9.53554942356440e+00
274 1.00649733547668e+01 9.54299861430164e+00
275 1.00641836945973e+01 9.55262143202964e+00
276 1.00639179095174e+01 9.56271517715327e+00
277 1.00638154316074e+01 9.57192148613520e+00
278 1.00633854335686e+01 9.57957875400668e+00
279 1.00621627016565e+01 9.58572327370357e+00
280 1.00598571070638e+01 9.59085686592320e+00
281 1.00564566229803e+01 9.59567423699651e+00
282 1.00522576689401e+01 9.60085551333600e+00
283 1.00478091881844e+01 9.60690041329352e+00
284 1.00437767554115e+01 9.61396710318380e+00
285 1.00407546608873e+01 9.62178121653831e+00
286 1.00390772967935e+01 9.62975551670189e+00
287 1.00386905666453e+01 9.63733600598964e+00
288 1.00391292301728e+01 9.64435235461356e+00
289 1.00396076684883e+01 9.65114132457984e+00
290 1.00391967232973e+01 9.65843914091158e+00
291 1.00370408787737e+01 9.66713746391752e+00
292 1.00325613002434e+01 9.67798048381559e+00
293 1.00255913122523e+01 9.69130455064462e+00
294 1.00164043783898e+01 9.70689857240811e+00
295 1.00056261042358e+01 9.72399828398139e+00
296 9.99406220236070e+00 9.74140420689973e+00
297 9.98250803047048e+00 9.75776457125789e+00
298 9.97160203186903e+00 9.77203086770013e+00
299 9.96175639897897e+00 9.78379391142304e+00
300 9.95315922958854e+00 9.79318897892133e+00

View File

@ -1,12 +1,12 @@
configuration {
step 100
dt 2.000000e+00
version 2020-07-07
version 2024-06-04
}
colvar {
name one
x 1.00387423506482e+01
x 10.038742350674
}
restraint {

View File

@ -20,16 +20,16 @@
18 9.41602481112176e+00
19 9.44413580740584e+00
20 9.49001346044027e+00
21 9.55036359015270e+00
22 9.62258602486444e+00
23 9.70460545744668e+00
21 9.55036359015271e+00
22 9.62258602486445e+00
23 9.70460545744666e+00
24 9.79475465622561e+00
25 9.89135302429916e+00
26 9.99213332770717e+00
25 9.89135302429913e+00
26 9.99213332770716e+00
27 1.00938522423366e+01
28 1.01925371414626e+01
29 1.02845129002944e+01
30 1.03676671987640e+01
30 1.03676671987639e+01
31 1.04416385355998e+01
32 1.05071349561950e+01
33 1.05650463398331e+01
@ -41,39 +41,39 @@
39 1.07331870068021e+01
40 1.07158913924701e+01
41 1.06789115566470e+01
42 1.06198840652253e+01
42 1.06198840652254e+01
43 1.05380097743725e+01
44 1.04346581978275e+01
45 1.03132910149185e+01
46 1.01792819503691e+01
46 1.01792819503692e+01
47 1.00398949454818e+01
48 9.90373650268307e+00
49 9.77934647164350e+00
50 9.67343955381284e+00
51 9.58957255517495e+00
52 9.52771577288560e+00
53 9.48463495848957e+00
54 9.45495747488851e+00
55 9.43277083061229e+00
56 9.41329510571902e+00
57 9.39417852043035e+00
49 9.77934647164349e+00
50 9.67343955381283e+00
51 9.58957255517494e+00
52 9.52771577288559e+00
53 9.48463495848955e+00
54 9.45495747488850e+00
55 9.43277083061230e+00
56 9.41329510571900e+00
57 9.39417852043034e+00
58 9.37607916767444e+00
59 9.36243879601093e+00
60 9.35853234890725e+00
61 9.36993739187210e+00
62 9.40084256925489e+00
59 9.36243879601092e+00
60 9.35853234890724e+00
61 9.36993739187209e+00
62 9.40084256925487e+00
63 9.45286356660258e+00
64 9.52464585631223e+00
65 9.61230948096192e+00
66 9.71074418990813e+00
67 9.81507236552599e+00
68 9.92117974657176e+00
69 1.00244259961919e+01
66 9.71074418990814e+00
67 9.81507236552600e+00
68 9.92117974657179e+00
69 1.00244259961920e+01
70 1.01178306268727e+01
71 1.01986985644537e+01
71 1.01986985644538e+01
72 1.02671003889995e+01
73 1.03213098011429e+01
74 1.03597236984298e+01
73 1.03213098011430e+01
74 1.03597236984299e+01
75 1.03817789163109e+01
76 1.03880650963390e+01
77 1.03809140245635e+01
@ -82,21 +82,21 @@
80 1.03243676495902e+01
81 1.03082131278348e+01
82 1.02961310659179e+01
83 1.02862115513553e+01
83 1.02862115513552e+01
84 1.02756073299153e+01
85 1.02618115461408e+01
86 1.02435127550163e+01
87 1.02212112849545e+01
88 1.01972788307491e+01
89 1.01743918261207e+01
89 1.01743918261206e+01
90 1.01538328424605e+01
91 1.01363005552771e+01
92 1.01223066231827e+01
93 1.01118037967830e+01
92 1.01223066231826e+01
93 1.01118037967829e+01
94 1.01038502876980e+01
95 1.00967012947728e+01
96 1.00885779123137e+01
97 1.00784256309007e+01
98 1.00661429612272e+01
99 1.00524913461711e+01
100 1.00387423506482e+01
95 1.00967012947726e+01
96 1.00885779123133e+01
97 1.00784256308996e+01
98 1.00661429612359e+01
99 1.00524913461887e+01
100 1.00387423506735e+01

View File

@ -0,0 +1,340 @@
#CMAP for C NH1 CT1 C NH1 CT1 C NH1; id=1
#phi = -180.000000
0.130000 0.770000 0.970000 1.250000 2.120000
2.720000 2.090000 1.790000 0.780000 -0.690000
1.000000 -2.200000 -4.830000 -4.820000 -4.910000
-3.590000 -2.770000 -2.780000 -2.450000 -2.350000
-2.340000 -1.520000 -0.950000 -0.040000
#phi = -165.000000
-0.130000 1.380000 1.580000 1.870000 2.400000
2.490000 2.440000 1.930000 1.090000 0.640000
0.260000 -2.800000 -4.010000 -4.140000 -3.420000
-2.600000 -2.300000 -1.500000 -1.100000 -0.860000
-0.640000 -0.210000 -1.080000 -1.120000
#phi = -150.000000
0.080000 1.420000 1.620000 2.050000 2.650000
2.720000 2.320000 1.990000 1.560000 2.460000
-0.230000 -1.820000 -2.580000 -3.010000 -2.550000
-1.890000 -1.350000 -0.730000 0.070000 -0.230000
-0.770000 -1.280000 -1.290000 -0.820000
#phi = -135.000000
0.930000 1.520000 2.240000 2.550000 3.110000
2.920000 2.460000 2.190000 2.060000 1.850000
0.120000 -1.180000 -2.000000 -2.280000 -1.960000
-1.340000 -0.930000 0.020000 0.310000 -0.520000
-1.150000 -0.980000 -0.570000 -0.440000
#phi = -120.000000
1.360000 1.960000 2.700000 3.040000 3.700000
3.560000 2.640000 2.770000 2.720000 1.630000
0.710000 -0.790000 -2.120000 -2.630000 -1.800000
-0.430000 -0.060000 0.440000 0.910000 -0.550000
-0.970000 -0.860000 -0.250000 0.450000
#phi = -105.000000
2.050000 2.540000 2.820000 3.090000 3.370000
3.550000 3.070000 2.900000 2.960000 2.120000
0.910000 -0.820000 -2.090000 -2.240000 -1.460000
0.210000 0.080000 0.770000 1.040000 -0.120000
-0.320000 -0.160000 0.310000 0.730000
#phi = -90.000000
1.450000 2.750000 2.740000 3.160000 3.450000
3.340000 3.180000 3.900000 3.340000 2.440000
0.910000 -0.610000 -1.510000 -1.620000 -0.960000
-0.020000 0.420000 0.910000 0.460000 0.150000
-0.070000 0.020000 0.280000 0.750000
#phi = -75.000000
1.380000 3.350000 2.350000 3.060000 3.810000
3.700000 3.580000 4.210000 3.540000 1.690000
0.100000 -0.680000 -0.120000 -0.430000 -0.600000
0.230000 0.420000 0.300000 0.550000 0.190000
-0.250000 -0.190000 -0.250000 0.470000
#phi = -60.000000
0.240000 1.230000 1.720000 3.170000 4.210000
4.390000 4.280000 3.670000 2.270000 -0.480000
-0.410000 -0.040000 -0.360000 -0.820000 -0.170000
0.140000 0.270000 0.320000 0.310000 -0.670000
-0.950000 -1.530000 -1.480000 -0.200000
#phi = -45.000000
-1.180000 0.080000 2.350000 4.210000 5.380000
5.390000 4.380000 2.460000 1.120000 0.110000
0.010000 -0.150000 -0.800000 -0.580000 0.080000
0.270000 -0.050000 0.380000 0.250000 -0.890000
-1.580000 -1.950000 -1.980000 -2.000000
#phi = -30.000000
-1.170000 1.070000 4.180000 6.740000 6.070000
4.810000 2.780000 1.320000 0.770000 -0.010000
0.280000 -0.710000 1.310000 1.520000 1.920000
2.220000 0.190000 0.530000 0.330000 -1.600000
-2.850000 -3.550000 -3.280000 -2.660000
#phi = -15.000000
0.290000 5.590000 3.730000 3.220000 3.270000
2.520000 1.590000 1.380000 0.860000 0.660000
1.620000 0.850000 0.510000 0.740000 1.020000
1.620000 -0.340000 0.180000 -0.610000 -2.560000
-3.790000 -3.810000 -3.160000 -1.750000
#phi = 0.000000
2.830000 0.790000 0.320000 0.480000 0.630000
0.980000 1.240000 1.670000 1.650000 2.520000
1.610000 0.780000 0.120000 0.070000 0.120000
-1.570000 -1.210000 -1.930000 -2.600000 -3.790000
-3.930000 -3.620000 -2.680000 -0.920000
#phi = 15.000000
-0.780000 -1.910000 -2.050000 -1.850000 -1.050000
0.180000 1.680000 2.220000 1.360000 2.450000
1.440000 0.680000 -0.240000 -0.540000 -0.790000
-2.180000 -3.210000 -4.350000 -3.940000 -3.910000
-3.460000 -2.770000 1.760000 0.310000
#phi = 30.000000
-2.960000 -3.480000 -3.440000 -2.400000 -1.130000
0.340000 1.430000 1.390000 0.970000 2.460000
1.520000 0.550000 -0.410000 -1.480000 -3.580000
-4.130000 -4.560000 -4.440000 -3.580000 -2.960000
-1.960000 -1.070000 -1.600000 -2.450000
#phi = 45.000000
-4.020000 -3.840000 -3.370000 -2.330000 -0.980000
0.360000 0.810000 0.750000 0.500000 1.900000
0.770000 -0.420000 -3.290000 -3.910000 -4.520000
-4.890000 -3.850000 -4.150000 -2.670000 -2.370000
-2.860000 -3.420000 -3.670000 -3.600000
#phi = 60.000000
-3.350000 -2.980000 -2.320000 -1.240000 -0.260000
0.720000 0.670000 0.440000 2.400000 1.630000
-2.010000 -3.310000 -3.990000 -4.530000 -4.850000
-3.770000 -3.940000 -3.890000 -2.610000 -3.510000
-3.760000 -3.640000 -3.450000 -3.340000
#phi = 75.000000
-2.250000 -1.640000 -1.010000 0.040000 0.640000
0.820000 0.520000 -0.010000 -0.370000 -1.190000
-2.390000 -3.380000 -4.500000 -5.590000 -5.510000
-4.940000 -3.830000 -3.840000 -3.700000 -4.150000
-4.170000 -3.730000 -3.740000 -2.620000
#phi = 90.000000
-1.720000 -1.180000 -0.430000 0.280000 0.810000
0.800000 0.480000 -0.340000 -0.790000 -1.770000
-2.810000 -3.800000 -5.220000 -6.280000 -6.580000
-5.640000 -5.060000 -4.020000 -4.150000 -4.470000
-4.100000 -3.770000 -3.160000 -2.650000
#phi = 105.000000
-1.850000 -1.090000 -0.450000 0.130000 1.010000
0.880000 0.490000 -0.220000 -0.860000 -1.680000
-3.010000 -4.130000 -5.990000 -6.860000 -6.830000
-5.850000 -3.860000 -4.860000 -4.910000 -4.720000
-4.600000 -4.090000 -3.270000 -2.410000
#phi = 120.000000
-1.970000 -1.120000 -0.540000 -0.150000 0.760000
1.040000 0.760000 0.310000 -0.330000 -1.870000
-3.370000 -5.010000 -6.120000 -7.050000 -6.980000
-3.700000 -4.510000 -5.090000 -5.420000 -4.850000
-4.440000 -4.000000 -3.420000 -2.750000
#phi = 135.000000
-2.110000 -1.170000 -0.320000 -0.010000 0.320000
1.090000 0.940000 0.630000 -0.170000 -1.830000
-3.470000 -4.950000 -6.110000 -1.920000 -4.050000
-5.000000 -5.000000 -4.840000 -4.890000 -4.300000
-4.490000 -4.440000 -4.160000 -3.180000
#phi = 150.000000
-1.760000 -0.400000 0.020000 0.360000 0.630000
1.260000 1.360000 0.950000 -0.070000 -1.480000
-3.150000 1.840000 -1.760000 -5.090000 -5.740000
-5.390000 -4.780000 -4.190000 -4.120000 -4.040000
-4.130000 -4.030000 -4.030000 -2.940000
#phi = 165.000000
-0.810000 -0.070000 0.380000 0.540000 1.280000
1.640000 1.700000 1.520000 0.630000 -1.090000
-2.740000 -0.740000 -4.560000 -6.410000 -5.890000
-5.140000 -4.190000 -3.670000 -3.840000 -3.560000
-3.550000 -3.250000 -2.750000 -1.810000
#CMAP for C NH1 CT2 C NH1 CT2 C NH1; id=2
#phi = -180.000000
0.235350 0.182300 0.177200 0.396800 0.859400
1.489700 2.092500 2.297700 1.808600 0.696200
-0.563300 -1.432700 -1.015100 1.426300 -0.564300
0.696200 1.808200 2.301700 2.092600 1.489100
0.859500 0.396900 0.176900 0.182400
#phi = -165.000000
0.020100 -0.203800 -0.269700 0.014200 0.620800
1.392400 2.046200 2.188200 1.683900 0.688500
-0.373700 -0.703500 0.837800 3.704000 -0.730100
0.594100 1.713100 2.205800 2.026400 1.529800
1.027400 0.623800 0.348400 0.182800
#phi = -150.000000
-0.533600 -0.807400 -0.804600 -0.379800 0.365300
1.168000 1.641000 1.618100 1.302200 0.615100
0.065700 0.738500 2.959500 -2.036600 -0.934600
0.407900 1.517000 1.984800 1.833100 1.435200
0.995600 0.562200 0.150600 -0.209000
#phi = -135.000000
-1.208500 -1.429400 -1.319200 -0.817500 -0.112400
0.454400 0.737600 0.879300 0.850100 0.670300
0.943500 -2.651200 -2.829400 -2.199100 -1.065700
0.279600 1.322000 1.668300 1.521300 1.193900
0.765300 0.246000 -0.315500 -0.823200
#phi = -120.000000
-1.789100 -1.965500 -1.860700 -1.447900 -0.896500
-0.401000 -0.015100 0.321300 0.634600 0.976300
-1.977500 -2.883200 -2.848500 -2.137900 -0.960300
0.308700 1.098100 1.245300 1.133600 0.881800
0.448200 -0.153900 -0.823700 -1.404300
#phi = -105.000000
-2.246700 -2.487000 -2.473700 -2.135600 -1.577700
-0.980600 -0.429100 0.144700 0.734000 -0.918300
-2.299200 -2.882200 -2.668600 -1.847100 -0.719800
0.107000 0.496000 0.553500 0.584300 0.494000
0.098300 -0.529800 -1.237900 -1.840100
#phi = -90.000000
-2.851100 -3.181100 -3.199500 -2.785300 -2.054300
-1.242900 -0.476500 0.288100 -0.045300 -1.470600
-2.558800 -2.869400 -2.450300 -1.582200 -0.930800
-0.426400 -0.022700 0.000000 -0.097400 -0.136100
-0.439600 -1.038600 -1.741000 -2.373200
#phi = -75.000000
-3.961800 -4.268200 -4.109000 -3.364700 -2.252200
-1.140400 -0.209800 0.487300 -0.746200 -2.127700
-2.932100 -2.898500 -2.247900 -1.730400 -1.177200
-0.448200 0.034900 -0.073300 -0.531600 -0.933300
-1.360700 -2.009200 -2.745700 -3.424900
#phi = -60.000000
-5.408000 -5.355100 -4.640100 -3.283200 -1.710200
-0.423800 0.354400 -0.103700 -1.577700 -2.828300
-3.151200 -2.649200 -2.183000 -1.761200 -0.981700
-0.174700 0.262600 0.039200 -0.663000 -1.530700
-2.478200 -3.465600 -4.334200 -5.011200
#phi = -45.000000
-6.093200 -5.298400 -3.816620 -1.922530 -0.196160
0.768200 0.568500 -0.831300 -2.343900 -3.037100
-2.663700 -2.191100 -2.022900 -1.438500 -0.649000
0.077000 0.441500 0.257500 -0.491100 -1.820600
-3.473100 -4.895200 -5.790700 -6.205900
#phi = -30.000000
-5.258225 -3.675795 -1.631110 0.430085 1.496470
0.318200 -0.555100 -1.695500 -2.434200 -2.192600
-1.691300 -1.890000 -1.708500 -1.206300 -0.567400
0.054300 0.497200 0.599600 -0.171000 -2.137600
-4.237000 -5.584100 -6.135100 -6.067000
#phi = -15.000000
-3.161820 -0.902080 1.432450 -1.452885 -1.560780
-1.665600 -1.783100 -1.755100 -1.329300 -0.731100
-1.317000 -1.662800 -1.601200 -1.294900 -0.817300
-0.197100 0.549500 0.850400 -0.689700 -2.819900
-4.393000 -5.111500 -5.205690 -4.654785
#phi = 0.000000
0.034035 -2.349860 -3.412065 -3.620070 -3.450950
-2.875650 -1.787800 -0.541250 0.410450 -0.372500
-1.126850 -1.498450 -1.608700 -1.498450 -1.126850
-0.372500 0.410450 -0.541250 -1.787800 -2.875650
-3.450950 -3.620070 -3.412065 -2.349860
#phi = 15.000000
-3.162345 -4.654785 -5.205690 -5.111500 -4.393000
-2.819900 -0.689700 0.850400 0.549500 -0.197100
-0.817300 -1.294900 -1.601200 -1.662800 -1.317000
-0.731100 -1.329300 -1.755100 -1.783100 -1.665600
-1.560780 -1.452885 1.432450 -0.902080
#phi = 30.000000
-5.258220 -6.067000 -6.135100 -5.584100 -4.237000
-2.137600 -0.171000 0.599600 0.497200 0.054300
-0.567400 -1.206300 -1.708500 -1.890000 -1.691300
-2.192600 -2.434200 -1.695500 -0.555100 0.318200
1.496470 0.430085 -1.631110 -3.675795
#phi = 45.000000
-6.093300 -6.205900 -5.790700 -4.895200 -3.473100
-1.820600 -0.491100 0.257500 0.441500 0.077000
-0.649000 -1.438500 -2.022900 -2.191100 -2.663700
-3.037100 -2.343900 -0.831300 0.568500 0.768200
-0.196160 -1.922530 -3.816620 -5.298400
#phi = 60.000000
-5.407500 -5.011200 -4.334200 -3.465600 -2.478200
-1.530700 -0.663000 0.039200 0.262600 -0.174700
-0.981700 -1.761200 -2.183000 -2.649200 -3.151200
-2.828300 -1.577700 -0.103700 0.354400 -0.423800
-1.710200 -3.283200 -4.640100 -5.355100
#phi = 75.000000
-3.961900 -3.424900 -2.745700 -2.009200 -1.360700
-0.933300 -0.531600 -0.073300 0.034900 -0.448200
-1.177200 -1.730400 -2.247900 -2.898500 -2.932100
-2.127700 -0.746200 0.487300 -0.209800 -1.140400
-2.252200 -3.364700 -4.109000 -4.268200
#phi = 90.000000
-2.854500 -2.373200 -1.741000 -1.038600 -0.439600
-0.136100 -0.097400 0.000000 -0.022700 -0.426400
-0.930800 -1.582200 -2.450300 -2.869400 -2.558800
-1.470600 -0.045300 0.288100 -0.476500 -1.242900
-2.054300 -2.785300 -3.199500 -3.181100
#phi = 105.000000
-2.246400 -1.840100 -1.237900 -0.529800 0.098300
0.494000 0.584300 0.553500 0.496000 0.107000
-0.719800 -1.847100 -2.668600 -2.882200 -2.299200
-0.918300 0.734000 0.144700 -0.429100 -0.980600
-1.577700 -2.135600 -2.473700 -2.487000
#phi = 120.000000
-1.788800 -1.404300 -0.823700 -0.153900 0.448200
0.881800 1.133600 1.245300 1.098100 0.308700
-0.960300 -2.137900 -2.848500 -2.883200 -1.977500
0.976300 0.634600 0.321300 -0.015100 -0.401000
-0.896500 -1.447900 -1.860700 -1.965500
#phi = 135.000000
-1.208900 -0.823200 -0.315500 0.246000 0.765300
1.193900 1.521300 1.668300 1.322000 0.279600
-1.065700 -2.199100 -2.829400 -2.651200 0.943500
0.670300 0.850100 0.879300 0.737600 0.454400
-0.112400 -0.817500 -1.319200 -1.429400
#phi = 150.000000
-0.533400 -0.209000 0.150600 0.562200 0.995600
1.435200 1.833100 1.984800 1.517000 0.407900
-0.934600 -2.036600 2.959500 0.738500 0.065700
0.615100 1.302200 1.618100 1.641000 1.168000
0.365300 -0.379800 -0.804600 -0.807400
#phi = 165.000000
0.019900 0.182800 0.348400 0.623800 1.027400
1.529800 2.026400 2.205800 1.713100 0.594100
-0.730100 3.704000 0.837800 -0.703500 -0.373700
0.688500 1.683900 2.188200 2.046200 1.392400
0.620800 0.014200 -0.269700 -0.203800

Binary file not shown.

View File

@ -0,0 +1,46 @@
# charmmfsw example generated by https://charmm-gui.org/
# from PDB structure 1HVN (https://www.rcsb.org/structure/1HVN)
#
# Dependencies: packages MOLECULE / KSPACE / RIGID
# To test with KOKKOS: lmp -k on g 1 -sf kk -pk kokkos neigh half -in in.charmmfsw
units real
boundary p p p
newton off
pair_style lj/charmmfsw/coul/long 10 12
pair_modify mix arithmetic
kspace_style pppm 1e-6
atom_style full
bond_style harmonic
angle_style charmm
dihedral_style charmmfsw
special_bonds charmm
improper_style harmonic
timestep 2
fix cmap all cmap charmmff.cmap
fix_modify cmap energy yes
read_data data.charmmfsw.gz fix cmap crossterm CMAP
neighbor 2 bin
neigh_modify delay 2 every 1
fix 1 all shake 1e-6 100 100 m 1.008 a 142
fix 2 all nvt temp 303.15 303.15 100.0
# for visualization with LAMMPS-GUI
group water type 18 60
group nowater subtract all water
group ions type 63 64
group other subtract all water ions
# dump viz other image 10 myimage-*.ppm element type size 800 800 zoom 2.82954 shiny 0.5 fsaa yes bond none none view 20 10 box no 0.0 axes no 0.0 0.0 center s 0.521318 0.489856 0.489856
# dump_modify viz pad 9 boxcolor darkblue backcolor darkgray element H H H H H H H H H H H H H H H H H H C C C C C C C C C C C C C C C C C C C N N N N N N N N N N N N N N O O O O O O O O O P S Cl K adiam 1 1.92 adiam 2 1.92 adiam 3 1.92 adiam 4 1.92 adiam 5 1.92 adiam 6 1.92 adiam 7 1.92 adiam 8 1.92 adiam 9 1.92 adiam 10 1.92 adiam 11 1.92 adiam 12 1.92 adiam 13 1.92 adiam 14 1.92 adiam 15 1.92 adiam 16 1.92 adiam 17 1.92 adiam 18 1.92 adiam 19 2.72 adiam 20 2.72 adiam 21 2.72 adiam 22 2.72 adiam 23 2.72 adiam 24 2.72 adiam 25 2.72 adiam 26 2.72 adiam 27 2.72 adiam 28 2.72 adiam 29 2.72 adiam 30 2.72 adiam 31 2.72 adiam 32 2.72 adiam 33 2.72 adiam 34 2.72 adiam 35 2.72 adiam 36 2.72 adiam 37 2.72 adiam 38 2.48 adiam 39 2.48 adiam 40 2.48 adiam 41 2.48 adiam 42 2.48 adiam 43 2.48 adiam 44 2.48 adiam 45 2.48 adiam 46 2.48 adiam 47 2.48 adiam 48 2.48 adiam 49 2.48 adiam 50 2.48 adiam 51 2.48 adiam 52 2.432 adiam 53 2.432 adiam 54 2.432 adiam 55 2.432 adiam 56 2.432 adiam 57 2.432 adiam 58 2.432 adiam 59 2.432 adiam 60 2.432 adiam 61 2.88 adiam 62 2.88 adiam 63 3.632 adiam 64 2.816
thermo 10
thermo_style custom step etotal evdwl ecoul elong edihed pe ke temp press
run 100

View File

@ -0,0 +1,221 @@
LAMMPS (27 Jun 2024)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# charmmfsw example generated by https://charmm-gui.org/
# from PDB structure 1HVN (https://www.rcsb.org/structure/1HVN)
#
# Dependencies: packages MOLECULE / KSPACE / RIGID
# To test with KOKKOS: lmp -k on g 1 -sf kk -pk kokkos neigh half -in in.charmmfsw
units real
boundary p p p
newton off
pair_style lj/charmmfsw/coul/long 10 12
Switching to CHARMM coulomb energy conversion constant (src/KSPACE/pair_lj_charmmfsw_coul_long.cpp:63)
pair_modify mix arithmetic
kspace_style pppm 1e-6
atom_style full
bond_style harmonic
angle_style charmm
dihedral_style charmmfsw
special_bonds charmm
improper_style harmonic
timestep 2
fix cmap all cmap charmmff.cmap
Reading CMAP parameters from: charmmff.cmap
Read in CMAP data for 2 crossterm types
fix_modify cmap energy yes
read_data data.charmmfsw.gz fix cmap crossterm CMAP
Reading data file ...
orthogonal box = (-24 -24 -24) to (24 24 24)
1 by 1 by 1 MPI processor grid
reading atoms ...
10245 atoms
reading velocities ...
10245 velocities
scanning bonds ...
4 = max bonds/atom
scanning angles ...
15 = max angles/atom
scanning dihedrals ...
48 = max dihedrals/atom
scanning impropers ...
4 = max impropers/atom
orthogonal box = (-24 -24 -24) to (24 24 24)
1 by 1 by 1 MPI processor grid
reading bonds ...
6973 bonds
reading angles ...
4057 angles
reading dihedrals ...
1363 dihedrals
reading impropers ...
70 impropers
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 0 0
special bond factors coul: 0 0 0
4 = max # of 1-2 neighbors
9 = max # of 1-3 neighbors
17 = max # of 1-4 neighbors
21 = max # of special neighbors
special bonds CPU = 0.002 seconds
read_data CPU = 0.072 seconds
neighbor 2 bin
neigh_modify delay 2 every 1
fix 1 all shake 1e-6 100 100 m 1.008 a 142
Finding SHAKE clusters ...
75 = # of size 2 clusters
47 = # of size 3 clusters
9 = # of size 4 clusters
3265 = # of frozen angles
find clusters CPU = 0.003 seconds
fix 2 all nvt temp 303.15 303.15 100.0
thermo 10
thermo_style custom step etotal evdwl ecoul elong edihed pe ke temp press
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.27938162
grid = 54 54 54
stencil order = 5
estimated absolute RMS force accuracy = 0.00036407395
estimated relative force accuracy = 1.0963718e-06
using double precision FFTW3
3d grid and FFT values/proc = 226981 157464
Generated 2016 of 2016 mixed pair_coeff terms from arithmetic mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 2 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 14
ghost atom cutoff = 14
binsize = 7, bins = 7 7 7
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmmfsw/coul/long, perpetual
attributes: half, newton off
pair build: half/bin/newtoff
stencil: full/bin/3d
bin: standard
SHAKE stats (type/ave/delta/count) on step 0
Bond: 16 1.09 1.38032e-07 6
Bond: 18 1.09 1.00046e-07 3
Bond: 34 1.111 1.11388e-06 10
Bond: 39 1.111 4.83041e-08 5
Bond: 43 1.111 1.97842e-07 10
Bond: 44 1.111 1.71815e-06 10
Bond: 59 1.111 8.42509e-08 2
Bond: 62 1.111 2.84854e-08 2
Bond: 63 1.111 2.14153e-07 46
Bond: 64 1.111 1.59305e-07 18
Bond: 65 1.08 5.67061e-07 16
Bond: 66 1.08 1.43965e-06 4
Bond: 67 1 1.81926e-07 10
Bond: 68 1.01 0 1
Bond: 69 1.08 1.34571e-07 5
Bond: 70 1.09 0 1
Bond: 71 1.083 0 1
Bond: 72 0.9572 2.71955e-07 6530
Bond: 75 1 1.46045e-07 10
Bond: 79 0.997 5.24499e-07 17
Bond: 81 1 1.32984e-07 4
Bond: 84 1.04 7.65389e-07 9
Bond: 87 1 0 1
Bond: 95 0.96 5.75241e-07 2
Bond: 97 1.325 4.3613e-08 3
Angle: 142 104.52 2.67611e-05 3265
Per MPI rank memory allocation (min/avg/max) = 143.6 | 143.6 | 143.6 Mbytes
Step TotEng E_vdwl E_coul E_long E_dihed PotEng KinEng Temp Press
0 -27877.652 3447.5013 144035.68 -182420.51 343.05623 -34213.5 6335.8474 307.44113 -989.27065
10 -27879.086 3334.4154 144205.4 -182416.19 348.14696 -34133.566 6254.4808 303.49289 -1211.2863
20 -27882.193 3293.7931 144272.04 -182415.87 333.20456 -34116.91 6234.7164 302.53384 -1041.5231
30 -27886.779 3177.7183 144344.61 -182409.28 340.77044 -34166.241 6279.462 304.70508 -1538.0247
40 -27892.698 3186.4294 144409.85 -182417.01 337.80177 -34097.62 6204.9214 301.08807 -1516.1201
50 -27898.215 3198.5531 144426.3 -182405.24 336.58074 -34049.909 6151.6947 298.50529 -1349.4431
60 -27900.589 3163.4592 144400.32 -182414.85 341.17705 -34110.926 6210.3369 301.35085 -1695.3697
70 -27900.487 3223.7183 144242.71 -182409.21 341.09496 -34188.493 6288.0059 305.11967 -1493.2031
80 -27901.07 3274.244 144265.07 -182417.68 344.0409 -34177.343 6276.2725 304.55032 -1273.0263
90 -27905.672 3237.6056 144288.71 -182418.22 342.15013 -34187.814 6282.1417 304.83511 -1268.0436
SHAKE stats (type/ave/delta/count) on step 100
Bond: 16 1.09 3.78281e-07 6
Bond: 18 1.09 1.12288e-07 3
Bond: 34 1.111 7.60709e-07 10
Bond: 39 1.111 2.37855e-07 5
Bond: 43 1.111 6.00872e-07 10
Bond: 44 1.111 3.75324e-07 10
Bond: 59 1.111 1.12311e-07 2
Bond: 62 1.111 2.99471e-07 2
Bond: 63 1.111 6.10589e-07 46
Bond: 64 1.111 4.50733e-07 18
Bond: 65 1.08 2.90668e-07 16
Bond: 66 1.08 1.61592e-07 4
Bond: 67 1 5.4508e-07 10
Bond: 68 1.01 0 1
Bond: 69 1.08 4.1398e-07 5
Bond: 70 1.09 0 1
Bond: 71 1.083 0 1
Bond: 72 0.9572 1.76706e-06 6530
Bond: 75 1 3.96686e-07 10
Bond: 79 0.997 7.72922e-07 17
Bond: 81 1 1.30673e-07 4
Bond: 84 1.04 1.44551e-07 9
Bond: 87 1 0 1
Bond: 95 0.96 1.03526e-07 2
Bond: 97 1.325 3.64689e-08 3
Angle: 142 104.52 0.000130126 3265
100 -27913.241 3159.0677 144299.1 -182414.94 336.48839 -34254.412 6341.1706 307.69943 -1421.2905
Loop time of 11.5304 on 1 procs for 100 steps with 10245 atoms
Performance: 1.499 ns/day, 16.014 hours/ns, 8.673 timesteps/s, 88.852 katom-step/s
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 8.6772 | 8.6772 | 8.6772 | 0.0 | 75.25
Bond | 0.012444 | 0.012444 | 0.012444 | 0.0 | 0.11
Kspace | 1.2286 | 1.2286 | 1.2286 | 0.0 | 10.66
Neigh | 1.5276 | 1.5276 | 1.5276 | 0.0 | 13.25
Comm | 0.010441 | 0.010441 | 0.010441 | 0.0 | 0.09
Output | 0.00055001 | 0.00055001 | 0.00055001 | 0.0 | 0.00
Modify | 0.07101 | 0.07101 | 0.07101 | 0.0 | 0.62
Other | | 0.002628 | | | 0.02
Nlocal: 10245 ave 10245 max 10245 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 30479 ave 30479 max 30479 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 7.05928e+06 ave 7.05928e+06 max 7.05928e+06 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 7059275
Ave neighs/atom = 689.04588
Ave special neighs/atom = 2.3664226
Neighbor list builds = 10
Dangerous builds = 0
Total wall time: 0:00:11

View File

@ -0,0 +1,221 @@
LAMMPS (27 Jun 2024)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# charmmfsw example generated by https://charmm-gui.org/
# from PDB structure 1HVN (https://www.rcsb.org/structure/1HVN)
#
# Dependencies: packages MOLECULE / KSPACE / RIGID
# To test with KOKKOS: lmp -k on g 1 -sf kk -pk kokkos neigh half -in in.charmmfsw
units real
boundary p p p
newton off
pair_style lj/charmmfsw/coul/long 10 12
Switching to CHARMM coulomb energy conversion constant (src/KSPACE/pair_lj_charmmfsw_coul_long.cpp:63)
pair_modify mix arithmetic
kspace_style pppm 1e-6
atom_style full
bond_style harmonic
angle_style charmm
dihedral_style charmmfsw
special_bonds charmm
improper_style harmonic
timestep 2
fix cmap all cmap charmmff.cmap
Reading CMAP parameters from: charmmff.cmap
Read in CMAP data for 2 crossterm types
fix_modify cmap energy yes
read_data data.charmmfsw.gz fix cmap crossterm CMAP
Reading data file ...
orthogonal box = (-24 -24 -24) to (24 24 24)
1 by 2 by 2 MPI processor grid
reading atoms ...
10245 atoms
reading velocities ...
10245 velocities
scanning bonds ...
4 = max bonds/atom
scanning angles ...
15 = max angles/atom
scanning dihedrals ...
48 = max dihedrals/atom
scanning impropers ...
4 = max impropers/atom
orthogonal box = (-24 -24 -24) to (24 24 24)
1 by 2 by 2 MPI processor grid
reading bonds ...
6973 bonds
reading angles ...
4057 angles
reading dihedrals ...
1363 dihedrals
reading impropers ...
70 impropers
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 0 0
special bond factors coul: 0 0 0
4 = max # of 1-2 neighbors
9 = max # of 1-3 neighbors
17 = max # of 1-4 neighbors
21 = max # of special neighbors
special bonds CPU = 0.001 seconds
read_data CPU = 0.068 seconds
neighbor 2 bin
neigh_modify delay 2 every 1
fix 1 all shake 1e-6 100 100 m 1.008 a 142
Finding SHAKE clusters ...
75 = # of size 2 clusters
47 = # of size 3 clusters
9 = # of size 4 clusters
3265 = # of frozen angles
find clusters CPU = 0.001 seconds
fix 2 all nvt temp 303.15 303.15 100.0
thermo 10
thermo_style custom step etotal evdwl ecoul elong edihed pe ke temp press
run 100
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
PPPM initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:342)
G vector (1/distance) = 0.27938162
grid = 54 54 54
stencil order = 5
estimated absolute RMS force accuracy = 0.00036407395
estimated relative force accuracy = 1.0963718e-06
using double precision FFTW3
3d grid and FFT values/proc = 70516 40824
Generated 2016 of 2016 mixed pair_coeff terms from arithmetic mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 2 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 14
ghost atom cutoff = 14
binsize = 7, bins = 7 7 7
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/charmmfsw/coul/long, perpetual
attributes: half, newton off
pair build: half/bin/newtoff
stencil: full/bin/3d
bin: standard
SHAKE stats (type/ave/delta/count) on step 0
Bond: 16 1.09 1.38032e-07 6
Bond: 18 1.09 1.00046e-07 3
Bond: 34 1.111 1.11388e-06 10
Bond: 39 1.111 4.83041e-08 5
Bond: 43 1.111 1.97842e-07 10
Bond: 44 1.111 1.71815e-06 10
Bond: 59 1.111 8.42509e-08 2
Bond: 62 1.111 2.84854e-08 2
Bond: 63 1.111 2.14153e-07 46
Bond: 64 1.111 1.59305e-07 18
Bond: 65 1.08 5.67061e-07 16
Bond: 66 1.08 1.43965e-06 4
Bond: 67 1 1.81926e-07 10
Bond: 68 1.01 0 1
Bond: 69 1.08 1.34571e-07 5
Bond: 70 1.09 0 1
Bond: 71 1.083 0 1
Bond: 72 0.9572 2.71955e-07 6530
Bond: 75 1 1.46045e-07 10
Bond: 79 0.997 5.24499e-07 17
Bond: 81 1 1.32984e-07 4
Bond: 84 1.04 7.65389e-07 9
Bond: 87 1 0 1
Bond: 95 0.96 5.75241e-07 2
Bond: 97 1.325 4.3613e-08 3
Angle: 142 104.52 2.67611e-05 3265
Per MPI rank memory allocation (min/avg/max) = 76.88 | 77.06 | 77.25 Mbytes
Step TotEng E_vdwl E_coul E_long E_dihed PotEng KinEng Temp Press
0 -27877.652 3447.5013 144035.68 -182420.51 343.05623 -34213.5 6335.8474 307.44113 -989.27065
10 -27879.086 3334.4154 144205.4 -182416.19 348.14696 -34133.566 6254.4808 303.49289 -1211.2863
20 -27882.193 3293.7931 144272.04 -182415.87 333.20456 -34116.91 6234.7164 302.53384 -1041.5231
30 -27886.779 3177.7183 144344.61 -182409.28 340.77044 -34166.241 6279.462 304.70508 -1538.0247
40 -27892.698 3186.4294 144409.85 -182417.01 337.80177 -34097.62 6204.9214 301.08807 -1516.1201
50 -27898.215 3198.5531 144426.3 -182405.24 336.58074 -34049.909 6151.6947 298.50529 -1349.4431
60 -27900.589 3163.4592 144400.32 -182414.85 341.17705 -34110.926 6210.3369 301.35085 -1695.3697
70 -27900.487 3223.7183 144242.71 -182409.21 341.09496 -34188.493 6288.0059 305.11967 -1493.2032
80 -27901.07 3274.244 144265.07 -182417.68 344.0409 -34177.343 6276.2725 304.55032 -1273.0263
90 -27905.672 3237.6056 144288.71 -182418.22 342.15013 -34187.814 6282.1417 304.83511 -1268.0436
SHAKE stats (type/ave/delta/count) on step 100
Bond: 16 1.09 3.78281e-07 6
Bond: 18 1.09 1.12288e-07 3
Bond: 34 1.111 7.60709e-07 10
Bond: 39 1.111 2.37855e-07 5
Bond: 43 1.111 6.00872e-07 10
Bond: 44 1.111 3.75324e-07 10
Bond: 59 1.111 1.12311e-07 2
Bond: 62 1.111 2.99471e-07 2
Bond: 63 1.111 6.10589e-07 46
Bond: 64 1.111 4.50733e-07 18
Bond: 65 1.08 2.90668e-07 16
Bond: 66 1.08 1.61592e-07 4
Bond: 67 1 5.4508e-07 10
Bond: 68 1.01 0 1
Bond: 69 1.08 4.1398e-07 5
Bond: 70 1.09 0 1
Bond: 71 1.083 0 1
Bond: 72 0.9572 1.76706e-06 6530
Bond: 75 1 3.96686e-07 10
Bond: 79 0.997 7.72922e-07 17
Bond: 81 1 1.30673e-07 4
Bond: 84 1.04 1.44551e-07 9
Bond: 87 1 0 1
Bond: 95 0.96 1.03526e-07 2
Bond: 97 1.325 3.64689e-08 3
Angle: 142 104.52 0.000130126 3265
100 -27913.241 3159.0676 144299.1 -182414.94 336.48839 -34254.412 6341.1706 307.69943 -1421.2905
Loop time of 3.49837 on 4 procs for 100 steps with 10245 atoms
Performance: 4.939 ns/day, 4.859 hours/ns, 28.585 timesteps/s, 292.851 katom-step/s
99.4% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 2.4572 | 2.5133 | 2.5634 | 2.6 | 71.84
Bond | 0.0040264 | 0.0050718 | 0.0069286 | 1.6 | 0.14
Kspace | 0.45979 | 0.50903 | 0.56364 | 5.6 | 14.55
Neigh | 0.42029 | 0.42034 | 0.42036 | 0.0 | 12.02
Comm | 0.013207 | 0.013292 | 0.013404 | 0.1 | 0.38
Output | 0.00026525 | 0.00029549 | 0.00038249 | 0.0 | 0.01
Modify | 0.035024 | 0.035546 | 0.03621 | 0.3 | 1.02
Other | | 0.001504 | | | 0.04
Nlocal: 2561.25 ave 2599 max 2520 min
Histogram: 1 1 0 0 0 0 0 0 0 2
Nghost: 16491.5 ave 16541 max 16442 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 1.99855e+06 ave 2.04035e+06 max 1.95468e+06 min
Histogram: 1 1 0 0 0 0 0 0 0 2
Total # of neighbors = 7994217
Ave neighs/atom = 780.30425
Ave special neighs/atom = 2.3664226
Neighbor list builds = 10
Dangerous builds = 0
Total wall time: 0:00:03

View File

@ -113,6 +113,8 @@ MODULE LIBLAMMPS
PROCEDURE :: get_mpi_comm => lmp_get_mpi_comm
PROCEDURE :: extract_setting => lmp_extract_setting
PROCEDURE :: extract_global => lmp_extract_global
PROCEDURE :: extract_pair_dimension => lmp_extract_pair_dimension
PROCEDURE :: extract_pair => lmp_extract_pair
PROCEDURE, PRIVATE :: lmp_map_atom_int
PROCEDURE, PRIVATE :: lmp_map_atom_big
GENERIC :: map_atom => lmp_map_atom_int, lmp_map_atom_big
@ -194,6 +196,7 @@ MODULE LIBLAMMPS
PROCEDURE, NOPASS :: config_has_jpeg_support => lmp_config_has_jpeg_support
PROCEDURE, NOPASS :: config_has_ffmpeg_support &
=> lmp_config_has_ffmpeg_support
PROCEDURE, NOPASS :: config_has_curl_support => lmp_config_has_curl_support
PROCEDURE, NOPASS :: config_has_exceptions => lmp_config_has_exceptions
PROCEDURE, NOPASS :: config_has_package => lmp_config_has_package
PROCEDURE, NOPASS :: config_package_count => lammps_config_package_count
@ -511,6 +514,20 @@ MODULE LIBLAMMPS
TYPE(c_ptr) :: lammps_extract_global
END FUNCTION lammps_extract_global
FUNCTION lammps_extract_pair_dimension(handle,name) BIND(C)
IMPORT :: c_ptr, c_int
IMPLICIT NONE
TYPE(c_ptr), INTENT(IN), VALUE :: handle, name
INTEGER(c_int) :: lammps_extract_pair_dimension
END FUNCTION lammps_extract_pair_dimension
FUNCTION lammps_extract_pair(handle, name) BIND(C)
IMPORT :: c_ptr
IMPLICIT NONE
TYPE(c_ptr), INTENT(IN), VALUE :: handle, name
TYPE(c_ptr) :: lammps_extract_pair
END FUNCTION lammps_extract_pair
FUNCTION lammps_map_atom(handle, tag) BIND(C)
IMPORT :: c_ptr, c_int
IMPLICIT NONE
@ -777,6 +794,12 @@ MODULE LIBLAMMPS
INTEGER(c_int) :: lammps_config_has_ffmpeg_support
END FUNCTION lammps_config_has_ffmpeg_support
FUNCTION lammps_config_has_curl_support() BIND(C)
IMPORT :: c_int
IMPLICIT NONE
INTEGER(c_int) :: lammps_config_has_curl_support
END FUNCTION lammps_config_has_curl_support
FUNCTION lammps_config_has_exceptions() BIND(C)
IMPORT :: c_int
IMPLICIT NONE
@ -1333,6 +1356,59 @@ CONTAINS
END SELECT
END FUNCTION
! equivalent function to lammps_extract_pair_dimension
FUNCTION lmp_extract_pair_dimension(self, name) RESULT(dim)
CLASS(lammps), INTENT(IN), TARGET :: self
CHARACTER(LEN=*), INTENT(IN) :: name
INTEGER(c_int) :: dim
TYPE(c_ptr) :: Cname
Cname = f2c_string(name)
dim = lammps_extract_pair_dimension(self%handle, Cname)
CALL lammps_free(Cname)
END FUNCTION
! equivalent function to lammps_extract_pair
! the assignment is actually overloaded so as to bind the pointers to
! lammps data based on the information available from LAMMPS
FUNCTION lmp_extract_pair(self, name) RESULT(pair_data)
CLASS(lammps), INTENT(IN), TARGET :: self
CHARACTER(LEN=*), INTENT(IN) :: name
TYPE(lammps_data) :: pair_data
INTEGER(c_int) :: dim
TYPE(c_ptr) :: Cname, Cptr
TYPE(c_ptr), DIMENSION(:), POINTER :: Carrayptr
INTEGER(c_size_t) :: length
! Determine extracted arrays length and dimension
length = lmp_extract_setting(self, 'ntypes') + 1
Cname = f2c_string(name)
dim = lammps_extract_pair_dimension(self%handle, Cname)
! above could be c_null_ptr in place of self%handle...doesn't matter
Cptr = lammps_extract_pair(self%handle, Cname)
CALL lammps_free(Cname)
pair_data%lammps_instance => self
SELECT CASE (dim)
CASE (0)
pair_data%datatype = DATA_DOUBLE
CALL C_F_POINTER(Cptr, pair_data%r64)
CASE (1)
pair_data%datatype = DATA_DOUBLE_1D
CALL C_F_POINTER(Cptr, pair_data%r64_vec, [length])
CASE (2)
pair_data%datatype = DATA_DOUBLE_2D
! First, we dereference the void** pointer to point to the void*
CALL C_F_POINTER(Cptr, Carrayptr, [length])
! Catomptr(1) now points to the first element of the array
CALL C_F_POINTER(Carrayptr(1), pair_data%r64_mat, [length, length])
CASE DEFAULT
CALL lmp_error(self, LMP_ERROR_ALL + LMP_ERROR_WORLD, &
'Unsupported dimension or unknown property name in extract_pair')
END SELECT
END FUNCTION
! equivalent function to lammps_map_atom (for 32-bit integer tags)
INTEGER FUNCTION lmp_map_atom_int(self, id)
CLASS(lammps), INTENT(IN) :: self
@ -2812,6 +2888,14 @@ CONTAINS
lmp_config_has_ffmpeg_support = (has_ffmpeg_support /= 0_c_int)
END FUNCTION lmp_config_has_ffmpeg_support
! equivalent function to lammps_config_has_curl_support
LOGICAL FUNCTION lmp_config_has_curl_support()
INTEGER(c_int) :: has_curl_support
has_curl_support = lammps_config_has_curl_support()
lmp_config_has_curl_support = (has_curl_support /= 0_c_int)
END FUNCTION lmp_config_has_curl_support
! equivalent function to lammps_config_has_exceptions
LOGICAL FUNCTION lmp_config_has_exceptions()
INTEGER(c_int) :: has_exceptions

View File

@ -25,6 +25,7 @@ COLVARS_INCFLAGS = -DCOLVARS_LAMMPS $(COLVARS_DEBUG_INCFLAGS) $(COLVARS_PYTHON_I
COLVARS_SRCS = \
colvaratoms.cpp \
colvarbias_abf.cpp \
colvarbias_abmd.cpp \
colvarbias_alb.cpp \
colvarbias.cpp \
colvarbias_histogram.cpp \
@ -59,6 +60,7 @@ COLVARS_SRCS = \
colvarscript_commands.cpp \
colvarscript_commands_bias.cpp \
colvarscript_commands_colvar.cpp \
colvars_memstream.cpp \
colvartypes.cpp \
colvarvalue.cpp \
colvar_neuralnetworkcompute.cpp

View File

@ -1,201 +1,230 @@
$(COLVARS_OBJ_DIR)colvaratoms.o: colvaratoms.cpp colvarmodule.h \
colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h \
$(COLVARS_OBJ_DIR)colvaratoms.o: colvaratoms.cpp colvardeps.h \
colvarmodule.h colvars_version.h colvarparse.h colvarvalue.h \
colvartypes.h ../../src/math_eigen_impl.h colvarparams.h colvarproxy.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvarparse.h colvarparams.h colvaratoms.h \
colvardeps.h
colvarproxy_volmaps.h colvaratoms.h colvar_rotation_derivative.h
$(COLVARS_OBJ_DIR)colvarbias_abf.o: colvarbias_abf.cpp colvarmodule.h \
colvars_version.h colvar.h colvarvalue.h colvartypes.h colvarparse.h \
colvarparams.h colvardeps.h colvarbias_abf.h colvarproxy.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvarbias.h colvargrid.h colvar_UIestimator.h
colvars_version.h colvar.h colvarvalue.h colvartypes.h \
../../src/math_eigen_impl.h colvarparse.h colvarparams.h colvardeps.h \
colvarbias_abf.h colvarproxy.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvarbias.h colvargrid.h \
colvar_UIestimator.h colvars_memstream.h
$(COLVARS_OBJ_DIR)colvarbias_abmd.o: colvarbias_abmd.cpp \
colvarbias_abmd.h colvarbias_restraint.h colvarbias.h colvar.h \
colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
../../src/math_eigen_impl.h colvarparse.h colvarparams.h colvardeps.h \
colvarproxy.h colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h
$(COLVARS_OBJ_DIR)colvarbias_alb.o: colvarbias_alb.cpp colvarmodule.h \
colvars_version.h colvarbias.h colvar.h colvarvalue.h colvartypes.h \
colvarparse.h colvarparams.h colvardeps.h colvarbias_alb.h
colvars_version.h colvarproxy.h colvartypes.h \
../../src/math_eigen_impl.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvarbias.h colvar.h \
colvarvalue.h colvarparse.h colvarparams.h colvardeps.h colvarbias_alb.h
$(COLVARS_OBJ_DIR)colvarbias.o: colvarbias.cpp colvarmodule.h \
colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvarbias.h colvar.h colvarparse.h colvarparams.h \
colvardeps.h colvargrid.h
colvars_version.h colvarproxy.h colvartypes.h \
../../src/math_eigen_impl.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvarvalue.h colvarbias.h \
colvar.h colvarparse.h colvarparams.h colvardeps.h colvargrid.h \
colvars_memstream.h
$(COLVARS_OBJ_DIR)colvarbias_histogram.o: colvarbias_histogram.cpp \
colvarmodule.h colvars_version.h colvarproxy.h colvartypes.h \
colvarvalue.h colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvar.h colvarparse.h colvarparams.h colvardeps.h \
colvarbias_histogram.h colvarbias.h colvargrid.h
../../src/math_eigen_impl.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvar.h colvarvalue.h \
colvarparse.h colvarparams.h colvardeps.h colvarbias_histogram.h \
colvarbias.h colvargrid.h colvars_memstream.h
$(COLVARS_OBJ_DIR)colvarbias_histogram_reweight_amd.o: \
colvarbias_histogram_reweight_amd.cpp \
colvarbias_histogram_reweight_amd.h colvarbias_histogram.h colvarbias.h \
colvar.h colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
colvarparse.h colvarparams.h colvardeps.h colvargrid.h colvarproxy.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h
../../src/math_eigen_impl.h colvarparse.h colvarparams.h colvardeps.h \
colvargrid.h colvarproxy.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvars_memstream.h
$(COLVARS_OBJ_DIR)colvarbias_meta.o: colvarbias_meta.cpp colvarmodule.h \
colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvar.h colvarparse.h colvarparams.h colvardeps.h \
colvarbias_meta.h colvarbias.h colvargrid.h
colvars_version.h colvarproxy.h colvartypes.h \
../../src/math_eigen_impl.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvar.h colvarvalue.h \
colvarparse.h colvarparams.h colvardeps.h colvarbias_meta.h colvarbias.h \
colvargrid.h colvars_memstream.h
$(COLVARS_OBJ_DIR)colvarbias_restraint.o: colvarbias_restraint.cpp \
colvarmodule.h colvars_version.h colvarproxy.h colvartypes.h \
colvarvalue.h colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvarbias_restraint.h colvarbias.h colvar.h \
colvarparse.h colvarparams.h colvardeps.h
../../src/math_eigen_impl.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvarvalue.h \
colvarbias_restraint.h colvarbias.h colvar.h colvarparse.h \
colvarparams.h colvardeps.h
$(COLVARS_OBJ_DIR)colvarcomp_alchlambda.o: colvarcomp_alchlambda.cpp \
colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
colvarparse.h colvarparams.h colvar.h colvardeps.h colvarcomp.h \
colvaratoms.h colvarproxy.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvar_arithmeticpath.h \
../../src/math_eigen_impl.h colvar.h colvarparse.h colvarparams.h \
colvardeps.h colvarcomp.h colvaratoms.h colvarproxy.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvarcomp_angles.o: colvarcomp_angles.cpp \
colvarmodule.h colvars_version.h colvar.h colvarvalue.h colvartypes.h \
colvarparse.h colvarparams.h colvardeps.h colvarcomp.h colvaratoms.h \
colvarproxy.h colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvar_arithmeticpath.h colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvarcomp_apath.o: colvarcomp_apath.cpp colvarmodule.h \
colvars_version.h colvarvalue.h colvartypes.h colvarparse.h \
colvarparams.h colvar.h colvardeps.h colvarcomp.h colvaratoms.h \
colvarproxy.h colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvar_arithmeticpath.h colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvarcomp_coordnums.o: colvarcomp_coordnums.cpp \
colvarmodule.h colvars_version.h colvarparse.h colvarvalue.h \
colvartypes.h colvarparams.h colvaratoms.h colvarproxy.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvardeps.h colvar.h colvarcomp.h \
colvar_arithmeticpath.h colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvarcomp.o: colvarcomp.cpp colvarmodule.h \
colvars_version.h colvarvalue.h colvartypes.h colvar.h colvarparse.h \
colvarparams.h colvardeps.h colvarcomp.h colvaratoms.h colvarproxy.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvar_arithmeticpath.h colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvarcomp_distances.o: colvarcomp_distances.cpp \
colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
colvarparse.h colvarparams.h colvar.h colvardeps.h colvarcomp.h \
colvaratoms.h colvarproxy.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvar_arithmeticpath.h \
../../src/math_eigen_impl.h colvarparse.h colvarparams.h colvardeps.h \
colvarcomp.h colvaratoms.h colvarproxy.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvarcomp_gpath.o: colvarcomp_gpath.cpp colvarmodule.h \
colvars_version.h colvarvalue.h colvartypes.h colvarparse.h \
colvarparams.h colvar.h colvardeps.h colvarcomp.h colvaratoms.h \
colvarproxy.h colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvar_arithmeticpath.h colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvarcomp_neuralnetwork.o: \
colvarcomp_neuralnetwork.cpp colvarmodule.h colvars_version.h \
colvarvalue.h colvartypes.h colvarparse.h colvarparams.h colvar.h \
$(COLVARS_OBJ_DIR)colvarcomp_apath.o: colvarcomp_apath.cpp colvarvalue.h \
colvarmodule.h colvars_version.h colvartypes.h \
../../src/math_eigen_impl.h colvar.h colvarparse.h colvarparams.h \
colvardeps.h colvarcomp.h colvaratoms.h colvarproxy.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvar_arithmeticpath.h colvar_geometricpath.h \
colvar_geometricpath.h colvar_arithmeticpath.h
$(COLVARS_OBJ_DIR)colvarcomp_coordnums.o: colvarcomp_coordnums.cpp \
colvarmodule.h colvars_version.h colvaratoms.h colvarproxy.h \
colvartypes.h ../../src/math_eigen_impl.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvarparse.h colvarvalue.h colvarparams.h colvardeps.h colvar.h \
colvarcomp.h colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvarcomp.o: colvarcomp.cpp colvarmodule.h \
colvars_version.h colvarvalue.h colvartypes.h \
../../src/math_eigen_impl.h colvar.h colvarparse.h colvarparams.h \
colvardeps.h colvarcomp.h colvaratoms.h colvarproxy.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvarcomp_distances.o: colvarcomp_distances.cpp \
colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
../../src/math_eigen_impl.h colvar.h colvarparse.h colvarparams.h \
colvardeps.h colvarcomp.h colvaratoms.h colvarproxy.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvar_geometricpath.h colvar_rotation_derivative.h
$(COLVARS_OBJ_DIR)colvarcomp_gpath.o: colvarcomp_gpath.cpp colvarmodule.h \
colvars_version.h colvarvalue.h colvartypes.h \
../../src/math_eigen_impl.h colvar.h colvarparse.h colvarparams.h \
colvardeps.h colvarcomp.h colvaratoms.h colvarproxy.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvarcomp_neuralnetwork.o: \
colvarcomp_neuralnetwork.cpp colvarmodule.h colvars_version.h \
colvarvalue.h colvartypes.h ../../src/math_eigen_impl.h colvar.h \
colvarparse.h colvarparams.h colvardeps.h colvarcomp.h colvaratoms.h \
colvarproxy.h colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvar_geometricpath.h \
colvar_neuralnetworkcompute.h
$(COLVARS_OBJ_DIR)colvarcomp_combination.o: colvarcomp_combination.cpp \
colvarcomp.h colvarmodule.h colvars_version.h colvar.h colvarvalue.h \
colvartypes.h colvarparse.h colvarparams.h colvardeps.h colvaratoms.h \
colvarproxy.h colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvar_arithmeticpath.h colvar_geometricpath.h
colvarcomp.h colvarmodule.h colvars_version.h colvaratoms.h \
colvarproxy.h colvartypes.h ../../src/math_eigen_impl.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvarparse.h colvarvalue.h colvarparams.h colvardeps.h colvar.h \
colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvarcomp_protein.o: colvarcomp_protein.cpp \
colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
colvarparse.h colvarparams.h colvar.h colvardeps.h colvarcomp.h \
colvaratoms.h colvarproxy.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvar_arithmeticpath.h \
../../src/math_eigen_impl.h colvar.h colvarparse.h colvarparams.h \
colvardeps.h colvarcomp.h colvaratoms.h colvarproxy.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvarcomp_rotations.o: colvarcomp_rotations.cpp \
colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
colvarparse.h colvarparams.h colvar.h colvardeps.h colvarcomp.h \
colvaratoms.h colvarproxy.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvar_arithmeticpath.h \
colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvarcomp_volmaps.o: colvarcomp_volmaps.cpp \
colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
colvarparse.h colvarparams.h colvar.h colvardeps.h colvarcomp.h \
colvaratoms.h colvarproxy.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvar_arithmeticpath.h \
colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvar.o: colvar.cpp colvarmodule.h colvars_version.h \
colvarvalue.h colvartypes.h colvarparse.h colvarparams.h colvar.h \
../../src/math_eigen_impl.h colvar.h colvarparse.h colvarparams.h \
colvardeps.h colvarcomp.h colvaratoms.h colvarproxy.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvar_arithmeticpath.h colvar_geometricpath.h colvarscript.h \
colvarbias.h colvarscript_commands.h colvarscript_commands_colvar.h \
colvarscript_commands_bias.h
colvar_geometricpath.h colvar_rotation_derivative.h
$(COLVARS_OBJ_DIR)colvarcomp_volmaps.o: colvarcomp_volmaps.cpp \
colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
../../src/math_eigen_impl.h colvar.h colvarparse.h colvarparams.h \
colvardeps.h colvarcomp.h colvaratoms.h colvarproxy.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvar_geometricpath.h
$(COLVARS_OBJ_DIR)colvar.o: colvar.cpp colvarmodule.h colvars_version.h \
colvarvalue.h colvartypes.h ../../src/math_eigen_impl.h colvarparse.h \
colvarparams.h colvarcomp.h colvaratoms.h colvarproxy.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvardeps.h colvar.h colvar_geometricpath.h colvarbias.h \
colvars_memstream.h
$(COLVARS_OBJ_DIR)colvardeps.o: colvardeps.cpp colvarmodule.h \
colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvardeps.h colvarparse.h colvarparams.h
colvars_version.h colvarproxy.h colvartypes.h \
../../src/math_eigen_impl.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvardeps.h colvarparse.h \
colvarvalue.h colvarparams.h
$(COLVARS_OBJ_DIR)colvargrid.o: colvargrid.cpp colvarmodule.h \
colvars_version.h colvarvalue.h colvartypes.h colvarparse.h \
colvarparams.h colvar.h colvardeps.h colvarcomp.h colvaratoms.h \
colvarproxy.h colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvar_arithmeticpath.h colvar_geometricpath.h \
colvargrid.h colvargrid_def.h
colvars_version.h colvarvalue.h colvartypes.h \
../../src/math_eigen_impl.h colvarparse.h colvarparams.h colvar.h \
colvardeps.h colvargrid.h colvargrid_def.h colvarproxy.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvars_memstream.h
$(COLVARS_OBJ_DIR)colvarmodule.o: colvarmodule.cpp colvarmodule.h \
colvars_version.h colvarparse.h colvarvalue.h colvartypes.h \
colvarparams.h colvarproxy.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvar.h colvardeps.h \
colvarbias.h colvarbias_abf.h colvargrid.h colvar_UIestimator.h \
colvarbias_alb.h colvarbias_histogram.h \
colvarbias_histogram_reweight_amd.h colvarbias_meta.h \
colvarbias_restraint.h colvarscript.h colvarscript_commands.h \
colvarscript_commands_colvar.h colvarscript_commands_bias.h \
colvaratoms.h colvarcomp.h colvar_arithmeticpath.h \
colvar_geometricpath.h colvarmodule_refs.h
$(COLVARS_OBJ_DIR)colvarparams.o: colvarparams.cpp colvarmodule.h \
colvars_version.h colvarvalue.h colvartypes.h colvarparams.h
$(COLVARS_OBJ_DIR)colvarparse.o: colvarparse.cpp colvarmodule.h \
colvars_version.h colvarvalue.h colvartypes.h colvarparse.h \
colvarparams.h
$(COLVARS_OBJ_DIR)colvarproxy.o: colvarproxy.cpp colvarmodule.h \
colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h \
../../src/math_eigen_impl.h colvarparams.h colvarproxy.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvarscript.h colvarbias.h colvar.h colvarparse.h \
colvarparams.h colvardeps.h colvarscript_commands.h \
colvarscript_commands_colvar.h colvarscript_commands_bias.h \
colvaratoms.h colvarmodule_utils.h
colvarproxy_volmaps.h colvar.h colvardeps.h colvarbias.h \
colvarbias_abf.h colvargrid.h colvar_UIestimator.h colvarbias_abmd.h \
colvarbias_restraint.h colvarbias_alb.h colvarbias_histogram.h \
colvarbias_histogram_reweight_amd.h colvarbias_meta.h colvarscript.h \
colvarscript_commands.h colvarscript_commands_colvar.h \
colvarscript_commands_bias.h colvaratoms.h colvarcomp.h \
colvar_geometricpath.h colvars_memstream.h colvarmodule_refs.h
$(COLVARS_OBJ_DIR)colvarparams.o: colvarparams.cpp colvarmodule.h \
colvars_version.h colvarvalue.h colvartypes.h \
../../src/math_eigen_impl.h colvarparams.h
$(COLVARS_OBJ_DIR)colvarparse.o: colvarparse.cpp colvarmodule.h \
colvars_version.h colvarvalue.h colvartypes.h \
../../src/math_eigen_impl.h colvarparse.h colvarparams.h \
colvars_memstream.h
$(COLVARS_OBJ_DIR)colvarproxy.o: colvarproxy.cpp colvarmodule.h \
colvars_version.h colvarproxy.h colvartypes.h \
../../src/math_eigen_impl.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvar.h colvarvalue.h \
colvarparse.h colvarparams.h colvardeps.h colvarbias.h colvarscript.h \
colvarscript_commands.h colvarscript_commands_colvar.h \
colvarscript_commands_bias.h colvarmodule_utils.h
$(COLVARS_OBJ_DIR)colvarproxy_io.o: colvarproxy_io.cpp colvarmodule.h \
colvars_version.h colvarproxy_io.h
$(COLVARS_OBJ_DIR)colvarproxy_replicas.o: colvarproxy_replicas.cpp \
colvarmodule.h colvars_version.h colvarproxy.h colvartypes.h \
colvarvalue.h colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h
../../src/math_eigen_impl.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h
$(COLVARS_OBJ_DIR)colvarproxy_system.o: colvarproxy_system.cpp \
colvarmodule.h colvars_version.h colvartypes.h colvarproxy_system.h
colvarmodule.h colvars_version.h colvartypes.h \
../../src/math_eigen_impl.h colvarproxy_system.h
$(COLVARS_OBJ_DIR)colvarproxy_tcl.o: colvarproxy_tcl.cpp colvarmodule.h \
colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvaratoms.h colvarparse.h colvarparams.h \
colvardeps.h
colvars_version.h colvarproxy.h colvartypes.h \
../../src/math_eigen_impl.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvaratoms.h colvarparse.h \
colvarvalue.h colvarparams.h colvardeps.h
$(COLVARS_OBJ_DIR)colvarproxy_volmaps.o: colvarproxy_volmaps.cpp \
colvarmodule.h colvars_version.h colvarproxy_volmaps.h \
colvarmodule_utils.h
$(COLVARS_OBJ_DIR)colvarscript.o: colvarscript.cpp colvarproxy.h \
colvarmodule.h colvars_version.h colvartypes.h colvarvalue.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvardeps.h colvarparse.h colvarparams.h \
colvarscript.h colvarbias.h colvar.h colvarscript_commands.h \
colvarmodule.h colvars_version.h colvartypes.h \
../../src/math_eigen_impl.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvardeps.h colvarparse.h \
colvarvalue.h colvarparams.h colvarscript.h colvarscript_commands.h \
colvarscript_commands_colvar.h colvarscript_commands_bias.h
$(COLVARS_OBJ_DIR)colvarscript_commands.o: colvarscript_commands.cpp \
colvarproxy.h colvarmodule.h colvars_version.h colvartypes.h \
colvarvalue.h colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvardeps.h colvarparse.h colvarparams.h \
colvarscript.h colvarbias.h colvar.h colvarscript_commands.h \
colvarscript_commands_colvar.h colvarscript_commands_bias.h
colvar.h colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
../../src/math_eigen_impl.h colvarparse.h colvarparams.h colvardeps.h \
colvarbias.h colvarproxy.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvarscript.h \
colvarscript_commands.h colvarscript_commands_colvar.h \
colvarscript_commands_bias.h
$(COLVARS_OBJ_DIR)colvarscript_commands_bias.o: \
colvarscript_commands_bias.cpp colvarproxy.h colvarmodule.h \
colvars_version.h colvartypes.h colvarvalue.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvardeps.h colvarparse.h colvarparams.h colvarscript.h colvarbias.h \
colvar.h colvarscript_commands.h colvarscript_commands_colvar.h \
colvarscript_commands_bias.h
colvars_version.h colvartypes.h ../../src/math_eigen_impl.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvarbias.h colvar.h colvarvalue.h colvarparse.h \
colvarparams.h colvardeps.h colvarscript.h colvarscript_commands.h \
colvarscript_commands_colvar.h colvarscript_commands_bias.h
$(COLVARS_OBJ_DIR)colvarscript_commands_colvar.o: \
colvarscript_commands_colvar.cpp colvarproxy.h colvarmodule.h \
colvars_version.h colvartypes.h colvarvalue.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h \
colvardeps.h colvarparse.h colvarparams.h colvarscript.h colvarbias.h \
colvar.h colvarscript_commands.h colvarscript_commands_colvar.h \
colvarscript_commands_bias.h
colvarscript_commands_colvar.cpp colvar.h colvarmodule.h \
colvars_version.h colvarvalue.h colvartypes.h \
../../src/math_eigen_impl.h colvarparse.h colvarparams.h colvardeps.h \
colvarproxy.h colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h colvarscript.h colvarscript_commands.h \
colvarscript_commands_colvar.h colvarscript_commands_bias.h
$(COLVARS_OBJ_DIR)colvars_memstream.o: colvars_memstream.cpp \
colvarmodule.h colvars_version.h colvartypes.h \
../../src/math_eigen_impl.h colvarvalue.h colvars_memstream.h
$(COLVARS_OBJ_DIR)colvartypes.o: colvartypes.cpp colvarmodule.h \
colvars_version.h colvartypes.h colvarparse.h colvarvalue.h \
colvarparams.h ../../src/math_eigen_impl.h
colvars_version.h colvartypes.h ../../src/math_eigen_impl.h \
colvaratoms.h colvarproxy.h colvarproxy_io.h colvarproxy_system.h \
colvarproxy_tcl.h colvarproxy_volmaps.h colvarparse.h colvarvalue.h \
colvarparams.h colvardeps.h colvar_rotation_derivative.h
$(COLVARS_OBJ_DIR)colvarvalue.o: colvarvalue.cpp colvarmodule.h \
colvars_version.h colvarvalue.h colvartypes.h
colvars_version.h colvarvalue.h colvartypes.h \
../../src/math_eigen_impl.h colvars_memstream.h
$(COLVARS_OBJ_DIR)colvar_neuralnetworkcompute.o: \
colvar_neuralnetworkcompute.cpp colvar_neuralnetworkcompute.h \
colvarparse.h colvarmodule.h colvars_version.h colvarvalue.h \
colvartypes.h colvarparams.h colvarproxy.h colvarproxy_io.h \
colvarproxy_system.h colvarproxy_tcl.h colvarproxy_volmaps.h
colvartypes.h ../../src/math_eigen_impl.h colvarparams.h colvarproxy.h \
colvarproxy_io.h colvarproxy_system.h colvarproxy_tcl.h \
colvarproxy_volmaps.h

View File

@ -16,13 +16,18 @@
#include "colvarmodule.h"
#include "colvarvalue.h"
#include "colvarparse.h"
#include "colvar.h"
#include "colvarcomp.h"
#include "colvarscript.h"
#include "colvar.h"
#include "colvarbias.h"
#include "colvars_memstream.h"
std::map<std::string, std::function<colvar::cvc *()>> colvar::global_cvc_map =
std::map<std::string, std::function<colvar::cvc *()>>();
std::map<std::string, std::string> colvar::global_cvc_desc_map =
std::map<std::string, std::string>();
#if (__cplusplus >= 201103L)
std::map<std::string, std::function<colvar::cvc* (const std::string& subcv_conf)>> colvar::global_cvc_map = std::map<std::string, std::function<colvar::cvc* (const std::string& subcv_conf)>>();
#endif
colvar::colvar()
{
@ -36,6 +41,8 @@ colvar::colvar()
dev_null = 0.0;
#endif
matching_state = false;
expand_boundaries = false;
description = "uninitialized colvar";
@ -131,7 +138,14 @@ int colvar::init(std::string const &conf)
// Sort array of cvcs based on their names
// Note: default CVC names are in input order for same type of CVC
std::sort(cvcs.begin(), cvcs.end(), colvar::compare_cvc);
std::sort(cvcs.begin(), cvcs.end(),
[](std::shared_ptr<colvar::cvc> const &cvc1,
std::shared_ptr<colvar::cvc> const &cvc2) -> bool {
if (cvc1 && cvc2) {
return cvc1->name < cvc2->name;
}
return false;
});
if(cvcs.size() > 1) {
cvm::log("Sorted list of components for this scripted colvar:\n");
@ -186,9 +200,9 @@ int colvar::init(std::string const &conf)
if ((cvcs[i])->sup_np < 0) {
cvm::log("Warning: you chose a negative exponent in the combination; "
"if you apply forces, the simulation may become unstable "
"when the component \""+
(cvcs[i])->function_type+"\" approaches zero.\n");
"if you apply forces, the simulation may become unstable "
"when the component \""+
(cvcs[i])->function_type()+"\" approaches zero.\n");
}
}
}
@ -295,7 +309,7 @@ int colvar::init(std::string const &conf)
error_code |= init_grid_parameters(conf);
// Detect if we have a single component that is an alchemical lambda
if (is_enabled(f_cv_single_cvc) && cvcs[0]->function_type == "alchLambda") {
if (is_enabled(f_cv_single_cvc) && cvcs[0]->function_type() == "alchLambda") {
enable(f_cv_external);
}
@ -468,13 +482,6 @@ int colvar::init_custom_function(std::string const &conf)
size_t pos = 0;
if (key_lookup(conf, "customFunction", &expr, &pos)) {
std::string msg("Error: customFunction requires the Lepton library.");
#if (__cplusplus < 201103L)
// NOTE: this is not ideal; testing for the Lepton library's version would
// be more accurate, but also less portable
msg +=
std::string(" Note also that recent versions of Lepton require C++11: "
"please see https://colvars.github.io/README-c++11.html.");
#endif
return cvm::error(msg, COLVARS_NOT_IMPLEMENTED);
}
@ -697,9 +704,14 @@ int colvar::init_extended_Lagrangian(std::string const &conf)
}
if (ext_gamma != 0.0) {
enable(f_cv_Langevin);
cvm::main()->cite_feature("BAOA integrator");
ext_gamma *= 1.0e-3; // correct as long as input is required in ps-1 and cvm::dt() is in fs
// Adjust Langevin sigma for slow time step if time_step_factor != 1
ext_sigma = cvm::sqrt(2.0 * proxy->boltzmann() * temp * ext_gamma * ext_mass / (cvm::dt() * cvm::real(time_step_factor)));
// Eq. (6a) in https://doi.org/10.1021/acs.jctc.2c00585
ext_sigma = cvm::sqrt((1.0 - cvm::exp(-2.0 * ext_gamma * cvm::dt() * cvm::real(time_step_factor)))
* ext_mass * proxy->boltzmann() * temp);
} else {
ext_sigma = 0.0;
}
get_keyval_feature(this, conf, "reflectingLowerBoundary", f_cv_reflecting_lower_boundary, false);
@ -744,75 +756,56 @@ int colvar::init_output_flags(std::string const &conf)
return COLVARS_OK;
}
#if (__cplusplus >= 201103L)
// C++11
template<typename def_class_name> int colvar::init_components_type(std::string const &,
char const * /* def_desc */,
char const *def_config_key) {
// global_cvc_map is only supported in the C++11 case
global_cvc_map[def_config_key] = [](const std::string& cvc_conf){return new def_class_name(cvc_conf);};
// TODO: maybe it is better to do more check to avoid duplication in the map?
return COLVARS_OK;
template <typename def_class_name>
void colvar::add_component_type(char const *def_description, char const *def_config_key)
{
if (global_cvc_map.count(def_config_key) == 0) {
global_cvc_map[def_config_key] = []() {
return new def_class_name();
};
global_cvc_desc_map[def_config_key] = std::string(def_description);
}
}
int colvar::init_components_type_from_global_map(const std::string& conf,
const char* def_config_key) {
#else
template<typename def_class_name> int colvar::init_components_type(std::string const & conf,
char const * /* def_desc */,
char const *def_config_key) {
#endif
int colvar::init_components_type(const std::string& conf, const char* def_config_key) {
size_t def_count = 0;
std::string def_conf = "";
size_t pos = 0;
int error_code = COLVARS_OK;
while ( this->key_lookup(conf,
def_config_key,
&def_conf,
&pos) ) {
if (!def_conf.size()) continue;
cvm::log("Initializing "
"a new \""+std::string(def_config_key)+"\" component"+
(cvm::debug() ? ", with configuration:\n"+def_conf
: ".\n"));
cvc *cvcp = global_cvc_map[def_config_key]();
if (!cvcp) {
return cvm::error("Error: in creating object of type \"" + std::string(def_config_key) +
"\".\n",
COLVARS_MEMORY_ERROR);
}
cvcs.push_back(std::shared_ptr<colvar::cvc>(cvcp));
cvm::increase_depth();
// only the following line is different from init_components_type
// in the non-C++11 case
#if (__cplusplus >= 201103L)
cvc *cvcp = global_cvc_map.at(def_config_key)(def_conf);
#else
cvc *cvcp = new def_class_name(def_conf);
#endif
if (cvcp != NULL) {
cvcs.push_back(cvcp);
cvcp->check_keywords(def_conf, def_config_key);
cvcp->set_function_type(def_config_key);
if (cvm::get_error()) {
cvm::error("Error: in setting up component \""+
std::string(def_config_key)+"\".\n", COLVARS_INPUT_ERROR);
return COLVARS_INPUT_ERROR;
}
cvm::decrease_depth();
} else {
cvm::decrease_depth();
cvm::error("Error: in allocating component \""+
std::string(def_config_key)+"\".\n",
COLVARS_MEMORY_ERROR);
return COLVARS_MEMORY_ERROR;
}
if ( (cvcp->period != 0.0) || (cvcp->wrap_center != 0.0) ) {
if (! cvcp->is_enabled(f_cvc_periodic)) {
cvm::error("Error: invalid use of period and/or "
"wrapAround in a \""+
std::string(def_config_key)+
"\" component.\n"+
"Period: "+cvm::to_str(cvcp->period) +
" wrapAround: "+cvm::to_str(cvcp->wrap_center),
COLVARS_INPUT_ERROR);
return COLVARS_INPUT_ERROR;
}
int error_code_this = cvcp->init(def_conf);
if (error_code_this == COLVARS_OK) {
// Checking for invalid keywords only if the parsing was successful, otherwise any
// early-returns due to errors would raise false positives
error_code_this |= cvcp->check_keywords(def_conf, def_config_key);
}
cvm::decrease_depth();
if (error_code_this != COLVARS_OK) {
error_code |=
cvm::error("Error: in setting up component \"" + std::string(def_config_key) + "\".\n",
COLVARS_INPUT_ERROR);
}
// Set default name if it doesn't have one
if ( ! cvcs.back()->name.size()) {
std::ostringstream s;
s << def_config_key << std::setfill('0') << std::setw(4) << ++def_count;
@ -822,135 +815,138 @@ template<typename def_class_name> int colvar::init_components_type(std::string c
cvcs.back()->setup();
if (cvm::debug()) {
cvm::log("Done initializing a \""+
std::string(def_config_key)+
"\" component"+
(cvm::debug() ?
", named \""+cvcs.back()->name+"\""
: "")+".\n");
cvm::log("Done initializing a \"" + std::string(def_config_key) + "\" component" +
(cvm::debug() ? ", named \"" + cvcs.back()->name + "\"" : "") + ".\n");
}
def_conf = "";
if (cvm::debug()) {
cvm::log("Parsed "+cvm::to_str(cvcs.size())+
" components at this time.\n");
cvm::log("Parsed " + cvm::to_str(cvcs.size()) + " components at this time.\n");
}
}
return COLVARS_OK;
return error_code;
}
void colvar::define_component_types()
{
colvarproxy *proxy = cvm::main()->proxy;
add_component_type<distance>("distance", "distance");
add_component_type<distance_vec>("distance vector", "distanceVec");
add_component_type<cartesian>("Cartesian coordinates", "cartesian");
add_component_type<distance_dir>("distance vector direction", "distanceDir");
add_component_type<distance_z>("distance projection on an axis", "distanceZ");
add_component_type<distance_xy>("distance projection on a plane", "distanceXY");
add_component_type<polar_theta>("spherical polar angle theta", "polarTheta");
add_component_type<polar_phi>("spherical azimuthal angle phi", "polarPhi");
add_component_type<distance_inv>("average distance weighted by inverse power", "distanceInv");
add_component_type<distance_pairs>("N1xN2-long vector of pairwise distances", "distancePairs");
add_component_type<dipole_magnitude>("dipole magnitude", "dipoleMagnitude");
add_component_type<coordnum>("coordination number", "coordNum");
add_component_type<selfcoordnum>("self-coordination number", "selfCoordNum");
add_component_type<groupcoordnum>("group-coordination number", "groupCoord");
add_component_type<angle>("angle", "angle");
add_component_type<dipole_angle>("dipole angle", "dipoleAngle");
add_component_type<dihedral>("dihedral", "dihedral");
add_component_type<h_bond>("hydrogen bond", "hBond");
if (proxy->check_atom_name_selections_available() == COLVARS_OK) {
add_component_type<alpha_angles>("alpha helix", "alpha");
add_component_type<dihedPC>("dihedral principal component", "dihedralPC");
}
add_component_type<orientation>("orientation", "orientation");
add_component_type<orientation_angle>("orientation angle", "orientationAngle");
add_component_type<orientation_proj>("orientation projection", "orientationProj");
add_component_type<tilt>("tilt", "tilt");
add_component_type<spin_angle>("spin angle", "spinAngle");
add_component_type<rmsd>("RMSD", "rmsd");
add_component_type<gyration>("radius of gyration", "gyration");
add_component_type<inertia>("moment of inertia", "inertia");
add_component_type<inertia_z>("moment of inertia around an axis", "inertiaZ");
add_component_type<eigenvector>("eigenvector", "eigenvector");
add_component_type<alch_lambda>("alchemical coupling parameter", "alchLambda");
add_component_type<alch_Flambda>("force on alchemical coupling parameter", "alchFLambda");
add_component_type<aspath>("arithmetic path collective variables (s)", "aspath");
add_component_type<azpath>("arithmetic path collective variables (z)", "azpath");
add_component_type<gspath>("geometrical path collective variables (s)", "gspath");
add_component_type<gzpath>("geometrical path collective variables (z)", "gzpath");
add_component_type<linearCombination>("linear combination of other collective variables", "linearCombination");
add_component_type<gspathCV>("geometrical path collective variables (s) for other CVs", "gspathCV");
add_component_type<gzpathCV>("geometrical path collective variables (z) for other CVs", "gzpathCV");
add_component_type<aspathCV>("arithmetic path collective variables (s) for other CVs", "aspathCV");
add_component_type<azpathCV>("arithmetic path collective variables (s) for other CVs", "azpathCV");
add_component_type<euler_phi>("euler phi angle of the optimal orientation", "eulerPhi");
add_component_type<euler_psi>("euler psi angle of the optimal orientation", "eulerPsi");
add_component_type<euler_theta>("euler theta angle of the optimal orientation", "eulerTheta");
#ifdef LEPTON
add_component_type<customColvar>("CV with support of the Lepton custom function", "customColvar");
#endif
add_component_type<neuralNetwork>("neural network CV for other CVs", "neuralNetwork");
if (proxy->check_volmaps_available() == COLVARS_OK) {
add_component_type<map_total>("total value of atomic map", "mapTotal");
}
}
int colvar::init_components(std::string const &conf)
{
int error_code = COLVARS_OK;
size_t i = 0, j = 0;
// in the non-C++11 case, the components are initialized directly by init_components_type;
// in the C++11 case, the components are stored in the global_cvc_map at first
// by init_components_type, and then the map is iterated to initialize all components.
error_code |= init_components_type<distance>(conf, "distance", "distance");
error_code |= init_components_type<distance_vec>(conf, "distance vector", "distanceVec");
error_code |= init_components_type<cartesian>(conf, "Cartesian coordinates", "cartesian");
error_code |= init_components_type<distance_dir>(conf, "distance vector "
"direction", "distanceDir");
error_code |= init_components_type<distance_z>(conf, "distance projection "
"on an axis", "distanceZ");
error_code |= init_components_type<distance_xy>(conf, "distance projection "
"on a plane", "distanceXY");
error_code |= init_components_type<polar_theta>(conf, "spherical polar angle theta",
"polarTheta");
error_code |= init_components_type<polar_phi>(conf, "spherical azimuthal angle phi",
"polarPhi");
error_code |= init_components_type<distance_inv>(conf, "average distance "
"weighted by inverse power", "distanceInv");
error_code |= init_components_type<distance_pairs>(conf, "N1xN2-long vector "
"of pairwise distances", "distancePairs");
error_code |= init_components_type<dipole_magnitude>(conf, "dipole magnitude",
"dipoleMagnitude");
error_code |= init_components_type<coordnum>(conf, "coordination "
"number", "coordNum");
error_code |= init_components_type<selfcoordnum>(conf, "self-coordination "
"number", "selfCoordNum");
error_code |= init_components_type<groupcoordnum>(conf, "group-coordination "
"number", "groupCoord");
error_code |= init_components_type<angle>(conf, "angle", "angle");
error_code |= init_components_type<dipole_angle>(conf, "dipole angle", "dipoleAngle");
error_code |= init_components_type<dihedral>(conf, "dihedral", "dihedral");
error_code |= init_components_type<h_bond>(conf, "hydrogen bond", "hBond");
error_code |= init_components_type<alpha_angles>(conf, "alpha helix", "alpha");
error_code |= init_components_type<dihedPC>(conf, "dihedral "
"principal component", "dihedralPC");
error_code |= init_components_type<orientation>(conf, "orientation", "orientation");
error_code |= init_components_type<orientation_angle>(conf, "orientation "
"angle", "orientationAngle");
error_code |= init_components_type<orientation_proj>(conf, "orientation "
"projection", "orientationProj");
error_code |= init_components_type<tilt>(conf, "tilt", "tilt");
error_code |= init_components_type<spin_angle>(conf, "spin angle", "spinAngle");
error_code |= init_components_type<rmsd>(conf, "RMSD", "rmsd");
error_code |= init_components_type<gyration>(conf, "radius of "
"gyration", "gyration");
error_code |= init_components_type<inertia>(conf, "moment of "
"inertia", "inertia");
error_code |= init_components_type<inertia_z>(conf, "moment of inertia around an axis", "inertiaZ");
error_code |= init_components_type<eigenvector>(conf, "eigenvector", "eigenvector");
error_code |= init_components_type<alch_lambda>(conf, "alchemical coupling parameter", "alchLambda");
error_code |= init_components_type<alch_Flambda>(conf, "force on alchemical coupling parameter", "alchFLambda");
error_code |= init_components_type<gspath>(conf, "geometrical path collective variables (s)", "gspath");
error_code |= init_components_type<gzpath>(conf, "geometrical path collective variables (z)", "gzpath");
error_code |= init_components_type<linearCombination>(conf, "linear combination of other collective variables", "linearCombination");
error_code |= init_components_type<gspathCV>(conf, "geometrical path collective variables (s) for other CVs", "gspathCV");
error_code |= init_components_type<gzpathCV>(conf, "geometrical path collective variables (z) for other CVs", "gzpathCV");
error_code |= init_components_type<aspathCV>(conf, "arithmetic path collective variables (s) for other CVs", "aspathCV");
error_code |= init_components_type<azpathCV>(conf, "arithmetic path collective variables (s) for other CVs", "azpathCV");
error_code |= init_components_type<euler_phi>(conf, "euler phi angle of the optimal orientation", "eulerPhi");
error_code |= init_components_type<euler_psi>(conf, "euler psi angle of the optimal orientation", "eulerPsi");
error_code |= init_components_type<euler_theta>(conf, "euler theta angle of the optimal orientation", "eulerTheta");
#ifdef LEPTON
error_code |= init_components_type<customColvar>(conf, "CV with support of the lepton custom function", "customColvar");
#endif
error_code |= init_components_type<neuralNetwork>(conf, "neural network CV for other CVs", "NeuralNetwork");
if (global_cvc_map.empty()) {
define_component_types();
}
error_code |= init_components_type<map_total>(conf, "total value of atomic map", "mapTotal");
#if (__cplusplus >= 201103L)
// iterate over all available CVC in the map
for (auto it = global_cvc_map.begin(); it != global_cvc_map.end(); ++it) {
error_code |= init_components_type_from_global_map(conf, it->first.c_str());
error_code |= init_components_type(conf, it->first.c_str());
// TODO: is it better to check the error code here?
if (error_code != COLVARS_OK) {
cvm::log("Failed to initialize " + it->first + " with the following configuration:\n");
cvm::log(conf);
// TODO: should it stop here?
break;
}
}
#endif
if (!cvcs.size() || (error_code != COLVARS_OK)) {
cvm::error("Error: no valid components were provided "
"for this collective variable.\n",
COLVARS_INPUT_ERROR);
return COLVARS_INPUT_ERROR;
if (!cvcs.size()) {
std::string msg("Error: no valid components were provided for this collective variable.\n");
msg += "Currently available component types are: \n";
for (auto it = global_cvc_desc_map.begin(); it != global_cvc_desc_map.end(); ++it) {
msg += " " + it->first + " -- " + it->second + "\n";
}
msg += "\nPlease note that some of the above types may still be unavailable, irrespective of this error.\n";
error_code |= cvm::error(msg, COLVARS_INPUT_ERROR);
}
// Check for uniqueness of CVC names (esp. if user-provided)
for (i = 0; i < cvcs.size(); i++) {
for (j = i+1; j < cvcs.size(); j++) {
for (j = i + 1; j < cvcs.size(); j++) {
if (cvcs[i]->name == cvcs[j]->name) {
cvm::error("Components " + cvm::to_str(i) + " and " + cvm::to_str(j) +\
" cannot have the same name \"" + cvcs[i]->name+ "\".\n", COLVARS_INPUT_ERROR);
return COLVARS_INPUT_ERROR;
error_code |= cvm::error("Components " + cvm::to_str(i) + " and " + cvm::to_str(j) +
" cannot have the same name \"" + cvcs[i]->name + "\".\n",
COLVARS_INPUT_ERROR);
}
}
}
n_active_cvcs = cvcs.size();
// Store list of children cvcs for dependency checking purposes
for (i = 0; i < cvcs.size(); i++) {
add_child(cvcs[i]);
if (error_code == COLVARS_OK) {
// Store list of children cvcs for dependency checking purposes
for (i = 0; i < cvcs.size(); i++) {
add_child(cvcs[i].get());
}
// By default all CVCs are active at the start
n_active_cvcs = cvcs.size();
cvm::log("All components initialized.\n");
}
cvm::log("All components initialized.\n");
return COLVARS_OK;
return error_code;
}
@ -1220,7 +1216,7 @@ int colvar::init_dependencies() {
// Initialize feature_states for each instance
feature_states.reserve(f_cv_ntot);
for (i = 0; i < f_cv_ntot; i++) {
for (i = feature_states.size(); i < f_cv_ntot; i++) {
feature_states.push_back(feature_state(true, false));
// Most features are available, so we set them so
// and list exceptions below
@ -1283,14 +1279,10 @@ colvar::~colvar()
// for dependency purposes
remove_all_children();
for (std::vector<cvc *>::reverse_iterator ci = cvcs.rbegin();
ci != cvcs.rend();
++ci) {
// clear all children of this cvc (i.e. its atom groups)
// because the cvc base class destructor can't do it early enough
// and we don't want to have each cvc derived class do it separately
for (auto ci = cvcs.rbegin(); ci != cvcs.rend(); ++ci) {
// Clear all children of this cvc (i.e. its atom groups), because the cvc base class destructor
// can't do it early enough and we don't want to have each cvc derived class do it separately
(*ci)->remove_all_children();
delete *ci;
}
cvcs.clear();
@ -1512,6 +1504,7 @@ int colvar::collect_cvc_values()
cvm::to_str(x, cvm::cv_width, cvm::cv_prec)+".\n");
if (after_restart) {
x_old = x_restart;
if (cvm::proxy->simulation_running()) {
cvm::real const jump2 = dist2(x, x_restart) / (width*width);
if (jump2 > 0.25) {
@ -1555,12 +1548,12 @@ int colvar::calc_cvc_gradients(int first_cvc, size_t num_cvcs)
(cvcs[i])->debug_gradients();
}
cvm::decrease_depth();
if (cvm::debug())
cvm::log("Done calculating gradients of colvar \""+this->name+"\".\n");
}
cvm::decrease_depth();
return COLVARS_OK;
}
@ -1706,12 +1699,13 @@ int colvar::calc_colvar_properties()
// Do the same if no simulation is running (eg. VMD postprocessing)
if ((cvm::step_relative() == 0 && !after_restart) || x_ext.type() == colvarvalue::type_notset || !cvm::proxy->simulation_running()) {
x_ext = x;
cvm::log("Initializing extended coordinate to colvar value.\n");
if (is_enabled(f_cv_reflecting_lower_boundary) && x_ext < lower_boundary) {
cvm::log("Warning: initializing extended coordinate to reflective lower boundary, as colvar value is below.");
cvm::log("Warning: initializing extended coordinate to reflective lower boundary, as colvar value is below.\n");
x_ext = lower_boundary;
}
if (is_enabled(f_cv_reflecting_upper_boundary) && x_ext > upper_boundary) {
cvm::log("Warning: initializing extended coordinate to reflective upper boundary, as colvar value is above.");
cvm::log("Warning: initializing extended coordinate to reflective upper boundary, as colvar value is above.\n");
x_ext = upper_boundary;
}
@ -1721,8 +1715,18 @@ int colvar::calc_colvar_properties()
// Special case of a repeated timestep (eg. multiple NAMD "run" statements)
// revert values of the extended coordinate and velocity prior to latest integration
if (cvm::proxy->simulation_running() && cvm::step_relative() == prev_timestep) {
x_ext = prev_x_ext;
v_ext = prev_v_ext;
// Detect jumps due to discrete changes in coordinates (eg. in replica exchange schemes)
cvm::real const jump2 = dist2(x, x_old) / (width*width);
if (jump2 > 0.25) {
cvm::log("Detected discrete jump in colvar value from "
+ cvm::to_str(x_old) + " to " + cvm::to_str(x) + ".\n");
cvm::log("Reinitializing extended coordinate to colvar value.\n");
x_ext = x;
} else {
cvm::log("Reinitializing extended coordinate to last value.\n");
x_ext = prev_x_ext;
v_ext = prev_v_ext;
}
}
// report the restraint center as "value"
// These position and velocities come from integration at the _previous timestep_ in update_forces_energy()
@ -1830,9 +1834,11 @@ void colvar::update_extended_Lagrangian()
f += fb_actual;
}
fr = f;
// External force has been scaled for a 1-timestep impulse, scale it back because we will
// integrate it with the colvar's own timestep factor
// fr: bias force on extended variable (without harmonic spring), for output in trajectory
fr = f;
// External force has been scaled for an inner-timestep impulse (for the back-end integrator)
// here we scale it back because this integrator uses only the outer (long) timestep
f_ext = f / cvm::real(time_step_factor);
colvarvalue f_system(fr.type()); // force exterted by the system on the extended DOF
@ -1845,15 +1851,14 @@ void colvar::update_extended_Lagrangian()
} else {
// the total force is applied to the fictitious mass, while the
// atoms only feel the harmonic force + wall force
// fr: bias force on extended variable (without harmonic spring), for output in trajectory
// f_ext: total force on extended variable (including harmonic spring)
// f: - initially, external biasing force
// - after this code block, colvar force to be applied to atomic coordinates
// ie. spring force (fb_actual will be added just below)
f_system = (-0.5 * ext_force_k) * this->dist2_lgrad(x_ext, x);
f = -1.0 * f_system;
// Coupling force is a slow force, to be applied to atomic coords impulse-style
// over a single MD timestep
// Coupling force will be applied to atomic coords impulse-style
// over an inner timestep of the back-end integrator
f *= cvm::real(time_step_factor);
}
f_ext += f_system;
@ -1873,34 +1878,57 @@ void colvar::update_extended_Lagrangian()
prev_x_ext = x_ext;
prev_v_ext = v_ext;
// leapfrog: starting from x_i, f_i, v_(i-1/2)
v_ext += (0.5 * dt) * f_ext / ext_mass;
// Because of leapfrog, kinetic energy at time i is approximate
// BAOA (GSD) integrator as formulated in https://doi.org/10.1021/acs.jctc.2c00585
// starting from x_t, f_t, v_(t-1/2)
// Variation: the velocity step is split in two to estimate the kinetic energy at time t
// so this is more of a "BBAOA" scheme: a rearranged BAOAB where the second B is deferred
// to the next time step for implementation reasons (waiting for the force calculation)
// [B] Eq. (10a) split into two half-steps
// would reduce to leapfrog when gamma = 0 if this was the reported velocity
v_ext += 0.5 * dt * f_ext / ext_mass;
// Kinetic energy at t
kinetic_energy = 0.5 * ext_mass * v_ext * v_ext;
// Potential energy at t
potential_energy = 0.5 * ext_force_k * this->dist2(x_ext, x);
// leap to v_(i+1/2)
// Total energy will lag behind position by one timestep
// (current kinetic energy is not accessible before the next force calculation)
v_ext += 0.5 * dt * f_ext / ext_mass;
// Final v_ext lags behind x_ext by half a timestep
// [A] Half step in position (10b)
x_ext += dt * v_ext / 2.0;
// [O] leap to v_(i+1/2) (10c)
if (is_enabled(f_cv_Langevin)) {
v_ext -= dt * ext_gamma * v_ext;
colvarvalue rnd(x);
rnd.set_random();
v_ext += dt * ext_sigma * rnd / ext_mass;
// ext_sigma has been computed at init time according to (10c)
v_ext = cvm::exp(- 1.0 * dt * ext_gamma) * v_ext + ext_sigma * rnd / ext_mass;
}
v_ext += (0.5 * dt) * f_ext / ext_mass;
x_ext += dt * v_ext;
// [A] Second half step in position (10d)
x_ext += dt * v_ext / 2.0;
cvm::real delta = 0; // Length of overshoot past either reflecting boundary
if ((is_enabled(f_cv_reflecting_lower_boundary) && (delta = x_ext - lower_boundary) < 0) ||
(is_enabled(f_cv_reflecting_upper_boundary) && (delta = x_ext - upper_boundary) > 0)) {
// Reflect arrival position
x_ext -= 2.0 * delta;
v_ext *= -1.0;
if ((is_enabled(f_cv_reflecting_lower_boundary) && (delta = x_ext - lower_boundary) < 0) ||
(is_enabled(f_cv_reflecting_upper_boundary) && (delta = x_ext - upper_boundary) > 0)) {
// Bounce happened on average at t+1/2 -> reflect velocity at t+1/2
v_ext = -0.5 * (prev_v_ext + v_ext);
if ((is_enabled(f_cv_reflecting_lower_boundary) && (x_ext - lower_boundary) < 0.0) ||
(is_enabled(f_cv_reflecting_upper_boundary) && (x_ext - upper_boundary) > 0.0)) {
cvm::error("Error: extended coordinate value " + cvm::to_str(x_ext) + " is still outside boundaries after reflection.\n");
}
}
x_ext.apply_constraints();
this->wrap(x_ext);
if (is_enabled(f_cv_external)) {
// Colvar value is constrained to the extended value
x = x_ext;
@ -1914,9 +1942,8 @@ int colvar::end_of_step()
if (cvm::debug())
cvm::log("End of step for colvar \""+this->name+"\".\n");
if (is_enabled(f_cv_fdiff_velocity)) {
x_old = x;
}
// Used for fdiff_velocity and for detecting jumps for extended Lagrangian colvars
x_old = x;
if (is_enabled(f_cv_subtract_applied_force)) {
f_old = f;
@ -2256,44 +2283,65 @@ void colvar::wrap(colvarvalue &x_unwrapped) const
std::istream & colvar::read_state(std::istream &is)
{
std::streampos const start_pos = is.tellg();
auto const start_pos = is.tellg();
std::string conf;
if ( !(is >> colvarparse::read_block("colvar", &conf)) ) {
if ( !(is >> colvarparse::read_block("colvar", &conf)) ||
(check_matching_state(conf) != COLVARS_OK) ) {
// this is not a colvar block
is.clear();
is.seekg(start_pos, std::ios::beg);
is.seekg(start_pos);
is.setstate(std::ios::failbit);
return is;
}
{
std::string check_name = "";
get_keyval(conf, "name", check_name,
std::string(""), colvarparse::parse_silent);
if (check_name.size() == 0) {
cvm::error("Error: Collective variable in the "
"restart file without any identifier.\n", COLVARS_INPUT_ERROR);
is.clear();
is.seekg(start_pos, std::ios::beg);
is.setstate(std::ios::failbit);
return is;
}
if (check_name != name) {
if (cvm::debug()) {
cvm::log("Ignoring state of colvar \""+check_name+
"\": this colvar is named \""+name+"\".\n");
}
is.seekg(start_pos, std::ios::beg);
return is;
}
if (!matching_state) {
// No errors reading, but this state is not for this colvar; rewind
is.seekg(start_pos);
return is;
}
if (set_state_params(conf) != COLVARS_OK) {
is.clear();
is.seekg(start_pos);
is.setstate(std::ios::failbit);
}
return is;
}
int colvar::check_matching_state(std::string const &conf)
{
std::string check_name = "";
get_keyval(conf, "name", check_name, std::string(""), colvarparse::parse_silent);
if (check_name.size() == 0) {
return cvm::error("Error: Collective variable in the "
"state file without any identifier.\n", COLVARS_INPUT_ERROR);
}
if (check_name != name) {
if (cvm::debug()) {
cvm::log("Ignoring state of colvar \""+check_name+
"\": this colvar is named \""+name+"\".\n");
}
matching_state = false;
} else {
matching_state = true;
}
return COLVARS_OK;
}
int colvar::set_state_params(std::string const &conf)
{
int error_code = COLVARS_OK;
if ( !(get_keyval(conf, "x", x, x, colvarparse::parse_silent)) ) {
cvm::log("Error: restart file does not contain "
"the value of the colvar \""+
name+"\" .\n");
error_code |= cvm::error("Error: restart file does not contain "
"the value of the colvar \""+
name+"\" .\n", COLVARS_INPUT_ERROR);
} else {
cvm::log("Restarting collective variable \""+name+"\" from value: "+
cvm::to_str(x)+"\n");
@ -2306,9 +2354,10 @@ std::istream & colvar::read_state(std::istream &is)
colvarvalue(x.type()), colvarparse::parse_silent)) ||
!(get_keyval(conf, "extended_v", v_ext,
colvarvalue(x.type()), colvarparse::parse_silent)) ) {
cvm::log("Error: restart file does not contain "
"\"extended_x\" or \"extended_v\" for the colvar \""+
name+"\", but you requested \"extendedLagrangian\".\n");
error_code |= cvm::error("Error: restart file does not contain "
"\"extended_x\" or \"extended_v\" for the colvar \""+
name+"\", but you requested \"extendedLagrangian\".\n",
COLVARS_INPUT_ERROR);
}
x_reported = x_ext;
} else {
@ -2319,9 +2368,10 @@ std::istream & colvar::read_state(std::istream &is)
if ( !(get_keyval(conf, "v", v_fdiff,
colvarvalue(x.type()), colvarparse::parse_silent)) ) {
cvm::log("Error: restart file does not contain "
"the velocity for the colvar \""+
name+"\", but you requested \"outputVelocity\".\n");
error_code |= cvm::error("Error: restart file does not contain "
"the velocity for the colvar \""+
name+"\", but you requested \"outputVelocity\".\n",
COLVARS_INPUT_ERROR);
}
if (is_enabled(f_cv_extended_Lagrangian)) {
@ -2331,6 +2381,41 @@ std::istream & colvar::read_state(std::istream &is)
}
}
return error_code;
}
cvm::memory_stream &colvar::read_state(cvm::memory_stream &is)
{
auto const start_pos = is.tellg();
std::string key, data;
if (is >> key) {
if (key == "colvar") {
// Read a formatted config string, then read the state parameters from it
if (is >> data) {
if (set_state_params(data) == COLVARS_OK) {
return is;
}
}
}
}
auto const error_pos = is.tellg();
is.clear();
is.seekg(start_pos);
is.setstate(std::ios::failbit);
std::string error_msg("Error: in reading state data for colvar \"" + name + " at position " +
cvm::to_str(error_pos) + " in unformatted stream.\n");
if (key.size() && key != "colvar") {
error_msg += "; the keyword read was \"" + key + "\", but \"colvar\" was expected";
}
if (data.size()) {
error_msg += "; the configuration string read was not recognized";
}
error_msg += ".\n";
cvm::error(error_msg, COLVARS_INPUT_ERROR);
return is;
}
@ -2345,7 +2430,7 @@ std::istream & colvar::read_traj(std::istream &is)
cvm::log("Error: in reading the value of colvar \""+
this->name+"\" from trajectory.\n");
is.clear();
is.seekg(start_pos, std::ios::beg);
is.seekg(start_pos);
is.setstate(std::ios::failbit);
return is;
}
@ -2385,10 +2470,23 @@ std::istream & colvar::read_traj(std::istream &is)
// ******************** OUTPUT FUNCTIONS ********************
std::ostream & colvar::write_state(std::ostream &os) {
std::ostream & colvar::write_state(std::ostream &os) const
{
os << "colvar {\n" << get_state_params() << "}\n\n";
os << "colvar {\n"
<< " name " << name << "\n"
if (runave_outfile.size() > 0) {
cvm::main()->proxy->flush_output_stream(runave_outfile);
}
return os;
}
std::string const colvar::get_state_params() const
{
std::ostringstream os;
os << " name " << name << "\n"
<< " x "
<< std::setprecision(cvm::cv_prec)
<< std::setw(cvm::cv_width)
@ -2412,7 +2510,13 @@ std::ostream & colvar::write_state(std::ostream &os) {
<< v_reported << "\n";
}
os << "}\n\n";
return os.str();
}
cvm::memory_stream & colvar::write_state(cvm::memory_stream &os) const
{
os << std::string("colvar") << get_state_params();
if (runave_outfile.size() > 0) {
cvm::main()->proxy->flush_output_stream(runave_outfile);
@ -2875,14 +2979,11 @@ int colvar::calc_runave()
runave_variance *= 1.0 / cvm::real(runave_length-1);
if (runave_outfile.size() > 0) {
std::ostream &runave_os = proxy->output_stream(runave_outfile);
runave_os << std::setw(cvm::it_width) << cvm::step_relative()
<< " "
<< std::setprecision(cvm::cv_prec)
<< std::setw(cvm::cv_width)
<< runave << " "
<< std::setprecision(cvm::cv_prec)
<< std::setw(cvm::cv_width)
std::ostream &runave_os =
proxy->output_stream(runave_outfile, "running average output file");
runave_os << std::setw(cvm::it_width) << cvm::step_relative() << " "
<< std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width) << runave << " "
<< std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width)
<< cvm::sqrt(runave_variance) << "\n";
}
}

View File

@ -10,12 +10,11 @@
#ifndef COLVAR_H
#define COLVAR_H
#include <iostream>
#if (__cplusplus >= 201103L)
#include <map>
#include <functional>
#endif
#include <list>
#include <iosfwd>
#include <map>
#include <memory>
#include "colvarmodule.h"
#include "colvarvalue.h"
@ -91,7 +90,7 @@ public:
/// calculations, \link colvarbias_abf \endlink, it is used to
/// calculate the grid spacing in the direction of this collective
/// variable.
cvm::real width;
cvm::real width = 1.0;
/// \brief Implementation of the feature list for colvar
static std::vector<feature *> cv_features;
@ -184,13 +183,13 @@ protected:
/// Previous velocity of the restraint center
colvarvalue prev_v_ext;
/// Mass of the restraint center
cvm::real ext_mass;
cvm::real ext_mass = 0.0;
/// Restraint force constant
cvm::real ext_force_k;
cvm::real ext_force_k = 0.0;
/// Friction coefficient for Langevin extended dynamics
cvm::real ext_gamma;
cvm::real ext_gamma = 0.0;
/// Amplitude of Gaussian white noise for Langevin extended dynamics
cvm::real ext_sigma;
cvm::real ext_sigma = 0.0;
/// \brief Applied force on extended DOF, for output (unscaled if using MTS)
colvarvalue fr;
@ -224,14 +223,14 @@ public:
colvarvalue ft;
/// Period, if this variable is periodic
cvm::real period;
cvm::real period = 0.0;
/// Center of wrapping, if this variable is periodic
cvm::real wrap_center;
cvm::real wrap_center = 0.0;
/// \brief Expand the boundaries of multiples of width, to keep the
/// value always within range
bool expand_boundaries;
bool expand_boundaries = false;
/// \brief Location of the lower boundary
colvarvalue lower_boundary;
@ -252,6 +251,9 @@ public:
/// Main init function
int init(std::string const &conf);
/// Populate the map of available CVC types
void define_component_types();
/// Parse the CVC configuration and allocate their data
int init_components(std::string const &conf);
@ -271,17 +273,13 @@ public:
virtual int init_dependencies();
private:
/// Parse the CVC configuration for all components of a certain type
template<typename def_class_name> int init_components_type(std::string const & conf,
char const *def_desc,
char const *def_config_key);
#if (__cplusplus >= 201103L)
/// For the C++11 case, the names of all available components are
/// registered in the global map at first, and then the CVC configuration
/// is parsed by this function
int init_components_type_from_global_map(const std::string& conf,
const char* def_config_key);
#endif
/// Declare an available CVC type and its description, register them in the global map
template <typename def_class_name>
void add_component_type(char const *description, char const *config_key);
/// Initialize any CVC objects matching the given key
int init_components_type(const std::string &conf, const char *config_key);
public:
@ -387,10 +385,10 @@ public:
protected:
/// \brief Number of CVC objects with an active flag
size_t n_active_cvcs;
size_t n_active_cvcs = 0;
/// Sum of square coefficients for active cvcs
cvm::real active_cvc_square_norm;
cvm::real active_cvc_square_norm = 0.0;
/// Update the sum of square coefficients for active cvcs
void update_active_cvc_square_norm();
@ -460,16 +458,35 @@ public:
/// Write a label to the trajectory file (comment line)
std::ostream & write_traj_label(std::ostream &os);
/// Read the collective variable from a restart file
/// Read the colvar's state from a formatted input stream
std::istream & read_state(std::istream &is);
/// Write the collective variable to a restart file
std::ostream & write_state(std::ostream &os);
/// Read the colvar's state from an unformatted input stream
cvm::memory_stream & read_state(cvm::memory_stream &is);
/// Check the name of the bias vs. the given string, set the matching_state flag accordingly
int check_matching_state(std::string const &state_conf);
/// Read the values of colvar mutable data from a string (used by both versions of read_state())
int set_state_params(std::string const &state_conf);
/// Write the state information of this colvar in a block of text, suitable for later parsing
std::string const get_state_params() const;
/// Write the colvar's state to a formatted output stream
std::ostream & write_state(std::ostream &os) const;
/// Write the colvar's state to an unformatted output stream
cvm::memory_stream & write_state(cvm::memory_stream &os) const;
/// Write output files (if defined, e.g. in analysis mode)
int write_output_files();
protected:
/// Flag used to tell if the state string being read is for this colvar
bool matching_state;
/// Previous value (to calculate velocities during analysis)
colvarvalue x_old;
@ -554,15 +571,15 @@ protected:
/// Current value of the running average
colvarvalue runave;
/// Current value of the square deviation from the running average
cvm::real runave_variance;
cvm::real runave_variance = 0.0;
/// Calculate the running average and its standard deviation
int calc_runave();
/// If extended Lagrangian active: colvar kinetic energy
cvm::real kinetic_energy;
cvm::real kinetic_energy = 0.0;
/// If extended Lagrangian active: colvar harmonic potential
cvm::real potential_energy;
cvm::real potential_energy = 0.0;
public:
@ -601,8 +618,9 @@ public:
class dihedPC;
class alch_lambda;
class alch_Flambda;
class componentDisabled;
class CartesianBasedPath;
class aspath;
class azpath;
class gspath;
class gzpath;
class linearCombination;
@ -626,21 +644,19 @@ public:
// components that do not handle any atoms directly
class map_total;
/// getter of the global cvc map
#if (__cplusplus >= 201103L)
/// A global mapping of cvc names to the cvc constructors
static const std::map<std::string, std::function<colvar::cvc* (const std::string& subcv_conf)>>& get_global_cvc_map() {
return global_cvc_map;
static const std::map<std::string, std::function<colvar::cvc *()>> &get_global_cvc_map()
{
return global_cvc_map;
}
#endif
/// \brief function for sorting cvcs by their names
static bool compare_cvc(const colvar::cvc* const i, const colvar::cvc* const j);
protected:
/// \brief Array of \link colvar::cvc \endlink objects
std::vector<cvc *> cvcs;
/// Array of components objects
std::vector<std::shared_ptr<colvar::cvc>> cvcs;
/// \brief Flags to enable or disable cvcs at next colvar evaluation
std::vector<bool> cvc_flags;
@ -671,10 +687,11 @@ protected:
double dev_null;
#endif
#if (__cplusplus >= 201103L)
/// A global mapping of cvc names to the cvc constructors
static std::map<std::string, std::function<colvar::cvc* (const std::string& subcv_conf)>> global_cvc_map;
#endif
static std::map<std::string, std::function<colvar::cvc *()>> global_cvc_map;
/// A global mapping of cvc names to the corresponding descriptions
static std::map<std::string, std::string> global_cvc_desc_map;
/// Volmap numeric IDs, one for each CVC (-1 if not available)
std::vector<int> volmap_ids_;
@ -762,4 +779,3 @@ inline void colvar::reset_bias_force() {
}
#endif

View File

@ -7,126 +7,84 @@
#include <cmath>
#include <limits>
#include <string>
#include <algorithm>
namespace ArithmeticPathCV {
using std::vector;
enum path_sz {S, Z};
template <typename element_type, typename scalar_type, path_sz path_type>
template <typename scalar_type>
class ArithmeticPathBase {
public:
ArithmeticPathBase() {}
virtual ~ArithmeticPathBase() {}
virtual void initialize(size_t p_num_elements, size_t p_total_frames, double p_lambda, const vector<element_type>& p_element, const vector<double>& p_weights);
virtual void updateDistanceToReferenceFrames() = 0;
virtual void computeValue();
virtual void computeDerivatives();
virtual void compute();
virtual void reComputeLambda(const vector<scalar_type>& rmsd_between_refs);
~ArithmeticPathBase() {}
void initialize(size_t p_num_elements, size_t p_total_frames, scalar_type p_lambda, const vector<scalar_type>& p_weights);
void reComputeLambda(const vector<scalar_type>& rmsd_between_refs);
template <typename element_type>
void computeValue(const vector<vector<element_type>>& frame_element_distances, scalar_type *s = nullptr, scalar_type *z = nullptr);
// can only be called after computeValue() for element-wise derivatives and store derivatives of i-th frame to dsdx and dzdx
template <typename element_type>
void computeDerivatives(const vector<vector<element_type>>& frame_element_distances, vector<vector<element_type>> *dsdx = nullptr, vector<vector<element_type>> *dzdx = nullptr);
protected:
scalar_type lambda;
vector<scalar_type> weights;
vector<scalar_type> squared_weights;
size_t num_elements;
size_t total_frames;
vector< vector<element_type> > frame_element_distances;
scalar_type s;
scalar_type z;
vector<element_type> dsdx;
vector<element_type> dzdx;
private:
// intermediate variables
vector<scalar_type> s_numerator_frame;
vector<scalar_type> s_denominator_frame;
scalar_type numerator_s;
scalar_type denominator_s;
vector<scalar_type> exponents;
scalar_type max_exponent;
scalar_type saved_exponent_sum;
scalar_type normalization_factor;
scalar_type saved_s;
};
template <typename element_type, typename scalar_type, path_sz path_type>
void ArithmeticPathBase<element_type, scalar_type, path_type>::initialize(size_t p_num_elements, size_t p_total_frames, double p_lambda, const vector<element_type>& p_element, const vector<double>& p_weights) {
template <typename scalar_type>
void ArithmeticPathBase<scalar_type>::initialize(size_t p_num_elements, size_t p_total_frames, scalar_type p_lambda, const vector<scalar_type>& p_weights) {
lambda = p_lambda;
weights = p_weights;
for (size_t i = 0; i < p_weights.size(); ++i) squared_weights.push_back(p_weights[i] * p_weights[i]);
num_elements = p_num_elements;
total_frames = p_total_frames;
frame_element_distances.resize(total_frames, p_element);
for (size_t i_frame = 0; i_frame < frame_element_distances.size(); ++i_frame) {
for (size_t j_elem = 0; j_elem < num_elements; ++j_elem) {
frame_element_distances[i_frame][j_elem].reset();
}
}
s = scalar_type(0);
z = scalar_type(0);
dsdx = p_element;
dzdx = p_element;
s_numerator_frame.resize(total_frames, scalar_type(0));
s_denominator_frame.resize(total_frames, scalar_type(0));
numerator_s = scalar_type(0);
denominator_s = scalar_type(0);
exponents.resize(total_frames);
normalization_factor = 1.0 / static_cast<scalar_type>(total_frames - 1);
saved_s = scalar_type();
saved_exponent_sum = scalar_type();
max_exponent = scalar_type();
}
template <typename element_type, typename scalar_type, path_sz path_type>
void ArithmeticPathBase<element_type, scalar_type, path_type>::computeValue() {
updateDistanceToReferenceFrames();
numerator_s = scalar_type(0);
denominator_s = scalar_type(0);
for (size_t i_frame = 0; i_frame < frame_element_distances.size(); ++i_frame) {
scalar_type exponent_tmp = scalar_type(0);
template <typename scalar_type>
template <typename element_type>
void ArithmeticPathBase<scalar_type>::computeValue(
const vector<vector<element_type>>& frame_element_distances,
scalar_type *s, scalar_type *z)
{
for (size_t i_frame = 0; i_frame < total_frames; ++i_frame) {
scalar_type exponent_tmp = scalar_type();
for (size_t j_elem = 0; j_elem < num_elements; ++j_elem) {
exponent_tmp += weights[j_elem] * frame_element_distances[i_frame][j_elem] * weights[j_elem] * frame_element_distances[i_frame][j_elem];
exponent_tmp += squared_weights[j_elem] * frame_element_distances[i_frame][j_elem] * frame_element_distances[i_frame][j_elem];
}
exponent_tmp = exponent_tmp * -1.0 * lambda;
// prevent underflow if the argument of cvm::exp is less than -708.4
if (exponent_tmp > -708.4) {
exponent_tmp = cvm::exp(exponent_tmp);
} else {
exponent_tmp = 0;
}
numerator_s += static_cast<scalar_type>(i_frame) * exponent_tmp;
denominator_s += exponent_tmp;
s_numerator_frame[i_frame] = static_cast<scalar_type>(i_frame) * exponent_tmp;
s_denominator_frame[i_frame] = exponent_tmp;
exponents[i_frame] = exponent_tmp * -1.0 * lambda;
if (i_frame == 0 || exponents[i_frame] > max_exponent) max_exponent = exponents[i_frame];
}
s = numerator_s / denominator_s * normalization_factor;
z = -1.0 / lambda * cvm::logn(denominator_s);
}
template <typename element_type, typename scalar_type, path_sz path_type>
void ArithmeticPathBase<element_type, scalar_type, path_type>::compute() {
computeValue();
computeDerivatives();
}
template <typename element_type, typename scalar_type, path_sz path_type>
void ArithmeticPathBase<element_type, scalar_type, path_type>::computeDerivatives() {
for (size_t j_elem = 0; j_elem < num_elements; ++j_elem) {
element_type dsdxj_numerator_part1(dsdx[j_elem]);
element_type dsdxj_numerator_part2(dsdx[j_elem]);
element_type dzdxj_numerator(dsdx[j_elem]);
dsdxj_numerator_part1.reset();
dsdxj_numerator_part2.reset();
dzdxj_numerator.reset();
for (size_t i_frame = 0; i_frame < frame_element_distances.size(); ++i_frame) {
element_type derivative_tmp = -2.0 * lambda * weights[j_elem] * weights[j_elem] * frame_element_distances[i_frame][j_elem];
dsdxj_numerator_part1 += s_numerator_frame[i_frame] * derivative_tmp;
dsdxj_numerator_part2 += s_denominator_frame[i_frame] * derivative_tmp;
dzdxj_numerator += s_denominator_frame[i_frame] * derivative_tmp;
}
dsdxj_numerator_part1 *= denominator_s;
dsdxj_numerator_part2 *= numerator_s;
if ((dsdxj_numerator_part1 - dsdxj_numerator_part2).norm() < std::numeric_limits<scalar_type>::min()) {
dsdx[j_elem] = 0;
} else {
dsdx[j_elem] = (dsdxj_numerator_part1 - dsdxj_numerator_part2) / (denominator_s * denominator_s) * normalization_factor;
}
dzdx[j_elem] = -1.0 / lambda * dzdxj_numerator / denominator_s;
scalar_type log_sum_exp_0 = scalar_type();
scalar_type log_sum_exp_1 = scalar_type();
for (size_t i_frame = 0; i_frame < total_frames; ++i_frame) {
exponents[i_frame] = cvm::exp(exponents[i_frame] - max_exponent);
log_sum_exp_0 += exponents[i_frame];
log_sum_exp_1 += i_frame * exponents[i_frame];
}
saved_exponent_sum = log_sum_exp_0;
log_sum_exp_0 = max_exponent + cvm::logn(log_sum_exp_0);
log_sum_exp_1 = max_exponent + cvm::logn(log_sum_exp_1);
saved_s = normalization_factor * cvm::exp(log_sum_exp_1 - log_sum_exp_0);
if (s != nullptr) {
*s = saved_s;
}
if (z != nullptr) {
*z = -1.0 / lambda * log_sum_exp_0;
}
}
template <typename element_type, typename scalar_type, path_sz path_type>
void ArithmeticPathBase<element_type, scalar_type, path_type>::reComputeLambda(const vector<scalar_type>& rmsd_between_refs) {
template <typename scalar_type>
void ArithmeticPathBase<scalar_type>::reComputeLambda(const vector<scalar_type>& rmsd_between_refs) {
scalar_type mean_square_displacements = 0.0;
for (size_t i_frame = 1; i_frame < total_frames; ++i_frame) {
cvm::log(std::string("Distance between frame ") + cvm::to_str(i_frame) + " and " + cvm::to_str(i_frame + 1) + " is " + cvm::to_str(rmsd_between_refs[i_frame - 1]) + std::string("\n"));
@ -135,6 +93,45 @@ void ArithmeticPathBase<element_type, scalar_type, path_type>::reComputeLambda(c
mean_square_displacements /= scalar_type(total_frames - 1);
lambda = 1.0 / mean_square_displacements;
}
// frame-wise derivatives for frames using optimal rotation
template <typename scalar_type>
template <typename element_type>
void ArithmeticPathBase<scalar_type>::computeDerivatives(
const vector<vector<element_type>>& frame_element_distances,
vector<vector<element_type>> *dsdx,
vector<vector<element_type>> *dzdx)
{
vector<scalar_type> softmax_out, tmps;
softmax_out.reserve(total_frames);
tmps.reserve(total_frames);
for (size_t i_frame = 0; i_frame < total_frames; ++i_frame) {
softmax_out.push_back(exponents[i_frame] / saved_exponent_sum);
tmps.push_back(
(static_cast<scalar_type>(i_frame) -
static_cast<scalar_type>(total_frames - 1) * saved_s) *
normalization_factor);
}
if (dsdx != nullptr) {
for (size_t i_frame = 0; i_frame < total_frames; ++i_frame) {
for (size_t j_elem = 0; j_elem < num_elements; ++j_elem) {
(*dsdx)[i_frame][j_elem] =
-2.0 * squared_weights[j_elem] * lambda *
frame_element_distances[i_frame][j_elem] *
softmax_out[i_frame] * tmps[i_frame];
}
}
}
if (dzdx != nullptr) {
for (size_t i_frame = 0; i_frame < total_frames; ++i_frame) {
for (size_t j_elem = 0; j_elem < num_elements; ++j_elem) {
(*dzdx)[i_frame][j_elem] =
2.0 * squared_weights[j_elem] * softmax_out[i_frame] *
frame_element_distances[i_frame][j_elem];
}
}
}
}
}
#endif // ARITHMETICPATHCV_H

View File

@ -8,12 +8,13 @@
// Colvars repository at GitHub.
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include "colvarmodule.h"
#include <vector>
#include <cmath>
#include <algorithm>
#include <string>
namespace GeometricPathCV {
@ -171,10 +172,14 @@ void GeometricPathBase<element_type, scalar_type, path_type>::determineClosestFr
sign = -1;
}
if (cvm::fabs(static_cast<long>(frame_index[0]) - static_cast<long>(frame_index[1])) > 1) {
std::cout << "Warning: Geometrical pathCV relies on the assumption that the second closest frame is the neighbouring frame\n";
std::cout << " Please check your configuration or increase restraint on z(σ)\n";
std::string message(
"Warning: Geometrical pathCV relies on the assumption that the second closest frame is "
"the neighbouring frame\n"
" Please check your configuration or increase restraint on z(σ)\n");
for (size_t i_frame = 0; i_frame < frame_index.size(); ++i_frame) {
std::cout << "Frame index: " << frame_index[i_frame] << " ; optimal RMSD = " << frame_distances[frame_index[i_frame]] << "\n";
message += "Frame index: " + cvm::to_str(frame_index[i_frame]) +
" ; optimal RMSD = " + cvm::to_str(frame_distances[frame_index[i_frame]]) +
"\n";
}
}
min_frame_index_1 = frame_index[0]; // s_m

Some files were not shown because too many files have changed in this diff Show More