Merge branch 'master' into kk_dep
This commit is contained in:
36
.github/CODEOWNERS
vendored
36
.github/CODEOWNERS
vendored
@ -9,13 +9,37 @@ lib/kokkos/* @stanmoore1
|
||||
lib/molfile/* @akohlmey
|
||||
lib/qmmm/* @akohlmey
|
||||
lib/vtk/* @rbberger
|
||||
lib/kim/* @ellio167
|
||||
|
||||
# packages
|
||||
src/KOKKOS @stanmoore1
|
||||
src/USER-CGSDK @akohlmey
|
||||
src/USER-COLVARS @giacomofiorin
|
||||
src/USER-OMP @akohlmey
|
||||
src/USER-QMMM @akohlmey
|
||||
# whole packages
|
||||
src/COMPRESS/* @akohlmey
|
||||
src/GPU/* @ndtrung81
|
||||
src/KOKKOS/* @stanmoore1
|
||||
src/KIM/* @ellio167
|
||||
src/USER-CGDNA/* @ohenrich
|
||||
src/USER-CGSDK/* @akohlmey
|
||||
src/USER-COLVARS/* @giacomofiorin
|
||||
src/USER-DPD/* @timattox
|
||||
src/USER-INTEL/* @wmbrownintel
|
||||
src/USER-MANIFOLD/* @Pakketeretet2
|
||||
src/USER-MEAMC/* @martok
|
||||
src/USER-MOFFF/* @hheenen
|
||||
src/USER-MOLFILE/* @akohlmey
|
||||
src/USER-NETCDF/* @pastewka
|
||||
src/USER-PHONON/* @lingtikong
|
||||
src/USER-OMP/* @akohlmey
|
||||
src/USER-QMMM/* @akohlmey
|
||||
src/USER-REAXC/* @hasanmetin
|
||||
src/USER-TALLY/* @akohlmey
|
||||
src/USER-UEF/* @danicholson
|
||||
src/USER-VTK/* @rbberger
|
||||
|
||||
# individual files in packages
|
||||
src/GPU/pair_vashishta_gpu.* @andeplane
|
||||
src/KOKKOS/pair_vashishta_kokkos.* @andeplane
|
||||
src/MANYBODY/pair_vashishta_table.* @andeplane
|
||||
src/USER-MISC/fix_bond_react.* @jrgissing
|
||||
src/USER-MISC/*_grem.* @dstelter92
|
||||
|
||||
# tools
|
||||
tools/msi2lmp/* @akohlmey
|
||||
|
||||
@ -101,7 +101,7 @@ set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANU
|
||||
KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ
|
||||
REAX REPLICA RIGID SHOCK SNAP SRD)
|
||||
set(OTHER_PACKAGES KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE
|
||||
USER-ATC USER-AWPMD USER-CGDNA USER-MESO
|
||||
USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO
|
||||
USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF
|
||||
USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC
|
||||
USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SMD
|
||||
|
||||
Binary file not shown.
@ -684,6 +684,7 @@ package"_Section_start.html#start_3.
|
||||
"addtorque"_fix_addtorque.html,
|
||||
"atc"_fix_atc.html,
|
||||
"ave/correlate/long"_fix_ave_correlate_long.html,
|
||||
"bond/react"_fix_bond_react.html,
|
||||
"colvars"_fix_colvars.html,
|
||||
"dpd/energy (k)"_fix_dpd_energy.html,
|
||||
"drude"_fix_drude.html,
|
||||
|
||||
@ -122,6 +122,7 @@ Package, Description, Doc page, Example, Library
|
||||
Package, Description, Doc page, Example, Library
|
||||
"USER-ATC"_#USER-ATC, atom-to-continuum coupling, "fix atc"_fix_atc.html, USER/atc, int
|
||||
"USER-AWPMD"_#USER-AWPMD, wave-packet MD, "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, int
|
||||
"USER-BOCS"_#USER-BOCS, BOCS bottom up coarse graining, "fix bocs"_fix_bocs.html, USER/bocs, -
|
||||
"USER-CGDNA"_#USER-CGDNA, coarse-grained DNA force fields, src/USER-CGDNA/README, USER/cgdna, -
|
||||
"USER-CGSDK"_#USER-CGSDK, SDK coarse-graining model, "pair_style lj/sdk"_pair_sdk.html, USER/cgsdk, -
|
||||
"USER-COLVARS"_#USER-COLVARS, collective variables library, "fix colvars"_fix_colvars.html, USER/colvars, int
|
||||
@ -1625,6 +1626,43 @@ examples/USER/awpmd :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-BOCS package :link(USER-BOCS),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
This package provides "fix bocs"_fix_bocs.html, a modified version
|
||||
of "fix npt"_fix_nh.html which includes the pressure correction to
|
||||
the barostat as outlined in:
|
||||
|
||||
N. J. H. Dunn and W. G. Noid, "Bottom-up coarse-grained models that
|
||||
accurately describe the structure, pressure, and compressibility of
|
||||
molecular liquids," J. Chem. Phys. 143, 243148 (2015).
|
||||
|
||||
[Authors:] Nicholas J. H. Dunn and Michael R. DeLyser (The Pennsylvania State University)
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
make yes-user-bocs
|
||||
make machine :pre
|
||||
|
||||
make no-user-bocs
|
||||
make machine :pre
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
The USER-BOCS user package for LAMMPS is part of the BOCS software package:
|
||||
"https://github.com/noid-group/BOCS"_https://github.com/noid-group/BOCS
|
||||
|
||||
See the following reference for information about the entire package:
|
||||
|
||||
Dunn, NJH; Lebold, KM; DeLyser, MR; Rudzinski, JF; Noid, WG.
|
||||
"BOCS: Bottom-Up Open-Source Coarse-Graining Software."
|
||||
J. Phys. Chem. B. 122, 13, 3363-3377 (2018).
|
||||
|
||||
Example inputs are in the examples/USER/bocs folder.
|
||||
|
||||
:line
|
||||
|
||||
USER-CGDNA package :link(USER-CGDNA),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
@ -10,19 +10,29 @@ compute ackland/atom command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID ackland/atom :pre
|
||||
compute ID group-ID ackland/atom keyword/value :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command
|
||||
ackland/atom = style name of this compute command :ul
|
||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
ackland/atom = style name of this compute command :l
|
||||
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {legacy} :l
|
||||
{legacy} yes/no = use ({yes}) or do not use ({no}) legacy ackland algorithm implementation :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute 1 all ackland/atom :pre
|
||||
compute 1 all ackland/atom
|
||||
compute 1 all ackland/atom legacy yes :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Defines a computation that calculates the local lattice structure
|
||||
according to the formulation given in "(Ackland)"_#Ackland.
|
||||
Historically, LAMMPS had two, slightly different implementations of
|
||||
the algorithm from the paper. With the {legacy} keyword, it is
|
||||
possible to switch between the pre-2015 ({legacy yes}) and post-2015
|
||||
implemention ({legacy no}). The post-2015 variant is the default.
|
||||
|
||||
In contrast to the "centro-symmetry
|
||||
parameter"_compute_centro_atom.html this method is stable against
|
||||
@ -66,7 +76,8 @@ integers defined above.
|
||||
|
||||
"compute centro/atom"_compute_centro_atom.html
|
||||
|
||||
[Default:] none
|
||||
[Default:]
|
||||
The keyword {legacy} defaults to {no}.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ compute ID group-ID displace/atom :pre
|
||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
displace/atom = style name of this compute command :l
|
||||
zero or more keyword/arg pairs may be appended :l
|
||||
keyword = {refresh} :
|
||||
keyword = {refresh} :l
|
||||
{replace} arg = name of per-atom variable :pre
|
||||
|
||||
:ule
|
||||
|
||||
@ -161,9 +161,9 @@ function.
|
||||
|
||||
The keyword {bzeroflag} determines whether or not {B0}, the bispectrum
|
||||
components of an atom with no neighbors, are subtracted from
|
||||
the calculated bispectrum components. This optional keyword is only
|
||||
available for compute {sna/atom}, as {snad/atom} and {snav/atom}
|
||||
are unaffected by the removal of constant terms.
|
||||
the calculated bispectrum components. This optional keyword
|
||||
normally only affects compute {sna/atom}. However, when
|
||||
{quadraticflag} is on, it also affects {snad/atom} and {snav/atom}.
|
||||
|
||||
The keyword {quadraticflag} determines whether or not the
|
||||
quadratic analogs to the bispectrum quantities are generated.
|
||||
@ -230,13 +230,18 @@ are 30, 90, and 180, respectively. With {quadratic} value=1,
|
||||
the numbers of columns are 930, 2790, and 5580, respectively.
|
||||
|
||||
If the {quadratic} keyword value is set to 1, then additional
|
||||
columns are appended to each per-atom array, corresponding to
|
||||
columns are generated, corresponding to
|
||||
the products of all distinct pairs of bispectrum components. If the
|
||||
number of bispectrum components is {K}, then the number of distinct pairs
|
||||
is {K}({K}+1)/2. These are output in subblocks of {K}({K}+1)/2 columns, using the same
|
||||
ordering of sub-blocks as was used for the bispectrum
|
||||
components. Within each sub-block, the ordering is upper-triangular,
|
||||
(1,1),(1,2)...(1,{K}),(2,1)...({K}-1,{K}-1),({K}-1,{K}),({K},{K})
|
||||
is {K}({K}+1)/2.
|
||||
For compute {sna/atom} these columns are appended to existing {K} columns.
|
||||
The ordering of quadratic terms is upper-triangular,
|
||||
(1,1),(1,2)...(1,{K}),(2,1)...({K}-1,{K}-1),({K}-1,{K}),({K},{K}).
|
||||
For computes {snad/atom} and {snav/atom} each set of {K}({K}+1)/2
|
||||
additional columns is inserted directly after each of sub-block
|
||||
of linear terms i.e. linear and quadratic terms are contiguous.
|
||||
So the nesting order from inside to outside is bispectrum component,
|
||||
linear then quadratic, vector/tensor component, type.
|
||||
|
||||
These values can be accessed by any command that uses per-atom values
|
||||
from a compute as input. See "Section
|
||||
|
||||
112
doc/src/fix_bocs.txt
Normal file
112
doc/src/fix_bocs.txt
Normal file
@ -0,0 +1,112 @@
|
||||
<"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
fix bocs command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID bocs keyword values ... :pre
|
||||
|
||||
keyword = {temp} or {cgiso} or {analytic} or {linear_spline} or {cubic_spline}
|
||||
{temp} values = Tstart Tstop Tdamp
|
||||
{cgiso} values = Pstart Pstop Pdamp
|
||||
{basis set}
|
||||
{analytic} values = V_avg N_particles N_coeff Coeff_1 Coeff_2 ... Coeff_N
|
||||
{linear_spline} values = input_filename
|
||||
{cubic_spline} values = input_filename :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 analytic 66476.015 968 2 245030.10 8962.20 :pre
|
||||
|
||||
fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 cubic_spline input_Fv.dat :pre
|
||||
|
||||
thermo_modify press 1_press :pre
|
||||
|
||||
|
||||
[Description:]
|
||||
|
||||
These commands incorporate a pressure correction as described by
|
||||
Dunn and Noid in "(Dunn1)"_#bocs-Dunn1 to the standard MTTK
|
||||
barostat by Martyna et. al. in "(Martyna)"_#bocs-Martyna .
|
||||
The first half of the command mimics a standard fix npt command:
|
||||
|
||||
fix 1 all bocs temp Tstart Tstop Tcoupl cgiso Pstart Pstop Pdamp :pre
|
||||
|
||||
The two differences are replacing {npt} with {bocs}, and replacing
|
||||
{iso}/{aniso}/{etc} with {cgiso}.
|
||||
The rest of the command details what form you would like to use for
|
||||
the pressure correction equation. The choices are: {analytic}, {linear_spline},
|
||||
or {cubic_spline}.
|
||||
|
||||
With either spline method, the only argument that needs to follow it
|
||||
is the name of a file that contains the desired pressure correction
|
||||
as a function of volume. The file should be formatted so each line has:
|
||||
|
||||
Volume_i, PressureCorrection_i :pre
|
||||
|
||||
Note both the COMMA and the SPACE separating the volume's
|
||||
value and its corresponding pressure correction. The volumes in the file
|
||||
should be uniformly spaced. Both the volumes and the pressure corrections
|
||||
should be provided in the proper units, e.g. if you are using {units real},
|
||||
the volumes should all be in cubic angstroms, and the pressure corrections
|
||||
should all be in atomspheres. Furthermore, the table should start/end at a
|
||||
volume considerably smaller/larger than you expect your system to sample
|
||||
during the simulation. If the system ever reaches a volume outside of the
|
||||
range provided, the simulation will stop.
|
||||
|
||||
With the {analytic} option, the arguments are as follows:
|
||||
|
||||
... analytic V_avg N_particles N_coeff Coeff_1 Coeff_2 ... Coeff_N :pre
|
||||
|
||||
Note that {V_avg} and {Coeff_i} should all be in the proper units, e.g. if you
|
||||
are using {units real}, {V_avg} should be in cubic angstroms, and the
|
||||
coefficients should all be in atmospheres * cubic angstroms.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
As this is computing a (modified) pressure, group-ID should be {all}.
|
||||
|
||||
The pressure correction has only been tested for use with an isotropic
|
||||
pressure coupling in 3 dimensions.
|
||||
|
||||
By default, LAMMPS will still report the normal value for the pressure
|
||||
if the pressure is printed via a {thermo} command, or if the pressures
|
||||
are written to a file every so often. In order to have LAMMPS report the
|
||||
modified pressure, you must include the {thermo_modify} command given in
|
||||
the examples. For the last argument in the command, you should put
|
||||
XXXX_press, where XXXX is the ID given to the fix bocs command (in the
|
||||
example, the ID of the fix bocs command is 1 ).
|
||||
|
||||
This fix is part of the USER-BOCS package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related:]
|
||||
|
||||
For more details about the pressure correction and the entire BOCS software
|
||||
package, visit the "BOCS package on github"_bocsgithub and read the release
|
||||
paper by Dunn et. al. "(Dunn2)"_#bocs-Dunn2 .
|
||||
|
||||
|
||||
:link(bocsgithub,https://github.com/noid-group/BOCS)
|
||||
|
||||
:line
|
||||
|
||||
:link(bocs-Dunn1)
|
||||
[(Dunn1)] Dunn and Noid, J Chem Phys, 143, 243148 (2015).
|
||||
|
||||
:link(bocs-Martyna)
|
||||
[(Martyna)] Martyna, Tobias, and Klein, J Chem Phys, 101, 4177 (1994).
|
||||
|
||||
:link(bocs-Dunn2)
|
||||
[(Dunn2)] Dunn, Lebold, DeLyser, Rudzinski, and Noid, J. Phys. Chem. B, 122, 3363 (2018).
|
||||
|
||||
|
||||
|
||||
363
doc/src/fix_bond_react.txt
Normal file
363
doc/src/fix_bond_react.txt
Normal file
@ -0,0 +1,363 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
fix bond/react command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID bond/react common_keyword values ...
|
||||
react react-ID react-group-ID Nevery Rmin Rmax template-ID(pre-reacted) template-ID(post-reacted) map_file individual_keyword values ...
|
||||
react react-ID react-group-ID Nevery Rmin Rmax template-ID(pre-reacted) template-ID(post-reacted) map_file individual_keyword values ...
|
||||
react react-ID react-group-ID Nevery Rmin Rmax template-ID(pre-reacted) template-ID(post-reacted) map_file individual_keyword values ...
|
||||
... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command. Group-ID is ignored. :ulb,l
|
||||
bond/react = style name of this fix command :l
|
||||
zero or more common keyword/value pairs may be appended directly after 'bond/react' :l
|
||||
these apply to all reaction specifications (below) :l
|
||||
common_keyword = {stabilization}
|
||||
{stabilization} values = group-ID xmax
|
||||
group-ID = user-assigned ID of an internally-created dynamic group that excludes reacting atoms, and can be used by a subsequent time integration fix such as nvt, npt, or nve (cannot be 'all')
|
||||
{xmax} value = distance
|
||||
distance = xmax value that is used by an internally created "nve/limit"_fix_nve_limit.html integrator
|
||||
react = mandatory argument indicating new reaction specification
|
||||
react-ID = user-assigned name for the reaction
|
||||
react-group-ID = only atoms in this group are available for the reaction
|
||||
Nevery = attempt reaction every this many steps :l
|
||||
Rmin = bonding pair atoms must be separated by more than Rmin to initiate reaction (distance units) :l
|
||||
Rmax = bonding pair atoms must be separated by less than Rmax to initiate reaction (distance units) :l
|
||||
template-ID(pre-reacted) = ID of a molecule template containing pre-reaction topology :l
|
||||
template-ID(post-reacted) = ID of a molecule template containing post-reaction topology :l
|
||||
map_file = name of file specifying corresponding atomIDs in the pre- and post-reacted templates :l
|
||||
zero or more individual keyword/value pairs may be appended to each react argument :l
|
||||
individual_keyword = {prob} or {stabilize_steps} :l
|
||||
{prob} values = fraction seed
|
||||
fraction = initiate reaction with this probability if otherwise eligible
|
||||
seed = random number seed (positive integer)
|
||||
{stabilize_steps} value = timesteps
|
||||
timesteps = number of timesteps to apply internally created nve/limit.html :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
molecule mol1 pre_reacted_topology.txt
|
||||
molecule mol2 post_reacted_topology.txt
|
||||
fix 5 all bond/react stabilization no react myrxn1 all 1 0 3.25 mol1 mol2 map_file.txt
|
||||
|
||||
molecule mol1 pre_reacted_rxn1.txt
|
||||
molecule mol2 post_reacted_rxn1.txt
|
||||
molecule mol3 pre_reacted_rxn2.txt
|
||||
molecule mol4 post_reacted_rxn2.txt
|
||||
fix 5 all bond/react stabilization yes nvt_grp .03 &
|
||||
react myrxn1 all 1 0 3.25 mol1 mol2 map_file_rxn1.txt prob 0.50 12345 &
|
||||
react myrxn2 all 1 0 2.75 mol3 mol4 map_file_rxn2.txt prob 0.25 12345
|
||||
fix 6 nvt_grp nvt temp 300 300 100 # system-wide thermostat must be defined after bond/react :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Initiate complex covalent bonding (topology) changes. These topology
|
||||
changes will be referred to as "reactions" throughout this
|
||||
documentation. Topology changes are defined in pre- and post-reaction
|
||||
molecule templates and can include creation and deletion of bonds,
|
||||
angles, dihedrals, impropers, bond-types, angle-types, dihedral-types,
|
||||
atom-types, or atomic charges.
|
||||
|
||||
Fix bond/react does not use quantum mechanical (eg. fix qmmm) or
|
||||
pairwise bond-order potential (eg. Tersoff or AIREBO) methods to
|
||||
determine bonding changes a priori. Rather, it uses a distance-based
|
||||
probabilistic criteria to effect predetermined topology changes in
|
||||
simulations using standard force fields.
|
||||
|
||||
This fix was created to facilitate the dynamic creation of polymeric,
|
||||
amorphous or highly-crosslinked systems. A suggested workflow for
|
||||
using this fix is: 1) identify a reaction to be simulated 2) build a
|
||||
molecule template of the reaction site before the reaction has
|
||||
occurred 3) build a molecule template of the reaction site after the
|
||||
reaction has occurred 4) create a map that relates the
|
||||
template-atom-IDs of each atom between pre- and post-reaction molecule
|
||||
templates 5) fill a simulation box with molecules and run a simulation
|
||||
with fix/bond react.
|
||||
|
||||
Only one 'fix bond/react' command can be used at a time. Multiple
|
||||
reactions can be simultaneously applied by specifying multiple 'react'
|
||||
arguments to a single 'fix bond/react' command. This syntax is
|
||||
necessary because the 'common keywords' are applied to all reactions.
|
||||
|
||||
The {stabilization} keyword enables reaction site stabilization.
|
||||
Reaction site stabilization is performed by including reacting atoms
|
||||
in an internally created fix "nve/limit"_fix_nve_limit.html time
|
||||
integrator for a set number of timesteps given by the
|
||||
{stabilize_steps} keyword. While reacting atoms are being time
|
||||
integrated by the internal nve/limit, they are prevented from being
|
||||
involved in any new reactions. The {xmax} value keyword should
|
||||
typically be set to the maximum distance that non-reacting atoms move
|
||||
during the simulation.
|
||||
|
||||
The group-ID set using the {stabilization} keyword should be a
|
||||
previously unused group-ID. The fix bond/react command creates a
|
||||
"dynamic group"_group.html of this name that excludes reacting atoms.
|
||||
This dynamic group-ID should then be used by a subsequent system-wide
|
||||
time integrator, as shown in the second example above. It is currently
|
||||
necessary to place the time integration command after the fix
|
||||
bond/react command due to the internal dynamic grouping performed by
|
||||
fix bond/react.
|
||||
|
||||
NOTE: The internally created group currently applies to all atoms in
|
||||
the system, i.e. you should generally not have a separate thermostat
|
||||
which acts on the 'all' group.
|
||||
|
||||
The following comments pertain to each 'react' argument:
|
||||
|
||||
A check for possible new reaction sites is performed every Nevery
|
||||
timesteps.
|
||||
|
||||
Two conditions must be met for a reaction to occur. First a bonding
|
||||
atom pair must be identified. Second, the topology surrounding the
|
||||
bonding atom pair must match the topology of the pre-reaction
|
||||
template. If both these conditions are met, the reaction site is
|
||||
modified to match the post-reaction template.
|
||||
|
||||
A bonding atom pair will be identified if several conditions are met.
|
||||
First, a pair of atoms within the specified react-group-ID of type
|
||||
typei and typej must separated by a distance between Rmin and Rmax. It
|
||||
is possible that multiple bonding atom pairs are identified: if the
|
||||
bonding atoms in the pre-reacted template are not 1-2, 1-3, or 1-4
|
||||
neighbors, the closest bonding atom partner is set as its bonding
|
||||
partner; otherwise, the farthest potential partner is chosen. Then, if
|
||||
both an atomi and atomj have each other as their nearest bonding
|
||||
partners, these two atoms are identified as the bonding atom pair of
|
||||
the reaction site. Once this unique bonding atom pair is identified
|
||||
for each reaction, there could two or more reactions that involve a
|
||||
given atom on the same timestep. If this is the case, only one such
|
||||
reaction is permitted to occur. This reaction is chosen randomly from
|
||||
all potential reactions. This capability allows e.g. for different
|
||||
reaction pathways to proceed from identical reaction sites with
|
||||
user-specified probabilities.
|
||||
|
||||
The pre-reacted molecule template is specified by a molecule command.
|
||||
This molecule template file contains a sample reaction site and its
|
||||
surrounding topology. As described below, the bonding atom pairs of
|
||||
the pre-reacted template are specified by atom ID in the map file. The
|
||||
pre-reacted molecule template should contain as few atoms as possible
|
||||
while still completely describing the topology of all atoms affected
|
||||
by the reaction. For example, if the force field contains dihedrals,
|
||||
the pre-reacted template should contain any atom within three bonds of
|
||||
reacting atoms.
|
||||
|
||||
Some atoms in the pre-reacted template that are not reacting may have
|
||||
missing topology with respect to the simulation. For example, the
|
||||
pre-reacted template may contain an atom that would connect to the
|
||||
rest of a long polymer chain. These are referred to as edge atoms, and
|
||||
are also specified in the map file.
|
||||
|
||||
Note that some care must be taken when a building a molecule template
|
||||
for a given simulation. All atom types in the pre-reacted template
|
||||
must be the same as those of a potential reaction site in the
|
||||
simulation. A detailed discussion of matching molecule template atom
|
||||
types with the simulation is provided on the "molecule"_molecule.html
|
||||
command page.
|
||||
|
||||
The post-reacted molecule template contains a sample of the reaction
|
||||
site and its surrounding topology after the reaction has occurred. It
|
||||
must contain the same number of atoms as the pre-reacted template. A
|
||||
one-to-one correspondence between the atom IDs in the pre- and
|
||||
post-reacted templates is specified in the map file as described
|
||||
below. Note that during a reaction, an atom, bond, etc. type may
|
||||
change to one that was previously not present in the simulation. These
|
||||
new types must also be defined during the setup of a given simulation.
|
||||
A discussion of correctly handling this is also provided on the
|
||||
"molecule"_molecule.html command page.
|
||||
|
||||
The map file is a text document with the following format:
|
||||
|
||||
Format of the map file
|
||||
|
||||
A map file has a header and a body. The header appears first. The
|
||||
first line of the header is always skipped; it typically contains a
|
||||
description of the file. Lines can have a trailing comment starting
|
||||
with '#' that is ignored. If the line is blank (only whitespace after
|
||||
comment is deleted), it is skipped. If the line contains a header
|
||||
keyword, the corresponding value(s) is read from the line. If it
|
||||
doesn't contain a header keyword, the line begins the body of the
|
||||
file.
|
||||
|
||||
The header contains one mandatory keyword and one optional keyword.
|
||||
The mandatory keyword is 'equivalences' and the optional keyword is
|
||||
'edgeIDs.' These specify the number of atoms in the pre- and
|
||||
post-reacted templates and the number of edge atoms in pre-reacted
|
||||
template, respectively.
|
||||
|
||||
The body contains two mandatory sections and one optional section. The
|
||||
first section begins with the keyword 'BondingIDs' and lists the atom
|
||||
IDs of the bonding atom pair in the pre-reacted molecule template. The
|
||||
second mandatory section begins with the keyword 'Equivalences' and
|
||||
lists a one-to-one correspondence between atom IDs of the pre- and
|
||||
post-reacted templates. The optional section begins with the keyword
|
||||
'EdgeIDs' and list the atom IDs of edge atoms in the pre-reacted
|
||||
molecule template.
|
||||
|
||||
Format of the header of the map file
|
||||
|
||||
These are the recognized header keywords. Header lines can come in any
|
||||
order. The value(s) are read from the beginning of the line. Thus the
|
||||
keyword 'equivalences' should be in a line like "25 equivalences."
|
||||
|
||||
equivalences = # of atoms in the pre- and post-reacted molecule
|
||||
templates edgeIDs = # of edge atoms in the pre-reacted molecule template :pre
|
||||
|
||||
The edgeIDs keyword is optional.
|
||||
|
||||
Format of the body of the map file
|
||||
|
||||
These are the section keywords for the body of the file.
|
||||
|
||||
BondingIDs, EdgeIDs = list of atom IDs of bonding and edge atoms in
|
||||
the pre-reacted molecule template
|
||||
|
||||
Equivalences = a two column list where the first column is an atom ID
|
||||
of the pre-reacted molecule template, and the second column is the
|
||||
corresponding atom ID of the post-reacted molecule template
|
||||
|
||||
The bondingIDs section will always contain two atom IDs, corresponding
|
||||
to the bonding atom pairs of the pre-reacted map file. The
|
||||
Equivalences section will contain as many rows as there are atoms in
|
||||
the pre- and post-reacted molecule templates. The edgeIDs section is
|
||||
optional, but would contain an atom ID for each edge atom in the
|
||||
pre-reacted molecule template.
|
||||
|
||||
A sample map file is given below:
|
||||
|
||||
:line
|
||||
|
||||
# This is a map file :pre
|
||||
|
||||
2 edgeIDs
|
||||
7 equivalences :pre
|
||||
|
||||
BondingIDs :pre
|
||||
|
||||
3 5 :pre
|
||||
|
||||
EdgeIDs :pre
|
||||
|
||||
1 7 :pre
|
||||
|
||||
Equivalences :pre
|
||||
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7 :pre
|
||||
|
||||
:line
|
||||
|
||||
Once a reaction site has been successfully identified, data structures
|
||||
within LAMMPS that store bond topology are updated to reflect the
|
||||
post-reacted molecule template. All force fields with fixed bonds,
|
||||
angles, dihedrals or impropers are supported.
|
||||
|
||||
A few capabilities to note: 1) You may specify as many 'react'
|
||||
arguments as desired. For example, you could break down a complicated
|
||||
reaction mechanism into several reaction steps, each defined by its
|
||||
own 'react' argument. 2) While typically a bond is formed or removed
|
||||
between the bonding atom pairs specified in the pre-reacted molecule
|
||||
template, this is not required. 3) By reversing the order of the pre-
|
||||
and post- reacted molecule templates in another 'react' argument, you
|
||||
can allow for the possibility of one or more reverse reactions.
|
||||
|
||||
The optional keywords deal with the probability of a given reaction
|
||||
occurring as well as the stable equilibration of each reaction site as
|
||||
it occurs.
|
||||
|
||||
The {prob} keyword can affect whether an eligible reaction actually
|
||||
occurs. The fraction setting must be a value between 0.0 and 1.0. A
|
||||
uniform random number between 0.0 and 1.0 is generated and the
|
||||
eligible reaction only occurs if the random number is less than the
|
||||
fraction.
|
||||
|
||||
The {stabilize_steps} keyword allows for the specification of how many
|
||||
timesteps a reaction site is stabilized before being returned to the
|
||||
overall system thermostat.
|
||||
|
||||
In order to produce the most physical behavior, this 'reaction site
|
||||
equilibration time' should be tuned to be as small as possible while
|
||||
retaining stability for a given system or reaction step. After a
|
||||
limited number of case studies, this number has been set to a default
|
||||
of 60 timesteps. Ideally, it should be individually tuned for each fix
|
||||
reaction step. Note that in some situations, decreasing rather than
|
||||
increasing this parameter will result in an increase in stability.
|
||||
|
||||
A few other considerations:
|
||||
|
||||
It may be beneficial to ensure reacting atoms are at a certain
|
||||
temperature before being released to the overall thermostat. For this,
|
||||
you can use the internally-created dynamic group named
|
||||
"bond_react_MASTER_group." For example, adding the following command
|
||||
would thermostat the group of all atoms currently involved in a
|
||||
reaction:
|
||||
|
||||
fix 1 bond_react_MASTER_group temp/rescale 1 300 300 10 1
|
||||
|
||||
NOTE: This command must be added after the fix bond/react command, and
|
||||
will apply to all reactions.
|
||||
|
||||
Computationally, each timestep this fix operates, it loops over
|
||||
neighbor lists (for bond-forming reactions) and computes distances
|
||||
between pairs of atoms in the list. It also communicates between
|
||||
neighboring processors to coordinate which bonds are created and/or
|
||||
removed. All of these operations increase the cost of a timestep. Thus
|
||||
you should be cautious about invoking this fix too frequently.
|
||||
|
||||
You can dump out snapshots of the current bond topology via the dump
|
||||
local command.
|
||||
|
||||
:line
|
||||
|
||||
[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.
|
||||
|
||||
This fix computes one statistic for each 'react' argument that it
|
||||
stores in a global vector, of length 'number of react arguments', that
|
||||
can be accessed by various "output
|
||||
commands"_Section_howto.html#howto_15. The vector values calculated by
|
||||
this fix are "intensive".
|
||||
|
||||
These is 1 quantity for each react argument:
|
||||
|
||||
(1) cumulative # of reactions occurred :ul
|
||||
|
||||
No parameter of this fix can be used with the {start/stop} keywords of
|
||||
the "run"_run.html command. This fix is not invoked during "energy
|
||||
minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the USER-MISC package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix bond/create"_fix_bond_create.html, "fix
|
||||
bond/break"_fix_bond_break.html, "fix bond/swap"_fix_bond_swap.html,
|
||||
"dump local"_dump.html, "special_bonds"_special_bonds.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are stabilization = no, stabilize_steps = 60
|
||||
|
||||
:line
|
||||
|
||||
:link(Gissinger) [(Gissinger)] Gissinger, Jensen and Wise, Polymer,
|
||||
128, 211 (2017).
|
||||
@ -154,7 +154,7 @@ Note: The temperature thermostating the core-Drude particle pairs
|
||||
should be chosen low enough, so as to mimic as closely as possible the
|
||||
self-consistent minimization. It must however be high enough, so that
|
||||
the dipoles can follow the local electric field exerted by the
|
||||
neighbouring atoms. The optimal value probably depends on the
|
||||
neighboring atoms. The optimal value probably depends on the
|
||||
temperature of the centers of mass and on the mass of the Drude
|
||||
particles.
|
||||
|
||||
|
||||
@ -34,6 +34,8 @@ written to {filename} on timesteps that are multiples of {Nevery},
|
||||
including timestep 0. For time-averaged chemical species analysis,
|
||||
please see the "fix reaxc/c/species"_fix_reaxc_species.html command.
|
||||
|
||||
The specified group-ID is ignored by this fix.
|
||||
|
||||
The format of the output file should be reasonably self-explanatory.
|
||||
The meaning of the column header abbreviations is as follows:
|
||||
|
||||
|
||||
@ -24,10 +24,12 @@ keyword = {bond} or {angle} or {dihedral} :l
|
||||
atom1,atom2,atom3 = IDs of 3 atoms in angle, atom2 = middle atom
|
||||
Kstart,Kstop = restraint coefficients at start/end of run (energy units)
|
||||
theta0 = equilibrium angle theta (degrees)
|
||||
{dihedral} args = atom1 atom2 atom3 atom4 Kstart Kstop phi0
|
||||
{dihedral} args = atom1 atom2 atom3 atom4 Kstart Kstop phi0 keyword/value
|
||||
atom1,atom2,atom3,atom4 = IDs of 4 atoms in dihedral in linear order
|
||||
Kstart,Kstop = restraint coefficients at start/end of run (energy units)
|
||||
phi0 = equilibrium dihedral angle phi (degrees) :pre
|
||||
phi0 = equilibrium dihedral angle phi (degrees)
|
||||
keyword/value = optional keyword value pairs. supported keyword/value pairs:
|
||||
{mult} n = dihedral multiplicity n (integer >= 0, default = 1) :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
@ -155,11 +157,13 @@ associated with the restraint is
|
||||
with the following coefficients:
|
||||
|
||||
K (energy)
|
||||
n = 1
|
||||
n (multiplicity, >= 0)
|
||||
d (degrees) = phi0 + 180 :ul
|
||||
|
||||
K and phi0 are specified with the fix. Note that the value of n is
|
||||
hard-wired to 1. Also note that the energy will be a minimum when the
|
||||
K and phi0 are specified with the fix. Note that the value of the
|
||||
dihedral multiplicity {n} is set by default to 1. You can use the
|
||||
optional {mult} keyword to set it to a different positive integer.
|
||||
Also note that the energy will be a minimum when the
|
||||
current dihedral angle phi is equal to phi0.
|
||||
|
||||
:line
|
||||
|
||||
@ -20,9 +20,11 @@ Fixes :h1
|
||||
fix_ave_time
|
||||
fix_aveforce
|
||||
fix_balance
|
||||
fix_bocs
|
||||
fix_bond_break
|
||||
fix_bond_create
|
||||
fix_bond_swap
|
||||
fix_bond_react
|
||||
fix_box_relax
|
||||
fix_cmap
|
||||
fix_colvars
|
||||
|
||||
@ -135,8 +135,10 @@ fix_ave_histo.html
|
||||
fix_ave_time.html
|
||||
fix_aveforce.html
|
||||
fix_balance.html
|
||||
fix_bocs.html
|
||||
fix_bond_break.html
|
||||
fix_bond_create.html
|
||||
fix_bond_react.html
|
||||
fix_bond_swap.html
|
||||
fix_box_relax.html
|
||||
fix_cmap.html
|
||||
|
||||
@ -38,7 +38,7 @@ This shift is achieved by the last term in the equation for {Vij} above.
|
||||
This potential is intended for interactions between two layers of graphene.
|
||||
Therefore, to avoid interaction between layers in multi-layered materials,
|
||||
each layer should have a separate atom type and interactions should only
|
||||
be computed between atom types of neighbouring layers.
|
||||
be computed between atom types of neighboring layers.
|
||||
|
||||
The parameter file (e.g. CC.KC), is intended for use with metal
|
||||
"units"_units.html, with energies in meV. An additional parameter, {S},
|
||||
|
||||
6
examples/USER/bocs/README
Normal file
6
examples/USER/bocs/README
Normal file
@ -0,0 +1,6 @@
|
||||
This folder contains the files to run a NPT simulation of 1 site CG methanol
|
||||
while employing a correction to the barostat.
|
||||
The pair force was computed via the Multi-Scale Coarse-Graining method.
|
||||
The resulting model was then iteratively pressure matched.
|
||||
The model accurately reproduces both structural (RDF) and thermodynamic
|
||||
(Pressure-Volume EoS) properties of the underlying OPLS-AA model of methanol.
|
||||
69
examples/USER/bocs/in.methanol
Normal file
69
examples/USER/bocs/in.methanol
Normal file
@ -0,0 +1,69 @@
|
||||
units real
|
||||
dimension 3
|
||||
boundary p p p
|
||||
atom_style atomic
|
||||
|
||||
newton on
|
||||
timestep 1.0
|
||||
|
||||
read_data methanol.data
|
||||
|
||||
velocity all create 300.0 16802 dist gaussian
|
||||
|
||||
pair_style table spline 15000
|
||||
|
||||
pair_coeff 1 1 lammps_nb_MET-MET.table nb_METMET 12.0
|
||||
|
||||
neigh_modify delay 0 every 1 check yes one 10000
|
||||
neighbor 12.0 bin
|
||||
|
||||
thermo 500
|
||||
thermo_style custom step temp pe etotal press vol
|
||||
|
||||
variable STEP equal step
|
||||
variable TEMP equal temp
|
||||
## volume from cubic angstroms to cubic nm
|
||||
variable VOL equal vol/1000.0
|
||||
## pressure from atm to bar
|
||||
variable PRESS equal press*1.01325
|
||||
variable PXX equal pxx*1.01325
|
||||
variable PYY equal pyy*1.01325
|
||||
variable PZZ equal pzz*1.01325
|
||||
variable PXY equal pxy*1.01325
|
||||
variable PXZ equal pxz*1.01325
|
||||
variable PYZ equal pyz*1.01325
|
||||
## energy from kcal/mol to kJ/mol
|
||||
variable KE equal ke*4.184
|
||||
variable PE equal pe*4.184
|
||||
variable UVDW equal evdwl*4.184
|
||||
|
||||
|
||||
##### SPECIAL COMMANDS FOR FIX_BOCS #####
|
||||
# ID group-ID style_name thermostat T_init T_end T_couple barostat P_start P_end P_couple pmatch_basis avg_vol N_sites N_coeffs coeff1 coeff2
|
||||
fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 analytic 66476.015 968 2 245030.10 8962.20
|
||||
|
||||
# Report the modified pressure
|
||||
thermo_modify press 1_press
|
||||
|
||||
|
||||
|
||||
## Uncomment to save some data from simulation to files
|
||||
#fix print_temp all print 500 "${STEP} ${TEMP}" file temp.dat screen no
|
||||
#fix print_vol all print 500 "${STEP} ${VOL}" file vol.dat screen no
|
||||
#fix print_press all print 500 "${STEP} ${PRESS}" file press.dat screen no
|
||||
#fix print_ke all print 500 "${STEP} ${KE}" file kinetic_E.dat screen no
|
||||
#fix print_pe all print 500 "${STEP} ${PE}" file potential_E.dat screen no
|
||||
#fix print_ve all print 500 "${STEP} ${UVDW}" file vdw_E.dat screen no
|
||||
#fix print_press_tens all print 500 "${STEP} ${PXX} ${PYY} ${PZZ} ${PXY} ${PXZ} ${PYZ}" file press_tens.dat screen no
|
||||
#fix print_PV_eos all print 500 "${VOL} ${PRESS}" file pv_eos.dat screen no
|
||||
|
||||
## Prints a configuration to dump.txt every 500 steps
|
||||
#dump 1 all custom 500 dump.txt id type x y z fx fy fz
|
||||
|
||||
# Write restart files to continue simulations
|
||||
#restart 10000 state1.restart state2.restart
|
||||
|
||||
## Run for this many steps
|
||||
run_style verlet
|
||||
run 10000
|
||||
|
||||
2505
examples/USER/bocs/lammps_nb_MET-MET.table
Normal file
2505
examples/USER/bocs/lammps_nb_MET-MET.table
Normal file
File diff suppressed because it is too large
Load Diff
143
examples/USER/bocs/log.20Apr18.methanol.g++.1
Normal file
143
examples/USER/bocs/log.20Apr18.methanol.g++.1
Normal file
@ -0,0 +1,143 @@
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units real
|
||||
dimension 3
|
||||
boundary p p p
|
||||
atom_style atomic
|
||||
|
||||
newton on
|
||||
timestep 1.0
|
||||
|
||||
read_data methanol.data
|
||||
orthogonal box = (0 0 0) to (40.4635 40.4635 40.4635)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
968 atoms
|
||||
|
||||
velocity all create 300.0 16802 dist gaussian
|
||||
|
||||
pair_style table spline 15000
|
||||
|
||||
pair_coeff 1 1 lammps_nb_MET-MET.table nb_METMET 12.0
|
||||
WARNING: 78 of 2500 force values in table are inconsistent with -dE/dr.
|
||||
Should only be flagged at inflection points (../pair_table.cpp:481)
|
||||
|
||||
neigh_modify delay 0 every 1 check yes one 10000
|
||||
neighbor 12.0 bin
|
||||
|
||||
thermo 500
|
||||
thermo_style custom step temp pe etotal press vol
|
||||
|
||||
variable STEP equal step
|
||||
variable TEMP equal temp
|
||||
## volume from cubic angstroms to cubic nm
|
||||
variable VOL equal vol/1000.0
|
||||
## pressure from atm to bar
|
||||
variable PRESS equal press*1.01325
|
||||
variable PXX equal pxx*1.01325
|
||||
variable PYY equal pyy*1.01325
|
||||
variable PZZ equal pzz*1.01325
|
||||
variable PXY equal pxy*1.01325
|
||||
variable PXZ equal pxz*1.01325
|
||||
variable PYZ equal pyz*1.01325
|
||||
## energy from kcal/mol to kJ/mol
|
||||
variable KE equal ke*4.184
|
||||
variable PE equal pe*4.184
|
||||
variable UVDW equal evdwl*4.184
|
||||
|
||||
|
||||
##### SPECIAL COMMANDS FOR FIX_BOCS #####
|
||||
# ID group-ID style_name thermostat T_init T_end T_couple barostat P_start P_end P_couple pmatch_basis avg_vol N_sites N_coeffs coeff1 coeff2
|
||||
fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 analytic 66476.015 968 2 245030.10 8962.20
|
||||
|
||||
# Report the modified pressure
|
||||
thermo_modify press 1_press
|
||||
|
||||
|
||||
|
||||
## Uncomment to save some data from simulation to files
|
||||
#fix print_temp all print 500 "${STEP} ${TEMP}" file temp.dat screen no
|
||||
#fix print_vol all print 500 "${STEP} ${VOL}" file vol.dat screen no
|
||||
#fix print_press all print 500 "${STEP} ${PRESS}" file press.dat screen no
|
||||
#fix print_ke all print 500 "${STEP} ${KE}" file kinetic_E.dat screen no
|
||||
#fix print_pe all print 500 "${STEP} ${PE}" file potential_E.dat screen no
|
||||
#fix print_ve all print 500 "${STEP} ${UVDW}" file vdw_E.dat screen no
|
||||
#fix print_press_tens all print 500 "${STEP} ${PXX} ${PYY} ${PZZ} ${PXY} ${PXZ} ${PYZ}" file press_tens.dat screen no
|
||||
#fix print_PV_eos all print 500 "${VOL} ${PRESS}" file pv_eos.dat screen no
|
||||
|
||||
## Prints a configuration to dump.txt every 500 steps
|
||||
#dump 1 all custom 500 dump.txt id type x y z fx fy fz
|
||||
|
||||
# Write restart files to continue simulations
|
||||
#restart 10000 state1.restart state2.restart
|
||||
|
||||
## Run for this many steps
|
||||
run_style verlet
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 10000, page size: 100000
|
||||
master list distance cutoff = 24
|
||||
ghost atom cutoff = 24
|
||||
binsize = 12, bins = 4 4 4
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair table, 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.691 | 4.691 | 4.691 Mbytes
|
||||
Step Temp PotEng TotEng Press Volume
|
||||
0 300 1061.5961 1926.3291 107.006 66250.679
|
||||
500 314.54728 1034.1091 1940.7738 194.42689 65660.282
|
||||
1000 301.41603 1030.7027 1899.5173 -91.966709 66262.543
|
||||
1500 298.8308 1014.8276 1876.1905 -80.178606 67053.605
|
||||
2000 294.78476 1046.8207 1896.521 50.592942 66316.735
|
||||
2500 301.18564 1033.9214 1902.0719 40.48255 66607.667
|
||||
3000 301.06632 1022.0381 1889.8447 47.582344 66341.947
|
||||
3500 297.98361 989.80983 1848.7307 -204.69879 67462.078
|
||||
4000 299.03493 1034.6571 1896.6083 89.188888 66457.385
|
||||
4500 306.03351 985.4121 1867.5363 -51.102407 67519.446
|
||||
5000 305.6903 1013.8613 1894.9963 -141.13704 67240.467
|
||||
5500 292.23444 1029.5558 1871.905 20.764579 66683.876
|
||||
6000 287.87735 1017.7325 1847.5226 -35.288049 66630.031
|
||||
6500 305.26461 960.08118 1839.9891 -352.42596 67612.317
|
||||
7000 300.34449 1055.0664 1920.7923 22.04027 66187.27
|
||||
7500 305.48612 1038.6651 1919.2115 17.807254 66324.168
|
||||
8000 316.03232 1034.6809 1945.6262 27.482857 66502.198
|
||||
8500 294.28636 1038.8213 1887.085 -72.840559 66851.661
|
||||
9000 316.69029 1065.7481 1978.5899 245.61677 65678.385
|
||||
9500 297.46127 1034.5547 1891.97 54.23428 66892.627
|
||||
10000 301.24799 1036.5432 1904.8735 7.7134029 66150.506
|
||||
Loop time of 34.426 on 1 procs for 10000 steps with 968 atoms
|
||||
|
||||
Performance: 25.097 ns/day, 0.956 hours/ns, 290.478 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 | 33.324 | 33.324 | 33.324 | 0.0 | 96.80
|
||||
Neigh | 0.12198 | 0.12198 | 0.12198 | 0.0 | 0.35
|
||||
Comm | 0.42865 | 0.42865 | 0.42865 | 0.0 | 1.25
|
||||
Output | 0.00059938 | 0.00059938 | 0.00059938 | 0.0 | 0.00
|
||||
Modify | 0.42553 | 0.42553 | 0.42553 | 0.0 | 1.24
|
||||
Other | | 0.1252 | | | 0.36
|
||||
|
||||
Nlocal: 968 ave 968 max 968 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 9112 ave 9112 max 9112 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 404392 ave 404392 max 404392 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 404392
|
||||
Ave neighs/atom = 417.76
|
||||
Neighbor list builds = 13
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:34
|
||||
143
examples/USER/bocs/log.20Apr18.methanol.g++.4
Normal file
143
examples/USER/bocs/log.20Apr18.methanol.g++.4
Normal file
@ -0,0 +1,143 @@
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units real
|
||||
dimension 3
|
||||
boundary p p p
|
||||
atom_style atomic
|
||||
|
||||
newton on
|
||||
timestep 1.0
|
||||
|
||||
read_data methanol.data
|
||||
orthogonal box = (0 0 0) to (40.4635 40.4635 40.4635)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
968 atoms
|
||||
|
||||
velocity all create 300.0 16802 dist gaussian
|
||||
|
||||
pair_style table spline 15000
|
||||
|
||||
pair_coeff 1 1 lammps_nb_MET-MET.table nb_METMET 12.0
|
||||
WARNING: 78 of 2500 force values in table are inconsistent with -dE/dr.
|
||||
Should only be flagged at inflection points (../pair_table.cpp:481)
|
||||
|
||||
neigh_modify delay 0 every 1 check yes one 10000
|
||||
neighbor 12.0 bin
|
||||
|
||||
thermo 500
|
||||
thermo_style custom step temp pe etotal press vol
|
||||
|
||||
variable STEP equal step
|
||||
variable TEMP equal temp
|
||||
## volume from cubic angstroms to cubic nm
|
||||
variable VOL equal vol/1000.0
|
||||
## pressure from atm to bar
|
||||
variable PRESS equal press*1.01325
|
||||
variable PXX equal pxx*1.01325
|
||||
variable PYY equal pyy*1.01325
|
||||
variable PZZ equal pzz*1.01325
|
||||
variable PXY equal pxy*1.01325
|
||||
variable PXZ equal pxz*1.01325
|
||||
variable PYZ equal pyz*1.01325
|
||||
## energy from kcal/mol to kJ/mol
|
||||
variable KE equal ke*4.184
|
||||
variable PE equal pe*4.184
|
||||
variable UVDW equal evdwl*4.184
|
||||
|
||||
|
||||
##### SPECIAL COMMANDS FOR FIX_BOCS #####
|
||||
# ID group-ID style_name thermostat T_init T_end T_couple barostat P_start P_end P_couple pmatch_basis avg_vol N_sites N_coeffs coeff1 coeff2
|
||||
fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 analytic 66476.015 968 2 245030.10 8962.20
|
||||
|
||||
# Report the modified pressure
|
||||
thermo_modify press 1_press
|
||||
|
||||
|
||||
|
||||
## Uncomment to save some data from simulation to files
|
||||
#fix print_temp all print 500 "${STEP} ${TEMP}" file temp.dat screen no
|
||||
#fix print_vol all print 500 "${STEP} ${VOL}" file vol.dat screen no
|
||||
#fix print_press all print 500 "${STEP} ${PRESS}" file press.dat screen no
|
||||
#fix print_ke all print 500 "${STEP} ${KE}" file kinetic_E.dat screen no
|
||||
#fix print_pe all print 500 "${STEP} ${PE}" file potential_E.dat screen no
|
||||
#fix print_ve all print 500 "${STEP} ${UVDW}" file vdw_E.dat screen no
|
||||
#fix print_press_tens all print 500 "${STEP} ${PXX} ${PYY} ${PZZ} ${PXY} ${PXZ} ${PYZ}" file press_tens.dat screen no
|
||||
#fix print_PV_eos all print 500 "${VOL} ${PRESS}" file pv_eos.dat screen no
|
||||
|
||||
## Prints a configuration to dump.txt every 500 steps
|
||||
#dump 1 all custom 500 dump.txt id type x y z fx fy fz
|
||||
|
||||
# Write restart files to continue simulations
|
||||
#restart 10000 state1.restart state2.restart
|
||||
|
||||
## Run for this many steps
|
||||
run_style verlet
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 10000, page size: 100000
|
||||
master list distance cutoff = 24
|
||||
ghost atom cutoff = 24
|
||||
binsize = 12, bins = 4 4 4
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair table, 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) = 3.37 | 3.37 | 3.371 Mbytes
|
||||
Step Temp PotEng TotEng Press Volume
|
||||
0 300 1061.5961 1926.3291 107.006 66250.679
|
||||
500 314.54728 1034.1091 1940.7738 194.42689 65660.282
|
||||
1000 301.41603 1030.7027 1899.5173 -91.966709 66262.543
|
||||
1500 298.8308 1014.8276 1876.1905 -80.178606 67053.605
|
||||
2000 294.78476 1046.8207 1896.521 50.592942 66316.735
|
||||
2500 301.18564 1033.9214 1902.0719 40.482557 66607.667
|
||||
3000 301.06631 1022.0381 1889.8447 47.582403 66341.947
|
||||
3500 297.98353 989.81011 1848.7308 -204.69823 67462.076
|
||||
4000 299.03465 1034.6603 1896.6108 89.196235 66457.338
|
||||
4500 306.04532 985.37017 1867.5285 -51.094929 67519.735
|
||||
5000 304.72903 1014.9543 1893.3184 -127.04402 67238.517
|
||||
5500 292.52622 1025.6599 1868.8502 -19.753932 66716.551
|
||||
6000 296.82719 1031.5184 1887.1059 -1.2609328 66368.611
|
||||
6500 298.63312 1018.4299 1879.2229 -24.75835 66524.898
|
||||
7000 303.25389 1005.9283 1880.0404 -96.273504 67349.674
|
||||
7500 292.45089 1068.2863 1911.2595 103.23295 65778.08
|
||||
8000 301.22765 1040.6294 1908.9011 -0.83635353 66831.038
|
||||
8500 300.19765 1047.5856 1912.8883 -31.582343 66316.305
|
||||
9000 295.1108 1023.8234 1874.4635 -88.165532 67192.344
|
||||
9500 302.1087 1003.6348 1874.4459 -18.707065 66369.361
|
||||
10000 296.3083 1004.126 1858.2178 -28.293045 66862.576
|
||||
Loop time of 28.8053 on 4 procs for 10000 steps with 968 atoms
|
||||
|
||||
Performance: 29.994 ns/day, 0.800 hours/ns, 347.159 timesteps/s
|
||||
95.2% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 19.929 | 21.765 | 23.391 | 27.8 | 75.56
|
||||
Neigh | 0.067397 | 0.071231 | 0.077313 | 1.5 | 0.25
|
||||
Comm | 3.9226 | 5.5183 | 7.3214 | 53.7 | 19.16
|
||||
Output | 0.00069928 | 0.0016099 | 0.0043275 | 3.9 | 0.01
|
||||
Modify | 1.0874 | 1.1376 | 1.1888 | 4.2 | 3.95
|
||||
Other | | 0.3112 | | | 1.08
|
||||
|
||||
Nlocal: 242 ave 244 max 239 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||
Nghost: 5718.5 ave 5736 max 5702 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
Neighs: 100703 ave 108064 max 93454 min
|
||||
Histogram: 1 0 0 1 0 0 1 0 0 1
|
||||
|
||||
Total # of neighbors = 402813
|
||||
Ave neighs/atom = 416.129
|
||||
Neighbor list builds = 14
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:28
|
||||
991
examples/USER/bocs/methanol.data
Normal file
991
examples/USER/bocs/methanol.data
Normal file
@ -0,0 +1,991 @@
|
||||
LAMMPS Description
|
||||
|
||||
968 atoms
|
||||
0 bonds
|
||||
0 angles
|
||||
0 dihedrals
|
||||
0 impropers
|
||||
|
||||
1 atom types
|
||||
0 bond types
|
||||
0 angle types
|
||||
0 dihedral types
|
||||
|
||||
0 40.4635 xlo xhi
|
||||
0 40.4635 ylo yhi
|
||||
0 40.4635 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 32.0424
|
||||
|
||||
Atoms
|
||||
|
||||
1 1 36.39 8.05 27.55
|
||||
2 1 18.38 15.72 26.03
|
||||
3 1 3.52 1.77 23.57
|
||||
4 1 31.09 11.38 12.17
|
||||
5 1 13.3 34.8 2.89
|
||||
6 1 1.72 38.55 10.36
|
||||
7 1 38.6 23.16 6.19
|
||||
8 1 0.74 33.21 0.17
|
||||
9 1 26.97 9.53 11.24
|
||||
10 1 31.68 12.19 17.04
|
||||
11 1 15.19 9.06 0.2
|
||||
12 1 34.39 20.63 35.71
|
||||
13 1 21.79 4.93 6.49
|
||||
14 1 28.08 33.01 24.51
|
||||
15 1 37.03 20.52 32.9
|
||||
16 1 32.69 20 30.11
|
||||
17 1 23.77 38.59 18.79
|
||||
18 1 16.01 2.31 20.15
|
||||
19 1 5.65 15.5 28.5
|
||||
20 1 8.35 17.35 20.48
|
||||
21 1 31.24 24.68 27.4
|
||||
22 1 29.41 16.64 19.79
|
||||
23 1 37.42 31.93 26.68
|
||||
24 1 18.76 39.06 30.68
|
||||
25 1 22.97 35 20.81
|
||||
26 1 39.47 18.28 29.6
|
||||
27 1 34.37 19.4 0.17
|
||||
28 1 5.94 9.53 10.95
|
||||
29 1 11.45 38.44 14.64
|
||||
30 1 39.57 11.04 1.57
|
||||
31 1 25.91 20.97 12.79
|
||||
32 1 36.3 22.1 1.68
|
||||
33 1 21.87 22.49 3.43
|
||||
34 1 5.77 18.66 3.97
|
||||
35 1 7 7.59 18.42
|
||||
36 1 39.76 27.63 17.98
|
||||
37 1 10.26 23.18 5.11
|
||||
38 1 23.23 21.37 17.38
|
||||
39 1 7.47 37.37 5.57
|
||||
40 1 0.73 21.6 14.78
|
||||
41 1 2.27 30.22 14.93
|
||||
42 1 7.39 28.22 14.88
|
||||
43 1 27.48 1.11 25.02
|
||||
44 1 8.37 13.19 14.64
|
||||
45 1 7.11 33.57 0.65
|
||||
46 1 34.19 35.11 3.17
|
||||
47 1 7.52 3.2 20.33
|
||||
48 1 1.02 17.69 37.85
|
||||
49 1 8.59 6.21 10.26
|
||||
50 1 2.89 16.81 30.02
|
||||
51 1 27.05 9.07 32.8
|
||||
52 1 12.32 14.79 21.11
|
||||
53 1 26.63 22.69 16.75
|
||||
54 1 31.6 2.79 20.45
|
||||
55 1 35.11 0.74 12.16
|
||||
56 1 29.71 31.23 37.63
|
||||
57 1 38.22 19.02 18.12
|
||||
58 1 10.95 17.4 0.39
|
||||
59 1 1.65 19.87 6.67
|
||||
60 1 5.15 1.94 14.61
|
||||
61 1 8.2 31.43 15.72
|
||||
62 1 0.55 20.85 2.45
|
||||
63 1 15.27 31.74 0.33
|
||||
64 1 17.9 9.84 23.87
|
||||
65 1 1.46 8.39 19.24
|
||||
66 1 37.79 25.11 12.24
|
||||
67 1 14.11 27.19 30.7
|
||||
68 1 29.39 24.12 38.92
|
||||
69 1 39.15 20.32 39.86
|
||||
70 1 11.79 11.38 30.6
|
||||
71 1 29.87 30.18 32.5
|
||||
72 1 11.06 37.8 30.18
|
||||
73 1 20.11 4.59 35.57
|
||||
74 1 37.19 27.23 1.44
|
||||
75 1 18.83 26.13 35.26
|
||||
76 1 29.27 7.86 36.75
|
||||
77 1 34.83 29.59 37.82
|
||||
78 1 22.16 34.68 25.27
|
||||
79 1 5.95 14.65 25.55
|
||||
80 1 -0.04 3.48 29.91
|
||||
81 1 14.69 6.75 38.06
|
||||
82 1 16.8 23.69 3.14
|
||||
83 1 14.52 38.72 21.61
|
||||
84 1 37.36 15.13 27.98
|
||||
85 1 29.79 17.03 27.55
|
||||
86 1 21.01 0.39 0.9
|
||||
87 1 35.3 6.45 14.41
|
||||
88 1 13.74 34.69 10.01
|
||||
89 1 13.83 7.92 31.88
|
||||
90 1 26.88 37.81 22.36
|
||||
91 1 31.76 7.34 10.03
|
||||
92 1 11.98 37.49 19.61
|
||||
93 1 29.19 31.74 20.69
|
||||
94 1 39.15 10.97 21.06
|
||||
95 1 1.47 5 22.21
|
||||
96 1 -0.1 1.33 16.26
|
||||
97 1 34.74 34.78 30.66
|
||||
98 1 22.09 26.78 2.27
|
||||
99 1 36.58 34.8 16.19
|
||||
100 1 19.09 24.88 15.75
|
||||
101 1 2.21 31.42 38.32
|
||||
102 1 28.02 8.18 29.77
|
||||
103 1 15.99 16.78 17.61
|
||||
104 1 32.43 12.2 35.3
|
||||
105 1 26.54 38.8 30.88
|
||||
106 1 35.58 22.23 18.31
|
||||
107 1 28.3 30.81 2.96
|
||||
108 1 8.95 32.9 9.02
|
||||
109 1 28.51 30.02 29.39
|
||||
110 1 13 5.35 34.26
|
||||
111 1 37.9 36.79 1.37
|
||||
112 1 12.78 1.99 40.66
|
||||
113 1 21.19 34.55 17.45
|
||||
114 1 10.5 20 5.07
|
||||
115 1 16.19 21.64 18.49
|
||||
116 1 14.62 26.41 19.88
|
||||
117 1 27.97 2.89 28.03
|
||||
118 1 29.44 14.35 39.04
|
||||
119 1 2.29 24.16 33.8
|
||||
120 1 39.22 15.81 32.02
|
||||
121 1 7.31 19.66 18.18
|
||||
122 1 27.67 7.98 15.53
|
||||
123 1 31.23 4.04 33
|
||||
124 1 29.52 39.44 28.71
|
||||
125 1 30.86 20.28 15.84
|
||||
126 1 32.25 7.44 19.79
|
||||
127 1 34.68 15.68 1.18
|
||||
128 1 16.58 27.98 27.97
|
||||
129 1 32.27 24.24 15.82
|
||||
130 1 3.86 6.57 39.8
|
||||
131 1 9.1 2.88 13.12
|
||||
132 1 17.84 27.8 11.79
|
||||
133 1 4.77 10.88 6.75
|
||||
134 1 16.58 24.21 24.5
|
||||
135 1 10.17 19.31 38.32
|
||||
136 1 6.27 7.81 36.44
|
||||
137 1 34.76 37.89 29.76
|
||||
138 1 40.99 38.22 35.21
|
||||
139 1 25.04 21.79 36.88
|
||||
140 1 4.78 15.35 16.44
|
||||
141 1 19.24 5.77 40.18
|
||||
142 1 13.59 11.27 37.14
|
||||
143 1 1.61 23.83 39.61
|
||||
144 1 6.02 33.07 3.77
|
||||
145 1 0.85 7.4 35.42
|
||||
146 1 6.47 40.34 4.65
|
||||
147 1 16.45 36.52 15.44
|
||||
148 1 19.58 9.5 1.64
|
||||
149 1 1.36 1.72 35.53
|
||||
150 1 11.74 5.48 4.98
|
||||
151 1 25.45 40.36 15.44
|
||||
152 1 19.09 0.74 36.18
|
||||
153 1 31.78 37.98 1.84
|
||||
154 1 23.26 18.47 38.56
|
||||
155 1 7.29 22.87 25.86
|
||||
156 1 2.36 7.83 8.78
|
||||
157 1 39.61 25.94 21.12
|
||||
158 1 7.78 18.97 25.29
|
||||
159 1 36.56 19.61 26.7
|
||||
160 1 4.64 12.06 19.9
|
||||
161 1 21.05 33.08 0.87
|
||||
162 1 33.93 22.87 39.71
|
||||
163 1 33.62 29.48 20.83
|
||||
164 1 0.64 18.79 9.52
|
||||
165 1 27.53 16.7 22.51
|
||||
166 1 17.66 9.84 14.61
|
||||
167 1 31.23 22.44 24.98
|
||||
168 1 39.3 34.88 11.03
|
||||
169 1 24.01 10.56 0.09
|
||||
170 1 15.81 33.44 18.52
|
||||
171 1 19.92 30.61 19.25
|
||||
172 1 16.49 3.95 38.28
|
||||
173 1 18.6 38.87 24.98
|
||||
174 1 33.04 25.55 8.57
|
||||
175 1 16.9 35.09 22.94
|
||||
176 1 15.18 6.74 2.33
|
||||
177 1 40.54 12.58 31.65
|
||||
178 1 21.21 37.62 14.35
|
||||
179 1 33.52 38.19 14.89
|
||||
180 1 22.06 12.49 29.81
|
||||
181 1 19.49 29.03 2.52
|
||||
182 1 26.97 18.55 38.45
|
||||
183 1 24.1 11.86 17.22
|
||||
184 1 12.02 0.55 10.39
|
||||
185 1 3.8 35.94 19.94
|
||||
186 1 8.31 14.31 37.4
|
||||
187 1 29.03 8.28 22.92
|
||||
188 1 18.92 0.22 27.87
|
||||
189 1 26.79 24.9 24.62
|
||||
190 1 36.59 18.86 21.13
|
||||
191 1 33.06 13.58 30.17
|
||||
192 1 32.37 2.02 39.69
|
||||
193 1 22.65 25.97 32.59
|
||||
194 1 21.81 38.04 33.85
|
||||
195 1 36.82 37.68 19.22
|
||||
196 1 32.48 31.43 33.66
|
||||
197 1 8.75 36.66 20.34
|
||||
198 1 14.88 15.11 28.76
|
||||
199 1 22.83 28.55 29.5
|
||||
200 1 2.98 12.06 2.88
|
||||
201 1 3.01 37 6.91
|
||||
202 1 14.79 16.69 3.66
|
||||
203 1 12.62 38.28 0.97
|
||||
204 1 40.07 21.27 25.25
|
||||
205 1 34.58 6.14 39.48
|
||||
206 1 11.51 30.52 33.53
|
||||
207 1 32.22 9.28 30.52
|
||||
208 1 0.7 4.01 38.87
|
||||
209 1 32.66 39.86 36.84
|
||||
210 1 27.34 34.57 21.76
|
||||
211 1 13.7 23.12 8.34
|
||||
212 1 28 9.71 6.29
|
||||
213 1 31.69 26.39 38.19
|
||||
214 1 2.04 20.93 36.95
|
||||
215 1 30.31 26.61 12.31
|
||||
216 1 25.37 20.63 9.4
|
||||
217 1 16.29 5.62 14.04
|
||||
218 1 1.36 1.95 4.97
|
||||
219 1 38.75 26.8 5.62
|
||||
220 1 40.28 29.89 12.27
|
||||
221 1 0.52 31.22 7.58
|
||||
222 1 15.64 21.64 14.71
|
||||
223 1 10.11 28.8 9.67
|
||||
224 1 19.03 37.3 38.87
|
||||
225 1 12.07 6.46 19.25
|
||||
226 1 36.22 21.11 15.02
|
||||
227 1 12.49 15.69 7.21
|
||||
228 1 25.2 30.8 19.71
|
||||
229 1 8.24 35.22 23.02
|
||||
230 1 9.94 4.1 1.86
|
||||
231 1 4.31 19.07 26.23
|
||||
232 1 22.03 19.99 14.19
|
||||
233 1 30.84 5.24 2.75
|
||||
234 1 35.51 30.52 32.3
|
||||
235 1 3.88 20.41 39.48
|
||||
236 1 30.86 0.39 31.56
|
||||
237 1 25.91 27.12 39.04
|
||||
238 1 33.39 5.37 4.51
|
||||
239 1 20.58 28.33 37.53
|
||||
240 1 11.83 21.81 39.11
|
||||
241 1 39.94 5.2 5.73
|
||||
242 1 29.89 33.21 15.44
|
||||
243 1 23.42 15.38 30.98
|
||||
244 1 28.66 11.56 16.13
|
||||
245 1 16.74 20.43 21.72
|
||||
246 1 9.31 0.26 22.42
|
||||
247 1 4.38 37.78 14.12
|
||||
248 1 13.86 4.65 16.99
|
||||
249 1 6.72 27.43 8.14
|
||||
250 1 33.45 18.74 19.98
|
||||
251 1 17.34 14.55 35.57
|
||||
252 1 14.21 37.39 28.76
|
||||
253 1 26.29 29.06 22.26
|
||||
254 1 36.52 26.18 15.62
|
||||
255 1 17.6 8.81 10.14
|
||||
256 1 21.95 25.19 17.69
|
||||
257 1 17.4 7.46 18.59
|
||||
258 1 6.15 29.7 35.99
|
||||
259 1 9.73 37.39 24.96
|
||||
260 1 28.58 28.21 36.19
|
||||
261 1 8.24 13.72 32.2
|
||||
262 1 13.25 34.6 22.71
|
||||
263 1 38.58 7.98 10.3
|
||||
264 1 18.29 29.75 23.51
|
||||
265 1 3.74 13.22 31.05
|
||||
266 1 30.78 0.7 24.57
|
||||
267 1 24.5 12.94 10.81
|
||||
268 1 33.88 26.44 1.96
|
||||
269 1 29.92 22.6 9.59
|
||||
270 1 15.87 21.94 33.44
|
||||
271 1 23.63 8.41 10.95
|
||||
272 1 26.53 0.01 7.58
|
||||
273 1 33.88 8.73 2.52
|
||||
274 1 39.74 31.46 36.87
|
||||
275 1 13.28 39.54 37
|
||||
276 1 24.74 35.41 32.14
|
||||
277 1 17.3 34.32 6.85
|
||||
278 1 24.43 13.36 5.63
|
||||
279 1 31.23 17.12 7.11
|
||||
280 1 15.58 37.85 34.06
|
||||
281 1 25.93 38.17 3.13
|
||||
282 1 31.84 34.34 39.67
|
||||
283 1 14.41 17.74 14.43
|
||||
284 1 9.4 1.78 29.53
|
||||
285 1 8.29 29.61 6.81
|
||||
286 1 7.13 17.36 -0.19
|
||||
287 1 38.04 19.52 11.25
|
||||
288 1 34.87 32.77 38.75
|
||||
289 1 27.18 22.49 5.69
|
||||
290 1 29.69 27.11 20.29
|
||||
291 1 25.23 2.22 39.75
|
||||
292 1 35.8 17.1 36.09
|
||||
293 1 20.53 17.67 35.47
|
||||
294 1 23.41 31.36 2.24
|
||||
295 1 25.17 20.09 29.2
|
||||
296 1 0.32 9.28 39.74
|
||||
297 1 22.49 18.77 29.89
|
||||
298 1 38.64 0.85 39.43
|
||||
299 1 18.55 5.87 9.15
|
||||
300 1 35.21 28.69 25.76
|
||||
301 1 39.24 15.68 6.36
|
||||
302 1 5.91 13.29 3.92
|
||||
303 1 0.5 21.25 21.62
|
||||
304 1 34.39 9.43 18.59
|
||||
305 1 22.7 1.03 8.79
|
||||
306 1 40.15 16.25 24.87
|
||||
307 1 16.52 13.69 10.25
|
||||
308 1 6.88 36.77 39.57
|
||||
309 1 11.95 37.1 7.59
|
||||
310 1 19.49 26.66 9.76
|
||||
311 1 36.34 29.89 29.31
|
||||
312 1 18.76 35.75 12.72
|
||||
313 1 23.15 38.68 4.96
|
||||
314 1 10.78 17.11 34.38
|
||||
315 1 13.58 14.89 0.34
|
||||
316 1 4.73 33.88 32.41
|
||||
317 1 12.68 29.51 17.07
|
||||
318 1 9.45 27 4.98
|
||||
319 1 29.02 19.27 6.45
|
||||
320 1 19.09 36.35 19.84
|
||||
321 1 23.13 6.75 19.78
|
||||
322 1 8.02 34.1 26.95
|
||||
323 1 26.03 14.18 1.57
|
||||
324 1 15.01 34.16 28.32
|
||||
325 1 28.71 36.53 15.08
|
||||
326 1 9.64 13.94 24.05
|
||||
327 1 1.24 36.96 30.41
|
||||
328 1 15.44 31.39 4.77
|
||||
329 1 25.72 14.42 38.01
|
||||
330 1 7.35 31.84 12.61
|
||||
331 1 32.33 16.79 3.07
|
||||
332 1 15.86 0.39 8.39
|
||||
333 1 27.69 7.32 25.74
|
||||
334 1 27.77 1.17 4.96
|
||||
335 1 29.38 26.68 23.48
|
||||
336 1 14.95 3.41 2.13
|
||||
337 1 2.45 38.8 17.54
|
||||
338 1 9.18 27.58 31.12
|
||||
339 1 36.62 15.23 23.66
|
||||
340 1 12.23 30.74 10.85
|
||||
341 1 12.87 0.23 24.05
|
||||
342 1 33.85 35.75 19.95
|
||||
343 1 36.36 30.35 13.94
|
||||
344 1 38.11 8.15 5.49
|
||||
345 1 15.58 1.29 29.89
|
||||
346 1 25.95 30.47 39.19
|
||||
347 1 27.69 15.5 13.37
|
||||
348 1 25.48 13.7 25.29
|
||||
349 1 0.72 39.53 4.41
|
||||
350 1 8.75 15.21 5.79
|
||||
351 1 10.49 26.46 27.25
|
||||
352 1 16.9 20.08 26.58
|
||||
353 1 3.95 4.33 20.25
|
||||
354 1 18.03 7.66 31.87
|
||||
355 1 21.35 2.88 17.26
|
||||
356 1 32.92 22.68 6.56
|
||||
357 1 21.72 4.62 12.02
|
||||
358 1 37.6 6.04 25.2
|
||||
359 1 22.22 23.78 7.36
|
||||
360 1 12.53 19.53 10.6
|
||||
361 1 17.87 26.05 19.32
|
||||
362 1 20.94 30.75 31.23
|
||||
363 1 22.33 11.87 35.79
|
||||
364 1 28.54 6.88 10.52
|
||||
365 1 29.58 26.13 8.56
|
||||
366 1 19.06 24.2 21.73
|
||||
367 1 25.05 38.41 26.91
|
||||
368 1 18.66 40.35 4.69
|
||||
369 1 11.87 6.75 12.72
|
||||
370 1 17.99 11.82 37.79
|
||||
371 1 8.97 24.7 0.61
|
||||
372 1 26.89 1.52 31.33
|
||||
373 1 6.88 22.51 14.06
|
||||
374 1 29.51 3.87 13.35
|
||||
375 1 0.95 14.53 10
|
||||
376 1 26.43 31.54 11.63
|
||||
377 1 6.1 35.16 11.28
|
||||
378 1 10.2 15.91 28.7
|
||||
379 1 13.24 25.67 24.3
|
||||
380 1 34.5 3.91 20.22
|
||||
381 1 22.48 2.17 5.2
|
||||
382 1 24.26 16.15 11.3
|
||||
383 1 20.63 32.57 27.3
|
||||
384 1 39.95 6.81 1.05
|
||||
385 1 24.38 34.78 38.27
|
||||
386 1 4.63 23.56 0.55
|
||||
387 1 33.5 8.38 36.97
|
||||
388 1 5.76 27.14 12.06
|
||||
389 1 37.45 26.58 32.25
|
||||
390 1 2.8 8.96 32.35
|
||||
391 1 5.29 39.84 30.1
|
||||
392 1 29.2 26.49 31.18
|
||||
393 1 33.91 27.39 12.89
|
||||
394 1 3.37 14.19 39.34
|
||||
395 1 30.68 28.7 27
|
||||
396 1 2.59 18.45 19.38
|
||||
397 1 13.55 0.75 27.35
|
||||
398 1 3.82 20.12 16.1
|
||||
399 1 37.72 0.72 34.29
|
||||
400 1 23.85 3.32 19.46
|
||||
401 1 4.78 0.67 38.23
|
||||
402 1 22.78 23.26 38.6
|
||||
403 1 11.56 39.29 4.23
|
||||
404 1 21.38 32.45 5.39
|
||||
405 1 8.32 19.42 9.52
|
||||
406 1 28.43 31.07 17.8
|
||||
407 1 11.02 5.75 39.84
|
||||
408 1 27.36 36.71 7.62
|
||||
409 1 34.22 16.74 27.88
|
||||
410 1 3.22 22.01 27.42
|
||||
411 1 29.2 15.76 32.33
|
||||
412 1 25.29 23.44 2.2
|
||||
413 1 10.8 32.43 39.96
|
||||
414 1 32.2 1.41 4.44
|
||||
415 1 32.94 15.59 37.21
|
||||
416 1 6.8 8.08 0.84
|
||||
417 1 10.42 9.91 37.73
|
||||
418 1 1.18 31.39 3.93
|
||||
419 1 10.1 36.38 38.57
|
||||
420 1 32.89 26.96 35.07
|
||||
421 1 28.12 11.93 25.96
|
||||
422 1 4.9 29.15 -0.25
|
||||
423 1 2.21 27.99 3.72
|
||||
424 1 11.33 3.94 25.55
|
||||
425 1 3.3 30.26 10.78
|
||||
426 1 11.57 27.26 19.31
|
||||
427 1 21.79 32.67 13.3
|
||||
428 1 4.96 26.53 33.78
|
||||
429 1 33.41 32.87 18.46
|
||||
430 1 13.92 30.37 20.3
|
||||
431 1 16.91 3.5 11.57
|
||||
432 1 -0.06 4.42 34.05
|
||||
433 1 7.04 24.33 16.85
|
||||
434 1 28.66 11.93 19.73
|
||||
435 1 30.21 1.75 36.36
|
||||
436 1 3.91 6.2 6.26
|
||||
437 1 7.01 25.6 27.34
|
||||
438 1 34 1.06 18.12
|
||||
439 1 29.14 8.5 3.09
|
||||
440 1 40.13 23.52 16.94
|
||||
441 1 21.69 22.38 26.78
|
||||
442 1 18.44 32.85 39.84
|
||||
443 1 38.87 1.99 27.63
|
||||
444 1 10.47 12.02 33.68
|
||||
445 1 9.65 19.94 21.88
|
||||
446 1 25.04 8.12 27.89
|
||||
447 1 12.18 16.78 31.09
|
||||
448 1 38.31 8.2 30.6
|
||||
449 1 0.11 5.21 18.12
|
||||
450 1 23.48 7.88 38.7
|
||||
451 1 7.9 11.99 7.04
|
||||
452 1 2.09 34.5 8.64
|
||||
453 1 19 18.3 0.42
|
||||
454 1 37.94 18.06 15.21
|
||||
455 1 25.05 33.33 29.55
|
||||
456 1 33.74 37.88 34.54
|
||||
457 1 36.07 29.5 17.47
|
||||
458 1 27.7 13.54 10.46
|
||||
459 1 27.18 23.18 21.06
|
||||
460 1 17.49 2.04 23.22
|
||||
461 1 23.84 26.31 36.76
|
||||
462 1 31.08 32.24 24.92
|
||||
463 1 17.7 28.73 16.66
|
||||
464 1 1.59 15.5 18.04
|
||||
465 1 33.49 18.99 8.75
|
||||
466 1 1.19 8.43 28.01
|
||||
467 1 5.43 20.26 22.25
|
||||
468 1 23.3 5.31 15.05
|
||||
469 1 27.09 4.47 21.96
|
||||
470 1 26.61 27.48 28.83
|
||||
471 1 13 3.18 13.4
|
||||
472 1 36.09 34.56 10.58
|
||||
473 1 19.09 15.33 7.48
|
||||
474 1 12.94 18.16 22.07
|
||||
475 1 38.8 16.16 36.73
|
||||
476 1 16.73 39.94 -0.46
|
||||
477 1 3.64 12.56 9.42
|
||||
478 1 27.64 3.31 18.29
|
||||
479 1 15.58 12.36 4.52
|
||||
480 1 15.37 11.18 18.19
|
||||
481 1 37.52 11.23 14.94
|
||||
482 1 37.16 2.3 10.01
|
||||
483 1 36.19 9.86 21.99
|
||||
484 1 36.38 21.09 4.76
|
||||
485 1 38.15 12.94 25.35
|
||||
486 1 15.1 29.65 24.64
|
||||
487 1 16.54 29.12 38.85
|
||||
488 1 33.86 11.39 14.4
|
||||
489 1 27.99 18.55 9.87
|
||||
490 1 0.66 1.26 8.28
|
||||
491 1 29.89 33.84 29.75
|
||||
492 1 6.64 33.3 6.74
|
||||
493 1 31.47 0.39 11.25
|
||||
494 1 8.76 15.96 10.74
|
||||
495 1 39.6 15.8 21.04
|
||||
496 1 22.38 28.55 19.85
|
||||
497 1 25.87 6.23 5.4
|
||||
498 1 36.24 26.67 38.61
|
||||
499 1 23.05 8.79 7.01
|
||||
500 1 32.05 4.16 8.87
|
||||
501 1 35.3 13.36 38.03
|
||||
502 1 39.91 25.91 36.45
|
||||
503 1 32.17 17.27 31.82
|
||||
504 1 29.99 21.54 20.57
|
||||
505 1 9.39 0.57 34.17
|
||||
506 1 22.12 17.22 13.03
|
||||
507 1 15.23 16.27 24.39
|
||||
508 1 26.32 25.89 13.26
|
||||
509 1 39.25 3.46 1.34
|
||||
510 1 32.56 10.28 7.96
|
||||
511 1 25.76 14.8 34.79
|
||||
512 1 32.12 5.38 36.94
|
||||
513 1 17.74 15.37 14.87
|
||||
514 1 21.93 3.26 25.26
|
||||
515 1 24.05 0.48 36.27
|
||||
516 1 8.2 19.02 33.92
|
||||
517 1 33.07 25.88 24.79
|
||||
518 1 12.54 0.52 32.8
|
||||
519 1 18.5 6.34 23.21
|
||||
520 1 35.93 10.26 34.79
|
||||
521 1 19.33 11.86 6.94
|
||||
522 1 1.63 5.31 25.43
|
||||
523 1 30.62 36.78 30.77
|
||||
524 1 12.25 26.79 13.74
|
||||
525 1 21 1.47 13.99
|
||||
526 1 22.24 29.36 34.11
|
||||
527 1 29.05 1.74 0.24
|
||||
528 1 19.34 25.14 39.77
|
||||
529 1 12.9 25.42 35.42
|
||||
530 1 4.1 20.69 33.31
|
||||
531 1 35.38 5.64 9.17
|
||||
532 1 5.01 34.03 23.36
|
||||
533 1 15.7 10.01 7.1
|
||||
534 1 25.95 19.48 24.73
|
||||
535 1 11.15 4.16 21.43
|
||||
536 1 1.47 3.23 13.72
|
||||
537 1 26.54 36.76 17.48
|
||||
538 1 7.65 30.6 27.73
|
||||
539 1 18.59 3.05 3.32
|
||||
540 1 6.92 36.14 15.67
|
||||
541 1 12.72 36.21 32.72
|
||||
542 1 16.33 26.24 14.35
|
||||
543 1 21.66 12.61 26.18
|
||||
544 1 15.72 32.37 10.71
|
||||
545 1 27.57 15.75 4.97
|
||||
546 1 20.18 39.13 18.44
|
||||
547 1 18.77 17.09 4.74
|
||||
548 1 12.75 14.08 17.89
|
||||
549 1 10.71 37.26 35.13
|
||||
550 1 20.88 32.12 9.94
|
||||
551 1 8.69 0.06 9.54
|
||||
552 1 1.58 12.61 26.42
|
||||
553 1 10.29 22.73 13.14
|
||||
554 1 23.31 25.7 4.97
|
||||
555 1 36.7 30.78 5.26
|
||||
556 1 5.6 28.71 23.76
|
||||
557 1 13.04 7.91 15.46
|
||||
558 1 40.24 33.53 34.5
|
||||
559 1 39.7 18.36 34.25
|
||||
560 1 23.52 22.84 21.14
|
||||
561 1 32.82 27.9 5.02
|
||||
562 1 1.52 33.77 27.04
|
||||
563 1 31.48 18.68 13.1
|
||||
564 1 34 24.07 34.55
|
||||
565 1 34.72 25.03 30.45
|
||||
566 1 18.92 5.7 16.54
|
||||
567 1 15.26 40.2 16.97
|
||||
568 1 24.55 16.8 26.26
|
||||
569 1 17.59 18.03 31.75
|
||||
570 1 12.08 27.38 38.42
|
||||
571 1 31.42 21.91 35.27
|
||||
572 1 9.68 6.93 36.96
|
||||
573 1 22.93 15.19 2.53
|
||||
574 1 11.83 24.38 2.24
|
||||
575 1 16.02 12.44 31.42
|
||||
576 1 20.24 10.7 20.15
|
||||
577 1 37.38 17.37 40.63
|
||||
578 1 3.74 17.41 22.49
|
||||
579 1 23.21 9.86 23.99
|
||||
580 1 2.49 36.56 38
|
||||
581 1 20.51 1.54 22.62
|
||||
582 1 8.23 33.44 33.15
|
||||
583 1 30.93 8.12 14.85
|
||||
584 1 36.35 3.92 37.65
|
||||
585 1 5.57 10.63 28.64
|
||||
586 1 30.24 22.84 4.6
|
||||
587 1 3.24 15.97 7.43
|
||||
588 1 22.64 0.7 27.09
|
||||
589 1 1.64 40.37 27.74
|
||||
590 1 30.53 35.28 3.5
|
||||
591 1 25.55 4.7 2.53
|
||||
592 1 22.04 29.56 12.29
|
||||
593 1 3.42 8.76 2.28
|
||||
594 1 16.37 37.65 7.87
|
||||
595 1 20.65 12.75 2.9
|
||||
596 1 8.07 20.49 2.6
|
||||
597 1 20.04 24.72 28.2
|
||||
598 1 29.75 0.33 16.1
|
||||
599 1 31.36 33.09 8.02
|
||||
600 1 8.6 10.56 2.65
|
||||
601 1 20.55 33.93 33.71
|
||||
602 1 23.11 -0.42 31.7
|
||||
603 1 27.07 6.69 18.5
|
||||
604 1 15.65 23.71 11.8
|
||||
605 1 23.88 24.17 30.1
|
||||
606 1 0.79 32.46 16.99
|
||||
607 1 25.96 20.19 2.43
|
||||
608 1 35.16 12.33 4.73
|
||||
609 1 16.53 17.12 10.45
|
||||
610 1 19.74 35.94 8.62
|
||||
611 1 -0.24 28.29 28.3
|
||||
612 1 33.15 4.39 12.64
|
||||
613 1 24.27 18.59 33.59
|
||||
614 1 0.3 9.61 23.54
|
||||
615 1 5.52 10.89 34.71
|
||||
616 1 9.85 26.26 34.42
|
||||
617 1 25.54 37.74 39.13
|
||||
618 1 4.11 29.65 5.81
|
||||
619 1 30.86 22.72 31.07
|
||||
620 1 39.54 34.54 23.24
|
||||
621 1 15.03 9.34 12.11
|
||||
622 1 21.93 38.49 9.53
|
||||
623 1 18.21 19.2 16.65
|
||||
624 1 38.71 32.83 14.49
|
||||
625 1 37.74 36.38 31.43
|
||||
626 1 7.57 2.2 1.07
|
||||
627 1 12.27 10.05 1.53
|
||||
628 1 18.32 19.55 12.51
|
||||
629 1 12.49 24.81 16.57
|
||||
630 1 35.07 31.62 22.85
|
||||
631 1 4.91 19.68 30.45
|
||||
632 1 11.36 2.92 36.19
|
||||
633 1 26.76 35.53 1.29
|
||||
634 1 1.13 14.55 14.77
|
||||
635 1 8.2 25.14 37.83
|
||||
636 1 -0.5 0.85 23.08
|
||||
637 1 17.95 18.01 37.61
|
||||
638 1 2.44 37.75 0.71
|
||||
639 1 3.77 23.41 17.91
|
||||
640 1 3.34 14.41 35.96
|
||||
641 1 14.89 31.42 31.76
|
||||
642 1 15.72 22.91 30.66
|
||||
643 1 37.42 3.13 5.51
|
||||
644 1 1.51 38.14 20.78
|
||||
645 1 12.55 18.16 25.81
|
||||
646 1 18.98 15.88 29.21
|
||||
647 1 17.33 32.04 27.87
|
||||
648 1 31.21 37.38 22.84
|
||||
649 1 11.88 32.4 31
|
||||
650 1 25.1 2.19 12.69
|
||||
651 1 38.85 39.1 27.87
|
||||
652 1 5.9 16.14 33.34
|
||||
653 1 6.3 17.5 36.46
|
||||
654 1 2.28 25.02 12.53
|
||||
655 1 19.33 25.49 6.78
|
||||
656 1 8.57 37.22 8.4
|
||||
657 1 22 38.61 24.14
|
||||
658 1 35.63 3.23 2.15
|
||||
659 1 37.35 22.64 9.99
|
||||
660 1 25.46 28.22 33.18
|
||||
661 1 13.99 4.21 9.07
|
||||
662 1 9.04 40.64 37.59
|
||||
663 1 17.46 6.49 27.93
|
||||
664 1 1.42 6.14 30.2
|
||||
665 1 25.82 28.28 10.33
|
||||
666 1 30.71 30.2 -0.02
|
||||
667 1 8.05 29.32 0.62
|
||||
668 1 6.49 3.17 6.65
|
||||
669 1 7.77 39.88 26.03
|
||||
670 1 28.53 12.14 30.96
|
||||
671 1 6.25 12.64 39.55
|
||||
672 1 3.78 7.96 25.83
|
||||
673 1 28.69 29.58 6.61
|
||||
674 1 5.32 18.55 8.6
|
||||
675 1 5.3 11.44 14.19
|
||||
676 1 39 12.03 36.99
|
||||
677 1 11.08 32.51 19.12
|
||||
678 1 38.48 1.03 20.34
|
||||
679 1 38.47 11.31 10.12
|
||||
680 1 3.65 20.3 11.99
|
||||
681 1 27.18 11.39 3.4
|
||||
682 1 29.61 20.72 38.86
|
||||
683 1 31.88 4.82 24.75
|
||||
684 1 14.52 36.61 25.66
|
||||
685 1 21.68 19.96 24.58
|
||||
686 1 1.2 13.59 23.16
|
||||
687 1 37.71 5.97 35.28
|
||||
688 1 19.81 22.04 37.54
|
||||
689 1 40.67 27.07 10.14
|
||||
690 1 38.57 13.96 13.75
|
||||
691 1 18.15 17.19 21.63
|
||||
692 1 3.76 27.51 30.32
|
||||
693 1 11.39 25.09 7.96
|
||||
694 1 28.95 22.02 13.33
|
||||
695 1 31.72 35.46 35.33
|
||||
696 1 15.17 6.03 23.94
|
||||
697 1 9.63 9.42 22.18
|
||||
698 1 27.76 4.1 38.61
|
||||
699 1 27.37 37.46 11.07
|
||||
700 1 35.69 15.24 6.39
|
||||
701 1 21.92 33.09 36.84
|
||||
702 1 4.79 15.51 13.28
|
||||
703 1 9.31 26.44 22.8
|
||||
704 1 30.14 38.31 6.98
|
||||
705 1 4.33 6.66 13.77
|
||||
706 1 3.66 27.15 37.83
|
||||
707 1 0.44 24.06 29.62
|
||||
708 1 35.4 9.59 9.8
|
||||
709 1 33.77 39.44 21.41
|
||||
710 1 29.2 18.74 24.38
|
||||
711 1 34.14 30 7.36
|
||||
712 1 16.02 4.37 6.43
|
||||
713 1 35.75 39.41 40.58
|
||||
714 1 15.32 11.84 23.24
|
||||
715 1 32.52 24.39 20.97
|
||||
716 1 11.45 2.9 7.16
|
||||
717 1 7.07 34.28 36.04
|
||||
718 1 11.41 8.83 7.57
|
||||
719 1 29.29 27.79 16.55
|
||||
720 1 2.41 9.16 16.14
|
||||
721 1 13.14 38.07 12.01
|
||||
722 1 37.45 14.26 18.3
|
||||
723 1 34.64 18.37 16.65
|
||||
724 1 29.26 34.28 33.46
|
||||
725 1 13.67 19.83 3.04
|
||||
726 1 19.64 2.6 32.95
|
||||
727 1 23.61 23.55 11.34
|
||||
728 1 6.87 22.5 36.5
|
||||
729 1 36.78 28.34 22.96
|
||||
730 1 11.3 13.98 9.84
|
||||
731 1 20.82 19.73 9.16
|
||||
732 1 12.65 12.61 6.16
|
||||
733 1 9.25 7.81 25.28
|
||||
734 1 25.4 29.36 5.84
|
||||
735 1 17.86 9.06 4.45
|
||||
736 1 35.84 40.51 26.06
|
||||
737 1 26.97 21.28 31.59
|
||||
738 1 39.94 38.14 24.86
|
||||
739 1 3.16 17.07 2.49
|
||||
740 1 14.08 15.4 36.99
|
||||
741 1 26.1 13.88 29.68
|
||||
742 1 26.36 20 20.56
|
||||
743 1 12.02 6.35 27.65
|
||||
744 1 11.21 19.14 15.27
|
||||
745 1 35.86 22.93 26.81
|
||||
746 1 32.26 12.62 2.68
|
||||
747 1 29.36 4.91 6.86
|
||||
748 1 20.14 7.97 29.32
|
||||
749 1 25.53 11.2 36.18
|
||||
750 1 30.36 14.25 24.79
|
||||
751 1 29.84 38.37 39.29
|
||||
752 1 15.79 36.4 4.26
|
||||
753 1 32.59 14.17 10.29
|
||||
754 1 13.89 34.54 15.42
|
||||
755 1 12.13 33.62 7.27
|
||||
756 1 25.86 23.81 33.97
|
||||
757 1 18.4 31.27 34.96
|
||||
758 1 6.58 40.49 17.57
|
||||
759 1 5.64 39.86 23.05
|
||||
760 1 25.32 33 16.24
|
||||
761 1 0.98 10.99 12.21
|
||||
762 1 32.86 23.75 12.41
|
||||
763 1 32.91 1.3 26.94
|
||||
764 1 9.46 8.66 31.47
|
||||
765 1 17.49 15.53 1.82
|
||||
766 1 8.17 18.16 15.3
|
||||
767 1 4.84 30.63 26.32
|
||||
768 1 6.75 37.1 30.8
|
||||
769 1 7.16 5.72 15.74
|
||||
770 1 20.09 17.82 19.18
|
||||
771 1 1.02 27.99 32.54
|
||||
772 1 21.44 1.28 38.4
|
||||
773 1 21.06 14.62 37.08
|
||||
774 1 27.82 18.99 15.96
|
||||
775 1 33.51 21.46 22.82
|
||||
776 1 8.29 2.79 17.09
|
||||
777 1 18.14 11.41 28.62
|
||||
778 1 17.94 28.54 32.73
|
||||
779 1 36.1 9.54 40.1
|
||||
780 1 36.55 2.62 22.97
|
||||
781 1 27.29 10.41 39.35
|
||||
782 1 22.04 37.76 2.02
|
||||
783 1 23.01 30.08 16.58
|
||||
784 1 6.34 15.31 21.61
|
||||
785 1 7.3 22.39 7.74
|
||||
786 1 38 5.77 21.04
|
||||
787 1 32.93 12.85 26.58
|
||||
788 1 22.43 15.36 16.72
|
||||
789 1 18.54 2.38 8.35
|
||||
790 1 0.62 31.88 23.84
|
||||
791 1 39.56 30.3 21.7
|
||||
792 1 7.56 11.78 25.2
|
||||
793 1 16.05 3.98 26.72
|
||||
794 1 24.33 36.16 13.16
|
||||
795 1 26.38 31.24 35.77
|
||||
796 1 14.94 26.46 -0.44
|
||||
797 1 3.53 28 19.79
|
||||
798 1 11.94 32.27 25.88
|
||||
799 1 34.59 15.06 19.23
|
||||
800 1 3.51 10.62 24.22
|
||||
801 1 13.18 21.59 35.52
|
||||
802 1 19.95 13.15 16.23
|
||||
803 1 24.48 9.63 19.58
|
||||
804 1 37.7 34.42 19.19
|
||||
805 1 22.84 19.59 5.52
|
||||
806 1 34.62 36.75 12.26
|
||||
807 1 10.33 21.85 25.15
|
||||
808 1 21.51 29.7 7.23
|
||||
809 1 34.05 3 30.58
|
||||
810 1 12.43 29.67 5.59
|
||||
811 1 18.94 21.82 29.31
|
||||
812 1 39.21 17.7 4
|
||||
813 1 7.04 2.97 37.09
|
||||
814 1 30.87 10.8 22.09
|
||||
815 1 33.54 7.16 23.15
|
||||
816 1 32.82 32.27 11.47
|
||||
817 1 21.8 14.54 21.61
|
||||
818 1 38.83 6.69 13.68
|
||||
819 1 30.37 39.05 18.66
|
||||
820 1 31.21 15.08 13.79
|
||||
821 1 1.07 11.97 35.04
|
||||
822 1 26.02 35.8 35.47
|
||||
823 1 27.64 33.32 8.04
|
||||
824 1 39.57 36.88 4.39
|
||||
825 1 14.48 30.97 36.87
|
||||
826 1 36.86 27.04 8.96
|
||||
827 1 34.73 26.27 19.55
|
||||
828 1 29.24 29.12 10.86
|
||||
829 1 8.35 39.9 13.92
|
||||
830 1 5.43 5.1 31.85
|
||||
831 1 18.36 22.31 5.89
|
||||
832 1 2.46 27.35 16.36
|
||||
833 1 21.76 37.05 27.45
|
||||
834 1 29.32 17.11 2.28
|
||||
835 1 3.58 21.98 3.09
|
||||
836 1 10.61 9.17 10.69
|
||||
837 1 25.15 17.54 6.05
|
||||
838 1 3.4 22.81 7.03
|
||||
839 1 16.12 23.66 38.29
|
||||
840 1 8.67 4.79 31.8
|
||||
841 1 27.82 0.02 20.45
|
||||
842 1 4.46 2.44 29.46
|
||||
843 1 39.11 22.69 36.33
|
||||
844 1 4.26 2.45 34.43
|
||||
845 1 13.47 3.5 30.9
|
||||
846 1 26.92 22.55 26.54
|
||||
847 1 5.66 30.07 30.65
|
||||
848 1 31.58 35.68 25.46
|
||||
849 1 31.23 5.65 27.78
|
||||
850 1 8.76 19.49 28.61
|
||||
851 1 24.13 8.02 2.3
|
||||
852 1 8.27 6.8 4.93
|
||||
853 1 15.31 34.36 37.63
|
||||
854 1 3.96 35.82 26.97
|
||||
855 1 24.95 4.01 29.96
|
||||
856 1 26.54 25.95 19.15
|
||||
857 1 17.76 29.23 5.35
|
||||
858 1 16.95 21.79 0.78
|
||||
859 1 17.52 39.02 13.01
|
||||
860 1 20.5 22.86 10.41
|
||||
861 1 27.67 27.07 2.78
|
||||
862 1 37.1 31.02 2.03
|
||||
863 1 37.17 2.24 16.34
|
||||
864 1 24.51 34.69 10.28
|
||||
865 1 17.38 13.41 21.4
|
||||
866 1 38 9.37 17.94
|
||||
867 1 35.67 25.27 5.3
|
||||
868 1 22.66 4.47 0.97
|
||||
869 1 20.06 28.17 27.42
|
||||
870 1 27.33 2.38 9.79
|
||||
871 1 36.4 10.73 31.42
|
||||
872 1 0.53 9.45 6.96
|
||||
873 1 12.89 9.03 25.13
|
||||
874 1 37.5 23.54 21.33
|
||||
875 1 7.19 28.87 19.11
|
||||
876 1 21.45 32.81 22.71
|
||||
877 1 8.76 8.3 13.51
|
||||
878 1 10.24 31.46 3.73
|
||||
879 1 15.93 9.7 35.82
|
||||
880 1 14.92 19.46 39.91
|
||||
881 1 13.02 22.03 27.3
|
||||
882 1 34.57 1.59 34.73
|
||||
883 1 0.5 21.04 30.77
|
||||
884 1 24.84 32.67 4.97
|
||||
885 1 30.96 4.24 17.34
|
||||
886 1 23.63 8.84 32.7
|
||||
887 1 6.84 3.83 26.13
|
||||
888 1 31.57 9.23 27.06
|
||||
889 1 14.99 35.15 0.07
|
||||
890 1 36.29 40.01 8.22
|
||||
891 1 18 36.86 35.66
|
||||
892 1 11.5 29.22 0.37
|
||||
893 1 35.18 36.03 24.88
|
||||
894 1 14.49 9.41 27.73
|
||||
895 1 10.12 12.91 0.99
|
||||
896 1 11.91 29.4 27.3
|
||||
897 1 25.51 28.68 14.56
|
||||
898 1 29.32 12.95 35.59
|
||||
899 1 2.96 0.59 0.53
|
||||
900 1 5.47 5.35 9.88
|
||||
901 1 8.93 39.33 1.78
|
||||
902 1 39.68 38.49 12.33
|
||||
903 1 3.78 1.24 11.85
|
||||
904 1 29.54 33.76 11.99
|
||||
905 1 7.48 6.16 28.8
|
||||
906 1 10.83 33.63 36.96
|
||||
907 1 22.03 19.06 21.39
|
||||
908 1 31.68 31 3.71
|
||||
909 1 35.32 0.3 30.88
|
||||
910 1 9.93 35.42 14.85
|
||||
911 1 21.01 10.66 12.97
|
||||
912 1 22.54 21.62 33.81
|
||||
913 1 12.48 12.46 25.15
|
||||
914 1 0.64 27.93 39.01
|
||||
915 1 13.88 27.29 3.8
|
||||
916 1 13.03 20.93 19.25
|
||||
917 1 5.7 37.48 34.09
|
||||
918 1 2.27 35.08 14.29
|
||||
919 1 21.75 26.44 13.48
|
||||
920 1 10.66 11.35 17.49
|
||||
921 1 36.67 34.72 27.69
|
||||
922 1 8.23 22.8 33.36
|
||||
923 1 4.79 4.05 3.48
|
||||
924 1 35.61 35 35.21
|
||||
925 1 31.38 37.67 10.06
|
||||
926 1 26.44 35.58 27.52
|
||||
927 1 25.53 4.47 8.03
|
||||
928 1 38.81 33.08 31.55
|
||||
929 1 29.62 39.68 34.32
|
||||
930 1 0.76 3.88 10.61
|
||||
931 1 24.06 30.13 24.84
|
||||
932 1 18.77 8.38 37.02
|
||||
933 1 2.81 24.14 24.45
|
||||
934 1 11.33 1.25 19.69
|
||||
935 1 1.61 26.53 6.48
|
||||
936 1 9.52 29.81 35.98
|
||||
937 1 7.83 31.75 20.77
|
||||
938 1 9.67 23.93 20.57
|
||||
939 1 33.96 16.95 24.79
|
||||
940 1 37.55 37.31 37.17
|
||||
941 1 6.2 24.19 31.13
|
||||
942 1 17.79 4.35 30.56
|
||||
943 1 13.51 20.25 30.45
|
||||
944 1 14.76 12.48 13.13
|
||||
945 1 32.56 27.52 30.41
|
||||
946 1 35.81 40.1 4.85
|
||||
947 1 39.01 25.43 27.07
|
||||
948 1 22.8 5.53 32.22
|
||||
949 1 2.35 39.55 32.5
|
||||
950 1 3.31 31.51 34.19
|
||||
951 1 40.63 37.01 15.9
|
||||
952 1 18.43 35.86 30.77
|
||||
953 1 37.01 39.18 15.57
|
||||
954 1 6.74 6.26 21.64
|
||||
955 1 5.22 24.94 22.53
|
||||
956 1 25.2 11.08 13.98
|
||||
957 1 14.66 -0.14 5
|
||||
958 1 14.96 8.38 20.32
|
||||
959 1 1.89 23.03 10.1
|
||||
960 1 33.01 11.23 39.32
|
||||
961 1 32.68 6.79 32.04
|
||||
962 1 6.25 25.81 3.82
|
||||
963 1 18.37 31.97 14.57
|
||||
964 1 9.74 30.21 22.71
|
||||
965 1 3.09 1.52 19.38
|
||||
966 1 33.98 37.34 5.63
|
||||
967 1 32.19 28.35 15.8
|
||||
968 1 24.4 15.49 19.39
|
||||
@ -0,0 +1,52 @@
|
||||
# 35,000 atom nylon melt example
|
||||
|
||||
units real
|
||||
|
||||
boundary p p p
|
||||
|
||||
atom_style full
|
||||
|
||||
kspace_style pppm 1.0e-4
|
||||
|
||||
pair_style lj/class2/coul/long 8.5
|
||||
|
||||
angle_style class2
|
||||
|
||||
bond_style class2
|
||||
|
||||
dihedral_style class2
|
||||
|
||||
improper_style class2
|
||||
|
||||
read_data large_nylon_melt.data.gz
|
||||
|
||||
velocity all create 800.0 4928459 dist gaussian
|
||||
|
||||
molecule mol1 rxn1_stp1_unreacted.data_template
|
||||
molecule mol2 rxn1_stp1_reacted.data_template
|
||||
molecule mol3 rxn1_stp2_unreacted.data_template
|
||||
molecule mol4 rxn1_stp2_reacted.data_template
|
||||
|
||||
thermo 50
|
||||
|
||||
# dump 1 all xyz 100 test_vis.xyz
|
||||
|
||||
fix myrxns all bond/react stabilization yes statted_grp .03 &
|
||||
react rxn1 all 1 0.0 2.9 mol1 mol2 rxn1_stp1_map &
|
||||
react rxn2 all 1 0.0 5.0 mol3 mol4 rxn1_stp2_map
|
||||
|
||||
# stable at 800K
|
||||
fix 1 statted_grp nvt temp 800 800 100
|
||||
|
||||
# in order to customize behavior of reacting atoms,
|
||||
# you can use the internally created 'bond_react_MASTER_group', like so:
|
||||
# fix 2 bond_react_MASTER_group temp/rescale 1 800 800 10 1
|
||||
|
||||
thermo_style custom step temp press density f_myrxns[1] f_myrxns[2] # cumulative reaction counts
|
||||
|
||||
# restart 100 restart1 restart2
|
||||
|
||||
run 200
|
||||
|
||||
# write_restart restart_longrun
|
||||
# write_data restart_longrun.data
|
||||
Binary file not shown.
@ -0,0 +1,175 @@
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# 35,000 atom nylon melt example
|
||||
|
||||
units real
|
||||
|
||||
boundary p p p
|
||||
|
||||
atom_style full
|
||||
|
||||
kspace_style pppm 1.0e-4
|
||||
|
||||
pair_style lj/class2/coul/long 8.5
|
||||
|
||||
angle_style class2
|
||||
|
||||
bond_style class2
|
||||
|
||||
dihedral_style class2
|
||||
|
||||
improper_style class2
|
||||
|
||||
read_data large_nylon_melt.data.gz
|
||||
orthogonal box = (-2.68344 -2.06791 -2.21988) to (73.4552 73.2448 73.4065)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
35200 atoms
|
||||
reading velocities ...
|
||||
35200 velocities
|
||||
scanning bonds ...
|
||||
9 = max bonds/atom
|
||||
scanning angles ...
|
||||
21 = max angles/atom
|
||||
scanning dihedrals ...
|
||||
31 = max dihedrals/atom
|
||||
scanning impropers ...
|
||||
29 = max impropers/atom
|
||||
reading bonds ...
|
||||
33600 bonds
|
||||
reading angles ...
|
||||
59200 angles
|
||||
reading dihedrals ...
|
||||
80000 dihedrals
|
||||
reading impropers ...
|
||||
35200 impropers
|
||||
4 = max # of 1-2 neighbors
|
||||
6 = max # of 1-3 neighbors
|
||||
12 = max # of 1-4 neighbors
|
||||
41 = max # of special neighbors
|
||||
|
||||
velocity all create 800.0 4928459 dist gaussian
|
||||
|
||||
molecule mol1 rxn1_stp1_unreacted.data_template
|
||||
Read molecule mol1:
|
||||
18 atoms with max type 8
|
||||
16 bonds with max type 12
|
||||
25 angles with max type 24
|
||||
23 dihedrals with max type 33
|
||||
14 impropers with max type 9
|
||||
molecule mol2 rxn1_stp1_reacted.data_template
|
||||
Read molecule mol2:
|
||||
18 atoms with max type 9
|
||||
17 bonds with max type 11
|
||||
31 angles with max type 23
|
||||
39 dihedrals with max type 30
|
||||
20 impropers with max type 1
|
||||
molecule mol3 rxn1_stp2_unreacted.data_template
|
||||
Read molecule mol3:
|
||||
15 atoms with max type 9
|
||||
14 bonds with max type 11
|
||||
25 angles with max type 23
|
||||
30 dihedrals with max type 30
|
||||
16 impropers with max type 1
|
||||
molecule mol4 rxn1_stp2_reacted.data_template
|
||||
Read molecule mol4:
|
||||
15 atoms with max type 11
|
||||
13 bonds with max type 13
|
||||
19 angles with max type 25
|
||||
16 dihedrals with max type 29
|
||||
10 impropers with max type 11
|
||||
|
||||
thermo 50
|
||||
|
||||
# dump 1 all xyz 100 test_vis.xyz
|
||||
|
||||
fix myrxns all bond/react stabilization yes statted_grp .03 react rxn1 all 1 0.0 2.9 mol1 mol2 rxn1_stp1_map react rxn2 all 1 0.0 5.0 mol3 mol4 rxn1_stp2_map
|
||||
WARNING: An atom in 'react #1' changes bond connectivity but not atom type (../fix_bond_react.cpp:1489)
|
||||
WARNING: An atom in 'react #2' changes bond connectivity but not atom type (../fix_bond_react.cpp:1489)
|
||||
dynamic group bond_react_MASTER_group defined
|
||||
dynamic group statted_grp defined
|
||||
dynamic group bond_react_MASTER_group defined
|
||||
dynamic group statted_grp defined
|
||||
|
||||
# stable at 800K
|
||||
fix 1 statted_grp nvt temp 800 800 100
|
||||
|
||||
# in order to customize behavior of reacting atoms,
|
||||
# you can use the internally created 'bond_react_MASTER_group', like so:
|
||||
# fix 2 bond_react_MASTER_group temp/rescale 1 800 800 10 1
|
||||
|
||||
thermo_style custom step temp press density f_myrxns[1] f_myrxns[2] # cumulative reaction counts
|
||||
|
||||
# restart 100 restart1 restart2
|
||||
|
||||
run 200
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:321)
|
||||
G vector (1/distance) = 0.20765
|
||||
grid = 18 18 18
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0333156
|
||||
estimated relative force accuracy = 0.000100329
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 12167 5832
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 10.5
|
||||
ghost atom cutoff = 10.5
|
||||
binsize = 5.25, bins = 15 15 15
|
||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||
(1) pair lj/class2/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
(2) fix bond/react, occasional, copy from (1)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 209.1 | 209.1 | 209.1 Mbytes
|
||||
Step Temp Press Density f_myrxns[1] f_myrxns[2]
|
||||
0 800 3666.3948 0.80366765 0 0
|
||||
50 673.95238 -9670.9169 0.80366765 31 0
|
||||
100 697.22819 -4624.0512 0.80366765 57 22
|
||||
150 723.60507 -17175.571 0.80366765 76 48
|
||||
200 736.71277 -12961.963 0.80366765 84 64
|
||||
Loop time of 102.825 on 1 procs for 200 steps with 35200 atoms
|
||||
|
||||
Performance: 0.168 ns/day, 142.812 hours/ns, 1.945 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 | 27.193 | 27.193 | 27.193 | 0.0 | 26.45
|
||||
Bond | 11.324 | 11.324 | 11.324 | 0.0 | 11.01
|
||||
Kspace | 4.1878 | 4.1878 | 4.1878 | 0.0 | 4.07
|
||||
Neigh | 54.724 | 54.724 | 54.724 | 0.0 | 53.22
|
||||
Comm | 0.40662 | 0.40662 | 0.40662 | 0.0 | 0.40
|
||||
Output | 0.0011101 | 0.0011101 | 0.0011101 | 0.0 | 0.00
|
||||
Modify | 4.9422 | 4.9422 | 4.9422 | 0.0 | 4.81
|
||||
Other | | 0.04545 | | | 0.04
|
||||
|
||||
Nlocal: 35200 ave 35200 max 35200 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 38403 ave 38403 max 38403 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 6.9281e+06 ave 6.9281e+06 max 6.9281e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 6928101
|
||||
Ave neighs/atom = 196.821
|
||||
Ave special neighs/atom = 9.83727
|
||||
Neighbor list builds = 200
|
||||
Dangerous builds = 0
|
||||
|
||||
# write_restart restart_longrun
|
||||
# write_data restart_longrun.data
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:01:43
|
||||
@ -0,0 +1,175 @@
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# 35,000 atom nylon melt example
|
||||
|
||||
units real
|
||||
|
||||
boundary p p p
|
||||
|
||||
atom_style full
|
||||
|
||||
kspace_style pppm 1.0e-4
|
||||
|
||||
pair_style lj/class2/coul/long 8.5
|
||||
|
||||
angle_style class2
|
||||
|
||||
bond_style class2
|
||||
|
||||
dihedral_style class2
|
||||
|
||||
improper_style class2
|
||||
|
||||
read_data large_nylon_melt.data.gz
|
||||
orthogonal box = (-2.68344 -2.06791 -2.21988) to (73.4552 73.2448 73.4065)
|
||||
2 by 1 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
35200 atoms
|
||||
reading velocities ...
|
||||
35200 velocities
|
||||
scanning bonds ...
|
||||
9 = max bonds/atom
|
||||
scanning angles ...
|
||||
21 = max angles/atom
|
||||
scanning dihedrals ...
|
||||
31 = max dihedrals/atom
|
||||
scanning impropers ...
|
||||
29 = max impropers/atom
|
||||
reading bonds ...
|
||||
33600 bonds
|
||||
reading angles ...
|
||||
59200 angles
|
||||
reading dihedrals ...
|
||||
80000 dihedrals
|
||||
reading impropers ...
|
||||
35200 impropers
|
||||
4 = max # of 1-2 neighbors
|
||||
6 = max # of 1-3 neighbors
|
||||
12 = max # of 1-4 neighbors
|
||||
41 = max # of special neighbors
|
||||
|
||||
velocity all create 800.0 4928459 dist gaussian
|
||||
|
||||
molecule mol1 rxn1_stp1_unreacted.data_template
|
||||
Read molecule mol1:
|
||||
18 atoms with max type 8
|
||||
16 bonds with max type 12
|
||||
25 angles with max type 24
|
||||
23 dihedrals with max type 33
|
||||
14 impropers with max type 9
|
||||
molecule mol2 rxn1_stp1_reacted.data_template
|
||||
Read molecule mol2:
|
||||
18 atoms with max type 9
|
||||
17 bonds with max type 11
|
||||
31 angles with max type 23
|
||||
39 dihedrals with max type 30
|
||||
20 impropers with max type 1
|
||||
molecule mol3 rxn1_stp2_unreacted.data_template
|
||||
Read molecule mol3:
|
||||
15 atoms with max type 9
|
||||
14 bonds with max type 11
|
||||
25 angles with max type 23
|
||||
30 dihedrals with max type 30
|
||||
16 impropers with max type 1
|
||||
molecule mol4 rxn1_stp2_reacted.data_template
|
||||
Read molecule mol4:
|
||||
15 atoms with max type 11
|
||||
13 bonds with max type 13
|
||||
19 angles with max type 25
|
||||
16 dihedrals with max type 29
|
||||
10 impropers with max type 11
|
||||
|
||||
thermo 50
|
||||
|
||||
# dump 1 all xyz 100 test_vis.xyz
|
||||
|
||||
fix myrxns all bond/react stabilization yes statted_grp .03 react rxn1 all 1 0.0 2.9 mol1 mol2 rxn1_stp1_map react rxn2 all 1 0.0 5.0 mol3 mol4 rxn1_stp2_map
|
||||
WARNING: An atom in 'react #1' changes bond connectivity but not atom type (../fix_bond_react.cpp:1489)
|
||||
WARNING: An atom in 'react #2' changes bond connectivity but not atom type (../fix_bond_react.cpp:1489)
|
||||
dynamic group bond_react_MASTER_group defined
|
||||
dynamic group statted_grp defined
|
||||
dynamic group bond_react_MASTER_group defined
|
||||
dynamic group statted_grp defined
|
||||
|
||||
# stable at 800K
|
||||
fix 1 statted_grp nvt temp 800 800 100
|
||||
|
||||
# in order to customize behavior of reacting atoms,
|
||||
# you can use the internally created 'bond_react_MASTER_group', like so:
|
||||
# fix 2 bond_react_MASTER_group temp/rescale 1 800 800 10 1
|
||||
|
||||
thermo_style custom step temp press density f_myrxns[1] f_myrxns[2] # cumulative reaction counts
|
||||
|
||||
# restart 100 restart1 restart2
|
||||
|
||||
run 200
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:321)
|
||||
G vector (1/distance) = 0.20765
|
||||
grid = 18 18 18
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0333156
|
||||
estimated relative force accuracy = 0.000100329
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 4508 1620
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 10.5
|
||||
ghost atom cutoff = 10.5
|
||||
binsize = 5.25, bins = 15 15 15
|
||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||
(1) pair lj/class2/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
(2) fix bond/react, occasional, copy from (1)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 81.11 | 81.13 | 81.15 Mbytes
|
||||
Step Temp Press Density f_myrxns[1] f_myrxns[2]
|
||||
0 800 3666.3948 0.80366765 0 0
|
||||
50 673.95238 -9670.9169 0.80366765 31 0
|
||||
100 697.22819 -4624.0512 0.80366765 57 22
|
||||
150 724.40407 -17166.729 0.80366765 76 49
|
||||
200 737.28582 -12968.224 0.80366765 84 65
|
||||
Loop time of 51.171 on 4 procs for 200 steps with 35200 atoms
|
||||
|
||||
Performance: 0.338 ns/day, 71.071 hours/ns, 3.908 timesteps/s
|
||||
98.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 12.926 | 13.247 | 13.493 | 6.7 | 25.89
|
||||
Bond | 5.2132 | 5.2733 | 5.3367 | 1.9 | 10.31
|
||||
Kspace | 2.3601 | 2.6534 | 3.0067 | 16.0 | 5.19
|
||||
Neigh | 25.93 | 25.934 | 25.937 | 0.1 | 50.68
|
||||
Comm | 0.73273 | 0.75464 | 0.78505 | 2.3 | 1.47
|
||||
Output | 0.00045228 | 0.00067407 | 0.0013323 | 0.0 | 0.00
|
||||
Modify | 3.2682 | 3.2686 | 3.2692 | 0.0 | 6.39
|
||||
Other | | 0.03995 | | | 0.08
|
||||
|
||||
Nlocal: 8800 ave 8913 max 8652 min
|
||||
Histogram: 1 0 0 0 1 0 0 0 1 1
|
||||
Nghost: 18366 ave 18461 max 18190 min
|
||||
Histogram: 1 0 0 0 0 0 0 1 1 1
|
||||
Neighs: 1.73203e+06 ave 1.77261e+06 max 1.68165e+06 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 6928132
|
||||
Ave neighs/atom = 196.822
|
||||
Ave special neighs/atom = 9.83608
|
||||
Neighbor list builds = 200
|
||||
Dangerous builds = 0
|
||||
|
||||
# write_restart restart_longrun
|
||||
# write_data restart_longrun.data
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:52
|
||||
35
examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp1_map
Normal file
35
examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp1_map
Normal file
@ -0,0 +1,35 @@
|
||||
this is a nominal superimpose file
|
||||
|
||||
2 edgeIDs
|
||||
18 equivalences
|
||||
|
||||
BondingIDs
|
||||
|
||||
10
|
||||
1
|
||||
|
||||
EdgeIDs
|
||||
|
||||
16
|
||||
8
|
||||
|
||||
Equivalences
|
||||
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
@ -0,0 +1,189 @@
|
||||
this is a molecule template for: initial nylon crosslink, post-reacting
|
||||
|
||||
18 atoms
|
||||
17 bonds
|
||||
31 angles
|
||||
39 dihedrals
|
||||
20 impropers
|
||||
|
||||
Types
|
||||
|
||||
1 9
|
||||
2 1
|
||||
3 1
|
||||
4 4
|
||||
5 4
|
||||
6 3
|
||||
7 3
|
||||
8 1
|
||||
9 1
|
||||
10 5
|
||||
11 8
|
||||
12 6
|
||||
13 3
|
||||
14 3
|
||||
15 7
|
||||
16 1
|
||||
17 3
|
||||
18 3
|
||||
|
||||
Charges
|
||||
|
||||
1 -0.300000
|
||||
2 0.000000
|
||||
3 0.000000
|
||||
4 0.000000
|
||||
5 0.000000
|
||||
6 0.000000
|
||||
7 0.000000
|
||||
8 0.000000
|
||||
9 0.000000
|
||||
10 0.300000
|
||||
11 0.000000
|
||||
12 0.000000
|
||||
13 0.000000
|
||||
14 0.000000
|
||||
15 0.000000
|
||||
16 0.000000
|
||||
17 0.000000
|
||||
18 0.000000
|
||||
|
||||
Coords
|
||||
|
||||
1 -5.522237 -0.752722 1.631158
|
||||
2 -5.170398 -0.545733 0.178130
|
||||
3 -6.469695 -0.553072 -0.648889
|
||||
4 -6.052076 -1.721152 1.744648
|
||||
5 -6.183059 0.071387 1.971497
|
||||
6 -4.489340 -1.389197 -0.173156
|
||||
7 -4.637591 0.453703 0.051252
|
||||
8 -5.618658 0.138919 4.386107
|
||||
9 -4.669492 -0.989819 3.943591
|
||||
10 -4.270194 -0.766405 2.474102
|
||||
11 -3.348470 -1.875393 2.024289
|
||||
12 -3.569794 0.564183 2.345995
|
||||
13 -5.201079 -1.993301 4.044219
|
||||
14 -3.736682 -0.984819 4.598305
|
||||
15 -4.255402 1.370923 2.679069
|
||||
16 -6.136394 -0.339866 -2.136775
|
||||
17 -6.996331 -1.555519 -0.517408
|
||||
18 -7.153308 0.284949 -0.289930
|
||||
|
||||
Bonds
|
||||
|
||||
1 9 1 2
|
||||
2 10 1 4
|
||||
3 10 1 5
|
||||
4 11 1 10
|
||||
5 1 2 3
|
||||
6 2 2 6
|
||||
7 2 2 7
|
||||
8 1 3 16
|
||||
9 2 3 17
|
||||
10 2 3 18
|
||||
11 1 8 9
|
||||
12 6 9 10
|
||||
13 2 9 13
|
||||
14 2 9 14
|
||||
15 7 10 11
|
||||
16 5 10 12
|
||||
17 8 12 15
|
||||
|
||||
Angles
|
||||
|
||||
1 14 2 1 4
|
||||
2 14 2 1 5
|
||||
3 15 2 1 10
|
||||
4 16 4 1 5
|
||||
5 17 4 1 10
|
||||
6 17 5 1 10
|
||||
7 18 1 2 3
|
||||
8 19 1 2 6
|
||||
9 19 1 2 7
|
||||
10 1 3 2 6
|
||||
11 1 3 2 7
|
||||
12 3 6 2 7
|
||||
13 2 2 3 16
|
||||
14 1 2 3 17
|
||||
15 1 2 3 18
|
||||
16 1 16 3 17
|
||||
17 1 16 3 18
|
||||
18 3 17 3 18
|
||||
19 12 8 9 10
|
||||
20 1 8 9 13
|
||||
21 1 8 9 14
|
||||
22 13 13 9 10
|
||||
23 13 14 9 10
|
||||
24 3 13 9 14
|
||||
25 10 9 10 11
|
||||
26 8 9 10 12
|
||||
27 20 1 10 9
|
||||
28 21 11 10 12
|
||||
29 22 1 10 11
|
||||
30 23 1 10 12
|
||||
31 11 10 12 15
|
||||
|
||||
Dihedrals
|
||||
|
||||
1 16 4 1 2 3
|
||||
2 17 4 1 2 6
|
||||
3 17 4 1 2 7
|
||||
4 16 5 1 2 3
|
||||
5 17 5 1 2 6
|
||||
6 17 5 1 2 7
|
||||
7 18 10 1 2 3
|
||||
8 19 10 1 2 6
|
||||
9 19 10 1 2 7
|
||||
10 20 2 1 10 9
|
||||
11 21 2 1 10 11
|
||||
12 22 2 1 10 12
|
||||
13 23 4 1 10 9
|
||||
14 24 4 1 10 11
|
||||
15 25 4 1 10 12
|
||||
16 23 5 1 10 9
|
||||
17 24 5 1 10 11
|
||||
18 25 5 1 10 12
|
||||
19 26 1 2 3 16
|
||||
20 27 1 2 3 17
|
||||
21 27 1 2 3 18
|
||||
22 4 16 3 2 6
|
||||
23 2 6 2 3 17
|
||||
24 2 6 2 3 18
|
||||
25 4 16 3 2 7
|
||||
26 2 7 2 3 17
|
||||
27 2 7 2 3 18
|
||||
28 14 8 9 10 11
|
||||
29 12 8 9 10 12
|
||||
30 28 8 9 10 1
|
||||
31 15 13 9 10 11
|
||||
32 13 13 9 10 12
|
||||
33 29 13 9 10 1
|
||||
34 15 14 9 10 11
|
||||
35 13 14 9 10 12
|
||||
36 29 14 9 10 1
|
||||
37 10 9 10 12 15
|
||||
38 11 11 10 12 15
|
||||
39 30 1 10 12 15
|
||||
|
||||
Impropers
|
||||
|
||||
1 1 2 1 4 5
|
||||
2 1 2 1 4 10
|
||||
3 1 2 1 5 10
|
||||
4 1 4 1 5 10
|
||||
5 1 1 2 3 6
|
||||
6 1 1 2 3 7
|
||||
7 1 1 2 6 7
|
||||
8 1 3 2 6 7
|
||||
9 1 2 3 16 17
|
||||
10 1 2 3 16 18
|
||||
11 1 2 3 17 18
|
||||
12 1 16 3 17 18
|
||||
13 1 8 9 13 10
|
||||
14 1 8 9 14 10
|
||||
15 1 8 9 13 14
|
||||
16 1 13 9 14 10
|
||||
17 1 9 10 11 12
|
||||
18 1 1 10 9 11
|
||||
19 1 1 10 9 12
|
||||
20 1 1 10 11 12
|
||||
@ -0,0 +1,160 @@
|
||||
this is a molecule template for: initial nylon crosslink, pre-reacting
|
||||
|
||||
18 atoms
|
||||
16 bonds
|
||||
25 angles
|
||||
23 dihedrals
|
||||
14 impropers
|
||||
|
||||
Types
|
||||
|
||||
1 2
|
||||
2 1
|
||||
3 1
|
||||
4 4
|
||||
5 4
|
||||
6 3
|
||||
7 3
|
||||
8 1
|
||||
9 1
|
||||
10 5
|
||||
11 8
|
||||
12 6
|
||||
13 3
|
||||
14 3
|
||||
15 7
|
||||
16 1
|
||||
17 3
|
||||
18 3
|
||||
|
||||
Charges
|
||||
|
||||
1 -0.300000
|
||||
2 0.000000
|
||||
3 0.000000
|
||||
4 0.000000
|
||||
5 0.000000
|
||||
6 0.000000
|
||||
7 0.000000
|
||||
8 0.000000
|
||||
9 0.000000
|
||||
10 0.300000
|
||||
11 0.000000
|
||||
12 0.000000
|
||||
13 0.000000
|
||||
14 0.000000
|
||||
15 0.000000
|
||||
16 0.000000
|
||||
17 0.000000
|
||||
18 0.000000
|
||||
|
||||
Coords
|
||||
|
||||
1 -4.922858 -0.946982 1.146055
|
||||
2 -5.047195 -0.935267 -0.358173
|
||||
3 -6.526281 -0.755366 -0.743523
|
||||
4 -5.282604 0.020447 1.552710
|
||||
5 -3.860697 -1.095850 1.428305
|
||||
6 -4.662382 -1.920900 -0.781524
|
||||
7 -4.433977 -0.072765 -0.784071
|
||||
8 -5.506279 0.202610 4.825816
|
||||
9 -4.449177 -0.844592 4.423366
|
||||
10 -4.103916 -0.749629 2.925195
|
||||
11 -3.376249 -1.886171 2.245643
|
||||
12 -4.493235 0.477214 2.137199
|
||||
13 -4.849053 -1.888877 4.663994
|
||||
14 -3.491823 -0.662913 5.018510
|
||||
15 -5.020777 1.189745 2.805427
|
||||
16 -3.964987 2.900602 -1.551341
|
||||
17 -4.460694 2.836102 0.668882
|
||||
18 -4.828494 3.219656 -0.122111
|
||||
|
||||
Bonds
|
||||
|
||||
1 12 1 2
|
||||
2 4 1 4
|
||||
3 4 1 5
|
||||
4 1 2 3
|
||||
5 2 2 6
|
||||
6 2 2 7
|
||||
7 1 3 16
|
||||
8 2 3 17
|
||||
9 2 3 18
|
||||
10 1 8 9
|
||||
11 6 9 10
|
||||
12 2 9 13
|
||||
13 2 9 14
|
||||
14 7 10 11
|
||||
15 5 10 12
|
||||
16 8 12 15
|
||||
|
||||
Angles
|
||||
|
||||
1 6 2 1 4
|
||||
2 6 2 1 5
|
||||
3 7 4 1 5
|
||||
4 24 1 2 3
|
||||
5 5 1 2 6
|
||||
6 5 1 2 7
|
||||
7 1 3 2 6
|
||||
8 1 3 2 7
|
||||
9 3 6 2 7
|
||||
10 2 2 3 16
|
||||
11 1 2 3 17
|
||||
12 1 2 3 18
|
||||
13 1 16 3 17
|
||||
14 1 16 3 18
|
||||
15 3 17 3 18
|
||||
16 12 8 9 10
|
||||
17 1 8 9 13
|
||||
18 1 8 9 14
|
||||
19 13 13 9 10
|
||||
20 13 14 9 10
|
||||
21 3 13 9 14
|
||||
22 10 9 10 11
|
||||
23 8 9 10 12
|
||||
24 21 11 10 12
|
||||
25 11 10 12 15
|
||||
|
||||
Dihedrals
|
||||
|
||||
1 31 4 1 2 3
|
||||
2 32 4 1 2 6
|
||||
3 32 4 1 2 7
|
||||
4 31 5 1 2 3
|
||||
5 32 5 1 2 6
|
||||
6 32 5 1 2 7
|
||||
7 33 1 2 3 16
|
||||
8 1 1 2 3 17
|
||||
9 1 1 2 3 18
|
||||
10 4 16 3 2 6
|
||||
11 2 6 2 3 17
|
||||
12 2 6 2 3 18
|
||||
13 4 16 3 2 7
|
||||
14 2 7 2 3 17
|
||||
15 2 7 2 3 18
|
||||
16 14 8 9 10 11
|
||||
17 12 8 9 10 12
|
||||
18 15 13 9 10 11
|
||||
19 13 13 9 10 12
|
||||
20 15 14 9 10 11
|
||||
21 13 14 9 10 12
|
||||
22 10 9 10 12 15
|
||||
23 11 11 10 12 15
|
||||
|
||||
Impropers
|
||||
|
||||
1 1 2 1 4 5
|
||||
2 9 9 10 11 12
|
||||
3 1 1 2 3 6
|
||||
4 1 1 2 3 7
|
||||
5 1 1 2 6 7
|
||||
6 1 3 2 6 7
|
||||
7 1 2 3 16 17
|
||||
8 1 2 3 16 18
|
||||
9 1 2 3 17 18
|
||||
10 1 16 3 17 18
|
||||
11 1 8 9 13 10
|
||||
12 1 8 9 14 10
|
||||
13 1 8 9 13 14
|
||||
14 1 13 9 14 10
|
||||
32
examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp2_map
Normal file
32
examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp2_map
Normal file
@ -0,0 +1,32 @@
|
||||
this is a nominal superimpose file
|
||||
|
||||
2 edgeIDs
|
||||
15 equivalences
|
||||
|
||||
BondingIDs
|
||||
|
||||
4
|
||||
12
|
||||
|
||||
EdgeIDs
|
||||
|
||||
8
|
||||
3
|
||||
|
||||
Equivalences
|
||||
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
@ -0,0 +1,131 @@
|
||||
this is a molecule template for: water condensation, post-reacting
|
||||
|
||||
15 atoms
|
||||
13 bonds
|
||||
19 angles
|
||||
16 dihedrals
|
||||
10 impropers
|
||||
|
||||
Types
|
||||
|
||||
1 9
|
||||
2 1
|
||||
3 1
|
||||
4 10
|
||||
5 4
|
||||
6 3
|
||||
7 3
|
||||
8 1
|
||||
9 1
|
||||
10 5
|
||||
11 8
|
||||
12 11
|
||||
13 3
|
||||
14 3
|
||||
15 10
|
||||
|
||||
Charges
|
||||
|
||||
1 -0.300000
|
||||
2 0.000000
|
||||
3 0.000000
|
||||
4 0.410000
|
||||
5 0.000000
|
||||
6 0.000000
|
||||
7 0.000000
|
||||
8 0.000000
|
||||
9 0.000000
|
||||
10 0.300000
|
||||
11 0.000000
|
||||
12 -0.820000
|
||||
13 0.000000
|
||||
14 0.000000
|
||||
15 0.410000
|
||||
|
||||
Coords
|
||||
|
||||
1 -4.856280 -1.050468 1.432625
|
||||
2 -5.047195 -0.935267 -0.358173
|
||||
3 -6.526281 -0.755366 -0.743523
|
||||
4 -5.282604 0.020447 1.552710
|
||||
5 -3.860697 -1.095850 1.428305
|
||||
6 -4.662382 -1.920900 -0.781524
|
||||
7 -4.433977 -0.072765 -0.784071
|
||||
8 -5.506279 0.202610 4.825816
|
||||
9 -4.449177 -0.844592 4.423366
|
||||
10 -4.103916 -0.749629 2.925195
|
||||
11 -3.376249 -1.886171 2.245643
|
||||
12 -4.493235 0.477214 2.137199
|
||||
13 -4.849053 -1.888877 4.663994
|
||||
14 -3.491823 -0.662913 5.018510
|
||||
15 -5.020777 1.189745 2.805427
|
||||
|
||||
Bonds
|
||||
|
||||
1 9 1 2
|
||||
2 10 1 5
|
||||
3 11 1 10
|
||||
4 1 2 3
|
||||
5 2 2 6
|
||||
6 2 2 7
|
||||
7 13 4 12
|
||||
8 1 8 9
|
||||
9 6 9 10
|
||||
10 2 9 13
|
||||
11 2 9 14
|
||||
12 7 10 11
|
||||
13 13 15 12
|
||||
|
||||
Angles
|
||||
|
||||
1 14 2 1 5
|
||||
2 15 2 1 10
|
||||
3 17 5 1 10
|
||||
4 18 1 2 3
|
||||
5 19 1 2 6
|
||||
6 19 1 2 7
|
||||
7 1 3 2 6
|
||||
8 1 3 2 7
|
||||
9 3 6 2 7
|
||||
10 12 8 9 10
|
||||
11 1 8 9 13
|
||||
12 1 8 9 14
|
||||
13 13 13 9 10
|
||||
14 13 14 9 10
|
||||
15 3 13 9 14
|
||||
16 10 9 10 11
|
||||
17 20 1 10 9
|
||||
18 22 1 10 11
|
||||
19 25 15 12 4
|
||||
|
||||
Dihedrals
|
||||
|
||||
1 16 5 1 2 3
|
||||
2 17 5 1 2 6
|
||||
3 17 5 1 2 7
|
||||
4 18 10 1 2 3
|
||||
5 19 10 1 2 6
|
||||
6 19 10 1 2 7
|
||||
7 20 2 1 10 9
|
||||
8 21 2 1 10 11
|
||||
9 23 5 1 10 9
|
||||
10 24 5 1 10 11
|
||||
11 14 8 9 10 11
|
||||
12 28 8 9 10 1
|
||||
13 15 13 9 10 11
|
||||
14 29 13 9 10 1
|
||||
15 15 14 9 10 11
|
||||
16 29 14 9 10 1
|
||||
|
||||
Impropers
|
||||
|
||||
1 10 2 1 5 10
|
||||
2 11 1 10 9 11
|
||||
3 1 1 2 3 6
|
||||
4 1 1 2 3 7
|
||||
5 1 1 2 6 7
|
||||
6 1 3 2 6 7
|
||||
7 1 8 9 13 10
|
||||
8 1 8 9 14 10
|
||||
9 1 8 9 13 14
|
||||
10 1 13 9 14 10
|
||||
@ -0,0 +1,158 @@
|
||||
this is a molecule template for: water condensation, pre-reacting
|
||||
|
||||
15 atoms
|
||||
14 bonds
|
||||
25 angles
|
||||
30 dihedrals
|
||||
16 impropers
|
||||
|
||||
Types
|
||||
|
||||
1 9
|
||||
2 1
|
||||
3 1
|
||||
4 4
|
||||
5 4
|
||||
6 3
|
||||
7 3
|
||||
8 1
|
||||
9 1
|
||||
10 5
|
||||
11 8
|
||||
12 6
|
||||
13 3
|
||||
14 3
|
||||
15 7
|
||||
|
||||
Charges
|
||||
|
||||
1 -0.300000
|
||||
2 0.000000
|
||||
3 0.000000
|
||||
4 0.000000
|
||||
5 0.000000
|
||||
6 0.000000
|
||||
7 0.000000
|
||||
8 0.000000
|
||||
9 0.000000
|
||||
10 0.300000
|
||||
11 0.000000
|
||||
12 0.000000
|
||||
13 0.000000
|
||||
14 0.000000
|
||||
15 0.000000
|
||||
|
||||
Coords
|
||||
|
||||
1 -4.922858 -0.946982 1.146055
|
||||
2 -5.047195 -0.935267 -0.358173
|
||||
3 -6.526281 -0.755366 -0.743523
|
||||
4 -5.282604 0.020447 1.552710
|
||||
5 -3.860697 -1.095850 1.428305
|
||||
6 -4.662382 -1.920900 -0.781524
|
||||
7 -4.433977 -0.072765 -0.784071
|
||||
8 -5.506279 0.202610 4.825816
|
||||
9 -4.449177 -0.844592 4.423366
|
||||
10 -4.103916 -0.749629 2.925195
|
||||
11 -3.376249 -1.886171 2.245643
|
||||
12 -4.493235 0.477214 2.137199
|
||||
13 -4.849053 -1.888877 4.663994
|
||||
14 -3.491823 -0.662913 5.018510
|
||||
15 -5.020777 1.189745 2.805427
|
||||
|
||||
Bonds
|
||||
|
||||
1 9 1 2
|
||||
2 10 1 4
|
||||
3 10 1 5
|
||||
4 11 1 10
|
||||
5 1 2 3
|
||||
6 2 2 6
|
||||
7 2 2 7
|
||||
8 1 8 9
|
||||
9 6 9 10
|
||||
10 2 9 13
|
||||
11 2 9 14
|
||||
12 7 10 11
|
||||
13 5 10 12
|
||||
14 8 12 15
|
||||
|
||||
Angles
|
||||
|
||||
1 14 2 1 4
|
||||
2 14 2 1 5
|
||||
3 15 2 1 10
|
||||
4 16 4 1 5
|
||||
5 17 4 1 10
|
||||
6 17 5 1 10
|
||||
7 18 1 2 3
|
||||
8 19 1 2 6
|
||||
9 19 1 2 7
|
||||
10 1 3 2 6
|
||||
11 1 3 2 7
|
||||
12 3 6 2 7
|
||||
13 12 8 9 10
|
||||
14 1 8 9 13
|
||||
15 1 8 9 14
|
||||
16 13 13 9 10
|
||||
17 13 14 9 10
|
||||
18 3 13 9 14
|
||||
19 10 9 10 11
|
||||
20 8 9 10 12
|
||||
21 20 1 10 9
|
||||
22 21 11 10 12
|
||||
23 22 1 10 11
|
||||
24 23 1 10 12
|
||||
25 11 10 12 15
|
||||
|
||||
Dihedrals
|
||||
|
||||
1 16 4 1 2 3
|
||||
2 17 4 1 2 6
|
||||
3 17 4 1 2 7
|
||||
4 16 5 1 2 3
|
||||
5 17 5 1 2 6
|
||||
6 17 5 1 2 7
|
||||
7 18 10 1 2 3
|
||||
8 19 10 1 2 6
|
||||
9 19 10 1 2 7
|
||||
10 20 2 1 10 9
|
||||
11 21 2 1 10 11
|
||||
12 22 2 1 10 12
|
||||
13 23 4 1 10 9
|
||||
14 24 4 1 10 11
|
||||
15 25 4 1 10 12
|
||||
16 23 5 1 10 9
|
||||
17 24 5 1 10 11
|
||||
18 25 5 1 10 12
|
||||
19 14 8 9 10 11
|
||||
20 12 8 9 10 12
|
||||
21 28 8 9 10 1
|
||||
22 15 13 9 10 11
|
||||
23 13 13 9 10 12
|
||||
24 29 13 9 10 1
|
||||
25 15 14 9 10 11
|
||||
26 13 14 9 10 12
|
||||
27 29 14 9 10 1
|
||||
28 10 9 10 12 15
|
||||
29 11 11 10 12 15
|
||||
30 30 1 10 12 15
|
||||
|
||||
Impropers
|
||||
|
||||
1 1 2 1 4 5
|
||||
2 1 2 1 4 10
|
||||
3 1 2 1 5 10
|
||||
4 1 4 1 5 10
|
||||
5 1 1 2 3 6
|
||||
6 1 1 2 3 7
|
||||
7 1 1 2 6 7
|
||||
8 1 3 2 6 7
|
||||
9 1 8 9 13 10
|
||||
10 1 8 9 14 10
|
||||
11 1 8 9 13 14
|
||||
12 1 13 9 14 10
|
||||
13 1 9 10 11 12
|
||||
14 1 1 10 9 11
|
||||
15 1 1 10 9 12
|
||||
16 1 1 10 11 12
|
||||
50
examples/USER/misc/bond_react/tiny_nylon/in.tiny_nylon
Normal file
50
examples/USER/misc/bond_react/tiny_nylon/in.tiny_nylon
Normal file
@ -0,0 +1,50 @@
|
||||
# two monomer nylon example
|
||||
# reaction produces a condensed water molecule
|
||||
|
||||
units real
|
||||
|
||||
boundary p p p
|
||||
|
||||
atom_style full
|
||||
|
||||
kspace_style pppm 1.0e-4
|
||||
|
||||
pair_style lj/class2/coul/long 8.5
|
||||
|
||||
angle_style class2
|
||||
|
||||
bond_style class2
|
||||
|
||||
dihedral_style class2
|
||||
|
||||
improper_style class2
|
||||
|
||||
read_data tiny_nylon.data
|
||||
|
||||
velocity all create 300.0 4928459 dist gaussian
|
||||
|
||||
molecule mol1 rxn1_stp1_unreacted.data_template
|
||||
molecule mol2 rxn1_stp1_reacted.data_template
|
||||
molecule mol3 rxn1_stp2_unreacted.data_template
|
||||
molecule mol4 rxn1_stp2_reacted.data_template
|
||||
|
||||
thermo 50
|
||||
|
||||
# dump 1 all xyz 1 test_vis.xyz
|
||||
|
||||
fix myrxns all bond/react stabilization yes statted_grp .03 &
|
||||
react rxn1 all 1 0.0 2.9 mol1 mol2 rxn1_stp1_map &
|
||||
react rxn2 all 1 0.0 5.0 mol3 mol4 rxn1_stp2_map
|
||||
|
||||
fix 1 statted_grp nvt temp 300 300 100
|
||||
|
||||
fix 4 bond_react_MASTER_group temp/rescale 1 300 300 10 1
|
||||
|
||||
thermo_style custom step temp press density f_myrxns[1] f_myrxns[2]
|
||||
|
||||
# restart 100 restart1 restart2
|
||||
|
||||
run 10000
|
||||
|
||||
# write_restart restart_longrun
|
||||
# write_data restart_longrun.data
|
||||
@ -0,0 +1,370 @@
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# two monomer nylon example
|
||||
# reaction produces a condensed water molecule
|
||||
|
||||
units real
|
||||
|
||||
boundary p p p
|
||||
|
||||
atom_style full
|
||||
|
||||
kspace_style pppm 1.0e-4
|
||||
|
||||
pair_style lj/class2/coul/long 8.5
|
||||
|
||||
angle_style class2
|
||||
|
||||
bond_style class2
|
||||
|
||||
dihedral_style class2
|
||||
|
||||
improper_style class2
|
||||
|
||||
read_data tiny_nylon.data
|
||||
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
44 atoms
|
||||
reading velocities ...
|
||||
44 velocities
|
||||
scanning bonds ...
|
||||
9 = max bonds/atom
|
||||
scanning angles ...
|
||||
21 = max angles/atom
|
||||
scanning dihedrals ...
|
||||
29 = max dihedrals/atom
|
||||
scanning impropers ...
|
||||
29 = max impropers/atom
|
||||
reading bonds ...
|
||||
42 bonds
|
||||
reading angles ...
|
||||
74 angles
|
||||
reading dihedrals ...
|
||||
100 dihedrals
|
||||
reading impropers ...
|
||||
44 impropers
|
||||
4 = max # of 1-2 neighbors
|
||||
6 = max # of 1-3 neighbors
|
||||
12 = max # of 1-4 neighbors
|
||||
41 = max # of special neighbors
|
||||
|
||||
velocity all create 300.0 4928459 dist gaussian
|
||||
|
||||
molecule mol1 rxn1_stp1_unreacted.data_template
|
||||
Read molecule mol1:
|
||||
18 atoms with max type 8
|
||||
16 bonds with max type 14
|
||||
25 angles with max type 28
|
||||
23 dihedrals with max type 36
|
||||
14 impropers with max type 11
|
||||
molecule mol2 rxn1_stp1_reacted.data_template
|
||||
Read molecule mol2:
|
||||
18 atoms with max type 9
|
||||
17 bonds with max type 13
|
||||
31 angles with max type 27
|
||||
39 dihedrals with max type 33
|
||||
20 impropers with max type 1
|
||||
molecule mol3 rxn1_stp2_unreacted.data_template
|
||||
Read molecule mol3:
|
||||
15 atoms with max type 9
|
||||
14 bonds with max type 13
|
||||
25 angles with max type 27
|
||||
30 dihedrals with max type 33
|
||||
16 impropers with max type 1
|
||||
molecule mol4 rxn1_stp2_reacted.data_template
|
||||
Read molecule mol4:
|
||||
15 atoms with max type 11
|
||||
13 bonds with max type 15
|
||||
19 angles with max type 29
|
||||
16 dihedrals with max type 32
|
||||
10 impropers with max type 13
|
||||
|
||||
thermo 50
|
||||
|
||||
# dump 1 all xyz 1 test_vis.xyz
|
||||
|
||||
fix myrxns all bond/react stabilization yes statted_grp .03 react rxn1 all 1 0.0 2.9 mol1 mol2 rxn1_stp1_map react rxn2 all 1 0.0 5.0 mol3 mol4 rxn1_stp2_map
|
||||
WARNING: An atom in 'react #1' changes bond connectivity but not atom type (../fix_bond_react.cpp:1489)
|
||||
WARNING: An atom in 'react #2' changes bond connectivity but not atom type (../fix_bond_react.cpp:1489)
|
||||
dynamic group bond_react_MASTER_group defined
|
||||
dynamic group statted_grp defined
|
||||
dynamic group bond_react_MASTER_group defined
|
||||
dynamic group statted_grp defined
|
||||
|
||||
fix 1 statted_grp nvt temp 300 300 100
|
||||
|
||||
fix 4 bond_react_MASTER_group temp/rescale 1 300 300 10 1
|
||||
|
||||
thermo_style custom step temp press density f_myrxns[1] f_myrxns[2]
|
||||
|
||||
# restart 100 restart1 restart2
|
||||
|
||||
run 10000
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:321)
|
||||
G vector (1/distance) = 0.0534597
|
||||
grid = 2 2 2
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0402256
|
||||
estimated relative force accuracy = 0.000121138
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 343 8
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 10.5
|
||||
ghost atom cutoff = 10.5
|
||||
binsize = 5.25, bins = 10 10 10
|
||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||
(1) pair lj/class2/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
(2) fix bond/react, occasional, copy from (1)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
WARNING: Inconsistent image flags (../domain.cpp:786)
|
||||
Per MPI rank memory allocation (min/avg/max) = 33.34 | 33.34 | 33.34 Mbytes
|
||||
Step Temp Press Density f_myrxns[1] f_myrxns[2]
|
||||
0 300 346.78165 0.0034851739 0 0
|
||||
50 296.70408 -51.30066 0.0034851739 1 0
|
||||
100 274.25324 46.715512 0.0034851739 1 1
|
||||
150 471.61579 31.321598 0.0034851739 1 1
|
||||
200 362.87766 42.061118 0.0034851739 1 1
|
||||
250 367.58058 65.303109 0.0034851739 1 1
|
||||
300 372.38236 -52.421725 0.0034851739 1 1
|
||||
350 297.69957 17.869945 0.0034851739 1 1
|
||||
400 258.30433 49.19156 0.0034851739 1 1
|
||||
450 253.34384 -5.8162637 0.0034851739 1 1
|
||||
500 269.96465 -43.337517 0.0034851739 1 1
|
||||
550 303.23718 10.180246 0.0034851739 1 1
|
||||
600 329.59579 -48.97461 0.0034851739 1 1
|
||||
650 350.42568 50.983183 0.0034851739 1 1
|
||||
700 342.03272 35.43465 0.0034851739 1 1
|
||||
750 269.23405 -41.873166 0.0034851739 1 1
|
||||
800 245.15025 13.953092 0.0034851739 1 1
|
||||
850 257.85421 -3.1492141 0.0034851739 1 1
|
||||
900 316.15644 7.7798301 0.0034851739 1 1
|
||||
950 299.9124 -15.77014 0.0034851739 1 1
|
||||
1000 302.89968 -17.049693 0.0034851739 1 1
|
||||
1050 308.91651 71.84632 0.0034851739 1 1
|
||||
1100 348.43932 -18.742012 0.0034851739 1 1
|
||||
1150 309.03036 50.536311 0.0034851739 1 1
|
||||
1200 318.9761 -16.905746 0.0034851739 1 1
|
||||
1250 320.42806 -0.057975092 0.0034851739 1 1
|
||||
1300 289.7824 18.200772 0.0034851739 1 1
|
||||
1350 284.79836 -9.1978427 0.0034851739 1 1
|
||||
1400 325.43292 42.082833 0.0034851739 1 1
|
||||
1450 261.5041 -37.823325 0.0034851739 1 1
|
||||
1500 298.88723 -5.1647385 0.0034851739 1 1
|
||||
1550 291.37403 -7.7764201 0.0034851739 1 1
|
||||
1600 293.83475 22.2458 0.0034851739 1 1
|
||||
1650 293.80611 24.202512 0.0034851739 1 1
|
||||
1700 291.70205 -23.397884 0.0034851739 1 1
|
||||
1750 292.32437 -10.671214 0.0034851739 1 1
|
||||
1800 302.01367 -11.671025 0.0034851739 1 1
|
||||
1850 322.1651 24.438331 0.0034851739 1 1
|
||||
1900 310.45076 45.343592 0.0034851739 1 1
|
||||
1950 325.91745 -19.847809 0.0034851739 1 1
|
||||
2000 276.89662 63.387098 0.0034851739 1 1
|
||||
2050 311.33783 -24.683247 0.0034851739 1 1
|
||||
2100 346.2336 -27.526891 0.0034851739 1 1
|
||||
2150 345.30604 -15.722411 0.0034851739 1 1
|
||||
2200 346.7718 -17.857633 0.0034851739 1 1
|
||||
2250 304.28676 -1.9965581 0.0034851739 1 1
|
||||
2300 322.56372 -31.786868 0.0034851739 1 1
|
||||
2350 282.64326 6.1982735 0.0034851739 1 1
|
||||
2400 286.65759 -63.207781 0.0034851739 1 1
|
||||
2450 257.05528 32.931491 0.0034851739 1 1
|
||||
2500 283.64386 26.912373 0.0034851739 1 1
|
||||
2550 299.54005 27.277039 0.0034851739 1 1
|
||||
2600 283.92503 14.660972 0.0034851739 1 1
|
||||
2650 321.93453 -18.977358 0.0034851739 1 1
|
||||
2700 376.7189 31.826935 0.0034851739 1 1
|
||||
2750 372.20075 -32.821697 0.0034851739 1 1
|
||||
2800 361.40604 83.035183 0.0034851739 1 1
|
||||
2850 332.27269 -23.927452 0.0034851739 1 1
|
||||
2900 331.14638 -0.12328446 0.0034851739 1 1
|
||||
2950 303.67489 -24.078857 0.0034851739 1 1
|
||||
3000 311.40462 21.563537 0.0034851739 1 1
|
||||
3050 284.72849 -23.849667 0.0034851739 1 1
|
||||
3100 303.48477 39.347763 0.0034851739 1 1
|
||||
3150 264.2739 -0.22299879 0.0034851739 1 1
|
||||
3200 300.03351 31.545323 0.0034851739 1 1
|
||||
3250 288.56663 5.7225228 0.0034851739 1 1
|
||||
3300 200.13238 -31.239655 0.0034851739 1 1
|
||||
3350 231.32512 16.631728 0.0034851739 1 1
|
||||
3400 260.57402 2.1717992 0.0034851739 1 1
|
||||
3450 301.47128 -42.210623 0.0034851739 1 1
|
||||
3500 321.77414 40.074365 0.0034851739 1 1
|
||||
3550 353.21858 28.387783 0.0034851739 1 1
|
||||
3600 331.45989 -57.800858 0.0034851739 1 1
|
||||
3650 303.88123 44.86596 0.0034851739 1 1
|
||||
3700 329.73833 -0.80615652 0.0034851739 1 1
|
||||
3750 297.55588 -0.49626039 0.0034851739 1 1
|
||||
3800 286.38794 -10.010003 0.0034851739 1 1
|
||||
3850 290.17417 -43.51187 0.0034851739 1 1
|
||||
3900 247.88933 51.23735 0.0034851739 1 1
|
||||
3950 332.31324 -18.194985 0.0034851739 1 1
|
||||
4000 325.56802 18.402825 0.0034851739 1 1
|
||||
4050 338.37593 36.430977 0.0034851739 1 1
|
||||
4100 370.95478 39.290285 0.0034851739 1 1
|
||||
4150 348.47859 -7.0779678 0.0034851739 1 1
|
||||
4200 241.30632 -33.371788 0.0034851739 1 1
|
||||
4250 242.17258 -9.986197 0.0034851739 1 1
|
||||
4300 300.85311 -7.9244294 0.0034851739 1 1
|
||||
4350 273.15684 -21.257283 0.0034851739 1 1
|
||||
4400 305.77463 -5.8720722 0.0034851739 1 1
|
||||
4450 314.97697 45.0373 0.0034851739 1 1
|
||||
4500 310.77723 16.958773 0.0034851739 1 1
|
||||
4550 302.1742 12.156862 0.0034851739 1 1
|
||||
4600 319.74799 6.84889 0.0034851739 1 1
|
||||
4650 270.86805 -13.767905 0.0034851739 1 1
|
||||
4700 249.81731 -31.197487 0.0034851739 1 1
|
||||
4750 285.86481 -9.8916364 0.0034851739 1 1
|
||||
4800 233.98321 7.1338571 0.0034851739 1 1
|
||||
4850 302.60551 49.262889 0.0034851739 1 1
|
||||
4900 316.55056 34.663247 0.0034851739 1 1
|
||||
4950 357.32741 11.583006 0.0034851739 1 1
|
||||
5000 400.21045 -8.1781061 0.0034851739 1 1
|
||||
5050 390.01845 -20.490275 0.0034851739 1 1
|
||||
5100 378.84247 -41.328757 0.0034851739 1 1
|
||||
5150 324.02038 -15.023862 0.0034851739 1 1
|
||||
5200 262.08429 10.937354 0.0034851739 1 1
|
||||
5250 255.75508 16.381455 0.0034851739 1 1
|
||||
5300 277.84989 40.68232 0.0034851739 1 1
|
||||
5350 302.92832 9.1989494 0.0034851739 1 1
|
||||
5400 283.7196 -1.6584671 0.0034851739 1 1
|
||||
5450 300.71266 -4.7030295 0.0034851739 1 1
|
||||
5500 343.5499 -0.30550044 0.0034851739 1 1
|
||||
5550 369.51271 21.691649 0.0034851739 1 1
|
||||
5600 372.69789 -38.67994 0.0034851739 1 1
|
||||
5650 327.41266 11.352137 0.0034851739 1 1
|
||||
5700 278.98614 -23.827304 0.0034851739 1 1
|
||||
5750 308.30054 -20.756187 0.0034851739 1 1
|
||||
5800 341.45594 28.058441 0.0034851739 1 1
|
||||
5850 322.97844 -10.731921 0.0034851739 1 1
|
||||
5900 304.53591 32.825279 0.0034851739 1 1
|
||||
5950 287.1752 -36.780091 0.0034851739 1 1
|
||||
6000 296.52681 18.781896 0.0034851739 1 1
|
||||
6050 314.25442 15.992829 0.0034851739 1 1
|
||||
6100 313.86576 3.4342714 0.0034851739 1 1
|
||||
6150 325.64196 32.392039 0.0034851739 1 1
|
||||
6200 367.42931 -27.160706 0.0034851739 1 1
|
||||
6250 369.30798 39.020934 0.0034851739 1 1
|
||||
6300 328.92285 -23.175157 0.0034851739 1 1
|
||||
6350 305.63077 4.9024453 0.0034851739 1 1
|
||||
6400 241.70341 -13.676629 0.0034851739 1 1
|
||||
6450 265.66717 2.40612 0.0034851739 1 1
|
||||
6500 249.36037 13.420255 0.0034851739 1 1
|
||||
6550 294.53814 10.853462 0.0034851739 1 1
|
||||
6600 308.2025 18.995308 0.0034851739 1 1
|
||||
6650 305.43797 -49.56785 0.0034851739 1 1
|
||||
6700 320.27344 11.336281 0.0034851739 1 1
|
||||
6750 321.78666 -23.463899 0.0034851739 1 1
|
||||
6800 303.40388 7.6224553 0.0034851739 1 1
|
||||
6850 297.18966 51.52256 0.0034851739 1 1
|
||||
6900 284.18909 -8.4947203 0.0034851739 1 1
|
||||
6950 331.03663 13.233655 0.0034851739 1 1
|
||||
7000 311.37928 -43.265479 0.0034851739 1 1
|
||||
7050 286.81661 -14.174683 0.0034851739 1 1
|
||||
7100 302.84119 12.048954 0.0034851739 1 1
|
||||
7150 297.19357 -43.111968 0.0034851739 1 1
|
||||
7200 332.47359 26.048249 0.0034851739 1 1
|
||||
7250 262.70677 41.176242 0.0034851739 1 1
|
||||
7300 250.61405 -23.413982 0.0034851739 1 1
|
||||
7350 296.91117 35.88133 0.0034851739 1 1
|
||||
7400 245.09229 -13.447194 0.0034851739 1 1
|
||||
7450 272.28131 -23.322585 0.0034851739 1 1
|
||||
7500 209.04985 13.871239 0.0034851739 1 1
|
||||
7550 255.00955 4.9325621 0.0034851739 1 1
|
||||
7600 312.30937 -37.368274 0.0034851739 1 1
|
||||
7650 305.65903 55.245496 0.0034851739 1 1
|
||||
7700 325.09504 -18.347711 0.0034851739 1 1
|
||||
7750 363.28282 -22.479686 0.0034851739 1 1
|
||||
7800 350.17429 26.849547 0.0034851739 1 1
|
||||
7850 271.70853 -17.764575 0.0034851739 1 1
|
||||
7900 272.66484 -11.701967 0.0034851739 1 1
|
||||
7950 298.60202 -12.765675 0.0034851739 1 1
|
||||
8000 274.58852 49.641532 0.0034851739 1 1
|
||||
8050 304.72347 -0.55414183 0.0034851739 1 1
|
||||
8100 328.30757 -39.861301 0.0034851739 1 1
|
||||
8150 406.67601 2.8999409 0.0034851739 1 1
|
||||
8200 332.20083 -51.217399 0.0034851739 1 1
|
||||
8250 354.50609 53.128769 0.0034851739 1 1
|
||||
8300 337.2758 20.68562 0.0034851739 1 1
|
||||
8350 361.89708 -54.185869 0.0034851739 1 1
|
||||
8400 305.63496 24.058529 0.0034851739 1 1
|
||||
8450 303.27461 4.304683 0.0034851739 1 1
|
||||
8500 253.53694 -10.909021 0.0034851739 1 1
|
||||
8550 277.03017 23.241479 0.0034851739 1 1
|
||||
8600 291.41844 -22.240665 0.0034851739 1 1
|
||||
8650 307.85368 31.919587 0.0034851739 1 1
|
||||
8700 309.19724 0.53529642 0.0034851739 1 1
|
||||
8750 354.6583 11.565515 0.0034851739 1 1
|
||||
8800 329.78598 19.5996 0.0034851739 1 1
|
||||
8850 240.79198 21.803515 0.0034851739 1 1
|
||||
8900 318.40749 -59.816923 0.0034851739 1 1
|
||||
8950 308.47211 -57.808635 0.0034851739 1 1
|
||||
9000 271.51207 50.943482 0.0034851739 1 1
|
||||
9050 249.4005 6.7529187 0.0034851739 1 1
|
||||
9100 221.8772 47.196092 0.0034851739 1 1
|
||||
9150 297.9351 4.0058184 0.0034851739 1 1
|
||||
9200 274.85051 -24.774393 0.0034851739 1 1
|
||||
9250 336.04757 5.3799028 0.0034851739 1 1
|
||||
9300 380.44956 -22.389381 0.0034851739 1 1
|
||||
9350 336.9824 23.050616 0.0034851739 1 1
|
||||
9400 304.46425 32.530218 0.0034851739 1 1
|
||||
9450 317.55591 -22.265425 0.0034851739 1 1
|
||||
9500 323.70901 -7.0159787 0.0034851739 1 1
|
||||
9550 316.07308 28.062131 0.0034851739 1 1
|
||||
9600 262.74608 -0.78519192 0.0034851739 1 1
|
||||
9650 271.55045 -21.430123 0.0034851739 1 1
|
||||
9700 239.6022 14.483637 0.0034851739 1 1
|
||||
9750 338.1437 -0.72765302 0.0034851739 1 1
|
||||
9800 334.50189 19.495144 0.0034851739 1 1
|
||||
9850 354.87554 19.272719 0.0034851739 1 1
|
||||
9900 334.02141 -22.393457 0.0034851739 1 1
|
||||
9950 293.63651 19.178873 0.0034851739 1 1
|
||||
10000 319.81736 21.904414 0.0034851739 1 1
|
||||
Loop time of 1.84987 on 1 procs for 10000 steps with 44 atoms
|
||||
|
||||
Performance: 467.059 ns/day, 0.051 hours/ns, 5405.774 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.26152 | 0.26152 | 0.26152 | 0.0 | 14.14
|
||||
Bond | 0.74069 | 0.74069 | 0.74069 | 0.0 | 40.04
|
||||
Kspace | 0.30505 | 0.30505 | 0.30505 | 0.0 | 16.49
|
||||
Neigh | 0.39991 | 0.39991 | 0.39991 | 0.0 | 21.62
|
||||
Comm | 0.02261 | 0.02261 | 0.02261 | 0.0 | 1.22
|
||||
Output | 0.0034585 | 0.0034585 | 0.0034585 | 0.0 | 0.19
|
||||
Modify | 0.099979 | 0.099979 | 0.099979 | 0.0 | 5.40
|
||||
Other | | 0.01666 | | | 0.90
|
||||
|
||||
Nlocal: 44 ave 44 max 44 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 44 ave 44 max 44 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 823 ave 823 max 823 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 823
|
||||
Ave neighs/atom = 18.7045
|
||||
Ave special neighs/atom = 9.77273
|
||||
Neighbor list builds = 10000
|
||||
Dangerous builds = 0
|
||||
|
||||
# write_restart restart_longrun
|
||||
# write_data restart_longrun.data
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:01
|
||||
@ -0,0 +1,370 @@
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# two monomer nylon example
|
||||
# reaction produces a condensed water molecule
|
||||
|
||||
units real
|
||||
|
||||
boundary p p p
|
||||
|
||||
atom_style full
|
||||
|
||||
kspace_style pppm 1.0e-4
|
||||
|
||||
pair_style lj/class2/coul/long 8.5
|
||||
|
||||
angle_style class2
|
||||
|
||||
bond_style class2
|
||||
|
||||
dihedral_style class2
|
||||
|
||||
improper_style class2
|
||||
|
||||
read_data tiny_nylon.data
|
||||
orthogonal box = (-25 -25 -25) to (25 25 25)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
44 atoms
|
||||
reading velocities ...
|
||||
44 velocities
|
||||
scanning bonds ...
|
||||
9 = max bonds/atom
|
||||
scanning angles ...
|
||||
21 = max angles/atom
|
||||
scanning dihedrals ...
|
||||
29 = max dihedrals/atom
|
||||
scanning impropers ...
|
||||
29 = max impropers/atom
|
||||
reading bonds ...
|
||||
42 bonds
|
||||
reading angles ...
|
||||
74 angles
|
||||
reading dihedrals ...
|
||||
100 dihedrals
|
||||
reading impropers ...
|
||||
44 impropers
|
||||
4 = max # of 1-2 neighbors
|
||||
6 = max # of 1-3 neighbors
|
||||
12 = max # of 1-4 neighbors
|
||||
41 = max # of special neighbors
|
||||
|
||||
velocity all create 300.0 4928459 dist gaussian
|
||||
|
||||
molecule mol1 rxn1_stp1_unreacted.data_template
|
||||
Read molecule mol1:
|
||||
18 atoms with max type 8
|
||||
16 bonds with max type 14
|
||||
25 angles with max type 28
|
||||
23 dihedrals with max type 36
|
||||
14 impropers with max type 11
|
||||
molecule mol2 rxn1_stp1_reacted.data_template
|
||||
Read molecule mol2:
|
||||
18 atoms with max type 9
|
||||
17 bonds with max type 13
|
||||
31 angles with max type 27
|
||||
39 dihedrals with max type 33
|
||||
20 impropers with max type 1
|
||||
molecule mol3 rxn1_stp2_unreacted.data_template
|
||||
Read molecule mol3:
|
||||
15 atoms with max type 9
|
||||
14 bonds with max type 13
|
||||
25 angles with max type 27
|
||||
30 dihedrals with max type 33
|
||||
16 impropers with max type 1
|
||||
molecule mol4 rxn1_stp2_reacted.data_template
|
||||
Read molecule mol4:
|
||||
15 atoms with max type 11
|
||||
13 bonds with max type 15
|
||||
19 angles with max type 29
|
||||
16 dihedrals with max type 32
|
||||
10 impropers with max type 13
|
||||
|
||||
thermo 50
|
||||
|
||||
# dump 1 all xyz 1 test_vis.xyz
|
||||
|
||||
fix myrxns all bond/react stabilization yes statted_grp .03 react rxn1 all 1 0.0 2.9 mol1 mol2 rxn1_stp1_map react rxn2 all 1 0.0 5.0 mol3 mol4 rxn1_stp2_map
|
||||
WARNING: An atom in 'react #1' changes bond connectivity but not atom type (../fix_bond_react.cpp:1489)
|
||||
WARNING: An atom in 'react #2' changes bond connectivity but not atom type (../fix_bond_react.cpp:1489)
|
||||
dynamic group bond_react_MASTER_group defined
|
||||
dynamic group statted_grp defined
|
||||
dynamic group bond_react_MASTER_group defined
|
||||
dynamic group statted_grp defined
|
||||
|
||||
fix 1 statted_grp nvt temp 300 300 100
|
||||
|
||||
fix 4 bond_react_MASTER_group temp/rescale 1 300 300 10 1
|
||||
|
||||
thermo_style custom step temp press density f_myrxns[1] f_myrxns[2]
|
||||
|
||||
# restart 100 restart1 restart2
|
||||
|
||||
run 10000
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:321)
|
||||
G vector (1/distance) = 0.0534597
|
||||
grid = 2 2 2
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0402256
|
||||
estimated relative force accuracy = 0.000121138
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 252 2
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 10.5
|
||||
ghost atom cutoff = 10.5
|
||||
binsize = 5.25, bins = 10 10 10
|
||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||
(1) pair lj/class2/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
(2) fix bond/react, occasional, copy from (1)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
WARNING: Inconsistent image flags (../domain.cpp:786)
|
||||
Per MPI rank memory allocation (min/avg/max) = 33.34 | 33.69 | 34.37 Mbytes
|
||||
Step Temp Press Density f_myrxns[1] f_myrxns[2]
|
||||
0 300 346.78165 0.0034851739 0 0
|
||||
50 296.70408 -51.30066 0.0034851739 1 0
|
||||
100 274.25324 46.715512 0.0034851739 1 1
|
||||
150 471.61579 31.321598 0.0034851739 1 1
|
||||
200 362.87766 42.061118 0.0034851739 1 1
|
||||
250 367.58058 65.303109 0.0034851739 1 1
|
||||
300 372.38236 -52.421725 0.0034851739 1 1
|
||||
350 297.69957 17.869945 0.0034851739 1 1
|
||||
400 258.30433 49.19156 0.0034851739 1 1
|
||||
450 253.34384 -5.8162637 0.0034851739 1 1
|
||||
500 269.96465 -43.337517 0.0034851739 1 1
|
||||
550 303.23718 10.180246 0.0034851739 1 1
|
||||
600 329.59579 -48.97461 0.0034851739 1 1
|
||||
650 350.42568 50.983183 0.0034851739 1 1
|
||||
700 342.03272 35.43465 0.0034851739 1 1
|
||||
750 269.23405 -41.873166 0.0034851739 1 1
|
||||
800 245.15025 13.953092 0.0034851739 1 1
|
||||
850 257.85421 -3.1492141 0.0034851739 1 1
|
||||
900 316.15644 7.7798301 0.0034851739 1 1
|
||||
950 299.9124 -15.77014 0.0034851739 1 1
|
||||
1000 302.89968 -17.049693 0.0034851739 1 1
|
||||
1050 308.91651 71.84632 0.0034851739 1 1
|
||||
1100 348.43932 -18.742012 0.0034851739 1 1
|
||||
1150 309.03036 50.536311 0.0034851739 1 1
|
||||
1200 318.9761 -16.905746 0.0034851739 1 1
|
||||
1250 320.42806 -0.057975092 0.0034851739 1 1
|
||||
1300 289.7824 18.200772 0.0034851739 1 1
|
||||
1350 284.79836 -9.1978427 0.0034851739 1 1
|
||||
1400 325.43292 42.082833 0.0034851739 1 1
|
||||
1450 261.5041 -37.823325 0.0034851739 1 1
|
||||
1500 298.88723 -5.1647385 0.0034851739 1 1
|
||||
1550 291.37403 -7.7764201 0.0034851739 1 1
|
||||
1600 293.83475 22.2458 0.0034851739 1 1
|
||||
1650 293.80611 24.202512 0.0034851739 1 1
|
||||
1700 291.70205 -23.397884 0.0034851739 1 1
|
||||
1750 292.32437 -10.671214 0.0034851739 1 1
|
||||
1800 302.01367 -11.671025 0.0034851739 1 1
|
||||
1850 322.1651 24.438331 0.0034851739 1 1
|
||||
1900 310.45076 45.343592 0.0034851739 1 1
|
||||
1950 325.91745 -19.847809 0.0034851739 1 1
|
||||
2000 276.89662 63.387098 0.0034851739 1 1
|
||||
2050 311.33783 -24.683247 0.0034851739 1 1
|
||||
2100 346.2336 -27.526891 0.0034851739 1 1
|
||||
2150 345.30604 -15.722411 0.0034851739 1 1
|
||||
2200 346.7718 -17.857633 0.0034851739 1 1
|
||||
2250 304.28676 -1.9965581 0.0034851739 1 1
|
||||
2300 322.56372 -31.786868 0.0034851739 1 1
|
||||
2350 282.64326 6.1982735 0.0034851739 1 1
|
||||
2400 286.65759 -63.207781 0.0034851739 1 1
|
||||
2450 257.05528 32.931491 0.0034851739 1 1
|
||||
2500 283.64386 26.912373 0.0034851739 1 1
|
||||
2550 299.54005 27.277039 0.0034851739 1 1
|
||||
2600 283.92503 14.660972 0.0034851739 1 1
|
||||
2650 321.93453 -18.977358 0.0034851739 1 1
|
||||
2700 376.7189 31.826935 0.0034851739 1 1
|
||||
2750 372.20075 -32.821697 0.0034851739 1 1
|
||||
2800 361.40604 83.035183 0.0034851739 1 1
|
||||
2850 332.27269 -23.927452 0.0034851739 1 1
|
||||
2900 331.14638 -0.12328446 0.0034851739 1 1
|
||||
2950 303.67489 -24.078857 0.0034851739 1 1
|
||||
3000 311.40462 21.563537 0.0034851739 1 1
|
||||
3050 284.72849 -23.849667 0.0034851739 1 1
|
||||
3100 303.48477 39.347763 0.0034851739 1 1
|
||||
3150 264.2739 -0.22299878 0.0034851739 1 1
|
||||
3200 300.03351 31.545323 0.0034851739 1 1
|
||||
3250 288.56663 5.7225229 0.0034851739 1 1
|
||||
3300 200.13238 -31.239655 0.0034851739 1 1
|
||||
3350 231.32512 16.631728 0.0034851739 1 1
|
||||
3400 260.57402 2.1717992 0.0034851739 1 1
|
||||
3450 301.47128 -42.210623 0.0034851739 1 1
|
||||
3500 321.77414 40.074365 0.0034851739 1 1
|
||||
3550 353.21858 28.387783 0.0034851739 1 1
|
||||
3600 331.45989 -57.800858 0.0034851739 1 1
|
||||
3650 303.88123 44.86596 0.0034851739 1 1
|
||||
3700 329.73833 -0.8061567 0.0034851739 1 1
|
||||
3750 297.55588 -0.49626022 0.0034851739 1 1
|
||||
3800 286.38794 -10.010003 0.0034851739 1 1
|
||||
3850 290.17417 -43.51187 0.0034851739 1 1
|
||||
3900 247.88933 51.23735 0.0034851739 1 1
|
||||
3950 332.31324 -18.194985 0.0034851739 1 1
|
||||
4000 325.56802 18.402825 0.0034851739 1 1
|
||||
4050 338.37594 36.430977 0.0034851739 1 1
|
||||
4100 370.95478 39.290285 0.0034851739 1 1
|
||||
4150 348.47859 -7.0779683 0.0034851739 1 1
|
||||
4200 241.30632 -33.371789 0.0034851739 1 1
|
||||
4250 242.17258 -9.9861962 0.0034851739 1 1
|
||||
4300 300.85311 -7.924429 0.0034851739 1 1
|
||||
4350 273.15684 -21.257282 0.0034851739 1 1
|
||||
4400 305.77464 -5.8720712 0.0034851739 1 1
|
||||
4450 314.97697 45.037299 0.0034851739 1 1
|
||||
4500 310.77723 16.958771 0.0034851739 1 1
|
||||
4550 302.17421 12.156862 0.0034851739 1 1
|
||||
4600 319.74799 6.8488914 0.0034851739 1 1
|
||||
4650 270.86805 -13.767907 0.0034851739 1 1
|
||||
4700 249.81731 -31.197484 0.0034851739 1 1
|
||||
4750 285.86481 -9.8916332 0.0034851739 1 1
|
||||
4800 233.98321 7.1338518 0.0034851739 1 1
|
||||
4850 302.60551 49.262886 0.0034851739 1 1
|
||||
4900 316.55055 34.663238 0.0034851739 1 1
|
||||
4950 357.32741 11.583013 0.0034851739 1 1
|
||||
5000 400.21044 -8.1780861 0.0034851739 1 1
|
||||
5050 390.01845 -20.490268 0.0034851739 1 1
|
||||
5100 378.84249 -41.328772 0.0034851739 1 1
|
||||
5150 324.02039 -15.023852 0.0034851739 1 1
|
||||
5200 262.08427 10.937367 0.0034851739 1 1
|
||||
5250 255.75506 16.381495 0.0034851739 1 1
|
||||
5300 277.84991 40.682283 0.0034851739 1 1
|
||||
5350 302.92834 9.1989644 0.0034851739 1 1
|
||||
5400 283.71964 -1.6583895 0.0034851739 1 1
|
||||
5450 300.71261 -4.703054 0.0034851739 1 1
|
||||
5500 343.54987 -0.30546396 0.0034851739 1 1
|
||||
5550 369.51272 21.691639 0.0034851739 1 1
|
||||
5600 372.69786 -38.679919 0.0034851739 1 1
|
||||
5650 327.41256 11.352201 0.0034851739 1 1
|
||||
5700 278.9861 -23.82728 0.0034851739 1 1
|
||||
5750 308.30037 -20.756238 0.0034851739 1 1
|
||||
5800 341.4559 28.058314 0.0034851739 1 1
|
||||
5850 322.9786 -10.731862 0.0034851739 1 1
|
||||
5900 304.53598 32.825105 0.0034851739 1 1
|
||||
5950 287.17515 -36.780057 0.0034851739 1 1
|
||||
6000 296.52688 18.782156 0.0034851739 1 1
|
||||
6050 314.25411 15.99272 0.0034851739 1 1
|
||||
6100 313.86572 3.4344108 0.0034851739 1 1
|
||||
6150 325.64197 32.39212 0.0034851739 1 1
|
||||
6200 367.4298 -27.161154 0.0034851739 1 1
|
||||
6250 369.30937 39.020881 0.0034851739 1 1
|
||||
6300 328.92245 -23.175612 0.0034851739 1 1
|
||||
6350 305.6293 4.9011587 0.0034851739 1 1
|
||||
6400 241.70456 -13.675247 0.0034851739 1 1
|
||||
6450 265.66574 2.4049735 0.0034851739 1 1
|
||||
6500 249.3592 13.420453 0.0034851739 1 1
|
||||
6550 294.5367 10.856753 0.0034851739 1 1
|
||||
6600 308.20246 18.992923 0.0034851739 1 1
|
||||
6650 305.43756 -49.57151 0.0034851739 1 1
|
||||
6700 320.27395 11.339101 0.0034851739 1 1
|
||||
6750 321.7875 -23.463361 0.0034851739 1 1
|
||||
6800 303.40316 7.6256997 0.0034851739 1 1
|
||||
6850 297.18652 51.52186 0.0034851739 1 1
|
||||
6900 284.19084 -8.496294 0.0034851739 1 1
|
||||
6950 331.04173 13.227745 0.0034851739 1 1
|
||||
7000 311.38027 -43.26105 0.0034851739 1 1
|
||||
7050 286.82046 -14.171194 0.0034851739 1 1
|
||||
7100 302.81691 12.058085 0.0034851739 1 1
|
||||
7150 297.18018 -43.110658 0.0034851739 1 1
|
||||
7200 332.46131 26.051496 0.0034851739 1 1
|
||||
7250 262.72288 41.161451 0.0034851739 1 1
|
||||
7300 250.62739 -23.440907 0.0034851739 1 1
|
||||
7350 296.92141 35.869216 0.0034851739 1 1
|
||||
7400 245.06807 -13.467896 0.0034851739 1 1
|
||||
7450 272.2659 -23.292836 0.0034851739 1 1
|
||||
7500 209.05776 13.888665 0.0034851739 1 1
|
||||
7550 255.03716 4.9662624 0.0034851739 1 1
|
||||
7600 312.26011 -37.350427 0.0034851739 1 1
|
||||
7650 305.5823 55.208039 0.0034851739 1 1
|
||||
7700 325.13382 -18.370791 0.0034851739 1 1
|
||||
7750 363.24898 -22.473126 0.0034851739 1 1
|
||||
7800 350.19254 26.792307 0.0034851739 1 1
|
||||
7850 271.76418 -17.843445 0.0034851739 1 1
|
||||
7900 272.70301 -11.709349 0.0034851739 1 1
|
||||
7950 298.5993 -12.736235 0.0034851739 1 1
|
||||
8000 274.52611 49.657345 0.0034851739 1 1
|
||||
8050 304.73711 -0.52485689 0.0034851739 1 1
|
||||
8100 328.29239 -39.901891 0.0034851739 1 1
|
||||
8150 406.52096 2.8669076 0.0034851739 1 1
|
||||
8200 332.17309 -51.168754 0.0034851739 1 1
|
||||
8250 354.68419 53.003157 0.0034851739 1 1
|
||||
8300 337.28934 20.766408 0.0034851739 1 1
|
||||
8350 361.81133 -54.159227 0.0034851739 1 1
|
||||
8400 305.59597 24.011667 0.0034851739 1 1
|
||||
8450 303.25823 4.423341 0.0034851739 1 1
|
||||
8500 253.50747 -11.026949 0.0034851739 1 1
|
||||
8550 277.13504 23.204625 0.0034851739 1 1
|
||||
8600 291.40211 -22.253861 0.0034851739 1 1
|
||||
8650 307.93765 32.14162 0.0034851739 1 1
|
||||
8700 309.1529 0.36279434 0.0034851739 1 1
|
||||
8750 355.10326 11.677219 0.0034851739 1 1
|
||||
8800 330.21328 19.235269 0.0034851739 1 1
|
||||
8850 241.29109 21.707386 0.0034851739 1 1
|
||||
8900 319.15363 -60.010115 0.0034851739 1 1
|
||||
8950 308.88552 -57.637014 0.0034851739 1 1
|
||||
9000 272.22373 51.15837 0.0034851739 1 1
|
||||
9050 248.84947 7.3390565 0.0034851739 1 1
|
||||
9100 221.91564 48.387079 0.0034851739 1 1
|
||||
9150 298.03506 2.9058639 0.0034851739 1 1
|
||||
9200 274.25114 -24.597819 0.0034851739 1 1
|
||||
9250 334.08373 5.1079577 0.0034851739 1 1
|
||||
9300 383.07285 -23.274763 0.0034851739 1 1
|
||||
9350 335.00581 20.94212 0.0034851739 1 1
|
||||
9400 309.23862 34.074744 0.0034851739 1 1
|
||||
9450 312.62262 -28.468057 0.0034851739 1 1
|
||||
9500 324.54274 2.851136 0.0034851739 1 1
|
||||
9550 313.32781 22.468182 0.0034851739 1 1
|
||||
9600 269.04372 4.064934 0.0034851739 1 1
|
||||
9650 270.98476 -21.520127 0.0034851739 1 1
|
||||
9700 236.8736 16.250728 0.0034851739 1 1
|
||||
9750 333.94686 1.6864148 0.0034851739 1 1
|
||||
9800 330.91875 12.150018 0.0034851739 1 1
|
||||
9850 343.8603 25.338853 0.0034851739 1 1
|
||||
9900 330.93364 -28.292992 0.0034851739 1 1
|
||||
9950 291.25518 25.795948 0.0034851739 1 1
|
||||
10000 319.25565 25.323846 0.0034851739 1 1
|
||||
Loop time of 3.55353 on 4 procs for 10000 steps with 44 atoms
|
||||
|
||||
Performance: 243.139 ns/day, 0.099 hours/ns, 2814.105 timesteps/s
|
||||
93.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0030422 | 0.10454 | 0.35211 | 44.8 | 2.94
|
||||
Bond | 0.0063896 | 0.29222 | 0.94356 | 71.3 | 8.22
|
||||
Kspace | 0.88508 | 1.6486 | 1.979 | 35.1 | 46.39
|
||||
Neigh | 0.61154 | 0.62212 | 0.63307 | 1.0 | 17.51
|
||||
Comm | 0.18944 | 0.24549 | 0.29196 | 7.9 | 6.91
|
||||
Output | 0.0050066 | 0.011804 | 0.032134 | 10.8 | 0.33
|
||||
Modify | 0.52282 | 0.60522 | 0.69588 | 7.9 | 17.03
|
||||
Other | | 0.02359 | | | 0.66
|
||||
|
||||
Nlocal: 11 ave 44 max 0 min
|
||||
Histogram: 3 0 0 0 0 0 0 0 0 1
|
||||
Nghost: 33 ave 44 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 3
|
||||
Neighs: 205.75 ave 823 max 0 min
|
||||
Histogram: 3 0 0 0 0 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 823
|
||||
Ave neighs/atom = 18.7045
|
||||
Ave special neighs/atom = 9.77273
|
||||
Neighbor list builds = 10000
|
||||
Dangerous builds = 0
|
||||
|
||||
# write_restart restart_longrun
|
||||
# write_data restart_longrun.data
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:03
|
||||
35
examples/USER/misc/bond_react/tiny_nylon/rxn1_stp1_map
Normal file
35
examples/USER/misc/bond_react/tiny_nylon/rxn1_stp1_map
Normal file
@ -0,0 +1,35 @@
|
||||
this is a nominal superimpose file
|
||||
|
||||
2 edgeIDs
|
||||
18 equivalences
|
||||
|
||||
BondingIDs
|
||||
|
||||
10
|
||||
1
|
||||
|
||||
EdgeIDs
|
||||
|
||||
16
|
||||
8
|
||||
|
||||
Equivalences
|
||||
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
@ -0,0 +1,189 @@
|
||||
this is a molecule template for: initial nylon crosslink, post-reacting
|
||||
|
||||
18 atoms
|
||||
17 bonds
|
||||
31 angles
|
||||
39 dihedrals
|
||||
20 impropers
|
||||
|
||||
Types
|
||||
|
||||
1 9
|
||||
2 1
|
||||
3 1
|
||||
4 8
|
||||
5 8
|
||||
6 4
|
||||
7 4
|
||||
8 1
|
||||
9 1
|
||||
10 2
|
||||
11 6
|
||||
12 3
|
||||
13 4
|
||||
14 4
|
||||
15 5
|
||||
16 1
|
||||
17 4
|
||||
18 4
|
||||
|
||||
Charges
|
||||
|
||||
1 -0.300000
|
||||
2 0.000000
|
||||
3 0.000000
|
||||
4 0.000000
|
||||
5 0.000000
|
||||
6 0.000000
|
||||
7 0.000000
|
||||
8 0.000000
|
||||
9 0.000000
|
||||
10 0.300000
|
||||
11 0.000000
|
||||
12 0.000000
|
||||
13 0.000000
|
||||
14 0.000000
|
||||
15 0.000000
|
||||
16 0.000000
|
||||
17 0.000000
|
||||
18 0.000000
|
||||
|
||||
Coords
|
||||
|
||||
1 -5.522237 -0.752722 1.631158
|
||||
2 -5.170398 -0.545733 0.178130
|
||||
3 -6.469695 -0.553072 -0.648889
|
||||
4 -6.052076 -1.721152 1.744648
|
||||
5 -6.183059 0.071387 1.971497
|
||||
6 -4.489340 -1.389197 -0.173156
|
||||
7 -4.637591 0.453703 0.051252
|
||||
8 -5.618658 0.138919 4.386107
|
||||
9 -4.669492 -0.989819 3.943591
|
||||
10 -4.270194 -0.766405 2.474102
|
||||
11 -3.348470 -1.875393 2.024289
|
||||
12 -3.569794 0.564183 2.345995
|
||||
13 -5.201079 -1.993301 4.044219
|
||||
14 -3.736682 -0.984819 4.598305
|
||||
15 -4.255402 1.370923 2.679069
|
||||
16 -6.136394 -0.339866 -2.136775
|
||||
17 -6.996331 -1.555519 -0.517408
|
||||
18 -7.153308 0.284949 -0.289930
|
||||
|
||||
Bonds
|
||||
|
||||
1 11 1 2
|
||||
2 12 1 4
|
||||
3 12 1 5
|
||||
4 13 1 10
|
||||
5 2 2 3
|
||||
6 1 2 6
|
||||
7 1 2 7
|
||||
8 2 3 16
|
||||
9 1 3 17
|
||||
10 1 3 18
|
||||
11 2 8 9
|
||||
12 4 9 10
|
||||
13 1 9 13
|
||||
14 1 9 14
|
||||
15 5 10 11
|
||||
16 3 10 12
|
||||
17 6 12 15
|
||||
|
||||
Angles
|
||||
|
||||
1 17 2 1 4
|
||||
2 17 2 1 5
|
||||
3 18 2 1 10
|
||||
4 19 4 1 5
|
||||
5 20 4 1 10
|
||||
6 20 5 1 10
|
||||
7 21 1 2 3
|
||||
8 22 1 2 6
|
||||
9 22 1 2 7
|
||||
10 2 3 2 6
|
||||
11 2 3 2 7
|
||||
12 1 6 2 7
|
||||
13 3 2 3 16
|
||||
14 2 2 3 17
|
||||
15 2 2 3 18
|
||||
16 2 16 3 17
|
||||
17 2 16 3 18
|
||||
18 1 17 3 18
|
||||
19 8 8 9 10
|
||||
20 2 8 9 13
|
||||
21 2 8 9 14
|
||||
22 23 13 9 10
|
||||
23 23 14 9 10
|
||||
24 1 13 9 14
|
||||
25 6 9 10 11
|
||||
26 4 9 10 12
|
||||
27 24 1 10 9
|
||||
28 25 11 10 12
|
||||
29 26 1 10 11
|
||||
30 27 1 10 12
|
||||
31 7 10 12 15
|
||||
|
||||
Dihedrals
|
||||
|
||||
1 19 4 1 2 3
|
||||
2 20 4 1 2 6
|
||||
3 20 4 1 2 7
|
||||
4 19 5 1 2 3
|
||||
5 20 5 1 2 6
|
||||
6 20 5 1 2 7
|
||||
7 21 10 1 2 3
|
||||
8 22 10 1 2 6
|
||||
9 22 10 1 2 7
|
||||
10 23 2 1 10 9
|
||||
11 24 2 1 10 11
|
||||
12 25 2 1 10 12
|
||||
13 26 4 1 10 9
|
||||
14 27 4 1 10 11
|
||||
15 28 4 1 10 12
|
||||
16 26 5 1 10 9
|
||||
17 27 5 1 10 11
|
||||
18 28 5 1 10 12
|
||||
19 29 1 2 3 16
|
||||
20 30 1 2 3 17
|
||||
21 30 1 2 3 18
|
||||
22 4 16 3 2 6
|
||||
23 2 6 2 3 17
|
||||
24 2 6 2 3 18
|
||||
25 4 16 3 2 7
|
||||
26 2 7 2 3 17
|
||||
27 2 7 2 3 18
|
||||
28 10 8 9 10 11
|
||||
29 8 8 9 10 12
|
||||
30 31 8 9 10 1
|
||||
31 11 13 9 10 11
|
||||
32 9 13 9 10 12
|
||||
33 32 13 9 10 1
|
||||
34 11 14 9 10 11
|
||||
35 9 14 9 10 12
|
||||
36 32 14 9 10 1
|
||||
37 6 9 10 12 15
|
||||
38 7 11 10 12 15
|
||||
39 33 1 10 12 15
|
||||
|
||||
Impropers
|
||||
|
||||
1 1 2 1 4 5
|
||||
2 1 2 1 4 10
|
||||
3 1 2 1 5 10
|
||||
4 1 4 1 5 10
|
||||
5 1 1 2 3 6
|
||||
6 1 1 2 3 7
|
||||
7 1 1 2 6 7
|
||||
8 1 3 2 6 7
|
||||
9 1 2 3 16 17
|
||||
10 1 2 3 16 18
|
||||
11 1 2 3 17 18
|
||||
12 1 16 3 17 18
|
||||
13 1 8 9 13 10
|
||||
14 1 8 9 14 10
|
||||
15 1 8 9 13 14
|
||||
16 1 13 9 14 10
|
||||
17 1 9 10 11 12
|
||||
18 1 1 10 9 11
|
||||
19 1 1 10 9 12
|
||||
20 1 1 10 11 12
|
||||
@ -0,0 +1,160 @@
|
||||
this is a molecule template for: initial nylon crosslink, pre-reacting
|
||||
|
||||
18 atoms
|
||||
16 bonds
|
||||
25 angles
|
||||
23 dihedrals
|
||||
14 impropers
|
||||
|
||||
Types
|
||||
|
||||
1 7
|
||||
2 1
|
||||
3 1
|
||||
4 8
|
||||
5 8
|
||||
6 4
|
||||
7 4
|
||||
8 1
|
||||
9 1
|
||||
10 2
|
||||
11 6
|
||||
12 3
|
||||
13 4
|
||||
14 4
|
||||
15 5
|
||||
16 1
|
||||
17 4
|
||||
18 4
|
||||
|
||||
Charges
|
||||
|
||||
1 -0.300000
|
||||
2 0.000000
|
||||
3 0.000000
|
||||
4 0.000000
|
||||
5 0.000000
|
||||
6 0.000000
|
||||
7 0.000000
|
||||
8 0.000000
|
||||
9 0.000000
|
||||
10 0.300000
|
||||
11 0.000000
|
||||
12 0.000000
|
||||
13 0.000000
|
||||
14 0.000000
|
||||
15 0.000000
|
||||
16 0.000000
|
||||
17 0.000000
|
||||
18 0.000000
|
||||
|
||||
Coords
|
||||
|
||||
1 -4.922858 -0.946982 1.146055
|
||||
2 -5.047195 -0.935267 -0.358173
|
||||
3 -6.526281 -0.755366 -0.743523
|
||||
4 -5.282604 0.020447 1.552710
|
||||
5 -3.860697 -1.095850 1.428305
|
||||
6 -4.662382 -1.920900 -0.781524
|
||||
7 -4.433977 -0.072765 -0.784071
|
||||
8 -5.506279 0.202610 4.825816
|
||||
9 -4.449177 -0.844592 4.423366
|
||||
10 -4.103916 -0.749629 2.925195
|
||||
11 -3.376249 -1.886171 2.245643
|
||||
12 -4.493235 0.477214 2.137199
|
||||
13 -4.849053 -1.888877 4.663994
|
||||
14 -3.491823 -0.662913 5.018510
|
||||
15 -5.020777 1.189745 2.805427
|
||||
16 -3.964987 2.900602 -1.551341
|
||||
17 -4.460694 2.836102 0.668882
|
||||
18 -4.828494 3.219656 -0.122111
|
||||
|
||||
Bonds
|
||||
|
||||
1 14 1 2
|
||||
2 10 1 4
|
||||
3 10 1 5
|
||||
4 2 2 3
|
||||
5 1 2 6
|
||||
6 1 2 7
|
||||
7 2 3 16
|
||||
8 1 3 17
|
||||
9 1 3 18
|
||||
10 2 8 9
|
||||
11 4 9 10
|
||||
12 1 9 13
|
||||
13 1 9 14
|
||||
14 5 10 11
|
||||
15 3 10 12
|
||||
16 6 12 15
|
||||
|
||||
Angles
|
||||
|
||||
1 15 2 1 4
|
||||
2 15 2 1 5
|
||||
3 16 4 1 5
|
||||
4 28 1 2 3
|
||||
5 14 1 2 6
|
||||
6 14 1 2 7
|
||||
7 2 3 2 6
|
||||
8 2 3 2 7
|
||||
9 1 6 2 7
|
||||
10 3 2 3 16
|
||||
11 2 2 3 17
|
||||
12 2 2 3 18
|
||||
13 2 16 3 17
|
||||
14 2 16 3 18
|
||||
15 1 17 3 18
|
||||
16 8 8 9 10
|
||||
17 2 8 9 13
|
||||
18 2 8 9 14
|
||||
19 23 13 9 10
|
||||
20 23 14 9 10
|
||||
21 1 13 9 14
|
||||
22 6 9 10 11
|
||||
23 4 9 10 12
|
||||
24 25 11 10 12
|
||||
25 7 10 12 15
|
||||
|
||||
Dihedrals
|
||||
|
||||
1 34 4 1 2 3
|
||||
2 35 4 1 2 6
|
||||
3 35 4 1 2 7
|
||||
4 34 5 1 2 3
|
||||
5 35 5 1 2 6
|
||||
6 35 5 1 2 7
|
||||
7 36 1 2 3 16
|
||||
8 12 1 2 3 17
|
||||
9 12 1 2 3 18
|
||||
10 4 16 3 2 6
|
||||
11 2 6 2 3 17
|
||||
12 2 6 2 3 18
|
||||
13 4 16 3 2 7
|
||||
14 2 7 2 3 17
|
||||
15 2 7 2 3 18
|
||||
16 10 8 9 10 11
|
||||
17 8 8 9 10 12
|
||||
18 11 13 9 10 11
|
||||
19 9 13 9 10 12
|
||||
20 11 14 9 10 11
|
||||
21 9 14 9 10 12
|
||||
22 6 9 10 12 15
|
||||
23 7 11 10 12 15
|
||||
|
||||
Impropers
|
||||
|
||||
1 6 2 1 4 5
|
||||
2 11 9 10 11 12
|
||||
3 1 1 2 3 6
|
||||
4 1 1 2 3 7
|
||||
5 1 1 2 6 7
|
||||
6 1 3 2 6 7
|
||||
7 1 2 3 16 17
|
||||
8 1 2 3 16 18
|
||||
9 1 2 3 17 18
|
||||
10 1 16 3 17 18
|
||||
11 1 8 9 13 10
|
||||
12 1 8 9 14 10
|
||||
13 1 8 9 13 14
|
||||
14 1 13 9 14 10
|
||||
32
examples/USER/misc/bond_react/tiny_nylon/rxn1_stp2_map
Normal file
32
examples/USER/misc/bond_react/tiny_nylon/rxn1_stp2_map
Normal file
@ -0,0 +1,32 @@
|
||||
this is a nominal superimpose file
|
||||
|
||||
2 edgeIDs
|
||||
15 equivalences
|
||||
|
||||
BondingIDs
|
||||
|
||||
4
|
||||
12
|
||||
|
||||
EdgeIDs
|
||||
|
||||
8
|
||||
3
|
||||
|
||||
Equivalences
|
||||
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
@ -0,0 +1,131 @@
|
||||
this is a molecule template for: water condensation, post-reacting
|
||||
|
||||
15 atoms
|
||||
13 bonds
|
||||
19 angles
|
||||
16 dihedrals
|
||||
10 impropers
|
||||
|
||||
Types
|
||||
|
||||
1 9
|
||||
2 1
|
||||
3 1
|
||||
4 10
|
||||
5 8
|
||||
6 4
|
||||
7 4
|
||||
8 1
|
||||
9 1
|
||||
10 2
|
||||
11 6
|
||||
12 11
|
||||
13 4
|
||||
14 4
|
||||
15 10
|
||||
|
||||
Charges
|
||||
|
||||
1 -0.300000
|
||||
2 0.000000
|
||||
3 0.000000
|
||||
4 0.410000
|
||||
5 0.000000
|
||||
6 0.000000
|
||||
7 0.000000
|
||||
8 0.000000
|
||||
9 0.000000
|
||||
10 0.300000
|
||||
11 0.000000
|
||||
12 -0.820000
|
||||
13 0.000000
|
||||
14 0.000000
|
||||
15 0.410000
|
||||
|
||||
Coords
|
||||
|
||||
1 -4.856280 -1.050468 1.432625
|
||||
2 -5.047195 -0.935267 -0.358173
|
||||
3 -6.526281 -0.755366 -0.743523
|
||||
4 -5.282604 0.020447 1.552710
|
||||
5 -3.860697 -1.095850 1.428305
|
||||
6 -4.662382 -1.920900 -0.781524
|
||||
7 -4.433977 -0.072765 -0.784071
|
||||
8 -5.506279 0.202610 4.825816
|
||||
9 -4.449177 -0.844592 4.423366
|
||||
10 -4.103916 -0.749629 2.925195
|
||||
11 -3.376249 -1.886171 2.245643
|
||||
12 -4.493235 0.477214 2.137199
|
||||
13 -4.849053 -1.888877 4.663994
|
||||
14 -3.491823 -0.662913 5.018510
|
||||
15 -5.020777 1.189745 2.805427
|
||||
|
||||
Bonds
|
||||
|
||||
1 11 1 2
|
||||
2 12 1 5
|
||||
3 13 1 10
|
||||
4 2 2 3
|
||||
5 1 2 6
|
||||
6 1 2 7
|
||||
7 15 4 12
|
||||
8 2 8 9
|
||||
9 4 9 10
|
||||
10 1 9 13
|
||||
11 1 9 14
|
||||
12 5 10 11
|
||||
13 15 15 12
|
||||
|
||||
Angles
|
||||
|
||||
1 17 2 1 5
|
||||
2 18 2 1 10
|
||||
3 20 5 1 10
|
||||
4 21 1 2 3
|
||||
5 22 1 2 6
|
||||
6 22 1 2 7
|
||||
7 2 3 2 6
|
||||
8 2 3 2 7
|
||||
9 1 6 2 7
|
||||
10 8 8 9 10
|
||||
11 2 8 9 13
|
||||
12 2 8 9 14
|
||||
13 23 13 9 10
|
||||
14 23 14 9 10
|
||||
15 1 13 9 14
|
||||
16 6 9 10 11
|
||||
17 24 1 10 9
|
||||
18 26 1 10 11
|
||||
19 29 15 12 4
|
||||
|
||||
Dihedrals
|
||||
|
||||
1 19 5 1 2 3
|
||||
2 20 5 1 2 6
|
||||
3 20 5 1 2 7
|
||||
4 21 10 1 2 3
|
||||
5 22 10 1 2 6
|
||||
6 22 10 1 2 7
|
||||
7 23 2 1 10 9
|
||||
8 24 2 1 10 11
|
||||
9 26 5 1 10 9
|
||||
10 27 5 1 10 11
|
||||
11 10 8 9 10 11
|
||||
12 31 8 9 10 1
|
||||
13 11 13 9 10 11
|
||||
14 32 13 9 10 1
|
||||
15 11 14 9 10 11
|
||||
16 32 14 9 10 1
|
||||
|
||||
Impropers
|
||||
|
||||
1 12 2 1 5 10
|
||||
2 13 1 10 9 11
|
||||
3 1 1 2 3 6
|
||||
4 1 1 2 3 7
|
||||
5 1 1 2 6 7
|
||||
6 1 3 2 6 7
|
||||
7 1 8 9 13 10
|
||||
8 1 8 9 14 10
|
||||
9 1 8 9 13 14
|
||||
10 1 13 9 14 10
|
||||
@ -0,0 +1,158 @@
|
||||
this is a molecule template for: water condensation, pre-reacting
|
||||
|
||||
15 atoms
|
||||
14 bonds
|
||||
25 angles
|
||||
30 dihedrals
|
||||
16 impropers
|
||||
|
||||
Types
|
||||
|
||||
1 9
|
||||
2 1
|
||||
3 1
|
||||
4 8
|
||||
5 8
|
||||
6 4
|
||||
7 4
|
||||
8 1
|
||||
9 1
|
||||
10 2
|
||||
11 6
|
||||
12 3
|
||||
13 4
|
||||
14 4
|
||||
15 5
|
||||
|
||||
Charges
|
||||
|
||||
1 -0.300000
|
||||
2 0.000000
|
||||
3 0.000000
|
||||
4 0.000000
|
||||
5 0.000000
|
||||
6 0.000000
|
||||
7 0.000000
|
||||
8 0.000000
|
||||
9 0.000000
|
||||
10 0.300000
|
||||
11 0.000000
|
||||
12 0.000000
|
||||
13 0.000000
|
||||
14 0.000000
|
||||
15 0.000000
|
||||
|
||||
Coords
|
||||
|
||||
1 -4.922858 -0.946982 1.146055
|
||||
2 -5.047195 -0.935267 -0.358173
|
||||
3 -6.526281 -0.755366 -0.743523
|
||||
4 -5.282604 0.020447 1.552710
|
||||
5 -3.860697 -1.095850 1.428305
|
||||
6 -4.662382 -1.920900 -0.781524
|
||||
7 -4.433977 -0.072765 -0.784071
|
||||
8 -5.506279 0.202610 4.825816
|
||||
9 -4.449177 -0.844592 4.423366
|
||||
10 -4.103916 -0.749629 2.925195
|
||||
11 -3.376249 -1.886171 2.245643
|
||||
12 -4.493235 0.477214 2.137199
|
||||
13 -4.849053 -1.888877 4.663994
|
||||
14 -3.491823 -0.662913 5.018510
|
||||
15 -5.020777 1.189745 2.805427
|
||||
|
||||
Bonds
|
||||
|
||||
1 11 1 2
|
||||
2 12 1 4
|
||||
3 12 1 5
|
||||
4 13 1 10
|
||||
5 2 2 3
|
||||
6 1 2 6
|
||||
7 1 2 7
|
||||
8 2 8 9
|
||||
9 4 9 10
|
||||
10 1 9 13
|
||||
11 1 9 14
|
||||
12 5 10 11
|
||||
13 3 10 12
|
||||
14 6 12 15
|
||||
|
||||
Angles
|
||||
|
||||
1 17 2 1 4
|
||||
2 17 2 1 5
|
||||
3 18 2 1 10
|
||||
4 19 4 1 5
|
||||
5 20 4 1 10
|
||||
6 20 5 1 10
|
||||
7 21 1 2 3
|
||||
8 22 1 2 6
|
||||
9 22 1 2 7
|
||||
10 2 3 2 6
|
||||
11 2 3 2 7
|
||||
12 1 6 2 7
|
||||
13 8 8 9 10
|
||||
14 2 8 9 13
|
||||
15 2 8 9 14
|
||||
16 23 13 9 10
|
||||
17 23 14 9 10
|
||||
18 1 13 9 14
|
||||
19 6 9 10 11
|
||||
20 4 9 10 12
|
||||
21 24 1 10 9
|
||||
22 25 11 10 12
|
||||
23 26 1 10 11
|
||||
24 27 1 10 12
|
||||
25 7 10 12 15
|
||||
|
||||
Dihedrals
|
||||
|
||||
1 19 4 1 2 3
|
||||
2 20 4 1 2 6
|
||||
3 20 4 1 2 7
|
||||
4 19 5 1 2 3
|
||||
5 20 5 1 2 6
|
||||
6 20 5 1 2 7
|
||||
7 21 10 1 2 3
|
||||
8 22 10 1 2 6
|
||||
9 22 10 1 2 7
|
||||
10 23 2 1 10 9
|
||||
11 24 2 1 10 11
|
||||
12 25 2 1 10 12
|
||||
13 26 4 1 10 9
|
||||
14 27 4 1 10 11
|
||||
15 28 4 1 10 12
|
||||
16 26 5 1 10 9
|
||||
17 27 5 1 10 11
|
||||
18 28 5 1 10 12
|
||||
19 10 8 9 10 11
|
||||
20 8 8 9 10 12
|
||||
21 31 8 9 10 1
|
||||
22 11 13 9 10 11
|
||||
23 9 13 9 10 12
|
||||
24 32 13 9 10 1
|
||||
25 11 14 9 10 11
|
||||
26 9 14 9 10 12
|
||||
27 32 14 9 10 1
|
||||
28 6 9 10 12 15
|
||||
29 7 11 10 12 15
|
||||
30 33 1 10 12 15
|
||||
|
||||
Impropers
|
||||
|
||||
1 1 2 1 4 5
|
||||
2 1 2 1 4 10
|
||||
3 1 2 1 5 10
|
||||
4 1 4 1 5 10
|
||||
5 1 1 2 3 6
|
||||
6 1 1 2 3 7
|
||||
7 1 1 2 6 7
|
||||
8 1 3 2 6 7
|
||||
9 1 8 9 13 10
|
||||
10 1 8 9 14 10
|
||||
11 1 8 9 13 14
|
||||
12 1 13 9 14 10
|
||||
13 1 9 10 11 12
|
||||
14 1 1 10 9 11
|
||||
15 1 1 10 9 12
|
||||
16 1 1 10 11 12
|
||||
795
examples/USER/misc/bond_react/tiny_nylon/tiny_nylon.data
Normal file
795
examples/USER/misc/bond_react/tiny_nylon/tiny_nylon.data
Normal file
@ -0,0 +1,795 @@
|
||||
this is LAMMPS data file containing two nylon monomers
|
||||
|
||||
44 atoms
|
||||
11 atom types
|
||||
42 bonds
|
||||
15 bond types
|
||||
74 angles
|
||||
29 angle types
|
||||
100 dihedrals
|
||||
36 dihedral types
|
||||
44 impropers
|
||||
13 improper types
|
||||
5 extra bond per atom
|
||||
15 extra angle per atom
|
||||
15 extra dihedral per atom
|
||||
25 extra improper per atom
|
||||
25 extra special per atom
|
||||
|
||||
-25 25 xlo xhi
|
||||
-25 25 ylo yhi
|
||||
-25 25 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 12.0112
|
||||
2 12.0112
|
||||
3 15.9994
|
||||
4 1.00797
|
||||
5 1.00797
|
||||
6 15.9994
|
||||
7 14.0067
|
||||
8 1.00797
|
||||
9 14.0067
|
||||
10 1.00797
|
||||
11 15.9994
|
||||
|
||||
Pair Coeffs # lj/class2/coul/cut
|
||||
|
||||
1 0.054 4.01
|
||||
2 0.12 3.81
|
||||
3 0.24 3.535
|
||||
4 0.02 2.7
|
||||
5 0.013 1.098
|
||||
6 0.267 3.3
|
||||
7 0.065 4.07
|
||||
8 0.013 1.098
|
||||
9 0.106 4.07
|
||||
10 0.013 1.098
|
||||
11 0.26 3.61
|
||||
|
||||
Bond Coeffs # class2
|
||||
|
||||
1 1.101 345 -691.89 844.6
|
||||
2 1.53 299.67 -501.77 679.81
|
||||
3 1.3649 368.731 -832.478 1274.02
|
||||
4 1.5202 253.707 -423.037 396.9
|
||||
5 1.202 851.14 -1918.49 2160.77
|
||||
6 0.965 532.506 -1282.9 2004.77
|
||||
7 1.53 299.67 -501.77 679.81
|
||||
8 1.101 345 -691.89 844.6
|
||||
9 1.457 365.805 -699.637 998.484
|
||||
10 1.006 466.74 -1073.6 1251.11
|
||||
11 1.452 327.166 -547.899 526.5
|
||||
12 1.01 462.75 -1053.63 1545.76
|
||||
13 1.416 359.159 -558.473 1146.38
|
||||
14 1.457 365.805 -699.637 998.484
|
||||
15 0.97 563.28 -1428.22 1902.12
|
||||
|
||||
Angle Coeffs # class2
|
||||
|
||||
1 107.66 39.641 -12.921 -2.4318
|
||||
2 110.77 41.453 -10.604 5.129
|
||||
3 112.67 39.516 -7.443 -9.5583
|
||||
4 123.145 55.5431 -17.2123 0.1348
|
||||
5 118.986 98.6813 -22.2485 10.3673
|
||||
6 123.145 55.5431 -17.2123 0.1348
|
||||
7 111.254 53.5303 -11.8454 -11.5405
|
||||
8 108.53 51.9747 -9.4851 -10.9985
|
||||
9 107.734 40.6099 -28.8121 0
|
||||
10 110.77 41.453 -10.604 5.129
|
||||
11 112.67 39.516 -7.443 -9.5583
|
||||
12 107.66 39.641 -12.921 -2.4318
|
||||
13 111.91 60.7147 -13.3366 -13.0785
|
||||
14 110.62 51.3137 -6.7198 -2.6003
|
||||
15 110.954 50.8652 -4.4522 -10.0298
|
||||
16 107.067 45.252 -7.5558 -9.512
|
||||
17 113.868 45.9271 -20.0824 0
|
||||
18 111.037 31.8958 -6.6942 -6.837
|
||||
19 116.94 37.5749 -8.6676 0
|
||||
20 117.961 37.4964 -8.1837 0
|
||||
21 114.302 42.6589 -10.5464 -9.3243
|
||||
22 108.937 57.401 2.9374 0
|
||||
23 107.734 40.6099 -28.8121 0
|
||||
24 116.926 39.4193 -10.9945 -8.7733
|
||||
25 118.986 98.6813 -22.2485 10.3673
|
||||
26 125.542 92.572 -34.48 -11.1871
|
||||
27 0 0 0 0
|
||||
28 111.91 60.7147 -13.3366 -13.0785
|
||||
29 103.7 49.84 -11.6 -8
|
||||
|
||||
BondBond Coeffs
|
||||
|
||||
1 5.3316 1.101 1.101
|
||||
2 3.3872 1.53 1.101
|
||||
3 0 1.53 1.53
|
||||
4 0 1.5202 1.3649
|
||||
5 0 1.3649 1.202
|
||||
6 46.0685 1.5202 1.202
|
||||
7 0 1.3649 0.965
|
||||
8 5.4199 1.53 1.5202
|
||||
9 0.7115 1.5202 1.101
|
||||
10 3.3872 1.53 1.101
|
||||
11 0 1.53 1.53
|
||||
12 5.3316 1.101 1.101
|
||||
13 4.6217 1.53 1.457
|
||||
14 12.426 1.457 1.101
|
||||
15 -6.4168 1.457 1.006
|
||||
16 -1.8749 1.006 1.006
|
||||
17 -3.471 1.452 1.01
|
||||
18 12.1186 1.452 1.416
|
||||
19 -0.5655 1.01 1.01
|
||||
20 -4.3126 1.01 1.416
|
||||
21 3.5446 1.452 1.53
|
||||
22 15.2994 1.452 1.101
|
||||
23 0.7115 1.101 1.5202
|
||||
24 0 1.416 1.5202
|
||||
25 0 1.202 1.3649
|
||||
26 138.495 1.416 1.202
|
||||
27 0 1.416 1.3649
|
||||
28 4.6217 1.457 1.53
|
||||
29 -9.5 0.97 0.97
|
||||
|
||||
BondAngle Coeffs
|
||||
|
||||
1 18.103 18.103 1.101 1.101
|
||||
2 20.754 11.421 1.53 1.101
|
||||
3 8.016 8.016 1.53 1.53
|
||||
4 0 0 1.5202 1.3649
|
||||
5 0 0 1.3649 1.202
|
||||
6 34.9982 37.1298 1.5202 1.202
|
||||
7 0 0 1.3649 0.965
|
||||
8 18.1678 15.8758 1.53 1.5202
|
||||
9 12.4632 9.1765 1.5202 1.101
|
||||
10 20.754 11.421 1.53 1.101
|
||||
11 8.016 8.016 1.53 1.53
|
||||
12 18.103 18.103 1.101 1.101
|
||||
13 6.0876 16.5702 1.53 1.457
|
||||
14 42.4332 13.4582 1.457 1.101
|
||||
15 31.8096 20.5799 1.457 1.006
|
||||
16 28.0322 28.0322 1.006 1.006
|
||||
17 11.8828 5.9339 1.452 1.01
|
||||
18 3.7812 14.8633 1.452 1.416
|
||||
19 19.8125 19.8125 1.01 1.01
|
||||
20 10.8422 29.5743 1.01 1.416
|
||||
21 4.6031 -5.479 1.452 1.53
|
||||
22 34.8907 10.6917 1.452 1.101
|
||||
23 9.1765 12.4632 1.101 1.5202
|
||||
24 0 0 1.416 1.5202
|
||||
25 0 0 1.202 1.3649
|
||||
26 62.7124 52.4045 1.416 1.202
|
||||
27 0 0 1.416 1.3649
|
||||
28 16.5702 6.0876 1.457 1.53
|
||||
29 22.35 22.35 0.97 0.97
|
||||
|
||||
Dihedral Coeffs # class2
|
||||
|
||||
1 -0.0228 0 0.028 0 -0.1863 0
|
||||
2 -0.1432 0 0.0617 0 -0.1083 0
|
||||
3 0.0972 0 0.0722 0 -0.2581 0
|
||||
4 0 0 0.0316 0 -0.1681 0
|
||||
5 0 0 0.0514 0 -0.143 0
|
||||
6 0 0 0 0 0 0
|
||||
7 -2.7332 0 2.9646 0 -0.0155 0
|
||||
8 0 0 0 0 0 0
|
||||
9 0 0 0 0 0 0
|
||||
10 0.0442 0 0.0292 0 0.0562 0
|
||||
11 -0.1804 0 0.0012 0 0.0371 0
|
||||
12 -0.2428 0 0.4065 0 -0.3079 0
|
||||
13 -0.1432 0 0.0617 0 -0.1083 0
|
||||
14 0.1764 0 0.1766 0 -0.5206 0
|
||||
15 0 0 0.0316 0 -0.1681 0
|
||||
16 0 0 0.0514 0 -0.143 0
|
||||
17 -1.1506 0 -0.6344 0 -0.1845 0
|
||||
18 -0.5187 0 -0.4837 0 -0.1692 0
|
||||
19 -0.0483 0 -0.0077 0 -0.0014 0
|
||||
20 -0.0148 0 -0.0791 0 -0.0148 0
|
||||
21 0.0143 0 -0.0132 0 0.0091 0
|
||||
22 0.0219 0 -0.026 0 0.0714 0
|
||||
23 -0.7532 0 2.7392 0 0.0907 0
|
||||
24 0.8297 0 3.7234 0 -0.0495 0
|
||||
25 0 0 0 0 0 0
|
||||
26 0 0 0 0 0 0
|
||||
27 -1.6938 0 2.7386 0 -0.336 0
|
||||
28 0 0 0 0 0 0
|
||||
29 0.0972 0 0.0722 0 -0.2581 0
|
||||
30 -0.0228 0 0.028 0 -0.1863 0
|
||||
31 0.1693 0 -0.009 0 -0.0687 0
|
||||
32 0.1693 0 -0.009 0 -0.0687 0
|
||||
33 0 0 0 0 0 0
|
||||
34 -1.1506 0 -0.6344 0 -0.1845 0
|
||||
35 -0.5187 0 -0.4837 0 -0.1692 0
|
||||
36 0.1764 0 0.1766 0 -0.5206 0
|
||||
|
||||
AngleAngleTorsion Coeffs
|
||||
|
||||
1 -5.3624 108.53 110.77
|
||||
2 -12.564 110.77 110.77
|
||||
3 -0.3801 112.67 108.53
|
||||
4 -16.164 112.67 110.77
|
||||
5 -22.045 112.67 112.67
|
||||
6 0 0 111.254
|
||||
7 0 118.985 111.254
|
||||
8 0 108.53 0
|
||||
9 0 107.734 0
|
||||
10 -8.019 108.53 123.145
|
||||
11 -15.3496 107.734 123.145
|
||||
12 -15.7572 111.91 110.77
|
||||
13 -12.564 110.77 110.77
|
||||
14 -27.3953 112.67 111.91
|
||||
15 -16.164 112.67 110.77
|
||||
16 -22.045 112.67 112.67
|
||||
17 -7.5499 111.91 110.954
|
||||
18 -10.4258 110.62 110.954
|
||||
19 -4.6337 113.868 114.302
|
||||
20 -6.659 113.868 108.937
|
||||
21 -7.4314 111.037 114.302
|
||||
22 -8.1335 111.037 108.937
|
||||
23 -6.5335 111.037 116.926
|
||||
24 -15.5547 111.037 125.542
|
||||
25 0 111.037 0
|
||||
26 -1.3234 117.961 116.926
|
||||
27 -7.3186 117.961 125.542
|
||||
28 0 117.961 0
|
||||
29 -1.0631 114.302 112.67
|
||||
30 -12.7974 114.302 110.77
|
||||
31 -5.4514 108.53 116.926
|
||||
32 -12.2417 107.734 116.926
|
||||
33 0 0 111.254
|
||||
34 -7.5499 110.954 111.91
|
||||
35 -10.4258 110.954 110.62
|
||||
36 -27.3953 111.91 112.67
|
||||
|
||||
EndBondTorsion Coeffs
|
||||
|
||||
1 -0.0204 0.3628 -0.4426 -0.0097 -0.0315 -0.0755 1.5202 1.101
|
||||
2 0.213 0.312 0.0777 0.213 0.312 0.0777 1.101 1.101
|
||||
3 0.0062 -0.0002 0.0036 0.0055 0.006 -0.0009 1.53 1.5202
|
||||
4 0.2486 0.2422 -0.0925 0.0814 0.0591 0.2219 1.53 1.101
|
||||
5 -0.0732 0 0 -0.0732 0 0 1.53 1.53
|
||||
6 0 0 0 0 0 0 1.5202 0.965
|
||||
7 0 0 0 0 0 0 1.202 0.965
|
||||
8 0 0 0 0 0 0 1.53 1.3649
|
||||
9 0 0 0 0 0 0 1.101 1.3649
|
||||
10 0.2654 0.0503 0.1046 -0.281 0.0816 -0.1522 1.53 1.202
|
||||
11 1.2143 0.2831 0.3916 -0.2298 0.0354 0.3853 1.101 1.202
|
||||
12 0.1022 0.209 0.6433 0.196 0.7056 0.112 1.457 1.101
|
||||
13 0.213 0.312 0.0777 0.213 0.312 0.0777 1.101 1.101
|
||||
14 0.1032 0.5896 -0.4836 0.0579 -0.0043 -0.1906 1.53 1.457
|
||||
15 0.2486 0.2422 -0.0925 0.0814 0.0591 0.2219 1.53 1.101
|
||||
16 -0.0732 0 0 -0.0732 0 0 1.53 1.53
|
||||
17 -0.9466 0.9356 -0.5542 0.057 0.0625 0.4112 1.53 1.006
|
||||
18 -1.1685 0.9266 -0.0993 0.085 0.3061 0.2104 1.101 1.006
|
||||
19 -0.0992 -0.0727 -0.4139 0.132 0.0015 0.1324 1.01 1.53
|
||||
20 -0.4894 0.1644 0.3105 -0.8983 0.2826 0.0881 1.01 1.101
|
||||
21 -0.1245 -0.9369 0.7781 -0.2033 0.0035 0.056 1.416 1.53
|
||||
22 0.2292 1.1732 -0.058 -0.3667 0.8197 0.1335 1.416 1.101
|
||||
23 0.2299 -0.1141 -0.1424 0.0933 -0.4631 0.2883 1.452 1.5202
|
||||
24 0.1598 0.7253 -0.1007 0.1226 -2.1326 0.5581 1.452 1.202
|
||||
25 0 0 0 0 0 0 1.452 1.3649
|
||||
26 0.6413 0.1676 0.144 -0.6979 0.5619 0.4212 1.01 1.5202
|
||||
27 0.1214 0.1936 0.0816 -0.7604 -2.6431 1.2467 1.01 1.202
|
||||
28 0 0 0 0 0 0 1.01 1.3649
|
||||
29 -0.0797 -0.0406 0.0255 0.0742 0.0105 0.0518 1.452 1.53
|
||||
30 0.3022 0.2513 0.4641 -0.0601 -0.3763 -0.1876 1.452 1.101
|
||||
31 -0.2631 -0.0076 -0.1145 -0.2751 -0.3058 -0.1767 1.53 1.416
|
||||
32 -0.0268 0.7836 0.0035 0.3552 -0.2685 0.5834 1.101 1.416
|
||||
33 0 0 0 0 0 0 1.416 0.965
|
||||
34 0.057 0.0625 0.4112 -0.9466 0.9356 -0.5542 1.006 1.53
|
||||
35 0.085 0.3061 0.2104 -1.1685 0.9266 -0.0993 1.006 1.101
|
||||
36 0.0579 -0.0043 -0.1906 0.1032 0.5896 -0.4836 1.457 1.53
|
||||
|
||||
MiddleBondTorsion Coeffs
|
||||
|
||||
1 -3.5039 1.2458 -0.761 1.53
|
||||
2 -14.261 -0.5322 -0.4864 1.53
|
||||
3 -1.5945 0.2267 -0.6911 1.53
|
||||
4 -14.879 -3.6581 -0.3138 1.53
|
||||
5 -17.787 -7.1877 0 1.53
|
||||
6 0 0 0 1.3649
|
||||
7 0 0 0 1.3649
|
||||
8 0 0 0 1.5202
|
||||
9 0 0 0 1.5202
|
||||
10 0.3388 -0.1096 0.1219 1.5202
|
||||
11 0.2359 0.9139 0.9594 1.5202
|
||||
12 -10.4959 -0.7647 -0.0545 1.53
|
||||
13 -14.261 -0.5322 -0.4864 1.53
|
||||
14 -15.4174 -7.3055 -1.0749 1.53
|
||||
15 -14.879 -3.6581 -0.3138 1.53
|
||||
16 -17.787 -7.1877 0 1.53
|
||||
17 -2.2208 0.5479 -0.3527 1.457
|
||||
18 -3.4611 1.6996 -0.6007 1.457
|
||||
19 -3.5406 -3.3866 0.0352 1.452
|
||||
20 -1.1752 2.8058 0.8083 1.452
|
||||
21 -3.9501 -0.4002 -0.6798 1.452
|
||||
22 -0.6899 -2.2646 1.1579 1.452
|
||||
23 0 0 0 1.416
|
||||
24 -8.8301 14.3079 -1.7716 1.416
|
||||
25 0 0 0 1.416
|
||||
26 0 0 0 1.416
|
||||
27 -0.9084 6.1447 -0.4852 1.416
|
||||
28 0 0 0 1.416
|
||||
29 -4.2324 -3.3023 -1.3244 1.53
|
||||
30 -4.1028 -0.5941 -0.047 1.53
|
||||
31 0 0 0 1.5202
|
||||
32 0 0 0 1.5202
|
||||
33 0 0 0 1.3649
|
||||
34 -2.2208 0.5479 -0.3527 1.457
|
||||
35 -3.4611 1.6996 -0.6007 1.457
|
||||
36 -15.4174 -7.3055 -1.0749 1.53
|
||||
|
||||
BondBond13 Coeffs
|
||||
|
||||
1 0 1.5202 1.101
|
||||
2 0 1.101 1.101
|
||||
3 0 1.53 1.5202
|
||||
4 0 1.53 1.101
|
||||
5 0 1.53 1.53
|
||||
6 0 1.5202 0.965
|
||||
7 0 1.202 0.965
|
||||
8 0 1.53 1.3649
|
||||
9 0 1.101 1.3649
|
||||
10 0 1.53 1.202
|
||||
11 0 1.101 1.202
|
||||
12 0 1.457 1.101
|
||||
13 0 1.101 1.101
|
||||
14 0 1.53 1.457
|
||||
15 0 1.53 1.101
|
||||
16 0 1.53 1.53
|
||||
17 0 1.53 1.006
|
||||
18 0 1.101 1.006
|
||||
19 0 1.01 1.53
|
||||
20 0 1.01 1.101
|
||||
21 0 1.416 1.53
|
||||
22 0 1.416 1.101
|
||||
23 0 1.452 1.5202
|
||||
24 0 1.452 1.202
|
||||
25 0 1.452 1.3649
|
||||
26 0 1.01 1.5202
|
||||
27 0 1.01 1.202
|
||||
28 0 1.01 1.3649
|
||||
29 0 1.452 1.53
|
||||
30 0 1.452 1.101
|
||||
31 0 1.53 1.416
|
||||
32 0 1.101 1.416
|
||||
33 0 1.416 0.965
|
||||
34 0 1.006 1.53
|
||||
35 0 1.006 1.101
|
||||
36 0 1.457 1.53
|
||||
|
||||
AngleTorsion Coeffs
|
||||
|
||||
1 -0.7466 -0.9448 -0.6321 0.0162 1.4211 -1.4092 108.53 110.77
|
||||
2 -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.77 110.77
|
||||
3 -0.2607 0.3203 -0.2283 0.0515 -0.0674 -0.0474 112.67 108.53
|
||||
4 -0.2454 0 -0.1136 0.3113 0.4516 -0.1988 112.67 110.77
|
||||
5 0.3886 -0.3139 0.1389 0.3886 -0.3139 0.1389 112.67 112.67
|
||||
6 0 0 0 0 0 0 0 111.254
|
||||
7 0 0 0 0 0 0 118.985 111.254
|
||||
8 0 0 0 0 0 0 108.53 0
|
||||
9 0 0 0 0 0 0 107.734 0
|
||||
10 0.0885 -1.3703 -0.5452 0.675 0.5965 0.6725 108.53 123.145
|
||||
11 9.1299 -0.4847 0.3582 -1.4946 0.7308 -0.2083 107.734 123.145
|
||||
12 -1.1075 0.282 0.8318 0.5111 1.6328 -1.0155 111.91 110.77
|
||||
13 -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.77 110.77
|
||||
14 -1.9225 -1.345 0.221 2.0125 0.944 -2.7612 112.67 111.91
|
||||
15 -0.2454 0 -0.1136 0.3113 0.4516 -0.1988 112.67 110.77
|
||||
16 0.3886 -0.3139 0.1389 0.3886 -0.3139 0.1389 112.67 112.67
|
||||
17 -3.343 4.4558 -0.0346 0.2873 -0.8072 -0.096 111.91 110.954
|
||||
18 -3.9582 2.0063 0.3213 -0.4294 -0.4442 -0.6141 110.62 110.954
|
||||
19 -0.5807 0.2041 -0.1384 -2.8967 2.7084 -0.0375 113.868 114.302
|
||||
20 -0.3868 0.2041 0.0445 -3.7022 1.3876 0.2393 113.868 108.937
|
||||
21 -1.523 1.1296 0.7167 -0.7555 0.0564 1.2177 111.037 114.302
|
||||
22 0.0372 -0.3418 -0.0775 -1.5157 2.0781 0.5364 111.037 108.937
|
||||
23 5.916 1.7856 0.4052 4.2133 2.9302 3.2903 111.037 116.926
|
||||
24 7.4427 2.1505 -0.2206 4.4466 4.0317 1.7129 111.037 125.542
|
||||
25 0 0 0 0 0 0 111.037 0
|
||||
26 1.9306 0.2105 0.0557 -2.2134 1.2909 0.9726 117.961 116.926
|
||||
27 2.3848 0.703 0.1399 -2.6238 0.3606 0.5474 117.961 125.542
|
||||
28 0 0 0 0 0 0 117.961 0
|
||||
29 0.2039 0.1602 -0.7946 -0.5501 -1.6982 0.2485 114.302 112.67
|
||||
30 -1.982 0.2325 -0.3928 -1.2469 1.6933 -1.2081 114.302 110.77
|
||||
31 2.1802 -0.0335 -1.3816 2.1221 0.5032 -0.0767 108.53 116.926
|
||||
32 7.095 0.0075 0.691 2.0013 0.5068 0.8406 107.734 116.926
|
||||
33 0 0 0 0 0 0 0 111.254
|
||||
34 0.2873 -0.8072 -0.096 -3.343 4.4558 -0.0346 110.954 111.91
|
||||
35 -0.4294 -0.4442 -0.6141 -3.9582 2.0063 0.3213 110.954 110.62
|
||||
36 2.0125 0.944 -2.7612 -1.9225 -1.345 0.221 111.91 112.67
|
||||
|
||||
Improper Coeffs # class2
|
||||
|
||||
1 0 0
|
||||
2 0 0
|
||||
3 0 0
|
||||
4 0 0
|
||||
5 0 0
|
||||
6 0 0
|
||||
7 0 0
|
||||
8 0 0
|
||||
9 0 0
|
||||
10 0 0
|
||||
11 0 0
|
||||
12 0 0
|
||||
13 24.3329 0
|
||||
|
||||
AngleAngle Coeffs
|
||||
|
||||
1 0 0 0 0 118.985 123.145
|
||||
2 0.2738 -0.4825 0.2738 110.77 107.66 110.77
|
||||
3 -1.3199 -1.3199 0.1184 112.67 110.77 110.77
|
||||
4 2.0403 -1.8202 1.0827 108.53 107.734 110.77
|
||||
5 -3.3867 -3.4976 -3.3867 107.734 107.66 107.734
|
||||
6 0 0 0 110.954 107.067 110.954
|
||||
7 0.2738 -0.4825 0.2738 110.77 107.66 110.77
|
||||
8 -1.3199 -1.3199 0.1184 112.67 110.77 110.77
|
||||
9 -2.5301 0.5381 2.4286 111.91 110.62 110.77
|
||||
10 2.4321 -3.5496 2.4321 110.62 107.66 110.62
|
||||
11 0 0 0 123.145 118.985 0
|
||||
12 0 0 0 113.868 117.961 111.037
|
||||
13 0 0 0 116.926 123.145 125.542
|
||||
|
||||
Atoms # full
|
||||
|
||||
1 1 1 0.0000000000000000e+00 12.288168 0.738732 4.374280 0 0 0
|
||||
2 1 2 2.9999999999999999e-01 13.959928 -0.883144 5.090597 0 0 0
|
||||
3 1 3 0.0000000000000000e+00 14.411288 -1.994419 5.682160 0 0 0
|
||||
4 1 4 0.0000000000000000e+00 12.881083 0.872503 3.506176 0 0 0
|
||||
5 1 4 0.0000000000000000e+00 11.232775 0.801641 3.998777 0 0 0
|
||||
6 1 5 0.0000000000000000e+00 13.704366 -2.470396 6.130105 0 0 0
|
||||
7 1 1 0.0000000000000000e+00 12.489752 -0.793693 4.710639 0 0 0
|
||||
8 1 1 0.0000000000000000e+00 12.455071 1.866388 5.385870 0 0 0
|
||||
9 1 1 0.0000000000000000e+00 11.248961 1.901849 6.347664 0 0 0
|
||||
10 1 2 2.9999999999999999e-01 10.005971 2.466710 5.772840 -1 1 0
|
||||
11 1 6 0.0000000000000000e+00 14.795360 -0.034436 4.807367 0 0 0
|
||||
12 1 6 0.0000000000000000e+00 9.115239 1.654547 5.617002 -1 0 0
|
||||
13 1 3 0.0000000000000000e+00 9.745096 3.807654 5.573585 -1 1 0
|
||||
14 1 4 0.0000000000000000e+00 12.248215 -1.371492 3.808598 0 0 0
|
||||
15 1 4 0.0000000000000000e+00 11.715755 -1.036825 5.500449 0 0 0
|
||||
16 1 4 0.0000000000000000e+00 12.559724 2.807687 4.858452 0 1 0
|
||||
17 1 4 0.0000000000000000e+00 13.299968 1.616570 6.123781 0 0 0
|
||||
18 1 4 0.0000000000000000e+00 11.650505 2.330454 7.282410 0 1 0
|
||||
19 1 4 0.0000000000000000e+00 10.888420 0.913219 6.637162 -1 0 0
|
||||
20 1 5 0.0000000000000000e+00 10.550073 4.294209 5.758192 -1 1 0
|
||||
21 2 1 0.0000000000000000e+00 5.851425 1.929552 6.038335 0 0 0
|
||||
22 2 1 0.0000000000000000e+00 6.741509 3.160751 6.233074 0 0 0
|
||||
23 2 7 -2.9999999999999999e-01 7.957761 3.121780 5.252257 1 0 0
|
||||
24 2 7 -2.9999999999999999e-01 2.599653 -2.258940 5.985863 0 -1 0
|
||||
25 2 1 0.0000000000000000e+00 3.834337 -1.907078 5.441528 0 -1 0
|
||||
26 2 1 0.0000000000000000e+00 4.810793 -1.083699 6.310184 0 -1 0
|
||||
27 2 4 0.0000000000000000e+00 6.505912 1.182799 5.449104 0 0 0
|
||||
28 2 4 0.0000000000000000e+00 5.156429 2.256468 5.348423 0 0 0
|
||||
29 2 4 0.0000000000000000e+00 7.232782 3.178785 7.181911 0 0 0
|
||||
30 2 4 0.0000000000000000e+00 6.251671 4.103621 6.222913 0 0 0
|
||||
31 2 8 0.0000000000000000e+00 8.249909 4.070668 4.881297 1 0 0
|
||||
32 2 8 0.0000000000000000e+00 7.813025 2.623184 4.400744 1 0 0
|
||||
33 2 8 0.0000000000000000e+00 2.626695 -2.857547 6.817247 0 -1 0
|
||||
34 2 8 0.0000000000000000e+00 1.955281 -2.684319 5.328460 0 -1 0
|
||||
35 2 4 0.0000000000000000e+00 3.637708 -1.322842 4.469265 0 -1 0
|
||||
36 2 4 0.0000000000000000e+00 4.415570 -2.739689 4.997336 0 -1 0
|
||||
37 2 4 0.0000000000000000e+00 5.710714 -1.010014 5.642798 0 -1 0
|
||||
38 2 4 0.0000000000000000e+00 5.103831 -1.696423 7.160345 0 -1 0
|
||||
39 2 1 0.0000000000000000e+00 5.270763 1.286629 7.308822 0 0 0
|
||||
40 2 4 0.0000000000000000e+00 4.834381 2.168531 7.931687 0 0 1
|
||||
41 2 4 0.0000000000000000e+00 6.118354 0.786724 7.794709 0 0 1
|
||||
42 2 1 0.0000000000000000e+00 4.273849 0.167695 6.957862 0 -1 0
|
||||
43 2 4 0.0000000000000000e+00 3.792544 -0.081782 7.904418 0 -1 1
|
||||
44 2 4 0.0000000000000000e+00 3.527495 0.674238 6.348869 0 0 0
|
||||
|
||||
Velocities
|
||||
|
||||
1 -2.4626989626218821e-03 -1.5920230003311222e-03 -3.0621927786115238e-03
|
||||
2 9.5082416704385837e-03 -6.9903166167507250e-03 1.3702671335945608e-02
|
||||
3 2.3431518493187576e-03 -2.9261683108242173e-03 1.4269399726982105e-03
|
||||
4 -1.8184451408256214e-02 3.1103803691687960e-02 -1.3358827768357973e-02
|
||||
5 2.6084132471017967e-02 -1.0819576493517332e-02 3.0403384454794881e-02
|
||||
6 -4.7312115958218744e-03 -1.9111462399478338e-02 -3.6793354156497558e-02
|
||||
7 -7.5068797595949869e-03 6.5661422055962489e-03 1.3226575122695422e-03
|
||||
8 3.3807881380161281e-03 3.0458732663557089e-03 2.2368826795446284e-03
|
||||
9 -3.1113905793879316e-03 8.2908867720754773e-03 -1.7561238039496530e-03
|
||||
10 2.4685206571693056e-03 1.3194776209841030e-03 -2.8041877032800441e-03
|
||||
11 -3.4945605770565296e-03 3.2323777135621814e-03 1.6223017668450866e-03
|
||||
12 -6.1153483612847778e-03 -5.1534857074262185e-03 1.7735747357354274e-03
|
||||
13 2.1384296781859011e-04 -4.5398902942729667e-03 6.1649769894413760e-03
|
||||
14 2.5004619864373401e-03 -1.5709184283264888e-03 2.0837548254667757e-02
|
||||
15 6.0547939205643532e-03 -1.2650704436910937e-02 -5.4430753266962190e-03
|
||||
16 -1.0374605775698001e-02 9.1408658463889240e-03 -1.1306875858287088e-02
|
||||
17 -1.2736499128987409e-02 -9.1726811852506501e-03 5.1136502685461254e-03
|
||||
18 7.6741778607048112e-03 1.8629856635459279e-02 -1.1300096447670932e-02
|
||||
19 -1.8616138775281121e-02 1.0848388547730185e-03 -5.7118433687798576e-03
|
||||
20 5.4137572241479059e-03 -1.4564578166395727e-02 -1.2618420441909540e-02
|
||||
21 5.8473521452312256e-03 -4.0595286000332086e-03 -6.2517801580146415e-03
|
||||
22 3.6402033824753104e-03 -1.4629540504663154e-03 -4.0030712318898046e-03
|
||||
23 9.0266305019107689e-03 -2.7511425384659687e-03 4.5576402565437142e-03
|
||||
24 -1.3102302415548614e-02 -4.7286703965305791e-03 -1.8966887841189517e-03
|
||||
25 7.8621682621103171e-03 -4.2046313540949568e-03 9.6887957374751301e-04
|
||||
26 -4.7380176438337968e-03 9.6090441940775827e-03 -8.7592431387039336e-03
|
||||
27 5.4311658811632517e-03 2.0032224663495989e-02 -9.4952076489808503e-03
|
||||
28 -2.9056381493904374e-03 3.3317109723156875e-03 1.6650350064426677e-02
|
||||
29 -6.4569944033489122e-03 2.8423983541959541e-03 -2.6066912906505167e-02
|
||||
30 -2.2173867823429387e-02 1.4628839880961319e-02 -2.3330833961402380e-02
|
||||
31 9.1925713381983114e-03 -2.5697556639281928e-03 -1.2822203161488303e-02
|
||||
32 -8.3206975051927905e-03 -2.2538429924858707e-03 7.7620244118580314e-03
|
||||
33 1.9920685674825727e-02 5.0317764848494097e-03 -2.1106672824976403e-02
|
||||
34 1.4118463330250982e-02 1.7455545466840316e-02 -1.2482101375598437e-02
|
||||
35 -6.1116505640437966e-03 1.3353021777303568e-02 -2.5492434283827668e-02
|
||||
36 9.1001521565859649e-03 5.5737774505222404e-03 1.4573768978939985e-02
|
||||
37 1.6523593470528035e-03 -2.2107518020000917e-02 2.0311423445130115e-02
|
||||
38 -1.0346275393471860e-02 1.6055856586351790e-02 5.5489127019262424e-03
|
||||
39 -3.2054811383248638e-03 1.6779208962376315e-03 2.9390509537535661e-03
|
||||
40 1.9649219364916443e-02 4.0815776523222859e-03 -9.8422441166041274e-03
|
||||
41 5.6961697588160361e-04 7.1361132234741477e-04 4.6335764220256257e-03
|
||||
42 2.2221300208006252e-03 3.6217319632558197e-03 -6.3299398503455151e-03
|
||||
43 2.5710172734841170e-03 8.0029179814482924e-03 1.9992986928468189e-02
|
||||
44 -6.0827581822674656e-03 -1.1834273655641976e-02 2.0526923045885208e-02
|
||||
|
||||
Bonds
|
||||
|
||||
1 1 1 5
|
||||
2 1 1 4
|
||||
3 2 1 7
|
||||
4 2 1 8
|
||||
5 3 2 3
|
||||
6 5 2 11
|
||||
7 6 3 6
|
||||
8 4 7 2
|
||||
9 1 7 14
|
||||
10 1 7 15
|
||||
11 2 8 9
|
||||
12 1 8 16
|
||||
13 1 8 17
|
||||
14 4 9 10
|
||||
15 1 9 18
|
||||
16 1 9 19
|
||||
17 5 10 12
|
||||
18 3 10 13
|
||||
19 6 13 20
|
||||
20 7 21 22
|
||||
21 8 21 27
|
||||
22 8 21 28
|
||||
23 7 21 39
|
||||
24 9 22 23
|
||||
25 8 22 29
|
||||
26 8 22 30
|
||||
27 10 23 31
|
||||
28 10 23 32
|
||||
29 10 24 33
|
||||
30 10 24 34
|
||||
31 9 25 24
|
||||
32 7 25 26
|
||||
33 8 25 35
|
||||
34 8 25 36
|
||||
35 8 26 37
|
||||
36 8 26 38
|
||||
37 7 26 42
|
||||
38 8 39 40
|
||||
39 8 39 41
|
||||
40 7 39 42
|
||||
41 8 42 43
|
||||
42 8 42 44
|
||||
|
||||
Angles
|
||||
|
||||
1 1 5 1 4
|
||||
2 2 7 1 5
|
||||
3 2 8 1 5
|
||||
4 2 7 1 4
|
||||
5 2 8 1 4
|
||||
6 3 7 1 8
|
||||
7 4 7 2 3
|
||||
8 5 3 2 11
|
||||
9 6 7 2 11
|
||||
10 7 2 3 6
|
||||
11 8 1 7 2
|
||||
12 2 1 7 14
|
||||
13 2 1 7 15
|
||||
14 9 2 7 14
|
||||
15 9 2 7 15
|
||||
16 1 14 7 15
|
||||
17 3 1 8 9
|
||||
18 2 1 8 16
|
||||
19 2 1 8 17
|
||||
20 2 9 8 16
|
||||
21 2 9 8 17
|
||||
22 1 16 8 17
|
||||
23 8 8 9 10
|
||||
24 2 8 9 18
|
||||
25 2 8 9 19
|
||||
26 9 10 9 18
|
||||
27 9 10 9 19
|
||||
28 1 18 9 19
|
||||
29 6 9 10 12
|
||||
30 4 9 10 13
|
||||
31 5 13 10 12
|
||||
32 7 10 13 20
|
||||
33 10 22 21 27
|
||||
34 10 22 21 28
|
||||
35 11 22 21 39
|
||||
36 12 27 21 28
|
||||
37 10 39 21 27
|
||||
38 10 39 21 28
|
||||
39 13 21 22 23
|
||||
40 10 21 22 29
|
||||
41 10 21 22 30
|
||||
42 14 23 22 29
|
||||
43 14 23 22 30
|
||||
44 12 29 22 30
|
||||
45 15 22 23 31
|
||||
46 15 22 23 32
|
||||
47 16 31 23 32
|
||||
48 15 25 24 33
|
||||
49 15 25 24 34
|
||||
50 16 33 24 34
|
||||
51 13 26 25 24
|
||||
52 14 24 25 35
|
||||
53 14 24 25 36
|
||||
54 10 26 25 35
|
||||
55 10 26 25 36
|
||||
56 12 35 25 36
|
||||
57 10 25 26 37
|
||||
58 10 25 26 38
|
||||
59 11 25 26 42
|
||||
60 12 37 26 38
|
||||
61 10 42 26 37
|
||||
62 10 42 26 38
|
||||
63 10 21 39 40
|
||||
64 10 21 39 41
|
||||
65 11 21 39 42
|
||||
66 12 40 39 41
|
||||
67 10 42 39 40
|
||||
68 10 42 39 41
|
||||
69 11 26 42 39
|
||||
70 10 26 42 43
|
||||
71 10 26 42 44
|
||||
72 10 39 42 43
|
||||
73 10 39 42 44
|
||||
74 12 43 42 44
|
||||
|
||||
Dihedrals
|
||||
|
||||
1 2 5 1 7 14
|
||||
2 2 5 1 7 15
|
||||
3 2 4 1 7 14
|
||||
4 2 4 1 7 15
|
||||
5 3 8 1 7 2
|
||||
6 4 8 1 7 14
|
||||
7 4 8 1 7 15
|
||||
8 2 5 1 8 16
|
||||
9 2 5 1 8 17
|
||||
10 2 4 1 8 16
|
||||
11 2 4 1 8 17
|
||||
12 5 7 1 8 9
|
||||
13 4 7 1 8 16
|
||||
14 4 7 1 8 17
|
||||
15 6 7 2 3 6
|
||||
16 7 11 2 3 6
|
||||
17 1 2 7 1 5
|
||||
18 1 2 7 1 4
|
||||
19 8 1 7 2 3
|
||||
20 9 14 7 2 3
|
||||
21 9 15 7 2 3
|
||||
22 10 1 7 2 11
|
||||
23 11 14 7 2 11
|
||||
24 11 15 7 2 11
|
||||
25 4 9 8 1 5
|
||||
26 4 9 8 1 4
|
||||
27 3 1 8 9 10
|
||||
28 4 1 8 9 18
|
||||
29 4 1 8 9 19
|
||||
30 2 16 8 9 18
|
||||
31 2 16 8 9 19
|
||||
32 2 17 8 9 18
|
||||
33 2 17 8 9 19
|
||||
34 1 10 9 8 16
|
||||
35 1 10 9 8 17
|
||||
36 10 8 9 10 12
|
||||
37 8 8 9 10 13
|
||||
38 11 18 9 10 12
|
||||
39 9 18 9 10 13
|
||||
40 11 19 9 10 12
|
||||
41 9 19 9 10 13
|
||||
42 6 9 10 13 20
|
||||
43 7 12 10 13 20
|
||||
44 13 27 21 22 29
|
||||
45 13 27 21 22 30
|
||||
46 13 28 21 22 29
|
||||
47 13 28 21 22 30
|
||||
48 14 39 21 22 23
|
||||
49 15 39 21 22 29
|
||||
50 15 39 21 22 30
|
||||
51 15 22 21 39 40
|
||||
52 15 22 21 39 41
|
||||
53 16 22 21 39 42
|
||||
54 13 27 21 39 40
|
||||
55 13 27 21 39 41
|
||||
56 13 28 21 39 40
|
||||
57 13 28 21 39 41
|
||||
58 12 23 22 21 27
|
||||
59 12 23 22 21 28
|
||||
60 17 21 22 23 31
|
||||
61 17 21 22 23 32
|
||||
62 18 29 22 23 31
|
||||
63 18 29 22 23 32
|
||||
64 18 30 22 23 31
|
||||
65 18 30 22 23 32
|
||||
66 17 26 25 24 33
|
||||
67 18 35 25 24 33
|
||||
68 18 36 25 24 33
|
||||
69 17 26 25 24 34
|
||||
70 18 35 25 24 34
|
||||
71 18 36 25 24 34
|
||||
72 12 24 25 26 37
|
||||
73 12 24 25 26 38
|
||||
74 13 35 25 26 37
|
||||
75 13 35 25 26 38
|
||||
76 13 36 25 26 37
|
||||
77 13 36 25 26 38
|
||||
78 14 42 26 25 24
|
||||
79 15 42 26 25 35
|
||||
80 15 42 26 25 36
|
||||
81 16 25 26 42 39
|
||||
82 15 25 26 42 43
|
||||
83 15 25 26 42 44
|
||||
84 13 37 26 42 43
|
||||
85 13 37 26 42 44
|
||||
86 13 38 26 42 43
|
||||
87 13 38 26 42 44
|
||||
88 15 42 39 21 27
|
||||
89 15 42 39 21 28
|
||||
90 16 21 39 42 26
|
||||
91 15 21 39 42 43
|
||||
92 15 21 39 42 44
|
||||
93 13 40 39 42 43
|
||||
94 13 40 39 42 44
|
||||
95 13 41 39 42 43
|
||||
96 13 41 39 42 44
|
||||
97 15 39 42 26 37
|
||||
98 15 39 42 26 38
|
||||
99 15 26 42 39 40
|
||||
100 15 26 42 39 41
|
||||
|
||||
Impropers
|
||||
|
||||
1 2 7 1 4 5
|
||||
2 2 8 1 4 5
|
||||
3 3 7 1 8 5
|
||||
4 3 7 1 8 4
|
||||
5 1 7 2 3 11
|
||||
6 4 1 7 2 14
|
||||
7 4 1 7 2 15
|
||||
8 2 1 7 14 15
|
||||
9 5 2 7 14 15
|
||||
10 3 1 8 9 16
|
||||
11 3 1 8 9 17
|
||||
12 2 1 8 16 17
|
||||
13 2 9 8 16 17
|
||||
14 4 8 9 10 18
|
||||
15 4 8 9 10 19
|
||||
16 2 8 9 18 19
|
||||
17 5 10 9 18 19
|
||||
18 1 9 10 13 12
|
||||
19 7 22 21 27 28
|
||||
20 8 22 21 39 27
|
||||
21 8 22 21 39 28
|
||||
22 7 39 21 28 27
|
||||
23 9 21 22 23 29
|
||||
24 9 21 22 23 30
|
||||
25 7 21 22 29 30
|
||||
26 10 23 22 29 30
|
||||
27 6 22 23 31 32
|
||||
28 6 25 24 33 34
|
||||
29 9 26 25 24 35
|
||||
30 9 26 25 24 36
|
||||
31 10 24 25 35 36
|
||||
32 7 26 25 35 36
|
||||
33 7 25 26 37 38
|
||||
34 8 25 26 42 37
|
||||
35 8 25 26 42 38
|
||||
36 7 42 26 38 37
|
||||
37 7 21 39 40 41
|
||||
38 8 21 39 42 40
|
||||
39 8 21 39 42 41
|
||||
40 7 42 39 41 40
|
||||
41 8 26 42 39 43
|
||||
42 8 26 42 39 44
|
||||
43 7 26 42 43 44
|
||||
44 7 39 42 43 44
|
||||
127
examples/snap/log.20Apr18.snap.Mo_Chen.g++.1
Normal file
127
examples/snap/log.20Apr18.snap.Mo_Chen.g++.1
Normal file
@ -0,0 +1,127 @@
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate SNAP Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nsteps index 100
|
||||
variable nrep equal 4
|
||||
variable a equal 3.160
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 4
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 4
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 4
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice bcc $a
|
||||
lattice bcc 3.16
|
||||
Lattice spacing in x,y,z = 3.16 3.16 3.16
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 4 0 ${nz}
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (12.64 12.64 12.64)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
Time spent = 0.000223637 secs
|
||||
|
||||
mass 1 183.84
|
||||
|
||||
# choose potential
|
||||
|
||||
include Mo_Chen_PRM2017.snap
|
||||
|
||||
# DATE: 2017-09-18 CONTRIBUTOR: Chi Chen <chc273@eng.ucsd.edu> CITATION: C. Chen, Z. Deng, R. Tran, H. Tang, I.-H. Chu, S. P. Ong, "Accurate force field for molybdenum by machine learning large materials data" Physical Review Materials 1, 04 3603 (2017)
|
||||
# Generated by Materials Virtual Lab
|
||||
# Definition of SNAP potential.
|
||||
pair_style snap
|
||||
pair_coeff * * Mo_Chen_PRM2017.snapcoeff Mo Mo_Chen_PRM2017.snapparam Mo
|
||||
Reading potential file Mo_Chen_PRM2017.snapcoeff with DATE: 2017-09-18
|
||||
SNAP Element = Mo, Radius 0.5, Weight 1
|
||||
Reading potential file Mo_Chen_PRM2017.snapparam with DATE: 2017-09-18
|
||||
SNAP keyword rcutfac 4.615858
|
||||
SNAP keyword twojmax 6
|
||||
|
||||
|
||||
# Setup output
|
||||
|
||||
thermo 10
|
||||
thermo_modify norm yes
|
||||
|
||||
# Set up NVE run
|
||||
|
||||
timestep 0.5e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify once no every 1 delay 0 check yes
|
||||
|
||||
# Run MD
|
||||
|
||||
velocity all create 300.0 4928459
|
||||
fix 1 all nve
|
||||
run ${nsteps}
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.61586
|
||||
ghost atom cutoff = 5.61586
|
||||
binsize = 2.80793, bins = 5 5 5
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair snap, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.507 | 3.507 | 3.507 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -22.405975 0 -22.3675 2575.7657
|
||||
10 294.77555 -22.405305 0 -22.3675 2756.6894
|
||||
20 279.53011 -22.40335 0 -22.3675 3285.8272
|
||||
30 255.52174 -22.40027 0 -22.3675 4122.8933
|
||||
40 224.7299 -22.396321 0 -22.367499 5204.3499
|
||||
50 189.67529 -22.391825 0 -22.367499 6449.1308
|
||||
60 153.18862 -22.387145 0 -22.367499 7765.911
|
||||
70 118.14998 -22.382652 0 -22.367499 9061.1616
|
||||
80 87.224916 -22.378685 0 -22.367499 10247.68
|
||||
90 62.623892 -22.37553 0 -22.367498 11250.067
|
||||
100 45.9103 -22.373386 0 -22.367498 12011.726
|
||||
Loop time of 3.3917 on 1 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 1.274 ns/day, 18.843 hours/ns, 29.484 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 | 3.3906 | 3.3906 | 3.3906 | 0.0 | 99.97
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.00039721 | 0.00039721 | 0.00039721 | 0.0 | 0.01
|
||||
Output | 0.00023007 | 0.00023007 | 0.00023007 | 0.0 | 0.01
|
||||
Modify | 0.00021887 | 0.00021887 | 0.00021887 | 0.0 | 0.01
|
||||
Other | | 0.0002868 | | | 0.01
|
||||
|
||||
Nlocal: 128 ave 128 max 128 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 727 ave 727 max 727 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: 7424 ave 7424 max 7424 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 7424
|
||||
Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:03
|
||||
127
examples/snap/log.20Apr18.snap.Mo_Chen.g++.4
Normal file
127
examples/snap/log.20Apr18.snap.Mo_Chen.g++.4
Normal file
@ -0,0 +1,127 @@
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate SNAP Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nsteps index 100
|
||||
variable nrep equal 4
|
||||
variable a equal 3.160
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 4
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 4
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 4
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice bcc $a
|
||||
lattice bcc 3.16
|
||||
Lattice spacing in x,y,z = 3.16 3.16 3.16
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 4 0 ${nz}
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (12.64 12.64 12.64)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
Time spent = 0.000277281 secs
|
||||
|
||||
mass 1 183.84
|
||||
|
||||
# choose potential
|
||||
|
||||
include Mo_Chen_PRM2017.snap
|
||||
|
||||
# DATE: 2017-09-18 CONTRIBUTOR: Chi Chen <chc273@eng.ucsd.edu> CITATION: C. Chen, Z. Deng, R. Tran, H. Tang, I.-H. Chu, S. P. Ong, "Accurate force field for molybdenum by machine learning large materials data" Physical Review Materials 1, 04 3603 (2017)
|
||||
# Generated by Materials Virtual Lab
|
||||
# Definition of SNAP potential.
|
||||
pair_style snap
|
||||
pair_coeff * * Mo_Chen_PRM2017.snapcoeff Mo Mo_Chen_PRM2017.snapparam Mo
|
||||
Reading potential file Mo_Chen_PRM2017.snapcoeff with DATE: 2017-09-18
|
||||
SNAP Element = Mo, Radius 0.5, Weight 1
|
||||
Reading potential file Mo_Chen_PRM2017.snapparam with DATE: 2017-09-18
|
||||
SNAP keyword rcutfac 4.615858
|
||||
SNAP keyword twojmax 6
|
||||
|
||||
|
||||
# Setup output
|
||||
|
||||
thermo 10
|
||||
thermo_modify norm yes
|
||||
|
||||
# Set up NVE run
|
||||
|
||||
timestep 0.5e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify once no every 1 delay 0 check yes
|
||||
|
||||
# Run MD
|
||||
|
||||
velocity all create 300.0 4928459
|
||||
fix 1 all nve
|
||||
run ${nsteps}
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.61586
|
||||
ghost atom cutoff = 5.61586
|
||||
binsize = 2.80793, bins = 5 5 5
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair snap, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.486 | 3.486 | 3.486 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -22.405975 0 -22.3675 2575.7657
|
||||
10 294.63153 -22.405286 0 -22.3675 2753.4662
|
||||
20 278.98535 -22.40328 0 -22.3675 3272.416
|
||||
30 254.38916 -22.400125 0 -22.3675 4091.8933
|
||||
40 222.91191 -22.396088 0 -22.367499 5148.5505
|
||||
50 187.16984 -22.391504 0 -22.367499 6362.2454
|
||||
60 150.08253 -22.386747 0 -22.367499 7643.2732
|
||||
70 114.60307 -22.382197 0 -22.367499 8900.2448
|
||||
80 83.449257 -22.378201 0 -22.367499 10047.619
|
||||
90 58.862643 -22.375048 0 -22.367498 11012.233
|
||||
100 42.41931 -22.372939 0 -22.367498 11740.641
|
||||
Loop time of 1.91636 on 4 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 2.254 ns/day, 10.646 hours/ns, 52.182 timesteps/s
|
||||
97.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.8147 | 1.8411 | 1.8875 | 2.1 | 96.07
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.022276 | 0.069629 | 0.095057 | 10.7 | 3.63
|
||||
Output | 0.00032496 | 0.00065821 | 0.0016179 | 0.0 | 0.03
|
||||
Modify | 0.00019503 | 0.00020915 | 0.00023341 | 0.0 | 0.01
|
||||
Other | | 0.00481 | | | 0.25
|
||||
|
||||
Nlocal: 32 ave 32 max 32 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 431 ave 431 max 431 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: 1856 ave 1856 max 1856 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 7424
|
||||
Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:01
|
||||
@ -1,4 +1,6 @@
|
||||
LAMMPS (5 Oct 2016)
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate SNAP Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
@ -31,12 +33,13 @@ Created orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
Time spent = 0.000328064 secs
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
# choose potential
|
||||
|
||||
include Ta06A_pot.snap
|
||||
include Ta06A.snap
|
||||
# DATE: 2014-09-05 CONTRIBUTOR: Aidan Thompson athomps@sandia.gov CITATION: Thompson, Swiler, Trott, Foiles and Tucker, arxiv.org, 1409.3880 (2014)
|
||||
|
||||
# Definition of SNAP potential Ta_Cand06A
|
||||
@ -48,10 +51,9 @@ variable zblz equal 73
|
||||
|
||||
# Specify hybrid with SNAP, ZBL
|
||||
|
||||
pair_style hybrid/overlay snap zbl ${zblcutinner} ${zblcutouter}
|
||||
pair_style hybrid/overlay snap zbl 4 ${zblcutouter}
|
||||
pair_style hybrid/overlay snap zbl 4 4.8
|
||||
|
||||
pair_style hybrid/overlay zbl ${zblcutinner} ${zblcutouter} snap
|
||||
pair_style hybrid/overlay zbl 4 ${zblcutouter} snap
|
||||
pair_style hybrid/overlay zbl 4 4.8 snap
|
||||
pair_coeff 1 1 zbl ${zblz} ${zblz}
|
||||
pair_coeff 1 1 zbl 73 ${zblz}
|
||||
pair_coeff 1 1 zbl 73 73
|
||||
@ -61,10 +63,11 @@ SNAP Element = Ta, Radius 0.5, Weight 1
|
||||
Reading potential file Ta06A.snapparam with DATE: 2014-09-05
|
||||
SNAP keyword rcutfac 4.67637
|
||||
SNAP keyword twojmax 6
|
||||
SNAP keyword gamma 1
|
||||
SNAP keyword rfac0 0.99363
|
||||
SNAP keyword rmin0 0
|
||||
SNAP keyword diagonalstyle 3
|
||||
SNAP keyword bzeroflag 0
|
||||
SNAP keyword quadraticflag 0
|
||||
|
||||
|
||||
# Setup output
|
||||
@ -85,13 +88,23 @@ fix 1 all nve
|
||||
run ${nsteps}
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
2 neighbor list requests
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.8
|
||||
ghost atom cutoff = 5.8
|
||||
binsize = 2.9 -> bins = 5 5 5
|
||||
Memory usage per processor = 2.92823 Mbytes
|
||||
binsize = 2.9, bins = 5 5 5
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair zbl, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair snap, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 4.138 | 4.138 | 4.138 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -11.85157 0 -11.813095 2717.1661
|
||||
10 295.96579 -11.851053 0 -11.813095 2696.1559
|
||||
@ -104,20 +117,20 @@ Step Temp E_pair E_mol TotEng Press
|
||||
80 124.04276 -11.829003 0 -11.813094 1537.703
|
||||
90 97.37622 -11.825582 0 -11.813094 1734.9662
|
||||
100 75.007873 -11.822714 0 -11.813094 1930.8005
|
||||
Loop time of 3.43062 on 1 procs for 100 steps with 128 atoms
|
||||
Loop time of 2.53266 on 1 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 1.259 ns/day, 19.059 hours/ns, 29.149 timesteps/s
|
||||
99.9% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
Performance: 1.706 ns/day, 14.070 hours/ns, 39.484 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 | 3.4295 | 3.4295 | 3.4295 | 0.0 | 99.97
|
||||
Pair | 2.5313 | 2.5313 | 2.5313 | 0.0 | 99.95
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.00043988 | 0.00043988 | 0.00043988 | 0.0 | 0.01
|
||||
Output | 0.00010014 | 0.00010014 | 0.00010014 | 0.0 | 0.00
|
||||
Modify | 0.00024533 | 0.00024533 | 0.00024533 | 0.0 | 0.01
|
||||
Other | | 0.0002978 | | | 0.01
|
||||
Comm | 0.00051379 | 0.00051379 | 0.00051379 | 0.0 | 0.02
|
||||
Output | 0.00023317 | 0.00023317 | 0.00023317 | 0.0 | 0.01
|
||||
Modify | 0.00023675 | 0.00023675 | 0.00023675 | 0.0 | 0.01
|
||||
Other | | 0.0003583 | | | 0.01
|
||||
|
||||
Nlocal: 128 ave 128 max 128 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
@ -133,4 +146,4 @@ Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:03
|
||||
Total wall time: 0:00:02
|
||||
@ -1,4 +1,6 @@
|
||||
LAMMPS (5 Oct 2016)
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate SNAP Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
@ -31,12 +33,13 @@ Created orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
Time spent = 0.000288486 secs
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
# choose potential
|
||||
|
||||
include Ta06A_pot.snap
|
||||
include Ta06A.snap
|
||||
# DATE: 2014-09-05 CONTRIBUTOR: Aidan Thompson athomps@sandia.gov CITATION: Thompson, Swiler, Trott, Foiles and Tucker, arxiv.org, 1409.3880 (2014)
|
||||
|
||||
# Definition of SNAP potential Ta_Cand06A
|
||||
@ -48,10 +51,9 @@ variable zblz equal 73
|
||||
|
||||
# Specify hybrid with SNAP, ZBL
|
||||
|
||||
pair_style hybrid/overlay snap zbl ${zblcutinner} ${zblcutouter}
|
||||
pair_style hybrid/overlay snap zbl 4 ${zblcutouter}
|
||||
pair_style hybrid/overlay snap zbl 4 4.8
|
||||
|
||||
pair_style hybrid/overlay zbl ${zblcutinner} ${zblcutouter} snap
|
||||
pair_style hybrid/overlay zbl 4 ${zblcutouter} snap
|
||||
pair_style hybrid/overlay zbl 4 4.8 snap
|
||||
pair_coeff 1 1 zbl ${zblz} ${zblz}
|
||||
pair_coeff 1 1 zbl 73 ${zblz}
|
||||
pair_coeff 1 1 zbl 73 73
|
||||
@ -61,10 +63,11 @@ SNAP Element = Ta, Radius 0.5, Weight 1
|
||||
Reading potential file Ta06A.snapparam with DATE: 2014-09-05
|
||||
SNAP keyword rcutfac 4.67637
|
||||
SNAP keyword twojmax 6
|
||||
SNAP keyword gamma 1
|
||||
SNAP keyword rfac0 0.99363
|
||||
SNAP keyword rmin0 0
|
||||
SNAP keyword diagonalstyle 3
|
||||
SNAP keyword bzeroflag 0
|
||||
SNAP keyword quadraticflag 0
|
||||
|
||||
|
||||
# Setup output
|
||||
@ -85,13 +88,23 @@ fix 1 all nve
|
||||
run ${nsteps}
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
2 neighbor list requests
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.8
|
||||
ghost atom cutoff = 5.8
|
||||
binsize = 2.9 -> bins = 5 5 5
|
||||
Memory usage per processor = 2.91109 Mbytes
|
||||
binsize = 2.9, bins = 5 5 5
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair zbl, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair snap, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 4.118 | 4.118 | 4.118 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -11.85157 0 -11.813095 2717.1661
|
||||
10 295.8664 -11.85104 0 -11.813095 2702.935
|
||||
@ -104,20 +117,20 @@ Step Temp E_pair E_mol TotEng Press
|
||||
80 121.80051 -11.828715 0 -11.813094 1627.6911
|
||||
90 95.262635 -11.825311 0 -11.813094 1812.9327
|
||||
100 73.194645 -11.822481 0 -11.813094 1995.2199
|
||||
Loop time of 0.89193 on 4 procs for 100 steps with 128 atoms
|
||||
Loop time of 1.3621 on 4 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 4.843 ns/day, 4.955 hours/ns, 112.116 timesteps/s
|
||||
99.9% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
Performance: 3.172 ns/day, 7.567 hours/ns, 73.416 timesteps/s
|
||||
98.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.84444 | 0.86772 | 0.88108 | 1.6 | 97.29
|
||||
Pair | 1.2867 | 1.309 | 1.35 | 2.1 | 96.10
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.009577 | 0.023049 | 0.046417 | 9.8 | 2.58
|
||||
Output | 0.00024009 | 0.00026137 | 0.00027895 | 0.1 | 0.03
|
||||
Modify | 8.2493e-05 | 9.352e-05 | 0.00010061 | 0.1 | 0.01
|
||||
Other | | 0.0008071 | | | 0.09
|
||||
Comm | 0.0096083 | 0.050652 | 0.072999 | 10.9 | 3.72
|
||||
Output | 0.00031447 | 0.00060236 | 0.0014303 | 0.0 | 0.04
|
||||
Modify | 0.00014234 | 0.00016212 | 0.00018811 | 0.0 | 0.01
|
||||
Other | | 0.001728 | | | 0.13
|
||||
|
||||
Nlocal: 32 ave 32 max 32 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
@ -133,4 +146,4 @@ Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:00
|
||||
Total wall time: 0:00:01
|
||||
@ -1,4 +1,6 @@
|
||||
LAMMPS (13 Feb 2017)
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate SNAP Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
@ -31,20 +33,21 @@ Created orthogonal box = (0 0 0) to (12.7212 12.7212 12.7212)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
Time spent = 0.000190258 secs
|
||||
|
||||
mass 1 183.84
|
||||
|
||||
# choose potential
|
||||
|
||||
include W_2940_2017_2.pot.snap
|
||||
# DATE: 2017-02-20 CONTRIBUTOR: Mitchell Wood mitwood@sandia.gov CITATION: Wood, M. A. and Thompson, A. P. to appear in arxiv Feb2017
|
||||
include W_2940_2017_2.snap
|
||||
# DATE: 2017-02-20 CONTRIBUTOR: Mitchell Wood mitwood@sandia.gov CITATION: Wood, M. A. and Thompson, A. P. "Quantum-Accurate Molecular Dynamics Potential for Tungsten" arXiv:1702.07042 [physics.comp-ph]
|
||||
#
|
||||
# Definition of SNAP+ZBL potential.
|
||||
variable zblcutinner equal 4
|
||||
variable zblcutouter equal 4.8
|
||||
variable zblz equal 74
|
||||
|
||||
# Specify hybrid with SNAP, ZBL, and long-range Coulomb
|
||||
# Specify hybrid with SNAP and ZBL
|
||||
|
||||
pair_style hybrid/overlay zbl ${zblcutinner} ${zblcutouter} snap
|
||||
pair_style hybrid/overlay zbl 4 ${zblcutouter} snap
|
||||
@ -58,10 +61,11 @@ SNAP Element = W, Radius 0.5, Weight 1
|
||||
Reading potential file W_2940_2017_2.snapparam with DATE: 2017-02-20
|
||||
SNAP keyword rcutfac 4.73442
|
||||
SNAP keyword twojmax 8
|
||||
SNAP keyword gamma 1
|
||||
SNAP keyword rfac0 0.99363
|
||||
SNAP keyword rmin0 0
|
||||
SNAP keyword diagonalstyle 3
|
||||
SNAP keyword bzeroflag 0
|
||||
SNAP keyword quadraticflag 0
|
||||
|
||||
#Nomenclature on the snap files are Element_DakotaID_Year_Month
|
||||
|
||||
@ -99,7 +103,7 @@ Neighbor list info ...
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Memory usage per processor = 5.14696 Mbytes
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.15 | 5.15 | 5.15 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -11.028325 0 -10.98985 3010.497
|
||||
10 293.40666 -11.027479 0 -10.989849 3246.0559
|
||||
@ -112,20 +116,20 @@ Step Temp E_pair E_mol TotEng Press
|
||||
80 58.605244 -10.997364 0 -10.989848 11289.914
|
||||
90 39.754503 -10.994946 0 -10.989848 11824.945
|
||||
100 32.524085 -10.994019 0 -10.989848 11932.118
|
||||
Loop time of 11.8271 on 1 procs for 100 steps with 128 atoms
|
||||
Loop time of 9.69738 on 1 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 0.365 ns/day, 65.706 hours/ns, 8.455 timesteps/s
|
||||
99.9% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
Performance: 0.445 ns/day, 53.874 hours/ns, 10.312 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 | 11.826 | 11.826 | 11.826 | 0.0 | 99.99
|
||||
Pair | 9.6961 | 9.6961 | 9.6961 | 0.0 | 99.99
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.00044084 | 0.00044084 | 0.00044084 | 0.0 | 0.00
|
||||
Output | 0.00013232 | 0.00013232 | 0.00013232 | 0.0 | 0.00
|
||||
Modify | 0.00021887 | 0.00021887 | 0.00021887 | 0.0 | 0.00
|
||||
Other | | 0.0002718 | | | 0.00
|
||||
Comm | 0.00044036 | 0.00044036 | 0.00044036 | 0.0 | 0.00
|
||||
Output | 0.00024843 | 0.00024843 | 0.00024843 | 0.0 | 0.00
|
||||
Modify | 0.00023937 | 0.00023937 | 0.00023937 | 0.0 | 0.00
|
||||
Other | | 0.0003347 | | | 0.00
|
||||
|
||||
Nlocal: 128 ave 128 max 128 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
@ -141,4 +145,4 @@ Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:11
|
||||
Total wall time: 0:00:09
|
||||
@ -1,4 +1,6 @@
|
||||
LAMMPS (13 Feb 2017)
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate SNAP Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
@ -31,20 +33,21 @@ Created orthogonal box = (0 0 0) to (12.7212 12.7212 12.7212)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
Time spent = 0.000309944 secs
|
||||
|
||||
mass 1 183.84
|
||||
|
||||
# choose potential
|
||||
|
||||
include W_2940_2017_2.pot.snap
|
||||
# DATE: 2017-02-20 CONTRIBUTOR: Mitchell Wood mitwood@sandia.gov CITATION: Wood, M. A. and Thompson, A. P. to appear in arxiv Feb2017
|
||||
include W_2940_2017_2.snap
|
||||
# DATE: 2017-02-20 CONTRIBUTOR: Mitchell Wood mitwood@sandia.gov CITATION: Wood, M. A. and Thompson, A. P. "Quantum-Accurate Molecular Dynamics Potential for Tungsten" arXiv:1702.07042 [physics.comp-ph]
|
||||
#
|
||||
# Definition of SNAP+ZBL potential.
|
||||
variable zblcutinner equal 4
|
||||
variable zblcutouter equal 4.8
|
||||
variable zblz equal 74
|
||||
|
||||
# Specify hybrid with SNAP, ZBL, and long-range Coulomb
|
||||
# Specify hybrid with SNAP and ZBL
|
||||
|
||||
pair_style hybrid/overlay zbl ${zblcutinner} ${zblcutouter} snap
|
||||
pair_style hybrid/overlay zbl 4 ${zblcutouter} snap
|
||||
@ -58,10 +61,11 @@ SNAP Element = W, Radius 0.5, Weight 1
|
||||
Reading potential file W_2940_2017_2.snapparam with DATE: 2017-02-20
|
||||
SNAP keyword rcutfac 4.73442
|
||||
SNAP keyword twojmax 8
|
||||
SNAP keyword gamma 1
|
||||
SNAP keyword rfac0 0.99363
|
||||
SNAP keyword rmin0 0
|
||||
SNAP keyword diagonalstyle 3
|
||||
SNAP keyword bzeroflag 0
|
||||
SNAP keyword quadraticflag 0
|
||||
|
||||
#Nomenclature on the snap files are Element_DakotaID_Year_Month
|
||||
|
||||
@ -99,7 +103,7 @@ Neighbor list info ...
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Memory usage per processor = 5.12833 Mbytes
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.13 | 5.13 | 5.13 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -11.028325 0 -10.98985 3010.497
|
||||
10 293.22504 -11.027456 0 -10.989849 3258.275
|
||||
@ -112,20 +116,20 @@ Step Temp E_pair E_mol TotEng Press
|
||||
80 56.127265 -10.997046 0 -10.989848 11551.687
|
||||
90 38.025013 -10.994724 0 -10.989847 12069.936
|
||||
100 31.768127 -10.993922 0 -10.989847 12145.648
|
||||
Loop time of 3.03545 on 4 procs for 100 steps with 128 atoms
|
||||
Loop time of 5.15615 on 4 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 1.423 ns/day, 16.864 hours/ns, 32.944 timesteps/s
|
||||
99.9% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
Performance: 0.838 ns/day, 28.645 hours/ns, 19.394 timesteps/s
|
||||
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 2.9594 | 2.9866 | 3.0319 | 1.6 | 98.39
|
||||
Pair | 5.0497 | 5.0762 | 5.092 | 0.8 | 98.45
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.0024238 | 0.047825 | 0.075032 | 12.5 | 1.58
|
||||
Output | 0.00021601 | 0.00024045 | 0.00027442 | 0.0 | 0.01
|
||||
Modify | 9.6798e-05 | 0.00011188 | 0.00011802 | 0.0 | 0.00
|
||||
Other | | 0.000698 | | | 0.02
|
||||
Comm | 0.060802 | 0.07661 | 0.10305 | 6.1 | 1.49
|
||||
Output | 0.00040722 | 0.00078458 | 0.0018959 | 0.0 | 0.02
|
||||
Modify | 0.0002389 | 0.00024962 | 0.00027442 | 0.0 | 0.00
|
||||
Other | | 0.002315 | | | 0.04
|
||||
|
||||
Nlocal: 32 ave 32 max 32 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
@ -141,4 +145,4 @@ Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:03
|
||||
Total wall time: 0:00:05
|
||||
@ -1,4 +1,6 @@
|
||||
LAMMPS (13 Feb 2017)
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate SNAP Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
@ -31,6 +33,7 @@ Created orthogonal box = (0 0 0) to (12.7212 12.7212 12.7212)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
Time spent = 0.000431538 secs
|
||||
mass 1 183.84
|
||||
mass 2 4.0026
|
||||
|
||||
@ -42,15 +45,15 @@ group helium type 2
|
||||
5 atoms in group helium
|
||||
# choose potential
|
||||
|
||||
include W.SNAP_HePair.pot
|
||||
# DATE: 2017-02-20 CONTRIBUTOR: Mitchell Wood mitwood@sandia.gov CITATION: Wood, M. A. and Thompson, A. P. to appear in arxiv Feb2017, W-He and He-He from Juslin, N. and Wirth, B. D. Journal of Nuclear Materials, 423, (2013) p61-63
|
||||
include W_2940_2017_2_He_JW2013.snap
|
||||
# DATE: 2017-02-20 CONTRIBUTOR: Mitchell Wood mitwood@sandia.gov CITATION: Wood, M. A. and Thompson, A. P. "Quantum-Accurate Molecular Dynamics Potential for Tungsten" arXiv:1702.07042 [physics.comp-ph]
|
||||
#
|
||||
# Definition of SNAP+ZBL+Tabulated potential.
|
||||
variable zblcutinner equal 4
|
||||
variable zblcutouter equal 4.8
|
||||
variable zblz equal 74
|
||||
|
||||
# Specify hybrid with SNAP, ZBL, and long-range Coulomb
|
||||
# Specify hybrid with SNAP and ZBL
|
||||
|
||||
pair_style hybrid/overlay zbl ${zblcutinner} ${zblcutouter} snap table spline 10000 table spline 10000
|
||||
pair_style hybrid/overlay zbl 4 ${zblcutouter} snap table spline 10000 table spline 10000
|
||||
@ -64,18 +67,19 @@ SNAP Element = W, Radius 0.5, Weight 1
|
||||
Reading potential file W_2940_2017_2.snapparam with DATE: 2017-02-20
|
||||
SNAP keyword rcutfac 4.73442
|
||||
SNAP keyword twojmax 8
|
||||
SNAP keyword gamma 1
|
||||
SNAP keyword rfac0 0.99363
|
||||
SNAP keyword rmin0 0
|
||||
SNAP keyword diagonalstyle 3
|
||||
SNAP keyword bzeroflag 0
|
||||
SNAP keyword quadraticflag 0
|
||||
pair_coeff 2 2 table 1 He_He_JW2013.table HeHe
|
||||
Reading potential file He_He_JW2013.table with DATE: 2017-02-20
|
||||
WARNING: 1 of 4999 force values in table are inconsistent with -dE/dr.
|
||||
Should only be flagged at inflection points (../pair_table.cpp:476)
|
||||
Should only be flagged at inflection points (../pair_table.cpp:481)
|
||||
pair_coeff 1 2 table 2 W_He_JW2013.table WHe
|
||||
Reading potential file W_He_JW2013.table with DATE: 2017-02-20
|
||||
WARNING: 3 of 325 force values in table are inconsistent with -dE/dr.
|
||||
Should only be flagged at inflection points (../pair_table.cpp:476)
|
||||
Should only be flagged at inflection points (../pair_table.cpp:481)
|
||||
#Hybrid/overlay will take all pair styles and add their contributions equally, order of pair_coeff doesnt matter here
|
||||
#This is not the case for pair_style hybrid ... where only one pair_coeff is read for each type combination, order matters here.
|
||||
|
||||
@ -134,7 +138,7 @@ Neighbor list info ...
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Memory usage per processor = 7.6729 Mbytes
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.676 | 7.676 | 7.676 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -10.438105 0 -10.39963 -5445.2808
|
||||
10 290.48923 -10.436885 0 -10.399629 -5646.4813
|
||||
@ -147,20 +151,20 @@ Step Temp E_pair E_mol TotEng Press
|
||||
80 85.903126 -10.410645 0 -10.399628 857.74986
|
||||
90 65.223651 -10.407993 0 -10.399628 1494.2746
|
||||
100 59.833542 -10.407302 0 -10.399628 1938.9164
|
||||
Loop time of 11.0736 on 1 procs for 100 steps with 128 atoms
|
||||
Loop time of 8.902 on 1 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 0.390 ns/day, 61.520 hours/ns, 9.030 timesteps/s
|
||||
99.9% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
Performance: 0.485 ns/day, 49.456 hours/ns, 11.233 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 | 11.072 | 11.072 | 11.072 | 0.0 | 99.99
|
||||
Neigh | 0.00041604 | 0.00041604 | 0.00041604 | 0.0 | 0.00
|
||||
Comm | 0.00046253 | 0.00046253 | 0.00046253 | 0.0 | 0.00
|
||||
Output | 0.0001657 | 0.0001657 | 0.0001657 | 0.0 | 0.00
|
||||
Modify | 0.0002265 | 0.0002265 | 0.0002265 | 0.0 | 0.00
|
||||
Other | | 0.0003119 | | | 0.00
|
||||
Pair | 8.9002 | 8.9002 | 8.9002 | 0.0 | 99.98
|
||||
Neigh | 0.00043058 | 0.00043058 | 0.00043058 | 0.0 | 0.00
|
||||
Comm | 0.00045776 | 0.00045776 | 0.00045776 | 0.0 | 0.01
|
||||
Output | 0.00025344 | 0.00025344 | 0.00025344 | 0.0 | 0.00
|
||||
Modify | 0.00022483 | 0.00022483 | 0.00022483 | 0.0 | 0.00
|
||||
Other | | 0.0003953 | | | 0.00
|
||||
|
||||
Nlocal: 128 ave 128 max 128 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
@ -176,4 +180,4 @@ Ave neighs/atom = 53.5156
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:11
|
||||
Total wall time: 0:00:09
|
||||
@ -1,4 +1,6 @@
|
||||
LAMMPS (13 Feb 2017)
|
||||
LAMMPS (20 Apr 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate SNAP Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
@ -31,6 +33,7 @@ Created orthogonal box = (0 0 0) to (12.7212 12.7212 12.7212)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
Time spent = 0.000274658 secs
|
||||
mass 1 183.84
|
||||
mass 2 4.0026
|
||||
|
||||
@ -42,15 +45,15 @@ group helium type 2
|
||||
5 atoms in group helium
|
||||
# choose potential
|
||||
|
||||
include W.SNAP_HePair.pot
|
||||
# DATE: 2017-02-20 CONTRIBUTOR: Mitchell Wood mitwood@sandia.gov CITATION: Wood, M. A. and Thompson, A. P. to appear in arxiv Feb2017, W-He and He-He from Juslin, N. and Wirth, B. D. Journal of Nuclear Materials, 423, (2013) p61-63
|
||||
include W_2940_2017_2_He_JW2013.snap
|
||||
# DATE: 2017-02-20 CONTRIBUTOR: Mitchell Wood mitwood@sandia.gov CITATION: Wood, M. A. and Thompson, A. P. "Quantum-Accurate Molecular Dynamics Potential for Tungsten" arXiv:1702.07042 [physics.comp-ph]
|
||||
#
|
||||
# Definition of SNAP+ZBL+Tabulated potential.
|
||||
variable zblcutinner equal 4
|
||||
variable zblcutouter equal 4.8
|
||||
variable zblz equal 74
|
||||
|
||||
# Specify hybrid with SNAP, ZBL, and long-range Coulomb
|
||||
# Specify hybrid with SNAP and ZBL
|
||||
|
||||
pair_style hybrid/overlay zbl ${zblcutinner} ${zblcutouter} snap table spline 10000 table spline 10000
|
||||
pair_style hybrid/overlay zbl 4 ${zblcutouter} snap table spline 10000 table spline 10000
|
||||
@ -64,18 +67,19 @@ SNAP Element = W, Radius 0.5, Weight 1
|
||||
Reading potential file W_2940_2017_2.snapparam with DATE: 2017-02-20
|
||||
SNAP keyword rcutfac 4.73442
|
||||
SNAP keyword twojmax 8
|
||||
SNAP keyword gamma 1
|
||||
SNAP keyword rfac0 0.99363
|
||||
SNAP keyword rmin0 0
|
||||
SNAP keyword diagonalstyle 3
|
||||
SNAP keyword bzeroflag 0
|
||||
SNAP keyword quadraticflag 0
|
||||
pair_coeff 2 2 table 1 He_He_JW2013.table HeHe
|
||||
Reading potential file He_He_JW2013.table with DATE: 2017-02-20
|
||||
WARNING: 1 of 4999 force values in table are inconsistent with -dE/dr.
|
||||
Should only be flagged at inflection points (../pair_table.cpp:476)
|
||||
Should only be flagged at inflection points (../pair_table.cpp:481)
|
||||
pair_coeff 1 2 table 2 W_He_JW2013.table WHe
|
||||
Reading potential file W_He_JW2013.table with DATE: 2017-02-20
|
||||
WARNING: 3 of 325 force values in table are inconsistent with -dE/dr.
|
||||
Should only be flagged at inflection points (../pair_table.cpp:476)
|
||||
Should only be flagged at inflection points (../pair_table.cpp:481)
|
||||
#Hybrid/overlay will take all pair styles and add their contributions equally, order of pair_coeff doesnt matter here
|
||||
#This is not the case for pair_style hybrid ... where only one pair_coeff is read for each type combination, order matters here.
|
||||
|
||||
@ -134,7 +138,7 @@ Neighbor list info ...
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Memory usage per processor = 7.65426 Mbytes
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.656 | 7.656 | 7.656 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -10.438105 0 -10.39963 -5445.2808
|
||||
10 292.13979 -10.437097 0 -10.39963 -5516.3963
|
||||
@ -147,20 +151,20 @@ Step Temp E_pair E_mol TotEng Press
|
||||
80 79.985938 -10.409886 0 -10.399628 2392.1106
|
||||
90 62.568933 -10.407652 0 -10.399628 3141.7027
|
||||
100 56.697933 -10.406899 0 -10.399628 3583.9538
|
||||
Loop time of 2.8757 on 4 procs for 100 steps with 128 atoms
|
||||
Loop time of 4.82103 on 4 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 1.502 ns/day, 15.976 hours/ns, 34.774 timesteps/s
|
||||
99.9% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
Performance: 0.896 ns/day, 26.783 hours/ns, 20.742 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 | 2.7363 | 2.8122 | 2.8636 | 2.9 | 97.79
|
||||
Pair | 4.4837 | 4.6734 | 4.7605 | 5.2 | 96.94
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.011014 | 0.062439 | 0.13842 | 19.3 | 2.17
|
||||
Output | 0.00023842 | 0.00025076 | 0.0002861 | 0.0 | 0.01
|
||||
Modify | 9.2506e-05 | 9.9301e-05 | 0.00010395 | 0.0 | 0.00
|
||||
Other | | 0.0006654 | | | 0.02
|
||||
Comm | 0.057389 | 0.14453 | 0.33421 | 29.4 | 3.00
|
||||
Output | 0.00038719 | 0.00073916 | 0.0017841 | 0.0 | 0.02
|
||||
Modify | 0.00018716 | 0.00022203 | 0.00026417 | 0.0 | 0.00
|
||||
Other | | 0.002119 | | | 0.04
|
||||
|
||||
Nlocal: 32 ave 32 max 32 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
@ -176,4 +180,4 @@ Ave neighs/atom = 53.5156
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:02
|
||||
Total wall time: 0:00:04
|
||||
@ -1,9 +1,9 @@
|
||||
|
||||
$(COLVARS_OBJ_DIR)colvaratoms.o: colvaratoms.cpp colvarmodule.h \
|
||||
colvars_version.h colvarproxy.h colvarvalue.h colvartypes.h \
|
||||
colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h \
|
||||
colvarparse.h colvaratoms.h colvardeps.h
|
||||
$(COLVARS_OBJ_DIR)colvarbias_abf.o: colvarbias_abf.cpp colvarmodule.h \
|
||||
colvars_version.h colvarproxy.h colvarvalue.h colvartypes.h colvar.h \
|
||||
colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h colvar.h \
|
||||
colvarparse.h colvardeps.h lepton/include/Lepton.h \
|
||||
lepton/include/lepton/CompiledExpression.h \
|
||||
lepton/include/lepton/ExpressionTreeNode.h \
|
||||
@ -29,7 +29,7 @@ $(COLVARS_OBJ_DIR)colvarbias_alb.o: colvarbias_alb.cpp colvarmodule.h \
|
||||
lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
|
||||
colvarbias_alb.h
|
||||
$(COLVARS_OBJ_DIR)colvarbias.o: colvarbias.cpp colvarmodule.h \
|
||||
colvars_version.h colvarproxy.h colvarvalue.h colvartypes.h colvarbias.h \
|
||||
colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h colvarbias.h \
|
||||
colvar.h colvarparse.h colvardeps.h lepton/include/Lepton.h \
|
||||
lepton/include/lepton/CompiledExpression.h \
|
||||
lepton/include/lepton/ExpressionTreeNode.h \
|
||||
@ -42,8 +42,8 @@ $(COLVARS_OBJ_DIR)colvarbias.o: colvarbias.cpp colvarmodule.h \
|
||||
lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
|
||||
colvargrid.h
|
||||
$(COLVARS_OBJ_DIR)colvarbias_histogram.o: colvarbias_histogram.cpp \
|
||||
colvarmodule.h colvars_version.h colvarproxy.h colvarvalue.h \
|
||||
colvartypes.h colvar.h colvarparse.h colvardeps.h \
|
||||
colvarmodule.h colvars_version.h colvarproxy.h colvartypes.h \
|
||||
colvarvalue.h colvar.h colvarparse.h colvardeps.h \
|
||||
lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \
|
||||
lepton/include/lepton/ExpressionTreeNode.h \
|
||||
lepton/include/lepton/windowsIncludes.h \
|
||||
@ -55,7 +55,7 @@ $(COLVARS_OBJ_DIR)colvarbias_histogram.o: colvarbias_histogram.cpp \
|
||||
lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
|
||||
colvarbias_histogram.h colvarbias.h colvargrid.h
|
||||
$(COLVARS_OBJ_DIR)colvarbias_meta.o: colvarbias_meta.cpp colvarmodule.h \
|
||||
colvars_version.h colvarproxy.h colvarvalue.h colvartypes.h colvar.h \
|
||||
colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h colvar.h \
|
||||
colvarparse.h colvardeps.h lepton/include/Lepton.h \
|
||||
lepton/include/lepton/CompiledExpression.h \
|
||||
lepton/include/lepton/ExpressionTreeNode.h \
|
||||
@ -68,8 +68,8 @@ $(COLVARS_OBJ_DIR)colvarbias_meta.o: colvarbias_meta.cpp colvarmodule.h \
|
||||
lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
|
||||
colvarbias_meta.h colvarbias.h colvargrid.h
|
||||
$(COLVARS_OBJ_DIR)colvarbias_restraint.o: colvarbias_restraint.cpp \
|
||||
colvarmodule.h colvars_version.h colvarproxy.h colvarvalue.h \
|
||||
colvartypes.h colvarbias_restraint.h colvarbias.h colvar.h colvarparse.h \
|
||||
colvarmodule.h colvars_version.h colvarproxy.h colvartypes.h \
|
||||
colvarvalue.h colvarbias_restraint.h colvarbias.h colvar.h colvarparse.h \
|
||||
colvardeps.h lepton/include/Lepton.h \
|
||||
lepton/include/lepton/CompiledExpression.h \
|
||||
lepton/include/lepton/ExpressionTreeNode.h \
|
||||
@ -171,7 +171,7 @@ $(COLVARS_OBJ_DIR)colvar.o: colvar.cpp colvarmodule.h colvars_version.h \
|
||||
lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
|
||||
colvarcomp.h colvaratoms.h colvarproxy.h colvarscript.h colvarbias.h
|
||||
$(COLVARS_OBJ_DIR)colvardeps.o: colvardeps.cpp colvarmodule.h \
|
||||
colvars_version.h colvarproxy.h colvarvalue.h colvartypes.h colvardeps.h \
|
||||
colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h colvardeps.h \
|
||||
colvarparse.h
|
||||
$(COLVARS_OBJ_DIR)colvargrid.o: colvargrid.cpp colvarmodule.h \
|
||||
colvars_version.h colvarvalue.h colvartypes.h colvarparse.h colvar.h \
|
||||
@ -204,7 +204,7 @@ $(COLVARS_OBJ_DIR)colvarmodule.o: colvarmodule.cpp colvarmodule.h \
|
||||
$(COLVARS_OBJ_DIR)colvarparse.o: colvarparse.cpp colvarmodule.h \
|
||||
colvars_version.h colvarvalue.h colvartypes.h colvarparse.h
|
||||
$(COLVARS_OBJ_DIR)colvarproxy.o: colvarproxy.cpp colvarmodule.h \
|
||||
colvars_version.h colvarproxy.h colvarvalue.h colvartypes.h \
|
||||
colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h \
|
||||
colvarscript.h colvarbias.h colvar.h colvarparse.h colvardeps.h \
|
||||
lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \
|
||||
lepton/include/lepton/ExpressionTreeNode.h \
|
||||
|
||||
@ -7,6 +7,10 @@
|
||||
// If you wish to distribute your changes, please submit them to the
|
||||
// Colvars repository at GitHub.
|
||||
|
||||
#include <list>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
|
||||
#include "colvarmodule.h"
|
||||
#include "colvarvalue.h"
|
||||
#include "colvarparse.h"
|
||||
@ -14,15 +18,6 @@
|
||||
#include "colvarcomp.h"
|
||||
#include "colvarscript.h"
|
||||
|
||||
// used in build_atom_list()
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
/// Compare two cvcs using their names
|
||||
/// Used to sort CVC array in scripted coordinates
|
||||
bool compare(colvar::cvc *i, colvar::cvc *j) {
|
||||
return i->name < j->name;
|
||||
}
|
||||
|
||||
|
||||
colvar::colvar()
|
||||
@ -34,6 +29,15 @@ colvar::colvar()
|
||||
}
|
||||
|
||||
|
||||
namespace {
|
||||
/// Compare two cvcs using their names
|
||||
/// Used to sort CVC array in scripted coordinates
|
||||
bool compare(colvar::cvc *i, colvar::cvc *j)
|
||||
{
|
||||
return i->name < j->name;
|
||||
}
|
||||
}
|
||||
|
||||
int colvar::init(std::string const &conf)
|
||||
{
|
||||
cvm::log("Initializing a new collective variable.\n");
|
||||
@ -143,6 +147,9 @@ int colvar::init(std::string const &conf)
|
||||
x.type(cvc_value);
|
||||
x_reported.type(cvc_value);
|
||||
}
|
||||
|
||||
set_enabled(f_cv_scalar, (value().type() == colvarvalue::type_scalar));
|
||||
|
||||
// If using scripted biases, any colvar may receive bias forces
|
||||
// and will need its gradient
|
||||
if (cvm::scripted_forces()) {
|
||||
@ -198,6 +205,7 @@ int colvar::init(std::string const &conf)
|
||||
if (is_enabled(f_cv_homogeneous) && cvcs[0]->b_periodic) { // TODO make this a CVC feature
|
||||
bool b_periodic = true;
|
||||
period = cvcs[0]->period;
|
||||
wrap_center = cvcs[0]->wrap_center;
|
||||
for (i = 1; i < cvcs.size(); i++) {
|
||||
if (!cvcs[i]->b_periodic || cvcs[i]->period != period) {
|
||||
b_periodic = false;
|
||||
@ -211,6 +219,14 @@ int colvar::init(std::string const &conf)
|
||||
set_enabled(f_cv_periodic, b_periodic);
|
||||
}
|
||||
|
||||
// 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);
|
||||
get_keyval(conf, "wrapAround", wrap_center, 0.);
|
||||
}
|
||||
}
|
||||
|
||||
// check that cvcs are compatible
|
||||
|
||||
for (i = 0; i < cvcs.size(); i++) {
|
||||
@ -443,8 +459,6 @@ int colvar::init_grid_parameters(std::string const &conf)
|
||||
upper_boundary.type(value());
|
||||
upper_wall.type(value());
|
||||
|
||||
set_enabled(f_cv_scalar, (value().type() == colvarvalue::type_scalar));
|
||||
|
||||
if (is_enabled(f_cv_scalar)) {
|
||||
|
||||
if (get_keyval(conf, "lowerBoundary", lower_boundary, lower_boundary)) {
|
||||
@ -1503,7 +1517,7 @@ cvm::real colvar::update_forces_energy()
|
||||
vr += (0.5 * dt) * f_ext / ext_mass;
|
||||
xr += dt * vr;
|
||||
xr.apply_constraints();
|
||||
if (this->is_enabled(f_cv_periodic)) this->wrap(xr);
|
||||
this->wrap(xr);
|
||||
}
|
||||
|
||||
// Now adding the force on the actual colvar (for those biases that
|
||||
@ -1714,9 +1728,18 @@ colvarvalue colvar::dist2_rgrad(colvarvalue const &x1,
|
||||
|
||||
void colvar::wrap(colvarvalue &x) const
|
||||
{
|
||||
if (is_enabled(f_cv_homogeneous)) {
|
||||
(cvcs[0])->wrap(x);
|
||||
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;
|
||||
} else {
|
||||
cvcs[0]->wrap(x);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -2244,7 +2267,7 @@ void colvar::calc_runave()
|
||||
runave.type(value().type());
|
||||
runave.reset();
|
||||
|
||||
// first-step operations
|
||||
// first-step operationsf
|
||||
|
||||
if (cvm::debug())
|
||||
cvm::log("Colvar \""+this->name+
|
||||
|
||||
@ -216,6 +216,7 @@ public:
|
||||
|
||||
/// Period, if this variable is periodic
|
||||
cvm::real period;
|
||||
cvm::real wrap_center;
|
||||
|
||||
|
||||
/// \brief Expand the boundaries of multiples of width, to keep the
|
||||
|
||||
@ -7,6 +7,10 @@
|
||||
// If you wish to distribute your changes, please submit them to the
|
||||
// Colvars repository at GitHub.
|
||||
|
||||
#include <list>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
|
||||
#include "colvarmodule.h"
|
||||
#include "colvarproxy.h"
|
||||
#include "colvarparse.h"
|
||||
@ -436,7 +440,7 @@ int cvm::atom_group::parse(std::string const &group_conf)
|
||||
}
|
||||
|
||||
bool b_print_atom_ids = false;
|
||||
get_keyval(group_conf, "printAtomIDs", b_print_atom_ids, false, colvarparse::parse_silent);
|
||||
get_keyval(group_conf, "printAtomIDs", b_print_atom_ids, false);
|
||||
|
||||
// Calculate all required properties (such as total mass)
|
||||
setup();
|
||||
@ -715,13 +719,10 @@ int cvm::atom_group::parse_fitting_options(std::string const &group_conf)
|
||||
"if provided, must be non-zero.\n", INPUT_ERROR);
|
||||
return COLVARS_ERROR;
|
||||
}
|
||||
} else {
|
||||
// if not, rely on existing atom indices for the group
|
||||
group_for_fit->create_sorted_ids();
|
||||
ref_pos.resize(group_for_fit->size());
|
||||
}
|
||||
|
||||
cvm::load_coords(ref_pos_file.c_str(), ref_pos, group_for_fit->sorted_ids,
|
||||
ref_pos.resize(group_for_fit->size());
|
||||
cvm::load_coords(ref_pos_file.c_str(), &ref_pos, group_for_fit,
|
||||
ref_pos_col, ref_pos_col_value);
|
||||
}
|
||||
|
||||
@ -789,33 +790,39 @@ void cvm::atom_group::do_feature_side_effects(int id)
|
||||
}
|
||||
|
||||
|
||||
int cvm::atom_group::create_sorted_ids(void)
|
||||
int cvm::atom_group::create_sorted_ids()
|
||||
{
|
||||
// Only do the work if the vector is not yet populated
|
||||
if (sorted_ids.size())
|
||||
if (sorted_atoms_ids.size())
|
||||
return COLVARS_OK;
|
||||
|
||||
std::list<int> temp_id_list;
|
||||
for (cvm::atom_iter ai = this->begin(); ai != this->end(); ai++) {
|
||||
temp_id_list.push_back(ai->id);
|
||||
// Sort the internal IDs
|
||||
std::list<int> sorted_atoms_ids_list;
|
||||
for (size_t i = 0; i < this->size(); i++) {
|
||||
sorted_atoms_ids_list.push_back(atoms_ids[i]);
|
||||
}
|
||||
temp_id_list.sort();
|
||||
temp_id_list.unique();
|
||||
if (temp_id_list.size() != this->size()) {
|
||||
cvm::error("Error: duplicate atom IDs in atom group? (found " +
|
||||
cvm::to_str(temp_id_list.size()) +
|
||||
" unique atom IDs instead of" +
|
||||
cvm::to_str(this->size()) + ").\n");
|
||||
return COLVARS_ERROR;
|
||||
sorted_atoms_ids_list.sort();
|
||||
sorted_atoms_ids_list.unique();
|
||||
if (sorted_atoms_ids_list.size() != this->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);
|
||||
}
|
||||
sorted_ids = std::vector<int> (temp_id_list.size());
|
||||
unsigned int id_i = 0;
|
||||
std::list<int>::iterator li;
|
||||
for (li = temp_id_list.begin(); li != temp_id_list.end(); ++li) {
|
||||
sorted_ids[id_i] = *li;
|
||||
id_i++;
|
||||
|
||||
// Compute map between sorted and unsorted elements
|
||||
sorted_atoms_ids.resize(this->size());
|
||||
sorted_atoms_ids_map.resize(this->size());
|
||||
std::list<int>::iterator lsii = sorted_atoms_ids_list.begin();
|
||||
size_t ii = 0;
|
||||
for ( ; ii < this->size(); lsii++, ii++) {
|
||||
sorted_atoms_ids[ii] = *lsii;
|
||||
size_t const pos = std::find(atoms_ids.begin(), atoms_ids.end(), *lsii) -
|
||||
atoms_ids.begin();
|
||||
sorted_atoms_ids_map[ii] = pos;
|
||||
}
|
||||
return (cvm::get_error() ? COLVARS_ERROR : COLVARS_OK);
|
||||
|
||||
return COLVARS_OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -227,9 +227,16 @@ protected:
|
||||
/// \brief Array of atom objects
|
||||
std::vector<cvm::atom> atoms;
|
||||
|
||||
/// \brief Array of atom identifiers for the MD program (0-based)
|
||||
/// \brief Internal atom IDs for host code
|
||||
std::vector<int> atoms_ids;
|
||||
|
||||
/// Sorted list of internal atom IDs (populated on-demand by
|
||||
/// create_sorted_ids); used to read coordinate files
|
||||
std::vector<int> sorted_atoms_ids;
|
||||
|
||||
/// Map entries of sorted_atoms_ids onto the original positions in the group
|
||||
std::vector<int> sorted_atoms_ids_map;
|
||||
|
||||
/// \brief Dummy atom position
|
||||
cvm::atom_pos dummy_atom_pos;
|
||||
|
||||
@ -273,19 +280,34 @@ public:
|
||||
return atoms.size();
|
||||
}
|
||||
|
||||
std::string const print_atom_ids() const;
|
||||
|
||||
/// \brief If this option is on, this group merely acts as a wrapper
|
||||
/// for a fixed position; any calls to atoms within or to
|
||||
/// functions that return disaggregated data will fail
|
||||
bool b_dummy;
|
||||
|
||||
/// Sorted list of zero-based (internal) atom ids
|
||||
/// (populated on-demand by create_sorted_ids)
|
||||
std::vector<int> sorted_ids;
|
||||
/// Internal atom IDs (populated during initialization)
|
||||
inline std::vector<int> const &ids() const
|
||||
{
|
||||
return atoms_ids;
|
||||
}
|
||||
|
||||
/// Allocates and populates the sorted list of atom ids
|
||||
int create_sorted_ids(void);
|
||||
std::string const print_atom_ids() const;
|
||||
|
||||
/// Allocates and populates sorted_ids and sorted_ids_map
|
||||
int create_sorted_ids();
|
||||
|
||||
/// Sorted internal atom IDs (populated on-demand by create_sorted_ids);
|
||||
/// used to read coordinate files
|
||||
inline std::vector<int> const &sorted_ids() const
|
||||
{
|
||||
return sorted_atoms_ids;
|
||||
}
|
||||
|
||||
/// Map entries of sorted_atoms_ids onto the original positions in the group
|
||||
inline std::vector<int> const &sorted_ids_map() const
|
||||
{
|
||||
return sorted_atoms_ids_map;
|
||||
}
|
||||
|
||||
/// Detect whether two groups share atoms
|
||||
/// If yes, returns 1-based number of a common atom; else, returns 0
|
||||
|
||||
@ -17,17 +17,17 @@ colvarbias_abf::colvarbias_abf(char const *key)
|
||||
: colvarbias(key),
|
||||
b_UI_estimator(false),
|
||||
b_CZAR_estimator(false),
|
||||
pabf_freq(0),
|
||||
system_force(NULL),
|
||||
gradients(NULL),
|
||||
pmf(NULL),
|
||||
samples(NULL),
|
||||
pmf(NULL),
|
||||
z_gradients(NULL),
|
||||
z_samples(NULL),
|
||||
czar_gradients(NULL),
|
||||
czar_pmf(NULL),
|
||||
last_gradients(NULL),
|
||||
last_samples(NULL),
|
||||
pabf_freq(0)
|
||||
last_samples(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
@ -315,8 +315,6 @@ colvarbias_abf::~colvarbias_abf()
|
||||
|
||||
int colvarbias_abf::update()
|
||||
{
|
||||
int iter;
|
||||
|
||||
if (cvm::debug()) cvm::log("Updating ABF bias " + this->name);
|
||||
|
||||
size_t i;
|
||||
@ -368,7 +366,12 @@ int colvarbias_abf::update()
|
||||
if ( b_integrate ) {
|
||||
if ( pabf_freq && cvm::step_relative() % pabf_freq == 0 ) {
|
||||
cvm::real err;
|
||||
iter = pmf->integrate(integrate_steps, integrate_tol, err);
|
||||
int iter = pmf->integrate(integrate_steps, integrate_tol, err);
|
||||
if ( iter == integrate_steps ) {
|
||||
cvm::log("Warning: PMF integration did not converge to " + cvm::to_str(integrate_tol)
|
||||
+ " in " + cvm::to_str(integrate_steps)
|
||||
+ " steps. Residual error: " + cvm::to_str(err));
|
||||
}
|
||||
pmf->set_zero_minimum(); // TODO: do this only when necessary
|
||||
}
|
||||
}
|
||||
@ -485,7 +488,6 @@ int colvarbias_abf::update()
|
||||
|
||||
|
||||
int colvarbias_abf::replica_share() {
|
||||
int p;
|
||||
|
||||
if ( !cvm::replica_enabled() ) {
|
||||
cvm::error("Error: shared ABF: No replicas.\n");
|
||||
@ -507,6 +509,7 @@ int colvarbias_abf::replica_share() {
|
||||
char* msg_data = new char[msg_total];
|
||||
|
||||
if (cvm::replica_index() == 0) {
|
||||
int p;
|
||||
// Replica 0 collects the delta gradient and count from the others.
|
||||
for (p = 1; p < cvm::replica_num(); p++) {
|
||||
// Receive the deltas.
|
||||
|
||||
@ -21,6 +21,9 @@ colvar::cvc::cvc()
|
||||
b_try_scalable(true)
|
||||
{
|
||||
init_cvc_requires();
|
||||
sup_coeff = 1.0;
|
||||
period = 0.0;
|
||||
wrap_center = 0.0;
|
||||
}
|
||||
|
||||
|
||||
@ -30,43 +33,52 @@ colvar::cvc::cvc(std::string const &conf)
|
||||
b_periodic(false),
|
||||
b_try_scalable(true)
|
||||
{
|
||||
init_cvc_requires();
|
||||
sup_coeff = 1.0;
|
||||
period = 0.0;
|
||||
wrap_center = 0.0;
|
||||
init(conf);
|
||||
}
|
||||
|
||||
|
||||
int colvar::cvc::init(std::string const &conf)
|
||||
{
|
||||
int error_code = COLVARS_OK;
|
||||
if (cvm::debug())
|
||||
cvm::log("Initializing cvc base object.\n");
|
||||
|
||||
init_cvc_requires();
|
||||
|
||||
if (get_keyval(conf, "name", this->name, std::string(""), parse_silent)) {
|
||||
get_keyval(conf, "name", this->name, this->name);
|
||||
if (name.size() > 0) {
|
||||
// Temporary description until child object is initialized
|
||||
description = "cvc " + name;
|
||||
} else {
|
||||
description = "uninitialized cvc";
|
||||
}
|
||||
|
||||
get_keyval(conf, "componentCoeff", sup_coeff, 1.0);
|
||||
get_keyval(conf, "componentExp", sup_np, 1);
|
||||
get_keyval(conf, "componentCoeff", sup_coeff, sup_coeff);
|
||||
get_keyval(conf, "componentExp", sup_np, sup_np);
|
||||
|
||||
get_keyval(conf, "period", period, 0.0);
|
||||
get_keyval(conf, "wrapAround", wrap_center, 0.0);
|
||||
get_keyval(conf, "period", period, period);
|
||||
get_keyval(conf, "wrapAround", wrap_center, wrap_center);
|
||||
|
||||
get_keyval_feature((colvarparse *)this, conf, "debugGradients",
|
||||
get_keyval_feature(dynamic_cast<colvarparse *>(this), conf, "debugGradients",
|
||||
f_cvc_debug_gradient, false, parse_silent);
|
||||
|
||||
{
|
||||
bool b_no_PBC = false;
|
||||
get_keyval(conf, "forceNoPBC", b_no_PBC, false);
|
||||
if (b_no_PBC) {
|
||||
disable(f_cvc_pbc_minimum_image);
|
||||
} else {
|
||||
enable(f_cvc_pbc_minimum_image);
|
||||
}
|
||||
// this does not use get_keyval_feature() only for backward compatibility
|
||||
bool b_no_PBC = !is_enabled(f_cvc_pbc_minimum_image); // Enabled by default
|
||||
get_keyval(conf, "forceNoPBC", b_no_PBC, b_no_PBC);
|
||||
if (b_no_PBC) {
|
||||
disable(f_cvc_pbc_minimum_image);
|
||||
} else {
|
||||
enable(f_cvc_pbc_minimum_image);
|
||||
}
|
||||
|
||||
// Attempt scalable calculations when in parallel? (By default yes, if available)
|
||||
get_keyval(conf, "scalable", b_try_scalable, true);
|
||||
get_keyval(conf, "scalable", b_try_scalable, b_try_scalable);
|
||||
|
||||
if (cvm::debug())
|
||||
cvm::log("Done initializing cvc base object.\n");
|
||||
|
||||
return error_code;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -98,12 +98,14 @@ public:
|
||||
|
||||
/// \brief Constructor
|
||||
///
|
||||
/// At least one constructor which reads a string should be defined
|
||||
/// for every class inheriting from cvc \param conf Contents
|
||||
/// of the configuration file pertaining to this \link cvc
|
||||
/// \endlink
|
||||
/// Calls the init() function of the class
|
||||
cvc(std::string const &conf);
|
||||
|
||||
/// An init function should be defined for every class inheriting from cvc
|
||||
/// \param conf Contents of the configuration file pertaining to this \link
|
||||
/// cvc \endlink
|
||||
virtual int init(std::string const &conf);
|
||||
|
||||
/// \brief Within the constructor, make a group parse its own
|
||||
/// options from the provided configuration string
|
||||
/// Returns reference to new group
|
||||
@ -231,7 +233,7 @@ public:
|
||||
virtual colvarvalue dist2_rgrad(colvarvalue const &x1,
|
||||
colvarvalue const &x2) const;
|
||||
|
||||
/// \brief Wrapp value (for periodic/symmetric cvcs)
|
||||
/// \brief Wrap value (for periodic/symmetric cvcs)
|
||||
virtual void wrap(colvarvalue &x) const;
|
||||
|
||||
/// \brief Pointers to all atom groups, to let colvars collect info
|
||||
|
||||
@ -148,7 +148,7 @@ void colvar::distance_vec::apply_force(colvarvalue const &force)
|
||||
cvm::real colvar::distance_vec::dist2(colvarvalue const &x1,
|
||||
colvarvalue const &x2) const
|
||||
{
|
||||
return cvm::position_dist2(x1.rvector_value, x2.rvector_value);
|
||||
return (cvm::position_distance(x1.rvector_value, x2.rvector_value)).norm2();
|
||||
}
|
||||
|
||||
|
||||
@ -192,7 +192,7 @@ colvar::distance_z::distance_z(std::string const &conf)
|
||||
// this group is optional
|
||||
ref2 = parse_group(conf, "ref2", true);
|
||||
|
||||
if (ref2 && ref2->size()) {
|
||||
if ( ref2 ) {
|
||||
cvm::log("Using axis joining the centers of mass of groups \"ref\" and \"ref2\"");
|
||||
fixed_axis = false;
|
||||
if (key_lookup(conf, "axis"))
|
||||
@ -306,7 +306,7 @@ void colvar::distance_z::apply_force(colvarvalue const &force)
|
||||
if (!ref1->noforce)
|
||||
ref1->apply_colvar_force(force.real_value);
|
||||
|
||||
if (ref2 && ref2->size() && !ref2->noforce)
|
||||
if (ref2 && !ref2->noforce)
|
||||
ref2->apply_colvar_force(force.real_value);
|
||||
|
||||
if (!main->noforce)
|
||||
@ -464,7 +464,7 @@ void colvar::distance_xy::apply_force(colvarvalue const &force)
|
||||
if (!ref1->noforce)
|
||||
ref1->apply_colvar_force(force.real_value);
|
||||
|
||||
if (ref2 && ref2->size() && !ref2->noforce)
|
||||
if (ref2 && !ref2->noforce)
|
||||
ref2->apply_colvar_force(force.real_value);
|
||||
|
||||
if (!main->noforce)
|
||||
@ -979,14 +979,12 @@ colvar::rmsd::rmsd(std::string const &conf)
|
||||
"if provided, must be non-zero.\n");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
// if not, rely on existing atom indices for the group
|
||||
atoms->create_sorted_ids();
|
||||
ref_pos.resize(atoms->size());
|
||||
}
|
||||
|
||||
cvm::load_coords(ref_pos_file.c_str(), ref_pos, atoms->sorted_ids,
|
||||
ref_pos_col, ref_pos_col_value);
|
||||
ref_pos.resize(atoms->size());
|
||||
|
||||
cvm::load_coords(ref_pos_file.c_str(), &ref_pos, atoms,
|
||||
ref_pos_col, ref_pos_col_value);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1172,13 +1170,11 @@ colvar::eigenvector::eigenvector(std::string const &conf)
|
||||
"if provided, must be non-zero.\n");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
// if not, use atom indices
|
||||
atoms->create_sorted_ids();
|
||||
}
|
||||
|
||||
ref_pos.resize(atoms->size());
|
||||
cvm::load_coords(file_name.c_str(), ref_pos, atoms->sorted_ids, file_col, file_col_value);
|
||||
cvm::load_coords(file_name.c_str(), &ref_pos, atoms,
|
||||
file_col, file_col_value);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1249,13 +1245,11 @@ colvar::eigenvector::eigenvector(std::string const &conf)
|
||||
cvm::error("Error: vectorColValue, if provided, must be non-zero.\n");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
// if not, use atom indices
|
||||
atoms->create_sorted_ids();
|
||||
}
|
||||
|
||||
eigenvec.resize(atoms->size());
|
||||
cvm::load_coords(file_name.c_str(), eigenvec, atoms->sorted_ids, file_col, file_col_value);
|
||||
cvm::load_coords(file_name.c_str(), &eigenvec, atoms,
|
||||
file_col, file_col_value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -50,12 +50,11 @@ colvar::orientation::orientation(std::string const &conf)
|
||||
"if provided, must be non-zero.\n");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
// if not, use atom indices
|
||||
atoms->create_sorted_ids();
|
||||
}
|
||||
|
||||
ref_pos.resize(atoms->size());
|
||||
cvm::load_coords(file_name.c_str(), ref_pos, atoms->sorted_ids, file_col, file_col_value);
|
||||
cvm::load_coords(file_name.c_str(), &ref_pos, atoms,
|
||||
file_col, file_col_value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -549,7 +549,7 @@ void colvardeps::init_cv_requires() {
|
||||
f_req_exclude(f_cv_custom_function, f_cv_scripted);
|
||||
|
||||
init_feature(f_cv_periodic, "periodic", f_type_static);
|
||||
f_req_self(f_cv_periodic, f_cv_homogeneous);
|
||||
f_req_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);
|
||||
|
||||
@ -329,7 +329,6 @@ void integrate_potential::update_div_local(const std::vector<int> &ix0)
|
||||
const int linear_index = address(ix0);
|
||||
int i, j, k;
|
||||
std::vector<int> ix = ix0;
|
||||
const cvm::real * g;
|
||||
|
||||
if (nd == 2) {
|
||||
// gradients at grid points surrounding the current scalar grid point
|
||||
@ -783,7 +782,7 @@ void integrate_potential::atimes(const std::vector<cvm::real> &A, std::vector<cv
|
||||
/// Inversion of preconditioner matrix (e.g. diagonal of the Laplacian)
|
||||
void integrate_potential::asolve(const std::vector<cvm::real> &b, std::vector<cvm::real> &x)
|
||||
{
|
||||
for (size_t i=0; i<nt; i++) {
|
||||
for (size_t i=0; i<int(nt); i++) {
|
||||
x[i] = b[i] * inv_lap_diag[i]; // Jacobi preconditioner - little benefit in tests so far
|
||||
}
|
||||
return;
|
||||
@ -803,7 +802,7 @@ void integrate_potential::nr_linbcg_sym(const std::vector<cvm::real> &b, std::ve
|
||||
|
||||
iter=0;
|
||||
atimes(x,r);
|
||||
for (j=0;j<nt;j++) {
|
||||
for (j=0;j<int(nt);j++) {
|
||||
r[j]=b[j]-r[j];
|
||||
}
|
||||
bnrm=l2norm(b);
|
||||
@ -814,26 +813,26 @@ void integrate_potential::nr_linbcg_sym(const std::vector<cvm::real> &b, std::ve
|
||||
bkden = 1.0;
|
||||
while (iter < itmax) {
|
||||
++iter;
|
||||
for (bknum=0.0,j=0;j<nt;j++) {
|
||||
for (bknum=0.0,j=0;j<int(nt);j++) {
|
||||
bknum += r[j]*r[j]; // precon: z[j]*r[j]
|
||||
}
|
||||
if (iter == 1) {
|
||||
for (j=0;j<nt;j++) {
|
||||
for (j=0;j<int(nt);j++) {
|
||||
p[j] = r[j]; // precon: p[j] = z[j]
|
||||
}
|
||||
} else {
|
||||
bk=bknum/bkden;
|
||||
for (j=0;j<nt;j++) {
|
||||
for (j=0;j<int(nt);j++) {
|
||||
p[j] = bk*p[j] + r[j]; // precon: bk*p[j] + z[j]
|
||||
}
|
||||
}
|
||||
bkden = bknum;
|
||||
atimes(p,z);
|
||||
for (akden=0.0,j=0;j<nt;j++) {
|
||||
for (akden=0.0,j=0;j<int(nt);j++) {
|
||||
akden += z[j]*p[j];
|
||||
}
|
||||
ak = bknum/akden;
|
||||
for (j=0;j<nt;j++) {
|
||||
for (j=0;j<int(nt);j++) {
|
||||
x[j] += ak*p[j];
|
||||
r[j] -= ak*z[j];
|
||||
}
|
||||
|
||||
@ -30,10 +30,10 @@ colvarmodule::colvarmodule(colvarproxy *proxy_in)
|
||||
depth_s = 0;
|
||||
cv_traj_os = NULL;
|
||||
|
||||
// pointer to the proxy object
|
||||
if (proxy == NULL) {
|
||||
proxy = proxy_in;
|
||||
parse = new colvarparse();
|
||||
proxy = proxy_in; // Pointer to the proxy object
|
||||
parse = new colvarparse(); // Parsing object for global options
|
||||
version_int = proxy->get_version_from_string(COLVARS_VERSION);
|
||||
} else {
|
||||
// TODO relax this error to handle multiple molecules in VMD
|
||||
// once the module is not static anymore
|
||||
@ -58,22 +58,24 @@ colvarmodule::colvarmodule(colvarproxy *proxy_in)
|
||||
// "it_restart" will be set by the input state file, if any;
|
||||
// "it" should be updated by the proxy
|
||||
colvarmodule::it = colvarmodule::it_restart = 0;
|
||||
colvarmodule::it_restart_from_state_file = true;
|
||||
|
||||
colvarmodule::use_scripted_forces = false;
|
||||
use_scripted_forces = false;
|
||||
scripting_after_biases = false;
|
||||
|
||||
colvarmodule::b_analysis = false;
|
||||
b_analysis = false;
|
||||
|
||||
colvarmodule::debug_gradients_step_size = 1.0e-07;
|
||||
|
||||
colvarmodule::rotation::monitor_crossings = false;
|
||||
colvarmodule::rotation::crossing_threshold = 1.0e-02;
|
||||
|
||||
colvarmodule::cv_traj_freq = 100;
|
||||
colvarmodule::restart_out_freq = proxy->restart_frequency();
|
||||
cv_traj_freq = 100;
|
||||
restart_out_freq = proxy->restart_frequency();
|
||||
|
||||
// by default overwrite the existing trajectory file
|
||||
colvarmodule::cv_traj_append = false;
|
||||
cv_traj_append = false;
|
||||
|
||||
cv_traj_write_labels = true;
|
||||
}
|
||||
|
||||
|
||||
@ -189,26 +191,27 @@ int colvarmodule::parse_config(std::string &conf)
|
||||
{
|
||||
extra_conf.clear();
|
||||
|
||||
// parse global options
|
||||
// Parse global options
|
||||
if (catch_input_errors(parse_global_params(conf))) {
|
||||
return get_error();
|
||||
}
|
||||
|
||||
// parse the options for collective variables
|
||||
// Parse the options for collective variables
|
||||
if (catch_input_errors(parse_colvars(conf))) {
|
||||
return get_error();
|
||||
}
|
||||
|
||||
// parse the options for biases
|
||||
// Parse the options for biases
|
||||
if (catch_input_errors(parse_biases(conf))) {
|
||||
return get_error();
|
||||
}
|
||||
|
||||
// done parsing known keywords, check that all keywords found were valid ones
|
||||
// Done parsing known keywords, check that all keywords found were valid ones
|
||||
if (catch_input_errors(parse->check_keywords(conf, "colvarmodule"))) {
|
||||
return get_error();
|
||||
}
|
||||
|
||||
// Parse auto-generated configuration (e.g. for back-compatibility)
|
||||
if (extra_conf.size()) {
|
||||
catch_input_errors(parse_global_params(extra_conf));
|
||||
catch_input_errors(parse_colvars(extra_conf));
|
||||
@ -222,13 +225,11 @@ int colvarmodule::parse_config(std::string &conf)
|
||||
cvm::log("Collective variables module (re)initialized.\n");
|
||||
cvm::log(cvm::line_marker);
|
||||
|
||||
// update any necessary proxy data
|
||||
// Update any necessary proxy data
|
||||
proxy->setup();
|
||||
|
||||
if (cv_traj_os != NULL) {
|
||||
// configuration might have changed, better redo the labels
|
||||
write_traj_label(*cv_traj_os);
|
||||
}
|
||||
// configuration might have changed, better redo the labels
|
||||
cv_traj_write_labels = true;
|
||||
|
||||
return get_error();
|
||||
}
|
||||
@ -279,15 +280,18 @@ int colvarmodule::parse_global_params(std::string const &conf)
|
||||
parse->get_keyval(conf, "colvarsTrajAppend",
|
||||
cv_traj_append, cv_traj_append, colvarparse::parse_silent);
|
||||
|
||||
parse->get_keyval(conf, "scriptedColvarForces", use_scripted_forces, false);
|
||||
parse->get_keyval(conf, "scriptedColvarForces",
|
||||
use_scripted_forces, use_scripted_forces);
|
||||
|
||||
parse->get_keyval(conf, "scriptingAfterBiases", scripting_after_biases, true);
|
||||
parse->get_keyval(conf, "scriptingAfterBiases",
|
||||
scripting_after_biases, scripting_after_biases);
|
||||
|
||||
if (use_scripted_forces && !proxy->force_script_defined) {
|
||||
cvm::error("User script for scripted colvar forces not found.", INPUT_ERROR);
|
||||
return cvm::error("User script for scripted colvar forces not found.",
|
||||
INPUT_ERROR);
|
||||
}
|
||||
|
||||
return (cvm::get_error() ? COLVARS_ERROR : COLVARS_OK);
|
||||
return cvm::get_error();
|
||||
}
|
||||
|
||||
|
||||
@ -432,13 +436,13 @@ int colvarmodule::parse_biases(std::string const &conf)
|
||||
}
|
||||
|
||||
|
||||
int colvarmodule::num_variables() const
|
||||
size_t colvarmodule::num_variables() const
|
||||
{
|
||||
return colvars.size();
|
||||
}
|
||||
|
||||
|
||||
int colvarmodule::num_variables_feature(int feature_id) const
|
||||
size_t colvarmodule::num_variables_feature(int feature_id) const
|
||||
{
|
||||
size_t n = 0;
|
||||
for (std::vector<colvar *>::const_iterator cvi = colvars.begin();
|
||||
@ -452,13 +456,13 @@ int colvarmodule::num_variables_feature(int feature_id) const
|
||||
}
|
||||
|
||||
|
||||
int colvarmodule::num_biases() const
|
||||
size_t colvarmodule::num_biases() const
|
||||
{
|
||||
return biases.size();
|
||||
}
|
||||
|
||||
|
||||
int colvarmodule::num_biases_feature(int feature_id) const
|
||||
size_t colvarmodule::num_biases_feature(int feature_id) const
|
||||
{
|
||||
size_t n = 0;
|
||||
for (std::vector<colvarbias *>::const_iterator bi = biases.begin();
|
||||
@ -472,7 +476,7 @@ int colvarmodule::num_biases_feature(int feature_id) const
|
||||
}
|
||||
|
||||
|
||||
int colvarmodule::num_biases_type(std::string const &type) const
|
||||
size_t colvarmodule::num_biases_type(std::string const &type) const
|
||||
{
|
||||
size_t n = 0;
|
||||
for (std::vector<colvarbias *>::const_iterator bi = biases.begin();
|
||||
@ -971,13 +975,20 @@ int colvarmodule::write_restart_file(std::string const &out_name)
|
||||
int colvarmodule::write_traj_files()
|
||||
{
|
||||
if (cv_traj_os == NULL) {
|
||||
open_traj_file(cv_traj_name);
|
||||
if (open_traj_file(cv_traj_name) != COLVARS_OK) {
|
||||
return cvm::get_error();
|
||||
} else {
|
||||
cv_traj_write_labels = true;
|
||||
}
|
||||
}
|
||||
|
||||
// write labels in the traj file every 1000 lines and at first timestep
|
||||
if ((cvm::step_absolute() % (cv_traj_freq * 1000)) == 0 || cvm::step_relative() == 0) {
|
||||
if ((cvm::step_absolute() % (cv_traj_freq * 1000)) == 0 ||
|
||||
cvm::step_relative() == 0 ||
|
||||
cv_traj_write_labels) {
|
||||
write_traj_label(*cv_traj_os);
|
||||
}
|
||||
cv_traj_write_labels = false;
|
||||
|
||||
if ((cvm::step_absolute() % cv_traj_freq) == 0) {
|
||||
write_traj(*cv_traj_os);
|
||||
@ -1064,7 +1075,7 @@ int colvarmodule::reset()
|
||||
{
|
||||
parse->init();
|
||||
|
||||
cvm::log("Resetting the Collective Variables Module.\n");
|
||||
cvm::log("Resetting the Collective Variables module.\n");
|
||||
|
||||
// Iterate backwards because we are deleting the elements as we go
|
||||
for (std::vector<colvarbias *>::reverse_iterator bi = biases.rbegin();
|
||||
@ -1073,6 +1084,7 @@ int colvarmodule::reset()
|
||||
delete *bi; // the bias destructor updates the biases array
|
||||
}
|
||||
biases.clear();
|
||||
biases_active_.clear();
|
||||
|
||||
// Iterate backwards because we are deleting the elements as we go
|
||||
for (std::vector<colvar *>::reverse_iterator cvi = colvars.rbegin();
|
||||
@ -1088,7 +1100,7 @@ int colvarmodule::reset()
|
||||
proxy->reset();
|
||||
|
||||
if (cv_traj_os != NULL) {
|
||||
// Do not close file here, as we might not be done with it yet.
|
||||
// Do not close traj file here, as we might not be done with it yet.
|
||||
proxy->flush_output_stream(cv_traj_os);
|
||||
}
|
||||
|
||||
@ -1188,12 +1200,10 @@ std::istream & colvarmodule::read_restart(std::istream &is)
|
||||
// read global restart information
|
||||
std::string restart_conf;
|
||||
if (is >> colvarparse::read_block("configuration", restart_conf)) {
|
||||
if (it_restart_from_state_file) {
|
||||
parse->get_keyval(restart_conf, "step",
|
||||
it_restart, (size_t) 0,
|
||||
colvarparse::parse_silent);
|
||||
parse->get_keyval(restart_conf, "step",
|
||||
it_restart, (size_t) 0,
|
||||
colvarparse::parse_silent);
|
||||
it = it_restart;
|
||||
}
|
||||
std::string restart_version;
|
||||
parse->get_keyval(restart_conf, "version",
|
||||
restart_version, std::string(""),
|
||||
@ -1688,40 +1698,59 @@ int cvm::read_index_file(char const *filename)
|
||||
return (cvm::get_error() ? COLVARS_ERROR : COLVARS_OK);
|
||||
}
|
||||
|
||||
|
||||
int cvm::load_atoms(char const *file_name,
|
||||
cvm::atom_group &atoms,
|
||||
std::string const &pdb_field,
|
||||
double const pdb_field_value)
|
||||
double pdb_field_value)
|
||||
{
|
||||
return proxy->load_atoms(file_name, atoms, pdb_field, pdb_field_value);
|
||||
}
|
||||
|
||||
int cvm::load_coords(char const *file_name,
|
||||
std::vector<cvm::atom_pos> &pos,
|
||||
const std::vector<int> &indices,
|
||||
std::string const &pdb_field,
|
||||
double const pdb_field_value)
|
||||
{
|
||||
// Differentiate between PDB and XYZ files
|
||||
// for XYZ files, use CVM internal parser
|
||||
// otherwise call proxy function for PDB
|
||||
|
||||
std::string const ext(strlen(file_name) > 4 ? (file_name + (strlen(file_name) - 4)) : file_name);
|
||||
int cvm::load_coords(char const *file_name,
|
||||
std::vector<cvm::rvector> *pos,
|
||||
cvm::atom_group *atoms,
|
||||
std::string const &pdb_field,
|
||||
double pdb_field_value)
|
||||
{
|
||||
int error_code = COLVARS_OK;
|
||||
|
||||
std::string const ext(strlen(file_name) > 4 ?
|
||||
(file_name + (strlen(file_name) - 4)) :
|
||||
file_name);
|
||||
|
||||
atoms->create_sorted_ids();
|
||||
|
||||
std::vector<cvm::rvector> sorted_pos(atoms->size(), cvm::rvector(0.0));
|
||||
|
||||
// Differentiate between PDB and XYZ files
|
||||
if (colvarparse::to_lower_cppstr(ext) == std::string(".xyz")) {
|
||||
if ( pdb_field.size() > 0 ) {
|
||||
cvm::error("Error: PDB column may not be specified for XYZ coordinate file.\n", INPUT_ERROR);
|
||||
return COLVARS_ERROR;
|
||||
if (pdb_field.size() > 0) {
|
||||
return cvm::error("Error: PDB column may not be specified "
|
||||
"for XYZ coordinate files.\n", INPUT_ERROR);
|
||||
}
|
||||
return cvm::load_coords_xyz(file_name, pos, indices);
|
||||
// For XYZ files, use internal parser
|
||||
error_code |= cvm::load_coords_xyz(file_name, &sorted_pos, atoms);
|
||||
} else {
|
||||
return proxy->load_coords(file_name, pos, indices, pdb_field, pdb_field_value);
|
||||
// Otherwise, call proxy function for PDB
|
||||
error_code |= proxy->load_coords(file_name,
|
||||
sorted_pos, atoms->sorted_ids(),
|
||||
pdb_field, pdb_field_value);
|
||||
}
|
||||
|
||||
std::vector<int> const &map = atoms->sorted_ids_map();
|
||||
for (size_t i = 0; i < atoms->size(); i++) {
|
||||
(*pos)[map[i]] = sorted_pos[i];
|
||||
}
|
||||
|
||||
return error_code;
|
||||
}
|
||||
|
||||
|
||||
int cvm::load_coords_xyz(char const *filename,
|
||||
std::vector<atom_pos> &pos,
|
||||
const std::vector<int> &indices)
|
||||
std::vector<rvector> *pos,
|
||||
cvm::atom_group *atoms)
|
||||
{
|
||||
std::ifstream xyz_is(filename);
|
||||
unsigned int natoms;
|
||||
@ -1736,12 +1765,12 @@ int cvm::load_coords_xyz(char const *filename,
|
||||
cvm::getline(xyz_is, line);
|
||||
cvm::getline(xyz_is, line);
|
||||
xyz_is.width(255);
|
||||
std::vector<atom_pos>::iterator pos_i = pos.begin();
|
||||
std::vector<atom_pos>::iterator pos_i = pos->begin();
|
||||
|
||||
if (pos.size() != natoms) { // Use specified indices
|
||||
if (pos->size() != natoms) { // Use specified indices
|
||||
int next = 0; // indices are zero-based
|
||||
std::vector<int>::const_iterator index = indices.begin();
|
||||
for ( ; pos_i != pos.end() ; pos_i++, index++) {
|
||||
std::vector<int>::const_iterator index = atoms->sorted_ids().begin();
|
||||
for ( ; pos_i != pos->end() ; pos_i++, index++) {
|
||||
|
||||
while ( next < *index ) {
|
||||
cvm::getline(xyz_is, line);
|
||||
@ -1751,7 +1780,7 @@ int cvm::load_coords_xyz(char const *filename,
|
||||
xyz_is >> (*pos_i)[0] >> (*pos_i)[1] >> (*pos_i)[2];
|
||||
}
|
||||
} else { // Use all positions
|
||||
for ( ; pos_i != pos.end() ; pos_i++) {
|
||||
for ( ; pos_i != pos->end() ; pos_i++) {
|
||||
xyz_is >> symbol;
|
||||
xyz_is >> (*pos_i)[0] >> (*pos_i)[1] >> (*pos_i)[2];
|
||||
}
|
||||
@ -1792,17 +1821,13 @@ void cvm::request_total_force()
|
||||
proxy->request_total_force(true);
|
||||
}
|
||||
|
||||
cvm::rvector cvm::position_distance(atom_pos const &pos1,
|
||||
atom_pos const &pos2)
|
||||
|
||||
cvm::rvector cvm::position_distance(cvm::atom_pos const &pos1,
|
||||
cvm::atom_pos const &pos2)
|
||||
{
|
||||
return proxy->position_distance(pos1, pos2);
|
||||
}
|
||||
|
||||
cvm::real cvm::position_dist2(cvm::atom_pos const &pos1,
|
||||
cvm::atom_pos const &pos2)
|
||||
{
|
||||
return proxy->position_dist2(pos1, pos2);
|
||||
}
|
||||
|
||||
cvm::real cvm::rand_gaussian(void)
|
||||
{
|
||||
|
||||
@ -73,8 +73,17 @@ private:
|
||||
/// Impossible to initialize the main object without arguments
|
||||
colvarmodule();
|
||||
|
||||
/// Integer representing the version string (allows comparisons)
|
||||
int version_int;
|
||||
|
||||
public:
|
||||
|
||||
/// Get the version number (higher = more recent)
|
||||
int version_number() const
|
||||
{
|
||||
return version_int;
|
||||
}
|
||||
|
||||
friend class colvarproxy;
|
||||
// TODO colvarscript should be unaware of colvarmodule's internals
|
||||
friend class colvarscript;
|
||||
@ -158,10 +167,6 @@ public:
|
||||
return it;
|
||||
}
|
||||
|
||||
/// If true, get it_restart from the state file; if set to false,
|
||||
/// the MD program is providing it
|
||||
bool it_restart_from_state_file;
|
||||
|
||||
/// \brief Finite difference step size (if there is no dynamics, or
|
||||
/// if gradients need to be tested independently from the size of
|
||||
/// dt)
|
||||
@ -306,19 +311,19 @@ private:
|
||||
public:
|
||||
|
||||
/// Return how many variables are defined
|
||||
int num_variables() const;
|
||||
size_t num_variables() const;
|
||||
|
||||
/// Return how many variables have this feature enabled
|
||||
int num_variables_feature(int feature_id) const;
|
||||
size_t num_variables_feature(int feature_id) const;
|
||||
|
||||
/// Return how many biases are defined
|
||||
int num_biases() const;
|
||||
size_t num_biases() const;
|
||||
|
||||
/// Return how many biases have this feature enabled
|
||||
int num_biases_feature(int feature_id) const;
|
||||
size_t num_biases_feature(int feature_id) const;
|
||||
|
||||
/// Return how many biases of this type are defined
|
||||
int num_biases_type(std::string const &type) const;
|
||||
size_t num_biases_type(std::string const &type) const;
|
||||
|
||||
/// Return the names of time-dependent biases with forces enabled (ABF,
|
||||
/// metadynamics, etc)
|
||||
@ -479,9 +484,6 @@ public:
|
||||
/// Print a message to the main log and set global error code
|
||||
static int error(std::string const &message, int code = COLVARS_ERROR);
|
||||
|
||||
/// Print a message to the main log and exit normally
|
||||
static void exit(std::string const &message);
|
||||
|
||||
// Replica exchange commands.
|
||||
static bool replica_enabled();
|
||||
static int replica_index();
|
||||
@ -495,15 +497,6 @@ public:
|
||||
static rvector position_distance(atom_pos const &pos1,
|
||||
atom_pos const &pos2);
|
||||
|
||||
/// \brief Get the square distance between two positions (with
|
||||
/// periodic boundary conditions handled transparently)
|
||||
///
|
||||
/// Note: in the case of periodic boundary conditions, this provides
|
||||
/// an analytical square distance (while taking the square of
|
||||
/// position_distance() would produce leads to a cusp)
|
||||
static real position_dist2(atom_pos const &pos1,
|
||||
atom_pos const &pos2);
|
||||
|
||||
/// \brief Names of groups from a Gromacs .ndx file to be read at startup
|
||||
std::list<std::string> index_group_names;
|
||||
|
||||
@ -513,29 +506,36 @@ public:
|
||||
/// \brief Read a Gromacs .ndx file
|
||||
int read_index_file(char const *filename);
|
||||
|
||||
|
||||
/// \brief Create atoms from a file \param filename name of the file
|
||||
/// (usually a PDB) \param atoms array of the atoms to be allocated
|
||||
/// \param pdb_field (optiona) if "filename" is a PDB file, use this
|
||||
/// field to determine which are the atoms to be set
|
||||
/// \brief Select atom IDs from a file (usually PDB) \param filename name of
|
||||
/// the file \param atoms array into which atoms read from "filename" will be
|
||||
/// appended \param pdb_field (optional) if the file is a PDB and this
|
||||
/// string is non-empty, select atoms for which this field is non-zero
|
||||
/// \param pdb_field_value (optional) if non-zero, select only atoms whose
|
||||
/// pdb_field equals this
|
||||
static int load_atoms(char const *filename,
|
||||
atom_group &atoms,
|
||||
std::string const &pdb_field,
|
||||
double const pdb_field_value = 0.0);
|
||||
double pdb_field_value = 0.0);
|
||||
|
||||
/// \brief Load the coordinates for a group of atoms from a file
|
||||
/// (PDB or XYZ)
|
||||
/// \brief Load coordinates for a group of atoms from a file (PDB or XYZ);
|
||||
/// if "pos" is already allocated, the number of its elements must match the
|
||||
/// number of entries in "filename" \param filename name of the file \param
|
||||
/// pos array of coordinates \param atoms group containing the atoms (used
|
||||
/// to obtain internal IDs) \param pdb_field (optional) if the file is a PDB
|
||||
/// and this string is non-empty, select atoms for which this field is
|
||||
/// non-zero \param pdb_field_value (optional) if non-zero, select only
|
||||
/// atoms whose pdb_field equals this
|
||||
static int load_coords(char const *filename,
|
||||
std::vector<atom_pos> &pos,
|
||||
const std::vector<int> &indices,
|
||||
std::vector<rvector> *pos,
|
||||
atom_group *atoms,
|
||||
std::string const &pdb_field,
|
||||
double const pdb_field_value = 0.0);
|
||||
double pdb_field_value = 0.0);
|
||||
|
||||
/// \brief Load the coordinates for a group of atoms from an
|
||||
/// XYZ file
|
||||
static int load_coords_xyz(char const *filename,
|
||||
std::vector<atom_pos> &pos,
|
||||
const std::vector<int> &indices);
|
||||
std::vector<rvector> *pos,
|
||||
atom_group *atoms);
|
||||
|
||||
/// Frequency for collective variables trajectory output
|
||||
static size_t cv_traj_freq;
|
||||
@ -568,6 +568,9 @@ protected:
|
||||
/// Appending to the existing trajectory file?
|
||||
bool cv_traj_append;
|
||||
|
||||
/// Write labels at the next iteration
|
||||
bool cv_traj_write_labels;
|
||||
|
||||
private:
|
||||
|
||||
/// Counter for the current depth in the object hierarchy (useg e.g. in output)
|
||||
|
||||
@ -26,7 +26,10 @@
|
||||
|
||||
|
||||
|
||||
colvarproxy_system::colvarproxy_system() {}
|
||||
colvarproxy_system::colvarproxy_system()
|
||||
{
|
||||
reset_pbc_lattice();
|
||||
}
|
||||
|
||||
|
||||
colvarproxy_system::~colvarproxy_system() {}
|
||||
@ -55,10 +58,73 @@ bool colvarproxy_system::total_forces_same_step() const
|
||||
}
|
||||
|
||||
|
||||
cvm::real colvarproxy_system::position_dist2(cvm::atom_pos const &pos1,
|
||||
cvm::atom_pos const &pos2)
|
||||
inline int round_to_integer(cvm::real x)
|
||||
{
|
||||
return (position_distance(pos1, pos2)).norm2();
|
||||
return std::floor(x+0.5);
|
||||
}
|
||||
|
||||
|
||||
void colvarproxy_system::update_pbc_lattice()
|
||||
{
|
||||
// Periodicity is assumed in all directions
|
||||
|
||||
if (boundaries_type == boundaries_unsupported ||
|
||||
boundaries_type == boundaries_non_periodic) {
|
||||
cvm::error("Error: setting PBC lattice with unsupported boundaries.\n",
|
||||
BUG_ERROR);
|
||||
return;
|
||||
}
|
||||
|
||||
{
|
||||
cvm::rvector const v = cvm::rvector::outer(unit_cell_y, unit_cell_z);
|
||||
reciprocal_cell_x = v/(v*unit_cell_x);
|
||||
}
|
||||
{
|
||||
cvm::rvector const v = cvm::rvector::outer(unit_cell_z, unit_cell_x);
|
||||
reciprocal_cell_y = v/(v*unit_cell_y);
|
||||
}
|
||||
{
|
||||
cvm::rvector const v = cvm::rvector::outer(unit_cell_x, unit_cell_y);
|
||||
reciprocal_cell_z = v/(v*unit_cell_z);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void colvarproxy_system::reset_pbc_lattice()
|
||||
{
|
||||
unit_cell_x.reset();
|
||||
unit_cell_y.reset();
|
||||
unit_cell_z.reset();
|
||||
reciprocal_cell_x.reset();
|
||||
reciprocal_cell_y.reset();
|
||||
reciprocal_cell_z.reset();
|
||||
}
|
||||
|
||||
|
||||
cvm::rvector colvarproxy_system::position_distance(cvm::atom_pos const &pos1,
|
||||
cvm::atom_pos const &pos2)
|
||||
const
|
||||
{
|
||||
if (boundaries_type == boundaries_unsupported) {
|
||||
cvm::error("Error: unsupported boundary conditions.\n", INPUT_ERROR);
|
||||
}
|
||||
|
||||
cvm::rvector diff = (pos2 - pos1);
|
||||
|
||||
if (boundaries_type == boundaries_non_periodic) return diff;
|
||||
|
||||
cvm::real const x_shift = round_to_integer(reciprocal_cell_x*diff);
|
||||
cvm::real const y_shift = round_to_integer(reciprocal_cell_y*diff);
|
||||
cvm::real const z_shift = round_to_integer(reciprocal_cell_z*diff);
|
||||
|
||||
diff.x -= x_shift*unit_cell_x.x + y_shift*unit_cell_y.x +
|
||||
z_shift*unit_cell_z.x;
|
||||
diff.y -= x_shift*unit_cell_x.y + y_shift*unit_cell_y.y +
|
||||
z_shift*unit_cell_z.y;
|
||||
diff.z -= x_shift*unit_cell_x.z + y_shift*unit_cell_y.z +
|
||||
z_shift*unit_cell_z.z;
|
||||
|
||||
return diff;
|
||||
}
|
||||
|
||||
|
||||
@ -132,7 +198,7 @@ void colvarproxy_atoms::clear_atom(int index)
|
||||
int colvarproxy_atoms::load_atoms(char const *filename,
|
||||
cvm::atom_group &atoms,
|
||||
std::string const &pdb_field,
|
||||
double const)
|
||||
double)
|
||||
{
|
||||
return cvm::error("Error: loading atom identifiers from a file "
|
||||
"is currently not implemented.\n",
|
||||
@ -142,9 +208,9 @@ int colvarproxy_atoms::load_atoms(char const *filename,
|
||||
|
||||
int colvarproxy_atoms::load_coords(char const *filename,
|
||||
std::vector<cvm::atom_pos> &pos,
|
||||
const std::vector<int> &indices,
|
||||
std::vector<int> const &sorted_ids,
|
||||
std::string const &pdb_field,
|
||||
double const)
|
||||
double)
|
||||
{
|
||||
return cvm::error("Error: loading atomic coordinates from a file "
|
||||
"is currently not implemented.\n",
|
||||
@ -661,6 +727,7 @@ int colvarproxy_io::close_output_stream(std::string const &output_name)
|
||||
for ( ; osi != output_files.end(); osi++, osni++) {
|
||||
if (*osni == output_name) {
|
||||
((std::ofstream *) (*osi))->close();
|
||||
delete *osi;
|
||||
output_files.erase(osi);
|
||||
output_stream_names.erase(osni);
|
||||
return COLVARS_OK;
|
||||
@ -729,3 +796,13 @@ size_t colvarproxy::restart_frequency()
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int colvarproxy::get_version_from_string(char const *version_string)
|
||||
{
|
||||
std::string const v(version_string);
|
||||
std::istringstream is(v.substr(0, 4) + v.substr(5, 2) + v.substr(8, 2));
|
||||
int newint;
|
||||
is >> newint;
|
||||
return newint;
|
||||
}
|
||||
|
||||
|
||||
@ -14,6 +14,7 @@
|
||||
#include <list>
|
||||
|
||||
#include "colvarmodule.h"
|
||||
#include "colvartypes.h"
|
||||
#include "colvarvalue.h"
|
||||
|
||||
|
||||
@ -29,7 +30,7 @@
|
||||
/// To interface to a new MD engine, the simplest solution is to derive a new
|
||||
/// class from \link colvarproxy \endlink. Currently implemented are: \link
|
||||
/// colvarproxy_lammps, \endlink, \link colvarproxy_namd, \endlink, \link
|
||||
/// colvarproxy_vmd, \endlink.
|
||||
/// colvarproxy_vmd \endlink.
|
||||
|
||||
|
||||
// forward declarations
|
||||
@ -68,14 +69,16 @@ public:
|
||||
|
||||
/// \brief Get the PBC-aware distance vector between two positions
|
||||
virtual cvm::rvector position_distance(cvm::atom_pos const &pos1,
|
||||
cvm::atom_pos const &pos2) = 0;
|
||||
cvm::atom_pos const &pos2) const;
|
||||
|
||||
/// \brief Get the PBC-aware square distance between two positions;
|
||||
/// may need to be reimplemented independently from position_distance() for optimization purposes
|
||||
virtual cvm::real position_dist2(cvm::atom_pos const &pos1,
|
||||
cvm::atom_pos const &pos2);
|
||||
/// Recompute PBC reciprocal lattice (assumes XYZ periodicity)
|
||||
void update_pbc_lattice();
|
||||
|
||||
/// Tell the proxy whether total forces are needed (may not always be available)
|
||||
/// Set the lattice vectors to zero
|
||||
void reset_pbc_lattice();
|
||||
|
||||
/// \brief Tell the proxy whether total forces are needed (they may not
|
||||
/// always be available)
|
||||
virtual void request_total_force(bool yesno);
|
||||
|
||||
/// Are total forces being used?
|
||||
@ -83,6 +86,29 @@ public:
|
||||
|
||||
/// Are total forces from the current step available?
|
||||
virtual bool total_forces_same_step() const;
|
||||
|
||||
protected:
|
||||
|
||||
/// \brief Type of boundary conditions
|
||||
///
|
||||
/// Orthogonal and triclinic cells are made available to objects.
|
||||
/// For any other conditions (mixed periodicity, triclinic cells in LAMMPS)
|
||||
/// minimum-image distances are computed by the host engine regardless.
|
||||
enum Boundaries_type {
|
||||
boundaries_non_periodic,
|
||||
boundaries_pbc_ortho,
|
||||
boundaries_pbc_triclinic,
|
||||
boundaries_unsupported
|
||||
};
|
||||
|
||||
/// Type of boundary conditions
|
||||
Boundaries_type boundaries_type;
|
||||
|
||||
/// Bravais lattice vectors
|
||||
cvm::rvector unit_cell_x, unit_cell_y, unit_cell_z;
|
||||
|
||||
/// Reciprocal lattice vectors
|
||||
cvm::rvector reciprocal_cell_x, reciprocal_cell_y, reciprocal_cell_z;
|
||||
};
|
||||
|
||||
|
||||
@ -121,24 +147,30 @@ public:
|
||||
/// (costly) set the corresponding atoms_ncopies to zero
|
||||
virtual void clear_atom(int index);
|
||||
|
||||
/// \brief Read atom identifiers from a file \param filename name of
|
||||
/// the file (usually a PDB) \param atoms array to which atoms read
|
||||
/// from "filename" will be appended \param pdb_field (optiona) if
|
||||
/// "filename" is a PDB file, use this field to determine which are
|
||||
/// the atoms to be set
|
||||
/// \brief Select atom IDs from a file (usually PDB) \param filename name of
|
||||
/// the file \param atoms array to which atoms read from "filename" will be
|
||||
/// appended \param pdb_field (optional) if the file is a PDB and this
|
||||
/// string is non-empty, select atoms for which this field is non-zero
|
||||
/// \param pdb_field_value (optional) if non-zero, select only atoms whose
|
||||
/// pdb_field equals this
|
||||
virtual int load_atoms(char const *filename,
|
||||
cvm::atom_group &atoms,
|
||||
std::string const &pdb_field,
|
||||
double const pdb_field_value = 0.0);
|
||||
double pdb_field_value = 0.0);
|
||||
|
||||
/// \brief Load the coordinates for a group of atoms from a file
|
||||
/// (usually a PDB); if "pos" is already allocated, the number of its
|
||||
/// elements must match the number of atoms in "filename"
|
||||
/// \brief Load a set of coordinates from a file (usually PDB); if "pos" is
|
||||
/// already allocated, the number of its elements must match the number of
|
||||
/// entries in "filename" \param filename name of the file \param pos array
|
||||
/// of coordinates \param sorted_ids array of sorted internal IDs, used to
|
||||
/// loop through the file only once \param pdb_field (optional) if the file
|
||||
/// is a PDB and this string is non-empty, select atoms for which this field
|
||||
/// is non-zero \param pdb_field_value (optional) if non-zero, select only
|
||||
/// atoms whose pdb_field equals this
|
||||
virtual int load_coords(char const *filename,
|
||||
std::vector<cvm::atom_pos> &pos,
|
||||
const std::vector<int> &indices,
|
||||
std::vector<int> const &sorted_ids,
|
||||
std::string const &pdb_field,
|
||||
double const pdb_field_value = 0.0);
|
||||
double pdb_field_value = 0.0);
|
||||
|
||||
/// Clear atomic data
|
||||
int reset();
|
||||
@ -636,6 +668,15 @@ public:
|
||||
return b_simulation_running;
|
||||
}
|
||||
|
||||
/// Convert a version string "YYYY-MM-DD" into an integer
|
||||
int get_version_from_string(char const *version_string);
|
||||
|
||||
/// Get the version number (higher = more recent)
|
||||
int version_number() const
|
||||
{
|
||||
return version_int;
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
/// Whether a simulation is running (warn against irrecovarable errors)
|
||||
@ -644,6 +685,9 @@ protected:
|
||||
/// Whether the entire module should be deallocated by the host engine
|
||||
bool b_delete_requested;
|
||||
|
||||
/// Integer representing the version string (allows comparisons)
|
||||
int version_int;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#ifndef COLVARS_VERSION
|
||||
#define COLVARS_VERSION "2018-01-17"
|
||||
#define COLVARS_VERSION "2018-04-29"
|
||||
// This file is part of the Collective Variables module (Colvars).
|
||||
// The original version of Colvars and its updates are located at:
|
||||
// https://github.com/colvars/colvars
|
||||
|
||||
@ -130,7 +130,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
inline void operator *= (cvm::real const &a)
|
||||
inline void operator *= (cvm::real a)
|
||||
{
|
||||
size_t i;
|
||||
for (i = 0; i < this->size(); i++) {
|
||||
@ -138,7 +138,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
inline void operator /= (cvm::real const &a)
|
||||
inline void operator /= (cvm::real a)
|
||||
{
|
||||
size_t i;
|
||||
for (i = 0; i < this->size(); i++) {
|
||||
@ -146,7 +146,8 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
inline friend vector1d<T> operator + (vector1d<T> const &v1, vector1d<T> const &v2)
|
||||
inline friend vector1d<T> operator + (vector1d<T> const &v1,
|
||||
vector1d<T> const &v2)
|
||||
{
|
||||
check_sizes(v1.size(), v2.size());
|
||||
vector1d<T> result(v1.size());
|
||||
@ -157,7 +158,8 @@ public:
|
||||
return result;
|
||||
}
|
||||
|
||||
inline friend vector1d<T> operator - (vector1d<T> const &v1, vector1d<T> const &v2)
|
||||
inline friend vector1d<T> operator - (vector1d<T> const &v1,
|
||||
vector1d<T> const &v2)
|
||||
{
|
||||
check_sizes(v1.size(), v2.size());
|
||||
vector1d<T> result(v1.size());
|
||||
@ -168,7 +170,7 @@ public:
|
||||
return result;
|
||||
}
|
||||
|
||||
inline friend vector1d<T> operator * (vector1d<T> const &v, cvm::real const &a)
|
||||
inline friend vector1d<T> operator * (vector1d<T> const &v, cvm::real a)
|
||||
{
|
||||
vector1d<T> result(v.size());
|
||||
size_t i;
|
||||
@ -178,12 +180,12 @@ public:
|
||||
return result;
|
||||
}
|
||||
|
||||
inline friend vector1d<T> operator * (cvm::real const &a, vector1d<T> const &v)
|
||||
inline friend vector1d<T> operator * (cvm::real a, vector1d<T> const &v)
|
||||
{
|
||||
return v * a;
|
||||
}
|
||||
|
||||
inline friend vector1d<T> operator / (vector1d<T> const &v, cvm::real const &a)
|
||||
inline friend vector1d<T> operator / (vector1d<T> const &v, cvm::real a)
|
||||
{
|
||||
vector1d<T> result(v.size());
|
||||
size_t i;
|
||||
@ -246,7 +248,8 @@ public:
|
||||
}
|
||||
|
||||
/// Assign a vector to a slice of this vector
|
||||
inline void sliceassign(size_t const i1, size_t const i2, vector1d<T> const &v)
|
||||
inline void sliceassign(size_t const i1, size_t const i2,
|
||||
vector1d<T> const &v)
|
||||
{
|
||||
if ((i2 < i1) || (i2 >= this->size())) {
|
||||
cvm::error("Error: trying to slice a vector using incorrect boundaries.\n");
|
||||
@ -259,12 +262,13 @@ public:
|
||||
|
||||
/// Formatted output
|
||||
|
||||
inline size_t output_width(size_t const &real_width) const
|
||||
inline size_t output_width(size_t real_width) const
|
||||
{
|
||||
return real_width*(this->size()) + 3*(this->size()-1) + 4;
|
||||
}
|
||||
|
||||
inline friend std::istream & operator >> (std::istream &is, cvm::vector1d<T> &v)
|
||||
inline friend std::istream & operator >> (std::istream &is,
|
||||
cvm::vector1d<T> &v)
|
||||
{
|
||||
if (v.size() == 0) return is;
|
||||
size_t const start_pos = is.tellg();
|
||||
@ -288,7 +292,8 @@ public:
|
||||
return is;
|
||||
}
|
||||
|
||||
inline friend std::ostream & operator << (std::ostream &os, cvm::vector1d<T> const &v)
|
||||
inline friend std::ostream & operator << (std::ostream &os,
|
||||
cvm::vector1d<T> const &v)
|
||||
{
|
||||
std::streamsize const w = os.width();
|
||||
std::streamsize const p = os.precision();
|
||||
@ -377,6 +382,15 @@ protected:
|
||||
{
|
||||
return vector1d<T>(length, data);
|
||||
}
|
||||
inline int set(cvm::vector1d<T> const &v) const
|
||||
{
|
||||
if (v.size() != length) {
|
||||
return cvm::error("Error: setting a matrix row from a vector of "
|
||||
"incompatible size.\n", BUG_ERROR);
|
||||
}
|
||||
for (size_t i = 0; i < length; i++) data[i] = v[i];
|
||||
return COLVARS_OK;
|
||||
}
|
||||
};
|
||||
|
||||
std::vector<T> data;
|
||||
@ -515,9 +529,12 @@ public:
|
||||
{
|
||||
if ((m1.outer_length != m2.outer_length) ||
|
||||
(m1.inner_length != m2.inner_length)) {
|
||||
cvm::error("Error: trying to perform an operation between matrices of different sizes, "+
|
||||
cvm::to_str(m1.outer_length)+"x"+cvm::to_str(m1.inner_length)+" and "+
|
||||
cvm::to_str(m2.outer_length)+"x"+cvm::to_str(m2.inner_length)+".\n");
|
||||
cvm::error("Error: trying to perform an operation between "
|
||||
"matrices of different sizes, "+
|
||||
cvm::to_str(m1.outer_length)+"x"+
|
||||
cvm::to_str(m1.inner_length)+" and "+
|
||||
cvm::to_str(m2.outer_length)+"x"+
|
||||
cvm::to_str(m2.inner_length)+".\n");
|
||||
}
|
||||
}
|
||||
|
||||
@ -539,7 +556,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
inline void operator *= (cvm::real const &a)
|
||||
inline void operator *= (cvm::real a)
|
||||
{
|
||||
size_t i;
|
||||
for (i = 0; i < data.size(); i++) {
|
||||
@ -547,7 +564,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
inline void operator /= (cvm::real const &a)
|
||||
inline void operator /= (cvm::real a)
|
||||
{
|
||||
size_t i;
|
||||
for (i = 0; i < data.size(); i++) {
|
||||
@ -555,7 +572,8 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
inline friend matrix2d<T> operator + (matrix2d<T> const &m1, matrix2d<T> const &m2)
|
||||
inline friend matrix2d<T> operator + (matrix2d<T> const &m1,
|
||||
matrix2d<T> const &m2)
|
||||
{
|
||||
check_sizes(m1, m2);
|
||||
matrix2d<T> result(m1.outer_length, m1.inner_length);
|
||||
@ -566,7 +584,8 @@ public:
|
||||
return result;
|
||||
}
|
||||
|
||||
inline friend matrix2d<T> operator - (matrix2d<T> const &m1, matrix2d<T> const &m2)
|
||||
inline friend matrix2d<T> operator - (matrix2d<T> const &m1,
|
||||
matrix2d<T> const &m2)
|
||||
{
|
||||
check_sizes(m1, m2);
|
||||
matrix2d<T> result(m1.outer_length, m1.inner_length);
|
||||
@ -577,7 +596,7 @@ public:
|
||||
return result;
|
||||
}
|
||||
|
||||
inline friend matrix2d<T> operator * (matrix2d<T> const &m, cvm::real const &a)
|
||||
inline friend matrix2d<T> operator * (matrix2d<T> const &m, cvm::real a)
|
||||
{
|
||||
matrix2d<T> result(m.outer_length, m.inner_length);
|
||||
size_t i;
|
||||
@ -587,12 +606,12 @@ public:
|
||||
return result;
|
||||
}
|
||||
|
||||
inline friend matrix2d<T> operator * (cvm::real const &a, matrix2d<T> const &m)
|
||||
inline friend matrix2d<T> operator * (cvm::real a, matrix2d<T> const &m)
|
||||
{
|
||||
return m * a;
|
||||
}
|
||||
|
||||
inline friend matrix2d<T> operator / (matrix2d<T> const &m, cvm::real const &a)
|
||||
inline friend matrix2d<T> operator / (matrix2d<T> const &m, cvm::real a)
|
||||
{
|
||||
matrix2d<T> result(m.outer_length, m.inner_length);
|
||||
size_t i;
|
||||
@ -602,34 +621,17 @@ public:
|
||||
return result;
|
||||
}
|
||||
|
||||
/// Matrix multiplication
|
||||
// inline friend matrix2d<T> const & operator * (matrix2d<T> const &m1, matrix2d<T> const &m2)
|
||||
// {
|
||||
// matrix2d<T> result(m1.outer_length, m2.inner_length);
|
||||
// if (m1.inner_length != m2.outer_length) {
|
||||
// cvm::error("Error: trying to multiply two matrices of incompatible sizes, "+
|
||||
// cvm::to_str(m1.outer_length)+"x"+cvm::to_str(m1.inner_length)+" and "+
|
||||
// cvm::to_str(m2.outer_length)+"x"+cvm::to_str(m2.inner_length)+".\n");
|
||||
// } else {
|
||||
// size_t i, j, k;
|
||||
// for (i = 0; i < m1.outer_length; i++) {
|
||||
// for (j = 0; j < m2.inner_length; j++) {
|
||||
// for (k = 0; k < m1.inner_length; k++) {
|
||||
// result[i][j] += m1[i][k] * m2[k][j];
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return result;
|
||||
// }
|
||||
|
||||
/// vector-matrix multiplication
|
||||
inline friend vector1d<T> operator * (vector1d<T> const &v, matrix2d<T> const &m)
|
||||
inline friend vector1d<T> operator * (vector1d<T> const &v,
|
||||
matrix2d<T> const &m)
|
||||
{
|
||||
vector1d<T> result(m.inner_length);
|
||||
if (m.outer_length != v.size()) {
|
||||
cvm::error("Error: trying to multiply a vector and a matrix of incompatible sizes, "+
|
||||
cvm::to_str(v.size()) + " and " + cvm::to_str(m.outer_length)+"x"+cvm::to_str(m.inner_length) + ".\n");
|
||||
cvm::error("Error: trying to multiply a vector and a matrix "
|
||||
"of incompatible sizes, "+
|
||||
cvm::to_str(v.size()) + " and " +
|
||||
cvm::to_str(m.outer_length)+"x"+cvm::to_str(m.inner_length) +
|
||||
".\n");
|
||||
} else {
|
||||
size_t i, k;
|
||||
for (i = 0; i < m.inner_length; i++) {
|
||||
@ -641,25 +643,6 @@ public:
|
||||
return result;
|
||||
}
|
||||
|
||||
// /// matrix-vector multiplication (unused for now)
|
||||
// inline friend vector1d<T> const & operator * (matrix2d<T> const &m, vector1d<T> const &v)
|
||||
// {
|
||||
// vector1d<T> result(m.outer_length);
|
||||
// if (m.inner_length != v.size()) {
|
||||
// cvm::error("Error: trying to multiply a matrix and a vector of incompatible sizes, "+
|
||||
// cvm::to_str(m.outer_length)+"x"+cvm::to_str(m.inner_length)
|
||||
// + " and " + cvm::to_str(v.length) + ".\n");
|
||||
// } else {
|
||||
// size_t i, k;
|
||||
// for (i = 0; i < m.outer_length; i++) {
|
||||
// for (k = 0; k < m.inner_length; k++) {
|
||||
// result[i] += m[i][k] * v[k];
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return result;
|
||||
// }
|
||||
|
||||
/// Formatted output
|
||||
friend std::ostream & operator << (std::ostream &os,
|
||||
matrix2d<T> const &m)
|
||||
@ -725,49 +708,52 @@ public:
|
||||
cvm::real x, y, z;
|
||||
|
||||
inline rvector()
|
||||
: x(0.0), y(0.0), z(0.0)
|
||||
{}
|
||||
{
|
||||
reset();
|
||||
}
|
||||
|
||||
inline rvector(cvm::real const &x_i,
|
||||
cvm::real const &y_i,
|
||||
cvm::real const &z_i)
|
||||
: x(x_i), y(y_i), z(z_i)
|
||||
{}
|
||||
/// \brief Set all components to zero
|
||||
inline void reset()
|
||||
{
|
||||
set(0.0);
|
||||
}
|
||||
|
||||
inline rvector(cvm::real x_i, cvm::real y_i, cvm::real z_i)
|
||||
{
|
||||
set(x_i, y_i, z_i);
|
||||
}
|
||||
|
||||
inline rvector(cvm::vector1d<cvm::real> const &v)
|
||||
: x(v[0]), y(v[1]), z(v[2])
|
||||
{}
|
||||
{
|
||||
set(v[0], v[1], v[2]);
|
||||
}
|
||||
|
||||
inline rvector(cvm::real t)
|
||||
: x(t), y(t), z(t)
|
||||
{}
|
||||
{
|
||||
set(t);
|
||||
}
|
||||
|
||||
/// \brief Set all components to a scalar value
|
||||
inline void set(cvm::real const &value) {
|
||||
/// \brief Set all components to a scalar
|
||||
inline void set(cvm::real value)
|
||||
{
|
||||
x = y = z = value;
|
||||
}
|
||||
|
||||
/// \brief Assign all components
|
||||
inline void set(cvm::real const &x_i,
|
||||
cvm::real const &y_i,
|
||||
cvm::real const &z_i) {
|
||||
inline void set(cvm::real x_i, cvm::real y_i, cvm::real z_i)
|
||||
{
|
||||
x = x_i;
|
||||
y = y_i;
|
||||
z = z_i;
|
||||
}
|
||||
|
||||
/// \brief Set all components to zero
|
||||
inline void reset() {
|
||||
x = y = z = 0.0;
|
||||
}
|
||||
|
||||
/// \brief Access cartesian components by index
|
||||
inline cvm::real & operator [] (int const &i) {
|
||||
inline cvm::real & operator [] (int i) {
|
||||
return (i == 0) ? x : (i == 1) ? y : (i == 2) ? z : x;
|
||||
}
|
||||
|
||||
/// \brief Access cartesian components by index
|
||||
inline cvm::real const & operator [] (int const &i) const {
|
||||
inline cvm::real operator [] (int i) const {
|
||||
return (i == 0) ? x : (i == 1) ? y : (i == 2) ? z : x;
|
||||
}
|
||||
|
||||
@ -780,14 +766,6 @@ public:
|
||||
return result;
|
||||
}
|
||||
|
||||
inline cvm::rvector & operator = (cvm::real const &v)
|
||||
{
|
||||
x = v;
|
||||
y = v;
|
||||
z = v;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline void operator += (cvm::rvector const &v)
|
||||
{
|
||||
x += v.x;
|
||||
@ -802,7 +780,7 @@ public:
|
||||
z -= v.z;
|
||||
}
|
||||
|
||||
inline void operator *= (cvm::real const &v)
|
||||
inline void operator *= (cvm::real v)
|
||||
{
|
||||
x *= v;
|
||||
y *= v;
|
||||
@ -832,13 +810,14 @@ public:
|
||||
return (n > 0. ? cvm::rvector(x, y, z)/n : cvm::rvector(1., 0., 0.));
|
||||
}
|
||||
|
||||
static inline size_t output_width(size_t const &real_width)
|
||||
static inline size_t output_width(size_t real_width)
|
||||
{
|
||||
return 3*real_width + 10;
|
||||
}
|
||||
|
||||
|
||||
static inline cvm::rvector outer(cvm::rvector const &v1, cvm::rvector const &v2)
|
||||
static inline cvm::rvector outer(cvm::rvector const &v1,
|
||||
cvm::rvector const &v2)
|
||||
{
|
||||
return cvm::rvector( v1.y*v2.z - v2.y*v1.z,
|
||||
-v1.x*v2.z + v2.x*v1.z,
|
||||
@ -850,41 +829,35 @@ public:
|
||||
return cvm::rvector(-v.x, -v.y, -v.z);
|
||||
}
|
||||
|
||||
friend inline int operator == (cvm::rvector const &v1, cvm::rvector const &v2)
|
||||
{
|
||||
return (v1.x == v2.x) && (v1.y == v2.y) && (v1.z == v2.z);
|
||||
}
|
||||
|
||||
friend inline int operator != (cvm::rvector const &v1, cvm::rvector const &v2)
|
||||
{
|
||||
return (v1.x != v2.x) || (v1.y != v2.y) || (v1.z != v2.z);
|
||||
}
|
||||
|
||||
friend inline cvm::rvector operator + (cvm::rvector const &v1, cvm::rvector const &v2)
|
||||
friend inline cvm::rvector operator + (cvm::rvector const &v1,
|
||||
cvm::rvector const &v2)
|
||||
{
|
||||
return cvm::rvector(v1.x + v2.x, v1.y + v2.y, v1.z + v2.z);
|
||||
}
|
||||
friend inline cvm::rvector operator - (cvm::rvector const &v1, cvm::rvector const &v2)
|
||||
friend inline cvm::rvector operator - (cvm::rvector const &v1,
|
||||
cvm::rvector const &v2)
|
||||
{
|
||||
return cvm::rvector(v1.x - v2.x, v1.y - v2.y, v1.z - v2.z);
|
||||
}
|
||||
|
||||
friend inline cvm::real operator * (cvm::rvector const &v1, cvm::rvector const &v2)
|
||||
/// Inner (dot) product
|
||||
friend inline cvm::real operator * (cvm::rvector const &v1,
|
||||
cvm::rvector const &v2)
|
||||
{
|
||||
return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z;
|
||||
}
|
||||
|
||||
friend inline cvm::rvector operator * (cvm::real const &a, cvm::rvector const &v)
|
||||
friend inline cvm::rvector operator * (cvm::real a, cvm::rvector const &v)
|
||||
{
|
||||
return cvm::rvector(a*v.x, a*v.y, a*v.z);
|
||||
}
|
||||
|
||||
friend inline cvm::rvector operator * (cvm::rvector const &v, cvm::real const &a)
|
||||
friend inline cvm::rvector operator * (cvm::rvector const &v, cvm::real a)
|
||||
{
|
||||
return cvm::rvector(a*v.x, a*v.y, a*v.z);
|
||||
}
|
||||
|
||||
friend inline cvm::rvector operator / (cvm::rvector const &v, cvm::real const &a)
|
||||
friend inline cvm::rvector operator / (cvm::rvector const &v, cvm::real a)
|
||||
{
|
||||
return cvm::rvector(v.x/a, v.y/a, v.z/a);
|
||||
}
|
||||
@ -946,15 +919,9 @@ public:
|
||||
{}
|
||||
|
||||
/// Constructor component by component
|
||||
inline rmatrix(cvm::real const &xxi,
|
||||
cvm::real const &xyi,
|
||||
cvm::real const &xzi,
|
||||
cvm::real const &yxi,
|
||||
cvm::real const &yyi,
|
||||
cvm::real const &yzi,
|
||||
cvm::real const &zxi,
|
||||
cvm::real const &zyi,
|
||||
cvm::real const &zzi)
|
||||
inline rmatrix(cvm::real xxi, cvm::real xyi, cvm::real xzi,
|
||||
cvm::real yxi, cvm::real yyi, cvm::real yzi,
|
||||
cvm::real zxi, cvm::real zyi, cvm::real zzi)
|
||||
: cvm::matrix2d<cvm::real>(3, 3)
|
||||
{
|
||||
this->xx() = xxi;
|
||||
@ -983,31 +950,13 @@ public:
|
||||
|
||||
inline cvm::rmatrix transpose() const
|
||||
{
|
||||
return cvm::rmatrix(this->xx(),
|
||||
this->yx(),
|
||||
this->zx(),
|
||||
this->xy(),
|
||||
this->yy(),
|
||||
this->zy(),
|
||||
this->xz(),
|
||||
this->yz(),
|
||||
this->zz());
|
||||
return cvm::rmatrix(this->xx(), this->yx(), this->zx(),
|
||||
this->xy(), this->yy(), this->zy(),
|
||||
this->xz(), this->yz(), this->zz());
|
||||
}
|
||||
|
||||
friend cvm::rvector operator * (cvm::rmatrix const &m, cvm::rvector const &r);
|
||||
|
||||
// friend inline cvm::rmatrix const operator * (cvm::rmatrix const &m1, cvm::rmatrix const &m2) {
|
||||
// return cvm::rmatrix (m1.xx()*m2.xx() + m1.xy()*m2.yx() + m1.xz()*m2.yz(),
|
||||
// m1.xx()*m2.xy() + m1.xy()*m2.yy() + m1.xz()*m2.zy(),
|
||||
// m1.xx()*m2.xz() + m1.xy()*m2.yz() + m1.xz()*m2.zz(),
|
||||
// m1.yx()*m2.xx() + m1.yy()*m2.yx() + m1.yz()*m2.yz(),
|
||||
// m1.yx()*m2.xy() + m1.yy()*m2.yy() + m1.yz()*m2.yy(),
|
||||
// m1.yx()*m2.xz() + m1.yy()*m2.yz() + m1.yz()*m2.yz(),
|
||||
// m1.zx()*m2.xx() + m1.zy()*m2.yx() + m1.zz()*m2.yz(),
|
||||
// m1.zx()*m2.xy() + m1.zy()*m2.yy() + m1.zz()*m2.yy(),
|
||||
// m1.zx()*m2.xz() + m1.zy()*m2.yz() + m1.zz()*m2.yz());
|
||||
// }
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -1031,7 +980,7 @@ public:
|
||||
cvm::real q0, q1, q2, q3;
|
||||
|
||||
/// Constructor from a 3-d vector
|
||||
inline quaternion(cvm::real const &x, cvm::real const &y, cvm::real const &z)
|
||||
inline quaternion(cvm::real x, cvm::real y, cvm::real z)
|
||||
: q0(0.0), q1(x), q2(y), q3(z)
|
||||
{}
|
||||
|
||||
@ -1041,10 +990,10 @@ public:
|
||||
{}
|
||||
|
||||
/// Constructor component by component
|
||||
inline quaternion(cvm::real const &q0i,
|
||||
cvm::real const &q1i,
|
||||
cvm::real const &q2i,
|
||||
cvm::real const &q3i)
|
||||
inline quaternion(cvm::real q0i,
|
||||
cvm::real q1i,
|
||||
cvm::real q2i,
|
||||
cvm::real q3i)
|
||||
: q0(q0i), q1(q1i), q2(q2i), q3(q3i)
|
||||
{}
|
||||
|
||||
@ -1055,9 +1004,9 @@ public:
|
||||
/// "Constructor" after Euler angles (in radians)
|
||||
///
|
||||
/// http://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles
|
||||
inline void set_from_euler_angles(cvm::real const &phi_in,
|
||||
cvm::real const &theta_in,
|
||||
cvm::real const &psi_in)
|
||||
inline void set_from_euler_angles(cvm::real phi_in,
|
||||
cvm::real theta_in,
|
||||
cvm::real psi_in)
|
||||
{
|
||||
q0 = ( (std::cos(phi_in/2.0)) * (std::cos(theta_in/2.0)) * (std::cos(psi_in/2.0)) +
|
||||
(std::sin(phi_in/2.0)) * (std::sin(theta_in/2.0)) * (std::sin(psi_in/2.0)) );
|
||||
@ -1079,7 +1028,7 @@ public:
|
||||
}
|
||||
|
||||
/// \brief Set all components to a scalar
|
||||
inline void set(cvm::real const &value = 0.0)
|
||||
inline void set(cvm::real value)
|
||||
{
|
||||
q0 = q1 = q2 = q3 = value;
|
||||
}
|
||||
@ -1087,7 +1036,7 @@ public:
|
||||
/// \brief Set all components to zero (null quaternion)
|
||||
inline void reset()
|
||||
{
|
||||
q0 = q1 = q2 = q3 = 0.0;
|
||||
set(0.0);
|
||||
}
|
||||
|
||||
/// \brief Set the q0 component to 1 and the others to 0 (quaternion
|
||||
@ -1099,7 +1048,7 @@ public:
|
||||
}
|
||||
|
||||
/// Tell the number of characters required to print a quaternion, given that of a real number
|
||||
static inline size_t output_width(size_t const &real_width)
|
||||
static inline size_t output_width(size_t real_width)
|
||||
{
|
||||
return 4*real_width + 13;
|
||||
}
|
||||
@ -1113,7 +1062,7 @@ public:
|
||||
friend std::istream & operator >> (std::istream &is, cvm::quaternion &q);
|
||||
|
||||
/// Access the quaternion as a 4-d array (return a reference)
|
||||
inline cvm::real & operator [] (int const &i) {
|
||||
inline cvm::real & operator [] (int i) {
|
||||
switch (i) {
|
||||
case 0:
|
||||
return this->q0;
|
||||
@ -1130,7 +1079,7 @@ public:
|
||||
}
|
||||
|
||||
/// Access the quaternion as a 4-d array (return a value)
|
||||
inline cvm::real operator [] (int const &i) const {
|
||||
inline cvm::real operator [] (int i) const {
|
||||
switch (i) {
|
||||
case 0:
|
||||
return this->q0;
|
||||
@ -1175,12 +1124,12 @@ public:
|
||||
return cvm::quaternion(q0, -q1, -q2, -q3);
|
||||
}
|
||||
|
||||
inline void operator *= (cvm::real const &a)
|
||||
inline void operator *= (cvm::real a)
|
||||
{
|
||||
q0 *= a; q1 *= a; q2 *= a; q3 *= a;
|
||||
}
|
||||
|
||||
inline void operator /= (cvm::real const &a)
|
||||
inline void operator /= (cvm::real a)
|
||||
{
|
||||
q0 /= a; q1 /= a; q2 /= a; q3 /= a;
|
||||
}
|
||||
@ -1215,19 +1164,22 @@ public:
|
||||
}
|
||||
|
||||
|
||||
friend inline cvm::quaternion operator + (cvm::quaternion const &h, cvm::quaternion const &q)
|
||||
friend inline cvm::quaternion operator + (cvm::quaternion const &h,
|
||||
cvm::quaternion const &q)
|
||||
{
|
||||
return cvm::quaternion(h.q0+q.q0, h.q1+q.q1, h.q2+q.q2, h.q3+q.q3);
|
||||
}
|
||||
|
||||
friend inline cvm::quaternion operator - (cvm::quaternion const &h, cvm::quaternion const &q)
|
||||
friend inline cvm::quaternion operator - (cvm::quaternion const &h,
|
||||
cvm::quaternion const &q)
|
||||
{
|
||||
return cvm::quaternion(h.q0-q.q0, h.q1-q.q1, h.q2-q.q2, h.q3-q.q3);
|
||||
}
|
||||
|
||||
/// \brief Provides the quaternion product. \b NOTE: for the inner
|
||||
/// product use: \code h.inner (q); \endcode
|
||||
friend inline cvm::quaternion operator * (cvm::quaternion const &h, cvm::quaternion const &q)
|
||||
friend inline cvm::quaternion operator * (cvm::quaternion const &h,
|
||||
cvm::quaternion const &q)
|
||||
{
|
||||
return cvm::quaternion(h.q0*q.q0 - h.q1*q.q1 - h.q2*q.q2 - h.q3*q.q3,
|
||||
h.q0*q.q1 + h.q1*q.q0 + h.q2*q.q3 - h.q3*q.q2,
|
||||
@ -1235,18 +1187,18 @@ public:
|
||||
h.q0*q.q3 + h.q3*q.q0 + h.q1*q.q2 - h.q2*q.q1);
|
||||
}
|
||||
|
||||
friend inline cvm::quaternion operator * (cvm::real const &c,
|
||||
friend inline cvm::quaternion operator * (cvm::real c,
|
||||
cvm::quaternion const &q)
|
||||
{
|
||||
return cvm::quaternion(c*q.q0, c*q.q1, c*q.q2, c*q.q3);
|
||||
}
|
||||
friend inline cvm::quaternion operator * (cvm::quaternion const &q,
|
||||
cvm::real const &c)
|
||||
cvm::real c)
|
||||
{
|
||||
return cvm::quaternion(q.q0*c, q.q1*c, q.q2*c, q.q3*c);
|
||||
}
|
||||
friend inline cvm::quaternion operator / (cvm::quaternion const &q,
|
||||
cvm::real const &c)
|
||||
cvm::real c)
|
||||
{
|
||||
return cvm::quaternion(q.q0/c, q.q1/c, q.q2/c, q.q3/c);
|
||||
}
|
||||
@ -1407,7 +1359,7 @@ public:
|
||||
std::vector< cvm::vector1d<cvm::rvector> > dQ0_1, dQ0_2;
|
||||
|
||||
/// Allocate space for the derivatives of the rotation
|
||||
inline void request_group1_gradients(size_t const &n)
|
||||
inline void request_group1_gradients(size_t n)
|
||||
{
|
||||
dS_1.resize(n, cvm::matrix2d<cvm::rvector>(4, 4));
|
||||
dL0_1.resize(n, cvm::rvector(0.0, 0.0, 0.0));
|
||||
@ -1415,7 +1367,7 @@ public:
|
||||
}
|
||||
|
||||
/// Allocate space for the derivatives of the rotation
|
||||
inline void request_group2_gradients(size_t const &n)
|
||||
inline void request_group2_gradients(size_t n)
|
||||
{
|
||||
dS_2.resize(n, cvm::matrix2d<cvm::rvector>(4, 4));
|
||||
dL0_2.resize(n, cvm::rvector(0.0, 0.0, 0.0));
|
||||
@ -1448,7 +1400,7 @@ public:
|
||||
}
|
||||
|
||||
/// Constructor after an axis of rotation and an angle (in radians)
|
||||
inline rotation(cvm::real const &angle, cvm::rvector const &axis)
|
||||
inline rotation(cvm::real angle, cvm::rvector const &axis)
|
||||
: b_debug_gradients(false)
|
||||
{
|
||||
cvm::rvector const axis_n = axis.unit();
|
||||
@ -1500,20 +1452,18 @@ public:
|
||||
|
||||
if (q.q0 != 0.0) {
|
||||
|
||||
// cvm::real const x = iprod/q.q0;
|
||||
cvm::real const dspindx =
|
||||
(180.0/PI) * 2.0 * (1.0 / (1.0 + (iprod*iprod)/(q.q0*q.q0)));
|
||||
|
||||
cvm::real const dspindx = (180.0/PI) * 2.0 * (1.0 / (1.0 + (iprod*iprod)/(q.q0*q.q0)));
|
||||
|
||||
return
|
||||
cvm::quaternion( dspindx * (iprod * (-1.0) / (q.q0*q.q0)),
|
||||
dspindx * ((1.0/q.q0) * axis.x),
|
||||
dspindx * ((1.0/q.q0) * axis.y),
|
||||
dspindx * ((1.0/q.q0) * axis.z));
|
||||
return cvm::quaternion( dspindx * (iprod * (-1.0) / (q.q0*q.q0)),
|
||||
dspindx * ((1.0/q.q0) * axis.x),
|
||||
dspindx * ((1.0/q.q0) * axis.y),
|
||||
dspindx * ((1.0/q.q0) * axis.z));
|
||||
} else {
|
||||
// (1/(1+x^2)) ~ (1/x)^2
|
||||
return
|
||||
cvm::quaternion((180.0/PI) * 2.0 * ((-1.0)/iprod), 0.0, 0.0, 0.0);
|
||||
// XX TODO: What if iprod == 0? XX
|
||||
// The documentation of spinAngle discourages its use when q_vec and
|
||||
// axis are not close
|
||||
return cvm::quaternion((180.0/PI) * 2.0 * ((-1.0)/iprod), 0.0, 0.0, 0.0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
2
lib/latte/.gitignore
vendored
2
lib/latte/.gitignore
vendored
@ -2,4 +2,4 @@
|
||||
/filelink
|
||||
/liblink
|
||||
/includelink
|
||||
/LATTE-master
|
||||
/LATTE-*
|
||||
|
||||
8
lib/vtk/Makefile.lammps.fedora28_vtk7
Normal file
8
lib/vtk/Makefile.lammps.fedora28_vtk7
Normal file
@ -0,0 +1,8 @@
|
||||
# Settings that the LAMMPS build will import when this package library is used
|
||||
|
||||
# settings for VTK 7.1.1 on Fedora 28. This seems to work with Fedora versions going back to at least 23 and VTK version 6.x.
|
||||
# You need to install vtk-devel and all its dependencies using "dnf install vtk-devel"
|
||||
vtk_SYSINC = -I/usr/include/vtk
|
||||
vtk_SYSLIB = -lvtkCommonCore -lvtkIOCore -lvtkCommonDataModel -lvtkIOXML -lvtkIOLegacy -lvtkIOParallelXML
|
||||
vtk_SYSPATH = -L/usr/lib64/vtk
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
#
|
||||
# Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
# certain rights in this software. This software is distributed under
|
||||
# certain rights in this software. This software is distributed under
|
||||
# the GNU General Public License.
|
||||
#
|
||||
# See the README file in the top-level LAMMPS directory.
|
||||
@ -37,7 +37,7 @@ def get_ctypes_int(size):
|
||||
return c_int32
|
||||
elif size == 8:
|
||||
return c_int64
|
||||
return c_int
|
||||
return c_int
|
||||
|
||||
class MPIAbortException(Exception):
|
||||
def __init__(self, message):
|
||||
@ -47,7 +47,7 @@ class MPIAbortException(Exception):
|
||||
return repr(self.message)
|
||||
|
||||
class lammps(object):
|
||||
|
||||
|
||||
# detect if Python is using version of mpi4py that can pass a communicator
|
||||
|
||||
has_mpi4py = False
|
||||
@ -71,7 +71,7 @@ class lammps(object):
|
||||
|
||||
# if a pointer to a LAMMPS object is handed in,
|
||||
# all symbols should already be available
|
||||
|
||||
|
||||
try:
|
||||
if ptr: self.lib = CDLL("",RTLD_GLOBAL)
|
||||
except:
|
||||
@ -84,7 +84,7 @@ class lammps(object):
|
||||
# so that LD_LIBRARY_PATH does not need to be set for regular install
|
||||
# fall back to loading with a relative path,
|
||||
# typically requires LD_LIBRARY_PATH to be set appropriately
|
||||
|
||||
|
||||
if not self.lib:
|
||||
try:
|
||||
if not name: self.lib = CDLL(join(modpath,"liblammps.so"),RTLD_GLOBAL)
|
||||
@ -110,15 +110,15 @@ class lammps(object):
|
||||
self.lib.lammps_gather_atoms.argtypes = \
|
||||
[c_void_p,c_char_p,c_int,c_int,c_void_p]
|
||||
self.lib.lammps_gather_atoms.restype = None
|
||||
|
||||
|
||||
self.lib.lammps_gather_atoms_concat.argtypes = \
|
||||
[c_void_p,c_char_p,c_int,c_int,c_void_p]
|
||||
self.lib.lammps_gather_atoms_concat.restype = None
|
||||
|
||||
|
||||
self.lib.lammps_gather_atoms_subset.argtypes = \
|
||||
[c_void_p,c_char_p,c_int,c_int,c_int,POINTER(c_int),c_void_p]
|
||||
self.lib.lammps_gather_atoms_subset.restype = None
|
||||
|
||||
|
||||
self.lib.lammps_scatter_atoms.argtypes = \
|
||||
[c_void_p,c_char_p,c_int,c_int,c_void_p]
|
||||
self.lib.lammps_scatter_atoms.restype = None
|
||||
@ -137,7 +137,7 @@ class lammps(object):
|
||||
# just convert it to ctypes ptr and store in self.lmp
|
||||
|
||||
if not ptr:
|
||||
|
||||
|
||||
# with mpi4py v2, can pass MPI communicator to LAMMPS
|
||||
# need to adjust for type of MPI communicator object
|
||||
# allow for int (like MPICH) or void* (like OpenMPI)
|
||||
@ -211,7 +211,7 @@ class lammps(object):
|
||||
self.c_imageint = get_ctypes_int(self.extract_setting("imageint"))
|
||||
|
||||
# shut-down LAMMPS instance
|
||||
|
||||
|
||||
def __del__(self):
|
||||
if self.lmp and self.opened:
|
||||
self.lib.lammps_close(self.lmp)
|
||||
@ -230,7 +230,7 @@ class lammps(object):
|
||||
self.lib.lammps_file(self.lmp,file)
|
||||
|
||||
# send a single command
|
||||
|
||||
|
||||
def command(self,cmd):
|
||||
if cmd: cmd = cmd.encode()
|
||||
self.lib.lammps_command(self.lmp,cmd)
|
||||
@ -250,13 +250,13 @@ class lammps(object):
|
||||
cmds = [x.encode() for x in cmdlist if type(x) is str]
|
||||
args = (c_char_p * len(cmdlist))(*cmds)
|
||||
self.lib.lammps_commands_list(self.lmp,len(cmdlist),args)
|
||||
|
||||
|
||||
# send a string of commands
|
||||
|
||||
def commands_string(self,multicmd):
|
||||
if type(multicmd) is str: multicmd = multicmd.encode()
|
||||
self.lib.lammps_commands_string(self.lmp,c_char_p(multicmd))
|
||||
|
||||
|
||||
# extract lammps type byte sizes
|
||||
|
||||
def extract_setting(self, name):
|
||||
@ -265,7 +265,7 @@ class lammps(object):
|
||||
return int(self.lib.lammps_extract_setting(self.lmp,name))
|
||||
|
||||
# extract global info
|
||||
|
||||
|
||||
def extract_global(self,name,type):
|
||||
if name: name = name.encode()
|
||||
if type == 0:
|
||||
@ -277,7 +277,7 @@ class lammps(object):
|
||||
return ptr[0]
|
||||
|
||||
# extract global info
|
||||
|
||||
|
||||
def extract_box(self):
|
||||
boxlo = (3*c_double)()
|
||||
boxhi = (3*c_double)()
|
||||
@ -286,11 +286,11 @@ class lammps(object):
|
||||
xz = c_double()
|
||||
periodicity = (3*c_int)()
|
||||
box_change = c_int()
|
||||
|
||||
|
||||
self.lib.lammps_extract_box(self.lmp,boxlo,boxhi,
|
||||
byref(xy),byref(yz),byref(xz),
|
||||
periodicity,byref(box_change))
|
||||
|
||||
|
||||
boxlo = boxlo[:3]
|
||||
boxhi = boxhi[:3]
|
||||
xy = xy.value
|
||||
@ -298,9 +298,9 @@ class lammps(object):
|
||||
xz = xz.value
|
||||
periodicity = periodicity[:3]
|
||||
box_change = box_change.value
|
||||
|
||||
|
||||
return boxlo,boxhi,xy,yz,xz,periodicity,box_change
|
||||
|
||||
|
||||
# extract per-atom info
|
||||
# NOTE: need to insure are converting to/from correct Python type
|
||||
# e.g. for Python list or NumPy or ctypes
|
||||
@ -318,7 +318,7 @@ class lammps(object):
|
||||
else: return None
|
||||
ptr = self.lib.lammps_extract_atom(self.lmp,name)
|
||||
return ptr
|
||||
|
||||
|
||||
@property
|
||||
def numpy(self):
|
||||
if not self._numpy:
|
||||
@ -371,7 +371,7 @@ class lammps(object):
|
||||
return self._numpy
|
||||
|
||||
# extract compute info
|
||||
|
||||
|
||||
def extract_compute(self,id,style,type):
|
||||
if id: id = id.encode()
|
||||
if type == 0:
|
||||
@ -384,9 +384,14 @@ class lammps(object):
|
||||
ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type)
|
||||
return ptr
|
||||
if type == 2:
|
||||
self.lib.lammps_extract_compute.restype = POINTER(POINTER(c_double))
|
||||
ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type)
|
||||
return ptr
|
||||
if style == 0:
|
||||
self.lib.lammps_extract_compute.restype = POINTER(c_int)
|
||||
ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type)
|
||||
return ptr[0]
|
||||
else:
|
||||
self.lib.lammps_extract_compute.restype = POINTER(POINTER(c_double))
|
||||
ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type)
|
||||
return ptr
|
||||
return None
|
||||
|
||||
# extract fix info
|
||||
@ -466,7 +471,7 @@ class lammps(object):
|
||||
cboxlo = (3*c_double)(*boxlo)
|
||||
cboxhi = (3*c_double)(*boxhi)
|
||||
self.lib.lammps_reset_box(self.lmp,cboxlo,cboxhi,xy,yz,xz)
|
||||
|
||||
|
||||
# return vector of atom properties gathered across procs
|
||||
# 3 variants to match src/library.cpp
|
||||
# name = atom property recognized by LAMMPS in atom->extract()
|
||||
@ -475,7 +480,7 @@ class lammps(object):
|
||||
# returned data is a 1d vector - doc how it is ordered?
|
||||
# NOTE: need to insure are converting to/from correct Python type
|
||||
# e.g. for Python list or NumPy or ctypes
|
||||
|
||||
|
||||
def gather_atoms(self,name,type,count):
|
||||
if name: name = name.encode()
|
||||
natoms = self.lib.lammps_get_natoms(self.lmp)
|
||||
@ -487,7 +492,7 @@ class lammps(object):
|
||||
self.lib.lammps_gather_atoms(self.lmp,name,type,count,data)
|
||||
else: return None
|
||||
return data
|
||||
|
||||
|
||||
def gather_atoms_concat(self,name,type,count):
|
||||
if name: name = name.encode()
|
||||
natoms = self.lib.lammps_get_natoms(self.lmp)
|
||||
@ -519,7 +524,7 @@ class lammps(object):
|
||||
# assume data is of correct type and length, as created by gather_atoms()
|
||||
# NOTE: need to insure are converting to/from correct Python type
|
||||
# e.g. for Python list or NumPy or ctypes
|
||||
|
||||
|
||||
def scatter_atoms(self,name,type,count,data):
|
||||
if name: name = name.encode()
|
||||
self.lib.lammps_scatter_atoms(self.lmp,name,type,count,data)
|
||||
|
||||
4
src/.gitignore
vendored
4
src/.gitignore
vendored
@ -374,6 +374,8 @@
|
||||
/fix_bond_break.h
|
||||
/fix_bond_create.cpp
|
||||
/fix_bond_create.h
|
||||
/fix_bond_react.cpp
|
||||
/fix_bond_react.h
|
||||
/fix_bond_swap.cpp
|
||||
/fix_bond_swap.h
|
||||
/fix_cmap.cpp
|
||||
@ -732,6 +734,8 @@
|
||||
/pair_hbond_dreiding_morse.h
|
||||
/pair_ilp_graphene_hbn.cpp
|
||||
/pair_ilp_graphene_hbn.h
|
||||
/pair_kim.cpp
|
||||
/pair_kim.h
|
||||
/pair_kolmogorov_crespi_full.cpp
|
||||
/pair_kolmogorov_crespi_full.h
|
||||
/pair_kolmogorov_crespi_z.cpp
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <mpi.h>
|
||||
#include <string.h>
|
||||
#include <cstring>
|
||||
#include "compute_temp_asphere.h"
|
||||
#include "math_extra.h"
|
||||
#include "atom.h"
|
||||
|
||||
@ -15,9 +15,9 @@
|
||||
Contributing author: Mike Brown (SNL)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
#include <cstring>
|
||||
#include <cstdlib>
|
||||
#include <cmath>
|
||||
#include "math_extra.h"
|
||||
#include "fix_nh_asphere.h"
|
||||
#include "atom.h"
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <string.h>
|
||||
#include <cstring>
|
||||
#include "fix_nph_asphere.h"
|
||||
#include "modify.h"
|
||||
#include "error.h"
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <string.h>
|
||||
#include <cstring>
|
||||
#include "fix_npt_asphere.h"
|
||||
#include "modify.h"
|
||||
#include "error.h"
|
||||
|
||||
@ -15,9 +15,9 @@
|
||||
Contributing author: Mike Brown (SNL)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
#include "fix_nve_asphere.h"
|
||||
#include "math_extra.h"
|
||||
#include "atom.h"
|
||||
|
||||
@ -11,9 +11,9 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <cmath>
|
||||
#include <cstring>
|
||||
#include <cstdlib>
|
||||
#include "fix_nve_asphere_noforce.h"
|
||||
#include "math_extra.h"
|
||||
#include "atom.h"
|
||||
|
||||
@ -11,9 +11,9 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
#include "fix_nve_line.h"
|
||||
#include "atom.h"
|
||||
#include "atom_vec_line.h"
|
||||
|
||||
@ -11,9 +11,9 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
#include "fix_nve_tri.h"
|
||||
#include "math_extra.h"
|
||||
#include "atom.h"
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <string.h>
|
||||
#include <cstring>
|
||||
#include "fix_nvt_asphere.h"
|
||||
#include "group.h"
|
||||
#include "modify.h"
|
||||
|
||||
@ -15,10 +15,10 @@
|
||||
Contributing author: Mike Brown (SNL)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include "pair_gayberne.h"
|
||||
#include "math_extra.h"
|
||||
#include "atom.h"
|
||||
|
||||
@ -11,10 +11,10 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include "pair_line_lj.h"
|
||||
#include "atom.h"
|
||||
#include "atom_vec_line.h"
|
||||
|
||||
@ -15,10 +15,10 @@
|
||||
Contributing author: Mike Brown (SNL)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include "pair_resquared.h"
|
||||
#include "math_extra.h"
|
||||
#include "atom.h"
|
||||
|
||||
@ -11,10 +11,10 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include "pair_tri_lj.h"
|
||||
#include "math_extra.h"
|
||||
#include "atom.h"
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <cstdlib>
|
||||
#include "body_nparticle.h"
|
||||
#include "math_extra.h"
|
||||
#include "atom_vec_body.h"
|
||||
|
||||
@ -11,8 +11,8 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
#include <cmath>
|
||||
#include <cstring>
|
||||
#include "compute_body_local.h"
|
||||
#include "atom.h"
|
||||
#include "atom_vec_body.h"
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <mpi.h>
|
||||
#include <string.h>
|
||||
#include <cstring>
|
||||
#include "compute_temp_body.h"
|
||||
#include "math_extra.h"
|
||||
#include "atom.h"
|
||||
|
||||
@ -16,9 +16,9 @@
|
||||
based on FixNHAsphere
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
#include <cstring>
|
||||
#include <cstdlib>
|
||||
#include <cmath>
|
||||
#include "math_extra.h"
|
||||
#include "fix_nh_body.h"
|
||||
#include "atom.h"
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
Contributing author: Trung Dac Nguyen (ndactrung@gmail.com)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <string.h>
|
||||
#include <cstring>
|
||||
#include "fix_nph_body.h"
|
||||
#include "modify.h"
|
||||
#include "error.h"
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
Contributing author: Trung Dac Nguyen (ndactrung@gmail.com)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <string.h>
|
||||
#include <cstring>
|
||||
#include "fix_npt_body.h"
|
||||
#include "modify.h"
|
||||
#include "error.h"
|
||||
|
||||
@ -11,9 +11,9 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
#include "fix_nve_body.h"
|
||||
#include "math_extra.h"
|
||||
#include "atom.h"
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
Contributing author: Trung Dac Nguyen (ndactrung@gmail.com)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <string.h>
|
||||
#include <cstring>
|
||||
#include "fix_nvt_body.h"
|
||||
#include "group.h"
|
||||
#include "modify.h"
|
||||
|
||||
@ -11,10 +11,10 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include "pair_body.h"
|
||||
#include "math_extra.h"
|
||||
#include "atom.h"
|
||||
|
||||
@ -15,9 +15,9 @@
|
||||
Contributing author: Eric Simon (Cray)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <cmath>
|
||||
#include <cstring>
|
||||
#include <cstdlib>
|
||||
#include "angle_class2.h"
|
||||
#include "atom.h"
|
||||
#include "neighbor.h"
|
||||
|
||||
@ -20,7 +20,7 @@ AngleStyle(class2,AngleClass2)
|
||||
#ifndef LMP_ANGLE_CLASS2_H
|
||||
#define LMP_ANGLE_CLASS2_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <cstdio>
|
||||
#include "angle.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
@ -15,8 +15,8 @@
|
||||
Contributing author: Eric Simon (Cray)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <stdlib.h>
|
||||
#include <cmath>
|
||||
#include <cstdlib>
|
||||
#include "bond_class2.h"
|
||||
#include "atom.h"
|
||||
#include "neighbor.h"
|
||||
|
||||
@ -20,7 +20,7 @@ BondStyle(class2,BondClass2)
|
||||
#ifndef LMP_BOND_CLASS2_H
|
||||
#define LMP_BOND_CLASS2_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <cstdio>
|
||||
#include "bond.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
@ -15,9 +15,9 @@
|
||||
Contributing author: Eric Simon (Cray)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <cmath>
|
||||
#include <cstring>
|
||||
#include <cstdlib>
|
||||
#include "dihedral_class2.h"
|
||||
#include "atom.h"
|
||||
#include "neighbor.h"
|
||||
|
||||
@ -20,7 +20,7 @@ DihedralStyle(class2,DihedralClass2)
|
||||
#ifndef LMP_DIHEDRAL_CLASS2_H
|
||||
#define LMP_DIHEDRAL_CLASS2_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <cstdio>
|
||||
#include "dihedral.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user