Merge pull request #3 from akohlmey/pair_drip

Update to master with refactored REBO pair style and adjusted examples
This commit is contained in:
Mingjian Wen 2019-05-09 12:18:11 -05:00 committed by GitHub
commit 799f4061f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
199 changed files with 10049 additions and 2433 deletions

View File

@ -1220,8 +1220,7 @@ if(PKG_USER-INTEL)
${USER-INTEL_SOURCES_DIR}/fix_nh_intel.cpp
${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp
${USER-INTEL_SOURCES_DIR}/nbin_intel.cpp
${USER-INTEL_SOURCES_DIR}/npair_intel.cpp
${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp)
${USER-INTEL_SOURCES_DIR}/npair_intel.cpp)
set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}")
@ -1230,9 +1229,12 @@ if(PKG_USER-INTEL)
RegisterNBinStyle(${USER-INTEL_SOURCES_DIR}/nbin_intel.h)
RegisterNPairStyle(${USER-INTEL_SOURCES_DIR}/npair_intel.h)
RegisterFixStyle(${USER-INTEL_SOURCES_DIR}/fix_intel.h)
RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.h)
get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES)
if(PKG_KSPACE)
list(APPEND USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp)
RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.h)
endif()
list(APPEND LIB_SOURCES ${USER-INTEL_SOURCES})
include_directories(${USER-INTEL_SOURCES_DIR})
@ -1370,7 +1372,15 @@ if(PKG_GPU)
set(OCL_COMMON_HEADERS ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_preprocessor.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_aux_fun1.h)
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu)
list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu)
list(REMOVE_ITEM GPU_LIB_CU
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu
)
foreach(GPU_KERNEL ${GPU_LIB_CU})
get_filename_component(basename ${GPU_KERNEL} NAME_WE)
@ -1381,7 +1391,21 @@ if(PKG_GPU)
GenerateOpenCLHeader(gayberne ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu)
GenerateOpenCLHeader(gayberne_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu)
list(APPEND GPU_LIB_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h)
GenerateOpenCLHeader(re_squared ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu)
GenerateOpenCLHeader(re_squared_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu)
GenerateOpenCLHeader(tersoff ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu)
GenerateOpenCLHeader(tersoff_zbl ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu)
GenerateOpenCLHeader(tersoff_mod ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu)
list(APPEND GPU_LIB_SOURCES
${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h
)
add_library(gpu STATIC ${GPU_LIB_SOURCES})
target_link_libraries(gpu ${OpenCL_LIBRARIES})

View File

@ -6,7 +6,7 @@ function(GenerateOpenCLHeader varname outfile files)
foreach(IDX RANGE 2 ${ARG_END})
list(GET ARGV ${IDX} filename)
file(READ ${filename} content)
string(REGEX REPLACE "\\s*//[^\n]*\n" "" content "${content}")
string(REGEX REPLACE "\\s*//[^\n]*\n" "\n" content "${content}")
string(REGEX REPLACE "\\\\" "\\\\\\\\" content "${content}")
string(REGEX REPLACE "\"" "\\\\\"" content "${content}")
string(REGEX REPLACE "([^\n]+)\n" "\"\\1\\\\n\"\n" content "${content}")

View File

@ -211,7 +211,7 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP
</td>
</tr>
<tr>
<td><code><CMAKE_VERBOSE_MAKEFILE/code></td>
<td><code>CMAKE_VERBOSE_MAKEFILE</code></td>
<td>Enable verbose output from Makefile builds (useful for debugging), the same can be achived by adding `VERBOSE=1` to the `make` call.</td>
<td>
<dl>

View File

@ -1,4 +1,4 @@
.TH LAMMPS "11 April 2019" "2019-04-11"
.TH LAMMPS "30 April 2019" "2019-04-30"
.SH NAME
.B LAMMPS
\- Molecular Dynamics Simulator.

View File

@ -247,7 +247,10 @@ Maxwell50 = NVIDIA Maxwell generation CC 5.0
Maxwell52 = NVIDIA Maxwell generation CC 5.2
Maxwell53 = NVIDIA Maxwell generation CC 5.3
Pascal60 = NVIDIA Pascal generation CC 6.0
Pascal61 = NVIDIA Pascal generation CC 6.1 :ul
Pascal61 = NVIDIA Pascal generation CC 6.1
Volta70 = NVIDIA Volta generation CC 7.0
Volta72 = NVIDIA Volta generation CC 7.2
Turing75 = NVIDIA Turing generation CC 7.5 :ul
[CMake build]:

View File

@ -83,6 +83,7 @@ An alphabetic list of all general LAMMPS commands.
"molecule"_molecule.html,
"ndx2group"_group2ndx.html,
"neb"_neb.html,
"neb_spin"_neb_spin.html,
"neigh_modify"_neigh_modify.html,
"neighbor"_neighbor.html,
"newton"_newton.html,

View File

@ -116,6 +116,7 @@ Actions:
"minimize"_minimize.html,
"neb"_neb.html,
"neb_spin"_neb_spin.html,
"prd"_prd.html,
"rerun"_rerun.html,
"run"_run.html,

View File

@ -107,6 +107,7 @@ OPT.
"mvv/edpd"_fix_mvv_dpd.html,
"mvv/tdpd"_fix_mvv_dpd.html,
"neb"_fix_neb.html,
"neb_spin"_fix_neb_spin.html,
"nph (ko)"_fix_nh.html,
"nph/asphere (o)"_fix_nph_asphere.html,
"nph/body"_fix_nph_body.html,

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -0,0 +1,15 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath, amssymb, graphics, setspace}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\omega_i^{\nu} =
(\nu - 1) \Delta \omega_i
{\rm ~~and~~} \Delta \omega_i = \frac{\omega_i}{Q-1}
, \nonumber
\end{equation}
\end{varwidth}
\end{document}

BIN
doc/src/Eqs/neb_spin_k.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -0,0 +1,16 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath, amssymb, graphics, setspace}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\vec{k}_i =
\frac{\vec{m}_i^I \times \vec{m}_i^F}{\left|\vec{m}_i^I
\times \vec{m}_i^F\right|}
%&{\rm ~if~}& \vec{m}_i^I \times \vec{m}_i^F
, \nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,16 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath, amssymb, graphics, setspace}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\vec{m}_i^{\nu} = \vec{m}_i^{I} \cos(\omega_i^{\nu})
+ (\vec{k}_i \times \vec{m}_i^{I}) \sin(\omega_i^{\nu})
+ (1.0-\cos(\omega_i^{\nu})) \vec{k}_i (\vec{k}_i\cdot
\vec{m}_i^{I})
, \nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -1,9 +1,9 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
$$
E(r) = \frac{A}{r^{12}} - \frac{A}{r^{6}}
E(r) = \frac{A}{r^{12}} - \frac{B}{r^{6}}
$$
\end{document}

View File

@ -17,6 +17,7 @@ periodically.
These are the relevant commands:
"neb"_neb.html for nudged elastic band calculations
"neb_spin"_neb_spin.html for magnetic nudged elastic band calculations
"prd"_prd.html for parallel replica dynamics
"tad"_tad.html for temperature accelerated dynamics
"temper"_temper.html for parallel tempering

View File

@ -10,7 +10,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
Magnetic spins :h3
The magnetic spin simulations are enabled by the SPIN package, whose
implementation is detailed in "Tranchida"_#Tranchida7.
implementation is detailed in "Tranchida"_#Tranchida.
The model represents the simulation of atomic magnetic spins coupled
to lattice vibrations. The dynamics of those magnetic spins can be used
@ -36,13 +36,28 @@ A Langevin thermostat can be applied to those magnetic spins using
"fix langevin/spin"_fix_langevin_spin.html. Typically, this thermostat
can be coupled to another Langevin thermostat applied to the atoms
using "fix langevin"_fix_langevin.html in order to simulate
thermostatted spin-lattice system.
thermostatted spin-lattice systems.
The magnetic Gilbert damping can also be applied using "fix
langevin/spin"_fix_langevin_spin.html. It allows to either dissipate
the thermal energy of the Langevin thermostat, or to perform a
relaxation of the magnetic configuration toward an equilibrium state.
The command "fix setforce/spin"_fix_setforce.html allows to set the
components of the magnetic precession vectors (while erasing and
replacing the previously computed magnetic precession vectors on
the atom).
This command can be used to freeze the magnetic moment of certain
atoms in the simulation by zeroing their precession vector.
The command "fix nve/spin"_fix_nve_spin.html can be used to
perform a symplectic integration of the combined dynamics of spins
and atomic motions.
The minimization style "min/spin"_min_spin.html can be applied
to the spins to perform a minimization of the spin configuration.
All the computed magnetic properties can be output by two main
commands. The first one is "compute spin"_compute_spin.html, that
enables to evaluate magnetic averaged quantities, such as the total
@ -54,6 +69,6 @@ magnetic spin, or the magnetic force acting on this spin.
:line
:link(Tranchida7)
:link(Tranchida)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
arXiv preprint arXiv:1801.10233, (2018).
Journal of Computational Physics, 372, 406-425, (2018).

View File

@ -1,7 +1,7 @@
<!-- HTML_ONLY -->
<HEAD>
<TITLE>LAMMPS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="29 Mar 2019 version">
<META NAME="docnumber" CONTENT="30 Apr 2019 version">
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
</HEAD>
@ -21,7 +21,7 @@
:line
LAMMPS Documentation :c,h1
29 Mar 2019 version :c,h2
30 Apr 2019 version :c,h2
"What is a LAMMPS version?"_Manual_version.html

View File

@ -918,6 +918,7 @@ src/SPIN: filenames -> commands
"fix nve/spin"_fix_nve_spin.html
"fix precession/spin"_fix_precession_spin.html
"compute spin"_compute_spin.html
"neb/spin"_neb_spin.html
examples/SPIN :ul
:line

View File

@ -111,16 +111,10 @@ Makefile.kokkos_mpi_only) will give better performance than the OpenMP
back end (i.e. Makefile.kokkos_omp) because some of the overhead to make
the code thread-safe is removed.
NOTE: The default for the "package kokkos"_package.html command is to
use "full" neighbor lists and set the Newton flag to "off" for both
pairwise and bonded interactions. However, when running on CPUs, it
will typically be faster to use "half" neighbor lists and set the
Newton flag to "on", just as is the case for non-accelerated pair
styles. It can also be faster to use non-threaded communication. Use
the "-pk kokkos" "command-line switch"_Run_options.html to change the
default "package kokkos"_package.html options. See its doc page for
details and default settings. Experimenting with its options can
provide a speed-up for specific calculations. For example:
NOTE: Use the "-pk kokkos" "command-line switch"_Run_options.html to
change the default "package kokkos"_package.html options. See its doc
page for details and default settings. Experimenting with its options
can provide a speed-up for specific calculations. For example:
mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half comm no -in in.lj # Newton on, Half neighbor list, non-threaded comm :pre
@ -190,19 +184,18 @@ tasks/node. The "-k on t Nt" command-line switch sets the number of
threads/task as Nt. The product of these two values should be N, i.e.
256 or 264.
NOTE: The default for the "package kokkos"_package.html command is to
use "full" neighbor lists and set the Newton flag to "off" for both
pairwise and bonded interactions. When running on KNL, this will
typically be best for pair-wise potentials. For many-body potentials,
using "half" neighbor lists and setting the Newton flag to "on" may be
faster. It can also be faster to use non-threaded communication. Use
the "-pk kokkos" "command-line switch"_Run_options.html to change the
default "package kokkos"_package.html options. See its doc page for
details and default settings. Experimenting with its options can
provide a speed-up for specific calculations. For example:
NOTE: The default for the "package kokkos"_package.html command when
running on KNL is to use "half" neighbor lists and set the Newton flag
to "on" for both pairwise and bonded interactions. This will typically
be best for many-body potentials. For simpler pair-wise potentials, it
may be faster to use a "full" neighbor list with Newton flag to "off".
Use the "-pk kokkos" "command-line switch"_Run_options.html to change
the default "package kokkos"_package.html options. See its doc page for
details and default settings. Experimenting with its options can provide
a speed-up for specific calculations. For example:
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm no -in in.lj # Newton off, full neighbor list, non-threaded comm
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton on neigh half comm no -in in.reax # Newton on, half neighbor list, non-threaded comm :pre
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm host -in in.reax # Newton on, half neighbor list, threaded comm
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton off neigh full comm no -in in.lj # Newton off, full neighbor list, non-threaded comm :pre
NOTE: MPI tasks and threads should be bound to cores as described
above for CPUs.
@ -236,19 +229,19 @@ one or more nodes, each with two GPUs:
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 2 GPUs/node
mpirun -np 32 -ppn 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 16 nodes, 2 MPI tasks/node, 2 GPUs/node (32 GPUs total) :pre
NOTE: The default for the "package kokkos"_package.html command is to
use "full" neighbor lists and set the Newton flag to "off" for both
pairwise and bonded interactions, along with threaded communication.
When running on Maxwell or Kepler GPUs, this will typically be
best. For Pascal GPUs, using "half" neighbor lists and setting the
Newton flag to "on" may be faster. For many pair styles, setting the
neighbor binsize equal to the ghost atom cutoff will give speedup.
Use the "-pk kokkos" "command-line switch"_Run_options.html to change
the default "package kokkos"_package.html options. See its doc page
for details and default settings. Experimenting with its options can
provide a speed-up for specific calculations. For example:
NOTE: The default for the "package kokkos"_package.html command when
running on GPUs is to use "full" neighbor lists and set the Newton flag
to "off" for both pairwise and bonded interactions, along with threaded
communication. When running on Maxwell or Kepler GPUs, this will
typically be best. For Pascal GPUs, using "half" neighbor lists and
setting the Newton flag to "on" may be faster. For many pair styles,
setting the neighbor binsize equal to twice the CPU default value will
give speedup, which is the default when running on GPUs. Use the "-pk
kokkos" "command-line switch"_Run_options.html to change the default
"package kokkos"_package.html options. See its doc page for details and
default settings. Experimenting with its options can provide a speed-up
for specific calculations. For example:
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos binsize 2.8 -in in.lj # Set binsize = neighbor ghost cutoff
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff :pre
NOTE: For good performance of the KOKKOS package on GPUs, you must

View File

@ -67,6 +67,7 @@ Commands :h1
minimize
molecule
neb
neb_spin
neigh_modify
neighbor
newton

View File

@ -98,6 +98,16 @@ fix to add the energy change from the biasing force added by the fix
to the system's potential energy as part of "thermodynamic
output"_thermo_style.html.
The {fix_modify configfile <config file>} option allows to add settings
from an additional config file to the colvars module. This option can
only be used, after the system has been initialized with a "run"_run.html
command.
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).
This fix computes a global scalar which can be accessed by various
"output commands"_Howto_output.html. The scalar is the cumulative
energy change due to this fix. The scalar value calculated by this

View File

@ -99,4 +99,4 @@ integration fix (e.g. {fix nve/spin}).
:link(Tranchida2)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
Journal of Computational Physics, (2018).
Journal of Computational Physics, 372, 406-425, (2018).

View File

@ -97,7 +97,7 @@ Note that in this case the specified {Kspring} is in force/distance
units.
With a value of {ideal}, the spring force is computed as suggested in
"(WeinenE)"_#WeinenE :
"(WeinanE)"_#WeinanE :
Fnudge_parallel = -{Kspring} * (RD-RDideal) / (2 * meanDist) :pre
@ -224,8 +224,8 @@ specified (no inter-replica force on the end replicas).
[(Henkelman2)] Henkelman, Uberuaga, Jonsson, J Chem Phys, 113,
9901-9904 (2000).
:link(WeinenE)
[(WeinenE)] E, Ren, Vanden-Eijnden, Phys Rev B, 66, 052301 (2002).
:link(WeinanE)
[(WeinanE)] E, Ren, Vanden-Eijnden, Phys Rev B, 66, 052301 (2002).
:link(Jonsson)
[(Jonsson)] Jonsson, Mills and Jacobsen, in Classical and Quantum

76
doc/src/fix_neb_spin.txt Normal file
View File

@ -0,0 +1,76 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Commands_all.html)
:line
fix neb/spin command :h3
[Syntax:]
fix ID group-ID neb/spin Kspring :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
neb/spin = style name of this fix command :l
Kspring = spring constant for parallel nudging force
(force/distance units or force units, see parallel keyword) :pre,ule
[Examples:]
fix 1 active neb/spin 1.0
[Description:]
Add nudging forces to spins in the group for a multi-replica
simulation run via the "neb/spin"_neb_spin.html command to perform a
geodesic nudged elastic band (GNEB) calculation for finding the
transition state.
Hi-level explanations of GNEB are given with the
"neb/spin"_neb_spin.html command and on the
"Howto replica"_Howto_replica.html doc page.
The fix neb/spin command must be used with the "neb/spin" command and
defines how inter-replica nudging forces are computed. A GNEB
calculation is divided in two stages. In the first stage n replicas
are relaxed toward a MEP until convergence. In the second stage, the
climbing image scheme is enabled, so that the replica having the highest
energy relaxes toward the saddle point (i.e. the point of highest energy
along the MEP), and a second relaxation is performed.
The nudging forces are calculated as explained in
"(BessarabB)"_#BessarabB).
See this reference for more explanation about their expression.
[Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart
files"_restart.html. None of the "fix_modify"_fix_modify.html options
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various "output commands"_Howto_output.html.
No parameter of this fix can be used with the {start/stop} keywords of
the "run"_run.html command.
The forces due to this fix are imposed during an energy minimization,
as invoked by the "minimize"_minimize.html command via the
"neb/spin"_neb_spin.html command.
[Restrictions:]
This command can only be used if LAMMPS was built with the SPIN
package. See the "Build package"_Build_package.html doc
page for more info.
[Related commands:]
"neb_spin"_neb_spin.html
[Default:]
none
:line
:link(BessarabB)
[(BessarabB)] Bessarab, Uzdin, Jonsson, Comp Phys Comm, 196,
335-347 (2015).

View File

@ -73,4 +73,4 @@ instead of "array" is also valid.
:link(Tranchida1)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
Journal of Computational Physics, (2018).
Journal of Computational Physics, 372, 406-425, (2018).

View File

@ -31,7 +31,7 @@ fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 anisotropy 0.001 0.0 0.0 1.0 :p
[Description:]
Impose a force torque to each magnetic spin in the group.
This fix applies a precession torque to each magnetic spin in the group.
Style {zeeman} is used for the simulation of the interaction
between the magnetic spins in the defined group and an external

View File

@ -14,7 +14,7 @@ fix ID group-ID print N string keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
print = style name of this fix command :l
N = print every N steps :l
N = print every N steps; N can be a variable (see below) :l
string = text string to print with optional variable names :l
zero or more keyword/value pairs may be appended :l
keyword = {file} or {append} or {screen} or {title} :l
@ -40,6 +40,21 @@ If it contains variables it must be enclosed in double quotes to
insure they are not evaluated when the input script line is read, but
will instead be evaluated each time the string is printed.
Instead of a numeric value, N can be specified as an "equal-style
variable"_variable.html, which should be specified as v_name, where
name is the variable name. In this case, the variable is evaluated at
the beginning of a run to determine the [next] timestep at which the
string will be written out. On that timestep, the variable will be
evaluated again to determine the next timestep, etc.
Thus the variable should return timestep values. See the stagger()
and logfreq() and stride() math functions for "equal-style
variables"_variable.html, as examples of useful functions to use in
this context. For example, the following commands will print output at
timesteps 10,20,30,100,200,300,1000,2000,etc:
variable s equal logfreq(10,3,10)
fix extra all print v_s "Coords of marker atom = $x $y $z" :pre
The specified group-ID is ignored by this fix.
See the "variable"_variable.html command for a description of {equal}

View File

@ -8,6 +8,7 @@
fix setforce command :h3
fix setforce/kk command :h3
fix setforce/spin command :h3
[Syntax:]
@ -27,6 +28,7 @@ keyword = {region} :l
fix freeze indenter setforce 0.0 0.0 0.0
fix 2 edge setforce NULL 0.0 0.0
fix 1 edge setforce/spin 0.0 0.0 0.0
fix 2 edge setforce NULL 0.0 v_oscillate :pre
[Description:]
@ -65,6 +67,19 @@ to it.
:line
Style {spin} suffix sets the components of the magnetic precession
vectors instead of the mechanical forces. This also erases all
previously computed magnetic precession vectors on the atom, though
additional magnetic fixes could add new forces.
This command can be used to freeze the magnetic moment of certain
atoms in the simulation by zeroing their precession vector.
All options defined above remain valid, they just apply to the magnetic
precession vectors instead of the forces.
:line
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
@ -117,7 +132,10 @@ forces to any value besides zero when performing a minimization. Use
the "fix addforce"_fix_addforce.html command if you want to apply a
non-zero force to atoms during a minimization.
[Restrictions:] none
[Restrictions:]
The fix {setforce/spin} only makes sense when LAMMPS was built with the
SPIN package.
[Related commands:]

View File

@ -17,13 +17,13 @@ wall/gran = style name of this fix command :l
fstyle = style of force interactions between particles and wall :l
possible choices: hooke, hooke/history, hertz/history, granular :pre
fstyle_params = parameters associated with force interaction style :l
For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are:
Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)
Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)
gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)
gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)
xmu = static yield criterion (unitless value between 0.0 and 1.0e4)
dampflag = 0 or 1 if tangential damping force is excluded or included :pre
For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are:
Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)
Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)
gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)
gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)
xmu = static yield criterion (unitless value between 0.0 and 1.0e4)
dampflag = 0 or 1 if tangential damping force is excluded or included :pre
For {granular}, {fstyle_params} are set using the same syntax as for the {pair_coeff} command of "pair_style granular"_pair_granular.html :pre
wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l
args = list of arguments for a particular style :l
@ -46,10 +46,10 @@ keyword = {wiggle} or {shear} :l
fix 1 all wall/gran hooke 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0
fix 1 all wall/gran hooke/history 200000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 NULL
fix 2 all wall/gran hooke 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0
fix 3 all wall/gran granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 zplane 0.0 NULL
fix 4 all wall/gran granular jkr 1000.0 50.0 0.3 5.0 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall zcylinder 15.0 wiggle z 3.0 2.0
fix 5 all wall/gran granular dmt 1000.0 50.0 0.3 10.0 tangential mindlin 800.0 0.5 0.1 roll sds 500.0 200.0 0.1 twisting marshall zplane 0.0 NULL :pre
fix 2 all wall/gran hooke 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0
fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping velocity region myBox
fix 4 all wall/gran/region granular jkr 1e5 1500.0 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall region myCone
fix 5 all wall/gran/region granular dmt 1e5 0.2 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall damping tsuji region myCone :pre
[Description:]

View File

@ -17,23 +17,23 @@ wall/region = style name of this fix command :l
fstyle = style of force interactions between particles and wall :l
possible choices: hooke, hooke/history, hertz/history, granular :pre
fstyle_params = parameters associated with force interaction style :l
For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are:
Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)
Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)
gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)
gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)
xmu = static yield criterion (unitless value between 0.0 and 1.0e4)
dampflag = 0 or 1 if tangential damping force is excluded or included :pre
For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are:
Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)
Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)
gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)
gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)
xmu = static yield criterion (unitless value between 0.0 and 1.0e4)
dampflag = 0 or 1 if tangential damping force is excluded or included :pre
For {granular}, {fstyle_params} are set using the same syntax as for the {pair_coeff} command of "pair_style granular"_pair_granular.html :pre
wallstyle = region (see "fix wall/gran"_fix_wall_gran.html for options for other kinds of walls) :l
region-ID = region whose boundary will act as wall :l,ule
[Examples:]
fix wall all wall/gran/region hooke/history 1000.0 200.0 200.0 100.0 0.5 1 region myCone
fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 region myBox
fix 4 all wall/gran/region granular jkr 1000.0 50.0 tangential linear_history 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall region myCone
fix 5 all wall/gran/region granular dmt 1000.0 50.0 0.3 10.0 tangential linear_history 800.0 0.5 0.1 roll sds 500.0 200.0 0.1 twisting marshall region myCone :pre
fix wall all wall/gran/region hooke/history 1000.0 200.0 200.0 100.0 0.5 1 region myCone
fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping velocity region myBox
fix 4 all wall/gran/region granular jkr 1e5 1500.0 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall region myCone
fix 5 all wall/gran/region granular dmt 1e5 0.2 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall damping tsuji region myCone :pre
[Description:]

View File

@ -84,6 +84,7 @@ Fixes :h1
fix_msst
fix_mvv_dpd
fix_neb
fix_neb_spin
fix_nh
fix_nh_eff
fix_nh_uef

View File

@ -179,6 +179,7 @@ min_spin.html
minimize.html
molecule.html
neb.html
neb_spin.html
neigh_modify.html
neighbor.html
newton.html
@ -309,6 +310,7 @@ fix_mscg.html
fix_msst.html
fix_mvv_dpd.html
fix_neb.html
fix_neb_spin.html
fix_nh.html
fix_nh_eff.html
fix_nph_asphere.html

375
doc/src/neb_spin.txt Normal file
View File

@ -0,0 +1,375 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Commands_all.html)
:line
neb command :h3
[Syntax:]
neb/spin etol ttol N1 N2 Nevery file-style arg keyword :pre
etol = stopping tolerance for energy (energy units) :ulb,l
ttol = stopping tolerance for torque ( units) :l
N1 = max # of iterations (timesteps) to run initial NEB :l
N2 = max # of iterations (timesteps) to run barrier-climbing NEB :l
Nevery = print replica energies and reaction coordinates every this many timesteps :l
file-style = {final} or {each} or {none} :l
{final} arg = filename
filename = file with initial coords for final replica
coords for intermediate replicas are linearly interpolated
between first and last replica
{each} arg = filename
filename = unique filename for each replica (except first)
with its initial coords
{none} arg = no argument all replicas assumed to already have
their initial coords :pre
keyword = {verbose}
:ule
[Examples:]
neb/spin 0.1 0.0 1000 500 50 final coords.final
neb/spin 0.0 0.001 1000 500 50 each coords.initial.$i
neb/spin 0.0 0.001 1000 500 50 none verbose :pre
[Description:]
Perform a geodesic nudged elastic band (GNEB) calculation using multiple
replicas of a system. Two or more replicas must be used; the first
and last are the end points of the transition path.
GNEB is a method for finding both the spin configurations and height
of the energy barrier associated with a transition state, e.g.
spins to perform a collective rotation from one energy basin to
another.
The implementation in LAMMPS follows the discussion in the
following paper: "(BessarabA)"_#BessarabA.
Each replica runs on a partition of one or more processors. Processor
partitions are defined at run-time using the "-partition command-line
switch"_Run_options.html. Note that if you have MPI installed, you
can run a multi-replica simulation with more replicas (partitions)
than you have physical processors, e.g you can run a 10-replica
simulation on just one or two processors. You will simply not get the
performance speed-up you would see with one or more physical
processors per replica. See the "Howto replica"_Howto_replica.html
doc page for further discussion.
NOTE: As explained below, a GNEB calculation performs a damped dynamics
minimization across all the replicas. The "spin"_min_spin.html
style minimizer has to be defined in your input script.
When a GNEB calculation is performed, it is assumed that each replica
is running the same system, though LAMMPS does not check for this.
I.e. the simulation domain, the number of magnetic atoms, the
interaction potentials, and the starting configuration when the neb
command is issued should be the same for every replica.
In a GNEB calculation each replica is connected to other replicas by
inter-replica nudging forces. These forces are imposed by the "fix
neb/spin"_fix_neb_spin.html command, which must be used in conjunction
with the neb command.
The group used to define the fix neb/spin command defines the
GNEB magnetic atoms which are the only ones that inter-replica springs
are applied to.
If the group does not include all magnetic atoms, then non-GNEB
magnetic atoms have no inter-replica springs and the torques they feel
and their precession motion is computed in the usual way due only
to other magnetic atoms within their replica.
Conceptually, the non-GNEB atoms provide a background force field for
the GNEB atoms.
Their magnetic spins can be allowed to evolve during the GNEB
minimization procedure.
The initial spin configuration for each of the replicas can be
specified in different manners via the {file-style} setting, as
discussed below. Only atomic spins whose initial coordinates should
differ from the current configuration need to be specified.
Conceptually, the initial and final configurations for the first
replica should be states on either side of an energy barrier.
As explained below, the initial configurations of intermediate
replicas can be spin coordinates interpolated in a linear fashion
between the first and last replicas. This is often adequate for
simple transitions. For more complex transitions, it may lead to slow
convergence or even bad results if the minimum energy path (MEP, see
below) of states over the barrier cannot be correctly converged to
from such an initial path. In this case, you will want to generate
initial states for the intermediate replicas that are geometrically
closer to the MEP and read them in.
:line
For a {file-style} setting of {final}, a filename is specified which
contains atomic and spin coordinates for zero or more atoms, in the
format described below.
For each atom that appears in the file, the new coordinates are
assigned to that atom in the final replica. Each intermediate replica
also assigns a new spin to that atom in an interpolated manner.
This is done by using the current direction of the spin at the starting
point and the read-in direction as the final point.
The "angular distance" between them is calculated, and the new direction
is assigned to be a fraction of the angular distance.
NOTE: The "angular distance" between the starting and final point is
evaluated in the geodesic sense, as described in
"(BessarabA)"_#BessarabA.
NOTE: The angular interpolation between the starting and final point
is achieved using Rodrigues formula:
:c,image(Eqs/neb_spin_rodrigues_formula.jpg)
where m_i^I is the initial spin configuration for the spin i,
omega_i^nu is a rotation angle defined as:
:c,image(Eqs/neb_spin_angle.jpg)
with nu the image number, Q the total number of images, and
omega_i the total rotation between the initial and final spins.
k_i defines a rotation axis such as:
:c,image(Eqs/neb_spin_k.jpg)
if the initial and final spins are not aligned.
If the initial and final spins are aligned, then their cross
product is null, and the expression above does not apply.
If they point toward the same direction, the intermediate images
conserve the same orientation.
If the initial and final spins are aligned, but point toward
opposite directions, an arbitrary rotation vector belonging to
the plane perpendicular to initial and final spins is chosen.
In this case, a warning message is displayed.
For a {file-style} setting of {each}, a filename is specified which is
assumed to be unique to each replica.
See the "neb"_neb.html documentation page for more information about this
option.
For a {file-style} setting of {none}, no filename is specified. Each
replica is assumed to already be in its initial configuration at the
time the neb command is issued. This allows each replica to define
its own configuration by reading a replica-specific data or restart or
dump file, via the "read_data"_read_data.html,
"read_restart"_read_restart.html, or "read_dump"_read_dump.html
commands. The replica-specific names of these files can be specified
as in the discussion above for the {each} file-style. Also see the
section below for how a NEB calculation can produce restart files, so
that a long calculation can be restarted if needed.
NOTE: None of the {file-style} settings change the initial
configuration of any atom in the first replica. The first replica
must thus be in the correct initial configuration at the time the neb
command is issued.
:line
A NEB calculation proceeds in two stages, each of which is a
minimization procedure, performed via damped dynamics. To enable
this, you must first define a damped spin dynamics
"min_style"_min_style.html, using the {spin} style (see
"min_spin"_min_spin.html for more information).
The other styles cannot be used, since they relax the lattice
degrees of freedom instead of the spins.
The minimizer tolerances for energy and force are set by {etol} and
{ttol}, the same as for the "minimize"_minimize.html command.
A non-zero {etol} means that the GNEB calculation will terminate if the
energy criterion is met by every replica. The energies being compared
to {etol} do not include any contribution from the inter-replica
nudging forces, since these are non-conservative. A non-zero {ttol}
means that the GNEB calculation will terminate if the torque criterion
is met by every replica. The torques being compared to {ttol} include
the inter-replica nudging forces.
The maximum number of iterations in each stage is set by {N1} and
{N2}. These are effectively timestep counts since each iteration of
damped dynamics is like a single timestep in a dynamics
"run"_run.html. During both stages, the potential energy of each
replica and its normalized distance along the reaction path (reaction
coordinate RD) will be printed to the screen and log file every
{Nevery} timesteps. The RD is 0 and 1 for the first and last replica.
For intermediate replicas, it is the cumulative angular distance
(normalized by the total cumulative angular distance) between adjacent
replicas, where "distance" is defined as the length of the 3N-vector of
the geodesic distances in spin coordinates, with N the number of
GNEB spins involved (see equation (13) in "(BessarabA)"_#BessarabA).
These outputs allow you to monitor NEB's progress in
finding a good energy barrier. {N1} and {N2} must both be multiples
of {Nevery}.
In the first stage of GNEB, the set of replicas should converge toward
a minimum energy path (MEP) of conformational states that transition
over a barrier. The MEP for a transition is defined as a sequence of
3N-dimensional spin states, each of which has a potential energy
gradient parallel to the MEP itself.
The configuration of highest energy along a MEP corresponds to a saddle
point. The replica states will also be roughly equally spaced along
the MEP due to the inter-replica nudging force added by the
"fix neb"_fix_neb.html command.
In the second stage of GNEB, the replica with the highest energy is
selected and the inter-replica forces on it are converted to a force
that drives its spin coordinates to the top or saddle point of the
barrier, via the barrier-climbing calculation described in
"(BessarabA)"_#BessarabA. As before, the other replicas rearrange
themselves along the MEP so as to be roughly equally spaced.
When both stages are complete, if the GNEB calculation was successful,
the configurations of the replicas should be along (close to) the MEP
and the replica with the highest energy should be a spin
configuration at (close to) the saddle point of the transition. The
potential energies for the set of replicas represents the energy
profile of the transition along the MEP.
:line
An atom map must be defined which it is not by default for "atom_style
atomic"_atom_style.html problems. The "atom_modify
map"_atom_modify.html command can be used to do this.
An initial value can be defined for the timestep. Although, the {spin}
minimization algorithm is an adaptive timestep methodology, so that
this timestep is likely to evolve during the calculation.
The minimizers in LAMMPS operate on all spins in your system, even
non-GNEB atoms, as defined above.
:line
Each file read by the neb/spin command containing spin coordinates used
to initialize one or more replicas must be formatted as follows.
The file can be ASCII text or a gzipped text file (detected by a .gz
suffix). The file can contain initial blank lines or comment lines
starting with "#" which are ignored. The first non-blank, non-comment
line should list N = the number of lines to follow. The N successive
lines contain the following information:
ID1 g1 x1 y1 z1 sx1 sy1 sz1
ID2 g2 x2 y2 z2 sx2 sy2 sz2
...
IDN gN yN zN sxN syN szN :pre
The fields are the atom ID, the norm of the associated magnetic spin,
followed by the {x,y,z} coordinates and the {sx,sy,sz} spin coordinates.
The lines can be listed in any order. Additional trailing information on
the line is OK, such as a comment.
Note that for a typical GNEB calculation you do not need to specify
initial spin coordinates for very many atoms to produce differing starting
and final replicas whose intermediate replicas will converge to the
energy barrier. Typically only new spin coordinates for atoms
geometrically near the barrier need be specified.
Also note there is no requirement that the atoms in the file
correspond to the GNEB atoms in the group defined by the "fix
neb"_fix_neb.html command. Not every GNEB atom need be in the file,
and non-GNEB atoms can be listed in the file.
:line
Four kinds of output can be generated during a GNEB calculation: energy
barrier statistics, thermodynamic output by each replica, dump files,
and restart files.
When running with multiple partitions (each of which is a replica in
this case), the print-out to the screen and master log.lammps file
contains a line of output, printed once every {Nevery} timesteps. It
contains the timestep, the maximum torque per replica, the maximum
torque per atom (in any replica), potential gradients in the initial,
final, and climbing replicas, the forward and backward energy
barriers, the total reaction coordinate (RDT), and the normalized
reaction coordinate and potential energy of each replica.
The "maximum torque per replica" is the two-norm of the
3N-length vector given by the cross product of a spin by its
precession vector omega, in each replica, maximized across replicas,
which is what the {ttol} setting is checking against. In this case, N is
all the atoms in each replica. The "maximum torque per atom" is the
maximum torque component of any atom in any replica. The potential
gradients are the two-norm of the 3N-length magnetic precession vector
solely due to the interaction potential i.e. without adding in
inter-replica forces, and projected along the path tangent (as detailed
in Appendix D of "(BessarabA)"_#BessarabA).
The "reaction coordinate" (RD) for each replica is the two-norm of the
3N-length vector of geodesic distances between its spins and the preceding
replica's spins (see equation (13) of "(BessarabA)"_#BessarabA), added to
the RD of the preceding replica. The RD of the first replica RD1 = 0.0;
the RD of the final replica RDN = RDT, the total reaction coordinate.
The normalized RDs are divided by RDT, so that they form a monotonically
increasing sequence from zero to one. When computing RD, N only includes
the spins being operated on by the fix neb/spin command.
The forward (reverse) energy barrier is the potential energy of the
highest replica minus the energy of the first (last) replica.
Supplementary information for all replicas can be printed out to the
screen and master log.lammps file by adding the verbose keyword. This
information include the following.
The "GradVidottan" are the projections of the potential gradient for
the replica i on its tangent vector (as detailed in Appendix D of
"(BessarabA)"_#BessarabA).
The "DNi" are the non normalized geodesic distances (see equation (13)
of "(BessarabA)"_#BessarabA), between a replica i and the next replica
i+1. For the last replica, this distance is not defined and a "NAN"
value is the corresponding output.
When a NEB calculation does not converge properly, the supplementary
information can help understanding what is going wrong.
When running on multiple partitions, LAMMPS produces additional log
files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For a
GNEB calculation, these contain the thermodynamic output for each
replica.
If "dump"_dump.html commands in the input script define a filename
that includes a {universe} or {uloop} style "variable"_variable.html,
then one dump file (per dump command) will be created for each
replica. At the end of the GNEB calculation, the final snapshot in
each file will contain the sequence of snapshots that transition the
system over the energy barrier. Earlier snapshots will show the
convergence of the replicas to the MEP.
Likewise, "restart"_restart.html filenames can be specified with a
{universe} or {uloop} style "variable"_variable.html, to generate
restart files for each replica. These may be useful if the GNEB
calculation fails to converge properly to the MEP, and you wish to
restart the calculation from an intermediate point with altered
parameters.
A c file script in provided in the tool/spin/interpolate_gneb
directory, that interpolates the MEP given the information provided
by the verbose output option (as detailed in Appendix D of
"(BessarabA)"_#BessarabA).
:line
[Restrictions:]
This command can only be used if LAMMPS was built with the SPIN
package. See the "Build package"_Build_package.html doc
page for more info.
:line
[Related commands:]
"min/spin"_min_spin.html, "fix neb/spin"_fix_neb_spin.html
[Default:]
none
:line
:link(BessarabA)
[(BessarabA)] Bessarab, Uzdin, Jonsson, Comp Phys Comm, 196,
335-347 (2015).

View File

@ -64,7 +64,7 @@ args = arguments specific to the style :l
{no_affinity} values = none
{kokkos} args = keyword value ...
zero or more keyword/value pairs may be appended
keywords = {neigh} or {neigh/qeq} or {newton} or {binsize} or {comm} or {comm/exchange} or {comm/forward} or {comm/reverse}
keywords = {neigh} or {neigh/qeq} or {newton} or {binsize} or {comm} or {comm/exchange} or {comm/forward} or {comm/reverse} or {gpu/direct}
{neigh} value = {full} or {half}
full = full neighbor list
half = half neighbor list built in thread-safe manner
@ -72,7 +72,7 @@ args = arguments specific to the style :l
full = full neighbor list
half = half neighbor list built in thread-safe manner
{newton} = {off} or {on}
off = set Newton pairwise and bonded flags off (default)
off = set Newton pairwise and bonded flags off
on = set Newton pairwise and bonded flags on
{binsize} value = size
size = bin size for neighbor list construction (distance units)
@ -422,101 +422,103 @@ processes/threads used for LAMMPS.
:line
The {kokkos} style invokes settings associated with the use of the
KOKKOS package.
The {kokkos} style invokes settings associated with the use of the
KOKKOS package.
All of the settings are optional keyword/value pairs. Each has a
default value as listed below.
All of the settings are optional keyword/value pairs. Each has a default
value as listed below.
The {neigh} keyword determines how neighbor lists are built. A value
of {half} uses a thread-safe variant of half-neighbor lists,
the same as used by most pair styles in LAMMPS.
The {neigh} keyword determines how neighbor lists are built. A value of
{half} uses a thread-safe variant of half-neighbor lists, the same as
used by most pair styles in LAMMPS, which is the default when running on
CPUs (i.e. the Kokkos CUDA back end is not enabled).
A value of {full} uses a full neighbor lists and is the default. This
performs twice as much computation as the {half} option, however that
is often a win because it is thread-safe and doesn't require atomic
operations in the calculation of pair forces. For that reason, {full}
is the default setting. However, when running in MPI-only mode with 1
thread per MPI task, {half} neighbor lists will typically be faster,
just as it is for non-accelerated pair styles. Similarly, the {neigh/qeq}
keyword determines how neighbor lists are built for "fix qeq/reax/kk"_fix_qeq_reax.html.
If not explicitly set, the value of {neigh/qeq} will match {neigh}.
A value of {full} uses a full neighbor lists and is the default when
running on GPUs. This performs twice as much computation as the {half}
option, however that is often a win because it is thread-safe and
doesn't require atomic operations in the calculation of pair forces. For
that reason, {full} is the default setting for GPUs. However, when
running on CPUs, a {half} neighbor list is the default because it are
often faster, just as it is for non-accelerated pair styles. Similarly,
the {neigh/qeq} keyword determines how neighbor lists are built for "fix
qeq/reax/kk"_fix_qeq_reax.html. If not explicitly set, the value of
{neigh/qeq} will match {neigh}.
The {newton} keyword sets the Newton flags for pairwise and bonded
interactions to {off} or {on}, the same as the "newton"_newton.html
command allows. The default is {off} because this will almost always
give better performance for the KOKKOS package. This means more
computation is done, but less communication. However, when running in
MPI-only mode with 1 thread per MPI task, a value of {on} will
typically be faster, just as it is for non-accelerated pair styles.
The {newton} keyword sets the Newton flags for pairwise and bonded
interactions to {off} or {on}, the same as the "newton"_newton.html
command allows. The default for GPUs is {off} because this will almost
always give better performance for the KOKKOS package. This means more
computation is done, but less communication. However, when running on
CPUs a value of {on} is the default since it can often be faster, just
as it is for non-accelerated pair styles
The {binsize} keyword sets the size of bins used to bin atoms in
neighbor list builds. The same value can be set by the "neigh_modify
binsize"_neigh_modify.html command. Making it an option in the
package kokkos command allows it to be set from the command line. The
default value is 0.0, which means the LAMMPS default will be used,
which is bins = 1/2 the size of the pairwise cutoff + neighbor skin
distance. This is fine when neighbor lists are built on the CPU. For
GPU builds, a 2x larger binsize equal to the pairwise cutoff +
neighbor skin, is often faster, which can be set by this keyword.
Note that if you use a longer-than-usual pairwise cutoff, e.g. to
allow for a smaller fraction of KSpace work with a "long-range
Coulombic solver"_kspace_style.html because the GPU is faster at
performing pairwise interactions, then this rule of thumb may give too
large a binsize.
The {binsize} keyword sets the size of bins used to bin atoms in
neighbor list builds. The same value can be set by the "neigh_modify
binsize"_neigh_modify.html command. Making it an option in the package
kokkos command allows it to be set from the command line. The default
value for CPUs is 0.0, which means the LAMMPS default will be used,
which is bins = 1/2 the size of the pairwise cutoff + neighbor skin
distance. This is fine when neighbor lists are built on the CPU. For GPU
builds, a 2x larger binsize equal to the pairwise cutoff + neighbor skin
is often faster, which is the default. Note that if you use a
longer-than-usual pairwise cutoff, e.g. to allow for a smaller fraction
of KSpace work with a "long-range Coulombic solver"_kspace_style.html
because the GPU is faster at performing pairwise interactions, then this
rule of thumb may give too large a binsize and the default should be
overridden with a smaller value.
The {comm} and {comm/exchange} and {comm/forward} and {comm/reverse} keywords determine
whether the host or device performs the packing and unpacking of data
when communicating per-atom data between processors. "Exchange"
communication happens only on timesteps that neighbor lists are
rebuilt. The data is only for atoms that migrate to new processors.
"Forward" communication happens every timestep. "Reverse" communication
happens every timestep if the {newton} option is on. The data is for atom
coordinates and any other atom properties that needs to be updated for
ghost atoms owned by each processor.
The {comm} and {comm/exchange} and {comm/forward} and {comm/reverse}
keywords determine whether the host or device performs the packing and
unpacking of data when communicating per-atom data between processors.
"Exchange" communication happens only on timesteps that neighbor lists
are rebuilt. The data is only for atoms that migrate to new processors.
"Forward" communication happens every timestep. "Reverse" communication
happens every timestep if the {newton} option is on. The data is for
atom coordinates and any other atom properties that needs to be updated
for ghost atoms owned by each processor.
The {comm} keyword is simply a short-cut to set the same value
for both the {comm/exchange} and {comm/forward} and {comm/reverse} keywords.
The {comm} keyword is simply a short-cut to set the same value for both
the {comm/exchange} and {comm/forward} and {comm/reverse} keywords.
The value options for all 3 keywords are {no} or {host} or {device}.
A value of {no} means to use the standard non-KOKKOS method of
packing/unpacking data for the communication. A value of {host} means
to use the host, typically a multi-core CPU, and perform the
packing/unpacking in parallel with threads. A value of {device}
means to use the device, typically a GPU, to perform the
packing/unpacking operation.
The value options for all 3 keywords are {no} or {host} or {device}. A
value of {no} means to use the standard non-KOKKOS method of
packing/unpacking data for the communication. A value of {host} means to
use the host, typically a multi-core CPU, and perform the
packing/unpacking in parallel with threads. A value of {device} means to
use the device, typically a GPU, to perform the packing/unpacking
operation.
The optimal choice for these keywords depends on the input script and
the hardware used. The {no} value is useful for verifying that the
Kokkos-based {host} and {device} values are working correctly.
It may also be the fastest choice when using Kokkos styles in
MPI-only mode (i.e. with a thread count of 1).
The optimal choice for these keywords depends on the input script and
the hardware used. The {no} value is useful for verifying that the
Kokkos-based {host} and {device} values are working correctly. It is the
default when running on CPUs since it is usually the fastest.
When running on CPUs or Xeon Phi, the {host} and {device} values work
identically. When using GPUs, the {device} value will typically be
optimal if all of your styles used in your input script are supported
by the KOKKOS package. In this case data can stay on the GPU for many
timesteps without being moved between the host and GPU, if you use the
{device} value. This requires that your MPI is able to access GPU
memory directly. Currently that is true for OpenMPI 1.8 (or later
versions), Mvapich2 1.9 (or later), and CrayMPI. If your script uses
styles (e.g. fixes) which are not yet supported by the KOKKOS package,
then data has to be move between the host and device anyway, so it is
typically faster to let the host handle communication, by using the
{host} value. Using {host} instead of {no} will enable use of
multiple threads to pack/unpack communicated data.
When running on CPUs or Xeon Phi, the {host} and {device} values work
identically. When using GPUs, the {device} value is the default since it
will typically be optimal if all of your styles used in your input
script are supported by the KOKKOS package. In this case data can stay
on the GPU for many timesteps without being moved between the host and
GPU, if you use the {device} value. This requires that your MPI is able
to access GPU memory directly. Currently that is true for OpenMPI 1.8
(or later versions), Mvapich2 1.9 (or later), and CrayMPI. If your
script uses styles (e.g. fixes) which are not yet supported by the
KOKKOS package, then data has to be move between the host and device
anyway, so it is typically faster to let the host handle communication,
by using the {host} value. Using {host} instead of {no} will enable use
of multiple threads to pack/unpack communicated data.
The {gpu/direct} keyword chooses whether GPU-direct will be used. When
this keyword is set to {on}, buffers in GPU memory are passed directly
through MPI send/receive calls. This reduces overhead of first copying
the data to the host CPU. However GPU-direct is not supported on all
systems, which can lead to segmentation faults and would require
using a value of {off}. If LAMMPS can safely detect that GPU-direct is
not available (currently only possible with OpenMPI v2.0.0 or later),
then the {gpu/direct} keyword is automatically set to {off} by default.
When the {gpu/direct} keyword is set to {off} while any of the {comm}
keywords are set to {device}, the value for these {comm} keywords will
be automatically changed to {host}.
The {gpu/direct} keyword chooses whether GPU-direct will be used. When
this keyword is set to {on}, buffers in GPU memory are passed directly
through MPI send/receive calls. This reduces overhead of first copying
the data to the host CPU. However GPU-direct is not supported on all
systems, which can lead to segmentation faults and would require using a
value of {off}. If LAMMPS can safely detect that GPU-direct is not
available (currently only possible with OpenMPI v2.0.0 or later), then
the {gpu/direct} keyword is automatically set to {off} by default. When
the {gpu/direct} keyword is set to {off} while any of the {comm}
keywords are set to {device}, the value for these {comm} keywords will
be automatically changed to {host}. This setting has no effect if not
running on GPUs.
:line
@ -623,14 +625,16 @@ not used, you must invoke the package intel command in your input
script or or via the "-pk intel" "command-line
switch"_Run_options.html.
For the KOKKOS package, the option defaults neigh = full, neigh/qeq =
full, newton = off, binsize = 0.0, and comm = device, gpu/direct = on.
When LAMMPS can safely detect, that GPU-direct is not available, the
default value of gpu/direct becomes "off".
These settings are made automatically by the required "-k on"
"command-line switch"_Run_options.html. You can change them by
using the package kokkos command in your input script or via the
"-pk kokkos command-line switch"_Run_options.html.
For the KOKKOS package, the option defaults for GPUs are neigh = full,
neigh/qeq = full, newton = off, binsize for GPUs = 2x LAMMPS default
value, comm = device, gpu/direct = on. When LAMMPS can safely detect
that GPU-direct is not available, the default value of gpu/direct
becomes "off". For CPUs or Xeon Phis, the option defaults are neigh =
half, neigh/qeq = half, newton = on, binsize = 0.0, and comm = no. These
settings are made automatically by the required "-k on" "command-line
switch"_Run_options.html. You can change them by using the package
kokkos command in your input script or via the "-pk kokkos command-line
switch"_Run_options.html.
For the OMP package, the default is Nthreads = 0 and the option
defaults are neigh = yes. These settings are made automatically if

View File

@ -36,7 +36,7 @@ pair_style airebo/morse 3.0
pair_coeff * * ../potentials/CH.airebo-m H C :pre
pair_style rebo
pair_coeff * * ../potentials/CH.airebo H C :pre
pair_coeff * * ../potentials/CH.rebo H C :pre
[Description:]
@ -57,7 +57,8 @@ The {rebo} pair style computes the Reactive Empirical Bond Order (REBO)
Potential of "(Brenner)"_#Brenner. Note that this is the so-called
2nd generation REBO from 2002, not the original REBO from 1990.
As discussed below, 2nd generation REBO is closely related to the
initial AIREBO; it is just a subset of the potential energy terms.
initial AIREBO; it is just a subset of the potential energy terms
with a few slightly different parameters
The AIREBO potential consists of three terms:
@ -113,12 +114,12 @@ various dihedral angle preferences in hydrocarbon configurations.
:line
Only a single pair_coeff command is used with the {airebo}, {airebo}
or {rebo} style which specifies an AIREBO or AIREBO-M potential file
with parameters for C and H. Note that the {rebo} style in LAMMPS
uses the same AIREBO-formatted potential file. These are mapped to
LAMMPS atom types by specifying N additional arguments after the
filename in the pair_coeff command, where N is the number of LAMMPS
atom types:
or {rebo} style which specifies an AIREBO, REBO, or AIREBO-M potential
file with parameters for C and H. Note that as of LAMMPS version
15 May 2019 the {rebo} style in LAMMPS uses its own potential
file (CH.rebo). These are mapped to LAMMPS atom types by specifying
N additional arguments after the filename in the pair_coeff command,
where N is the number of LAMMPS atom types:
filename
N element names = mapping of AIREBO elements to atom types :ul

View File

@ -24,22 +24,24 @@ cutoff = global cutoff (optional). See discussion below. :ul
[Examples:]
pair_style granular
pair_coeff * * hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 :pre
pair_coeff * * hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping mass_velocity :pre
pair_style granular
pair_coeff * * hertz 1000.0 50.0 tangential mindlin NULL 1.0 0.4 :pre
pair_coeff * * hooke 1000.0 50.0 tangential linear_history 500.0 1.0 0.4 damping mass_velocity :pre
pair_style granular
pair_coeff * * hertz/material 1e8 0.3 tangential mindlin_rescale NULL 1.0 0.4 damping tsuji :pre
pair_coeff * * hertz 1000.0 50.0 tangential mindlin 1000.0 1.0 0.4 :pre
pair_style granular
pair_coeff 1 1 jkr 1000.0 50.0 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall :pre
pair_coeff * * hertz/material 1e8 0.3 0.3 tangential mindlin_rescale NULL 1.0 0.4 damping tsuji :pre
pair_style granular
pair_coeff 1 1 hertz 1000.0 50.0 tangential mindlin 800.0 0.5 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 dmt 1000.0 50.0 0.3 10.0 tangential mindlin 800.0 0.5 0.1 roll sds 500.0 200.0 0.1 twisting marshall
pair_coeff 1 2 dmt 1000.0 50.0 0.3 10.0 tangential mindlin 800.0 0.5 0.1 roll sds 500.0 200.0 0.1 twisting marshall :pre
pair_coeff 1 * jkr 1000.0 500.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 hertz 200.0 100.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall :pre
pair_style granular
pair_coeff 1 1 dmt 1000.0 50.0 0.3 0.0 tangential mindlin NULL 0.5 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 dmt 1000.0 50.0 0.3 10.0 tangential mindlin NULL 0.5 0.1 rolling sds 500.0 200.0 0.1 twisting marshall :pre
[Description:]
@ -57,18 +59,18 @@ global, but can be set to different values for different combinations
of particle types, as determined by the "pair_coeff"_pair_coeff.html
command. If the contact model choice is the same for two particle
types, the mixing for the cross-coefficients can be carried out
automatically. This is shown in the second example, where model
automatically. This is shown in the last example, where model
choices are the same for type 1 - type 1 as for type 2 - type2
interactions, but coefficients are different. In this case, the
coefficients for type 2 - type interactions can be determined from
mixed coefficients for type 1 - type 2 interactions can be determined from
mixing rules discussed below. For additional flexibility,
coefficients as well as model forms can vary between particle types,
as shown in the third example: type 1- type 1 interactions are based
on a Hertzian normal contact model and 2-2 interactions are based on a
DMT cohesive model (see below). In that example, 1-1 and 2-2
interactions have different model forms, in which case mixing of
as shown in the fourth example: type 1 - type 1 interactions are based
on a Johnson-Kendall-Roberts normal contact model and 2-2 interactions
are based on a DMT cohesive model (see below). In that example, 1-1
and 2-2 interactions have different model forms, in which case mixing of
coefficients cannot be determined, so 1-2 interactions must be
explicitly defined via the {pair_coeff 1 2} command, otherwise an
explicitly defined via the {pair_coeff 1 *} command, otherwise an
error would result.
:line
@ -189,6 +191,7 @@ other settings, potentially also the twisting damping). The options
for the damping model currently supported are:
{velocity}
{mass_velocity}
{viscoelastic}
{tsuji} :ol
@ -199,11 +202,23 @@ For {damping velocity}, the normal damping is simply equal to the
user-specified damping coefficient in the {normal} model:
\begin\{equation\}
\eta_n = \eta_\{n0\}\
\eta_n = \eta_\{n0\}
\end\{equation\}
Here, \(\gamma_n\) is the damping coefficient specified for the normal
contact model, in units of {mass}/{time},
Here, \(\eta_\{n0\}\) is the damping coefficient specified for the normal
contact model, in units of {mass}/{time}.
For {damping mass_velocity}, the normal damping is given by:
\begin\{equation\}
\eta_n = \eta_\{n0\} m_\{eff\}
\end\{equation\}
Here, \(\eta_\{n0\}\) is the damping coefficient specified for the normal
contact model, in units of {mass}/{time} and
\(m_\{eff\} = m_i m_j/(m_i + m_j)\) is the effective mass.
Use {damping mass_velocity} to reproduce the damping behavior of
{pair gran/hooke/*}.
The {damping viscoelastic} model is based on the viscoelastic
treatment of "(Brilliantov et al)"_#Brill1996, where the normal
@ -213,11 +228,10 @@ damping is given by:
\eta_n = \eta_\{n0\}\ a m_\{eff\}
\end\{equation\}
Here, \(m_\{eff\} = m_i m_j/(m_i + m_j)\) is the effective mass, {a}
is the contact radius, given by \(a =\sqrt\{R\delta\}\) for all models
except {jkr}, for which it is given implicitly according to \(delta =
a^2/R - 2\sqrt\{\pi \gamma a/E\}\). In this case, \eta_\{n0\}\ is in
units of 1/({time}*{distance}).
Here, {a} is the contact radius, given by \(a =\sqrt\{R\delta\}\)
for all models except {jkr}, for which it is given implicitly according
to \(\delta = a^2/R - 2\sqrt\{\pi \gamma a/E\}\). For {damping viscoelastic},
\(\eta_\{n0\}\) is in units of 1/({time}*{distance}).
The {tsuji} model is based on the work of "(Tsuji et
al)"_#Tsuji1992. Here, the damping coefficient specified as part of
@ -564,6 +578,20 @@ Finally, the twisting torque on each particle is given by:
:line
The {granular} pair style can reproduce the behavior of the
{pair gran/*} styles with the appropriate settings (some very
minor differences can be expected due to corrections in
displacement history frame-of-reference, and the application
of the torque at the center of the contact rather than
at each particle). The first example above
is equivalent to {pair gran/hooke 1000.0 NULL 50.0 50.0 0.4 1}.
The second example is equivalent to
{pair gran/hooke/history 1000.0 500.0 50.0 50.0 0.4 1}.
The third example is equivalent to
{pair gran/hertz/history 1000.0 500.0 50.0 50.0 0.4 1}.
:line
LAMMPS automatically sets pairwise cutoff values for {pair_style
granular} based on particle radii (and in the case of {jkr} pull-off
distances). In the vast majority of situations, this is adequate.
@ -619,7 +647,7 @@ interactions is set to \(\mu_1\), and friction coefficient for type
2-type 2 interactions is set to \(\mu_2\), the friction coefficient
for type1-type2 interactions is computed as \(\sqrt\{\mu_1\mu_2\}\)
(unless explicitly specified to a different value by a {pair_coeff 1 2
...} command. The exception to this is elastic modulus, only
...} command). The exception to this is elastic modulus, only
applicable to {hertz/material}, {dmt} and {jkr} normal contact
models. In that case, the effective elastic modulus is computed as:
@ -706,7 +734,7 @@ For the {pair_coeff} settings: {damping viscoelastic}, {rolling none},
J. M., & Poschel, T. (1996). Model for collisions in granular
gases. Physical review E, 53(5), 5382.
:link(Tsuji1992)
:link(Tsuji1992)
[(Tsuji et al, 1992)] Tsuji, Y., Tanaka, T., & Ishida,
T. (1992). Lagrangian numerical simulation of plug flow of
cohesionless particles in a horizontal pipe. Powder technology, 71(3),

View File

@ -30,16 +30,16 @@ args = list of arguments for a particular style :l
[Examples:]
pair_style lj/mdf 2.5 3.0
pair_coeff * * 1 1
pair_coeff 1 1 1 1.1 2.8 3.0 3.2 :pre
pair_coeff * * 1.0 1.0
pair_coeff 1 1 1.1 2.8 3.0 3.2 :pre
pair_style buck 2.5 3.0
pair_coeff * * 100.0 1.5 200.0
pair_coeff * * 100.0 1.5 200.0 3.0 3.5 :pre
pair_style lennard/mdf 2.5 3.0
pair_coeff * * 1 1
pair_coeff 1 1 1 1.1 2.8 3.0 3.2 :pre
pair_coeff * * 1.0 1.0
pair_coeff 1 1 1021760.3664 2120.317338 3.0 3.2 :pre
[Description:]
@ -69,11 +69,12 @@ standard 12-6 Lennard-Jones written in the epsilon/sigma form:
:c,image(Eqs/pair_mdf-4.jpg)
The following coefficients must be defined for each pair of atoms
types via the pair_coeff command as in the examples above, or in the
data file or restart files read by the "read_data"_read_data.html or
"read_restart commands"_read_restart.html, or by mixing as described
below:
Either the first two or all of the following coefficients must be
defined for each pair of atoms types via the pair_coeff command as
in the examples above, or in the data file read by the
"read_data"_read_data.html. The two cutoffs default to the global
values and epsilon and sigma can also be determined by mixing as
described below:
epsilon (energy units)
sigma (distance units)
@ -83,7 +84,9 @@ r_{cut} (distance units) :ul
:line
For the {buck/mdf} pair_style, the potential energy, {E(r)}, is the
standard Buckingham potential:
standard Buckingham potential with three required coefficients.
The two cutoffs can be omitted and default to the corresponding
global values:
:c,image(Eqs/pair_mdf-5.jpg)
@ -91,19 +94,20 @@ A (energy units)
\rho (distance units)
C (energy-distance^6 units)
r_m (distance units)
r_{cut}$ (distance units) :ul
r_{cut} (distance units) :ul
:line
For the {lennard/mdf} pair_style, the potential energy, {E(r)}, is the
standard 12-6 Lennard-Jones written in the $A/B$ form:
standard 12-6 Lennard-Jones written in the A/B form:
:c,image(Eqs/pair_mdf-6.jpg)
The following coefficients must be defined for each pair of atoms
types via the pair_coeff command as in the examples above, or in the
data file or restart files read by the read_data or read_restart
commands, or by mixing as described below:
data file read by the read_data commands, or by mixing as described below.
The two cutoffs default to their global values and must be either both
given or both left out:
A (energy-distance^12 units)
B (energy-distance^6 units)
@ -115,33 +119,23 @@ r_{cut} (distance units) :ul
[Mixing, shift, table, tail correction, restart, rRESPA info]:
For atom type pairs I,J and I != J, the epsilon and sigma coefficients
and cutoff distance for all of the lj/cut pair styles can be mixed.
and cutoff distances for the lj/mdf pair style can be mixed.
The default mix value is {geometric}. See the "pair_modify" command
for details.
for details. The other two pair styles buck/mdf and lennard/mdf do not
support mixing, so all I,J pairs of coefficients must be specified
explicitly.
All of the {lj/cut} pair styles support the
"pair_modify"_pair_modify.html shift option for the energy of the
Lennard-Jones portion of the pair interaction.
None of the lj/mdf, buck/mdf, or lennard/mdf pair styles supports
the "pair_modify"_pair_modify.html shift option or long-range
tail corrections to pressure and energy.
The {lj/cut/coul/long} and {lj/cut/tip4p/long} pair styles support the
"pair_modify"_pair_modify.html table option since they can tabulate
the short-range portion of the long-range Coulombic interaction.
These styles write their information to "binary restart
files"_restart.html, so pair_style and pair_coeff commands do not need
to be specified in an input script that reads a restart file.
All of the {lj/cut} pair styles support the
"pair_modify"_pair_modify.html tail option for adding a long-range
tail correction to the energy and pressure for the Lennard-Jones
portion of the pair interaction.
All of the {lj/cut} pair styles write their information to "binary
restart files"_restart.html, so pair_style and pair_coeff commands do
not need to be specified in an input script that reads a restart file.
The {lj/cut} and {lj/cut/coul/long} pair styles support the use of the
{inner}, {middle}, and {outer} keywords of the "run_style
respa"_run_style.html command, meaning the pairwise forces can be
partitioned by distance at different levels of the rRESPA hierarchy.
The other styles only support the {pair} keyword of run_style respa.
See the "run_style"_run_style.html command for details.
These styles can only be used via the {pair} keyword of the "run_style
respa"_run_style.html command. They do not support the {inner},
{middle}, {outer} keywords.
:line

View File

@ -88,4 +88,4 @@ package"_Build_package.html doc page for more info.
Physical Review B, 88(18), 184422. (2013).
:link(Tranchida5)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
Journal of Computational Physics, (2018).
Journal of Computational Physics, 372, 406-425, (2018).

View File

@ -95,4 +95,4 @@ package"_Build_package.html doc page for more info.
:link(Tranchida3)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
Journal of Computational Physics, (2018).
Journal of Computational Physics, 372, 406-425, (2018).

View File

@ -70,4 +70,4 @@ package"_Build_package.html doc page for more info.
:link(Tranchida4)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau, and Thompson,
Journal of Computational Physics, (2018).
Journal of Computational Physics, 372, 406-425, (2018).

View File

@ -80,4 +80,4 @@ package"_Build_package.html doc page for more info.
:link(Tranchida6)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
Journal of Computational Physics, (2018).
Journal of Computational Physics, 372, 406-425, (2018).

View File

@ -26,11 +26,9 @@ coefficients in a way, that it can be read by LAMMPS with the
option of "write_data"_write_data.html this can be used to move
the Coeffs sections from a data file into a separate file.
NOTE: The write_coeff command is not yet fully implemented in two
respects. First, some pair styles do not yet write their coefficient
information into the coeff file. This means you will need to specify
that information in your input script that reads the data file, via
the "pair_coeff"_pair_coeff.html command.
NOTE: The write_coeff command is not yet fully implemented as
some pair styles do not output their coefficient information.
This means you will need to add/copy this information manually.
:line

View File

@ -200,6 +200,7 @@ Berkowitz
berlin
Berne
Bertotti
Bessarab
Beutler
bgq
Bh
@ -592,6 +593,7 @@ Dmax
dmg
dmi
dnf
DNi
Dobson
Dodds
dodgerblue
@ -963,6 +965,8 @@ gmail
gmake
gmask
Gmask
gneb
GNEB
googlemail
Gordan
GPa
@ -2370,6 +2374,7 @@ rNEMD
ro
Rochus
Rockett
Rodrigues
Rohart
Ronchetti
Rosati
@ -2774,6 +2779,7 @@ tt
Tt
TThis
ttm
ttol
tu
Tuckerman
tue
@ -2846,6 +2852,7 @@ utsa
Uttormark
uvm
uwo
Uzdin
vacf
valent
Valeriu
@ -2945,7 +2952,7 @@ wB
Wbody
webpage
Weckner
WeinenE
WeinanE
Wennberg
Westview
wget

13
examples/SPIN/gneb/README Normal file
View File

@ -0,0 +1,13 @@
Perform geodesic NEB calculations for spin configurations.
The two examples are:
- the magnetic switching of an iron nanoisland
- the collapse of a magnetic skyrmion
Run those examples as:
mpirun -np 3 lmp_mpi -in in.gneb.iron -partition 3x1
You should be able to use any number of replicas >= 3.
In the interpolate/ directory, a c routine is provided to
interpolate the MEP.

View File

@ -0,0 +1,68 @@
32
1 2.2000000000000002e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
2 2.2000000000000002e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
3 2.2000000000000002e+00 2.8664999999999998e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
4 2.2000000000000002e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
5 2.2000000000000002e+00 5.7329999999999997e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
6 2.2000000000000002e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
7 2.2000000000000002e+00 8.5994999999999990e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
8 2.2000000000000002e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
9 2.2000000000000002e+00 0.0000000000000000e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
10 2.2000000000000002e+00 2.8664999999999998e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
11 2.2000000000000002e+00 5.7329999999999997e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
12 2.2000000000000002e+00 8.5994999999999990e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
13 2.2000000000000002e+00 1.4332499999999999e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
14 2.2000000000000002e+00 4.2997499999999995e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
15 2.2000000000000002e+00 7.1662499999999998e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
16 2.2000000000000002e+00 1.0032750000000000e+01 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
17 2.2000000000000002e+00 0.0000000000000000e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
18 2.2000000000000002e+00 1.4332499999999999e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
19 2.2000000000000002e+00 2.8664999999999998e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
20 2.2000000000000002e+00 4.2997499999999995e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
21 2.2000000000000002e+00 5.7329999999999997e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
22 2.2000000000000002e+00 7.1662499999999998e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
23 2.2000000000000002e+00 8.5994999999999990e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
24 2.2000000000000002e+00 1.0032750000000000e+01 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
25 2.2000000000000002e+00 0.0000000000000000e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
26 2.2000000000000002e+00 2.8664999999999998e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
27 2.2000000000000002e+00 5.7329999999999997e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
28 2.2000000000000002e+00 8.5994999999999990e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
29 2.2000000000000002e+00 1.4332499999999999e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
30 2.2000000000000002e+00 4.2997499999999995e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
31 2.2000000000000002e+00 7.1662499999999998e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
32 2.2000000000000002e+00 1.0032750000000000e+01 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00

View File

@ -0,0 +1,50 @@
units metal
dimension 3
boundary p p f
atom_style spin
# necessary for the serial algorithm (sametag)
atom_modify map array
# setting mass, mag. moments, and interactions for bcc iron
# (mass not necessary for fixed lattice calculation)
read_data initial.iron_spin
mass 1 55.845
pair_style spin/exchange 3.5
pair_coeff * * exchange 3.4 0.02726 0.2171 1.841
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 anisotropy 0.0001 1.0 0.0 0.0
fix_modify 1 energy yes
fix 3 all neb/spin 1.0
timestep 0.0001
thermo 100
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magx equal c_out_mag[1]
variable magy equal c_out_mag[2]
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
thermo 100
thermo_style custom step time v_magx v_magz v_magnorm etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
variable u universe 1 2 3 4
dump 1 all custom 200 dump.$u type x y z c_outsp[1] c_outsp[2] c_outsp[3]
min_style spin
min_modify alpha_damp 1.0 discrete_factor 10.0
neb/spin 1.0e-12 1.0e-12 200000 100000 1000 final final.iron_spin verbose

View File

@ -0,0 +1,82 @@
LAMMPS data file via write_data, version 4 Jan 2019, timestep = 0
32 atoms
1 atom types
0.0000000000000000e+00 1.1465999999999999e+01 xlo xhi
0.0000000000000000e+00 1.1465999999999999e+01 ylo yhi
0.0000000000000000e+00 2.8664999999999998e+00 zlo zhi
Masses
1 55.845
Atoms # spin
1 1 2.2000000000000002e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
2 1 2.2000000000000002e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
3 1 2.2000000000000002e+00 2.8664999999999998e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
4 1 2.2000000000000002e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
5 1 2.2000000000000002e+00 5.7329999999999997e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
6 1 2.2000000000000002e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
7 1 2.2000000000000002e+00 8.5994999999999990e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
8 1 2.2000000000000002e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
9 1 2.2000000000000002e+00 0.0000000000000000e+00 2.8664999999999998e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
11 1 2.2000000000000002e+00 2.8664999999999998e+00 2.8664999999999998e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
13 1 2.2000000000000002e+00 5.7329999999999997e+00 2.8664999999999998e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
15 1 2.2000000000000002e+00 8.5994999999999990e+00 2.8664999999999998e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
10 1 2.2000000000000002e+00 1.4332499999999999e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
12 1 2.2000000000000002e+00 4.2997499999999995e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
14 1 2.2000000000000002e+00 7.1662499999999998e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
16 1 2.2000000000000002e+00 1.0032750000000000e+01 4.2997499999999995e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
17 1 2.2000000000000002e+00 0.0000000000000000e+00 5.7329999999999997e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
18 1 2.2000000000000002e+00 1.4332499999999999e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
19 1 2.2000000000000002e+00 2.8664999999999998e+00 5.7329999999999997e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
20 1 2.2000000000000002e+00 4.2997499999999995e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
21 1 2.2000000000000002e+00 5.7329999999999997e+00 5.7329999999999997e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
22 1 2.2000000000000002e+00 7.1662499999999998e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
23 1 2.2000000000000002e+00 8.5994999999999990e+00 5.7329999999999997e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
24 1 2.2000000000000002e+00 1.0032750000000000e+01 7.1662499999999998e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
25 1 2.2000000000000002e+00 0.0000000000000000e+00 8.5994999999999990e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
27 1 2.2000000000000002e+00 2.8664999999999998e+00 8.5994999999999990e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
29 1 2.2000000000000002e+00 5.7329999999999997e+00 8.5994999999999990e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
31 1 2.2000000000000002e+00 8.5994999999999990e+00 8.5994999999999990e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
26 1 2.2000000000000002e+00 1.4332499999999999e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
28 1 2.2000000000000002e+00 4.2997499999999995e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
30 1 2.2000000000000002e+00 7.1662499999999998e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
32 1 2.2000000000000002e+00 1.0032750000000000e+01 1.0032750000000000e+01 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
Velocities
1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
11 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
12 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00

View File

@ -0,0 +1,401 @@
400
1 2.5 0.0 0.0 0.0 0.0 0.0 1.0
2 2.5 0.0 3.0 0.0 0.0 0.0 1.0
3 2.5 0.0 6.0 0.0 0.0 0.0 1.0
4 2.5 0.0 9.0 0.0 0.0 0.0 1.0
5 2.5 0.0 12.0 0.0 0.0 0.0 1.0
6 2.5 0.0 15.0 0.0 0.0 0.0 1.0
7 2.5 0.0 18.0 0.0 0.0 0.0 1.0
8 2.5 0.0 21.0 0.0 0.0 0.0 1.0
9 2.5 0.0 24.0 0.0 0.0 0.0 1.0
10 2.5 0.0 27.0 0.0 0.0 0.0 1.0
11 2.5 0.0 30.0 0.0 0.0 0.0 1.0
12 2.5 0.0 33.0 0.0 0.0 0.0 1.0
13 2.5 0.0 36.0 0.0 0.0 0.0 1.0
14 2.5 0.0 39.0 0.0 0.0 0.0 1.0
15 2.5 0.0 42.0 0.0 0.0 0.0 1.0
16 2.5 0.0 45.0 0.0 0.0 0.0 1.0
17 2.5 0.0 48.0 0.0 0.0 0.0 1.0
18 2.5 0.0 51.0 0.0 0.0 0.0 1.0
19 2.5 0.0 54.0 0.0 0.0 0.0 1.0
20 2.5 0.0 57.0 0.0 0.0 0.0 1.0
21 2.5 3.0 0.0 0.0 0.0 0.0 1.0
22 2.5 3.0 3.0 0.0 0.0 0.0 1.0
23 2.5 3.0 6.0 0.0 0.0 0.0 1.0
24 2.5 3.0 9.0 0.0 0.0 0.0 1.0
25 2.5 3.0 12.0 0.0 0.0 0.0 1.0
26 2.5 3.0 15.0 0.0 0.0 0.0 1.0
27 2.5 3.0 18.0 0.0 0.0 0.0 1.0
28 2.5 3.0 21.0 0.0 0.0 0.0 1.0
29 2.5 3.0 24.0 0.0 0.0 0.0 1.0
30 2.5 3.0 27.0 0.0 0.0 0.0 1.0
31 2.5 3.0 30.0 0.0 0.0 0.0 1.0
32 2.5 3.0 33.0 0.0 0.0 0.0 1.0
33 2.5 3.0 36.0 0.0 0.0 0.0 1.0
34 2.5 3.0 39.0 0.0 0.0 0.0 1.0
35 2.5 3.0 42.0 0.0 0.0 0.0 1.0
36 2.5 3.0 45.0 0.0 0.0 0.0 1.0
37 2.5 3.0 48.0 0.0 0.0 0.0 1.0
38 2.5 3.0 51.0 0.0 0.0 0.0 1.0
39 2.5 3.0 54.0 0.0 0.0 0.0 1.0
40 2.5 3.0 57.0 0.0 0.0 0.0 1.0
41 2.5 6.0 0.0 0.0 0.0 0.0 1.0
42 2.5 6.0 3.0 0.0 0.0 0.0 1.0
43 2.5 6.0 6.0 0.0 0.0 0.0 1.0
44 2.5 6.0 9.0 0.0 0.0 0.0 1.0
45 2.5 6.0 12.0 0.0 0.0 0.0 1.0
46 2.5 6.0 15.0 0.0 0.0 0.0 1.0
47 2.5 6.0 18.0 0.0 0.0 0.0 1.0
48 2.5 6.0 21.0 0.0 0.0 0.0 1.0
49 2.5 6.0 24.0 0.0 0.0 0.0 1.0
50 2.5 6.0 27.0 0.0 0.0 0.0 1.0
51 2.5 6.0 30.0 0.0 0.0 0.0 1.0
52 2.5 6.0 33.0 0.0 0.0 0.0 1.0
53 2.5 6.0 36.0 0.0 0.0 0.0 1.0
54 2.5 6.0 39.0 0.0 0.0 0.0 1.0
55 2.5 6.0 42.0 0.0 0.0 0.0 1.0
56 2.5 6.0 45.0 0.0 0.0 0.0 1.0
57 2.5 6.0 48.0 0.0 0.0 0.0 1.0
58 2.5 6.0 51.0 0.0 0.0 0.0 1.0
59 2.5 6.0 54.0 0.0 0.0 0.0 1.0
60 2.5 6.0 57.0 0.0 0.0 0.0 1.0
61 2.5 9.0 0.0 0.0 0.0 0.0 1.0
62 2.5 9.0 3.0 0.0 0.0 0.0 1.0
63 2.5 9.0 6.0 0.0 0.0 0.0 1.0
64 2.5 9.0 9.0 0.0 0.0 0.0 1.0
65 2.5 9.0 12.0 0.0 0.0 0.0 1.0
66 2.5 9.0 15.0 0.0 0.0 0.0 1.0
67 2.5 9.0 18.0 0.0 0.0 0.0 1.0
68 2.5 9.0 21.0 0.0 0.0 0.0 1.0
69 2.5 9.0 24.0 0.0 0.0 0.0 1.0
70 2.5 9.0 27.0 0.0 0.0 0.0 1.0
71 2.5 9.0 30.0 0.0 0.0 0.0 1.0
72 2.5 9.0 33.0 0.0 0.0 0.0 1.0
73 2.5 9.0 36.0 0.0 0.0 0.0 1.0
74 2.5 9.0 39.0 0.0 0.0 0.0 1.0
75 2.5 9.0 42.0 0.0 0.0 0.0 1.0
76 2.5 9.0 45.0 0.0 0.0 0.0 1.0
77 2.5 9.0 48.0 0.0 0.0 0.0 1.0
78 2.5 9.0 51.0 0.0 0.0 0.0 1.0
79 2.5 9.0 54.0 0.0 0.0 0.0 1.0
80 2.5 9.0 57.0 0.0 0.0 0.0 1.0
81 2.5 12.0 0.0 0.0 0.0 0.0 1.0
82 2.5 12.0 3.0 0.0 0.0 0.0 1.0
83 2.5 12.0 6.0 0.0 0.0 0.0 1.0
84 2.5 12.0 9.0 0.0 0.0 0.0 1.0
85 2.5 12.0 12.0 0.0 0.0 0.0 1.0
86 2.5 12.0 15.0 0.0 0.0 0.0 1.0
87 2.5 12.0 18.0 0.0 0.0 0.0 1.0
88 2.5 12.0 21.0 0.0 0.0 0.0 1.0
89 2.5 12.0 24.0 0.0 0.0 0.0 1.0
90 2.5 12.0 27.0 0.0 0.0 0.0 1.0
91 2.5 12.0 30.0 0.0 0.0 0.0 1.0
92 2.5 12.0 33.0 0.0 0.0 0.0 1.0
93 2.5 12.0 36.0 0.0 0.0 0.0 1.0
94 2.5 12.0 39.0 0.0 0.0 0.0 1.0
95 2.5 12.0 42.0 0.0 0.0 0.0 1.0
96 2.5 12.0 45.0 0.0 0.0 0.0 1.0
97 2.5 12.0 48.0 0.0 0.0 0.0 1.0
98 2.5 12.0 51.0 0.0 0.0 0.0 1.0
99 2.5 12.0 54.0 0.0 0.0 0.0 1.0
100 2.5 12.0 57.0 0.0 0.0 0.0 1.0
101 2.5 15.0 0.0 0.0 0.0 0.0 1.0
102 2.5 15.0 3.0 0.0 0.0 0.0 1.0
103 2.5 15.0 6.0 0.0 0.0 0.0 1.0
104 2.5 15.0 9.0 0.0 0.0 0.0 1.0
105 2.5 15.0 12.0 0.0 0.0 0.0 1.0
106 2.5 15.0 15.0 0.0 0.0 0.0 1.0
107 2.5 15.0 18.0 0.0 0.0 0.0 1.0
108 2.5 15.0 21.0 0.0 0.0 0.0 1.0
109 2.5 15.0 24.0 0.0 0.0 0.0 1.0
110 2.5 15.0 27.0 0.0 0.0 0.0 1.0
111 2.5 15.0 30.0 0.0 0.0 0.0 1.0
112 2.5 15.0 33.0 0.0 0.0 0.0 1.0
113 2.5 15.0 36.0 0.0 0.0 0.0 1.0
114 2.5 15.0 39.0 0.0 0.0 0.0 1.0
115 2.5 15.0 42.0 0.0 0.0 0.0 1.0
116 2.5 15.0 45.0 0.0 0.0 0.0 1.0
117 2.5 15.0 48.0 0.0 0.0 0.0 1.0
118 2.5 15.0 51.0 0.0 0.0 0.0 1.0
119 2.5 15.0 54.0 0.0 0.0 0.0 1.0
120 2.5 15.0 57.0 0.0 0.0 0.0 1.0
121 2.5 18.0 0.0 0.0 0.0 0.0 1.0
122 2.5 18.0 3.0 0.0 0.0 0.0 1.0
123 2.5 18.0 6.0 0.0 0.0 0.0 1.0
124 2.5 18.0 9.0 0.0 0.0 0.0 1.0
125 2.5 18.0 12.0 0.0 0.0 0.0 1.0
126 2.5 18.0 15.0 0.0 0.0 0.0 1.0
127 2.5 18.0 18.0 0.0 0.0 0.0 1.0
128 2.5 18.0 21.0 0.0 0.0 0.0 1.0
129 2.5 18.0 24.0 0.0 0.0 0.0 1.0
130 2.5 18.0 27.0 0.0 0.0 0.0 1.0
131 2.5 18.0 30.0 0.0 0.0 0.0 1.0
132 2.5 18.0 33.0 0.0 0.0 0.0 1.0
133 2.5 18.0 36.0 0.0 0.0 0.0 1.0
134 2.5 18.0 39.0 0.0 0.0 0.0 1.0
135 2.5 18.0 42.0 0.0 0.0 0.0 1.0
136 2.5 18.0 45.0 0.0 0.0 0.0 1.0
137 2.5 18.0 48.0 0.0 0.0 0.0 1.0
138 2.5 18.0 51.0 0.0 0.0 0.0 1.0
139 2.5 18.0 54.0 0.0 0.0 0.0 1.0
140 2.5 18.0 57.0 0.0 0.0 0.0 1.0
141 2.5 21.0 0.0 0.0 0.0 0.0 1.0
142 2.5 21.0 3.0 0.0 0.0 0.0 1.0
143 2.5 21.0 6.0 0.0 0.0 0.0 1.0
144 2.5 21.0 9.0 0.0 0.0 0.0 1.0
145 2.5 21.0 12.0 0.0 0.0 0.0 1.0
146 2.5 21.0 15.0 0.0 0.0 0.0 1.0
147 2.5 21.0 18.0 0.0 0.0 0.0 1.0
148 2.5 21.0 21.0 0.0 0.0 0.0 1.0
149 2.5 21.0 24.0 0.0 0.0 0.0 1.0
150 2.5 21.0 27.0 0.0 0.0 0.0 1.0
151 2.5 21.0 30.0 0.0 0.0 0.0 1.0
152 2.5 21.0 33.0 0.0 0.0 0.0 1.0
153 2.5 21.0 36.0 0.0 0.0 0.0 1.0
154 2.5 21.0 39.0 0.0 0.0 0.0 1.0
155 2.5 21.0 42.0 0.0 0.0 0.0 1.0
156 2.5 21.0 45.0 0.0 0.0 0.0 1.0
157 2.5 21.0 48.0 0.0 0.0 0.0 1.0
158 2.5 21.0 51.0 0.0 0.0 0.0 1.0
159 2.5 21.0 54.0 0.0 0.0 0.0 1.0
160 2.5 21.0 57.0 0.0 0.0 0.0 1.0
161 2.5 24.0 0.0 0.0 0.0 0.0 1.0
162 2.5 24.0 3.0 0.0 0.0 0.0 1.0
163 2.5 24.0 6.0 0.0 0.0 0.0 1.0
164 2.5 24.0 9.0 0.0 0.0 0.0 1.0
165 2.5 24.0 12.0 0.0 0.0 0.0 1.0
166 2.5 24.0 15.0 0.0 0.0 0.0 1.0
167 2.5 24.0 18.0 0.0 0.0 0.0 1.0
168 2.5 24.0 21.0 0.0 0.0 0.0 1.0
169 2.5 24.0 24.0 0.0 0.0 0.0 1.0
170 2.5 24.0 27.0 0.0 0.0 0.0 1.0
171 2.5 24.0 30.0 0.0 0.0 0.0 1.0
172 2.5 24.0 33.0 0.0 0.0 0.0 1.0
173 2.5 24.0 36.0 0.0 0.0 0.0 1.0
174 2.5 24.0 39.0 0.0 0.0 0.0 1.0
175 2.5 24.0 42.0 0.0 0.0 0.0 1.0
176 2.5 24.0 45.0 0.0 0.0 0.0 1.0
177 2.5 24.0 48.0 0.0 0.0 0.0 1.0
178 2.5 24.0 51.0 0.0 0.0 0.0 1.0
179 2.5 24.0 54.0 0.0 0.0 0.0 1.0
180 2.5 24.0 57.0 0.0 0.0 0.0 1.0
181 2.5 27.0 0.0 0.0 0.0 0.0 1.0
182 2.5 27.0 3.0 0.0 0.0 0.0 1.0
183 2.5 27.0 6.0 0.0 0.0 0.0 1.0
184 2.5 27.0 9.0 0.0 0.0 0.0 1.0
185 2.5 27.0 12.0 0.0 0.0 0.0 1.0
186 2.5 27.0 15.0 0.0 0.0 0.0 1.0
187 2.5 27.0 18.0 0.0 0.0 0.0 1.0
188 2.5 27.0 21.0 0.0 0.0 0.0 1.0
189 2.5 27.0 24.0 0.0 0.0 0.0 1.0
190 2.5 27.0 27.0 0.0 0.0 0.0 1.0
191 2.5 27.0 30.0 0.0 0.0 0.0 1.0
192 2.5 27.0 33.0 0.0 0.0 0.0 1.0
193 2.5 27.0 36.0 0.0 0.0 0.0 1.0
194 2.5 27.0 39.0 0.0 0.0 0.0 1.0
195 2.5 27.0 42.0 0.0 0.0 0.0 1.0
196 2.5 27.0 45.0 0.0 0.0 0.0 1.0
197 2.5 27.0 48.0 0.0 0.0 0.0 1.0
198 2.5 27.0 51.0 0.0 0.0 0.0 1.0
199 2.5 27.0 54.0 0.0 0.0 0.0 1.0
200 2.5 27.0 57.0 0.0 0.0 0.0 1.0
201 2.5 30.0 0.0 0.0 0.0 0.0 1.0
202 2.5 30.0 3.0 0.0 0.0 0.0 1.0
203 2.5 30.0 6.0 0.0 0.0 0.0 1.0
204 2.5 30.0 9.0 0.0 0.0 0.0 1.0
205 2.5 30.0 12.0 0.0 0.0 0.0 1.0
206 2.5 30.0 15.0 0.0 0.0 0.0 1.0
207 2.5 30.0 18.0 0.0 0.0 0.0 1.0
208 2.5 30.0 21.0 0.0 0.0 0.0 1.0
209 2.5 30.0 24.0 0.0 0.0 0.0 1.0
210 2.5 30.0 27.0 0.0 0.0 0.0 1.0
211 2.5 30.0 30.0 0.0 0.0 0.0 1.0
212 2.5 30.0 33.0 0.0 0.0 0.0 1.0
213 2.5 30.0 36.0 0.0 0.0 0.0 1.0
214 2.5 30.0 39.0 0.0 0.0 0.0 1.0
215 2.5 30.0 42.0 0.0 0.0 0.0 1.0
216 2.5 30.0 45.0 0.0 0.0 0.0 1.0
217 2.5 30.0 48.0 0.0 0.0 0.0 1.0
218 2.5 30.0 51.0 0.0 0.0 0.0 1.0
219 2.5 30.0 54.0 0.0 0.0 0.0 1.0
220 2.5 30.0 57.0 0.0 0.0 0.0 1.0
221 2.5 33.0 0.0 0.0 0.0 0.0 1.0
222 2.5 33.0 3.0 0.0 0.0 0.0 1.0
223 2.5 33.0 6.0 0.0 0.0 0.0 1.0
224 2.5 33.0 9.0 0.0 0.0 0.0 1.0
225 2.5 33.0 12.0 0.0 0.0 0.0 1.0
226 2.5 33.0 15.0 0.0 0.0 0.0 1.0
227 2.5 33.0 18.0 0.0 0.0 0.0 1.0
228 2.5 33.0 21.0 0.0 0.0 0.0 1.0
229 2.5 33.0 24.0 0.0 0.0 0.0 1.0
230 2.5 33.0 27.0 0.0 0.0 0.0 1.0
231 2.5 33.0 30.0 0.0 0.0 0.0 1.0
232 2.5 33.0 33.0 0.0 0.0 0.0 1.0
233 2.5 33.0 36.0 0.0 0.0 0.0 1.0
234 2.5 33.0 39.0 0.0 0.0 0.0 1.0
235 2.5 33.0 42.0 0.0 0.0 0.0 1.0
236 2.5 33.0 45.0 0.0 0.0 0.0 1.0
237 2.5 33.0 48.0 0.0 0.0 0.0 1.0
238 2.5 33.0 51.0 0.0 0.0 0.0 1.0
239 2.5 33.0 54.0 0.0 0.0 0.0 1.0
240 2.5 33.0 57.0 0.0 0.0 0.0 1.0
241 2.5 36.0 0.0 0.0 0.0 0.0 1.0
242 2.5 36.0 3.0 0.0 0.0 0.0 1.0
243 2.5 36.0 6.0 0.0 0.0 0.0 1.0
244 2.5 36.0 9.0 0.0 0.0 0.0 1.0
245 2.5 36.0 12.0 0.0 0.0 0.0 1.0
246 2.5 36.0 15.0 0.0 0.0 0.0 1.0
247 2.5 36.0 18.0 0.0 0.0 0.0 1.0
248 2.5 36.0 21.0 0.0 0.0 0.0 1.0
249 2.5 36.0 24.0 0.0 0.0 0.0 1.0
250 2.5 36.0 27.0 0.0 0.0 0.0 1.0
251 2.5 36.0 30.0 0.0 0.0 0.0 1.0
252 2.5 36.0 33.0 0.0 0.0 0.0 1.0
253 2.5 36.0 36.0 0.0 0.0 0.0 1.0
254 2.5 36.0 39.0 0.0 0.0 0.0 1.0
255 2.5 36.0 42.0 0.0 0.0 0.0 1.0
256 2.5 36.0 45.0 0.0 0.0 0.0 1.0
257 2.5 36.0 48.0 0.0 0.0 0.0 1.0
258 2.5 36.0 51.0 0.0 0.0 0.0 1.0
259 2.5 36.0 54.0 0.0 0.0 0.0 1.0
260 2.5 36.0 57.0 0.0 0.0 0.0 1.0
261 2.5 39.0 0.0 0.0 0.0 0.0 1.0
262 2.5 39.0 3.0 0.0 0.0 0.0 1.0
263 2.5 39.0 6.0 0.0 0.0 0.0 1.0
264 2.5 39.0 9.0 0.0 0.0 0.0 1.0
265 2.5 39.0 12.0 0.0 0.0 0.0 1.0
266 2.5 39.0 15.0 0.0 0.0 0.0 1.0
267 2.5 39.0 18.0 0.0 0.0 0.0 1.0
268 2.5 39.0 21.0 0.0 0.0 0.0 1.0
269 2.5 39.0 24.0 0.0 0.0 0.0 1.0
270 2.5 39.0 27.0 0.0 0.0 0.0 1.0
271 2.5 39.0 30.0 0.0 0.0 0.0 1.0
272 2.5 39.0 33.0 0.0 0.0 0.0 1.0
273 2.5 39.0 36.0 0.0 0.0 0.0 1.0
274 2.5 39.0 39.0 0.0 0.0 0.0 1.0
275 2.5 39.0 42.0 0.0 0.0 0.0 1.0
276 2.5 39.0 45.0 0.0 0.0 0.0 1.0
277 2.5 39.0 48.0 0.0 0.0 0.0 1.0
278 2.5 39.0 51.0 0.0 0.0 0.0 1.0
279 2.5 39.0 54.0 0.0 0.0 0.0 1.0
280 2.5 39.0 57.0 0.0 0.0 0.0 1.0
281 2.5 42.0 0.0 0.0 0.0 0.0 1.0
282 2.5 42.0 3.0 0.0 0.0 0.0 1.0
283 2.5 42.0 6.0 0.0 0.0 0.0 1.0
284 2.5 42.0 9.0 0.0 0.0 0.0 1.0
285 2.5 42.0 12.0 0.0 0.0 0.0 1.0
286 2.5 42.0 15.0 0.0 0.0 0.0 1.0
287 2.5 42.0 18.0 0.0 0.0 0.0 1.0
288 2.5 42.0 21.0 0.0 0.0 0.0 1.0
289 2.5 42.0 24.0 0.0 0.0 0.0 1.0
290 2.5 42.0 27.0 0.0 0.0 0.0 1.0
291 2.5 42.0 30.0 0.0 0.0 0.0 1.0
292 2.5 42.0 33.0 0.0 0.0 0.0 1.0
293 2.5 42.0 36.0 0.0 0.0 0.0 1.0
294 2.5 42.0 39.0 0.0 0.0 0.0 1.0
295 2.5 42.0 42.0 0.0 0.0 0.0 1.0
296 2.5 42.0 45.0 0.0 0.0 0.0 1.0
297 2.5 42.0 48.0 0.0 0.0 0.0 1.0
298 2.5 42.0 51.0 0.0 0.0 0.0 1.0
299 2.5 42.0 54.0 0.0 0.0 0.0 1.0
300 2.5 42.0 57.0 0.0 0.0 0.0 1.0
301 2.5 45.0 0.0 0.0 0.0 0.0 1.0
302 2.5 45.0 3.0 0.0 0.0 0.0 1.0
303 2.5 45.0 6.0 0.0 0.0 0.0 1.0
304 2.5 45.0 9.0 0.0 0.0 0.0 1.0
305 2.5 45.0 12.0 0.0 0.0 0.0 1.0
306 2.5 45.0 15.0 0.0 0.0 0.0 1.0
307 2.5 45.0 18.0 0.0 0.0 0.0 1.0
308 2.5 45.0 21.0 0.0 0.0 0.0 1.0
309 2.5 45.0 24.0 0.0 0.0 0.0 1.0
310 2.5 45.0 27.0 0.0 0.0 0.0 1.0
311 2.5 45.0 30.0 0.0 0.0 0.0 1.0
312 2.5 45.0 33.0 0.0 0.0 0.0 1.0
313 2.5 45.0 36.0 0.0 0.0 0.0 1.0
314 2.5 45.0 39.0 0.0 0.0 0.0 1.0
315 2.5 45.0 42.0 0.0 0.0 0.0 1.0
316 2.5 45.0 45.0 0.0 0.0 0.0 1.0
317 2.5 45.0 48.0 0.0 0.0 0.0 1.0
318 2.5 45.0 51.0 0.0 0.0 0.0 1.0
319 2.5 45.0 54.0 0.0 0.0 0.0 1.0
320 2.5 45.0 57.0 0.0 0.0 0.0 1.0
321 2.5 48.0 0.0 0.0 0.0 0.0 1.0
322 2.5 48.0 3.0 0.0 0.0 0.0 1.0
323 2.5 48.0 6.0 0.0 0.0 0.0 1.0
324 2.5 48.0 9.0 0.0 0.0 0.0 1.0
325 2.5 48.0 12.0 0.0 0.0 0.0 1.0
326 2.5 48.0 15.0 0.0 0.0 0.0 1.0
327 2.5 48.0 18.0 0.0 0.0 0.0 1.0
328 2.5 48.0 21.0 0.0 0.0 0.0 1.0
329 2.5 48.0 24.0 0.0 0.0 0.0 1.0
330 2.5 48.0 27.0 0.0 0.0 0.0 1.0
331 2.5 48.0 30.0 0.0 0.0 0.0 1.0
332 2.5 48.0 33.0 0.0 0.0 0.0 1.0
333 2.5 48.0 36.0 0.0 0.0 0.0 1.0
334 2.5 48.0 39.0 0.0 0.0 0.0 1.0
335 2.5 48.0 42.0 0.0 0.0 0.0 1.0
336 2.5 48.0 45.0 0.0 0.0 0.0 1.0
337 2.5 48.0 48.0 0.0 0.0 0.0 1.0
338 2.5 48.0 51.0 0.0 0.0 0.0 1.0
339 2.5 48.0 54.0 0.0 0.0 0.0 1.0
340 2.5 48.0 57.0 0.0 0.0 0.0 1.0
341 2.5 51.0 0.0 0.0 0.0 0.0 1.0
342 2.5 51.0 3.0 0.0 0.0 0.0 1.0
343 2.5 51.0 6.0 0.0 0.0 0.0 1.0
344 2.5 51.0 9.0 0.0 0.0 0.0 1.0
345 2.5 51.0 12.0 0.0 0.0 0.0 1.0
346 2.5 51.0 15.0 0.0 0.0 0.0 1.0
347 2.5 51.0 18.0 0.0 0.0 0.0 1.0
348 2.5 51.0 21.0 0.0 0.0 0.0 1.0
349 2.5 51.0 24.0 0.0 0.0 0.0 1.0
350 2.5 51.0 27.0 0.0 0.0 0.0 1.0
351 2.5 51.0 30.0 0.0 0.0 0.0 1.0
352 2.5 51.0 33.0 0.0 0.0 0.0 1.0
353 2.5 51.0 36.0 0.0 0.0 0.0 1.0
354 2.5 51.0 39.0 0.0 0.0 0.0 1.0
355 2.5 51.0 42.0 0.0 0.0 0.0 1.0
356 2.5 51.0 45.0 0.0 0.0 0.0 1.0
357 2.5 51.0 48.0 0.0 0.0 0.0 1.0
358 2.5 51.0 51.0 0.0 0.0 0.0 1.0
359 2.5 51.0 54.0 0.0 0.0 0.0 1.0
360 2.5 51.0 57.0 0.0 0.0 0.0 1.0
361 2.5 54.0 0.0 0.0 0.0 0.0 1.0
362 2.5 54.0 3.0 0.0 0.0 0.0 1.0
363 2.5 54.0 6.0 0.0 0.0 0.0 1.0
364 2.5 54.0 9.0 0.0 0.0 0.0 1.0
365 2.5 54.0 12.0 0.0 0.0 0.0 1.0
366 2.5 54.0 15.0 0.0 0.0 0.0 1.0
367 2.5 54.0 18.0 0.0 0.0 0.0 1.0
368 2.5 54.0 21.0 0.0 0.0 0.0 1.0
369 2.5 54.0 24.0 0.0 0.0 0.0 1.0
370 2.5 54.0 27.0 0.0 0.0 0.0 1.0
371 2.5 54.0 30.0 0.0 0.0 0.0 1.0
372 2.5 54.0 33.0 0.0 0.0 0.0 1.0
373 2.5 54.0 36.0 0.0 0.0 0.0 1.0
374 2.5 54.0 39.0 0.0 0.0 0.0 1.0
375 2.5 54.0 42.0 0.0 0.0 0.0 1.0
376 2.5 54.0 45.0 0.0 0.0 0.0 1.0
377 2.5 54.0 48.0 0.0 0.0 0.0 1.0
378 2.5 54.0 51.0 0.0 0.0 0.0 1.0
379 2.5 54.0 54.0 0.0 0.0 0.0 1.0
380 2.5 54.0 57.0 0.0 0.0 0.0 1.0
381 2.5 57.0 0.0 0.0 0.0 0.0 1.0
382 2.5 57.0 3.0 0.0 0.0 0.0 1.0
383 2.5 57.0 6.0 0.0 0.0 0.0 1.0
384 2.5 57.0 9.0 0.0 0.0 0.0 1.0
385 2.5 57.0 12.0 0.0 0.0 0.0 1.0
386 2.5 57.0 15.0 0.0 0.0 0.0 1.0
387 2.5 57.0 18.0 0.0 0.0 0.0 1.0
388 2.5 57.0 21.0 0.0 0.0 0.0 1.0
389 2.5 57.0 24.0 0.0 0.0 0.0 1.0
390 2.5 57.0 27.0 0.0 0.0 0.0 1.0
391 2.5 57.0 30.0 0.0 0.0 0.0 1.0
392 2.5 57.0 33.0 0.0 0.0 0.0 1.0
393 2.5 57.0 36.0 0.0 0.0 0.0 1.0
394 2.5 57.0 39.0 0.0 0.0 0.0 1.0
395 2.5 57.0 42.0 0.0 0.0 0.0 1.0
396 2.5 57.0 45.0 0.0 0.0 0.0 1.0
397 2.5 57.0 48.0 0.0 0.0 0.0 1.0
398 2.5 57.0 51.0 0.0 0.0 0.0 1.0
399 2.5 57.0 54.0 0.0 0.0 0.0 1.0
400 2.5 57.0 57.0 0.0 0.0 0.0 1.0

View File

@ -0,0 +1,47 @@
units metal
dimension 3
boundary p p f
atom_style spin
# necessary for the serial algorithm (sametag)
atom_modify map array
# setting mass, mag. moments, and interactions for bcc iron
# (mass not necessary for fixed lattice calculation)
read_data initial.skyrmion
mass 1 55.845
pair_style hybrid/overlay spin/exchange 3.1 spin/dmi 3.1
pair_coeff * * spin/exchange exchange 3.1 0.01593 0.06626915552 1.211
pair_coeff * * spin/dmi dmi 3.1 0.12e-03 0.0 0.0 1.0
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 anisotropy 5e-05 0.0 0.0 1.0
fix_modify 1 energy yes
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all neb/spin 1.0
timestep 0.0001
compute out_mag all spin
variable magx equal c_out_mag[1]
variable magy equal c_out_mag[2]
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
thermo 100
thermo_style custom step time v_magx v_magz v_magnorm etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
variable u universe 1 2 3 4
dump 1 all custom 1 dump.$u type x y z c_outsp[1] c_outsp[2] c_outsp[3]
min_style spin
min_modify alpha_damp 1.0 discrete_factor 10.0
neb/spin 1.0e-9 1.0e-9 10000 10000 10 final final.skyrmion

View File

@ -0,0 +1,818 @@
LAMMPS data file via write_data, version 28 Feb 2019, timestep = 6
400 atoms
1 atom types
0.0000000000000000e+00 6.0000000000000000e+01 xlo xhi
0.0000000000000000e+00 6.0000000000000000e+01 ylo yhi
0.0000000000000000e+00 3.0000000000000000e+00 zlo zhi
Masses
1 55.845
Atoms # spin
1 1 2.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -3.9693242391277868e-03 -3.9693242391277929e-03 9.9998424434096433e-01 0 0 0
21 1 2.5000000000000000e+00 3.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.1868011343002482e-02 -4.8145058779812530e-03 9.9991798205648519e-01 0 0 0
41 1 2.5000000000000000e+00 6.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.9561861499557517e-02 -6.5828744882500201e-03 9.9978697697966845e-01 0 0 0
61 1 2.5000000000000000e+00 9.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.6644762521588476e-02 -9.3989438861432541e-03 9.9960077855311480e-01 0 0 0
81 1 2.5000000000000000e+00 1.2000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 -3.2364838887478299e-02 -1.3362272507461704e-02 9.9938679542868891e-01 0 0 0
101 1 2.5000000000000000e+00 1.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 -3.5634992015801843e-02 -1.8429703183501425e-02 9.9919492261750509e-01 0 0 0
121 1 2.5000000000000000e+00 1.8000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 -3.5235119566844247e-02 -2.4270277420221115e-02 9.9908430073895971e-01 0 0 0
141 1 2.5000000000000000e+00 2.1000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 -3.0237916900163156e-02 -3.0163850736159143e-02 9.9908748890690546e-01 0 0 0
161 1 2.5000000000000000e+00 2.4000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 -2.0551704657275890e-02 -3.5058787503171429e-02 9.9917391321755789e-01 0 0 0
181 1 2.5000000000000000e+00 2.7000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 -7.2971667669136115e-03 -3.7860607272964066e-02 9.9925638640646097e-01 0 0 0
201 1 2.5000000000000000e+00 3.0000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 7.2971667669136028e-03 -3.7860607272964066e-02 9.9925638640646086e-01 0 0 0
221 1 2.5000000000000000e+00 3.3000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 2.0551704657275901e-02 -3.5058787503171443e-02 9.9917391321755789e-01 0 0 0
241 1 2.5000000000000000e+00 3.6000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 3.0237916900163156e-02 -3.0163850736159153e-02 9.9908748890690535e-01 0 0 0
261 1 2.5000000000000000e+00 3.9000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 3.5235119566844234e-02 -2.4270277420221108e-02 9.9908430073895960e-01 0 0 0
281 1 2.5000000000000000e+00 4.2000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 3.5634992015801829e-02 -1.8429703183501414e-02 9.9919492261750498e-01 0 0 0
301 1 2.5000000000000000e+00 4.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 3.2364838887478306e-02 -1.3362272507461704e-02 9.9938679542868891e-01 0 0 0
321 1 2.5000000000000000e+00 4.8000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 2.6644762521588494e-02 -9.3989438861432611e-03 9.9960077855311491e-01 0 0 0
341 1 2.5000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 1.9561861499557517e-02 -6.5828744882500201e-03 9.9978697697966856e-01 0 0 0
361 1 2.5000000000000000e+00 5.4000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 1.1868011343002482e-02 -4.8145058779812547e-03 9.9991798205648508e-01 0 0 0
381 1 2.5000000000000000e+00 5.7000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 3.9693242391277929e-03 -3.9693242391277937e-03 9.9998424434096445e-01 0 0 0
2 1 2.5000000000000000e+00 0.0000000000000000e+00 3.0000000000000000e+00 0.0000000000000000e+00 -4.8145058779812512e-03 -1.1868011343002475e-02 9.9991798205648519e-01 0 0 0
22 1 2.5000000000000000e+00 3.0000000000000000e+00 3.0000000000000000e+00 0.0000000000000000e+00 -1.4489047587394138e-02 -1.4489047587394138e-02 9.9979004545955574e-01 0 0 0
42 1 2.5000000000000000e+00 6.0000000000000000e+00 3.0000000000000000e+00 0.0000000000000000e+00 -2.4184841732588187e-02 -2.0009637034407928e-02 9.9950723251816487e-01 0 0 0
62 1 2.5000000000000000e+00 9.0000000000000000e+00 3.0000000000000000e+00 0.0000000000000000e+00 -3.3534698701154796e-02 -2.8894018478272422e-02 9.9901979944303421e-01 0 0 0
82 1 2.5000000000000000e+00 1.2000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 -4.1631298256624205e-02 -4.1569375222726884e-02 9.9826791095830603e-01 0 0 0
102 1 2.5000000000000000e+00 1.5000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 -4.6947676140268457e-02 -5.8031121465001792e-02 9.9721026100143129e-01 0 0 0
122 1 2.5000000000000000e+00 1.8000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 -4.7535409319668050e-02 -7.7312985281705895e-02 9.9587302763336383e-01 0 0 0
142 1 2.5000000000000000e+00 2.1000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 -4.1653952417990837e-02 -9.7059251840902777e-02 9.9440658177630958e-01 0 0 0
162 1 2.5000000000000000e+00 2.4000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 -2.8752729368399305e-02 -1.1365104497068100e-01 9.9310458690459180e-01 0 0 0
182 1 2.5000000000000000e+00 2.7000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 -1.0293413501576094e-02 -1.2321728304286263e-01 9.9232633079951105e-01 0 0 0
202 1 2.5000000000000000e+00 3.0000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 1.0293413501576086e-02 -1.2321728304286261e-01 9.9232633079951116e-01 0 0 0
222 1 2.5000000000000000e+00 3.3000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 2.8752729368399291e-02 -1.1365104497068100e-01 9.9310458690459180e-01 0 0 0
242 1 2.5000000000000000e+00 3.6000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 4.1653952417990824e-02 -9.7059251840902777e-02 9.9440658177630958e-01 0 0 0
262 1 2.5000000000000000e+00 3.9000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 4.7535409319668057e-02 -7.7312985281705895e-02 9.9587302763336383e-01 0 0 0
282 1 2.5000000000000000e+00 4.2000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 4.6947676140268443e-02 -5.8031121465001792e-02 9.9721026100143140e-01 0 0 0
302 1 2.5000000000000000e+00 4.5000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 4.1631298256624191e-02 -4.1569375222726877e-02 9.9826791095830592e-01 0 0 0
322 1 2.5000000000000000e+00 4.8000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 3.3534698701154809e-02 -2.8894018478272433e-02 9.9901979944303410e-01 0 0 0
342 1 2.5000000000000000e+00 5.1000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 2.4184841732588204e-02 -2.0009637034407945e-02 9.9950723251816487e-01 0 0 0
362 1 2.5000000000000000e+00 5.4000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 1.4489047587394149e-02 -1.4489047587394138e-02 9.9979004545955585e-01 0 0 0
382 1 2.5000000000000000e+00 5.7000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 4.8145058779812547e-03 -1.1868011343002482e-02 9.9991798205648519e-01 0 0 0
3 1 2.5000000000000000e+00 0.0000000000000000e+00 6.0000000000000000e+00 0.0000000000000000e+00 -6.5828744882500158e-03 -1.9561861499557527e-02 9.9978697697966856e-01 0 0 0
23 1 2.5000000000000000e+00 3.0000000000000000e+00 6.0000000000000000e+00 0.0000000000000000e+00 -2.0009637034407932e-02 -2.4184841732588200e-02 9.9950723251816498e-01 0 0 0
43 1 2.5000000000000000e+00 6.0000000000000000e+00 6.0000000000000000e+00 0.0000000000000000e+00 -3.4047077037887570e-02 -3.4047077037887577e-02 9.9884012388887977e-01 0 0 0
63 1 2.5000000000000000e+00 9.0000000000000000e+00 6.0000000000000000e+00 0.0000000000000000e+00 -4.8498220596720307e-02 -5.0241530269051260e-02 9.9755887607457838e-01 0 0 0
83 1 2.5000000000000000e+00 1.2000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 -6.2196104012276265e-02 -7.3954811425103587e-02 9.9532021506285684e-01 0 0 0
103 1 2.5000000000000000e+00 1.5000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 -7.2649992877525826e-02 -1.0567933713226435e-01 9.9174283775491956e-01 0 0 0
123 1 2.5000000000000000e+00 1.8000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 -7.6126593015943808e-02 -1.4398087111736477e-01 9.8664798717073865e-01 0 0 0
143 1 2.5000000000000000e+00 2.1000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 -6.8709104650143085e-02 -1.8428174194944069e-01 9.8046891767268973e-01 0 0 0
163 1 2.5000000000000000e+00 2.4000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 -4.8457456104349643e-02 -2.1884669159068457e-01 9.7455528346405618e-01 0 0 0
183 1 2.5000000000000000e+00 2.7000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 -1.7543173966404597e-02 -2.3902270727461428e-01 9.7085548999544657e-01 0 0 0
203 1 2.5000000000000000e+00 3.0000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 1.7543173966404587e-02 -2.3902270727461422e-01 9.7085548999544646e-01 0 0 0
223 1 2.5000000000000000e+00 3.3000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 4.8457456104349608e-02 -2.1884669159068454e-01 9.7455528346405618e-01 0 0 0
243 1 2.5000000000000000e+00 3.6000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 6.8709104650143044e-02 -1.8428174194944069e-01 9.8046891767268962e-01 0 0 0
263 1 2.5000000000000000e+00 3.9000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 7.6126593015943766e-02 -1.4398087111736474e-01 9.8664798717073865e-01 0 0 0
283 1 2.5000000000000000e+00 4.2000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 7.2649992877525826e-02 -1.0567933713226434e-01 9.9174283775491956e-01 0 0 0
303 1 2.5000000000000000e+00 4.5000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 6.2196104012276258e-02 -7.3954811425103573e-02 9.9532021506285673e-01 0 0 0
323 1 2.5000000000000000e+00 4.8000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 4.8498220596720307e-02 -5.0241530269051260e-02 9.9755887607457838e-01 0 0 0
343 1 2.5000000000000000e+00 5.1000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 3.4047077037887577e-02 -3.4047077037887577e-02 9.9884012388887966e-01 0 0 0
363 1 2.5000000000000000e+00 5.4000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 2.0009637034407942e-02 -2.4184841732588211e-02 9.9950723251816498e-01 0 0 0
383 1 2.5000000000000000e+00 5.7000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 6.5828744882500201e-03 -1.9561861499557531e-02 9.9978697697966856e-01 0 0 0
4 1 2.5000000000000000e+00 0.0000000000000000e+00 9.0000000000000000e+00 0.0000000000000000e+00 -9.3989438861432524e-03 -2.6644762521588497e-02 9.9960077855311480e-01 0 0 0
24 1 2.5000000000000000e+00 3.0000000000000000e+00 9.0000000000000000e+00 0.0000000000000000e+00 -2.8894018478272426e-02 -3.3534698701154803e-02 9.9901979944303410e-01 0 0 0
44 1 2.5000000000000000e+00 6.0000000000000000e+00 9.0000000000000000e+00 0.0000000000000000e+00 -5.0241530269051232e-02 -4.8498220596720286e-02 9.9755887607457827e-01 0 0 0
64 1 2.5000000000000000e+00 9.0000000000000000e+00 9.0000000000000000e+00 0.0000000000000000e+00 -7.3771080474423129e-02 -7.3771080474423115e-02 9.9454293792237669e-01 0 0 0
84 1 2.5000000000000000e+00 1.2000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 -9.8127311868331568e-02 -1.1214098437153223e-01 9.8883539089662387e-01 0 0 0
104 1 2.5000000000000000e+00 1.5000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 -1.1922421797550638e-01 -1.6561310406555055e-01 9.7895755046370747e-01 0 0 0
124 1 2.5000000000000000e+00 1.8000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 -1.2975986317850730e-01 -2.3284022614534144e-01 9.6381938504912923e-01 0 0 0
144 1 2.5000000000000000e+00 2.1000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 -1.2090775615411226e-01 -3.0602867088565672e-01 9.4431338394504205e-01 0 0 0
164 1 2.5000000000000000e+00 2.4000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 -8.7191355151399766e-02 -3.7026717261459724e-01 9.2482424734154478e-01 0 0 0
184 1 2.5000000000000000e+00 2.7000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 -3.1922103301157183e-02 -4.0821375936870385e-01 9.1232806927272614e-01 0 0 0
204 1 2.5000000000000000e+00 3.0000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 3.1922103301157155e-02 -4.0821375936870385e-01 9.1232806927272625e-01 0 0 0
224 1 2.5000000000000000e+00 3.3000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 8.7191355151399724e-02 -3.7026717261459718e-01 9.2482424734154478e-01 0 0 0
244 1 2.5000000000000000e+00 3.6000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 1.2090775615411219e-01 -3.0602867088565661e-01 9.4431338394504194e-01 0 0 0
264 1 2.5000000000000000e+00 3.9000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 1.2975986317850724e-01 -2.3284022614534142e-01 9.6381938504912912e-01 0 0 0
284 1 2.5000000000000000e+00 4.2000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 1.1922421797550635e-01 -1.6561310406555052e-01 9.7895755046370747e-01 0 0 0
304 1 2.5000000000000000e+00 4.5000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 9.8127311868331568e-02 -1.1214098437153228e-01 9.8883539089662398e-01 0 0 0
324 1 2.5000000000000000e+00 4.8000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 7.3771080474423129e-02 -7.3771080474423142e-02 9.9454293792237669e-01 0 0 0
344 1 2.5000000000000000e+00 5.1000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 5.0241530269051253e-02 -4.8498220596720314e-02 9.9755887607457827e-01 0 0 0
364 1 2.5000000000000000e+00 5.4000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 2.8894018478272443e-02 -3.3534698701154816e-02 9.9901979944303410e-01 0 0 0
384 1 2.5000000000000000e+00 5.7000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 9.3989438861432611e-03 -2.6644762521588494e-02 9.9960077855311480e-01 0 0 0
5 1 2.5000000000000000e+00 0.0000000000000000e+00 1.2000000000000000e+01 0.0000000000000000e+00 -1.3362272507461699e-02 -3.2364838887478299e-02 9.9938679542868880e-01 0 0 0
25 1 2.5000000000000000e+00 3.0000000000000000e+00 1.2000000000000000e+01 0.0000000000000000e+00 -4.1569375222726863e-02 -4.1631298256624198e-02 9.9826791095830603e-01 0 0 0
45 1 2.5000000000000000e+00 6.0000000000000000e+00 1.2000000000000000e+01 0.0000000000000000e+00 -7.3954811425103559e-02 -6.2196104012276245e-02 9.9532021506285673e-01 0 0 0
65 1 2.5000000000000000e+00 9.0000000000000000e+00 1.2000000000000000e+01 0.0000000000000000e+00 -1.1214098437153225e-01 -9.8127311868331554e-02 9.8883539089662398e-01 0 0 0
85 1 2.5000000000000000e+00 1.2000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 -1.5508313718777630e-01 -1.5508313718777628e-01 9.7565282817198595e-01 0 0 0
105 1 2.5000000000000000e+00 1.5000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 -1.9646003525323200e-01 -2.3830565311068275e-01 9.5111191257590177e-01 0 0 0
125 1 2.5000000000000000e+00 1.8000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 -2.2234110900479689e-01 -3.4758786972735528e-01 9.1090455266450188e-01 0 0 0
145 1 2.5000000000000000e+00 2.1000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 -2.1357380845070773e-01 -4.7013886220911955e-01 8.5636188529416402e-01 0 0 0
165 1 2.5000000000000000e+00 2.4000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 -1.5692234237038313e-01 -5.7886257432716870e-01 8.0018341554190886e-01 0 0 0
185 1 2.5000000000000000e+00 2.7000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 -5.7920936211537863e-02 -6.4295931380698856e-01 7.6370706814669809e-01 0 0 0
205 1 2.5000000000000000e+00 3.0000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 5.7920936211537793e-02 -6.4295931380698856e-01 7.6370706814669809e-01 0 0 0
225 1 2.5000000000000000e+00 3.3000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 1.5692234237038311e-01 -5.7886257432716881e-01 8.0018341554190908e-01 0 0 0
245 1 2.5000000000000000e+00 3.6000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 2.1357380845070767e-01 -4.7013886220911949e-01 8.5636188529416413e-01 0 0 0
265 1 2.5000000000000000e+00 3.9000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 2.2234110900479689e-01 -3.4758786972735528e-01 9.1090455266450188e-01 0 0 0
285 1 2.5000000000000000e+00 4.2000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 1.9646003525323205e-01 -2.3830565311068283e-01 9.5111191257590177e-01 0 0 0
305 1 2.5000000000000000e+00 4.5000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 1.5508313718777633e-01 -1.5508313718777636e-01 9.7565282817198595e-01 0 0 0
325 1 2.5000000000000000e+00 4.8000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 1.1214098437153229e-01 -9.8127311868331610e-02 9.8883539089662398e-01 0 0 0
345 1 2.5000000000000000e+00 5.1000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 7.3954811425103614e-02 -6.2196104012276265e-02 9.9532021506285684e-01 0 0 0
365 1 2.5000000000000000e+00 5.4000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 4.1569375222726898e-02 -4.1631298256624198e-02 9.9826791095830603e-01 0 0 0
385 1 2.5000000000000000e+00 5.7000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 1.3362272507461706e-02 -3.2364838887478299e-02 9.9938679542868891e-01 0 0 0
6 1 2.5000000000000000e+00 0.0000000000000000e+00 1.5000000000000000e+01 0.0000000000000000e+00 -1.8429703183501404e-02 -3.5634992015801836e-02 9.9919492261750509e-01 0 0 0
26 1 2.5000000000000000e+00 3.0000000000000000e+00 1.5000000000000000e+01 0.0000000000000000e+00 -5.8031121465001771e-02 -4.6947676140268457e-02 9.9721026100143140e-01 0 0 0
46 1 2.5000000000000000e+00 6.0000000000000000e+00 1.5000000000000000e+01 0.0000000000000000e+00 -1.0567933713226434e-01 -7.2649992877525812e-02 9.9174283775491956e-01 0 0 0
66 1 2.5000000000000000e+00 9.0000000000000000e+00 1.5000000000000000e+01 0.0000000000000000e+00 -1.6561310406555055e-01 -1.1922421797550634e-01 9.7895755046370747e-01 0 0 0
86 1 2.5000000000000000e+00 1.2000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 -2.3830565311068275e-01 -1.9646003525323197e-01 9.5111191257590177e-01 0 0 0
106 1 2.5000000000000000e+00 1.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 -3.1460569929723275e-01 -3.1460569929723275e-01 8.9557049300398384e-01 0 0 0
126 1 2.5000000000000000e+00 1.8000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 -3.6852592591640337e-01 -4.7476254409897906e-01 7.9924287212844281e-01 0 0 0
146 1 2.5000000000000000e+00 2.1000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 -3.6081689881382256e-01 -6.5421949001862334e-01 6.6468641058031896e-01 0 0 0
166 1 2.5000000000000000e+00 2.4000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 -2.6598547494087149e-01 -8.0744368404029232e-01 5.2657993146712301e-01 0 0 0
186 1 2.5000000000000000e+00 2.7000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 -9.7873033584060118e-02 -8.9330169771966939e-01 4.3867179775797049e-01 0 0 0
206 1 2.5000000000000000e+00 3.0000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 9.7873033584060007e-02 -8.9330169771966939e-01 4.3867179775797044e-01 0 0 0
226 1 2.5000000000000000e+00 3.3000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 2.6598547494087138e-01 -8.0744368404029232e-01 5.2657993146712301e-01 0 0 0
246 1 2.5000000000000000e+00 3.6000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 3.6081689881382251e-01 -6.5421949001862334e-01 6.6468641058031896e-01 0 0 0
266 1 2.5000000000000000e+00 3.9000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 3.6852592591640337e-01 -4.7476254409897911e-01 7.9924287212844303e-01 0 0 0
286 1 2.5000000000000000e+00 4.2000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 3.1460569929723281e-01 -3.1460569929723281e-01 8.9557049300398361e-01 0 0 0
306 1 2.5000000000000000e+00 4.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 2.3830565311068277e-01 -1.9646003525323205e-01 9.5111191257590177e-01 0 0 0
326 1 2.5000000000000000e+00 4.8000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 1.6561310406555055e-01 -1.1922421797550636e-01 9.7895755046370736e-01 0 0 0
346 1 2.5000000000000000e+00 5.1000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 1.0567933713226439e-01 -7.2649992877525854e-02 9.9174283775491956e-01 0 0 0
366 1 2.5000000000000000e+00 5.4000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 5.8031121465001820e-02 -4.6947676140268485e-02 9.9721026100143140e-01 0 0 0
386 1 2.5000000000000000e+00 5.7000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 1.8429703183501425e-02 -3.5634992015801836e-02 9.9919492261750498e-01 0 0 0
7 1 2.5000000000000000e+00 0.0000000000000000e+00 1.8000000000000000e+01 0.0000000000000000e+00 -2.4270277420221083e-02 -3.5235119566844234e-02 9.9908430073895960e-01 0 0 0
27 1 2.5000000000000000e+00 3.0000000000000000e+00 1.8000000000000000e+01 0.0000000000000000e+00 -7.7312985281705854e-02 -4.7535409319668043e-02 9.9587302763336372e-01 0 0 0
47 1 2.5000000000000000e+00 6.0000000000000000e+00 1.8000000000000000e+01 0.0000000000000000e+00 -1.4398087111736474e-01 -7.6126593015943766e-02 9.8664798717073854e-01 0 0 0
67 1 2.5000000000000000e+00 9.0000000000000000e+00 1.8000000000000000e+01 0.0000000000000000e+00 -2.3284022614534147e-01 -1.2975986317850727e-01 9.6381938504912923e-01 0 0 0
87 1 2.5000000000000000e+00 1.2000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 -3.4758786972735523e-01 -2.2234110900479681e-01 9.1090455266450177e-01 0 0 0
107 1 2.5000000000000000e+00 1.5000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 -4.7476254409897900e-01 -3.6852592591640326e-01 7.9924287212844292e-01 0 0 0
127 1 2.5000000000000000e+00 1.8000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 -5.6571145299922609e-01 -5.6571145299922598e-01 5.9995091790163058e-01 0 0 0
147 1 2.5000000000000000e+00 2.1000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 -5.4725458628470525e-01 -7.6968694425946660e-01 3.2877716713129740e-01 0 0 0
167 1 2.5000000000000000e+00 2.4000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 -3.9048923819288139e-01 -9.1777534868081290e-01 7.2156525757244322e-02 0 0 0
187 1 2.5000000000000000e+00 2.7000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 -1.3991724696158017e-01 -9.8714633419212083e-01 -7.7235217962726241e-02 0 0 0
207 1 2.5000000000000000e+00 3.0000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 1.3991724696158006e-01 -9.8714633419212106e-01 -7.7235217962726241e-02 0 0 0
227 1 2.5000000000000000e+00 3.3000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 3.9048923819288128e-01 -9.1777534868081279e-01 7.2156525757244322e-02 0 0 0
247 1 2.5000000000000000e+00 3.6000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 5.4725458628470514e-01 -7.6968694425946649e-01 3.2877716713129734e-01 0 0 0
267 1 2.5000000000000000e+00 3.9000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 5.6571145299922621e-01 -5.6571145299922609e-01 5.9995091790163035e-01 0 0 0
287 1 2.5000000000000000e+00 4.2000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 4.7476254409897917e-01 -3.6852592591640337e-01 7.9924287212844281e-01 0 0 0
307 1 2.5000000000000000e+00 4.5000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 3.4758786972735534e-01 -2.2234110900479692e-01 9.1090455266450188e-01 0 0 0
327 1 2.5000000000000000e+00 4.8000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 2.3284022614534147e-01 -1.2975986317850732e-01 9.6381938504912912e-01 0 0 0
347 1 2.5000000000000000e+00 5.1000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 1.4398087111736477e-01 -7.6126593015943808e-02 9.8664798717073854e-01 0 0 0
367 1 2.5000000000000000e+00 5.4000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 7.7312985281705909e-02 -4.7535409319668064e-02 9.9587302763336372e-01 0 0 0
387 1 2.5000000000000000e+00 5.7000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 2.4270277420221129e-02 -3.5235119566844247e-02 9.9908430073895971e-01 0 0 0
8 1 2.5000000000000000e+00 0.0000000000000000e+00 2.1000000000000000e+01 0.0000000000000000e+00 -3.0163850736159105e-02 -3.0237916900163149e-02 9.9908748890690535e-01 0 0 0
28 1 2.5000000000000000e+00 3.0000000000000000e+00 2.1000000000000000e+01 0.0000000000000000e+00 -9.7059251840902722e-02 -4.1653952417990810e-02 9.9440658177630958e-01 0 0 0
48 1 2.5000000000000000e+00 6.0000000000000000e+00 2.1000000000000000e+01 0.0000000000000000e+00 -1.8428174194944064e-01 -6.8709104650143071e-02 9.8046891767268973e-01 0 0 0
68 1 2.5000000000000000e+00 9.0000000000000000e+00 2.1000000000000000e+01 0.0000000000000000e+00 -3.0602867088565666e-01 -1.2090775615411221e-01 9.4431338394504205e-01 0 0 0
88 1 2.5000000000000000e+00 1.2000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 -4.7013886220911943e-01 -2.1357380845070767e-01 8.5636188529416413e-01 0 0 0
108 1 2.5000000000000000e+00 1.5000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 -6.5421949001862312e-01 -3.6081689881382245e-01 6.6468641058031908e-01 0 0 0
128 1 2.5000000000000000e+00 1.8000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 -7.6968694425946649e-01 -5.4725458628470514e-01 3.2877716713129745e-01 0 0 0
148 1 2.5000000000000000e+00 2.1000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 -7.0472416296125850e-01 -7.0472416296125850e-01 -8.2022608329090224e-02 0 0 0
168 1 2.5000000000000000e+00 2.4000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 -4.6907708232882805e-01 -7.8303583820847300e-01 -4.0843795968914098e-01 0 0 0
188 1 2.5000000000000000e+00 2.7000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 -1.6077801357100108e-01 -8.0506391360620255e-01 -5.7098382232881861e-01 0 0 0
208 1 2.5000000000000000e+00 3.0000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 1.6077801357100094e-01 -8.0506391360620255e-01 -5.7098382232881872e-01 0 0 0
228 1 2.5000000000000000e+00 3.3000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 4.6907708232882789e-01 -7.8303583820847278e-01 -4.0843795968914093e-01 0 0 0
248 1 2.5000000000000000e+00 3.6000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 7.0472416296125839e-01 -7.0472416296125850e-01 -8.2022608329090321e-02 0 0 0
268 1 2.5000000000000000e+00 3.9000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 7.6968694425946660e-01 -5.4725458628470514e-01 3.2877716713129729e-01 0 0 0
288 1 2.5000000000000000e+00 4.2000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 6.5421949001862334e-01 -3.6081689881382256e-01 6.6468641058031885e-01 0 0 0
308 1 2.5000000000000000e+00 4.5000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 4.7013886220911955e-01 -2.1357380845070770e-01 8.5636188529416402e-01 0 0 0
328 1 2.5000000000000000e+00 4.8000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 3.0602867088565666e-01 -1.2090775615411227e-01 9.4431338394504194e-01 0 0 0
348 1 2.5000000000000000e+00 5.1000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 1.8428174194944072e-01 -6.8709104650143099e-02 9.8046891767268962e-01 0 0 0
368 1 2.5000000000000000e+00 5.4000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 9.7059251840902791e-02 -4.1653952417990824e-02 9.9440658177630958e-01 0 0 0
388 1 2.5000000000000000e+00 5.7000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 3.0163850736159153e-02 -3.0237916900163146e-02 9.9908748890690535e-01 0 0 0
9 1 2.5000000000000000e+00 0.0000000000000000e+00 2.4000000000000000e+01 0.0000000000000000e+00 -3.5058787503171387e-02 -2.0551704657275887e-02 9.9917391321755789e-01 0 0 0
29 1 2.5000000000000000e+00 3.0000000000000000e+00 2.4000000000000000e+01 0.0000000000000000e+00 -1.1365104497068090e-01 -2.8752729368399281e-02 9.9310458690459180e-01 0 0 0
49 1 2.5000000000000000e+00 6.0000000000000000e+00 2.4000000000000000e+01 0.0000000000000000e+00 -2.1884669159068454e-01 -4.8457456104349608e-02 9.7455528346405629e-01 0 0 0
69 1 2.5000000000000000e+00 9.0000000000000000e+00 2.4000000000000000e+01 0.0000000000000000e+00 -3.7026717261459713e-01 -8.7191355151399724e-02 9.2482424734154478e-01 0 0 0
89 1 2.5000000000000000e+00 1.2000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 -5.7886257432716870e-01 -1.5692234237038305e-01 8.0018341554190908e-01 0 0 0
109 1 2.5000000000000000e+00 1.5000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 -8.0744368404029221e-01 -2.6598547494087144e-01 5.2657993146712301e-01 0 0 0
129 1 2.5000000000000000e+00 1.8000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 -9.1777534868081279e-01 -3.9048923819288128e-01 7.2156525757244433e-02 0 0 0
149 1 2.5000000000000000e+00 2.1000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 -7.8303583820847289e-01 -4.6907708232882789e-01 -4.0843795968914071e-01 0 0 0
169 1 2.5000000000000000e+00 2.4000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 -4.8741359543182999e-01 -4.8741359543182988e-01 -7.2446944309365668e-01 0 0 0
189 1 2.5000000000000000e+00 2.7000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 -1.6115060626850930e-01 -4.8338466373268979e-01 -8.6044741208706443e-01 0 0 0
209 1 2.5000000000000000e+00 3.0000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 1.6115060626850913e-01 -4.8338466373268968e-01 -8.6044741208706432e-01 0 0 0
229 1 2.5000000000000000e+00 3.3000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 4.8741359543182988e-01 -4.8741359543182988e-01 -7.2446944309365668e-01 0 0 0
249 1 2.5000000000000000e+00 3.6000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 7.8303583820847289e-01 -4.6907708232882789e-01 -4.0843795968914098e-01 0 0 0
269 1 2.5000000000000000e+00 3.9000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 9.1777534868081290e-01 -3.9048923819288139e-01 7.2156525757244280e-02 0 0 0
289 1 2.5000000000000000e+00 4.2000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 8.0744368404029232e-01 -2.6598547494087149e-01 5.2657993146712290e-01 0 0 0
309 1 2.5000000000000000e+00 4.5000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 5.7886257432716870e-01 -1.5692234237038313e-01 8.0018341554190908e-01 0 0 0
329 1 2.5000000000000000e+00 4.8000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 3.7026717261459713e-01 -8.7191355151399724e-02 9.2482424734154478e-01 0 0 0
349 1 2.5000000000000000e+00 5.1000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 2.1884669159068457e-01 -4.8457456104349622e-02 9.7455528346405618e-01 0 0 0
369 1 2.5000000000000000e+00 5.4000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 1.1365104497068097e-01 -2.8752729368399291e-02 9.9310458690459180e-01 0 0 0
389 1 2.5000000000000000e+00 5.7000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 3.5058787503171436e-02 -2.0551704657275904e-02 9.9917391321755789e-01 0 0 0
10 1 2.5000000000000000e+00 0.0000000000000000e+00 2.7000000000000000e+01 0.0000000000000000e+00 -3.7860607272964017e-02 -7.2971667669136089e-03 9.9925638640646097e-01 0 0 0
30 1 2.5000000000000000e+00 3.0000000000000000e+00 2.7000000000000000e+01 0.0000000000000000e+00 -1.2321728304286257e-01 -1.0293413501576077e-02 9.9232633079951116e-01 0 0 0
50 1 2.5000000000000000e+00 6.0000000000000000e+00 2.7000000000000000e+01 0.0000000000000000e+00 -2.3902270727461422e-01 -1.7543173966404584e-02 9.7085548999544669e-01 0 0 0
70 1 2.5000000000000000e+00 9.0000000000000000e+00 2.7000000000000000e+01 0.0000000000000000e+00 -4.0821375936870385e-01 -3.1922103301157141e-02 9.1232806927272625e-01 0 0 0
90 1 2.5000000000000000e+00 1.2000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 -6.4295931380698856e-01 -5.7920936211537787e-02 7.6370706814669798e-01 0 0 0
110 1 2.5000000000000000e+00 1.5000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 -8.9330169771966939e-01 -9.7873033584060035e-02 4.3867179775797044e-01 0 0 0
130 1 2.5000000000000000e+00 1.8000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 -9.8714633419212094e-01 -1.3991724696158003e-01 -7.7235217962726088e-02 0 0 0
150 1 2.5000000000000000e+00 2.1000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 -8.0506391360620255e-01 -1.6077801357100097e-01 -5.7098382232881850e-01 0 0 0
170 1 2.5000000000000000e+00 2.4000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 -4.8338466373268996e-01 -1.6115060626850919e-01 -8.6044741208706443e-01 0 0 0
190 1 2.5000000000000000e+00 2.7000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 -1.5704482464087621e-01 -1.5704482464087605e-01 -9.7502504896388853e-01 0 0 0
210 1 2.5000000000000000e+00 3.0000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 1.5704482464087599e-01 -1.5704482464087605e-01 -9.7502504896388842e-01 0 0 0
230 1 2.5000000000000000e+00 3.3000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 4.8338466373268973e-01 -1.6115060626850916e-01 -8.6044741208706443e-01 0 0 0
250 1 2.5000000000000000e+00 3.6000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 8.0506391360620255e-01 -1.6077801357100097e-01 -5.7098382232881861e-01 0 0 0
270 1 2.5000000000000000e+00 3.9000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 9.8714633419212106e-01 -1.3991724696158012e-01 -7.7235217962726269e-02 0 0 0
290 1 2.5000000000000000e+00 4.2000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 8.9330169771966950e-01 -9.7873033584060062e-02 4.3867179775797038e-01 0 0 0
310 1 2.5000000000000000e+00 4.5000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 6.4295931380698856e-01 -5.7920936211537821e-02 7.6370706814669798e-01 0 0 0
330 1 2.5000000000000000e+00 4.8000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 4.0821375936870391e-01 -3.1922103301157183e-02 9.1232806927272614e-01 0 0 0
350 1 2.5000000000000000e+00 5.1000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 2.3902270727461428e-01 -1.7543173966404597e-02 9.7085548999544657e-01 0 0 0
370 1 2.5000000000000000e+00 5.4000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 1.2321728304286259e-01 -1.0293413501576086e-02 9.9232633079951105e-01 0 0 0
390 1 2.5000000000000000e+00 5.7000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 3.7860607272964045e-02 -7.2971667669136028e-03 9.9925638640646086e-01 0 0 0
11 1 2.5000000000000000e+00 0.0000000000000000e+00 3.0000000000000000e+01 0.0000000000000000e+00 -3.7860607272964017e-02 7.2971667669136028e-03 9.9925638640646086e-01 0 0 0
31 1 2.5000000000000000e+00 3.0000000000000000e+00 3.0000000000000000e+01 0.0000000000000000e+00 -1.2321728304286254e-01 1.0293413501576089e-02 9.9232633079951105e-01 0 0 0
51 1 2.5000000000000000e+00 6.0000000000000000e+00 3.0000000000000000e+01 0.0000000000000000e+00 -2.3902270727461422e-01 1.7543173966404594e-02 9.7085548999544657e-01 0 0 0
71 1 2.5000000000000000e+00 9.0000000000000000e+00 3.0000000000000000e+01 0.0000000000000000e+00 -4.0821375936870374e-01 3.1922103301157183e-02 9.1232806927272625e-01 0 0 0
91 1 2.5000000000000000e+00 1.2000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 -6.4295931380698856e-01 5.7920936211537842e-02 7.6370706814669798e-01 0 0 0
111 1 2.5000000000000000e+00 1.5000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 -8.9330169771966950e-01 9.7873033584060118e-02 4.3867179775797055e-01 0 0 0
131 1 2.5000000000000000e+00 1.8000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 -9.8714633419212083e-01 1.3991724696158012e-01 -7.7235217962726102e-02 0 0 0
151 1 2.5000000000000000e+00 2.1000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 -8.0506391360620255e-01 1.6077801357100108e-01 -5.7098382232881850e-01 0 0 0
171 1 2.5000000000000000e+00 2.4000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 -4.8338466373268996e-01 1.6115060626850930e-01 -8.6044741208706443e-01 0 0 0
191 1 2.5000000000000000e+00 2.7000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 -1.5704482464087621e-01 1.5704482464087616e-01 -9.7502504896388853e-01 0 0 0
211 1 2.5000000000000000e+00 3.0000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 1.5704482464087602e-01 1.5704482464087616e-01 -9.7502504896388842e-01 0 0 0
231 1 2.5000000000000000e+00 3.3000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 4.8338466373268985e-01 1.6115060626850930e-01 -8.6044741208706443e-01 0 0 0
251 1 2.5000000000000000e+00 3.6000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 8.0506391360620266e-01 1.6077801357100105e-01 -5.7098382232881861e-01 0 0 0
271 1 2.5000000000000000e+00 3.9000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 9.8714633419212094e-01 1.3991724696158014e-01 -7.7235217962726227e-02 0 0 0
291 1 2.5000000000000000e+00 4.2000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 8.9330169771966950e-01 9.7873033584060118e-02 4.3867179775797049e-01 0 0 0
311 1 2.5000000000000000e+00 4.5000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 6.4295931380698867e-01 5.7920936211537849e-02 7.6370706814669809e-01 0 0 0
331 1 2.5000000000000000e+00 4.8000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 4.0821375936870391e-01 3.1922103301157183e-02 9.1232806927272614e-01 0 0 0
351 1 2.5000000000000000e+00 5.1000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 2.3902270727461428e-01 1.7543173966404590e-02 9.7085548999544657e-01 0 0 0
371 1 2.5000000000000000e+00 5.4000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 1.2321728304286261e-01 1.0293413501576086e-02 9.9232633079951116e-01 0 0 0
391 1 2.5000000000000000e+00 5.7000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 3.7860607272964052e-02 7.2971667669136046e-03 9.9925638640646097e-01 0 0 0
12 1 2.5000000000000000e+00 0.0000000000000000e+00 3.3000000000000000e+01 0.0000000000000000e+00 -3.5058787503171387e-02 2.0551704657275897e-02 9.9917391321755789e-01 0 0 0
32 1 2.5000000000000000e+00 3.0000000000000000e+00 3.3000000000000000e+01 0.0000000000000000e+00 -1.1365104497068096e-01 2.8752729368399288e-02 9.9310458690459191e-01 0 0 0
52 1 2.5000000000000000e+00 6.0000000000000000e+00 3.3000000000000000e+01 0.0000000000000000e+00 -2.1884669159068451e-01 4.8457456104349615e-02 9.7455528346405618e-01 0 0 0
72 1 2.5000000000000000e+00 9.0000000000000000e+00 3.3000000000000000e+01 0.0000000000000000e+00 -3.7026717261459707e-01 8.7191355151399710e-02 9.2482424734154478e-01 0 0 0
92 1 2.5000000000000000e+00 1.2000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 -5.7886257432716870e-01 1.5692234237038316e-01 8.0018341554190908e-01 0 0 0
112 1 2.5000000000000000e+00 1.5000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 -8.0744368404029210e-01 2.6598547494087149e-01 5.2657993146712301e-01 0 0 0
132 1 2.5000000000000000e+00 1.8000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 -9.1777534868081267e-01 3.9048923819288134e-01 7.2156525757244433e-02 0 0 0
152 1 2.5000000000000000e+00 2.1000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 -7.8303583820847311e-01 4.6907708232882811e-01 -4.0843795968914082e-01 0 0 0
172 1 2.5000000000000000e+00 2.4000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 -4.8741359543183005e-01 4.8741359543182999e-01 -7.2446944309365657e-01 0 0 0
192 1 2.5000000000000000e+00 2.7000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 -1.6115060626850930e-01 4.8338466373268979e-01 -8.6044741208706432e-01 0 0 0
212 1 2.5000000000000000e+00 3.0000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 1.6115060626850916e-01 4.8338466373268979e-01 -8.6044741208706443e-01 0 0 0
232 1 2.5000000000000000e+00 3.3000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 4.8741359543182988e-01 4.8741359543182999e-01 -7.2446944309365657e-01 0 0 0
252 1 2.5000000000000000e+00 3.6000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 7.8303583820847278e-01 4.6907708232882794e-01 -4.0843795968914076e-01 0 0 0
272 1 2.5000000000000000e+00 3.9000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 9.1777534868081279e-01 3.9048923819288139e-01 7.2156525757244377e-02 0 0 0
292 1 2.5000000000000000e+00 4.2000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 8.0744368404029221e-01 2.6598547494087149e-01 5.2657993146712301e-01 0 0 0
312 1 2.5000000000000000e+00 4.5000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 5.7886257432716870e-01 1.5692234237038316e-01 8.0018341554190908e-01 0 0 0
332 1 2.5000000000000000e+00 4.8000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 3.7026717261459713e-01 8.7191355151399738e-02 9.2482424734154467e-01 0 0 0
352 1 2.5000000000000000e+00 5.1000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 2.1884669159068457e-01 4.8457456104349622e-02 9.7455528346405618e-01 0 0 0
372 1 2.5000000000000000e+00 5.4000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 1.1365104497068099e-01 2.8752729368399295e-02 9.9310458690459180e-01 0 0 0
392 1 2.5000000000000000e+00 5.7000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 3.5058787503171422e-02 2.0551704657275897e-02 9.9917391321755777e-01 0 0 0
13 1 2.5000000000000000e+00 0.0000000000000000e+00 3.6000000000000000e+01 0.0000000000000000e+00 -3.0163850736159126e-02 3.0237916900163156e-02 9.9908748890690546e-01 0 0 0
33 1 2.5000000000000000e+00 3.0000000000000000e+00 3.6000000000000000e+01 0.0000000000000000e+00 -9.7059251840902735e-02 4.1653952417990817e-02 9.9440658177630958e-01 0 0 0
53 1 2.5000000000000000e+00 6.0000000000000000e+00 3.6000000000000000e+01 0.0000000000000000e+00 -1.8428174194944066e-01 6.8709104650143071e-02 9.8046891767268973e-01 0 0 0
73 1 2.5000000000000000e+00 9.0000000000000000e+00 3.6000000000000000e+01 0.0000000000000000e+00 -3.0602867088565661e-01 1.2090775615411221e-01 9.4431338394504194e-01 0 0 0
93 1 2.5000000000000000e+00 1.2000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 -4.7013886220911938e-01 2.1357380845070770e-01 8.5636188529416413e-01 0 0 0
113 1 2.5000000000000000e+00 1.5000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 -6.5421949001862323e-01 3.6081689881382251e-01 6.6468641058031896e-01 0 0 0
133 1 2.5000000000000000e+00 1.8000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 -7.6968694425946660e-01 5.4725458628470525e-01 3.2877716713129751e-01 0 0 0
153 1 2.5000000000000000e+00 2.1000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 -7.0472416296125850e-01 7.0472416296125850e-01 -8.2022608329090127e-02 0 0 0
173 1 2.5000000000000000e+00 2.4000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 -4.6907708232882805e-01 7.8303583820847300e-01 -4.0843795968914076e-01 0 0 0
193 1 2.5000000000000000e+00 2.7000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 -1.6077801357100108e-01 8.0506391360620244e-01 -5.7098382232881861e-01 0 0 0
213 1 2.5000000000000000e+00 3.0000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 1.6077801357100091e-01 8.0506391360620277e-01 -5.7098382232881861e-01 0 0 0
233 1 2.5000000000000000e+00 3.3000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 4.6907708232882794e-01 7.8303583820847300e-01 -4.0843795968914076e-01 0 0 0
253 1 2.5000000000000000e+00 3.6000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 7.0472416296125850e-01 7.0472416296125850e-01 -8.2022608329090210e-02 0 0 0
273 1 2.5000000000000000e+00 3.9000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 7.6968694425946649e-01 5.4725458628470525e-01 3.2877716713129740e-01 0 0 0
293 1 2.5000000000000000e+00 4.2000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 6.5421949001862323e-01 3.6081689881382251e-01 6.6468641058031896e-01 0 0 0
313 1 2.5000000000000000e+00 4.5000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 4.7013886220911949e-01 2.1357380845070775e-01 8.5636188529416413e-01 0 0 0
333 1 2.5000000000000000e+00 4.8000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 3.0602867088565661e-01 1.2090775615411223e-01 9.4431338394504194e-01 0 0 0
353 1 2.5000000000000000e+00 5.1000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 1.8428174194944069e-01 6.8709104650143099e-02 9.8046891767268973e-01 0 0 0
373 1 2.5000000000000000e+00 5.4000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 9.7059251840902763e-02 4.1653952417990830e-02 9.9440658177630947e-01 0 0 0
393 1 2.5000000000000000e+00 5.7000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 3.0163850736159133e-02 3.0237916900163159e-02 9.9908748890690535e-01 0 0 0
14 1 2.5000000000000000e+00 0.0000000000000000e+00 3.9000000000000000e+01 0.0000000000000000e+00 -2.4270277420221101e-02 3.5235119566844240e-02 9.9908430073895960e-01 0 0 0
34 1 2.5000000000000000e+00 3.0000000000000000e+00 3.9000000000000000e+01 0.0000000000000000e+00 -7.7312985281705854e-02 4.7535409319668036e-02 9.9587302763336372e-01 0 0 0
54 1 2.5000000000000000e+00 6.0000000000000000e+00 3.9000000000000000e+01 0.0000000000000000e+00 -1.4398087111736474e-01 7.6126593015943766e-02 9.8664798717073854e-01 0 0 0
74 1 2.5000000000000000e+00 9.0000000000000000e+00 3.9000000000000000e+01 0.0000000000000000e+00 -2.3284022614534142e-01 1.2975986317850727e-01 9.6381938504912923e-01 0 0 0
94 1 2.5000000000000000e+00 1.2000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 -3.4758786972735517e-01 2.2234110900479689e-01 9.1090455266450199e-01 0 0 0
114 1 2.5000000000000000e+00 1.5000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 -4.7476254409897917e-01 3.6852592591640326e-01 7.9924287212844314e-01 0 0 0
134 1 2.5000000000000000e+00 1.8000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 -5.6571145299922609e-01 5.6571145299922598e-01 5.9995091790163058e-01 0 0 0
154 1 2.5000000000000000e+00 2.1000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 -5.4725458628470514e-01 7.6968694425946649e-01 3.2877716713129751e-01 0 0 0
174 1 2.5000000000000000e+00 2.4000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 -3.9048923819288139e-01 9.1777534868081279e-01 7.2156525757244475e-02 0 0 0
194 1 2.5000000000000000e+00 2.7000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 -1.3991724696158014e-01 9.8714633419212094e-01 -7.7235217962726074e-02 0 0 0
214 1 2.5000000000000000e+00 3.0000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 1.3991724696158006e-01 9.8714633419212106e-01 -7.7235217962726074e-02 0 0 0
234 1 2.5000000000000000e+00 3.3000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 3.9048923819288128e-01 9.1777534868081290e-01 7.2156525757244516e-02 0 0 0
254 1 2.5000000000000000e+00 3.6000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 5.4725458628470502e-01 7.6968694425946649e-01 3.2877716713129757e-01 0 0 0
274 1 2.5000000000000000e+00 3.9000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 5.6571145299922598e-01 5.6571145299922598e-01 5.9995091790163058e-01 0 0 0
294 1 2.5000000000000000e+00 4.2000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 4.7476254409897917e-01 3.6852592591640337e-01 7.9924287212844292e-01 0 0 0
314 1 2.5000000000000000e+00 4.5000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 3.4758786972735523e-01 2.2234110900479689e-01 9.1090455266450188e-01 0 0 0
334 1 2.5000000000000000e+00 4.8000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 2.3284022614534150e-01 1.2975986317850730e-01 9.6381938504912923e-01 0 0 0
354 1 2.5000000000000000e+00 5.1000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 1.4398087111736474e-01 7.6126593015943780e-02 9.8664798717073843e-01 0 0 0
374 1 2.5000000000000000e+00 5.4000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 7.7312985281705868e-02 4.7535409319668070e-02 9.9587302763336383e-01 0 0 0
394 1 2.5000000000000000e+00 5.7000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 2.4270277420221108e-02 3.5235119566844240e-02 9.9908430073895971e-01 0 0 0
15 1 2.5000000000000000e+00 0.0000000000000000e+00 4.2000000000000000e+01 0.0000000000000000e+00 -1.8429703183501411e-02 3.5634992015801829e-02 9.9919492261750498e-01 0 0 0
35 1 2.5000000000000000e+00 3.0000000000000000e+00 4.2000000000000000e+01 0.0000000000000000e+00 -5.8031121465001799e-02 4.6947676140268450e-02 9.9721026100143129e-01 0 0 0
55 1 2.5000000000000000e+00 6.0000000000000000e+00 4.2000000000000000e+01 0.0000000000000000e+00 -1.0567933713226436e-01 7.2649992877525812e-02 9.9174283775491956e-01 0 0 0
75 1 2.5000000000000000e+00 9.0000000000000000e+00 4.2000000000000000e+01 0.0000000000000000e+00 -1.6561310406555052e-01 1.1922421797550635e-01 9.7895755046370747e-01 0 0 0
95 1 2.5000000000000000e+00 1.2000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 -2.3830565311068272e-01 1.9646003525323200e-01 9.5111191257590177e-01 0 0 0
115 1 2.5000000000000000e+00 1.5000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 -3.1460569929723275e-01 3.1460569929723275e-01 8.9557049300398384e-01 0 0 0
135 1 2.5000000000000000e+00 1.8000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 -3.6852592591640337e-01 4.7476254409897900e-01 7.9924287212844303e-01 0 0 0
155 1 2.5000000000000000e+00 2.1000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 -3.6081689881382245e-01 6.5421949001862312e-01 6.6468641058031908e-01 0 0 0
175 1 2.5000000000000000e+00 2.4000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 -2.6598547494087144e-01 8.0744368404029221e-01 5.2657993146712301e-01 0 0 0
195 1 2.5000000000000000e+00 2.7000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 -9.7873033584060104e-02 8.9330169771966939e-01 4.3867179775797061e-01 0 0 0
215 1 2.5000000000000000e+00 3.0000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 9.7873033584060048e-02 8.9330169771966939e-01 4.3867179775797061e-01 0 0 0
235 1 2.5000000000000000e+00 3.3000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 2.6598547494087144e-01 8.0744368404029221e-01 5.2657993146712312e-01 0 0 0
255 1 2.5000000000000000e+00 3.6000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 3.6081689881382245e-01 6.5421949001862323e-01 6.6468641058031908e-01 0 0 0
275 1 2.5000000000000000e+00 3.9000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 3.6852592591640332e-01 4.7476254409897917e-01 7.9924287212844303e-01 0 0 0
295 1 2.5000000000000000e+00 4.2000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 3.1460569929723275e-01 3.1460569929723275e-01 8.9557049300398373e-01 0 0 0
315 1 2.5000000000000000e+00 4.5000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 2.3830565311068272e-01 1.9646003525323200e-01 9.5111191257590177e-01 0 0 0
335 1 2.5000000000000000e+00 4.8000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 1.6561310406555046e-01 1.1922421797550636e-01 9.7895755046370747e-01 0 0 0
355 1 2.5000000000000000e+00 5.1000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 1.0567933713226434e-01 7.2649992877525826e-02 9.9174283775491967e-01 0 0 0
375 1 2.5000000000000000e+00 5.4000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 5.8031121465001792e-02 4.6947676140268464e-02 9.9721026100143140e-01 0 0 0
395 1 2.5000000000000000e+00 5.7000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 1.8429703183501421e-02 3.5634992015801836e-02 9.9919492261750509e-01 0 0 0
16 1 2.5000000000000000e+00 0.0000000000000000e+00 4.5000000000000000e+01 0.0000000000000000e+00 -1.3362272507461697e-02 3.2364838887478299e-02 9.9938679542868891e-01 0 0 0
36 1 2.5000000000000000e+00 3.0000000000000000e+00 4.5000000000000000e+01 0.0000000000000000e+00 -4.1569375222726877e-02 4.1631298256624177e-02 9.9826791095830592e-01 0 0 0
56 1 2.5000000000000000e+00 6.0000000000000000e+00 4.5000000000000000e+01 0.0000000000000000e+00 -7.3954811425103587e-02 6.2196104012276252e-02 9.9532021506285684e-01 0 0 0
76 1 2.5000000000000000e+00 9.0000000000000000e+00 4.5000000000000000e+01 0.0000000000000000e+00 -1.1214098437153222e-01 9.8127311868331527e-02 9.8883539089662387e-01 0 0 0
96 1 2.5000000000000000e+00 1.2000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 -1.5508313718777622e-01 1.5508313718777625e-01 9.7565282817198595e-01 0 0 0
116 1 2.5000000000000000e+00 1.5000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 -1.9646003525323200e-01 2.3830565311068266e-01 9.5111191257590189e-01 0 0 0
136 1 2.5000000000000000e+00 1.8000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 -2.2234110900479692e-01 3.4758786972735517e-01 9.1090455266450188e-01 0 0 0
156 1 2.5000000000000000e+00 2.1000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 -2.1357380845070770e-01 4.7013886220911938e-01 8.5636188529416413e-01 0 0 0
176 1 2.5000000000000000e+00 2.4000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 -1.5692234237038313e-01 5.7886257432716870e-01 8.0018341554190919e-01 0 0 0
196 1 2.5000000000000000e+00 2.7000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 -5.7920936211537842e-02 6.4295931380698867e-01 7.6370706814669809e-01 0 0 0
216 1 2.5000000000000000e+00 3.0000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 5.7920936211537780e-02 6.4295931380698856e-01 7.6370706814669798e-01 0 0 0
236 1 2.5000000000000000e+00 3.3000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 1.5692234237038313e-01 5.7886257432716870e-01 8.0018341554190919e-01 0 0 0
256 1 2.5000000000000000e+00 3.6000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 2.1357380845070764e-01 4.7013886220911938e-01 8.5636188529416402e-01 0 0 0
276 1 2.5000000000000000e+00 3.9000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 2.2234110900479681e-01 3.4758786972735523e-01 9.1090455266450177e-01 0 0 0
296 1 2.5000000000000000e+00 4.2000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 1.9646003525323197e-01 2.3830565311068272e-01 9.5111191257590177e-01 0 0 0
316 1 2.5000000000000000e+00 4.5000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 1.5508313718777625e-01 1.5508313718777628e-01 9.7565282817198595e-01 0 0 0
336 1 2.5000000000000000e+00 4.8000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 1.1214098437153222e-01 9.8127311868331568e-02 9.8883539089662398e-01 0 0 0
356 1 2.5000000000000000e+00 5.1000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 7.3954811425103573e-02 6.2196104012276258e-02 9.9532021506285684e-01 0 0 0
376 1 2.5000000000000000e+00 5.4000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 4.1569375222726877e-02 4.1631298256624191e-02 9.9826791095830603e-01 0 0 0
396 1 2.5000000000000000e+00 5.7000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 1.3362272507461703e-02 3.2364838887478306e-02 9.9938679542868891e-01 0 0 0
17 1 2.5000000000000000e+00 0.0000000000000000e+00 4.8000000000000000e+01 0.0000000000000000e+00 -9.3989438861432541e-03 2.6644762521588483e-02 9.9960077855311480e-01 0 0 0
37 1 2.5000000000000000e+00 3.0000000000000000e+00 4.8000000000000000e+01 0.0000000000000000e+00 -2.8894018478272422e-02 3.3534698701154803e-02 9.9901979944303410e-01 0 0 0
57 1 2.5000000000000000e+00 6.0000000000000000e+00 4.8000000000000000e+01 0.0000000000000000e+00 -5.0241530269051239e-02 4.8498220596720300e-02 9.9755887607457838e-01 0 0 0
77 1 2.5000000000000000e+00 9.0000000000000000e+00 4.8000000000000000e+01 0.0000000000000000e+00 -7.3771080474423129e-02 7.3771080474423115e-02 9.9454293792237680e-01 0 0 0
97 1 2.5000000000000000e+00 1.2000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 -9.8127311868331568e-02 1.1214098437153222e-01 9.8883539089662398e-01 0 0 0
117 1 2.5000000000000000e+00 1.5000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 -1.1922421797550634e-01 1.6561310406555049e-01 9.7895755046370736e-01 0 0 0
137 1 2.5000000000000000e+00 1.8000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 -1.2975986317850727e-01 2.3284022614534133e-01 9.6381938504912912e-01 0 0 0
157 1 2.5000000000000000e+00 2.1000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 -1.2090775615411221e-01 3.0602867088565655e-01 9.4431338394504194e-01 0 0 0
177 1 2.5000000000000000e+00 2.4000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 -8.7191355151399738e-02 3.7026717261459713e-01 9.2482424734154467e-01 0 0 0
197 1 2.5000000000000000e+00 2.7000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 -3.1922103301157183e-02 4.0821375936870380e-01 9.1232806927272625e-01 0 0 0
217 1 2.5000000000000000e+00 3.0000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 3.1922103301157141e-02 4.0821375936870391e-01 9.1232806927272625e-01 0 0 0
237 1 2.5000000000000000e+00 3.3000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 8.7191355151399710e-02 3.7026717261459707e-01 9.2482424734154489e-01 0 0 0
257 1 2.5000000000000000e+00 3.6000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 1.2090775615411221e-01 3.0602867088565661e-01 9.4431338394504205e-01 0 0 0
277 1 2.5000000000000000e+00 3.9000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 1.2975986317850727e-01 2.3284022614534139e-01 9.6381938504912912e-01 0 0 0
297 1 2.5000000000000000e+00 4.2000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 1.1922421797550634e-01 1.6561310406555052e-01 9.7895755046370747e-01 0 0 0
317 1 2.5000000000000000e+00 4.5000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 9.8127311868331568e-02 1.1214098437153222e-01 9.8883539089662398e-01 0 0 0
337 1 2.5000000000000000e+00 4.8000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 7.3771080474423115e-02 7.3771080474423129e-02 9.9454293792237680e-01 0 0 0
357 1 2.5000000000000000e+00 5.1000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 5.0241530269051225e-02 4.8498220596720300e-02 9.9755887607457838e-01 0 0 0
377 1 2.5000000000000000e+00 5.4000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 2.8894018478272426e-02 3.3534698701154796e-02 9.9901979944303410e-01 0 0 0
397 1 2.5000000000000000e+00 5.7000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 9.3989438861432593e-03 2.6644762521588490e-02 9.9960077855311480e-01 0 0 0
18 1 2.5000000000000000e+00 0.0000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00 -6.5828744882500166e-03 1.9561861499557524e-02 9.9978697697966856e-01 0 0 0
38 1 2.5000000000000000e+00 3.0000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00 -2.0009637034407939e-02 2.4184841732588204e-02 9.9950723251816498e-01 0 0 0
58 1 2.5000000000000000e+00 6.0000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00 -3.4047077037887570e-02 3.4047077037887563e-02 9.9884012388887966e-01 0 0 0
78 1 2.5000000000000000e+00 9.0000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00 -4.8498220596720300e-02 5.0241530269051239e-02 9.9755887607457827e-01 0 0 0
98 1 2.5000000000000000e+00 1.2000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 -6.2196104012276252e-02 7.3954811425103573e-02 9.9532021506285684e-01 0 0 0
118 1 2.5000000000000000e+00 1.5000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 -7.2649992877525812e-02 1.0567933713226434e-01 9.9174283775491956e-01 0 0 0
138 1 2.5000000000000000e+00 1.8000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 -7.6126593015943753e-02 1.4398087111736468e-01 9.8664798717073843e-01 0 0 0
158 1 2.5000000000000000e+00 2.1000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 -6.8709104650143085e-02 1.8428174194944066e-01 9.8046891767268962e-01 0 0 0
178 1 2.5000000000000000e+00 2.4000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 -4.8457456104349608e-02 2.1884669159068451e-01 9.7455528346405618e-01 0 0 0
198 1 2.5000000000000000e+00 2.7000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 -1.7543173966404604e-02 2.3902270727461422e-01 9.7085548999544669e-01 0 0 0
218 1 2.5000000000000000e+00 3.0000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 1.7543173966404566e-02 2.3902270727461419e-01 9.7085548999544657e-01 0 0 0
238 1 2.5000000000000000e+00 3.3000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 4.8457456104349608e-02 2.1884669159068451e-01 9.7455528346405618e-01 0 0 0
258 1 2.5000000000000000e+00 3.6000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 6.8709104650143071e-02 1.8428174194944066e-01 9.8046891767268962e-01 0 0 0
278 1 2.5000000000000000e+00 3.9000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 7.6126593015943766e-02 1.4398087111736474e-01 9.8664798717073843e-01 0 0 0
298 1 2.5000000000000000e+00 4.2000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 7.2649992877525799e-02 1.0567933713226434e-01 9.9174283775491956e-01 0 0 0
318 1 2.5000000000000000e+00 4.5000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 6.2196104012276245e-02 7.3954811425103587e-02 9.9532021506285684e-01 0 0 0
338 1 2.5000000000000000e+00 4.8000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 4.8498220596720293e-02 5.0241530269051232e-02 9.9755887607457827e-01 0 0 0
358 1 2.5000000000000000e+00 5.1000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 3.4047077037887570e-02 3.4047077037887570e-02 9.9884012388887977e-01 0 0 0
378 1 2.5000000000000000e+00 5.4000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 2.0009637034407935e-02 2.4184841732588200e-02 9.9950723251816487e-01 0 0 0
398 1 2.5000000000000000e+00 5.7000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 6.5828744882500193e-03 1.9561861499557524e-02 9.9978697697966856e-01 0 0 0
19 1 2.5000000000000000e+00 0.0000000000000000e+00 5.4000000000000000e+01 0.0000000000000000e+00 -4.8145058779812486e-03 1.1868011343002475e-02 9.9991798205648519e-01 0 0 0
39 1 2.5000000000000000e+00 3.0000000000000000e+00 5.4000000000000000e+01 0.0000000000000000e+00 -1.4489047587394143e-02 1.4489047587394136e-02 9.9979004545955585e-01 0 0 0
59 1 2.5000000000000000e+00 6.0000000000000000e+00 5.4000000000000000e+01 0.0000000000000000e+00 -2.4184841732588200e-02 2.0009637034407932e-02 9.9950723251816498e-01 0 0 0
79 1 2.5000000000000000e+00 9.0000000000000000e+00 5.4000000000000000e+01 0.0000000000000000e+00 -3.3534698701154803e-02 2.8894018478272433e-02 9.9901979944303421e-01 0 0 0
99 1 2.5000000000000000e+00 1.2000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 -4.1631298256624205e-02 4.1569375222726870e-02 9.9826791095830603e-01 0 0 0
119 1 2.5000000000000000e+00 1.5000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 -4.6947676140268450e-02 5.8031121465001771e-02 9.9721026100143129e-01 0 0 0
139 1 2.5000000000000000e+00 1.8000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 -4.7535409319668043e-02 7.7312985281705840e-02 9.9587302763336372e-01 0 0 0
159 1 2.5000000000000000e+00 2.1000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 -4.1653952417990810e-02 9.7059251840902694e-02 9.9440658177630958e-01 0 0 0
179 1 2.5000000000000000e+00 2.4000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 -2.8752729368399278e-02 1.1365104497068095e-01 9.9310458690459180e-01 0 0 0
199 1 2.5000000000000000e+00 2.7000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 -1.0293413501576094e-02 1.2321728304286254e-01 9.9232633079951105e-01 0 0 0
219 1 2.5000000000000000e+00 3.0000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 1.0293413501576077e-02 1.2321728304286257e-01 9.9232633079951116e-01 0 0 0
239 1 2.5000000000000000e+00 3.3000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 2.8752729368399284e-02 1.1365104497068095e-01 9.9310458690459180e-01 0 0 0
259 1 2.5000000000000000e+00 3.6000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 4.1653952417990817e-02 9.7059251840902749e-02 9.9440658177630958e-01 0 0 0
279 1 2.5000000000000000e+00 3.9000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 4.7535409319668036e-02 7.7312985281705868e-02 9.9587302763336383e-01 0 0 0
299 1 2.5000000000000000e+00 4.2000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 4.6947676140268443e-02 5.8031121465001785e-02 9.9721026100143129e-01 0 0 0
319 1 2.5000000000000000e+00 4.5000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 4.1631298256624191e-02 4.1569375222726877e-02 9.9826791095830603e-01 0 0 0
339 1 2.5000000000000000e+00 4.8000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 3.3534698701154803e-02 2.8894018478272433e-02 9.9901979944303410e-01 0 0 0
359 1 2.5000000000000000e+00 5.1000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 2.4184841732588204e-02 2.0009637034407932e-02 9.9950723251816498e-01 0 0 0
379 1 2.5000000000000000e+00 5.4000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 1.4489047587394145e-02 1.4489047587394140e-02 9.9979004545955585e-01 0 0 0
399 1 2.5000000000000000e+00 5.7000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 4.8145058779812486e-03 1.1868011343002480e-02 9.9991798205648519e-01 0 0 0
20 1 2.5000000000000000e+00 0.0000000000000000e+00 5.7000000000000000e+01 0.0000000000000000e+00 -3.9693242391277937e-03 3.9693242391277764e-03 9.9998424434096445e-01 0 0 0
40 1 2.5000000000000000e+00 3.0000000000000000e+00 5.7000000000000000e+01 0.0000000000000000e+00 -1.1868011343002482e-02 4.8145058779812460e-03 9.9991798205648519e-01 0 0 0
60 1 2.5000000000000000e+00 6.0000000000000000e+00 5.7000000000000000e+01 0.0000000000000000e+00 -1.9561861499557517e-02 6.5828744882500097e-03 9.9978697697966856e-01 0 0 0
80 1 2.5000000000000000e+00 9.0000000000000000e+00 5.7000000000000000e+01 0.0000000000000000e+00 -2.6644762521588487e-02 9.3989438861432437e-03 9.9960077855311491e-01 0 0 0
100 1 2.5000000000000000e+00 1.2000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 -3.2364838887478306e-02 1.3362272507461690e-02 9.9938679542868891e-01 0 0 0
120 1 2.5000000000000000e+00 1.5000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 -3.5634992015801822e-02 1.8429703183501404e-02 9.9919492261750509e-01 0 0 0
140 1 2.5000000000000000e+00 1.8000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 -3.5235119566844240e-02 2.4270277420221090e-02 9.9908430073895971e-01 0 0 0
160 1 2.5000000000000000e+00 2.1000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 -3.0237916900163146e-02 3.0163850736159105e-02 9.9908748890690546e-01 0 0 0
180 1 2.5000000000000000e+00 2.4000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 -2.0551704657275894e-02 3.5058787503171394e-02 9.9917391321755789e-01 0 0 0
200 1 2.5000000000000000e+00 2.7000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 -7.2971667669136028e-03 3.7860607272964010e-02 9.9925638640646086e-01 0 0 0
220 1 2.5000000000000000e+00 3.0000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 7.2971667669136037e-03 3.7860607272964024e-02 9.9925638640646097e-01 0 0 0
240 1 2.5000000000000000e+00 3.3000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 2.0551704657275890e-02 3.5058787503171394e-02 9.9917391321755777e-01 0 0 0
260 1 2.5000000000000000e+00 3.6000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 3.0237916900163159e-02 3.0163850736159115e-02 9.9908748890690535e-01 0 0 0
280 1 2.5000000000000000e+00 3.9000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 3.5235119566844234e-02 2.4270277420221094e-02 9.9908430073895960e-01 0 0 0
300 1 2.5000000000000000e+00 4.2000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 3.5634992015801836e-02 1.8429703183501414e-02 9.9919492261750498e-01 0 0 0
320 1 2.5000000000000000e+00 4.5000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 3.2364838887478299e-02 1.3362272507461701e-02 9.9938679542868891e-01 0 0 0
340 1 2.5000000000000000e+00 4.8000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 2.6644762521588480e-02 9.3989438861432611e-03 9.9960077855311480e-01 0 0 0
360 1 2.5000000000000000e+00 5.1000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 1.9561861499557527e-02 6.5828744882500097e-03 9.9978697697966845e-01 0 0 0
380 1 2.5000000000000000e+00 5.4000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 1.1868011343002492e-02 4.8145058779812391e-03 9.9991798205648519e-01 0 0 0
400 1 2.5000000000000000e+00 5.7000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 3.9693242391277937e-03 3.9693242391277851e-03 9.9998424434096445e-01 0 0 0
Velocities
1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
61 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
81 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
62 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
82 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
63 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
83 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
64 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
84 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
45 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
65 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
85 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
46 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
66 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
86 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
47 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
67 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
87 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
48 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
68 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
88 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
49 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
69 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
89 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
50 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
70 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
90 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
11 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
51 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
71 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
91 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
12 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
52 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
72 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
92 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
53 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
73 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
93 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
54 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
74 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
94 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
55 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
75 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
95 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
56 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
76 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
96 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
57 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
77 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
97 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
58 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
78 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
98 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
59 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
79 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
99 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
60 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
80 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00

View File

@ -40,6 +40,6 @@ thermo_style custom step time v_magnorm v_emag v_tmag temp etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 10 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
dump 1 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 100

View File

@ -0,0 +1,59 @@
units metal
dimension 3
boundary f f f
atom_style spin
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice sc 3.0
region box block 0.0 10.0 0.0 10.0 0.0 1.0
create_box 2 box
region reg1 block 0.0 10.0 0.0 5.0 0.0 1.0
region reg2 block 0.0 10.0 6.0 10.0 0.0 1.0
create_atoms 1 region reg1
create_atoms 2 region reg2
# setting mass, mag. moments, and interactions for bcc iron
mass 1 55.845
mass 2 55.845
set region reg1 spin 2.2 0.0 0.0 1.0
set region reg2 spin/random 31 2.2
group fixed_spin region reg1
pair_style hybrid/overlay spin/exchange 3.1 spin/dmi 3.1
pair_coeff * * spin/exchange exchange 3.1 -0.01593 0.06626915552 1.211
pair_coeff * * spin/dmi dmi 3.1 0.12e-03 0.0 0.0 1.0
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 anisotropy 5e-05 0.0 0.0 1.0
fix_modify 1 energy yes
fix 2 fixed_spin setforce/spin 0.0 0.0 0.0
fix 3 all langevin/spin 0.0 0.1 21
fix 4 all nve/spin lattice no
timestep 0.0001
compute out_mag all spin
variable magx equal c_out_mag[1]
variable magy equal c_out_mag[2]
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo 1000
thermo_style custom step time v_magx v_magz v_magnorm v_tmag etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 1 all custom 1000 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[5] c_outsp[6] c_outsp[7]
min_style spin
min_modify alpha_damp 1.0 discrete_factor 20.0
minimize 1.0e-16 1.0e-16 50000 1000

View File

@ -1,19 +0,0 @@
# DATE: 2019-04-19 CONTRIBUTOR: Mingjian Wen, wenxx151@umn.edu
#
# Parameters of the Dihedral-angle-corrected registry-dependent interlayer (DRIP)
# potential for multilayer graphene structures.
#
# Cite as M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, 235404 (2018).
# C0 C2 C4 C delta lambda A z0 B eta rho_cut r_cut normal_cut
C C 1.1598e-02 1.2981e-02 3.2515e-02 7.8151e-03 8.3679e-01 2.7158 2.2216e-02 3.34 7.6799e-03 1.1432 1.562 12.0 3.7
# C0, C2, C4, C, A, and B in [eV]
# delta, z0, eta, rho_cut, r_cut, and normal_cut in [Angstrom]
# lambda in [1/Angstrom]
#
# "normal_cut" is a parameter not present in the Wen paper, but specific to the
# LAMMPS implementation, which is used to find the 3 nearest neighbors of an
# atom to construct the normal.

View File

@ -0,0 +1 @@
../../../../potentials/C.drip

View File

@ -0,0 +1 @@
../../../../potentials/CH.rebo

View File

@ -12,7 +12,7 @@ read_data data.CH
# potential
pair_style hybrid/overlay drip rebo
pair_coeff * * drip C.drip C NULL # only applies to species 1, i.e. C
pair_coeff * * rebo CH.airebo C H # species 1 is C and species 2 is H
pair_coeff * * rebo CH.rebo C H # species 1 is C and species 2 is H
compute peratom all pe/atom

View File

@ -12,7 +12,7 @@ read_data data.C
# potential
pair_style hybrid/overlay drip rebo
pair_coeff * * drip C.drip C
pair_coeff * * rebo CH.airebo C
pair_coeff * * rebo CH.rebo C
compute peratom all pe/atom

View File

@ -1,4 +1,6 @@
LAMMPS (29 Mar 2019)
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# Define unit set and class of atomic model
units metal
atom_style molecular
@ -16,16 +18,16 @@ read_data data.CH
0 = max # of 1-3 neighbors
0 = max # of 1-4 neighbors
1 = max # of special neighbors
special bonds CPU = 0.000221014 secs
read_data CPU = 0.00603986 secs
special bonds CPU = 0.000152826 secs
read_data CPU = 0.000973701 secs
# potential
pair_style hybrid/overlay drip rebo
pair_coeff * * drip C.drip C NULL # only applies to species 1, i.e. C
Reading potential file C.drip with DATE: 2019-04-19
pair_coeff * * rebo CH.airebo C H # species 1 is C and species 2 is H
Reading potential file CH.airebo with DATE: 2011-10-25
pair_coeff * * rebo CH.rebo C H # species 1 is C and species 2 is H
Reading potential file CH.rebo with DATE: 2018-7-3
compute peratom all pe/atom
@ -40,7 +42,7 @@ dump_modify id sort id
# minimize energy
minimize 1.0e-15 1.0e-15 100 100
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:168)
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:168)
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
@ -60,36 +62,36 @@ Neighbor list info ...
bin: standard
Per MPI rank memory allocation (min/avg/max) = 12.92 | 12.92 | 12.92 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
0 0 -2883.1071 0 -2883.1071 366130.38 2779.5956
10 0 -3229.1892 0 -3229.1892 -19780.166 2779.5956
20 0 -3268.3574 0 -3268.3574 -15169.468 2779.5956
30 0 -3270.013 0 -3270.013 -19827.419 2779.5956
40 0 -3270.1341 0 -3270.1341 -20652.569 2779.5956
50 0 -3270.2612 0 -3270.2612 -22644.747 2779.5956
57 0 -3270.2819 0 -3270.2819 -23254.995 2779.5956
Loop time of 3.06624 on 1 procs for 57 steps with 545 atoms
0 0 -2884.3731 0 -2884.3731 366196.9 2779.5956
10 0 -3240.4807 0 -3240.4807 -20237.368 2779.5956
20 0 -3281.0671 0 -3281.0671 -13303.696 2779.5956
30 0 -3282.2176 0 -3282.2176 -19187.215 2779.5956
40 0 -3282.4004 0 -3282.4004 -21740.059 2779.5956
50 0 -3282.4755 0 -3282.4755 -22659.554 2779.5956
57 0 -3282.5011 0 -3282.5011 -23313.198 2779.5956
Loop time of 3.04218 on 1 procs for 57 steps with 545 atoms
99.3% CPU use with 1 MPI tasks x no OpenMP threads
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
Minimization stats:
Stopping criterion = max force evaluations
Energy initial, next-to-last, final =
-2883.10712045 -3270.28039929 -3270.28192718
Force two-norm initial, final = 114.766 0.235428
Force max component initial, final = 12.0195 0.0484347
Final line search alpha, max atom move = 1 0.0484347
Iterations, force evaluations = 57 101
-2884.37307546 -3282.49993222 -3282.5010627
Force two-norm initial, final = 115.342 0.193154
Force max component initial, final = 12.0934 0.03617
Final line search alpha, max atom move = 1 0.03617
Iterations, force evaluations = 57 100
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 3.0539 | 3.0539 | 3.0539 | 0.0 | 99.60
Bond | 4.1485e-05 | 4.1485e-05 | 4.1485e-05 | 0.0 | 0.00
Pair | 3.0291 | 3.0291 | 3.0291 | 0.0 | 99.57
Bond | 1.8835e-05 | 1.8835e-05 | 1.8835e-05 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.0019863 | 0.0019863 | 0.0019863 | 0.0 | 0.06
Output | 0.0070152 | 0.0070152 | 0.0070152 | 0.0 | 0.23
Comm | 0.0016081 | 0.0016081 | 0.0016081 | 0.0 | 0.05
Output | 0.0079796 | 0.0079796 | 0.0079796 | 0.0 | 0.26
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 0.003321 | | | 0.11
Other | | 0.003517 | | | 0.12
Nlocal: 545 ave 545 max 545 min
Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -0,0 +1,111 @@
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# Define unit set and class of atomic model
units metal
atom_style molecular
# BC
boundary p p s
# read config
read_data data.CH
triclinic box = (0 0 0) to (24.65 21.3475 30) with tilt (12.325 0 0)
1 by 2 by 2 MPI processor grid
reading atoms ...
545 atoms
0 = max # of 1-2 neighbors
0 = max # of 1-3 neighbors
0 = max # of 1-4 neighbors
1 = max # of special neighbors
special bonds CPU = 0.000135422 secs
read_data CPU = 0.00368595 secs
# potential
pair_style hybrid/overlay drip rebo
pair_coeff * * drip C.drip C NULL # only applies to species 1, i.e. C
Reading potential file C.drip with DATE: 2019-04-19
pair_coeff * * rebo CH.rebo C H # species 1 is C and species 2 is H
Reading potential file CH.rebo with DATE: 2018-7-3
compute peratom all pe/atom
# set what thermodynamic information to print to log
thermo 10 # print every 1 timestep
# set what information to write to dump file
dump id all custom 1 lammps.dump id type x y z fx fy fz c_peratom
dump_modify id every 10 format line "%d %d %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e"
dump_modify id sort id
# minimize energy
minimize 1.0e-15 1.0e-15 100 100
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:168)
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 17.7
ghost atom cutoff = 17.7
binsize = 8.85, bins = 5 3 1
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair drip, perpetual, skip from (2)
attributes: full, newton on, ghost
pair build: skip/ghost
stencil: none
bin: none
(2) pair rebo, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 11.03 | 11.1 | 11.16 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
0 0 -2884.3731 0 -2884.3731 366196.9 2779.5956
10 0 -3240.4807 0 -3240.4807 -20237.368 2779.5956
20 0 -3281.0671 0 -3281.0671 -13303.696 2779.5956
30 0 -3282.2176 0 -3282.2176 -19187.216 2779.5956
40 0 -3282.4004 0 -3282.4004 -21740.027 2779.5956
50 0 -3282.4753 0 -3282.4753 -22682.604 2779.5956
57 0 -3282.5023 0 -3282.5023 -23355.081 2779.5956
Loop time of 1.66218 on 4 procs for 57 steps with 545 atoms
99.0% CPU use with 4 MPI tasks x 1 OpenMP threads
Minimization stats:
Stopping criterion = max force evaluations
Energy initial, next-to-last, final =
-2884.37307546 -3282.50070864 -3282.50227121
Force two-norm initial, final = 115.342 0.228488
Force max component initial, final = 12.0934 0.03365
Final line search alpha, max atom move = 1 0.03365
Iterations, force evaluations = 57 100
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.5571 | 1.5945 | 1.6314 | 2.3 | 95.93
Bond | 2.265e-05 | 2.9087e-05 | 3.4571e-05 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.020248 | 0.05608 | 0.092328 | 11.8 | 3.37
Output | 0.0053282 | 0.0054213 | 0.0056982 | 0.2 | 0.33
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 0.006172 | | | 0.37
Nlocal: 136.25 ave 177 max 100 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Nghost: 2874.75 ave 2912 max 2835 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 73530.5 ave 73544 max 73517 min
Histogram: 1 0 0 0 1 1 0 0 0 1
Total # of neighbors = 294122
Ave neighs/atom = 539.673
Ave special neighs/atom = 0
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:01

View File

@ -1,4 +1,6 @@
LAMMPS (29 Mar 2019)
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# Define unit set and class of atomic model
units metal
atom_style molecular
@ -16,16 +18,16 @@ read_data data.C
0 = max # of 1-3 neighbors
0 = max # of 1-4 neighbors
1 = max # of special neighbors
special bonds CPU = 0.000164032 secs
read_data CPU = 0.00137401 secs
special bonds CPU = 0.000912905 secs
read_data CPU = 0.00252986 secs
# potential
pair_style hybrid/overlay drip rebo
pair_coeff * * drip C.drip C
Reading potential file C.drip with DATE: 2019-04-19
pair_coeff * * rebo CH.airebo C
Reading potential file CH.airebo with DATE: 2011-10-25
pair_coeff * * rebo CH.rebo C
Reading potential file CH.rebo with DATE: 2018-7-3
compute peratom all pe/atom
@ -39,7 +41,7 @@ dump_modify id sort id
# minimize energy
minimize 1.0e-15 1.0e-15 100 100
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:168)
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:168)
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
@ -66,14 +68,14 @@ Step Temp E_pair E_mol TotEng Press Volume
40 0 -2967.0888 0 -2967.0888 -29997.486 2052.0534
50 0 -2967.0896 0 -2967.0896 -30072.387 2052.0534
51 0 -2967.0896 0 -2967.0896 -30076.548 2052.0534
Loop time of 2.89944 on 1 procs for 51 steps with 400 atoms
Loop time of 2.93337 on 1 procs for 51 steps with 400 atoms
99.6% CPU use with 1 MPI tasks x no OpenMP threads
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
Minimization stats:
Stopping criterion = max force evaluations
Energy initial, next-to-last, final =
-2941.05486168 -2967.08958346 -2967.08962043
-2941.05486197 -2967.08958376 -2967.08962073
Force two-norm initial, final = 35.5666 0.0471918
Force max component initial, final = 6.23617 0.0050012
Final line search alpha, max atom move = 1 0.0050012
@ -82,13 +84,13 @@ Minimization stats:
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 2.8899 | 2.8899 | 2.8899 | 0.0 | 99.67
Bond | 3.171e-05 | 3.171e-05 | 3.171e-05 | 0.0 | 0.00
Pair | 2.9239 | 2.9239 | 2.9239 | 0.0 | 99.68
Bond | 1.2398e-05 | 1.2398e-05 | 1.2398e-05 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.001483 | 0.001483 | 0.001483 | 0.0 | 0.05
Output | 0.0055339 | 0.0055339 | 0.0055339 | 0.0 | 0.19
Comm | 0.0010808 | 0.0010808 | 0.0010808 | 0.0 | 0.04
Output | 0.0059283 | 0.0059283 | 0.0059283 | 0.0 | 0.20
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 0.002449 | | | 0.08
Other | | 0.002466 | | | 0.08
Nlocal: 400 ave 400 max 400 min
Histogram: 1 0 0 0 0 0 0 0 0 0
@ -105,4 +107,4 @@ Ave special neighs/atom = 0
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:02
Total wall time: 0:00:03

View File

@ -0,0 +1,111 @@
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# Define unit set and class of atomic model
units metal
atom_style molecular
# BC
boundary p p s
# read config
read_data data.C
triclinic box = (0 0 0) to (24.65 21.3475 30) with tilt (12.325 0 0)
1 by 2 by 2 MPI processor grid
reading atoms ...
400 atoms
0 = max # of 1-2 neighbors
0 = max # of 1-3 neighbors
0 = max # of 1-4 neighbors
1 = max # of special neighbors
special bonds CPU = 0.0003407 secs
read_data CPU = 0.00411105 secs
# potential
pair_style hybrid/overlay drip rebo
pair_coeff * * drip C.drip C
Reading potential file C.drip with DATE: 2019-04-19
pair_coeff * * rebo CH.rebo C
Reading potential file CH.rebo with DATE: 2018-7-3
compute peratom all pe/atom
# set what thermodynamic information to print to log
thermo 10 # print every 1 timestep
# set what information to write to dump file
dump id all custom 1 lammps.dump id type x y z fx fy fz c_peratom
dump_modify id every 10 format line "%d %d %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e"
dump_modify id sort id
# minimize energy
minimize 1.0e-15 1.0e-15 100 100
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:168)
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 17.7
ghost atom cutoff = 17.7
binsize = 8.85, bins = 5 3 1
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair drip, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
(2) pair rebo, perpetual, copy from (1)
attributes: full, newton on, ghost
pair build: copy
stencil: none
bin: none
WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:934)
Per MPI rank memory allocation (min/avg/max) = 10.7 | 10.77 | 10.83 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
0 0 -2941.0549 0 -2941.0549 -52204.715 2052.0534
10 0 -2966.9787 0 -2966.9787 -29717.01 2052.0534
20 0 -2967.0695 0 -2967.0695 -29614.636 2052.0534
30 0 -2967.0859 0 -2967.0859 -29867.385 2052.0534
40 0 -2967.0888 0 -2967.0888 -29997.486 2052.0534
50 0 -2967.0896 0 -2967.0896 -30072.387 2052.0534
51 0 -2967.0896 0 -2967.0896 -30076.548 2052.0534
Loop time of 1.47901 on 4 procs for 51 steps with 400 atoms
99.1% CPU use with 4 MPI tasks x 1 OpenMP threads
Minimization stats:
Stopping criterion = max force evaluations
Energy initial, next-to-last, final =
-2941.05486197 -2967.08958376 -2967.08962073
Force two-norm initial, final = 35.5666 0.0471918
Force max component initial, final = 6.23617 0.0050012
Final line search alpha, max atom move = 1 0.0050012
Iterations, force evaluations = 51 101
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.4314 | 1.4405 | 1.4548 | 0.8 | 97.40
Bond | 1.955e-05 | 2.265e-05 | 2.4796e-05 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.014506 | 0.029363 | 0.038964 | 5.5 | 1.99
Output | 0.00424 | 0.0043345 | 0.0046172 | 0.2 | 0.29
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 0.004772 | | | 0.32
Nlocal: 100 ave 100 max 100 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Nghost: 2132 ave 2132 max 2132 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 73530.5 ave 73544 max 73517 min
Histogram: 1 0 0 0 1 1 0 0 0 1
Total # of neighbors = 294122
Ave neighs/atom = 735.305
Ave special neighs/atom = 0
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:01

View File

@ -1 +0,0 @@
../../../../potentials/CH.airebo

View File

@ -0,0 +1 @@
../../../../potentials/CH.rebo

View File

@ -22,7 +22,7 @@ group adsorbant type 2
######################## Potential defition ########################
pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0
####################################################################
pair_coeff * * rebo CH.airebo C C # chemical
pair_coeff * * rebo CH.rebo C C # chemical
pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C # long-range
####################################################################

View File

@ -1,208 +0,0 @@
LAMMPS (8 Mar 2018)
using 1 OpenMP thread(s) per MPI task
# Initialization
units metal
boundary p p p
atom_style atomic
processors * * 1 # domain decomposition over x and y
# System and atom definition
# we use 2 atom types so that inter- and intra-layer
# interactions can be specified separately
read_data data.bilayer-graphene # read lammps data file
orthogonal box = (0 0 -20) to (17.04 19.6761 40)
1 by 1 by 1 MPI processor grid
reading atoms ...
256 atoms
mass 1 12.0107 # carbon mass (g/mole) | membrane
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
# Neighbor update settings
neighbor 2.0 bin
neigh_modify every 1
neigh_modify delay 0
neigh_modify check yes
# Separate atom groups
group membrane type 1
128 atoms in group membrane
group adsorbant type 2
128 atoms in group adsorbant
######################## Potential defition ########################
pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0
####################################################################
pair_coeff * * rebo CH.airebo C C # chemical
Reading potential file CH.airebo with DATE: 2011-10-25
pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C # long-range
####################################################################
#### Simulation settings ####
timestep 0.0001
velocity all create 300.0 12345
fix thermostat all nve
compute COM1 membrane com
compute COM2 adsorbant com
############################
# Output
#dump 1 all xyz 100 trajec.xyz
#dump_modify 1 format line "%s %12.6f %12.6f %12.6f" element "C" "C"
thermo 10
thermo_style custom step time etotal pe temp c_COM1[3] c_COM2[3] # spcpu
thermo_modify line one format float %14.8f
###### Run molecular dynamics ######
run 1000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 16
ghost atom cutoff = 16
binsize = 8, bins = 3 3 8
3 neighbor lists, perpetual/occasional/extra = 3 0 0
(1) pair rebo, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
(2) pair kolmogorov/crespi/z, perpetual, skip from (3)
attributes: half, newton on
pair build: skip
stencil: none
bin: none
(3) neighbor class addition, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 4.998 | 4.998 | 4.998 Mbytes
Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3]
0 0.00000000 -1888.67041214 -1898.55881323 300.00000000 0.00000000 3.30000000
10 0.00100000 -1888.67037221 -1898.21029897 289.42778520 -0.00020126 3.30020126
20 0.00200000 -1888.67021541 -1897.22943612 259.67456089 -0.00041357 3.30041357
30 0.00300000 -1888.66999308 -1895.86681311 218.34126559 -0.00063673 3.30063673
40 0.00400000 -1888.66978354 -1894.47163830 176.02000692 -0.00087055 3.30087055
50 0.00500000 -1888.66966068 -1893.37123377 142.63902862 -0.00111486 3.30111486
60 0.00600000 -1888.66966132 -1892.75822749 124.04127205 -0.00136952 3.30136952
70 0.00700000 -1888.66976974 -1892.63445751 120.28297808 -0.00163441 3.30163441
80 0.00800000 -1888.66992867 -1892.83467462 126.35245792 -0.00190946 3.30190946
90 0.00900000 -1888.67006868 -1893.11387069 134.81862145 -0.00219458 3.30219458
100 0.01000000 -1888.67013621 -1893.25481851 139.09272853 -0.00248973 3.30248973
110 0.01100000 -1888.67011201 -1893.15155790 135.96068294 -0.00279489 3.30279489
120 0.01200000 -1888.67001496 -1892.84002960 126.51230266 -0.00311004 3.30311004
130 0.01300000 -1888.66988997 -1892.47004238 115.29120968 -0.00343519 3.30343519
140 0.01400000 -1888.66979230 -1892.23503116 108.16426723 -0.00377038 3.30377038
150 0.01500000 -1888.66976478 -1892.28630583 109.72070257 -0.00411562 3.30411562
160 0.01600000 -1888.66982054 -1892.66640611 121.25071190 -0.00447099 3.30447099
170 0.01700000 -1888.66993790 -1893.28862637 140.12442721 -0.00483654 3.30483654
180 0.01800000 -1888.67007017 -1893.97029258 160.80119589 -0.00521235 3.30521235
190 0.01900000 -1888.67016712 -1894.50458787 177.00801243 -0.00559851 3.30559851
200 0.02000000 -1888.67019459 -1894.73890106 184.11590729 -0.00599512 3.30599512
210 0.02100000 -1888.67014420 -1894.62906014 180.78501932 -0.00640230 3.30640230
220 0.02200000 -1888.67003680 -1894.25249103 169.36370738 -0.00682016 3.30682016
230 0.02300000 -1888.66991386 -1893.77601613 154.91186767 -0.00724883 3.30724883
240 0.02400000 -1888.66982525 -1893.38995084 143.20188490 -0.00768845 3.30768845
250 0.02500000 -1888.66980630 -1893.23138936 138.39193056 -0.00813913 3.30813913
260 0.02600000 -1888.66986130 -1893.32993923 141.38012476 -0.00860097 3.30860097
270 0.02700000 -1888.66996305 -1893.60070606 149.59171763 -0.00907408 3.30907408
280 0.02800000 -1888.67006686 -1893.88587226 158.24010433 -0.00955849 3.30955849
290 0.02900000 -1888.67012981 -1894.02402669 162.42960292 -0.01005424 3.31005424
300 0.03000000 -1888.67012722 -1893.91715234 159.18726627 -0.01056129 3.31056129
310 0.03100000 -1888.67005731 -1893.57037242 148.66857852 -0.01107957 3.31107957
320 0.03200000 -1888.66994573 -1893.09358619 134.20694883 -0.01160898 3.31160898
330 0.03300000 -1888.66983589 -1892.66132663 121.09614207 -0.01214935 3.31214935
340 0.03400000 -1888.66977410 -1892.44446345 114.51869676 -0.01270046 3.31270046
350 0.03500000 -1888.66978826 -1892.53901235 117.38674604 -0.01326207 3.31326207
360 0.03600000 -1888.66987439 -1892.92337288 129.04508371 -0.01383390 3.31383390
370 0.03700000 -1888.66999800 -1893.46445570 145.45701555 -0.01441561 3.31441561
380 0.03800000 -1888.67010960 -1893.97065516 160.81100020 -0.01500688 3.31500688
390 0.03900000 -1888.67016540 -1894.26835818 169.84119247 -0.01560734 3.31560734
400 0.04000000 -1888.67014667 -1894.26967975 169.88185546 -0.01621664 3.31621664
410 0.04100000 -1888.67006166 -1894.00321069 161.80014280 -0.01683442 3.31683442
420 0.04200000 -1888.66994367 -1893.60086324 149.59707418 -0.01746033 3.31746033
430 0.04300000 -1888.66984058 -1893.24559841 138.82197275 -0.01809405 3.31809405
440 0.04400000 -1888.66979399 -1893.09727874 134.32357877 -0.01873527 3.31873527
450 0.04500000 -1888.66982139 -1893.22837442 138.30000378 -0.01938373 3.31938373
460 0.04600000 -1888.66990972 -1893.59670383 149.47191354 -0.02003918 3.32003918
470 0.04700000 -1888.67002173 -1894.06542598 163.68887743 -0.02070143 3.32070143
480 0.04800000 -1888.67011389 -1894.46010842 175.66018439 -0.02137030 3.32137030
490 0.04900000 -1888.67015175 -1894.63688098 181.02206322 -0.02204565 3.32204565
500 0.05000000 -1888.67012158 -1894.53632221 177.97216882 -0.02272740 3.32272740
510 0.05100000 -1888.67003762 -1894.20444731 167.90610436 -0.02341547 3.32341547
520 0.05200000 -1888.66993151 -1893.77231066 154.79891353 -0.02410981 3.32410981
530 0.05300000 -1888.66984505 -1893.40525927 143.66572038 -0.02481040 3.32481040
540 0.05400000 -1888.66981408 -1893.23762083 138.58074854 -0.02551724 3.32551724
550 0.05500000 -1888.66985005 -1893.31793594 141.01630317 -0.02623032 3.32623032
560 0.05600000 -1888.66993737 -1893.59069013 149.28862751 -0.02694963 3.32694963
570 0.05700000 -1888.67003852 -1893.92089571 159.30352588 -0.02767517 3.32767517
580 0.05800000 -1888.67011322 -1894.15124753 166.28980524 -0.02840691 3.32840691
590 0.05900000 -1888.67013192 -1894.16548041 166.72104345 -0.02914478 3.32914478
600 0.06000000 -1888.67008713 -1893.93443318 159.71275856 -0.02988871 3.32988871
610 0.06100000 -1888.66999438 -1893.52841656 147.39760646 -0.03063856 3.33063856
620 0.06200000 -1888.66988809 -1893.09235021 134.17119963 -0.03139416 3.33139416
630 0.06300000 -1888.66980996 -1892.79172016 125.05288240 -0.03215531 3.33215531
640 0.06400000 -1888.66979261 -1892.74755390 123.71346730 -0.03292176 3.33292176
650 0.06500000 -1888.66984332 -1892.98665459 130.96590324 -0.03369323 3.33369323
660 0.06600000 -1888.66994245 -1893.42999868 144.41332389 -0.03446937 3.33446937
670 0.06700000 -1888.67005233 -1893.92310681 159.37018806 -0.03524986 3.33524986
680 0.06800000 -1888.67013309 -1894.29451581 170.63575808 -0.03603430 3.33603430
690 0.06900000 -1888.67015452 -1894.41878117 174.40514192 -0.03682229 3.33682229
700 0.07000000 -1888.67010897 -1894.26288036 169.67671530 -0.03761343 3.33761343
710 0.07100000 -1888.67001367 -1893.89812904 158.61357114 -0.03840729 3.33840729
720 0.07200000 -1888.66990378 -1893.47348746 145.73388454 -0.03920344 3.33920344
730 0.07300000 -1888.66982212 -1893.15984839 136.22099960 -0.04000148 3.34000148
740 0.07400000 -1888.66980109 -1893.08373746 133.91254029 -0.04080098 3.34080098
750 0.07500000 -1888.66984794 -1893.27755511 139.79127024 -0.04160156 3.34160156
760 0.07600000 -1888.66994215 -1893.66837365 151.64528967 -0.04240282 3.34240282
770 0.07700000 -1888.67004554 -1894.10941206 165.02263027 -0.04320441 3.34320441
780 0.07800000 -1888.67011702 -1894.43947545 175.03411436 -0.04400599 3.34400599
790 0.07900000 -1888.67013297 -1894.54590471 178.26254255 -0.04480726 3.34480726
800 0.08000000 -1888.67008751 -1894.40384142 173.95392406 -0.04560792 3.34560792
810 0.08100000 -1888.66999923 -1894.08389003 164.24973321 -0.04640773 3.34640773
820 0.08200000 -1888.66990447 -1893.72313979 153.30795965 -0.04720647 3.34720647
830 0.08300000 -1888.66984367 -1893.46839190 145.58111626 -0.04800393 3.34800393
840 0.08400000 -1888.66984156 -1893.41412536 143.93481093 -0.04879995 3.34879995
850 0.08500000 -1888.66989670 -1893.56426154 148.48805553 -0.04959439 3.34959439
860 0.08600000 -1888.66998222 -1893.83463719 156.68827294 -0.05038713 3.35038713
870 0.08700000 -1888.67006171 -1894.09325045 164.53181920 -0.05117805 3.35117805
880 0.08800000 -1888.67010273 -1894.21712661 168.28880100 -0.05196706 3.35196706
890 0.08900000 -1888.67008993 -1894.14263950 166.02935656 -0.05275408 3.35275408
900 0.09000000 -1888.67002891 -1893.89014571 158.37090587 -0.05353904 3.35353904
910 0.09100000 -1888.66994326 -1893.55535709 148.21649469 -0.05432186 3.35432186
920 0.09200000 -1888.66986526 -1893.27257949 139.63979178 -0.05510247 3.35510247
930 0.09300000 -1888.66982730 -1893.16330891 136.32582949 -0.05588078 3.35588078
940 0.09400000 -1888.66984631 -1893.28643285 140.06065785 -0.05665670 3.35665670
950 0.09500000 -1888.66991503 -1893.61245342 149.94957268 -0.05743015 3.35743015
960 0.09600000 -1888.67000691 -1894.03423922 162.74316516 -0.05820101 3.35820101
970 0.09700000 -1888.67008649 -1894.40848025 174.09469037 -0.05896915 3.35896915
980 0.09800000 -1888.67012436 -1894.61056767 180.22458605 -0.05973444 3.35973444
990 0.09900000 -1888.67010608 -1894.58107659 179.33042338 -0.06049672 3.36049672
1000 0.10000000 -1888.67003981 -1894.34773305 172.25312330 -0.06125581 3.36125581
Loop time of 3.90147 on 1 procs for 1000 steps with 256 atoms
Performance: 2.215 ns/day, 10.837 hours/ns, 256.314 timesteps/s
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 3.8786 | 3.8786 | 3.8786 | 0.0 | 99.41
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.010816 | 0.010816 | 0.010816 | 0.0 | 0.28
Output | 0.002461 | 0.002461 | 0.002461 | 0.0 | 0.06
Modify | 0.0051703 | 0.0051703 | 0.0051703 | 0.0 | 0.13
Other | | 0.004447 | | | 0.11
Nlocal: 256 ave 256 max 256 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1721 ave 1721 max 1721 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 37312 ave 37312 max 37312 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 94592 ave 94592 max 94592 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 94592
Ave neighs/atom = 369.5
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:03

View File

@ -1,208 +0,0 @@
LAMMPS (8 Mar 2018)
using 1 OpenMP thread(s) per MPI task
# Initialization
units metal
boundary p p p
atom_style atomic
processors * * 1 # domain decomposition over x and y
# System and atom definition
# we use 2 atom types so that inter- and intra-layer
# interactions can be specified separately
read_data data.bilayer-graphene # read lammps data file
orthogonal box = (0 0 -20) to (17.04 19.6761 40)
2 by 2 by 1 MPI processor grid
reading atoms ...
256 atoms
mass 1 12.0107 # carbon mass (g/mole) | membrane
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
# Neighbor update settings
neighbor 2.0 bin
neigh_modify every 1
neigh_modify delay 0
neigh_modify check yes
# Separate atom groups
group membrane type 1
128 atoms in group membrane
group adsorbant type 2
128 atoms in group adsorbant
######################## Potential defition ########################
pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0
####################################################################
pair_coeff * * rebo CH.airebo C C # chemical
Reading potential file CH.airebo with DATE: 2011-10-25
pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C # long-range
####################################################################
#### Simulation settings ####
timestep 0.0001
velocity all create 300.0 12345
fix thermostat all nve
compute COM1 membrane com
compute COM2 adsorbant com
############################
# Output
#dump 1 all xyz 100 trajec.xyz
#dump_modify 1 format line "%s %12.6f %12.6f %12.6f" element "C" "C"
thermo 10
thermo_style custom step time etotal pe temp c_COM1[3] c_COM2[3] # spcpu
thermo_modify line one format float %14.8f
###### Run molecular dynamics ######
run 1000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 16
ghost atom cutoff = 16
binsize = 8, bins = 3 3 8
3 neighbor lists, perpetual/occasional/extra = 3 0 0
(1) pair rebo, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
(2) pair kolmogorov/crespi/z, perpetual, skip from (3)
attributes: half, newton on
pair build: skip
stencil: none
bin: none
(3) neighbor class addition, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 4.572 | 4.572 | 4.572 Mbytes
Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3]
0 0.00000000 -1888.67041214 -1898.55881323 300.00000000 0.00000000 3.30000000
10 0.00100000 -1888.67037221 -1898.21029897 289.42778520 -0.00020126 3.30020126
20 0.00200000 -1888.67021541 -1897.22943612 259.67456089 -0.00041357 3.30041357
30 0.00300000 -1888.66999308 -1895.86681311 218.34126559 -0.00063673 3.30063673
40 0.00400000 -1888.66978354 -1894.47163830 176.02000692 -0.00087055 3.30087055
50 0.00500000 -1888.66966068 -1893.37123377 142.63902862 -0.00111486 3.30111486
60 0.00600000 -1888.66966132 -1892.75822749 124.04127205 -0.00136952 3.30136952
70 0.00700000 -1888.66976974 -1892.63445751 120.28297808 -0.00163441 3.30163441
80 0.00800000 -1888.66992867 -1892.83467462 126.35245792 -0.00190946 3.30190946
90 0.00900000 -1888.67006868 -1893.11387069 134.81862145 -0.00219458 3.30219458
100 0.01000000 -1888.67013621 -1893.25481851 139.09272853 -0.00248973 3.30248973
110 0.01100000 -1888.67011201 -1893.15155790 135.96068294 -0.00279489 3.30279489
120 0.01200000 -1888.67001496 -1892.84002960 126.51230266 -0.00311004 3.30311004
130 0.01300000 -1888.66988997 -1892.47004238 115.29120968 -0.00343519 3.30343519
140 0.01400000 -1888.66979230 -1892.23503116 108.16426723 -0.00377038 3.30377038
150 0.01500000 -1888.66976478 -1892.28630583 109.72070257 -0.00411562 3.30411562
160 0.01600000 -1888.66982054 -1892.66640611 121.25071190 -0.00447099 3.30447099
170 0.01700000 -1888.66993790 -1893.28862637 140.12442721 -0.00483654 3.30483654
180 0.01800000 -1888.67007017 -1893.97029258 160.80119589 -0.00521235 3.30521235
190 0.01900000 -1888.67016712 -1894.50458787 177.00801243 -0.00559851 3.30559851
200 0.02000000 -1888.67019459 -1894.73890106 184.11590729 -0.00599512 3.30599512
210 0.02100000 -1888.67014420 -1894.62906014 180.78501932 -0.00640230 3.30640230
220 0.02200000 -1888.67003680 -1894.25249103 169.36370738 -0.00682016 3.30682016
230 0.02300000 -1888.66991386 -1893.77601613 154.91186767 -0.00724883 3.30724883
240 0.02400000 -1888.66982525 -1893.38995084 143.20188490 -0.00768845 3.30768845
250 0.02500000 -1888.66980630 -1893.23138936 138.39193056 -0.00813913 3.30813913
260 0.02600000 -1888.66986130 -1893.32993923 141.38012476 -0.00860097 3.30860097
270 0.02700000 -1888.66996305 -1893.60070606 149.59171763 -0.00907408 3.30907408
280 0.02800000 -1888.67006686 -1893.88587226 158.24010433 -0.00955849 3.30955849
290 0.02900000 -1888.67012981 -1894.02402669 162.42960292 -0.01005424 3.31005424
300 0.03000000 -1888.67012722 -1893.91715234 159.18726627 -0.01056129 3.31056129
310 0.03100000 -1888.67005731 -1893.57037242 148.66857852 -0.01107957 3.31107957
320 0.03200000 -1888.66994573 -1893.09358619 134.20694883 -0.01160898 3.31160898
330 0.03300000 -1888.66983589 -1892.66132663 121.09614207 -0.01214935 3.31214935
340 0.03400000 -1888.66977410 -1892.44446345 114.51869676 -0.01270046 3.31270046
350 0.03500000 -1888.66978826 -1892.53901235 117.38674604 -0.01326207 3.31326207
360 0.03600000 -1888.66987439 -1892.92337288 129.04508371 -0.01383390 3.31383390
370 0.03700000 -1888.66999800 -1893.46445570 145.45701555 -0.01441561 3.31441561
380 0.03800000 -1888.67010960 -1893.97065516 160.81100020 -0.01500688 3.31500688
390 0.03900000 -1888.67016540 -1894.26835818 169.84119247 -0.01560734 3.31560734
400 0.04000000 -1888.67014667 -1894.26967975 169.88185546 -0.01621664 3.31621664
410 0.04100000 -1888.67006166 -1894.00321069 161.80014280 -0.01683442 3.31683442
420 0.04200000 -1888.66994367 -1893.60086324 149.59707418 -0.01746033 3.31746033
430 0.04300000 -1888.66984058 -1893.24559841 138.82197275 -0.01809405 3.31809405
440 0.04400000 -1888.66979399 -1893.09727874 134.32357877 -0.01873527 3.31873527
450 0.04500000 -1888.66982139 -1893.22837442 138.30000378 -0.01938373 3.31938373
460 0.04600000 -1888.66990972 -1893.59670383 149.47191354 -0.02003918 3.32003918
470 0.04700000 -1888.67002173 -1894.06542598 163.68887743 -0.02070143 3.32070143
480 0.04800000 -1888.67011389 -1894.46010842 175.66018439 -0.02137030 3.32137030
490 0.04900000 -1888.67015175 -1894.63688098 181.02206322 -0.02204565 3.32204565
500 0.05000000 -1888.67012158 -1894.53632221 177.97216882 -0.02272740 3.32272740
510 0.05100000 -1888.67003762 -1894.20444731 167.90610436 -0.02341547 3.32341547
520 0.05200000 -1888.66993151 -1893.77231066 154.79891353 -0.02410981 3.32410981
530 0.05300000 -1888.66984505 -1893.40525927 143.66572038 -0.02481040 3.32481040
540 0.05400000 -1888.66981408 -1893.23762083 138.58074854 -0.02551724 3.32551724
550 0.05500000 -1888.66985005 -1893.31793594 141.01630317 -0.02623032 3.32623032
560 0.05600000 -1888.66993737 -1893.59069013 149.28862751 -0.02694963 3.32694963
570 0.05700000 -1888.67003852 -1893.92089571 159.30352588 -0.02767517 3.32767517
580 0.05800000 -1888.67011322 -1894.15124753 166.28980524 -0.02840691 3.32840691
590 0.05900000 -1888.67013192 -1894.16548041 166.72104345 -0.02914478 3.32914478
600 0.06000000 -1888.67008713 -1893.93443318 159.71275856 -0.02988871 3.32988871
610 0.06100000 -1888.66999438 -1893.52841656 147.39760646 -0.03063856 3.33063856
620 0.06200000 -1888.66988809 -1893.09235021 134.17119963 -0.03139416 3.33139416
630 0.06300000 -1888.66980996 -1892.79172016 125.05288240 -0.03215531 3.33215531
640 0.06400000 -1888.66979261 -1892.74755390 123.71346730 -0.03292176 3.33292176
650 0.06500000 -1888.66984332 -1892.98665459 130.96590324 -0.03369323 3.33369323
660 0.06600000 -1888.66994245 -1893.42999868 144.41332389 -0.03446937 3.33446937
670 0.06700000 -1888.67005233 -1893.92310681 159.37018806 -0.03524986 3.33524986
680 0.06800000 -1888.67013309 -1894.29451581 170.63575808 -0.03603430 3.33603430
690 0.06900000 -1888.67015452 -1894.41878117 174.40514192 -0.03682229 3.33682229
700 0.07000000 -1888.67010897 -1894.26288036 169.67671530 -0.03761343 3.33761343
710 0.07100000 -1888.67001367 -1893.89812904 158.61357114 -0.03840729 3.33840729
720 0.07200000 -1888.66990378 -1893.47348746 145.73388454 -0.03920344 3.33920344
730 0.07300000 -1888.66982212 -1893.15984839 136.22099960 -0.04000148 3.34000148
740 0.07400000 -1888.66980109 -1893.08373746 133.91254029 -0.04080098 3.34080098
750 0.07500000 -1888.66984794 -1893.27755511 139.79127024 -0.04160156 3.34160156
760 0.07600000 -1888.66994215 -1893.66837365 151.64528967 -0.04240282 3.34240282
770 0.07700000 -1888.67004554 -1894.10941206 165.02263027 -0.04320441 3.34320441
780 0.07800000 -1888.67011702 -1894.43947545 175.03411436 -0.04400599 3.34400599
790 0.07900000 -1888.67013297 -1894.54590471 178.26254255 -0.04480726 3.34480726
800 0.08000000 -1888.67008751 -1894.40384142 173.95392406 -0.04560792 3.34560792
810 0.08100000 -1888.66999923 -1894.08389003 164.24973321 -0.04640773 3.34640773
820 0.08200000 -1888.66990447 -1893.72313979 153.30795965 -0.04720647 3.34720647
830 0.08300000 -1888.66984367 -1893.46839190 145.58111626 -0.04800393 3.34800393
840 0.08400000 -1888.66984156 -1893.41412536 143.93481093 -0.04879995 3.34879995
850 0.08500000 -1888.66989670 -1893.56426154 148.48805553 -0.04959439 3.34959439
860 0.08600000 -1888.66998222 -1893.83463719 156.68827294 -0.05038713 3.35038713
870 0.08700000 -1888.67006171 -1894.09325045 164.53181920 -0.05117805 3.35117805
880 0.08800000 -1888.67010273 -1894.21712661 168.28880100 -0.05196706 3.35196706
890 0.08900000 -1888.67008993 -1894.14263950 166.02935656 -0.05275408 3.35275408
900 0.09000000 -1888.67002891 -1893.89014571 158.37090587 -0.05353904 3.35353904
910 0.09100000 -1888.66994326 -1893.55535709 148.21649469 -0.05432186 3.35432186
920 0.09200000 -1888.66986526 -1893.27257949 139.63979178 -0.05510247 3.35510247
930 0.09300000 -1888.66982730 -1893.16330891 136.32582949 -0.05588078 3.35588078
940 0.09400000 -1888.66984631 -1893.28643285 140.06065785 -0.05665670 3.35665670
950 0.09500000 -1888.66991503 -1893.61245342 149.94957268 -0.05743015 3.35743015
960 0.09600000 -1888.67000691 -1894.03423922 162.74316516 -0.05820101 3.35820101
970 0.09700000 -1888.67008649 -1894.40848025 174.09469037 -0.05896915 3.35896915
980 0.09800000 -1888.67012436 -1894.61056767 180.22458605 -0.05973444 3.35973444
990 0.09900000 -1888.67010608 -1894.58107659 179.33042338 -0.06049672 3.36049672
1000 0.10000000 -1888.67003981 -1894.34773305 172.25312330 -0.06125581 3.36125581
Loop time of 1.32192 on 4 procs for 1000 steps with 256 atoms
Performance: 6.536 ns/day, 3.672 hours/ns, 756.476 timesteps/s
98.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 | 1.1157 | 1.172 | 1.2369 | 4.0 | 88.66
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.071678 | 0.13667 | 0.19304 | 11.8 | 10.34
Output | 0.0029244 | 0.0031272 | 0.0035112 | 0.4 | 0.24
Modify | 0.0016961 | 0.0017477 | 0.0017846 | 0.1 | 0.13
Other | | 0.008334 | | | 0.63
Nlocal: 64 ave 64 max 64 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Nghost: 1265 ave 1265 max 1265 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Neighs: 9328 ave 9328 max 9328 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 23648 ave 23648 max 23648 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Total # of neighbors = 94592
Ave neighs/atom = 369.5
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:01

View File

@ -0,0 +1,210 @@
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# Initialization
units metal
boundary p p p
atom_style atomic
processors * * 1 # domain decomposition over x and y
# System and atom definition
# we use 2 atom types so that inter- and intra-layer
# interactions can be specified separately
read_data data.bilayer-graphene # read lammps data file
orthogonal box = (0 0 -20) to (17.04 19.6761 40)
1 by 1 by 1 MPI processor grid
reading atoms ...
256 atoms
read_data CPU = 0.000291348 secs
mass 1 12.0107 # carbon mass (g/mole) | membrane
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
# Neighbor update settings
neighbor 2.0 bin
neigh_modify every 1
neigh_modify delay 0
neigh_modify check yes
# Separate atom groups
group membrane type 1
128 atoms in group membrane
group adsorbant type 2
128 atoms in group adsorbant
######################## Potential defition ########################
pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0
####################################################################
pair_coeff * * rebo CH.rebo C C # chemical
Reading potential file CH.rebo with DATE: 2018-7-3
pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C # long-range
####################################################################
#### Simulation settings ####
timestep 0.0001
velocity all create 300.0 12345
fix thermostat all nve
compute COM1 membrane com
compute COM2 adsorbant com
############################
# Output
#dump 1 all xyz 100 trajec.xyz
#dump_modify 1 format line "%s %12.6f %12.6f %12.6f" element "C" "C"
thermo 10
thermo_style custom step time etotal pe temp c_COM1[3] c_COM2[3] # spcpu
thermo_modify line one format float %14.8f
###### Run molecular dynamics ######
run 1000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 16
ghost atom cutoff = 16
binsize = 8, bins = 3 3 8
3 neighbor lists, perpetual/occasional/extra = 3 0 0
(1) pair rebo, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
(2) pair kolmogorov/crespi/z, perpetual, skip from (3)
attributes: half, newton on
pair build: skip
stencil: none
bin: none
(3) neighbor class addition, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 4.998 | 4.998 | 4.998 Mbytes
Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3]
0 0.00000000 -1888.67041233 -1898.55881343 300.00000000 0.00000000 3.30000000
10 0.00100000 -1888.67037240 -1898.21029916 289.42778520 -0.00020126 3.30020126
20 0.00200000 -1888.67021561 -1897.22943631 259.67456089 -0.00041357 3.30041357
30 0.00300000 -1888.66999327 -1895.86681330 218.34126559 -0.00063673 3.30063673
40 0.00400000 -1888.66978373 -1894.47163849 176.02000692 -0.00087055 3.30087055
50 0.00500000 -1888.66966087 -1893.37123396 142.63902861 -0.00111486 3.30111486
60 0.00600000 -1888.66966151 -1892.75822768 124.04127204 -0.00136952 3.30136952
70 0.00700000 -1888.66976993 -1892.63445770 120.28297806 -0.00163441 3.30163441
80 0.00800000 -1888.66992887 -1892.83467481 126.35245790 -0.00190946 3.30190946
90 0.00900000 -1888.67006887 -1893.11387088 134.81862143 -0.00219458 3.30219458
100 0.01000000 -1888.67013641 -1893.25481870 139.09272852 -0.00248973 3.30248973
110 0.01100000 -1888.67011221 -1893.15155809 135.96068294 -0.00279489 3.30279489
120 0.01200000 -1888.67001516 -1892.84002980 126.51230266 -0.00311004 3.30311004
130 0.01300000 -1888.66989017 -1892.47004258 115.29120969 -0.00343519 3.30343519
140 0.01400000 -1888.66979250 -1892.23503136 108.16426724 -0.00377038 3.30377038
150 0.01500000 -1888.66976498 -1892.28630603 109.72070258 -0.00411562 3.30411562
160 0.01600000 -1888.66982073 -1892.66640631 121.25071190 -0.00447099 3.30447099
170 0.01700000 -1888.66993810 -1893.28862656 140.12442720 -0.00483654 3.30483654
180 0.01800000 -1888.67007037 -1893.97029277 160.80119589 -0.00521235 3.30521235
190 0.01900000 -1888.67016732 -1894.50458806 177.00801243 -0.00559851 3.30559851
200 0.02000000 -1888.67019479 -1894.73890125 184.11590729 -0.00599512 3.30599512
210 0.02100000 -1888.67014440 -1894.62906034 180.78501933 -0.00640230 3.30640230
220 0.02200000 -1888.67003699 -1894.25249122 169.36370739 -0.00682016 3.30682016
230 0.02300000 -1888.66991405 -1893.77601632 154.91186768 -0.00724883 3.30724883
240 0.02400000 -1888.66982545 -1893.38995103 143.20188490 -0.00768845 3.30768845
250 0.02500000 -1888.66980650 -1893.23138955 138.39193054 -0.00813913 3.30813913
260 0.02600000 -1888.66986149 -1893.32993943 141.38012473 -0.00860097 3.30860097
270 0.02700000 -1888.66996324 -1893.60070625 149.59171759 -0.00907408 3.30907408
280 0.02800000 -1888.67006705 -1893.88587245 158.24010430 -0.00955849 3.30955849
290 0.02900000 -1888.67013001 -1894.02402688 162.42960290 -0.01005424 3.31005424
300 0.03000000 -1888.67012741 -1893.91715254 159.18726627 -0.01056129 3.31056129
310 0.03100000 -1888.67005750 -1893.57037262 148.66857854 -0.01107957 3.31107957
320 0.03200000 -1888.66994592 -1893.09358639 134.20694885 -0.01160898 3.31160898
330 0.03300000 -1888.66983608 -1892.66132683 121.09614209 -0.01214935 3.31214935
340 0.03400000 -1888.66977429 -1892.44446364 114.51869677 -0.01270046 3.31270046
350 0.03500000 -1888.66978845 -1892.53901254 117.38674604 -0.01326207 3.31326207
360 0.03600000 -1888.66987459 -1892.92337308 129.04508370 -0.01383390 3.31383390
370 0.03700000 -1888.66999819 -1893.46445589 145.45701553 -0.01441561 3.31441561
380 0.03800000 -1888.67010979 -1893.97065536 160.81100019 -0.01500688 3.31500688
390 0.03900000 -1888.67016559 -1894.26835837 169.84119248 -0.01560734 3.31560734
400 0.04000000 -1888.67014686 -1894.26967995 169.88185548 -0.01621664 3.31621664
410 0.04100000 -1888.67006186 -1894.00321089 161.80014284 -0.01683442 3.31683442
420 0.04200000 -1888.66994386 -1893.60086344 149.59707422 -0.01746033 3.31746033
430 0.04300000 -1888.66984078 -1893.24559860 138.82197278 -0.01809405 3.31809405
440 0.04400000 -1888.66979419 -1893.09727893 134.32357877 -0.01873527 3.31873527
450 0.04500000 -1888.66982159 -1893.22837461 138.30000376 -0.01938373 3.31938373
460 0.04600000 -1888.66990991 -1893.59670402 149.47191350 -0.02003918 3.32003918
470 0.04700000 -1888.67002193 -1894.06542618 163.68887740 -0.02070143 3.32070143
480 0.04800000 -1888.67011408 -1894.46010861 175.66018436 -0.02137030 3.32137030
490 0.04900000 -1888.67015195 -1894.63688117 181.02206322 -0.02204565 3.32204565
500 0.05000000 -1888.67012178 -1894.53632241 177.97216884 -0.02272740 3.32272740
510 0.05100000 -1888.67003782 -1894.20444750 167.90610440 -0.02341547 3.32341547
520 0.05200000 -1888.66993171 -1893.77231086 154.79891357 -0.02410981 3.32410981
530 0.05300000 -1888.66984524 -1893.40525947 143.66572040 -0.02481040 3.32481040
540 0.05400000 -1888.66981428 -1893.23762103 138.58074854 -0.02551724 3.32551724
550 0.05500000 -1888.66985024 -1893.31793613 141.01630314 -0.02623032 3.32623032
560 0.05600000 -1888.66993756 -1893.59069032 149.28862746 -0.02694963 3.32694963
570 0.05700000 -1888.67003871 -1893.92089591 159.30352583 -0.02767517 3.32767517
580 0.05800000 -1888.67011342 -1894.15124772 166.28980520 -0.02840691 3.32840691
590 0.05900000 -1888.67013211 -1894.16548061 166.72104344 -0.02914478 3.32914478
600 0.06000000 -1888.67008732 -1893.93443338 159.71275857 -0.02988871 3.32988871
610 0.06100000 -1888.66999458 -1893.52841675 147.39760649 -0.03063856 3.33063856
620 0.06200000 -1888.66988829 -1893.09235041 134.17119966 -0.03139416 3.33139416
630 0.06300000 -1888.66981016 -1892.79172036 125.05288241 -0.03215531 3.33215531
640 0.06400000 -1888.66979281 -1892.74755409 123.71346729 -0.03292176 3.33292176
650 0.06500000 -1888.66984352 -1892.98665478 130.96590321 -0.03369323 3.33369323
660 0.06600000 -1888.66994264 -1893.42999887 144.41332385 -0.03446937 3.33446937
670 0.06700000 -1888.67005253 -1893.92310700 159.37018803 -0.03524986 3.33524986
680 0.06800000 -1888.67013328 -1894.29451600 170.63575807 -0.03603430 3.33603430
690 0.06900000 -1888.67015472 -1894.41878137 174.40514195 -0.03682229 3.33682229
700 0.07000000 -1888.67010916 -1894.26288055 169.67671536 -0.03761343 3.33761343
710 0.07100000 -1888.67001386 -1893.89812923 158.61357122 -0.03840729 3.33840729
720 0.07200000 -1888.66990397 -1893.47348765 145.73388461 -0.03920344 3.33920344
730 0.07300000 -1888.66982231 -1893.15984859 136.22099965 -0.04000148 3.34000148
740 0.07400000 -1888.66980129 -1893.08373765 133.91254030 -0.04080098 3.34080098
750 0.07500000 -1888.66984814 -1893.27755530 139.79127022 -0.04160156 3.34160156
760 0.07600000 -1888.66994235 -1893.66837384 151.64528962 -0.04240282 3.34240282
770 0.07700000 -1888.67004573 -1894.10941225 165.02263022 -0.04320441 3.34320441
780 0.07800000 -1888.67011722 -1894.43947564 175.03411433 -0.04400599 3.34400599
790 0.07900000 -1888.67013317 -1894.54590490 178.26254255 -0.04480726 3.34480726
800 0.08000000 -1888.67008771 -1894.40384162 173.95392409 -0.04560792 3.34560792
810 0.08100000 -1888.66999942 -1894.08389023 164.24973325 -0.04640773 3.34640773
820 0.08200000 -1888.66990467 -1893.72313999 153.30795968 -0.04720647 3.34720647
830 0.08300000 -1888.66984387 -1893.46839210 145.58111627 -0.04800393 3.34800393
840 0.08400000 -1888.66984175 -1893.41412556 143.93481091 -0.04879995 3.34879995
850 0.08500000 -1888.66989690 -1893.56426173 148.48805548 -0.04959439 3.34959439
860 0.08600000 -1888.66998242 -1893.83463738 156.68827289 -0.05038713 3.35038713
870 0.08700000 -1888.67006191 -1894.09325064 164.53181916 -0.05117805 3.35117805
880 0.08800000 -1888.67010292 -1894.21712680 168.28880099 -0.05196706 3.35196706
890 0.08900000 -1888.67009013 -1894.14263970 166.02935659 -0.05275408 3.35275408
900 0.09000000 -1888.67002911 -1893.89014590 158.37090593 -0.05353904 3.35353904
910 0.09100000 -1888.66994346 -1893.55535729 148.21649476 -0.05432186 3.35432186
920 0.09200000 -1888.66986545 -1893.27257968 139.63979183 -0.05510247 3.35510247
930 0.09300000 -1888.66982750 -1893.16330910 136.32582951 -0.05588078 3.35588078
940 0.09400000 -1888.66984650 -1893.28643304 140.06065783 -0.05665670 3.35665670
950 0.09500000 -1888.66991522 -1893.61245361 149.94957262 -0.05743015 3.35743015
960 0.09600000 -1888.67000710 -1894.03423941 162.74316510 -0.05820101 3.35820101
970 0.09700000 -1888.67008668 -1894.40848044 174.09469033 -0.05896915 3.35896915
980 0.09800000 -1888.67012456 -1894.61056787 180.22458605 -0.05973444 3.35973444
990 0.09900000 -1888.67010627 -1894.58107679 179.33042341 -0.06049672 3.36049672
1000 0.10000000 -1888.67004000 -1894.34773324 172.25312335 -0.06125581 3.36125581
Loop time of 2.60456 on 1 procs for 1000 steps with 256 atoms
Performance: 3.317 ns/day, 7.235 hours/ns, 383.942 timesteps/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 | 2.5864 | 2.5864 | 2.5864 | 0.0 | 99.30
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.0079134 | 0.0079134 | 0.0079134 | 0.0 | 0.30
Output | 0.0027175 | 0.0027175 | 0.0027175 | 0.0 | 0.10
Modify | 0.00419 | 0.00419 | 0.00419 | 0.0 | 0.16
Other | | 0.00331 | | | 0.13
Nlocal: 256 ave 256 max 256 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1721 ave 1721 max 1721 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 37312 ave 37312 max 37312 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 94592 ave 94592 max 94592 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 94592
Ave neighs/atom = 369.5
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:02

View File

@ -0,0 +1,210 @@
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# Initialization
units metal
boundary p p p
atom_style atomic
processors * * 1 # domain decomposition over x and y
# System and atom definition
# we use 2 atom types so that inter- and intra-layer
# interactions can be specified separately
read_data data.bilayer-graphene # read lammps data file
orthogonal box = (0 0 -20) to (17.04 19.6761 40)
2 by 2 by 1 MPI processor grid
reading atoms ...
256 atoms
read_data CPU = 0.0488505 secs
mass 1 12.0107 # carbon mass (g/mole) | membrane
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
# Neighbor update settings
neighbor 2.0 bin
neigh_modify every 1
neigh_modify delay 0
neigh_modify check yes
# Separate atom groups
group membrane type 1
128 atoms in group membrane
group adsorbant type 2
128 atoms in group adsorbant
######################## Potential defition ########################
pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0
####################################################################
pair_coeff * * rebo CH.rebo C C # chemical
Reading potential file CH.rebo with DATE: 2018-7-3
pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C # long-range
####################################################################
#### Simulation settings ####
timestep 0.0001
velocity all create 300.0 12345
fix thermostat all nve
compute COM1 membrane com
compute COM2 adsorbant com
############################
# Output
#dump 1 all xyz 100 trajec.xyz
#dump_modify 1 format line "%s %12.6f %12.6f %12.6f" element "C" "C"
thermo 10
thermo_style custom step time etotal pe temp c_COM1[3] c_COM2[3] # spcpu
thermo_modify line one format float %14.8f
###### Run molecular dynamics ######
run 1000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 16
ghost atom cutoff = 16
binsize = 8, bins = 3 3 8
3 neighbor lists, perpetual/occasional/extra = 3 0 0
(1) pair rebo, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
(2) pair kolmogorov/crespi/z, perpetual, skip from (3)
attributes: half, newton on
pair build: skip
stencil: none
bin: none
(3) neighbor class addition, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 4.572 | 4.572 | 4.572 Mbytes
Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3]
0 0.00000000 -1888.67041233 -1898.55881343 300.00000000 0.00000000 3.30000000
10 0.00100000 -1888.67037240 -1898.21029916 289.42778520 -0.00020126 3.30020126
20 0.00200000 -1888.67021561 -1897.22943631 259.67456089 -0.00041357 3.30041357
30 0.00300000 -1888.66999327 -1895.86681330 218.34126559 -0.00063673 3.30063673
40 0.00400000 -1888.66978373 -1894.47163849 176.02000692 -0.00087055 3.30087055
50 0.00500000 -1888.66966087 -1893.37123396 142.63902861 -0.00111486 3.30111486
60 0.00600000 -1888.66966151 -1892.75822768 124.04127204 -0.00136952 3.30136952
70 0.00700000 -1888.66976993 -1892.63445770 120.28297806 -0.00163441 3.30163441
80 0.00800000 -1888.66992887 -1892.83467481 126.35245790 -0.00190946 3.30190946
90 0.00900000 -1888.67006887 -1893.11387088 134.81862143 -0.00219458 3.30219458
100 0.01000000 -1888.67013641 -1893.25481870 139.09272852 -0.00248973 3.30248973
110 0.01100000 -1888.67011221 -1893.15155809 135.96068294 -0.00279489 3.30279489
120 0.01200000 -1888.67001516 -1892.84002980 126.51230266 -0.00311004 3.30311004
130 0.01300000 -1888.66989017 -1892.47004258 115.29120969 -0.00343519 3.30343519
140 0.01400000 -1888.66979250 -1892.23503136 108.16426724 -0.00377038 3.30377038
150 0.01500000 -1888.66976498 -1892.28630603 109.72070258 -0.00411562 3.30411562
160 0.01600000 -1888.66982073 -1892.66640631 121.25071190 -0.00447099 3.30447099
170 0.01700000 -1888.66993810 -1893.28862656 140.12442720 -0.00483654 3.30483654
180 0.01800000 -1888.67007037 -1893.97029277 160.80119589 -0.00521235 3.30521235
190 0.01900000 -1888.67016732 -1894.50458806 177.00801243 -0.00559851 3.30559851
200 0.02000000 -1888.67019479 -1894.73890125 184.11590729 -0.00599512 3.30599512
210 0.02100000 -1888.67014440 -1894.62906034 180.78501933 -0.00640230 3.30640230
220 0.02200000 -1888.67003699 -1894.25249122 169.36370739 -0.00682016 3.30682016
230 0.02300000 -1888.66991405 -1893.77601632 154.91186768 -0.00724883 3.30724883
240 0.02400000 -1888.66982545 -1893.38995103 143.20188490 -0.00768845 3.30768845
250 0.02500000 -1888.66980650 -1893.23138955 138.39193054 -0.00813913 3.30813913
260 0.02600000 -1888.66986149 -1893.32993943 141.38012473 -0.00860097 3.30860097
270 0.02700000 -1888.66996324 -1893.60070625 149.59171759 -0.00907408 3.30907408
280 0.02800000 -1888.67006705 -1893.88587245 158.24010430 -0.00955849 3.30955849
290 0.02900000 -1888.67013001 -1894.02402688 162.42960290 -0.01005424 3.31005424
300 0.03000000 -1888.67012741 -1893.91715254 159.18726627 -0.01056129 3.31056129
310 0.03100000 -1888.67005750 -1893.57037262 148.66857854 -0.01107957 3.31107957
320 0.03200000 -1888.66994592 -1893.09358639 134.20694885 -0.01160898 3.31160898
330 0.03300000 -1888.66983608 -1892.66132683 121.09614209 -0.01214935 3.31214935
340 0.03400000 -1888.66977429 -1892.44446364 114.51869677 -0.01270046 3.31270046
350 0.03500000 -1888.66978845 -1892.53901254 117.38674604 -0.01326207 3.31326207
360 0.03600000 -1888.66987459 -1892.92337308 129.04508370 -0.01383390 3.31383390
370 0.03700000 -1888.66999819 -1893.46445589 145.45701553 -0.01441561 3.31441561
380 0.03800000 -1888.67010979 -1893.97065536 160.81100019 -0.01500688 3.31500688
390 0.03900000 -1888.67016559 -1894.26835837 169.84119248 -0.01560734 3.31560734
400 0.04000000 -1888.67014686 -1894.26967995 169.88185548 -0.01621664 3.31621664
410 0.04100000 -1888.67006186 -1894.00321089 161.80014284 -0.01683442 3.31683442
420 0.04200000 -1888.66994386 -1893.60086344 149.59707422 -0.01746033 3.31746033
430 0.04300000 -1888.66984078 -1893.24559860 138.82197278 -0.01809405 3.31809405
440 0.04400000 -1888.66979419 -1893.09727893 134.32357877 -0.01873527 3.31873527
450 0.04500000 -1888.66982159 -1893.22837461 138.30000376 -0.01938373 3.31938373
460 0.04600000 -1888.66990991 -1893.59670402 149.47191350 -0.02003918 3.32003918
470 0.04700000 -1888.67002193 -1894.06542618 163.68887740 -0.02070143 3.32070143
480 0.04800000 -1888.67011408 -1894.46010861 175.66018436 -0.02137030 3.32137030
490 0.04900000 -1888.67015195 -1894.63688117 181.02206322 -0.02204565 3.32204565
500 0.05000000 -1888.67012178 -1894.53632241 177.97216884 -0.02272740 3.32272740
510 0.05100000 -1888.67003782 -1894.20444750 167.90610440 -0.02341547 3.32341547
520 0.05200000 -1888.66993171 -1893.77231086 154.79891357 -0.02410981 3.32410981
530 0.05300000 -1888.66984524 -1893.40525947 143.66572040 -0.02481040 3.32481040
540 0.05400000 -1888.66981428 -1893.23762103 138.58074854 -0.02551724 3.32551724
550 0.05500000 -1888.66985024 -1893.31793613 141.01630314 -0.02623032 3.32623032
560 0.05600000 -1888.66993756 -1893.59069032 149.28862746 -0.02694963 3.32694963
570 0.05700000 -1888.67003871 -1893.92089591 159.30352583 -0.02767517 3.32767517
580 0.05800000 -1888.67011342 -1894.15124772 166.28980520 -0.02840691 3.32840691
590 0.05900000 -1888.67013211 -1894.16548061 166.72104344 -0.02914478 3.32914478
600 0.06000000 -1888.67008732 -1893.93443338 159.71275857 -0.02988871 3.32988871
610 0.06100000 -1888.66999458 -1893.52841675 147.39760649 -0.03063856 3.33063856
620 0.06200000 -1888.66988829 -1893.09235041 134.17119966 -0.03139416 3.33139416
630 0.06300000 -1888.66981016 -1892.79172036 125.05288241 -0.03215531 3.33215531
640 0.06400000 -1888.66979281 -1892.74755409 123.71346729 -0.03292176 3.33292176
650 0.06500000 -1888.66984352 -1892.98665478 130.96590321 -0.03369323 3.33369323
660 0.06600000 -1888.66994264 -1893.42999887 144.41332385 -0.03446937 3.33446937
670 0.06700000 -1888.67005253 -1893.92310700 159.37018803 -0.03524986 3.33524986
680 0.06800000 -1888.67013328 -1894.29451600 170.63575807 -0.03603430 3.33603430
690 0.06900000 -1888.67015472 -1894.41878137 174.40514195 -0.03682229 3.33682229
700 0.07000000 -1888.67010916 -1894.26288055 169.67671536 -0.03761343 3.33761343
710 0.07100000 -1888.67001386 -1893.89812923 158.61357122 -0.03840729 3.33840729
720 0.07200000 -1888.66990397 -1893.47348765 145.73388461 -0.03920344 3.33920344
730 0.07300000 -1888.66982231 -1893.15984859 136.22099965 -0.04000148 3.34000148
740 0.07400000 -1888.66980129 -1893.08373765 133.91254030 -0.04080098 3.34080098
750 0.07500000 -1888.66984814 -1893.27755530 139.79127022 -0.04160156 3.34160156
760 0.07600000 -1888.66994235 -1893.66837384 151.64528962 -0.04240282 3.34240282
770 0.07700000 -1888.67004573 -1894.10941225 165.02263022 -0.04320441 3.34320441
780 0.07800000 -1888.67011722 -1894.43947564 175.03411433 -0.04400599 3.34400599
790 0.07900000 -1888.67013317 -1894.54590490 178.26254255 -0.04480726 3.34480726
800 0.08000000 -1888.67008771 -1894.40384162 173.95392409 -0.04560792 3.34560792
810 0.08100000 -1888.66999942 -1894.08389023 164.24973325 -0.04640773 3.34640773
820 0.08200000 -1888.66990467 -1893.72313999 153.30795968 -0.04720647 3.34720647
830 0.08300000 -1888.66984387 -1893.46839210 145.58111627 -0.04800393 3.34800393
840 0.08400000 -1888.66984175 -1893.41412556 143.93481091 -0.04879995 3.34879995
850 0.08500000 -1888.66989690 -1893.56426173 148.48805548 -0.04959439 3.34959439
860 0.08600000 -1888.66998242 -1893.83463738 156.68827289 -0.05038713 3.35038713
870 0.08700000 -1888.67006191 -1894.09325064 164.53181916 -0.05117805 3.35117805
880 0.08800000 -1888.67010292 -1894.21712680 168.28880099 -0.05196706 3.35196706
890 0.08900000 -1888.67009013 -1894.14263970 166.02935659 -0.05275408 3.35275408
900 0.09000000 -1888.67002911 -1893.89014590 158.37090593 -0.05353904 3.35353904
910 0.09100000 -1888.66994346 -1893.55535729 148.21649476 -0.05432186 3.35432186
920 0.09200000 -1888.66986545 -1893.27257968 139.63979183 -0.05510247 3.35510247
930 0.09300000 -1888.66982750 -1893.16330910 136.32582951 -0.05588078 3.35588078
940 0.09400000 -1888.66984650 -1893.28643304 140.06065783 -0.05665670 3.35665670
950 0.09500000 -1888.66991522 -1893.61245361 149.94957262 -0.05743015 3.35743015
960 0.09600000 -1888.67000710 -1894.03423941 162.74316510 -0.05820101 3.35820101
970 0.09700000 -1888.67008668 -1894.40848044 174.09469033 -0.05896915 3.35896915
980 0.09800000 -1888.67012456 -1894.61056787 180.22458605 -0.05973444 3.35973444
990 0.09900000 -1888.67010627 -1894.58107679 179.33042341 -0.06049672 3.36049672
1000 0.10000000 -1888.67004000 -1894.34773324 172.25312335 -0.06125581 3.36125581
Loop time of 1.55992 on 4 procs for 1000 steps with 256 atoms
Performance: 5.539 ns/day, 4.333 hours/ns, 641.059 timesteps/s
96.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 | 1.3161 | 1.3724 | 1.4128 | 3.0 | 87.98
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.11734 | 0.16017 | 0.21617 | 8.9 | 10.27
Output | 0.0032182 | 0.0051764 | 0.010916 | 4.6 | 0.33
Modify | 0.0020187 | 0.0022321 | 0.0026002 | 0.5 | 0.14
Other | | 0.0199 | | | 1.28
Nlocal: 64 ave 64 max 64 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Nghost: 1265 ave 1265 max 1265 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Neighs: 9328 ave 9328 max 9328 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 23648 ave 23648 max 23648 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Total # of neighbors = 94592
Ave neighs/atom = 369.5
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:01

1
examples/airebo/CH.rebo Symbolic link
View File

@ -0,0 +1 @@
../../potentials/CH.rebo

View File

@ -0,0 +1,22 @@
# AIREBO polyethelene benchmark
units metal
atom_style atomic
read_data data.airebo
replicate 17 16 2
neighbor 0.5 bin
neigh_modify delay 5 every 1
pair_style airebo 3.0 0 0
pair_coeff * * CH.airebo C H
velocity all create 300.0 761341
fix 1 all nve
timestep 0.0005
thermo 10
run 100

22
examples/airebo/in.rebo2 Normal file
View File

@ -0,0 +1,22 @@
# REBO polyethelene benchmark
units metal
atom_style atomic
read_data data.airebo
replicate 17 16 2
neighbor 0.5 bin
neigh_modify delay 5 every 1
pair_style rebo
pair_coeff * * CH.rebo C H
velocity all create 300.0 761341
fix 1 all nve
timestep 0.0005
thermo 10
run 100

View File

@ -0,0 +1,89 @@
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# AIREBO polyethelene benchmark
units metal
atom_style atomic
read_data data.airebo
orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579)
1 by 1 by 1 MPI processor grid
reading atoms ...
60 atoms
read_data CPU = 0.000232458 secs
replicate 17 16 2
orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158)
1 by 1 by 1 MPI processor grid
32640 atoms
replicate CPU = 0.00206327 secs
neighbor 0.5 bin
neigh_modify delay 5 every 1
pair_style airebo 3.0 0 0
pair_coeff * * CH.airebo C H
Reading potential file CH.airebo with DATE: 2011-10-25
velocity all create 300.0 761341
fix 1 all nve
timestep 0.0005
thermo 10
run 100
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 6.5
ghost atom cutoff = 6.5
binsize = 3.25, bins = 22 21 16
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair airebo, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 34.21 | 34.21 | 34.21 Mbytes
Step Temp E_pair E_mol TotEng Press
0 300 -138442.83 0 -137177.16 2463.0755
10 179.38448 -137931.29 0 -137174.48 15656.69
20 206.89283 -138047.06 0 -137174.19 -24047.407
30 150.81289 -137807.48 0 -137171.21 -16524.191
40 173.24289 -137902.32 0 -137171.42 -5721.7187
50 151.80722 -137812.37 0 -137171.91 3489.8954
60 199.06038 -138013.7 0 -137173.88 17887.025
70 217.84848 -138093.82 0 -137174.73 -12266.16
80 202.34667 -138029.28 0 -137175.59 -7623.6634
90 194.92367 -137997.12 0 -137174.75 -32277.173
100 185.2078 -137954.64 0 -137173.26 -6888.5104
Loop time of 9.70367 on 1 procs for 100 steps with 32640 atoms
Performance: 0.445 ns/day, 53.909 hours/ns, 10.305 timesteps/s
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 7.2508 | 7.2508 | 7.2508 | 0.0 | 74.72
Neigh | 2.3573 | 2.3573 | 2.3573 | 0.0 | 24.29
Comm | 0.03116 | 0.03116 | 0.03116 | 0.0 | 0.32
Output | 0.0014739 | 0.0014739 | 0.0014739 | 0.0 | 0.02
Modify | 0.0447 | 0.0447 | 0.0447 | 0.0 | 0.46
Other | | 0.01819 | | | 0.19
Nlocal: 32640 ave 32640 max 32640 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 26460 ave 26460 max 26460 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 4.90213e+06 ave 4.90213e+06 max 4.90213e+06 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 4902134
Ave neighs/atom = 150.188
Neighbor list builds = 9
Dangerous builds = 0
Total wall time: 0:00:10

View File

@ -0,0 +1,89 @@
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# AIREBO polyethelene benchmark
units metal
atom_style atomic
read_data data.airebo
orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579)
1 by 1 by 4 MPI processor grid
reading atoms ...
60 atoms
read_data CPU = 0.000363827 secs
replicate 17 16 2
orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158)
2 by 2 by 1 MPI processor grid
32640 atoms
replicate CPU = 0.00244427 secs
neighbor 0.5 bin
neigh_modify delay 5 every 1
pair_style airebo 3.0 0 0
pair_coeff * * CH.airebo C H
Reading potential file CH.airebo with DATE: 2011-10-25
velocity all create 300.0 761341
fix 1 all nve
timestep 0.0005
thermo 10
run 100
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 6.5
ghost atom cutoff = 6.5
binsize = 3.25, bins = 22 21 16
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair airebo, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 11.75 | 11.94 | 12.13 Mbytes
Step Temp E_pair E_mol TotEng Press
0 300 -138442.83 0 -137177.16 2463.0755
10 179.38448 -137931.29 0 -137174.48 15656.69
20 206.89283 -138047.06 0 -137174.19 -24047.407
30 150.81289 -137807.48 0 -137171.21 -16524.191
40 173.24289 -137902.32 0 -137171.42 -5721.7187
50 151.80722 -137812.37 0 -137171.91 3489.8954
60 199.06038 -138013.7 0 -137173.88 17887.025
70 217.84848 -138093.82 0 -137174.73 -12266.16
80 202.34667 -138029.28 0 -137175.59 -7623.6634
90 194.92367 -137997.12 0 -137174.75 -32277.173
100 185.2078 -137954.64 0 -137173.26 -6888.5104
Loop time of 6.71962 on 4 procs for 100 steps with 32640 atoms
Performance: 0.643 ns/day, 37.331 hours/ns, 14.882 timesteps/s
96.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 | 4.4598 | 4.6375 | 4.7708 | 5.5 | 69.01
Neigh | 1.5903 | 1.6452 | 1.7207 | 3.8 | 24.48
Comm | 0.16708 | 0.37041 | 0.56709 | 25.1 | 5.51
Output | 0.001061 | 0.0059808 | 0.0090635 | 4.3 | 0.09
Modify | 0.030086 | 0.03154 | 0.032522 | 0.5 | 0.47
Other | | 0.02897 | | | 0.43
Nlocal: 8160 ave 8163 max 8157 min
Histogram: 1 1 0 0 0 0 0 0 1 1
Nghost: 11605.8 ave 11615 max 11593 min
Histogram: 1 0 0 0 0 0 2 0 0 1
Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 1.22553e+06 ave 1.22734e+06 max 1.22455e+06 min
Histogram: 2 0 0 1 0 0 0 0 0 1
Total # of neighbors = 4902134
Ave neighs/atom = 150.188
Neighbor list builds = 9
Dangerous builds = 0
Total wall time: 0:00:07

View File

@ -1,36 +1,38 @@
LAMMPS (27 Nov 2018)
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# AIREBO polyethelene benchmark
units metal
atom_style atomic
units metal
atom_style atomic
read_data data.airebo
read_data data.airebo
orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579)
1 by 1 by 1 MPI processor grid
reading atoms ...
60 atoms
read_data CPU = 0.000225067 secs
replicate 17 16 2
replicate 17 16 2
orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158)
1 by 1 by 1 MPI processor grid
32640 atoms
Time spent = 0.00141144 secs
replicate CPU = 0.00226521 secs
neighbor 0.5 bin
neigh_modify delay 5 every 1
neighbor 0.5 bin
neigh_modify delay 5 every 1
pair_style airebo/morse 3.0 1 1
pair_coeff * * ../../potentials/CH.airebo-m C H
Reading potential file ../../potentials/CH.airebo-m with DATE: 2016-03-15
pair_style airebo/morse 3.0 1 1
pair_coeff * * CH.airebo-m C H
Reading potential file CH.airebo-m with DATE: 2016-03-15
velocity all create 300.0 761341
velocity all create 300.0 761341
fix 1 all nve
timestep 0.0005
fix 1 all nve
timestep 0.0005
thermo 10
run 100
thermo 10
run 100
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
@ -45,7 +47,7 @@ Neighbor list info ...
bin: standard
Per MPI rank memory allocation (min/avg/max) = 106.4 | 106.4 | 106.4 Mbytes
Step Temp E_pair E_mol TotEng Press
0 300 -139283.82 0 -138018.14 152.25271
0 300 -139283.82 0 -138018.14 152.25266
10 166.76148 -138718.75 0 -138015.19 17412.343
20 207.7293 -138891.79 0 -138015.4 -19395.339
30 138.54469 -138596.42 0 -138011.92 -11909.248
@ -55,21 +57,21 @@ Step Temp E_pair E_mol TotEng Press
70 185.72779 -138799.18 0 -138015.61 -10803.744
80 164.28396 -138709.5 0 -138016.4 -1524.7353
90 180.26403 -138776.42 0 -138015.9 -27143.467
100 164.05694 -138706.58 0 -138014.44 5157.5516
Loop time of 64.6107 on 1 procs for 100 steps with 32640 atoms
100 164.05694 -138706.58 0 -138014.44 5157.5517
Loop time of 111.537 on 1 procs for 100 steps with 32640 atoms
Performance: 0.067 ns/day, 358.948 hours/ns, 1.548 timesteps/s
Performance: 0.039 ns/day, 619.650 hours/ns, 0.897 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 | 59.916 | 59.916 | 59.916 | 0.0 | 92.73
Neigh | 4.6347 | 4.6347 | 4.6347 | 0.0 | 7.17
Comm | 0.025572 | 0.025572 | 0.025572 | 0.0 | 0.04
Output | 0.00098896 | 0.00098896 | 0.00098896 | 0.0 | 0.00
Modify | 0.022327 | 0.022327 | 0.022327 | 0.0 | 0.03
Other | | 0.01076 | | | 0.02
Pair | 103.58 | 103.58 | 103.58 | 0.0 | 92.87
Neigh | 7.8371 | 7.8371 | 7.8371 | 0.0 | 7.03
Comm | 0.046259 | 0.046259 | 0.046259 | 0.0 | 0.04
Output | 0.001497 | 0.001497 | 0.001497 | 0.0 | 0.00
Modify | 0.047151 | 0.047151 | 0.047151 | 0.0 | 0.04
Other | | 0.02204 | | | 0.02
Nlocal: 32640 ave 32640 max 32640 min
Histogram: 1 0 0 0 0 0 0 0 0 0
@ -84,4 +86,4 @@ Total # of neighbors = 22210922
Ave neighs/atom = 680.482
Neighbor list builds = 8
Dangerous builds = 0
Total wall time: 0:01:05
Total wall time: 0:01:53

View File

@ -1,36 +1,38 @@
LAMMPS (27 Nov 2018)
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# AIREBO polyethelene benchmark
units metal
atom_style atomic
units metal
atom_style atomic
read_data data.airebo
read_data data.airebo
orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579)
1 by 1 by 4 MPI processor grid
reading atoms ...
60 atoms
read_data CPU = 0.000880957 secs
replicate 17 16 2
replicate 17 16 2
orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158)
2 by 2 by 1 MPI processor grid
32640 atoms
Time spent = 0.000637531 secs
replicate CPU = 0.00271702 secs
neighbor 0.5 bin
neigh_modify delay 5 every 1
neighbor 0.5 bin
neigh_modify delay 5 every 1
pair_style airebo/morse 3.0 1 1
pair_coeff * * ../../potentials/CH.airebo-m C H
Reading potential file ../../potentials/CH.airebo-m with DATE: 2016-03-15
pair_style airebo/morse 3.0 1 1
pair_coeff * * CH.airebo-m C H
Reading potential file CH.airebo-m with DATE: 2016-03-15
velocity all create 300.0 761341
velocity all create 300.0 761341
fix 1 all nve
timestep 0.0005
fix 1 all nve
timestep 0.0005
thermo 10
run 100
thermo 10
run 100
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
@ -45,7 +47,7 @@ Neighbor list info ...
bin: standard
Per MPI rank memory allocation (min/avg/max) = 29.37 | 29.75 | 30.13 Mbytes
Step Temp E_pair E_mol TotEng Press
0 300 -139283.82 0 -138018.14 152.25271
0 300 -139283.82 0 -138018.14 152.25266
10 166.76148 -138718.75 0 -138015.19 17412.343
20 207.7293 -138891.79 0 -138015.4 -19395.339
30 138.54469 -138596.42 0 -138011.92 -11909.248
@ -55,21 +57,21 @@ Step Temp E_pair E_mol TotEng Press
70 185.72779 -138799.18 0 -138015.61 -10803.744
80 164.28396 -138709.5 0 -138016.4 -1524.7353
90 180.26403 -138776.42 0 -138015.9 -27143.467
100 164.05694 -138706.58 0 -138014.44 5157.5516
Loop time of 18.1922 on 4 procs for 100 steps with 32640 atoms
100 164.05694 -138706.58 0 -138014.44 5157.5517
Loop time of 68.9923 on 4 procs for 100 steps with 32640 atoms
Performance: 0.237 ns/day, 101.068 hours/ns, 5.497 timesteps/s
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
Performance: 0.063 ns/day, 383.290 hours/ns, 1.449 timesteps/s
96.8% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 15.968 | 16.084 | 16.308 | 3.4 | 88.41
Neigh | 1.6017 | 1.6334 | 1.7006 | 3.1 | 8.98
Comm | 0.1603 | 0.45122 | 0.59951 | 26.0 | 2.48
Output | 0.00042605 | 0.00073195 | 0.0016003 | 0.0 | 0.00
Modify | 0.0092106 | 0.010544 | 0.014411 | 2.2 | 0.06
Other | | 0.01193 | | | 0.07
Pair | 60.09 | 60.276 | 60.515 | 2.1 | 87.37
Neigh | 6.7521 | 6.8996 | 7.0678 | 4.3 | 10.00
Comm | 1.5441 | 1.7514 | 2.0838 | 16.9 | 2.54
Output | 0.0010803 | 0.001972 | 0.0043106 | 3.0 | 0.00
Modify | 0.031365 | 0.032539 | 0.034404 | 0.7 | 0.05
Other | | 0.03104 | | | 0.04
Nlocal: 8160 ave 8167 max 8153 min
Histogram: 1 0 1 0 0 0 0 1 0 1
@ -84,4 +86,4 @@ Total # of neighbors = 22210922
Ave neighs/atom = 680.482
Neighbor list builds = 8
Dangerous builds = 0
Total wall time: 0:00:18
Total wall time: 0:01:10

View File

@ -1,36 +1,38 @@
LAMMPS (27 Nov 2018)
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# AIREBO polyethelene benchmark
units metal
atom_style atomic
units metal
atom_style atomic
read_data data.airebo
read_data data.airebo
orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579)
1 by 1 by 1 MPI processor grid
reading atoms ...
60 atoms
read_data CPU = 0.000217438 secs
replicate 17 16 2
replicate 17 16 2
orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158)
1 by 1 by 1 MPI processor grid
32640 atoms
Time spent = 0.00144172 secs
replicate CPU = 0.00204968 secs
neighbor 0.5 bin
neigh_modify delay 5 every 1
neighbor 0.5 bin
neigh_modify delay 5 every 1
pair_style airebo 3.0 1 1
pair_coeff * * ../../potentials/CH.airebo C H
Reading potential file ../../potentials/CH.airebo with DATE: 2011-10-25
pair_style airebo 3.0 1 1
pair_coeff * * CH.airebo C H
Reading potential file CH.airebo with DATE: 2011-10-25
velocity all create 300.0 761341
velocity all create 300.0 761341
fix 1 all nve
timestep 0.0005
fix 1 all nve
timestep 0.0005
thermo 10
run 100
thermo 10
run 100
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
@ -45,31 +47,31 @@ Neighbor list info ...
bin: standard
Per MPI rank memory allocation (min/avg/max) = 106.4 | 106.4 | 106.4 Mbytes
Step Temp E_pair E_mol TotEng Press
0 300 -139300.72 0 -138035.04 7988.6647
0 300 -139300.72 0 -138035.04 7988.6646
10 161.34683 -138712.9 0 -138032.19 33228.921
20 208.59504 -138912.79 0 -138032.74 -3211.8806
30 139.7513 -138618.85 0 -138029.25 10878.143
40 142.14562 -138629.02 0 -138029.32 14601.302
50 114.23401 -138510.95 0 -138029 24691.125
50 114.23401 -138510.95 0 -138029 24691.124
60 164.92002 -138726 0 -138030.21 35125.541
70 162.15256 -138715.9 0 -138031.79 5658.7946
80 157.16184 -138695.77 0 -138032.72 19824.698
90 196.15907 -138860.65 0 -138033.07 -7950.8462
90 196.15907 -138860.65 0 -138033.07 -7950.8463
100 178.31875 -138784.89 0 -138032.57 30997.671
Loop time of 57.9914 on 1 procs for 100 steps with 32640 atoms
Loop time of 98.1502 on 1 procs for 100 steps with 32640 atoms
Performance: 0.074 ns/day, 322.174 hours/ns, 1.724 timesteps/s
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
Performance: 0.044 ns/day, 545.279 hours/ns, 1.019 timesteps/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 | 53.275 | 53.275 | 53.275 | 0.0 | 91.87
Neigh | 4.6548 | 4.6548 | 4.6548 | 0.0 | 8.03
Comm | 0.026622 | 0.026622 | 0.026622 | 0.0 | 0.05
Output | 0.00097251 | 0.00097251 | 0.00097251 | 0.0 | 0.00
Modify | 0.022773 | 0.022773 | 0.022773 | 0.0 | 0.04
Other | | 0.01089 | | | 0.02
Pair | 90.237 | 90.237 | 90.237 | 0.0 | 91.94
Neigh | 7.796 | 7.796 | 7.796 | 0.0 | 7.94
Comm | 0.048884 | 0.048884 | 0.048884 | 0.0 | 0.05
Output | 0.0016053 | 0.0016053 | 0.0016053 | 0.0 | 0.00
Modify | 0.045511 | 0.045511 | 0.045511 | 0.0 | 0.05
Other | | 0.0217 | | | 0.02
Nlocal: 32640 ave 32640 max 32640 min
Histogram: 1 0 0 0 0 0 0 0 0 0
@ -84,4 +86,4 @@ Total # of neighbors = 22217840
Ave neighs/atom = 680.694
Neighbor list builds = 8
Dangerous builds = 0
Total wall time: 0:00:59
Total wall time: 0:01:39

View File

@ -1,36 +1,38 @@
LAMMPS (27 Nov 2018)
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# AIREBO polyethelene benchmark
units metal
atom_style atomic
units metal
atom_style atomic
read_data data.airebo
read_data data.airebo
orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579)
1 by 1 by 4 MPI processor grid
reading atoms ...
60 atoms
read_data CPU = 0.000266314 secs
replicate 17 16 2
replicate 17 16 2
orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158)
2 by 2 by 1 MPI processor grid
32640 atoms
Time spent = 0.00262594 secs
replicate CPU = 0.00146151 secs
neighbor 0.5 bin
neigh_modify delay 5 every 1
neighbor 0.5 bin
neigh_modify delay 5 every 1
pair_style airebo 3.0 1 1
pair_coeff * * ../../potentials/CH.airebo C H
Reading potential file ../../potentials/CH.airebo with DATE: 2011-10-25
pair_style airebo 3.0 1 1
pair_coeff * * CH.airebo C H
Reading potential file CH.airebo with DATE: 2011-10-25
velocity all create 300.0 761341
velocity all create 300.0 761341
fix 1 all nve
timestep 0.0005
fix 1 all nve
timestep 0.0005
thermo 10
run 100
thermo 10
run 100
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
@ -45,31 +47,31 @@ Neighbor list info ...
bin: standard
Per MPI rank memory allocation (min/avg/max) = 29.37 | 29.75 | 30.13 Mbytes
Step Temp E_pair E_mol TotEng Press
0 300 -139300.72 0 -138035.04 7988.6647
0 300 -139300.72 0 -138035.04 7988.6646
10 161.34683 -138712.9 0 -138032.19 33228.921
20 208.59504 -138912.79 0 -138032.74 -3211.8806
30 139.7513 -138618.85 0 -138029.25 10878.143
40 142.14562 -138629.02 0 -138029.32 14601.302
50 114.23401 -138510.95 0 -138029 24691.125
50 114.23401 -138510.95 0 -138029 24691.124
60 164.92002 -138726 0 -138030.21 35125.541
70 162.15256 -138715.9 0 -138031.79 5658.7946
80 157.16184 -138695.77 0 -138032.72 19824.698
90 196.15907 -138860.65 0 -138033.07 -7950.8462
90 196.15907 -138860.65 0 -138033.07 -7950.8463
100 178.31875 -138784.89 0 -138032.57 30997.671
Loop time of 16.4395 on 4 procs for 100 steps with 32640 atoms
Loop time of 60.4943 on 4 procs for 100 steps with 32640 atoms
Performance: 0.263 ns/day, 91.331 hours/ns, 6.083 timesteps/s
98.5% CPU use with 4 MPI tasks x 1 OpenMP threads
Performance: 0.071 ns/day, 336.080 hours/ns, 1.653 timesteps/s
97.7% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 14.263 | 14.349 | 14.483 | 2.3 | 87.28
Neigh | 1.6071 | 1.6283 | 1.6636 | 1.7 | 9.90
Comm | 0.26261 | 0.43435 | 0.52323 | 16.1 | 2.64
Output | 0.00042105 | 0.0007121 | 0.001538 | 0.0 | 0.00
Modify | 0.00898 | 0.009112 | 0.0093675 | 0.2 | 0.06
Other | | 0.0184 | | | 0.11
Pair | 51.737 | 52.46 | 52.86 | 6.2 | 86.72
Neigh | 6.5823 | 6.6605 | 6.726 | 2.0 | 11.01
Comm | 0.92426 | 1.3125 | 2.0111 | 37.0 | 2.17
Output | 0.0010669 | 0.0019811 | 0.0043974 | 3.1 | 0.00
Modify | 0.030364 | 0.031523 | 0.032495 | 0.5 | 0.05
Other | | 0.028 | | | 0.05
Nlocal: 8160 ave 8174 max 8146 min
Histogram: 1 0 1 0 0 0 0 1 0 1
@ -84,4 +86,4 @@ Total # of neighbors = 22217840
Ave neighs/atom = 680.694
Neighbor list builds = 8
Dangerous builds = 0
Total wall time: 0:00:16
Total wall time: 0:01:01

View File

@ -0,0 +1,89 @@
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# REBO polyethelene benchmark
units metal
atom_style atomic
read_data data.airebo
orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579)
1 by 1 by 1 MPI processor grid
reading atoms ...
60 atoms
read_data CPU = 0.000190735 secs
replicate 17 16 2
orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158)
1 by 1 by 1 MPI processor grid
32640 atoms
replicate CPU = 0.00197148 secs
neighbor 0.5 bin
neigh_modify delay 5 every 1
pair_style rebo
pair_coeff * * CH.rebo C H
Reading potential file CH.rebo with DATE: 2018-7-3
velocity all create 300.0 761341
fix 1 all nve
timestep 0.0005
thermo 10
run 100
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 6.5
ghost atom cutoff = 6.5
binsize = 3.25, bins = 22 21 16
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair rebo, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 34.21 | 34.21 | 34.21 Mbytes
Step Temp E_pair E_mol TotEng Press
0 300 -138442.83 0 -137177.16 2463.0748
10 179.37985 -137931.27 0 -137174.48 15655.936
20 206.87654 -138046.99 0 -137174.19 -24042.627
30 150.80122 -137807.43 0 -137171.21 -16524.118
40 173.24945 -137902.35 0 -137171.42 -5716.9119
50 151.80455 -137812.36 0 -137171.91 3480.4584
60 199.08777 -138013.82 0 -137173.88 17881.372
70 217.85748 -138093.86 0 -137174.73 -12270.999
80 202.37482 -138029.39 0 -137175.59 -7622.7319
90 194.90628 -137997.05 0 -137174.75 -32267.471
100 185.17818 -137954.51 0 -137173.26 -6901.7499
Loop time of 9.44819 on 1 procs for 100 steps with 32640 atoms
Performance: 0.457 ns/day, 52.490 hours/ns, 10.584 timesteps/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 | 7.037 | 7.037 | 7.037 | 0.0 | 74.48
Neigh | 2.3182 | 2.3182 | 2.3182 | 0.0 | 24.54
Comm | 0.029898 | 0.029898 | 0.029898 | 0.0 | 0.32
Output | 0.0014331 | 0.0014331 | 0.0014331 | 0.0 | 0.02
Modify | 0.043851 | 0.043851 | 0.043851 | 0.0 | 0.46
Other | | 0.01774 | | | 0.19
Nlocal: 32640 ave 32640 max 32640 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 26460 ave 26460 max 26460 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 4.90213e+06 ave 4.90213e+06 max 4.90213e+06 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 4902134
Ave neighs/atom = 150.188
Neighbor list builds = 9
Dangerous builds = 0
Total wall time: 0:00:09

View File

@ -0,0 +1,89 @@
LAMMPS (30 Apr 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# REBO polyethelene benchmark
units metal
atom_style atomic
read_data data.airebo
orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579)
1 by 1 by 4 MPI processor grid
reading atoms ...
60 atoms
read_data CPU = 0.000682831 secs
replicate 17 16 2
orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158)
2 by 2 by 1 MPI processor grid
32640 atoms
replicate CPU = 0.00221777 secs
neighbor 0.5 bin
neigh_modify delay 5 every 1
pair_style rebo
pair_coeff * * CH.rebo C H
Reading potential file CH.rebo with DATE: 2018-7-3
velocity all create 300.0 761341
fix 1 all nve
timestep 0.0005
thermo 10
run 100
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 6.5
ghost atom cutoff = 6.5
binsize = 3.25, bins = 22 21 16
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair rebo, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 11.75 | 11.94 | 12.13 Mbytes
Step Temp E_pair E_mol TotEng Press
0 300 -138442.83 0 -137177.16 2463.0748
10 179.37985 -137931.27 0 -137174.48 15655.936
20 206.87654 -138046.99 0 -137174.19 -24042.627
30 150.80122 -137807.43 0 -137171.21 -16524.118
40 173.24945 -137902.35 0 -137171.42 -5716.9119
50 151.80455 -137812.36 0 -137171.91 3480.4584
60 199.08777 -138013.82 0 -137173.88 17881.372
70 217.85748 -138093.86 0 -137174.73 -12270.999
80 202.37482 -138029.39 0 -137175.59 -7622.7319
90 194.90628 -137997.05 0 -137174.75 -32267.471
100 185.17818 -137954.51 0 -137173.26 -6901.7499
Loop time of 6.35645 on 4 procs for 100 steps with 32640 atoms
Performance: 0.680 ns/day, 35.314 hours/ns, 15.732 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 | 4.4335 | 4.5041 | 4.56 | 2.1 | 70.86
Neigh | 1.5332 | 1.5919 | 1.6466 | 3.6 | 25.04
Comm | 0.098299 | 0.20854 | 0.26277 | 14.2 | 3.28
Output | 0.0011072 | 0.0018047 | 0.0037503 | 2.6 | 0.03
Modify | 0.028811 | 0.030358 | 0.031516 | 0.6 | 0.48
Other | | 0.01977 | | | 0.31
Nlocal: 8160 ave 8163 max 8157 min
Histogram: 1 1 0 0 0 0 0 0 1 1
Nghost: 11605.8 ave 11615 max 11593 min
Histogram: 1 0 0 0 0 0 2 0 0 1
Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 1.22553e+06 ave 1.22735e+06 max 1.22455e+06 min
Histogram: 2 0 0 1 0 0 0 0 0 1
Total # of neighbors = 4902134
Ave neighs/atom = 150.188
Neighbor list builds = 9
Dangerous builds = 0
Total wall time: 0:00:06

View File

@ -0,0 +1,98 @@
# pour two types of particles (cohesive and non-cohesive) into cylinder
# 'turn' cylinder by changing direction of gravity, then rotate it.
# This simulates a rotating drum powder characterization experiment.
variable name string rotating_drum_two_types
atom_style sphere
units lj
###############################################
# Geometry-related parameters
###############################################
variable boxx equal 30
variable boxy equal 30
variable boxz equal 50
variable drum_rad equal ${boxx}*0.5
variable drum_height equal 20
variable xc equal 0.5*${boxx}
variable yc equal 0.5*${boxx}
variable zc equal 0.5*${boxz}
###############################################
# Particle-related parameters
###############################################
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dhi equal 2.0*${rhi}
variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
variable dens equal 1.0
variable skin equal 0.4*${rhi}
#############
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
create_box 2 boxreg
change_box all boundary p p f
comm_modify vel yes
variable theta equal 0
region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
fix 0 all balance 100 1.0 shift xy 5 1.1
fix 1 all nve/sphere
fix grav all gravity 10 vector 0 0 -1
fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
comm_modify vel yes
neighbor ${skin} bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
thermo_style custom step atoms ke v_theta
thermo_modify lost warn
thermo 100
timestep 0.001
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
#For removal later
compute 1 all property/atom radius
variable zmax atom z+c_1>0.5*${drum_height}
group delgroup dynamic all var zmax every 10000
run 2000
#Remove any particles that are above z > 0.5*drum_height
delete_atoms group delgroup
#Add top lid
region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall
# 'Turn' drum by switching the direction of gravity
unfix grav
fix grav all gravity 10 vector 0 -1 0
variable theta equal 2*PI*elapsed/20000.0
run 3000

View File

@ -0,0 +1,67 @@
# pour two types of particles (cohesive and non-cohesive) on flat wall
variable name string pour_two_types
atom_style sphere
units lj
###############################################
# Geometry-related parameters
###############################################
variable boxx equal 20
variable boxy equal 20
variable boxz equal 30
variable xc1 equal 0.3*${boxx}
variable xc2 equal 0.7*${boxx}
variable yc equal 0.5*${boxy}
###############################################
# Particle-related parameters
###############################################
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dhi equal 2.0*${rhi}
variable dens equal 1.0
variable skin equal 0.3*${rhi}
#############
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
create_box 2 boxreg
change_box all boundary p p f
comm_modify vel yes
region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz}
region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz}
fix 1 all nve/sphere
fix grav all gravity 10.0 vector 0 0 -1
fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens}
comm_modify vel yes
neighbor ${skin} bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL
thermo_style custom step cpu atoms ke
thermo_modify lost warn
thermo 100
timestep 0.001
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
run 5000

View File

@ -0,0 +1,271 @@
LAMMPS (29 Mar 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# pour two types of particles (cohesive and non-cohesive) into cylinder
# 'turn' cylinder by changing direction of gravity, then rotate it.
# This simulates a rotating drum powder characterization experiment.
variable name string rotating_drum_two_types
atom_style sphere
units lj
###############################################
# Geometry-related parameters
###############################################
variable boxx equal 30
variable boxy equal 30
variable boxz equal 50
variable drum_rad equal ${boxx}*0.5
variable drum_rad equal 30*0.5
variable drum_height equal 20
variable xc equal 0.5*${boxx}
variable xc equal 0.5*30
variable yc equal 0.5*${boxx}
variable yc equal 0.5*30
variable zc equal 0.5*${boxz}
variable zc equal 0.5*50
###############################################
# Particle-related parameters
###############################################
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dlo equal 2.0*0.25
variable dhi equal 2.0*${rhi}
variable dhi equal 2.0*0.5
variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
variable cyl_rad_inner equal 15-1.1*${rhi}
variable cyl_rad_inner equal 15-1.1*0.5
variable dens equal 1.0
variable skin equal 0.4*${rhi}
variable skin equal 0.4*0.5
#############
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
region boxreg block 0 30 0 ${boxy} 0 ${boxz}
region boxreg block 0 30 0 30 0 ${boxz}
region boxreg block 0 30 0 30 0 50
create_box 2 boxreg
Created orthogonal box = (0 0 0) to (30 30 50)
1 by 1 by 1 MPI processor grid
change_box all boundary p p f
comm_modify vel yes
variable theta equal 0
region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1
region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz}
region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz}
region insreg cylinder z 15 15 14.45 20 ${boxz}
region insreg cylinder z 15 15 14.45 20 50
fix 0 all balance 100 1.0 shift xy 5 1.1
fix 1 all nve/sphere
fix grav all gravity 10 vector 0 0 -1
fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1
Particle insertion: 9396 every 490 steps, 2000 by step 1
fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1
Particle insertion: 9396 every 490 steps, 2000 by step 1
comm_modify vel yes
neighbor ${skin} bin
neighbor 0.2 bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
thermo_style custom step atoms ke v_theta
thermo_modify lost warn
thermo 100
timestep 0.001
dump 1 all custom 100 ${name}.dump id type radius mass x y z
dump 1 all custom 100 rotating_drum_two_types.dump id type radius mass x y z
#For removal later
compute 1 all property/atom radius
variable zmax atom z+c_1>0.5*${drum_height}
variable zmax atom z+c_1>0.5*20
group delgroup dynamic all var zmax every 10000
dynamic group delgroup defined
run 2000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.2
ghost atom cutoff = 1.2
binsize = 0.6, bins = 50 50 84
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair granular, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 13.02 | 13.02 | 13.02 Mbytes
Step Atoms KinEng v_theta
0 0 -0 0
100 4000 -0 0
200 4000 -0 0
300 4000 -0 0
400 4000 -0 0
500 4000 -0 0
600 4000 -0 0
700 4000 -0 0
800 4000 -0 0
900 4000 -0 0
1000 4000 -0 0
1100 4000 -0 0
1200 4000 -0 0
1300 4000 -0 0
1400 4000 -0 0
1500 4000 -0 0
1600 4000 -0 0
1700 4000 -0 0
1800 4000 -0 0
1900 4000 -0 0
2000 4000 -0 0
Loop time of 3.54461 on 1 procs for 2000 steps with 4000 atoms
Performance: 48750.057 tau/day, 564.237 timesteps/s
99.5% 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.61949 | 0.61949 | 0.61949 | 0.0 | 17.48
Neigh | 1.2492 | 1.2492 | 1.2492 | 0.0 | 35.24
Comm | 0.046404 | 0.046404 | 0.046404 | 0.0 | 1.31
Output | 0.15901 | 0.15901 | 0.15901 | 0.0 | 4.49
Modify | 1.4165 | 1.4165 | 1.4165 | 0.0 | 39.96
Other | | 0.05391 | | | 1.52
Nlocal: 4000 ave 4000 max 4000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 166 ave 166 max 166 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 8195 ave 8195 max 8195 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 8195
Ave neighs/atom = 2.04875
Neighbor list builds = 1004
Dangerous builds = 3
#Remove any particles that are above z > 0.5*drum_height
delete_atoms group delgroup
Deleted 0 atoms, new total = 4000
#Add top lid
region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1
fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall
# 'Turn' drum by switching the direction of gravity
unfix grav
fix grav all gravity 10 vector 0 -1 0
variable theta equal 2*PI*elapsed/20000.0
run 3000
Per MPI rank memory allocation (min/avg/max) = 24.81 | 24.81 | 24.81 Mbytes
Step Atoms KinEng v_theta
2000 4000 64.333531 0
2100 4000 106.69182 0.031415927
2200 4000 121.8461 0.062831853
2300 4000 88.767952 0.09424778
2400 4000 82.850721 0.12566371
2500 4000 91.683284 0.15707963
2600 4000 31.56344 0.18849556
2700 4000 4.5697672 0.21991149
2800 4000 3.9879051 0.25132741
2900 4000 4.4394235 0.28274334
3000 4000 5.1212931 0.31415927
3100 4000 5.8608892 0.34557519
3200 4000 6.600714 0.37699112
3300 4000 7.3497851 0.40840704
3400 4000 8.0490988 0.43982297
3500 4000 8.6712396 0.4712389
3600 4000 9.1328667 0.50265482
3700 4000 9.4683561 0.53407075
3800 4000 9.5878145 0.56548668
3900 4000 9.387745 0.5969026
4000 4000 8.9117631 0.62831853
4100 4000 8.2344368 0.65973446
4200 4000 7.5335088 0.69115038
4300 4000 6.8426179 0.72256631
4400 4000 6.0567247 0.75398224
4500 4000 5.4166132 0.78539816
4600 4000 4.6012409 0.81681409
4700 4000 3.8314982 0.84823002
4800 4000 3.1916415 0.87964594
4900 4000 2.7833964 0.91106187
5000 4000 2.5051362 0.9424778
Loop time of 11.9545 on 1 procs for 3000 steps with 4000 atoms
Performance: 21682.142 tau/day, 250.951 timesteps/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 | 4.8291 | 4.8291 | 4.8291 | 0.0 | 40.40
Neigh | 2.7489 | 2.7489 | 2.7489 | 0.0 | 22.99
Comm | 0.071249 | 0.071249 | 0.071249 | 0.0 | 0.60
Output | 0.20547 | 0.20547 | 0.20547 | 0.0 | 1.72
Modify | 4.0179 | 4.0179 | 4.0179 | 0.0 | 33.61
Other | | 0.0819 | | | 0.69
Nlocal: 4000 ave 4000 max 4000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 322 ave 322 max 322 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 14849 ave 14849 max 14849 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 14849
Ave neighs/atom = 3.71225
Neighbor list builds = 1290
Dangerous builds = 672
Total wall time: 0:00:15

View File

@ -0,0 +1,271 @@
LAMMPS (29 Mar 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# pour two types of particles (cohesive and non-cohesive) into cylinder
# 'turn' cylinder by changing direction of gravity, then rotate it.
# This simulates a rotating drum powder characterization experiment.
variable name string rotating_drum_two_types
atom_style sphere
units lj
###############################################
# Geometry-related parameters
###############################################
variable boxx equal 30
variable boxy equal 30
variable boxz equal 50
variable drum_rad equal ${boxx}*0.5
variable drum_rad equal 30*0.5
variable drum_height equal 20
variable xc equal 0.5*${boxx}
variable xc equal 0.5*30
variable yc equal 0.5*${boxx}
variable yc equal 0.5*30
variable zc equal 0.5*${boxz}
variable zc equal 0.5*50
###############################################
# Particle-related parameters
###############################################
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dlo equal 2.0*0.25
variable dhi equal 2.0*${rhi}
variable dhi equal 2.0*0.5
variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
variable cyl_rad_inner equal 15-1.1*${rhi}
variable cyl_rad_inner equal 15-1.1*0.5
variable dens equal 1.0
variable skin equal 0.4*${rhi}
variable skin equal 0.4*0.5
#############
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
region boxreg block 0 30 0 ${boxy} 0 ${boxz}
region boxreg block 0 30 0 30 0 ${boxz}
region boxreg block 0 30 0 30 0 50
create_box 2 boxreg
Created orthogonal box = (0 0 0) to (30 30 50)
2 by 2 by 1 MPI processor grid
change_box all boundary p p f
comm_modify vel yes
variable theta equal 0
region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1
region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz}
region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz}
region insreg cylinder z 15 15 14.45 20 ${boxz}
region insreg cylinder z 15 15 14.45 20 50
fix 0 all balance 100 1.0 shift xy 5 1.1
fix 1 all nve/sphere
fix grav all gravity 10 vector 0 0 -1
fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens}
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1
Particle insertion: 9396 every 490 steps, 2000 by step 1
fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1
Particle insertion: 9396 every 490 steps, 2000 by step 1
comm_modify vel yes
neighbor ${skin} bin
neighbor 0.2 bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
thermo_style custom step atoms ke v_theta
thermo_modify lost warn
thermo 100
timestep 0.001
dump 1 all custom 100 ${name}.dump id type radius mass x y z
dump 1 all custom 100 rotating_drum_two_types.dump id type radius mass x y z
#For removal later
compute 1 all property/atom radius
variable zmax atom z+c_1>0.5*${drum_height}
variable zmax atom z+c_1>0.5*20
group delgroup dynamic all var zmax every 10000
dynamic group delgroup defined
run 2000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.2
ghost atom cutoff = 1.2
binsize = 0.6, bins = 50 50 84
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair granular, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 12.25 | 12.25 | 12.25 Mbytes
Step Atoms KinEng v_theta
0 0 -0 0
100 4000 -0 0
200 4000 -0 0
300 4000 -0 0
400 4000 -0 0
500 4000 -0 0
600 4000 -0 0
700 4000 -0 0
800 4000 -0 0
900 4000 -0 0
1000 4000 -0 0
1100 4000 -0 0
1200 4000 -0 0
1300 4000 -0 0
1400 4000 -0 0
1500 4000 -0 0
1600 4000 -0 0
1700 4000 -0 0
1800 4000 -0 0
1900 4000 -0 0
2000 4000 -0 0
Loop time of 2.0709 on 4 procs for 2000 steps with 4000 atoms
Performance: 83442.024 tau/day, 965.764 timesteps/s
97.7% 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.24679 | 0.26336 | 0.28853 | 3.0 | 12.72
Neigh | 0.52279 | 0.5332 | 0.53858 | 0.9 | 25.75
Comm | 0.17418 | 0.20253 | 0.23266 | 4.7 | 9.78
Output | 0.092897 | 0.093531 | 0.09515 | 0.3 | 4.52
Modify | 0.88151 | 0.89571 | 0.90582 | 0.9 | 43.25
Other | | 0.08257 | | | 3.99
Nlocal: 1000 ave 1001 max 999 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 267.75 ave 276 max 262 min
Histogram: 1 0 1 0 1 0 0 0 0 1
Neighs: 2031.5 ave 2091 max 1958 min
Histogram: 1 0 0 0 1 0 0 1 0 1
Total # of neighbors = 8126
Ave neighs/atom = 2.0315
Neighbor list builds = 1004
Dangerous builds = 3
#Remove any particles that are above z > 0.5*drum_height
delete_atoms group delgroup
Deleted 0 atoms, new total = 4000
#Add top lid
region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1
fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall
# 'Turn' drum by switching the direction of gravity
unfix grav
fix grav all gravity 10 vector 0 -1 0
variable theta equal 2*PI*elapsed/20000.0
run 3000
Per MPI rank memory allocation (min/avg/max) = 21.6 | 22.6 | 23.82 Mbytes
Step Atoms KinEng v_theta
2000 4000 64.255821 0
2100 4000 106.47082 0.031415927
2200 4000 121.52634 0.062831853
2300 4000 87.748818 0.09424778
2400 4000 82.712784 0.12566371
2500 4000 90.618713 0.15707963
2600 4000 30.096031 0.18849556
2700 4000 4.0838611 0.21991149
2800 4000 3.7485959 0.25132741
2900 4000 4.2159774 0.28274334
3000 4000 4.8730048 0.31415927
3100 4000 5.6109465 0.34557519
3200 4000 6.4290528 0.37699112
3300 4000 7.2699677 0.40840704
3400 4000 8.0895944 0.43982297
3500 4000 8.7222781 0.4712389
3600 4000 9.133205 0.50265482
3700 4000 9.3404584 0.53407075
3800 4000 9.3359844 0.56548668
3900 4000 9.0916854 0.5969026
4000 4000 8.5596424 0.62831853
4100 4000 7.9734883 0.65973446
4200 4000 7.2154383 0.69115038
4300 4000 6.7039232 0.72256631
4400 4000 6.1542738 0.75398224
4500 4000 5.4049454 0.78539816
4600 4000 4.4603192 0.81681409
4700 4000 3.6197985 0.84823002
4800 4000 2.9895571 0.87964594
4900 4000 2.5314553 0.91106187
5000 4000 2.2645533 0.9424778
Loop time of 6.64209 on 4 procs for 3000 steps with 4000 atoms
Performance: 39023.861 tau/day, 451.665 timesteps/s
96.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 | 1.8376 | 2.126 | 2.3131 | 12.6 | 32.01
Neigh | 0.97762 | 1.0518 | 1.1337 | 5.4 | 15.84
Comm | 0.53699 | 0.84265 | 1.2325 | 27.6 | 12.69
Output | 0.13922 | 0.14159 | 0.14388 | 0.4 | 2.13
Modify | 1.8815 | 2.1026 | 2.3368 | 11.2 | 31.66
Other | | 0.3774 | | | 5.68
Nlocal: 1000 ave 1256 max 744 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 579.5 ave 789 max 498 min
Histogram: 2 1 0 0 0 0 0 0 0 1
Neighs: 3696.25 ave 4853 max 2590 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Total # of neighbors = 14785
Ave neighs/atom = 3.69625
Neighbor list builds = 1230
Dangerous builds = 676
Total wall time: 0:00:08

View File

@ -0,0 +1,134 @@
LAMMPS (29 Mar 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# pour two types of particles (cohesive and non-cohesive) on flat wall
variable name string pour_two_types
atom_style sphere
units lj
###############################################
# Geometry-related parameters
###############################################
variable boxx equal 20
variable boxy equal 20
variable boxz equal 30
variable xc1 equal 0.3*${boxx}
variable xc1 equal 0.3*20
variable xc2 equal 0.7*${boxx}
variable xc2 equal 0.7*20
variable yc equal 0.5*${boxy}
variable yc equal 0.5*20
###############################################
# Particle-related parameters
###############################################
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dlo equal 2.0*0.25
variable dhi equal 2.0*${rhi}
variable dhi equal 2.0*0.5
variable dens equal 1.0
variable skin equal 0.3*${rhi}
variable skin equal 0.3*0.5
#############
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
region boxreg block 0 20 0 ${boxy} 0 ${boxz}
region boxreg block 0 20 0 20 0 ${boxz}
region boxreg block 0 20 0 20 0 30
create_box 2 boxreg
Created orthogonal box = (0 0 0) to (20 20 30)
1 by 1 by 1 MPI processor grid
change_box all boundary p p f
comm_modify vel yes
region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz}
region insreg1 cylinder z 6 ${yc} 5 15 ${boxz}
region insreg1 cylinder z 6 10 5 15 ${boxz}
region insreg1 cylinder z 6 10 5 15 30
region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz}
region insreg2 cylinder z 14 ${yc} 5 15 ${boxz}
region insreg2 cylinder z 14 10 5 15 ${boxz}
region insreg2 cylinder z 14 10 5 15 30
fix 1 all nve/sphere
fix grav all gravity 10.0 vector 0 0 -1
fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1
Particle insertion: 562 every 346 steps, 1500 by step 693
fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1
Particle insertion: 562 every 346 steps, 1500 by step 693
comm_modify vel yes
neighbor ${skin} bin
neighbor 0.15 bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL
thermo_style custom step cpu atoms ke
thermo_modify lost warn
thermo 100
timestep 0.001
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
run 5000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.15
ghost atom cutoff = 1.15
binsize = 0.575, bins = 35 35 53
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair granular, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 12.22 | 12.22 | 12.22 Mbytes
Step CPU Atoms KinEng
0 0 0 -0
100 3.8153191 855 -0
200 4.195287 855 -0
300 4.5890362 855 -0
400 10.636087 1500 -0
500 11.306909 1500 -0
600 11.968198 1500 -0
700 22.631892 2288 -0
800 23.711387 2288 -0
900 24.754344 2288 -0
1000 25.811778 2288 -0
1100 35.368869 2845 -0
1200 37.149843 2845 -0
1300 39.026458 2845 -0
1400 41.757583 3000 -0
1500 45.155503 3000 -0
1600 48.570241 3000 -0
1700 52.839322 3000 -0
1800 59.772697 3000 -0
1900 69.493305 3000 -0
2000 114.61886 3000 -0
2100 152.89232 3000 -0

View File

@ -0,0 +1,191 @@
LAMMPS (29 Mar 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
using 1 OpenMP thread(s) per MPI task
# pour two types of particles (cohesive and non-cohesive) on flat wall
variable name string pour_two_types
atom_style sphere
units lj
###############################################
# Geometry-related parameters
###############################################
variable boxx equal 20
variable boxy equal 20
variable boxz equal 30
variable xc1 equal 0.3*${boxx}
variable xc1 equal 0.3*20
variable xc2 equal 0.7*${boxx}
variable xc2 equal 0.7*20
variable yc equal 0.5*${boxy}
variable yc equal 0.5*20
###############################################
# Particle-related parameters
###############################################
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dlo equal 2.0*0.25
variable dhi equal 2.0*${rhi}
variable dhi equal 2.0*0.5
variable dens equal 1.0
variable skin equal 0.3*${rhi}
variable skin equal 0.3*0.5
#############
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
region boxreg block 0 20 0 ${boxy} 0 ${boxz}
region boxreg block 0 20 0 20 0 ${boxz}
region boxreg block 0 20 0 20 0 30
create_box 2 boxreg
Created orthogonal box = (0 0 0) to (20 20 30)
2 by 2 by 1 MPI processor grid
change_box all boundary p p f
comm_modify vel yes
region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz}
region insreg1 cylinder z 6 ${yc} 5 15 ${boxz}
region insreg1 cylinder z 6 10 5 15 ${boxz}
region insreg1 cylinder z 6 10 5 15 30
region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz}
region insreg2 cylinder z 14 ${yc} 5 15 ${boxz}
region insreg2 cylinder z 14 10 5 15 ${boxz}
region insreg2 cylinder z 14 10 5 15 30
fix 1 all nve/sphere
fix grav all gravity 10.0 vector 0 0 -1
fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens}
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1
Particle insertion: 562 every 346 steps, 1500 by step 693
fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1
Particle insertion: 562 every 346 steps, 1500 by step 693
comm_modify vel yes
neighbor ${skin} bin
neighbor 0.15 bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL
thermo_style custom step cpu atoms ke
thermo_modify lost warn
thermo 100
timestep 0.001
dump 1 all custom 100 ${name}.dump id type radius mass x y z
dump 1 all custom 100 pour_two_types.dump id type radius mass x y z
run 5000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.15
ghost atom cutoff = 1.15
binsize = 0.575, bins = 35 35 53
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair granular, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 11.98 | 11.98 | 11.98 Mbytes
Step CPU Atoms KinEng
0 0 0 -0
100 0.11584234 855 -0
200 0.12743592 855 -0
300 0.13925815 855 -0
400 0.35203671 1500 -0
500 0.37055922 1500 -0
600 0.38671875 1500 -0
700 0.71736908 2288 -0
800 0.74506783 2288 -0
900 0.77112222 2288 -0
1000 0.79632139 2288 -0
1100 1.0384252 2845 -0
1200 1.08093 2845 -0
1300 1.1224561 2845 -0
1400 1.1811485 3000 -0
1500 1.2414908 3000 -0
1600 1.3105879 3000 -0
1700 1.390928 3000 -0
1800 1.4869275 3000 -0
1900 1.5958266 3000 -0
2000 1.7172487 3000 -0
2100 1.851155 3000 -0
2200 1.9957182 3000 -0
2300 2.1593764 3000 -0
2400 2.3433132 3000 -0
2500 2.532742 3000 -0
2600 2.7376895 3000 -0
2700 2.9463468 3000 -0
2800 3.1645725 3000 -0
2900 3.3879526 3000 -0
3000 3.6152103 3000 -0
3100 3.8467371 3000 -0
3200 4.0787683 3000 -0
3300 4.3097105 3000 -0
3400 4.5423617 3000 -0
3500 4.7773693 3000 -0
3600 5.0127218 3000 -0
3700 5.2519271 3000 -0
3800 5.4951298 3000 -0
3900 5.7210469 3000 -0
4000 5.9432652 3000 -0
4100 6.1687591 3000 -0
4200 6.3942792 3000 -0
4300 6.6331475 3000 -0
4400 6.8632154 3000 -0
4500 7.0979366 3000 -0
4600 7.3305347 3000 -0
4700 7.5670528 3000 -0
4800 7.8086057 3000 -0
4900 8.0407174 3000 -0
5000 8.2765219 3000 -0
Loop time of 8.27669 on 4 procs for 5000 steps with 3000 atoms
Performance: 52194.788 tau/day, 604.106 timesteps/s
97.7% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.6106 | 3.4073 | 5.4191 | 95.7 | 41.17
Neigh | 0.51456 | 0.64572 | 0.81542 | 16.6 | 7.80
Comm | 0.2808 | 2.5222 | 4.4998 | 121.9 | 30.47
Output | 0.15695 | 0.15919 | 0.16502 | 0.8 | 1.92
Modify | 1.3517 | 1.4192 | 1.4904 | 4.9 | 17.15
Other | | 0.123 | | | 1.49
Nlocal: 750 ave 1036 max 482 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Nghost: 429.75 ave 475 max 386 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 4051.75 ave 6274 max 2057 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Total # of neighbors = 16207
Ave neighs/atom = 5.40233
Neighbor list builds = 1165
Dangerous builds = 0
Total wall time: 0:00:08

View File

@ -24,12 +24,13 @@ colvar::colvar()
{
runave_os = NULL;
prev_timestep = -1;
prev_timestep = -1L;
after_restart = false;
kinetic_energy = 0.0;
potential_energy = 0.0;
init_cv_requires();
description = "uninitialized colvar";
init_dependencies();
}
@ -193,7 +194,7 @@ int colvar::init(std::string const &conf)
{
bool homogeneous = is_enabled(f_cv_linear);
for (i = 0; i < cvcs.size(); i++) {
if ((std::fabs(cvcs[i]->sup_coeff) - 1.0) > 1.0e-10) {
if ((cvm::fabs(cvcs[i]->sup_coeff) - 1.0) > 1.0e-10) {
homogeneous = false;
}
}
@ -224,7 +225,7 @@ int colvar::init(std::string const &conf)
// Allow scripted/custom functions to be defined as periodic
if ( (is_enabled(f_cv_scripted) || is_enabled(f_cv_custom_function)) && is_enabled(f_cv_scalar) ) {
if (get_keyval(conf, "period", period, 0.)) {
set_enabled(f_cv_periodic, true);
enable(f_cv_periodic);
get_keyval(conf, "wrapAround", wrap_center, 0.);
}
}
@ -471,7 +472,7 @@ int colvar::init_grid_parameters(std::string const &conf)
if (get_keyval(conf, "lowerWallConstant", lower_wall_k, 0.0,
parse_silent)) {
cvm::log("Reading legacy options lowerWall and lowerWallConstant: "
"consider using a harmonicWalls restraint.\n");
"consider using a harmonicWalls restraint\n(caution: force constant would then be scaled by width^2).\n");
lower_wall.type(value());
if (!get_keyval(conf, "lowerWall", lower_wall, lower_boundary)) {
cvm::log("Warning: lowerWall will need to be "
@ -485,7 +486,7 @@ int colvar::init_grid_parameters(std::string const &conf)
if (get_keyval(conf, "upperWallConstant", upper_wall_k, 0.0,
parse_silent)) {
cvm::log("Reading legacy options upperWall and upperWallConstant: "
"consider using a harmonicWalls restraint.\n");
"consider using a harmonicWalls restraint\n(caution: force constant would then be scaled by width^2).\n");
upper_wall.type(value());
if (!get_keyval(conf, "upperWall", upper_wall, upper_boundary)) {
cvm::log("Warning: upperWall will need to be "
@ -562,13 +563,13 @@ int colvar::init_extended_Lagrangian(std::string const &conf)
get_keyval_feature(this, conf, "extendedLagrangian", f_cv_extended_Lagrangian, false);
if (is_enabled(f_cv_extended_Lagrangian)) {
cvm::real temp, tolerance, period;
cvm::real temp, tolerance, extended_period;
cvm::log("Enabling the extended Lagrangian term for colvar \""+
this->name+"\".\n");
xr.type(value());
vr.type(value());
x_ext.type(value());
v_ext.type(value());
fr.type(value());
const bool found = get_keyval(conf, "extendedTemp", temp, cvm::temperature());
@ -590,11 +591,11 @@ int colvar::init_extended_Lagrangian(std::string const &conf)
ext_force_k = cvm::boltzmann() * temp / (tolerance * tolerance);
cvm::log("Computed extended system force constant: " + cvm::to_str(ext_force_k) + " [E]/U^2");
get_keyval(conf, "extendedTimeConstant", period, 200.0);
if (period <= 0.0) {
get_keyval(conf, "extendedTimeConstant", extended_period, 200.0);
if (extended_period <= 0.0) {
cvm::error("Error: \"extendedTimeConstant\" must be positive.\n", INPUT_ERROR);
}
ext_mass = (cvm::boltzmann() * temp * period * period)
ext_mass = (cvm::boltzmann() * temp * extended_period * extended_period)
/ (4.0 * PI * PI * tolerance * tolerance);
cvm::log("Computed fictitious mass: " + cvm::to_str(ext_mass) + " [E]/(U/fs)^2 (U: colvar unit)");
@ -615,7 +616,7 @@ int colvar::init_extended_Lagrangian(std::string const &conf)
enable(f_cv_Langevin);
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 = std::sqrt(2.0 * cvm::boltzmann() * temp * ext_gamma * ext_mass / (cvm::dt() * cvm::real(time_step_factor)));
ext_sigma = cvm::sqrt(2.0 * cvm::boltzmann() * temp * ext_gamma * ext_mass / (cvm::dt() * cvm::real(time_step_factor)));
}
}
@ -761,6 +762,8 @@ int colvar::init_components(std::string const &conf)
"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 "
@ -831,22 +834,25 @@ void colvar::build_atom_list(void)
for (size_t i = 0; i < cvcs.size(); i++) {
for (size_t j = 0; j < cvcs[i]->atom_groups.size(); j++) {
cvm::atom_group &ag = *(cvcs[i]->atom_groups[j]);
cvm::atom_group const &ag = *(cvcs[i]->atom_groups[j]);
for (size_t k = 0; k < ag.size(); k++) {
temp_id_list.push_back(ag[k].id);
}
if (ag.is_enabled(f_ag_fitting_group) && ag.is_enabled(f_ag_fit_gradients)) {
cvm::atom_group const &fg = *(ag.fitting_group);
for (size_t k = 0; k < fg.size(); k++) {
temp_id_list.push_back(fg[k].id);
}
}
}
}
temp_id_list.sort();
temp_id_list.unique();
// atom_ids = std::vector<int> (temp_id_list.begin(), temp_id_list.end());
unsigned int id_i = 0;
std::list<int>::iterator li;
for (li = temp_id_list.begin(); li != temp_id_list.end(); ++li) {
atom_ids[id_i] = *li;
id_i++;
atom_ids.push_back(*li);
}
temp_id_list.clear();
@ -934,16 +940,153 @@ int colvar::parse_analysis(std::string const &conf)
}
void colvar::setup() {
// loop over all components to reset masses of all groups
for (size_t i = 0; i < cvcs.size(); i++) {
for (size_t ig = 0; ig < cvcs[i]->atom_groups.size(); ig++) {
cvm::atom_group &atoms = *(cvcs[i]->atom_groups[ig]);
atoms.setup();
atoms.reset_mass(name,i,ig);
atoms.read_positions();
int colvar::init_dependencies() {
size_t i;
if (features().size() == 0) {
for (i = 0; i < f_cv_ntot; i++) {
modify_features().push_back(new feature);
}
init_feature(f_cv_active, "active", f_type_dynamic);
// Do not require f_cvc_active in children, as some components may be disabled
// Colvars must be either a linear combination, or scalar (and polynomial) or scripted/custom
require_feature_alt(f_cv_active, f_cv_scalar, f_cv_linear, f_cv_scripted, f_cv_custom_function);
init_feature(f_cv_awake, "awake", f_type_static);
require_feature_self(f_cv_awake, f_cv_active);
init_feature(f_cv_gradient, "gradient", f_type_dynamic);
require_feature_children(f_cv_gradient, f_cvc_gradient);
init_feature(f_cv_collect_gradient, "collect gradient", f_type_dynamic);
require_feature_self(f_cv_collect_gradient, f_cv_gradient);
require_feature_self(f_cv_collect_gradient, f_cv_scalar);
// The following exlusion could be lifted by implementing the feature
exclude_feature_self(f_cv_collect_gradient, f_cv_scripted);
require_feature_children(f_cv_collect_gradient, f_cvc_explicit_gradient);
init_feature(f_cv_fdiff_velocity, "velocity from finite differences", f_type_dynamic);
// System force: either trivial (spring force); through extended Lagrangian, or calculated explicitly
init_feature(f_cv_total_force, "total force", f_type_dynamic);
require_feature_alt(f_cv_total_force, f_cv_extended_Lagrangian, f_cv_total_force_calc);
// Deps for explicit total force calculation
init_feature(f_cv_total_force_calc, "total force calculation", f_type_dynamic);
require_feature_self(f_cv_total_force_calc, f_cv_scalar);
require_feature_self(f_cv_total_force_calc, f_cv_linear);
require_feature_children(f_cv_total_force_calc, f_cvc_inv_gradient);
require_feature_self(f_cv_total_force_calc, f_cv_Jacobian);
init_feature(f_cv_Jacobian, "Jacobian derivative", f_type_dynamic);
require_feature_self(f_cv_Jacobian, f_cv_scalar);
require_feature_self(f_cv_Jacobian, f_cv_linear);
require_feature_children(f_cv_Jacobian, f_cvc_Jacobian);
init_feature(f_cv_hide_Jacobian, "hide Jacobian force", f_type_user);
require_feature_self(f_cv_hide_Jacobian, f_cv_Jacobian); // can only hide if calculated
init_feature(f_cv_extended_Lagrangian, "extended Lagrangian", f_type_user);
require_feature_self(f_cv_extended_Lagrangian, f_cv_scalar);
require_feature_self(f_cv_extended_Lagrangian, f_cv_gradient);
init_feature(f_cv_Langevin, "Langevin dynamics", f_type_user);
require_feature_self(f_cv_Langevin, f_cv_extended_Lagrangian);
init_feature(f_cv_linear, "linear", f_type_static);
init_feature(f_cv_scalar, "scalar", f_type_static);
init_feature(f_cv_output_energy, "output energy", f_type_user);
init_feature(f_cv_output_value, "output value", f_type_user);
init_feature(f_cv_output_velocity, "output velocity", f_type_user);
require_feature_self(f_cv_output_velocity, f_cv_fdiff_velocity);
init_feature(f_cv_output_applied_force, "output applied force", f_type_user);
init_feature(f_cv_output_total_force, "output total force", f_type_user);
require_feature_self(f_cv_output_total_force, f_cv_total_force);
init_feature(f_cv_subtract_applied_force, "subtract applied force from total force", f_type_user);
require_feature_self(f_cv_subtract_applied_force, f_cv_total_force);
init_feature(f_cv_lower_boundary, "lower boundary", f_type_user);
require_feature_self(f_cv_lower_boundary, f_cv_scalar);
init_feature(f_cv_upper_boundary, "upper boundary", f_type_user);
require_feature_self(f_cv_upper_boundary, f_cv_scalar);
init_feature(f_cv_grid, "grid", f_type_dynamic);
require_feature_self(f_cv_grid, f_cv_lower_boundary);
require_feature_self(f_cv_grid, f_cv_upper_boundary);
init_feature(f_cv_runave, "running average", f_type_user);
init_feature(f_cv_corrfunc, "correlation function", f_type_user);
init_feature(f_cv_scripted, "scripted", f_type_user);
init_feature(f_cv_custom_function, "custom function", f_type_user);
exclude_feature_self(f_cv_custom_function, f_cv_scripted);
init_feature(f_cv_periodic, "periodic", f_type_static);
require_feature_self(f_cv_periodic, f_cv_scalar);
init_feature(f_cv_scalar, "scalar", f_type_static);
init_feature(f_cv_linear, "linear", f_type_static);
init_feature(f_cv_homogeneous, "homogeneous", f_type_static);
// because total forces are obtained from the previous time step,
// we cannot (currently) have colvar values and total forces for the same timestep
init_feature(f_cv_multiple_ts, "multiple timestep colvar", f_type_static);
exclude_feature_self(f_cv_multiple_ts, f_cv_total_force_calc);
// check that everything is initialized
for (i = 0; i < colvardeps::f_cv_ntot; i++) {
if (is_not_set(i)) {
cvm::error("Uninitialized feature " + cvm::to_str(i) + " in " + description);
}
}
}
// Initialize feature_states for each instance
feature_states.reserve(f_cv_ntot);
for (i = 0; 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
}
feature_states[f_cv_fdiff_velocity].available =
cvm::main()->proxy->simulation_running();
return COLVARS_OK;
}
void colvar::setup()
{
// loop over all components to update masses and charges of all groups
for (size_t i = 0; i < cvcs.size(); i++) {
for (size_t ig = 0; ig < cvcs[i]->atom_groups.size(); ig++) {
cvm::atom_group *atoms = cvcs[i]->atom_groups[ig];
atoms->setup();
atoms->print_properties(name, i, ig);
atoms->read_positions();
}
}
}
std::vector<std::vector<int> > colvar::get_atom_lists()
{
std::vector<std::vector<int> > lists;
for (size_t i = 0; i < cvcs.size(); i++) {
std::vector<std::vector<int> > li = cvcs[i]->get_atom_lists();
lists.insert(lists.end(), li.begin(), li.end());
}
return lists;
}
@ -953,8 +1096,8 @@ colvar::~colvar()
// because the children are cvcs and will be deleted
// just below
// Clear references to this colvar's cvcs as children
// for dependency purposes
// Clear references to this colvar's cvcs as children
// for dependency purposes
remove_all_children();
for (std::vector<cvc *>::reverse_iterator ci = cvcs.rbegin();
@ -1231,7 +1374,6 @@ int colvar::calc_cvc_gradients(int first_cvc, size_t num_cvcs)
int colvar::collect_cvc_gradients()
{
size_t i;
if (is_enabled(f_cv_collect_gradient)) {
// Collect the atomic gradients inside colvar object
for (unsigned int a = 0; a < atomic_gradients.size(); a++) {
@ -1239,34 +1381,7 @@ int colvar::collect_cvc_gradients()
}
for (i = 0; i < cvcs.size(); i++) {
if (!cvcs[i]->is_enabled()) continue;
// Coefficient: d(a * x^n) = a * n * x^(n-1) * dx
cvm::real coeff = (cvcs[i])->sup_coeff * cvm::real((cvcs[i])->sup_np) *
cvm::integer_power((cvcs[i])->value().real_value, (cvcs[i])->sup_np-1);
for (size_t j = 0; j < cvcs[i]->atom_groups.size(); j++) {
cvm::atom_group &ag = *(cvcs[i]->atom_groups[j]);
// If necessary, apply inverse rotation to get atomic
// gradient in the laboratory frame
if (ag.b_rotate) {
cvm::rotation const rot_inv = ag.rot.inverse();
for (size_t k = 0; k < ag.size(); k++) {
size_t a = std::lower_bound(atom_ids.begin(), atom_ids.end(),
ag[k].id) - atom_ids.begin();
atomic_gradients[a] += coeff * rot_inv.rotate(ag[k].grad);
}
} else {
for (size_t k = 0; k < ag.size(); k++) {
size_t a = std::lower_bound(atom_ids.begin(), atom_ids.end(),
ag[k].id) - atom_ids.begin();
atomic_gradients[a] += coeff * ag[k].grad;
}
}
}
cvcs[i]->collect_gradients(atom_ids, atomic_gradients);
}
}
return COLVARS_OK;
@ -1391,20 +1506,20 @@ int colvar::calc_colvar_properties()
// initialize the restraint center in the first step to the value
// just calculated from the cvcs
if (cvm::step_relative() == 0 && !after_restart) {
xr = x;
vr.reset(); // (already 0; added for clarity)
x_ext = x;
v_ext.reset(); // (already 0; added for clarity)
}
// 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::step_relative() == prev_timestep) {
xr = prev_xr;
vr = prev_vr;
if (cvm::proxy->simulation_running() && cvm::step_relative() == prev_timestep) {
x_ext = prev_x_ext;
v_ext = prev_v_ext;
}
// report the restraint center as "value"
x_reported = xr;
v_reported = vr;
x_reported = x_ext;
v_reported = v_ext;
// the "total force" with the extended Lagrangian is
// calculated in update_forces_energy() below
@ -1458,77 +1573,86 @@ cvm::real colvar::update_forces_energy()
// extended variable if there is one
if (is_enabled(f_cv_extended_Lagrangian)) {
if (cvm::debug()) {
cvm::log("Updating extended-Lagrangian degree of freedom.\n");
}
if (prev_timestep > -1) {
// Keep track of slow timestep to integrate MTS colvars
// the colvar checks the interval after waking up twice
int n_timesteps = cvm::step_relative() - prev_timestep;
if (n_timesteps != 0 && n_timesteps != time_step_factor) {
cvm::error("Error: extended-Lagrangian " + description + " has timeStepFactor " +
cvm::to_str(time_step_factor) + ", but was activated after " + cvm::to_str(n_timesteps) +
" steps at timestep " + cvm::to_str(cvm::step_absolute()) + " (relative step: " +
cvm::to_str(cvm::step_relative()) + ").\n" +
"Make sure that this colvar is requested by biases at multiples of timeStepFactor.\n");
return 0.;
if (cvm::proxy->simulation_running()) {
// Only integrate the extended equations of motion in running MD simulations
if (cvm::debug()) {
cvm::log("Updating extended-Lagrangian degree of freedom.\n");
}
}
// Integrate with slow timestep (if time_step_factor != 1)
cvm::real dt = cvm::dt() * cvm::real(time_step_factor);
if (prev_timestep > -1) {
// Keep track of slow timestep to integrate MTS colvars
// the colvar checks the interval after waking up twice
int n_timesteps = cvm::step_relative() - prev_timestep;
if (n_timesteps != 0 && n_timesteps != time_step_factor) {
cvm::error("Error: extended-Lagrangian " + description + " has timeStepFactor " +
cvm::to_str(time_step_factor) + ", but was activated after " + cvm::to_str(n_timesteps) +
" steps at timestep " + cvm::to_str(cvm::step_absolute()) + " (relative step: " +
cvm::to_str(cvm::step_relative()) + ").\n" +
"Make sure that this colvar is requested by biases at multiples of timeStepFactor.\n");
return 0.;
}
}
colvarvalue f_ext(fr.type()); // force acting on the extended variable
f_ext.reset();
// Integrate with slow timestep (if time_step_factor != 1)
cvm::real dt = cvm::dt() * cvm::real(time_step_factor);
// 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)
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
f_ext = f / cvm::real(time_step_factor);
f_ext += (-0.5 * ext_force_k) * this->dist2_lgrad(xr, x);
f = (-0.5 * ext_force_k) * this->dist2_rgrad(xr, x);
// Coupling force is a slow force, to be applied to atomic coords impulse-style
f *= cvm::real(time_step_factor);
colvarvalue f_ext(fr.type()); // force acting on the extended variable
f_ext.reset();
if (is_enabled(f_cv_subtract_applied_force)) {
// Report a "system" force without the biases on this colvar
// that is, just the spring force
ft_reported = (-0.5 * ext_force_k) * this->dist2_lgrad(xr, x);
// 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)
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
f_ext = f / cvm::real(time_step_factor);
f_ext += (-0.5 * ext_force_k) * this->dist2_lgrad(x_ext, x);
f = (-0.5 * ext_force_k) * this->dist2_rgrad(x_ext, x);
// Coupling force is a slow force, to be applied to atomic coords impulse-style
f *= cvm::real(time_step_factor);
if (is_enabled(f_cv_subtract_applied_force)) {
// Report a "system" force without the biases on this colvar
// that is, just the spring force
ft_reported = (-0.5 * ext_force_k) * this->dist2_lgrad(x_ext, x);
} else {
// The total force acting on the extended variable is f_ext
// This will be used in the next timestep
ft_reported = f_ext;
}
// backup in case we need to revert this integration timestep
// if the same MD timestep is re-run
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
kinetic_energy = 0.5 * ext_mass * v_ext * v_ext;
potential_energy = 0.5 * ext_force_k * this->dist2(x_ext, x);
// leap to v_(i+1/2)
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;
}
v_ext += (0.5 * dt) * f_ext / ext_mass;
x_ext += dt * v_ext;
x_ext.apply_constraints();
this->wrap(x_ext);
} else {
// The total force acting on the extended variable is f_ext
// This will be used in the next timestep
ft_reported = f_ext;
// If this is a postprocessing run (eg. in VMD), the extended DOF
// is equal to the actual coordinate
x_ext = x;
}
// backup in case we need to revert this integration timestep
// if the same MD timestep is re-run
prev_xr = xr;
prev_vr = vr;
// leapfrog: starting from x_i, f_i, v_(i-1/2)
vr += (0.5 * dt) * f_ext / ext_mass;
// Because of leapfrog, kinetic energy at time i is approximate
kinetic_energy = 0.5 * ext_mass * vr * vr;
potential_energy = 0.5 * ext_force_k * this->dist2(xr, x);
// leap to v_(i+1/2)
if (is_enabled(f_cv_Langevin)) {
vr -= dt * ext_gamma * vr;
colvarvalue rnd(x);
rnd.set_random();
vr += dt * ext_sigma * rnd / ext_mass;
}
vr += (0.5 * dt) * f_ext / ext_mass;
xr += dt * vr;
xr.apply_constraints();
this->wrap(xr);
// Report extended value
x_reported = x_ext;
}
// Now adding the force on the actual colvar (for those biases that
@ -1730,7 +1854,7 @@ int colvar::update_cvc_config(std::vector<std::string> const &confs)
// ******************** METRIC FUNCTIONS ********************
// Use the metrics defined by \link cvc \endlink objects
// Use the metrics defined by \link colvar::cvc \endlink objects
bool colvar::periodic_boundaries(colvarvalue const &lb, colvarvalue const &ub) const
@ -1742,7 +1866,7 @@ bool colvar::periodic_boundaries(colvarvalue const &lb, colvarvalue const &ub) c
}
if (period > 0.0) {
if ( ((std::sqrt(this->dist2(lb, ub))) / this->width)
if ( ((cvm::sqrt(this->dist2(lb, ub))) / this->width)
< 1.0E-10 ) {
return true;
}
@ -1792,21 +1916,21 @@ colvarvalue colvar::dist2_rgrad(colvarvalue const &x1,
}
}
void colvar::wrap(colvarvalue &x) const
void colvar::wrap(colvarvalue &x_unwrapped) const
{
if ( !is_enabled(f_cv_periodic) ) {
if (!is_enabled(f_cv_periodic)) {
return;
}
if ( is_enabled(f_cv_scripted) || is_enabled(f_cv_custom_function) ) {
// Scripted functions do their own wrapping, as cvcs might not be periodic
cvm::real shift = std::floor((x.real_value - wrap_center) / period + 0.5);
x.real_value -= shift * period;
cvm::real shift = cvm::floor((x_unwrapped.real_value - wrap_center) /
period + 0.5);
x_unwrapped.real_value -= shift * period;
} else {
cvcs[0]->wrap(x);
cvcs[0]->wrap(x_unwrapped);
}
return;
}
@ -1852,15 +1976,15 @@ std::istream & colvar::read_restart(std::istream &is)
if (is_enabled(f_cv_extended_Lagrangian)) {
if ( !(get_keyval(conf, "extended_x", xr,
if ( !(get_keyval(conf, "extended_x", x_ext,
colvarvalue(x.type()), colvarparse::parse_silent)) &&
!(get_keyval(conf, "extended_v", vr,
!(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");
}
x_reported = xr;
x_reported = x_ext;
} else {
x_reported = x;
}
@ -1875,7 +1999,7 @@ std::istream & colvar::read_restart(std::istream &is)
}
if (is_enabled(f_cv_extended_Lagrangian)) {
v_reported = vr;
v_reported = v_ext;
} else {
v_reported = v_fdiff;
}
@ -1901,8 +2025,8 @@ std::istream & colvar::read_traj(std::istream &is)
}
if (is_enabled(f_cv_extended_Lagrangian)) {
is >> xr;
x_reported = xr;
is >> x_ext;
x_reported = x_ext;
} else {
x_reported = x;
}
@ -1913,8 +2037,8 @@ std::istream & colvar::read_traj(std::istream &is)
is >> v_fdiff;
if (is_enabled(f_cv_extended_Lagrangian)) {
is >> vr;
v_reported = vr;
is >> v_ext;
v_reported = v_ext;
} else {
v_reported = v_fdiff;
}
@ -1955,11 +2079,11 @@ std::ostream & colvar::write_restart(std::ostream &os) {
os << " extended_x "
<< std::setprecision(cvm::cv_prec)
<< std::setw(cvm::cv_width)
<< xr << "\n"
<< x_ext << "\n"
<< " extended_v "
<< std::setprecision(cvm::cv_prec)
<< std::setw(cvm::cv_width)
<< vr << "\n";
<< v_ext << "\n";
}
os << "}\n\n";
@ -2190,6 +2314,7 @@ int colvar::calc_acf()
acf_x_history_p = acf_x_history.begin();
break;
case acf_notset:
default:
break;
}
@ -2222,6 +2347,7 @@ int colvar::calc_acf()
history_incr(acf_x_history, acf_x_history_p);
break;
case acf_notset:
default:
break;
}
@ -2257,7 +2383,7 @@ void colvar::calc_vel_acf(std::list<colvarvalue> &v_list,
void colvar::calc_coor_acf(std::list<colvarvalue> &x_list,
colvarvalue const &x)
colvarvalue const &x_now)
{
// same as above but for coordinates
if (x_list.size() >= acf_length+acf_offset) {
@ -2269,7 +2395,7 @@ void colvar::calc_coor_acf(std::list<colvarvalue> &x_list,
*(acf_i++) += x.norm2();
colvarvalue::inner_opt(x, xs_i, x_list.end(), acf_i);
colvarvalue::inner_opt(x_now, xs_i, x_list.end(), acf_i);
acf_nframes++;
}
@ -2277,7 +2403,7 @@ void colvar::calc_coor_acf(std::list<colvarvalue> &x_list,
void colvar::calc_p2coor_acf(std::list<colvarvalue> &x_list,
colvarvalue const &x)
colvarvalue const &x_now)
{
// same as above but with second order Legendre polynomial instead
// of just the scalar product
@ -2291,7 +2417,7 @@ void colvar::calc_p2coor_acf(std::list<colvarvalue> &x_list,
// value of P2(0) = 1
*(acf_i++) += 1.0;
colvarvalue::p2leg_opt(x, xs_i, x_list.end(), acf_i);
colvarvalue::p2leg_opt(x_now, xs_i, x_list.end(), acf_i);
acf_nframes++;
}
@ -2316,6 +2442,9 @@ int colvar::write_acf(std::ostream &os)
case acf_p2coor:
os << "Coordinate (2nd Legendre poly)";
break;
case acf_notset:
default:
break;
}
if (acf_colvar_name == name) {
@ -2420,7 +2549,7 @@ int colvar::calc_runave()
<< std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width)
<< runave << " "
<< std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width)
<< std::sqrt(runave_variance) << "\n";
<< cvm::sqrt(runave_variance) << "\n";
}
history_add_value(runave_length, *x_history_p, x);

View File

@ -92,7 +92,7 @@ public:
static std::vector<feature *> cv_features;
/// \brief Implementation of the feature list accessor for colvar
virtual const std::vector<feature *> &features()
virtual const std::vector<feature *> &features() const
{
return cv_features;
}
@ -133,7 +133,7 @@ protected:
Here:
S(x(t)) = x
s(t) = xr
s(t) = x_ext
DS = Ds = delta
*/
@ -170,13 +170,13 @@ protected:
// Options for extended_lagrangian
/// Restraint center
colvarvalue xr;
colvarvalue x_ext;
/// Previous value of the restraint center;
colvarvalue prev_xr;
colvarvalue prev_x_ext;
/// Velocity of the restraint center
colvarvalue vr;
colvarvalue v_ext;
/// Previous velocity of the restraint center
colvarvalue prev_vr;
colvarvalue prev_v_ext;
/// Mass of the restraint center
cvm::real ext_mass;
/// Restraint force constant
@ -273,6 +273,9 @@ public:
/// Init output flags
int init_output_flags(std::string const &conf);
/// \brief Initialize dependency tree
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,
@ -373,7 +376,7 @@ protected:
void update_active_cvc_square_norm();
/// \brief Absolute timestep number when this colvar was last updated
int prev_timestep;
cvm::step_number prev_timestep;
public:
@ -383,32 +386,32 @@ public:
/// \brief Return the number of CVC objects with an active flag (as set by update_cvc_flags)
inline size_t num_active_cvcs() const { return n_active_cvcs; }
/// \brief Use the internal metrics (as from \link cvc
/// \brief Use the internal metrics (as from \link colvar::cvc
/// \endlink objects) to calculate square distances and gradients
///
/// Handles correctly symmetries and periodic boundary conditions
cvm::real dist2(colvarvalue const &x1,
colvarvalue const &x2) const;
/// \brief Use the internal metrics (as from \link cvc
/// \brief Use the internal metrics (as from \link colvar::cvc
/// \endlink objects) to calculate square distances and gradients
///
/// Handles correctly symmetries and periodic boundary conditions
colvarvalue dist2_lgrad(colvarvalue const &x1,
colvarvalue const &x2) const;
/// \brief Use the internal metrics (as from \link cvc
/// \brief Use the internal metrics (as from \link colvar::cvc
/// \endlink objects) to calculate square distances and gradients
///
/// Handles correctly symmetries and periodic boundary conditions
colvarvalue dist2_rgrad(colvarvalue const &x1,
colvarvalue const &x2) const;
/// \brief Use the internal metrics (as from \link cvc
/// \brief Use the internal metrics (as from \link colvar::cvc
/// \endlink objects) to wrap a value into a standard interval
///
/// Handles correctly symmetries and periodic boundary conditions
void wrap(colvarvalue &x) const;
void wrap(colvarvalue &x_unwrapped) const;
/// Read the analysis tasks
@ -546,6 +549,7 @@ public:
class polar_phi;
class distance_inv;
class distance_pairs;
class dipole_magnitude;
class angle;
class dipole_angle;
class dihedral;
@ -574,7 +578,7 @@ public:
protected:
/// \brief Array of \link cvc \endlink objects
/// \brief Array of \link colvar::cvc \endlink objects
std::vector<cvc *> cvcs;
/// \brief Flags to enable or disable cvcs at next colvar evaluation
@ -619,6 +623,9 @@ public:
inline size_t n_components() const {
return cvcs.size();
}
/// \brief Get vector of vectors of atom IDs for all atom groups
virtual std::vector<std::vector<int> > get_atom_lists();
};
inline cvm::real const & colvar::force_constant() const
@ -655,6 +662,8 @@ inline colvarvalue const & colvar::total_force() const
inline void colvar::add_bias_force(colvarvalue const &force)
{
check_enabled(f_cv_gradient,
std::string("applying a force to the variable \""+name+"\""));
if (cvm::debug()) {
cvm::log("Adding biasing force "+cvm::to_str(force)+" to colvar \""+name+"\".\n");
}

View File

@ -33,24 +33,24 @@ namespace UIestimator {
public:
n_matrix() {}
n_matrix(const std::vector<double> & lowerboundary, // lowerboundary of x
const std::vector<double> & upperboundary, // upperboundary of
const std::vector<double> & width, // width of x
const int y_size) { // size of y, for example, ysize=7, then when x=1, the distribution of y in [-2,4] is considered
n_matrix(const std::vector<double> & lowerboundary_input, // lowerboundary of x
const std::vector<double> & upperboundary_input, // upperboundary of
const std::vector<double> & width_input, // width of x
const int y_size_input) { // size of y, for example, ysize=7, then when x=1, the distribution of y in [-2,4] is considered
int i;
this->lowerboundary = lowerboundary;
this->upperboundary = upperboundary;
this->width = width;
this->dimension = lowerboundary.size();
this->y_size = y_size; // keep in mind the internal (spare) matrix is stored in diagonal form
this->y_total_size = int(std::pow(double(y_size), double(dimension)) + EPSILON);
this->lowerboundary = lowerboundary_input;
this->upperboundary = upperboundary_input;
this->width = width_input;
this->dimension = lowerboundary_input.size();
this->y_size = y_size_input; // keep in mind the internal (spare) matrix is stored in diagonal form
this->y_total_size = int(cvm::pow(double(y_size_input), double(dimension)) + EPSILON);
// the range of the matrix is [lowerboundary, upperboundary]
x_total_size = 1;
for (i = 0; i < dimension; i++) {
x_size.push_back(int((upperboundary[i] - lowerboundary[i]) / width[i] + EPSILON));
x_size.push_back(int((upperboundary_input[i] - lowerboundary_input[i]) / width_input[i] + EPSILON));
x_total_size *= x_size[i];
}
@ -89,9 +89,10 @@ namespace UIestimator {
std::vector<int> temp; // this vector is used in convert_x and convert_y to save computational resource
int i, j;
int convert_x(const std::vector<double> & x) { // convert real x value to its interal index
int i, j;
for (i = 0; i < dimension; i++) {
temp[i] = int((x[i] - lowerboundary[i]) / width[i] + EPSILON);
}
@ -121,7 +122,7 @@ namespace UIestimator {
int index = 0;
for (i = 0; i < dimension; i++) {
if (i + 1 < dimension)
index += temp[i] * int(std::pow(double(y_size), double(dimension - i - 1)) + EPSILON);
index += temp[i] * int(cvm::pow(double(y_size), double(dimension - i - 1)) + EPSILON);
else
index += temp[i];
}
@ -139,19 +140,19 @@ namespace UIestimator {
public:
n_vector() {}
n_vector(const std::vector<double> & lowerboundary, // lowerboundary of x
const std::vector<double> & upperboundary, // upperboundary of
const std::vector<double> & width, // width of x
const int y_size, // size of y, for example, ysize=7, then when x=1, the distribution of y in [-2,4] is considered
n_vector(const std::vector<double> & lowerboundary_input, // lowerboundary of x
const std::vector<double> & upperboundary_input, // upperboundary of
const std::vector<double> & width_input, // width of x
const int y_size_input, // size of y, for example, ysize=7, then when x=1, the distribution of y in [-2,4] is considered
const T & default_value) { // the default value of T
this->width = width;
this->dimension = lowerboundary.size();
this->width = width_input;
this->dimension = lowerboundary_input.size();
x_total_size = 1;
for (int i = 0; i < dimension; i++) {
this->lowerboundary.push_back(lowerboundary[i] - (y_size - 1) / 2 * width[i] - EPSILON);
this->upperboundary.push_back(upperboundary[i] + (y_size - 1) / 2 * width[i] + EPSILON);
this->lowerboundary.push_back(lowerboundary_input[i] - (y_size_input - 1) / 2 * width_input[i] - EPSILON);
this->upperboundary.push_back(upperboundary_input[i] + (y_size_input - 1) / 2 * width_input[i] + EPSILON);
x_size.push_back(int((this->upperboundary[i] - this->lowerboundary[i]) / this->width[i] + EPSILON));
x_total_size *= x_size[i];
@ -215,26 +216,26 @@ namespace UIestimator {
UIestimator() {}
//called when (re)start an eabf simulation
UIestimator(const std::vector<double> & lowerboundary,
const std::vector<double> & upperboundary,
const std::vector<double> & width,
const std::vector<double> & krestr, // force constant in eABF
const std::string & output_filename, // the prefix of output files
const int output_freq,
const bool restart, // whether restart from a .count and a .grad file
const std::vector<std::string> & input_filename, // the prefixes of input files
const double temperature) {
UIestimator(const std::vector<double> & lowerboundary_input,
const std::vector<double> & upperboundary_input,
const std::vector<double> & width_input,
const std::vector<double> & krestr_input, // force constant in eABF
const std::string & output_filename_input, // the prefix of output files
const int output_freq_input,
const bool restart_input, // whether restart from a .count and a .grad file
const std::vector<std::string> & input_filename_input, // the prefixes of input files
const double temperature_input) {
// initialize variables
this->lowerboundary = lowerboundary;
this->upperboundary = upperboundary;
this->width = width;
this->krestr = krestr;
this->output_filename = output_filename;
this->output_freq = output_freq;
this->restart = restart;
this->input_filename = input_filename;
this->temperature = temperature;
this->lowerboundary = lowerboundary_input;
this->upperboundary = upperboundary_input;
this->width = width_input;
this->krestr = krestr_input;
this->output_filename = output_filename_input;
this->output_freq = output_freq_input;
this->restart = restart_input;
this->input_filename = input_filename_input;
this->temperature = temperature_input;
int i, j;
@ -300,7 +301,7 @@ namespace UIestimator {
~UIestimator() {}
// called from MD engine every step
bool update(const int step, std::vector<double> x, std::vector<double> y) {
bool update(cvm::step_number step, std::vector<double> x, std::vector<double> y) {
int i;
@ -431,7 +432,7 @@ namespace UIestimator {
loop_flag_y[k] = loop_flag_x[k] - HALF_Y_SIZE * width[k];
}
int j = 0;
j = 0;
while (j >= 0) {
norm += distribution_x_y.get_value(loop_flag_x, loop_flag_y);
for (k = 0; k < dimension; k++) {
@ -672,7 +673,7 @@ namespace UIestimator {
}
// read input files
void read_inputfiles(const std::vector<std::string> input_filename)
void read_inputfiles(const std::vector<std::string> filename)
{
char sharp;
double nothing;
@ -683,11 +684,11 @@ namespace UIestimator {
std::vector<double> position_temp(dimension, 0);
std::vector<double> grad_temp(dimension, 0);
int count_temp = 0;
for (i = 0; i < int(input_filename.size()); i++) {
for (i = 0; i < int(filename.size()); i++) {
int size = 1 , size_temp = 0;
std::string count_filename = input_filename[i] + ".UI.count";
std::string grad_filename = input_filename[i] + ".UI.grad";
std::string count_filename = filename[i] + ".UI.count";
std::string grad_filename = filename[i] + ".UI.grad";
std::ifstream count_file(count_filename.c_str(), std::ios::in);
std::ifstream grad_file(grad_filename.c_str(), std::ios::in);

View File

@ -22,7 +22,7 @@ cvm::atom::atom()
index = -1;
id = -1;
mass = 1.0;
charge = 1.0;
charge = 0.0;
reset_data();
}
@ -107,6 +107,8 @@ cvm::atom_group::~atom_group()
delete fitting_group;
fitting_group = NULL;
}
cvm::main()->unregister_named_atom_group(this);
}
@ -183,10 +185,7 @@ int cvm::atom_group::init()
// These may be overwritten by parse(), if a name is provided
atoms.clear();
// TODO: check with proxy whether atom forces etc are available
init_ag_requires();
init_dependencies();
index = -1;
b_dummy = false;
@ -207,8 +206,67 @@ int cvm::atom_group::init()
}
int cvm::atom_group::init_dependencies() {
size_t i;
// Initialize static array once and for all
if (features().size() == 0) {
for (i = 0; i < f_ag_ntot; i++) {
modify_features().push_back(new feature);
}
init_feature(f_ag_active, "active", f_type_dynamic);
init_feature(f_ag_center, "translational fit", f_type_static);
init_feature(f_ag_rotate, "rotational fit", f_type_static);
init_feature(f_ag_fitting_group, "fitting group", f_type_static);
init_feature(f_ag_explicit_gradient, "explicit atom gradient", f_type_dynamic);
init_feature(f_ag_fit_gradients, "fit gradients", f_type_user);
require_feature_self(f_ag_fit_gradients, f_ag_explicit_gradient);
init_feature(f_ag_atom_forces, "atomic forces", f_type_dynamic);
// parallel calculation implies that we have at least a scalable center of mass,
// but f_ag_scalable is kept as a separate feature to deal with future dependencies
init_feature(f_ag_scalable, "scalable group calculation", f_type_static);
init_feature(f_ag_scalable_com, "scalable group center of mass calculation", f_type_static);
require_feature_self(f_ag_scalable, f_ag_scalable_com);
// check that everything is initialized
for (i = 0; i < colvardeps::f_ag_ntot; i++) {
if (is_not_set(i)) {
cvm::error("Uninitialized feature " + cvm::to_str(i) + " in " + description);
}
}
}
// Initialize feature_states for each instance
// default as unavailable, not enabled
feature_states.reserve(f_ag_ntot);
for (i = 0; i < colvardeps::f_ag_ntot; i++) {
feature_states.push_back(feature_state(false, false));
}
// Features that are implemented (or not) by all atom groups
feature_states[f_ag_active].available = true;
// f_ag_scalable_com is provided by the CVC iff it is COM-based
feature_states[f_ag_scalable_com].available = false;
// TODO make f_ag_scalable depend on f_ag_scalable_com (or something else)
feature_states[f_ag_scalable].available = true;
feature_states[f_ag_fit_gradients].available = true;
feature_states[f_ag_fitting_group].available = true;
feature_states[f_ag_explicit_gradient].available = true;
return COLVARS_OK;
}
int cvm::atom_group::setup()
{
if (atoms_ids.size() == 0) {
atoms_ids.reserve(atoms.size());
for (cvm::atom_iter ai = atoms.begin(); ai != atoms.end(); ai++) {
atoms_ids.push_back(ai->id);
}
}
for (cvm::atom_iter ai = atoms.begin(); ai != atoms.end(); ai++) {
ai->update_mass();
ai->update_charge();
@ -237,15 +295,6 @@ void cvm::atom_group::update_total_mass()
}
void cvm::atom_group::reset_mass(std::string &name, int i, int j)
{
update_total_mass();
cvm::log("Re-initialized atom group "+name+":"+cvm::to_str(i)+"/"+
cvm::to_str(j)+". "+ cvm::to_str(atoms_ids.size())+
" atoms: total mass = "+cvm::to_str(total_mass)+".\n");
}
void cvm::atom_group::update_total_charge()
{
if (b_dummy) {
@ -264,6 +313,19 @@ void cvm::atom_group::update_total_charge()
}
void cvm::atom_group::print_properties(std::string const &colvar_name,
int i, int j)
{
if (cvm::proxy->updated_masses() && cvm::proxy->updated_charges()) {
cvm::log("Re-initialized atom group for variable \""+colvar_name+"\":"+
cvm::to_str(i)+"/"+
cvm::to_str(j)+". "+ cvm::to_str(atoms_ids.size())+
" atoms: total mass = "+cvm::to_str(total_mass)+
", total charge = "+cvm::to_str(total_charge)+".\n");
}
}
int cvm::atom_group::parse(std::string const &group_conf)
{
cvm::log("Initializing atom group \""+key+"\".\n");
@ -450,10 +512,21 @@ int cvm::atom_group::parse(std::string const &group_conf)
if (cvm::debug())
cvm::log("Done initializing atom group \""+key+"\".\n");
cvm::log("Atom group \""+key+"\" defined, "+
cvm::to_str(atoms_ids.size())+" atoms initialized: total mass = "+
cvm::to_str(total_mass)+", total charge = "+
cvm::to_str(total_charge)+".\n");
{
std::string init_msg;
init_msg.append("Atom group \""+key+"\" defined with "+
cvm::to_str(atoms_ids.size())+" atoms requested");
if ((cvm::proxy)->updated_masses()) {
init_msg.append(": total mass = "+
cvm::to_str(total_mass));
if ((cvm::proxy)->updated_charges()) {
init_msg.append(", total charge = "+
cvm::to_str(total_charge));
}
}
init_msg.append(".\n");
cvm::log(init_msg);
}
if (b_print_atom_ids) {
cvm::log("Internal definition of the atom group:\n");
@ -464,7 +537,7 @@ int cvm::atom_group::parse(std::string const &group_conf)
}
int cvm::atom_group::add_atoms_of_group(atom_group const * ag)
int cvm::atom_group::add_atoms_of_group(atom_group const *ag)
{
std::vector<int> const &source_ids = ag->atoms_ids;
@ -696,6 +769,7 @@ int cvm::atom_group::parse_fitting_options(std::string const &group_conf)
return INPUT_ERROR;
}
}
enable(f_ag_fitting_group);
}
atom_group *group_for_fit = fitting_group ? fitting_group : this;
@ -800,24 +874,24 @@ int cvm::atom_group::create_sorted_ids()
// Sort the internal IDs
std::list<int> sorted_atoms_ids_list;
for (size_t i = 0; i < this->size(); i++) {
for (size_t i = 0; i < atoms_ids.size(); i++) {
sorted_atoms_ids_list.push_back(atoms_ids[i]);
}
sorted_atoms_ids_list.sort();
sorted_atoms_ids_list.unique();
if (sorted_atoms_ids_list.size() != this->size()) {
if (sorted_atoms_ids_list.size() != atoms_ids.size()) {
return cvm::error("Error: duplicate atom IDs in atom group? (found " +
cvm::to_str(sorted_atoms_ids_list.size()) +
" unique atom IDs instead of " +
cvm::to_str(this->size()) + ").\n", BUG_ERROR);
cvm::to_str(atoms_ids.size()) + ").\n", BUG_ERROR);
}
// Compute map between sorted and unsorted elements
sorted_atoms_ids.resize(this->size());
sorted_atoms_ids_map.resize(this->size());
sorted_atoms_ids.resize(atoms_ids.size());
sorted_atoms_ids_map.resize(atoms_ids.size());
std::list<int>::iterator lsii = sorted_atoms_ids_list.begin();
size_t ii = 0;
for ( ; ii < this->size(); lsii++, ii++) {
for ( ; ii < atoms_ids.size(); lsii++, ii++) {
sorted_atoms_ids[ii] = *lsii;
size_t const pos = std::find(atoms_ids.begin(), atoms_ids.end(), *lsii) -
atoms_ids.begin();
@ -1038,15 +1112,15 @@ int cvm::atom_group::calc_center_of_mass()
}
int cvm::atom_group::calc_dipole(cvm::atom_pos const &com)
int cvm::atom_group::calc_dipole(cvm::atom_pos const &dipole_center)
{
if (b_dummy) {
cvm::error("Error: trying to compute the dipole of an empty group.\n", INPUT_ERROR);
return COLVARS_ERROR;
return cvm::error("Error: trying to compute the dipole "
"of a dummy group.\n", INPUT_ERROR);
}
dip.reset();
for (cvm::atom_const_iter ai = this->begin(); ai != this->end(); ai++) {
dip += ai->charge * (ai->pos - com);
dip += ai->charge * (ai->pos - dipole_center);
}
return COLVARS_OK;
}
@ -1056,13 +1130,12 @@ void cvm::atom_group::set_weighted_gradient(cvm::rvector const &grad)
{
if (b_dummy) return;
if (is_enabled(f_ag_scalable)) {
scalar_com_gradient = grad;
return;
}
scalar_com_gradient = grad;
for (cvm::atom_iter ai = this->begin(); ai != this->end(); ai++) {
ai->grad = (ai->mass/total_mass) * grad;
if (!is_enabled(f_ag_scalable)) {
for (cvm::atom_iter ai = this->begin(); ai != this->end(); ai++) {
ai->grad = (ai->mass/total_mass) * grad;
}
}
}

View File

@ -17,7 +17,7 @@
/// \brief Stores numeric id, mass and all mutable data for an atom,
/// mostly used by a \link cvc \endlink
/// mostly used by a \link colvar::cvc \endlink
///
/// This class may be used to keep atomic data such as id, mass,
/// position and collective variable derivatives) altogether.
@ -63,7 +63,7 @@ public:
/// from the \link colvarvalue \endlink class), which is also the
/// most frequent case. For more complex types of \link
/// colvarvalue \endlink objects, atomic gradients should be
/// defined within the specific \link cvc \endlink
/// defined within the specific \link colvar::cvc \endlink
/// implementation
cvm::rvector grad;
@ -100,13 +100,19 @@ public:
/// Get the latest value of the mass
inline void update_mass()
{
mass = (cvm::proxy)->get_atom_mass(index);
colvarproxy *p = cvm::proxy;
if (p->updated_masses()) {
mass = p->get_atom_mass(index);
}
}
/// Get the latest value of the charge
inline void update_charge()
{
charge = (cvm::proxy)->get_atom_charge(index);
colvarproxy *p = cvm::proxy;
if (p->updated_charges()) {
charge = p->get_atom_charge(index);
}
}
/// Get the current position
@ -145,7 +151,7 @@ public:
/// \brief Group of \link atom \endlink objects, mostly used by a
/// \link cvc \endlink object to gather all atomic data
/// \link colvar::cvc \endlink object to gather all atomic data
class colvarmodule::atom_group
: public colvarparse, public colvardeps
{
@ -174,6 +180,9 @@ public:
/// \brief Set default values for common flags
int init();
/// \brief Initialize dependency tree
virtual int init_dependencies();
/// \brief Update data required to calculate cvc's
int setup();
@ -198,16 +207,16 @@ public:
/// \brief Remove an atom object from this group
int remove_atom(cvm::atom_iter ai);
/// \brief Re-initialize the total mass of a group.
/// \brief Print the updated the total mass and charge of a group.
/// This is needed in case the hosting MD code has an option to
/// change atom masses after their initialization.
void reset_mass(std::string &name, int i, int j);
void print_properties(std::string const &colvar_name, int i, int j);
/// \brief Implementation of the feature list for atom group
static std::vector<feature *> ag_features;
/// \brief Implementation of the feature list accessor for atom group
virtual const std::vector<feature *> &features()
virtual const std::vector<feature *> &features() const
{
return ag_features;
}
@ -347,15 +356,19 @@ public:
/// Total mass of the atom group
cvm::real total_mass;
/// Update the total mass of the atom group
void update_total_mass();
/// Total charge of the atom group
cvm::real total_charge;
/// Update the total mass of the group
void update_total_charge();
/// \brief Don't apply any force on this group (use its coordinates
/// only to calculate a colvar)
bool noforce;
bool noforce;
/// \brief Get the current positions
void read_positions();
@ -423,20 +436,32 @@ public:
/// \brief Calculate the center of mass of the atomic positions, assuming that
/// they are already pbc-wrapped
int calc_center_of_mass();
private:
/// \brief Center of mass
cvm::atom_pos com;
/// \brief The derivative of a scalar variable with respect to the COM
// TODO for scalable calculations of more complex variables (e.g. rotation),
// use a colvarvalue of vectors to hold the entire derivative
cvm::rvector scalar_com_gradient;
public:
/// \brief Return the center of mass of the atomic positions
/// \brief Return the center of mass (COM) of the atomic positions
inline cvm::atom_pos center_of_mass() const
{
return com;
}
/// \brief Return previously gradient of scalar variable with respect to the
/// COM
inline cvm::rvector center_of_mass_scalar_gradient() const
{
return scalar_com_gradient;
}
/// \brief Return a copy of the current atom positions, shifted by a constant vector
std::vector<cvm::atom_pos> positions_shifted(cvm::rvector const &shift) const;
@ -444,10 +469,15 @@ public:
std::vector<cvm::rvector> velocities() const;
///\brief Calculate the dipole of the atom group around the specified center
int calc_dipole(cvm::atom_pos const &com);
int calc_dipole(cvm::atom_pos const &dipole_center);
private:
/// Dipole moment of the atom group
cvm::rvector dip;
public:
///\brief Return the (previously calculated) dipole of the atom group
inline cvm::rvector dipole() const
{

View File

@ -17,15 +17,14 @@
colvarbias::colvarbias(char const *key)
: bias_type(to_lower_cppstr(key))
{
init_cvb_requires();
description = "uninitialized " + cvm::to_str(key) + " bias";
init_dependencies();
rank = 1;
has_data = false;
b_output_energy = false;
reset();
state_file_step = 0;
description = "uninitialized " + cvm::to_str(key) + " bias";
state_file_step = 0L;
}
@ -76,6 +75,7 @@ int colvarbias::init(std::string const &conf)
cvm::error("Error: no collective variables specified.\n", INPUT_ERROR);
return INPUT_ERROR;
}
} else {
cvm::log("Reinitializing bias \""+name+"\".\n");
}
@ -98,6 +98,70 @@ int colvarbias::init(std::string const &conf)
}
int colvarbias::init_dependencies() {
int i;
if (features().size() == 0) {
for (i = 0; i < f_cvb_ntot; i++) {
modify_features().push_back(new feature);
}
init_feature(f_cvb_active, "active", f_type_dynamic);
require_feature_children(f_cvb_active, f_cv_active);
init_feature(f_cvb_awake, "awake", f_type_static);
require_feature_self(f_cvb_awake, f_cvb_active);
init_feature(f_cvb_apply_force, "apply force", f_type_user);
require_feature_children(f_cvb_apply_force, f_cv_gradient);
init_feature(f_cvb_get_total_force, "obtain total force", f_type_dynamic);
require_feature_children(f_cvb_get_total_force, f_cv_total_force);
init_feature(f_cvb_output_acc_work, "output accumulated work", f_type_user);
require_feature_self(f_cvb_output_acc_work, f_cvb_apply_force);
init_feature(f_cvb_history_dependent, "history-dependent", f_type_static);
init_feature(f_cvb_time_dependent, "time-dependent", f_type_static);
init_feature(f_cvb_scalar_variables, "require scalar variables", f_type_static);
require_feature_children(f_cvb_scalar_variables, f_cv_scalar);
init_feature(f_cvb_calc_pmf, "calculate a PMF", f_type_static);
init_feature(f_cvb_calc_ti_samples, "calculate TI samples", f_type_dynamic);
require_feature_self(f_cvb_calc_ti_samples, f_cvb_get_total_force);
require_feature_children(f_cvb_calc_ti_samples, f_cv_grid);
init_feature(f_cvb_write_ti_samples, "write TI samples ", f_type_user);
require_feature_self(f_cvb_write_ti_samples, f_cvb_calc_ti_samples);
init_feature(f_cvb_write_ti_pmf, "write TI PMF", f_type_user);
require_feature_self(f_cvb_write_ti_pmf, f_cvb_calc_ti_samples);
// check that everything is initialized
for (i = 0; i < colvardeps::f_cvb_ntot; i++) {
if (is_not_set(i)) {
cvm::error("Uninitialized feature " + cvm::to_str(i) + " in " + description);
}
}
}
// Initialize feature_states for each instance
feature_states.reserve(f_cvb_ntot);
for (i = 0; i < f_cvb_ntot; i++) {
feature_states.push_back(feature_state(true, false));
// Most features are available, so we set them so
// and list exceptions below
}
// only compute TI samples when deriving from colvarbias_ti
feature_states[f_cvb_calc_ti_samples].available = false;
return COLVARS_OK;
}
int colvarbias::reset()
{
bias_energy = 0.0;
@ -217,6 +281,9 @@ int colvarbias::update()
void colvarbias::communicate_forces()
{
if (! is_enabled(f_cvb_apply_force)) {
return;
}
size_t i = 0;
for (i = 0; i < num_variables(); i++) {
if (cvm::debug()) {
@ -345,7 +412,8 @@ std::istream & colvarbias::read_state(std::istream &is)
(set_state_params(conf) != COLVARS_OK) ) {
cvm::error("Error: in reading state configuration for \""+bias_type+"\" bias \""+
this->name+"\" at position "+
cvm::to_str(is.tellg())+" in stream.\n", INPUT_ERROR);
cvm::to_str(static_cast<size_t>(is.tellg()))+
" in stream.\n", INPUT_ERROR);
is.clear();
is.seekg(start_pos, std::ios::beg);
is.setstate(std::ios::failbit);
@ -355,7 +423,8 @@ std::istream & colvarbias::read_state(std::istream &is)
if (!read_state_data(is)) {
cvm::error("Error: in reading state data for \""+bias_type+"\" bias \""+
this->name+"\" at position "+
cvm::to_str(is.tellg())+" in stream.\n", INPUT_ERROR);
cvm::to_str(static_cast<size_t>(is.tellg()))+
" in stream.\n", INPUT_ERROR);
is.clear();
is.seekg(start_pos, std::ios::beg);
is.setstate(std::ios::failbit);
@ -365,7 +434,8 @@ std::istream & colvarbias::read_state(std::istream &is)
if (brace != "}") {
cvm::error("Error: corrupt restart information for \""+bias_type+"\" bias \""+
this->name+"\": no matching brace at position "+
cvm::to_str(is.tellg())+" in stream.\n");
cvm::to_str(static_cast<size_t>(is.tellg()))+
" in stream.\n");
is.setstate(std::ios::failbit);
}
@ -381,7 +451,8 @@ std::istream & colvarbias::read_state_data_key(std::istream &is, char const *key
!(key_in == to_lower_cppstr(std::string(key))) ) {
cvm::error("Error: in reading restart configuration for "+
bias_type+" bias \""+this->name+"\" at position "+
cvm::to_str(is.tellg())+" in stream.\n", INPUT_ERROR);
cvm::to_str(static_cast<size_t>(is.tellg()))+
" in stream.\n", INPUT_ERROR);
is.clear();
is.seekg(start_pos, std::ios::beg);
is.setstate(std::ios::failbit);
@ -640,7 +711,7 @@ int colvarbias_ti::write_output_files()
cvm::proxy->close_output_stream(ti_count_file_name);
}
std::string const ti_grad_file_name(ti_output_prefix+".ti.grad");
std::string const ti_grad_file_name(ti_output_prefix+".ti.force");
os = cvm::proxy->output_stream(ti_grad_file_name);
if (os) {
ti_avg_forces->write_multicol(*os);

View File

@ -96,6 +96,9 @@ public:
/// \brief Parse config string and (re)initialize
virtual int init(std::string const &conf);
/// \brief Initialize dependency tree
virtual int init_dependencies();
/// \brief Set to zero all mutable data
virtual int reset();
@ -181,7 +184,7 @@ public:
static std::vector<feature *> cvb_features;
/// \brief Implementation of the feature list accessor for colvarbias
virtual const std::vector<feature *> &features()
virtual const std::vector<feature *> &features() const
{
return cvb_features;
}
@ -220,7 +223,7 @@ protected:
bool has_data;
/// \brief Step number read from the last state file
size_t state_file_step;
cvm::step_number state_file_step;
};

View File

@ -191,10 +191,10 @@ int colvarbias_abf::init(std::string const &conf)
// Projected ABF
get_keyval(conf, "pABFintegrateFreq", pabf_freq, 0);
// Parameters for integrating initial (and final) gradient data
get_keyval(conf, "integrateInitSteps", integrate_initial_steps, 1e4);
get_keyval(conf, "integrateInitMaxIterations", integrate_initial_iterations, 1e4);
get_keyval(conf, "integrateInitTol", integrate_initial_tol, 1e-6);
// for updating the integrated PMF on the fly
get_keyval(conf, "integrateSteps", integrate_steps, 100);
get_keyval(conf, "integrateMaxIterations", integrate_iterations, 100);
get_keyval(conf, "integrateTol", integrate_tol, 1e-4);
}
} else {
@ -366,10 +366,10 @@ int colvarbias_abf::update()
if ( b_integrate ) {
if ( pabf_freq && cvm::step_relative() % pabf_freq == 0 ) {
cvm::real err;
int iter = pmf->integrate(integrate_steps, integrate_tol, err);
if ( iter == integrate_steps ) {
int iter = pmf->integrate(integrate_iterations, integrate_tol, err);
if ( iter == integrate_iterations ) {
cvm::log("Warning: PMF integration did not converge to " + cvm::to_str(integrate_tol)
+ " in " + cvm::to_str(integrate_steps)
+ " in " + cvm::to_str(integrate_iterations)
+ " steps. Residual error: " + cvm::to_str(err));
}
pmf->set_zero_minimum(); // TODO: do this only when necessary
@ -597,7 +597,7 @@ void colvarbias_abf::write_gradients_samples(const std::string &prefix, bool app
if (b_integrate) {
// Do numerical integration (to high precision) and output a PMF
cvm::real err;
pmf->integrate(integrate_initial_steps, integrate_initial_tol, err);
pmf->integrate(integrate_initial_iterations, integrate_initial_tol, err);
pmf->set_zero_minimum();
std::string pmf_out_name = prefix + ".pmf";
@ -661,7 +661,7 @@ void colvarbias_abf::write_gradients_samples(const std::string &prefix, bool app
// Do numerical integration (to high precision) and output a PMF
cvm::real err;
czar_pmf->set_div();
czar_pmf->integrate(integrate_initial_steps, integrate_initial_tol, err);
czar_pmf->integrate(integrate_initial_iterations, integrate_initial_tol, err);
czar_pmf->set_zero_minimum();
std::string czar_pmf_out_name = prefix + ".czar.pmf";

View File

@ -27,9 +27,13 @@ class colvarbias_abf : public colvarbias {
public:
/// Constructor for ABF bias
colvarbias_abf(char const *key);
/// Initializer for ABF bias
virtual int init(std::string const &conf);
/// Default destructor for ABF bias
virtual ~colvarbias_abf();
/// Per-timestep update of ABF bias
virtual int update();
private:
@ -40,11 +44,17 @@ private:
/// Base filename(s) for reading previous gradient data (replaces data from restart file)
std::vector<std::string> input_prefix;
/// Adapt the bias at each time step (as opposed to keeping it constant)?
bool update_bias;
/// Use normalized definition of PMF for distance functions? (flat at long distances)
/// by including the Jacobian term separately of the recorded PMF
bool hide_Jacobian;
/// Integrate gradients into a PMF on output
bool b_integrate;
/// Number of samples per bin before applying the full biasing force
size_t full_samples;
/// Number of samples per bin before applying a scaled-down biasing force
size_t min_samples;
/// frequency for updating output files
int output_freq;
@ -52,6 +62,7 @@ private:
bool b_history_files;
/// Write CZAR output file for stratified eABF (.zgrad)
bool b_czar_window_file;
/// Number of timesteps between recording data in history files (if non-zero)
size_t history_freq;
/// Umbrella Integration estimator of free energy from eABF
UIestimator::UIestimator eabf_UI;
@ -63,25 +74,30 @@ private:
/// Frequency for updating pABF PMF (if zero, pABF is not used)
int pabf_freq;
/// Max number of CG iterations for integrating PMF at startup and for file output
int integrate_initial_steps;
int integrate_initial_iterations;
/// Tolerance for integrating PMF at startup and for file output
cvm::real integrate_initial_tol;
/// Max number of CG iterations for integrating PMF at on-the-fly pABF updates
int integrate_steps;
int integrate_iterations;
/// Tolerance for integrating PMF at on-the-fly pABF updates
cvm::real integrate_tol;
/// Cap the biasing force to be applied?
/// Cap the biasing force to be applied? (option maxForce)
bool cap_force;
/// Maximum force to be applied
std::vector<cvm::real> max_force;
// Frequency for updating 2D gradients
int integrate_freq;
// Internal data and methods
std::vector<int> bin, force_bin, z_bin;
gradient_t system_force, applied_force;
/// Current bin in sample grid
std::vector<int> bin;
/// Current bin in force grid
std::vector<int> force_bin;
/// Cuurent bin in "actual" coordinate, when running extended Lagrangian dynamics
std::vector<int> z_bin;
/// Measured instantaneous system force
gradient_t system_force;
/// n-dim grid of free energy gradients
colvar_grid_gradient *gradients;
@ -118,7 +134,7 @@ private:
// shared ABF
bool shared_on;
size_t shared_freq;
int shared_last_step;
cvm::step_number shared_last_step;
// Share between replicas -- may be called independently of update
virtual int replica_share();

View File

@ -37,7 +37,7 @@ protected:
std::string out_name, out_name_dx;
size_t output_freq;
/// If one or more of the variables are \link type_vector \endlink, treat them as arrays of this length
/// If one or more of the variables are \link colvarvalue::type_vector \endlink, treat them as arrays of this length
size_t colvar_array_size;
/// If colvar_array_size is larger than 1, weigh each one by this number before accumulating the histogram
std::vector<cvm::real> weights;

View File

@ -11,7 +11,6 @@
#include <sstream>
#include <fstream>
#include <iomanip>
#include <cmath>
#include <algorithm>
// used to set the absolute path of a replica file
@ -39,6 +38,8 @@ colvarbias_meta::colvarbias_meta(char const *key)
new_hills_begin = hills.end();
hills_traj_os = NULL;
replica_hills_os = NULL;
ebmeta_equil_steps = 0L;
}
@ -61,7 +62,7 @@ int colvarbias_meta::init(std::string const &conf)
enable(f_cvb_history_dependent);
}
get_keyval(conf, "hillWidth", hill_width, std::sqrt(2.0 * PI) / 2.0);
get_keyval(conf, "hillWidth", hill_width, cvm::sqrt(2.0 * PI) / 2.0);
cvm::log("Half-widths of the Gaussian hills (sigma's):\n");
for (size_t i = 0; i < num_variables(); i++) {
cvm::log(variables(i)->name+std::string(": ")+
@ -201,6 +202,7 @@ int colvarbias_meta::init_ebmeta_params(std::string const &conf)
}
target_dist = new colvar_grid_scalar();
target_dist->init_from_colvars(colvars);
std::string target_dist_file;
get_keyval(conf, "targetdistfile", target_dist_file);
std::ifstream targetdiststream(target_dist_file.c_str());
target_dist->read_multicol(targetdiststream);
@ -221,9 +223,9 @@ int colvarbias_meta::init_ebmeta_params(std::string const &conf)
}
// normalize target distribution and multiply by effective volume = exp(differential entropy)
target_dist->multiply_constant(1.0/target_dist->integral());
cvm::real volume = std::exp(target_dist->entropy());
cvm::real volume = cvm::exp(target_dist->entropy());
target_dist->multiply_constant(volume);
get_keyval(conf, "ebMetaEquilSteps", ebmeta_equil_steps, 0);
get_keyval(conf, "ebMetaEquilSteps", ebmeta_equil_steps, ebmeta_equil_steps);
}
return COLVARS_OK;
@ -291,7 +293,7 @@ colvarbias_meta::create_hill(colvarbias_meta::hill const &h)
// need to be computed analytically when the colvar returns
// off-grid
cvm::real const min_dist = hills_energy->bin_distance_from_boundaries(h.centers, true);
if (min_dist < (3.0 * std::floor(hill_width)) + 1.0) {
if (min_dist < (3.0 * cvm::floor(hill_width)) + 1.0) {
hills_off_grid.push_back(h);
}
}
@ -387,7 +389,7 @@ int colvarbias_meta::update_grid_params()
// first of all, expand the grids, if specified
bool changed_grids = false;
int const min_buffer =
(3 * (size_t) std::floor(hill_width)) + 1;
(3 * (size_t) cvm::floor(hill_width)) + 1;
std::vector<int> new_sizes(hills_energy->sizes());
std::vector<colvarvalue> new_lower_boundaries(hills_energy->lower_boundaries);
@ -492,9 +494,9 @@ int colvarbias_meta::update_bias()
if (ebmeta) {
hills_scale *= 1.0/target_dist->value(target_dist->get_colvars_index());
if(cvm::step_absolute() <= long(ebmeta_equil_steps)) {
if(cvm::step_absolute() <= ebmeta_equil_steps) {
cvm::real const hills_lambda =
(cvm::real(long(ebmeta_equil_steps) - cvm::step_absolute())) /
(cvm::real(ebmeta_equil_steps - cvm::step_absolute())) /
(cvm::real(ebmeta_equil_steps));
hills_scale = hills_lambda + (1-hills_lambda)*hills_scale;
}
@ -508,7 +510,7 @@ int colvarbias_meta::update_bias()
} else {
calc_hills(new_hills_begin, hills.end(), hills_energy_sum_here);
}
hills_scale *= std::exp(-1.0*hills_energy_sum_here/(bias_temperature*cvm::boltzmann()));
hills_scale *= cvm::exp(-1.0*hills_energy_sum_here/(bias_temperature*cvm::boltzmann()));
}
switch (comm) {
@ -710,7 +712,7 @@ void colvarbias_meta::calc_hills(colvarbias_meta::hill_iter h_first,
// set it to zero if the exponent is more negative than log(1.0E-05)
h->value(0.0);
} else {
h->value(std::exp(-0.5*cv_sqdev));
h->value(cvm::exp(-0.5*cv_sqdev));
}
energy += h->energy();
}
@ -904,7 +906,7 @@ void colvarbias_meta::recount_hills_off_grid(colvarbias_meta::hill_iter h_first
for (hill_iter h = h_first; h != h_last; h++) {
cvm::real const min_dist = hills_energy->bin_distance_from_boundaries(h->centers, true);
if (min_dist < (3.0 * std::floor(hill_width)) + 1.0) {
if (min_dist < (3.0 * cvm::floor(hill_width)) + 1.0) {
hills_off_grid.push_back(*h);
}
}
@ -1427,8 +1429,8 @@ std::istream & colvarbias_meta::read_hill(std::istream &is)
return is;
}
size_t h_it;
get_keyval(data, "step", h_it, 0, parse_silent);
cvm::step_number h_it;
get_keyval(data, "step", h_it, 0L, parse_silent);
if (h_it <= state_file_step) {
if (cvm::debug())
cvm::log("Skipping a hill older than the state file for metadynamics bias \""+
@ -1457,7 +1459,7 @@ std::istream & colvarbias_meta::read_hill(std::istream &is)
std::vector<cvm::real> h_widths(num_variables());
get_keyval(data, "widths", h_widths,
std::vector<cvm::real>(num_variables(), (std::sqrt(2.0 * PI) / 2.0)),
std::vector<cvm::real>(num_variables(), (cvm::sqrt(2.0 * PI) / 2.0)),
parse_silent);
std::string h_replica = "";
@ -1482,7 +1484,7 @@ std::istream & colvarbias_meta::read_hill(std::istream &is)
// be computed analytically
cvm::real const min_dist =
hills_energy->bin_distance_from_boundaries((hills.back()).centers, true);
if (min_dist < (3.0 * std::floor(hill_width)) + 1.0) {
if (min_dist < (3.0 * cvm::floor(hill_width)) + 1.0) {
hills_off_grid.push_back(hills.back());
}
}

View File

@ -19,8 +19,8 @@
#include "colvargrid.h"
/// Metadynamics bias (implementation of \link colvarbias \endlink)
class colvarbias_meta
: public virtual colvarbias,
class colvarbias_meta
: public virtual colvarbias,
public virtual colvarbias_ti
{
@ -174,12 +174,14 @@ protected:
/// \brief Biasing temperature in well-tempered metadynamics
cvm::real bias_temperature;
// EBmeta parameters
/// Ensemble-biased metadynamics (EBmeta) flag
bool ebmeta;
/// Target distribution for EBmeta
colvar_grid_scalar* target_dist;
std::string target_dist_file;
cvm::real target_dist_volume;
size_t ebmeta_equil_steps;
/// Number of equilibration steps for EBmeta
cvm::step_number ebmeta_equil_steps;
/// \brief Try to read the restart information by allocating new
@ -285,7 +287,7 @@ public:
friend class colvarbias_meta;
/// Time step at which this hill was added
size_t it;
cvm::step_number it;
/// Identity of the replica who added this hill (only in multiple replica simulations)
std::string replica;
@ -296,9 +298,9 @@ public:
/// replica (optional) Identity of the replica which creates the
/// hill
inline hill(cvm::real const &W_in,
std::vector<colvar *> &cv,
cvm::real const &hill_width,
std::string const &replica_in = "")
std::vector<colvar *> &cv,
cvm::real const &hill_width,
std::string const &replica_in = "")
: sW(1.0),
W(W_in),
centers(cv.size()),
@ -325,11 +327,11 @@ public:
/// weight Weight of the hill \param centers Center of the hill
/// \param widths Width of the hill around centers \param replica
/// (optional) Identity of the replica which creates the hill
inline hill(size_t const &it_in,
cvm::real const &W_in,
std::vector<colvarvalue> const &centers_in,
std::vector<cvm::real> const &widths_in,
std::string const &replica_in = "")
inline hill(cvm::step_number const &it_in,
cvm::real const &W_in,
std::vector<colvarvalue> const &centers_in,
std::vector<cvm::real> const &widths_in,
std::string const &replica_in = "")
: sW(1.0),
W(W_in),
centers(centers_in),

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