Merge conflicts
1
.github/CODEOWNERS
vendored
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
find_package(GSL 2.7 REQUIRED)
|
||||
find_package(GSL 2.6 REQUIRED)
|
||||
target_link_libraries(lammps PRIVATE GSL::gsl)
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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>`
|
||||
|
||||
@ -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>`
|
||||
*
|
||||
*
|
||||
*
|
||||
|
||||
@ -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>`
|
||||
|
||||
@ -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>`
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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``
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
-------------------------
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 103 KiB |
BIN
doc/src/JPG/lammps-gui-popup-view.png
Normal file
|
After Width: | Height: | Size: 96 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 51 KiB |
BIN
doc/src/JPG/lammps-gui-yaml.png
Normal file
|
After Width: | Height: | Size: 171 KiB |
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
""""""""""""""""
|
||||
|
||||
@ -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
|
||||
""""""
|
||||
|
||||
@ -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
|
||||
""""""""""""""""
|
||||
|
||||
@ -45,6 +45,7 @@ Commands
|
||||
fix
|
||||
fix_modify
|
||||
fitpod_command
|
||||
geturl
|
||||
group
|
||||
group2ndx
|
||||
hyper
|
||||
|
||||
@ -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
|
||||
""""""""""""""""
|
||||
|
||||
@ -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).
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -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
|
||||
""""""""""""
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
""""""""""""""""
|
||||
|
||||
|
||||
@ -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
|
||||
""""""""""""""""
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
""""""""""""""""
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
""""""""""""""""
|
||||
|
||||
|
||||
@ -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
@ -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
|
||||
@ -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
|
||||
""""""""""""""""
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
"""""""""""
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
====================================
|
||||
|
||||
@ -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>` -
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
Sphinx >= 5.3.0, <8.0
|
||||
Sphinx >= 5.3.0, <7.5
|
||||
sphinxcontrib-spelling
|
||||
sphinxcontrib-jquery
|
||||
sphinx-design
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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 *);
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
732
examples/PACKAGES/colvars/log.5Aug24.peptide-colvars.g++.1
Normal 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
|
||||
732
examples/PACKAGES/colvars/log.5Aug24.peptide-colvars.g++.4
Normal 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
|
||||
344
examples/PACKAGES/colvars/log.5Aug24.peptide-colvars2.g++.1
Normal 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
|
||||
344
examples/PACKAGES/colvars/log.5Aug24.peptide-colvars2.g++.4
Normal 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
|
||||
194
examples/PACKAGES/colvars/log.5Aug24.peptide-spring.g++.1
Normal 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
|
||||
194
examples/PACKAGES/colvars/log.5Aug24.peptide-spring.g++.4
Normal 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
|
||||
189
examples/PACKAGES/colvars/log.5Aug24.peptide-spring2.g++.1
Normal 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
|
||||
189
examples/PACKAGES/colvars/log.5Aug24.peptide-spring2.g++.4
Normal 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
|
||||
@ -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 {
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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
|
||||
|
||||
340
examples/charmmfsw/charmmff.cmap
Normal 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
|
||||
|
||||
|
||||
BIN
examples/charmmfsw/data.charmmfsw.gz
Normal file
46
examples/charmmfsw/in.charmmfsw
Normal 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
|
||||
|
||||
221
examples/charmmfsw/log.26Jul24.charmmfsw.g++.1
Normal 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
|
||||
221
examples/charmmfsw/log.26Jul24.charmmfsw.g++.4
Normal 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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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";
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||