forked from lijiext/lammps
Merge pull request #1460 from akohlmey/collected-small-changes
Some more small changes
This commit is contained in:
commit
f2b293d93b
|
@ -11,7 +11,7 @@ Section"_Tools.html :c
|
|||
Example scripts :h3
|
||||
|
||||
The LAMMPS distribution includes an examples sub-directory with many
|
||||
sample problems. Many are 2d models that run quickly are are
|
||||
sample problems. Many are 2d models that run quickly and are
|
||||
straightforward to visualize, requiring at most a couple of minutes to
|
||||
run on a desktop machine. Each problem has an input script (in.*) and
|
||||
produces a log file (log.*) when it runs. Some use a data file
|
||||
|
|
|
@ -274,7 +274,7 @@ crash. Even without reaching this extreme case, the correlation
|
|||
between nearby dipoles on the same molecule may be exaggerated. Often,
|
||||
special bond relations prevent bonded neighboring atoms to see the
|
||||
charge of each other's DP, so that the problem does not always appear.
|
||||
It is possible to use screened dipole dipole interactions by using the
|
||||
It is possible to use screened dipole-dipole interactions by using the
|
||||
"{pair_style thole}"_pair_thole.html. This is implemented as a
|
||||
correction to the Coulomb pair_styles, which dampens at short distance
|
||||
the interactions between the charges representing the induced dipoles.
|
||||
|
|
|
@ -52,7 +52,7 @@ as if you unpacked a current LAMMPS tarball, with the exception, that
|
|||
the HTML documentation files are not included. They can be fetched
|
||||
from the LAMMPS website by typing "make fetch" in the doc directory.
|
||||
Or they can be generated from the content provided in doc/src by
|
||||
typing "make html" from the the doc directory.
|
||||
typing "make html" from the doc directory.
|
||||
|
||||
After initial cloning, as bug fixes and new features are added to
|
||||
LAMMPS, as listed on "this page"_Errors_bugs.html, you can stay
|
||||
|
|
|
@ -40,7 +40,7 @@ as if you unpacked a current LAMMPS tarball, with the exception, that
|
|||
the HTML documentation files are not included. They can be fetched
|
||||
from the LAMMPS website by typing "make fetch" in the doc directory.
|
||||
Or they can be generated from the content provided in doc/src by
|
||||
typing "make html" from the the doc directory.
|
||||
typing "make html" from the doc directory.
|
||||
|
||||
After initial checkout, as bug fixes and new features are added to
|
||||
LAMMPS, as listed on "this page"_Errors_bugs.html, you can stay
|
||||
|
|
|
@ -706,7 +706,7 @@ PERI package :link(PKG-PERI),h4
|
|||
|
||||
An atom style, several pair styles which implement different
|
||||
Peridynamics materials models, and several computes which calculate
|
||||
diagnostics. Peridynamics is a a particle-based meshless continuum
|
||||
diagnostics. Peridynamics is a particle-based meshless continuum
|
||||
model.
|
||||
|
||||
[Authors:] The original package was created by Mike Parks (Sandia).
|
||||
|
@ -1229,7 +1229,7 @@ isothermal, isoenergetic, isobaric and isenthalpic conditions are
|
|||
included. These enable long timesteps via the Shardlow splitting
|
||||
algorithm.
|
||||
|
||||
[Authors:] Jim Larentzos (ARL), Tim Mattox (Engility Corp), and and John
|
||||
[Authors:] Jim Larentzos (ARL), Tim Mattox (Engility Corp), and John
|
||||
Brennan (ARL).
|
||||
|
||||
[Supporting info:]
|
||||
|
@ -1537,7 +1537,7 @@ USER-MESO package :link(PKG-USER-MESO),h4
|
|||
|
||||
[Contents:]
|
||||
|
||||
Several extensions of the the dissipative particle dynamics (DPD)
|
||||
Several extensions of the dissipative particle dynamics (DPD)
|
||||
method. Specifically, energy-conserving DPD (eDPD) that can model
|
||||
non-isothermal processes, many-body DPD (mDPD) for simulating
|
||||
vapor-liquid coexistence, and transport DPD (tDPD) for modeling
|
||||
|
|
|
@ -180,7 +180,7 @@ doubles is returned, one value per atom, which you can use via normal
|
|||
Python subscripting. The values will be zero for atoms not in the
|
||||
specified group.
|
||||
|
||||
The get_thermo() method returns returns the current value of a thermo
|
||||
The get_thermo() method returns the current value of a thermo
|
||||
keyword as a float.
|
||||
|
||||
The get_natoms() method returns the total number of atoms in the
|
||||
|
|
|
@ -242,7 +242,7 @@ processors.
|
|||
|
||||
Running with multiple partitions can be useful for running
|
||||
"multi-replica simulations"_Howto_replica.html, where each replica
|
||||
runs on on one or a few processors. Note that with MPI installed on a
|
||||
runs on one or a few processors. Note that with MPI installed on a
|
||||
machine (e.g. your desktop), you can run on more (virtual) processors
|
||||
than you have physical processors.
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ monitor thread utilization and load balance is provided. A new {Thread
|
|||
timings} section is also added, which lists the time spent in reducing
|
||||
the per-thread data elements to the storage for non-threaded
|
||||
computation. These thread timings are measured for the first MPI rank
|
||||
only and and thus, because the breakdown for MPI tasks can change from
|
||||
only and thus, because the breakdown for MPI tasks can change from
|
||||
MPI rank to MPI rank, this breakdown can be very different for
|
||||
individual ranks. Here is an example output for this section:
|
||||
|
||||
|
|
|
@ -468,7 +468,7 @@ property/chunk"_compute_property_chunk.html command.
|
|||
NOTE: The compression operation requires global communication across
|
||||
all processors to share their chunk ID values. It can require large
|
||||
memory on every processor to store them, even after they are
|
||||
compressed, if there are are a large number of unique chunk IDs with
|
||||
compressed, if there are a large number of unique chunk IDs with
|
||||
atoms assigned to them. It uses a STL map to find unique chunk IDs
|
||||
and store them in sorted order. Each time an atom is assigned a
|
||||
compressed chunk ID, it must access the STL map. All of this means
|
||||
|
|
|
@ -49,7 +49,7 @@ For inputs that are computes, they must be a compute that calculates
|
|||
per-chunk values. These are computes whose style names end in
|
||||
"/chunk".
|
||||
|
||||
For inputs that are fixes, they should be a a fix that calculates
|
||||
For inputs that are fixes, they should be a fix that calculates
|
||||
per-chunk values. For example, "fix ave/chunk"_fix_ave_chunk.html or
|
||||
"fix ave/time"_fix_ave_time.html (assuming it is time-averaging
|
||||
per-chunk data).
|
||||
|
|
|
@ -96,7 +96,7 @@ group. The argument {maxedge} of the this keyword is the largest number
|
|||
of edges on a single Voronoi cell face expected to occur in the
|
||||
sample. This keyword adds the generation of a global vector with
|
||||
{maxedge}+1 entries. The last entry in the vector contains the number of
|
||||
faces with with more than {maxedge} edges. Since the polygon with the
|
||||
faces with more than {maxedge} edges. Since the polygon with the
|
||||
smallest amount of edges is a triangle, entries 1 and 2 of the vector
|
||||
will always be zero.
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ division by sin(74.4)*sin(48.1) (the minima positions for theta1 and theta2).
|
|||
|
||||
The following coefficients must be defined for each dihedral type via the
|
||||
"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in
|
||||
the Dihedral Coeffs section of a data file file read by the
|
||||
the Dihedral Coeffs section of a data file read by the
|
||||
"read_data"_read_data.html command:
|
||||
|
||||
n (integer >= 1)
|
||||
|
|
|
@ -174,7 +174,7 @@ radians instead of degrees. (Note: This changes the way the forces
|
|||
are scaled in the 4th column of the data file.)
|
||||
|
||||
The optional "CHECKU" keyword is followed by a filename. This allows
|
||||
the user to save all of the the {Ntable} different entries in the
|
||||
the user to save all of the {Ntable} different entries in the
|
||||
interpolated energy table to a file to make sure that the interpolated
|
||||
function agrees with the user's expectations. (Note: You can
|
||||
temporarily increase the {Ntable} parameter to a high value for this
|
||||
|
|
|
@ -21,7 +21,7 @@ dump ID group-ID style N file args :pre
|
|||
|
||||
ID = user-assigned name for the dump :ulb,l
|
||||
group-ID = ID of the group of atoms to be dumped :l
|
||||
style = {atom} or {atom/gz} or {atom/mpiio} or {cfg} or {cfg/gz} or {cfg/mpiio} or {custom} or {custom/gz} or {custom/mpiio} or {dcd} or {h5md} or {image} or or {local} or {molfile} or {movie} or {netcdf} or {netcdf/mpiio} or {vtk} or {xtc} or {xyz} or {xyz/gz} or {xyz/mpiio} :l
|
||||
style = {atom} or {atom/gz} or {atom/mpiio} or {cfg} or {cfg/gz} or {cfg/mpiio} or {custom} or {custom/gz} or {custom/mpiio} or {dcd} or {h5md} or {image} or {local} or {molfile} or {movie} or {netcdf} or {netcdf/mpiio} or {vtk} or {xtc} or {xyz} or {xyz/gz} or {xyz/mpiio} :l
|
||||
N = dump every this many timesteps :l
|
||||
file = name of file to write dump info to :l
|
||||
args = list of arguments for a particular style :l
|
||||
|
@ -196,7 +196,7 @@ For post-processing purposes the {atom}, {local}, and {custom} text
|
|||
files are self-describing in the following sense.
|
||||
|
||||
The dimensions of the simulation box are included in each snapshot.
|
||||
For an orthogonal simulation box this information is is formatted as:
|
||||
For an orthogonal simulation box this information is formatted as:
|
||||
|
||||
ITEM: BOX BOUNDS xx yy zz
|
||||
xlo xhi
|
||||
|
@ -619,7 +619,7 @@ should be replaced by the actual name of the variable that has been
|
|||
defined previously in the input script. Only an atom-style variable
|
||||
can be referenced, since it is the only style that generates per-atom
|
||||
values. Variables of style {atom} can reference individual atom
|
||||
attributes, per-atom atom attributes, thermodynamic keywords, or
|
||||
attributes, per-atom attributes, thermodynamic keywords, or
|
||||
invoke other computes, fixes, or variables when they are evaluated, so
|
||||
this is a very general means of creating quantities to output to a
|
||||
dump file.
|
||||
|
|
|
@ -310,7 +310,7 @@ NOTE: Atom and molecule IDs are stored internally as 4-byte or 8-byte
|
|||
signed integers, depending on how LAMMPS was compiled. When
|
||||
specifying the {format int} option you can use a "%d"-style format
|
||||
identifier in the format string and LAMMPS will convert this to the
|
||||
corresponding 8-byte form it it is needed when outputting those
|
||||
corresponding 8-byte form if it is needed when outputting those
|
||||
values. However, when specifying the {line} option or {format M
|
||||
string} option for those values, you should specify a format string
|
||||
appropriate for an 8-byte signed integer, e.g. one with "%ld", if
|
||||
|
|
|
@ -361,7 +361,7 @@ computes that calculate a temperature to see which ones implement a
|
|||
bias.
|
||||
|
||||
The {adof} and {cdof} keywords define the values used in the degree of
|
||||
freedom (DOF) formula described above for for temperature calculation
|
||||
freedom (DOF) formula described above for temperature calculation
|
||||
for each chunk. They are only used when the {temp} value is
|
||||
calculated. They can be used to calculate a more appropriate
|
||||
temperature for some kinds of chunks. Here are 3 examples:
|
||||
|
|
|
@ -113,12 +113,11 @@ state of the system, e.g. via a "write_dump"_write_dump.html or
|
|||
"write_restart"_write_restart.html command.
|
||||
|
||||
If its value is {continue}, the behavior is the same as for {soft},
|
||||
except subsequent subsequent "run"_run.html or
|
||||
"minimize"_minimize.html commands are executed. This allows your
|
||||
script to remedy the condition that triggered the halt, if necessary.
|
||||
Note that you may wish use the "unfix"_unfix.html command on the fix
|
||||
halt ID, so that the same condition is not immediately triggered in a
|
||||
subsequent run.
|
||||
except subsequent "run"_run.html or "minimize"_minimize.html commands
|
||||
are executed. This allows your script to remedy the condition that
|
||||
triggered the halt, if necessary. Note that you may wish use the
|
||||
"unfix"_unfix.html command on the fix halt ID, so that the same
|
||||
condition is not immediately triggered in a subsequent run.
|
||||
|
||||
The optional {message} keyword determines whether a message is printed
|
||||
to the screen and logfile when the halt condition is triggered. If
|
||||
|
|
|
@ -188,7 +188,7 @@ No information about this fix is written to "binary restart
|
|||
files"_restart.html.
|
||||
|
||||
The "fix_modify"_fix_modify.html {energy} option is supported by this
|
||||
fix to add the energy of the bias potential to the the system's
|
||||
fix to add the energy of the bias potential to the system's
|
||||
potential energy as part of "thermodynamic output"_thermo_style.html.
|
||||
|
||||
This fix computes a global scalar and global vector of length 12, which
|
||||
|
|
|
@ -301,7 +301,7 @@ No information about this fix is written to "binary restart
|
|||
files"_restart.html.
|
||||
|
||||
The "fix_modify"_fix_modify.html {energy} option is supported by this
|
||||
fix to add the energy of the bias potential to the the system's
|
||||
fix to add the energy of the bias potential to the system's
|
||||
potential energy as part of "thermodynamic output"_thermo_style.html.
|
||||
|
||||
This fix computes a global scalar and global vector of length 21,
|
||||
|
|
|
@ -124,7 +124,7 @@ so that they describe a tilted parallelepiped. Via the {basis}
|
|||
keyword you add atoms, one at a time, to the unit cell. Its arguments
|
||||
are fractional coordinates (0.0 <= x,y,z < 1.0). The position vector
|
||||
x of a basis atom within the unit cell is thus a linear combination of
|
||||
the the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3,
|
||||
the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3,
|
||||
where bx,by,bz are the 3 values specified for the {basis} keyword.
|
||||
|
||||
:line
|
||||
|
|
|
@ -396,7 +396,7 @@ If flag = 0, no a,b,c,d values are listed on the line, just the
|
|||
If flag = 1, a,b,c are listed, where a = ID of central atom in the
|
||||
angle, and b,c the other two atoms in the angle.
|
||||
|
||||
If flag = 2, a,b are listed, where a = ID of atom in bond with the the
|
||||
If flag = 2, a,b are listed, where a = ID of atom in bond with the
|
||||
lowest ID, and b = ID of atom in bond with the highest ID.
|
||||
|
||||
If flag = 3, a,b,c are listed, where a = ID of central atom,
|
||||
|
|
|
@ -187,9 +187,9 @@ used in neighbor list construction to sort and find neighboring atoms.
|
|||
By default, for "neighbor style bin"_neighbor.html, LAMMPS uses bins
|
||||
that are 1/2 the size of the maximum pair cutoff. For "neighbor style
|
||||
multi"_neighbor.html, the bins are 1/2 the size of the minimum pair
|
||||
cutoff. Typically these are good values values for minimizing the
|
||||
time for neighbor list construction. This setting overrides the
|
||||
default. If you make it too big, there is little overhead due to
|
||||
cutoff. Typically these are good values for minimizing the time for
|
||||
neighbor list construction. This setting overrides the default.
|
||||
If you make it too big, there is little overhead due to
|
||||
looping over bins, but more atoms are checked. If you make it too
|
||||
small, the optimal number of atoms is checked, but bin overhead goes
|
||||
up. If you set the binsize to 0.0, LAMMPS will use the default
|
||||
|
|
|
@ -56,7 +56,7 @@ bin size is set to 1/2 of the shortest cutoff distance and multiple
|
|||
sets of bins are defined to search over for different atom types.
|
||||
This imposes some extra setup overhead, but the searches themselves
|
||||
may be much faster for the short-cutoff cases. See the "comm_modify
|
||||
mode multi"_comm_modify.html command for a communication option option
|
||||
mode multi"_comm_modify.html command for a communication option
|
||||
that may also be beneficial for simulations of this kind.
|
||||
|
||||
The "neigh_modify"_neigh_modify.html command has additional options
|
||||
|
|
|
@ -622,7 +622,7 @@ except "omp" and "mode", are ignored if LAMMPS was not built with Xeon
|
|||
Phi co-processor support. These settings are made automatically if the
|
||||
"-sf intel" "command-line switch"_Run_options.html is used. If it is
|
||||
not used, you must invoke the package intel command in your input
|
||||
script or or via the "-pk intel" "command-line
|
||||
script or via the "-pk intel" "command-line
|
||||
switch"_Run_options.html.
|
||||
|
||||
For the KOKKOS package, the option defaults for GPUs are neigh = full,
|
||||
|
|
|
@ -201,7 +201,7 @@ model. The usage of the TIP4P pair style is documented in the
|
|||
"pair_lj"_pair_lj.html styles. In the soft version the parameters n, alpha_LJ
|
||||
and alpha_C are set in the "pair_style"_pair_style.html command, after the
|
||||
specific parameters of the TIP4P water model and before the cutoffs. The
|
||||
activation parameter lambda is supplied as an argument of the the
|
||||
activation parameter lambda is supplied as an argument of the
|
||||
"pair_coeff"_pair_coeff.html command, after epsilon and sigma and before the
|
||||
optional cutoffs.
|
||||
|
||||
|
@ -210,7 +210,7 @@ Style {lj/charmm/coul/long/soft} implements a soft-core version of the modified
|
|||
"pair_lj_charmm"_pair_charmm.html style. In the soft version the parameters n,
|
||||
alpha_LJ and alpha_C are set in the "pair_style"_pair_style.html command, before
|
||||
the global cutoffs. The activation parameter lambda is introduced as an argument
|
||||
of the the "pair_coeff"_pair_coeff.html command, after epsilon and sigma and
|
||||
of the "pair_coeff"_pair_coeff.html command, after epsilon and sigma and
|
||||
before the optional eps14 and sigma14.
|
||||
|
||||
Style {lj/class2/soft} implements a soft-core version of the 9-6 potential in
|
||||
|
|
|
@ -91,7 +91,7 @@ is to enable LAMMPS to "find" the 2 H atoms associated with each O
|
|||
atom. For example, if the atom ID of an O atom in a TIP4P water
|
||||
molecule is 500, then its 2 H atoms must have IDs 501 and 502.
|
||||
|
||||
See the the "Howto tip4p"_Howto_tip4p.html doc page for more
|
||||
See the "Howto tip4p"_Howto_tip4p.html doc page for more
|
||||
information on how to use the TIP4P pair style. Note that the
|
||||
neighbor list cutoff for Coulomb interactions is effectively extended
|
||||
by a distance 2*qdist when using the TIP4P pair style, to account for
|
||||
|
|
|
@ -63,7 +63,7 @@ equally spaced in R^2 space from cutinner^2 to cutoff^2. For the
|
|||
two-body term in the above equation, a linear interpolation for each
|
||||
pairwise distance between adjacent points in the table. In practice
|
||||
the tabulated version can run 3-5x faster than the analytic version
|
||||
with with moderate to little loss of accuracy for Ntable values
|
||||
with moderate to little loss of accuracy for Ntable values
|
||||
between 10000 and 1000000. It is not recommended to use less than
|
||||
5000 tabulation points.
|
||||
|
||||
|
|
|
@ -480,7 +480,7 @@ information on those settings.
|
|||
If you use Python code which calls back to LAMMPS, via the SELF input
|
||||
argument explained above, there is an extra step required when
|
||||
building LAMMPS. LAMMPS must also be built as a shared library and
|
||||
your Python function must be able to to load the Python module in
|
||||
your Python function must be able to load the Python module in
|
||||
python/lammps.py that wraps the LAMMPS library interface. These are
|
||||
the same steps required to use Python by itself to wrap LAMMPS.
|
||||
Details on these steps are explained on the "Python"_Python_head.html
|
||||
|
|
|
@ -701,7 +701,7 @@ of 0 means the atom is still inside the box when unwrapped. A value
|
|||
of 2 means add 2 box lengths to get the unwrapped coordinate. A value
|
||||
of -1 means subtract 1 box length to get the unwrapped coordinate.
|
||||
LAMMPS updates these flags as atoms cross periodic boundaries during
|
||||
the simulation. The "dump"_dump.html command can output atom atom
|
||||
the simulation. The "dump"_dump.html command can output atom
|
||||
coordinates in wrapped or unwrapped form, as well as the 3 image
|
||||
flags.
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ in this pseudo code is a pointer to an instance of the CSlib.
|
|||
See the src/MESSAGE/server_md.cpp and src/MESSAGE/fix_client_md.cpp
|
||||
files for details on how LAMMPS uses these messages. See the
|
||||
examples/COUPLE/lammps_vasp/vasp_wrapper.py file for an example of how
|
||||
a quantum code (VASP) can use use these messages.
|
||||
a quantum code (VASP) can use these messages.
|
||||
|
||||
The following pseudo-code uses these values, defined as enums.
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ results at a specified lower temperature. A good overview of
|
|||
accelerated dynamics methods for such systems is given in "this review
|
||||
paper"_#Voter2002 from the same group. In general, these methods assume
|
||||
that the long-time dynamics is dominated by infrequent events i.e. the
|
||||
system is is confined to low energy basins for long periods,
|
||||
system is confined to low energy basins for long periods,
|
||||
punctuated by brief, randomly-occurring transitions to adjacent
|
||||
basins. TAD is suitable for infrequent-event systems, where in
|
||||
addition, the transition kinetics are well-approximated by harmonic
|
||||
|
|
|
@ -293,7 +293,7 @@ list of runs (e.g. 1000) without having to list N strings in the input
|
|||
script.
|
||||
|
||||
For the {string} style, a single string is assigned to the variable.
|
||||
Two differences between this this and using the {index} style exist:
|
||||
Two differences between this style and using the {index} style exist:
|
||||
a variable with {string} style can be redefined, e.g. by another command later
|
||||
in the input script, or if the script is read again in a loop. The other
|
||||
difference is that {string} performs variable substitution even if the
|
||||
|
@ -359,7 +359,7 @@ per-atom values is read, a non-blank line is searched for in the file.
|
|||
A comment character "#" can be used anywhere on a line; text starting
|
||||
with the comment character is stripped. Blank lines are skipped. The
|
||||
first "word" of a non-blank line, delimited by white-space, is read as
|
||||
the count N of per-atom lines to immediately follow. N can be be the
|
||||
the count N of per-atom lines to immediately follow. N can be the
|
||||
total number of atoms in the system, or only a subset. The next N
|
||||
lines have the following format
|
||||
|
||||
|
@ -931,7 +931,7 @@ with ID = 243. Or they can take a variable name, specified as v_name,
|
|||
where name is the name of the variable, like x\[v_myIndex\]. The
|
||||
variable can be of any style except {vector} or {atom} or {atomfile}
|
||||
variables. The variable is evaluated and the result is expected to be
|
||||
numeric and is cast to an integer (i.e. 3.4 becomes 3), to use an an
|
||||
numeric and is cast to an integer (i.e. 3.4 becomes 3), to use an
|
||||
index, which must be a value from 1 to N. Note that a "formula"
|
||||
cannot be used as the argument between the brackets, e.g. x\[243+10\]
|
||||
or x\[v_myIndex+1\] are not allowed. To do this a single variable can
|
||||
|
|
|
@ -157,7 +157,7 @@ is issued.
|
|||
The {bias} keyword with a {yes} setting is used by {create} and
|
||||
{scale}, but only if the {temp} keyword is also used to specify a
|
||||
"compute"_compute.html that calculates temperature in a desired way.
|
||||
If the temperature compute also calculates a velocity bias, the the
|
||||
If the temperature compute also calculates a velocity bias, the
|
||||
bias is subtracted from atom velocities before the {create} and
|
||||
{scale} operations are performed. After the operations, the bias is
|
||||
added back to the atom velocities. See the "Howto
|
||||
|
|
|
@ -106,7 +106,7 @@ written for all I,J pairs where I <= J. These coefficients will
|
|||
include any specific settings made in the input script up to that
|
||||
point. The presence of these I != J coefficients in the data file
|
||||
will effectively turn off the default mixing rule for the pair style.
|
||||
Again, the coefficient values in the data file can can be overridden
|
||||
Again, the coefficient values in the data file can be overridden
|
||||
in the input script after reading the data file, by specifying
|
||||
additional "pair_coeff"_pair_coeff.html commands for any desired I,J
|
||||
pairs.
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,161 @@
|
|||
LAMMPS (30 Apr 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# bcc iron in a 3d periodic box
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
# necessary for the serial algorithm (sametag)
|
||||
atom_modify map array
|
||||
|
||||
lattice bcc 2.8665
|
||||
Lattice spacing in x,y,z = 2.8665 2.8665 2.8665
|
||||
region box block 0.0 5.0 0.0 5.0 0.0 5.0
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 250 atoms
|
||||
create_atoms CPU = 0.0527296 secs
|
||||
|
||||
# setting mass, mag. moments, and interactions for bcc iron
|
||||
|
||||
mass 1 55.845
|
||||
set group all spin 2.2 -1.0 0.0 0.0
|
||||
250 settings made for spin
|
||||
velocity all create 100 4928459 rot yes dist gaussian
|
||||
|
||||
pair_style hybrid/overlay eam/alloy spin/exchange 3.5
|
||||
pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe
|
||||
pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841
|
||||
neighbor 0.1 bin
|
||||
neigh_modify every 10 check yes delay 20
|
||||
|
||||
fix 1 all precession/spin cubic 0.001 0.0005 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0
|
||||
fix_modify 1 energy yes
|
||||
fix 2 all langevin/spin 0.0 0.0 21
|
||||
|
||||
fix 3 all nve/spin lattice yes
|
||||
timestep 0.0001
|
||||
|
||||
# compute and output options
|
||||
|
||||
compute out_mag all spin
|
||||
compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
|
||||
variable magx equal c_out_mag[1]
|
||||
variable magy equal c_out_mag[2]
|
||||
variable magz equal c_out_mag[3]
|
||||
variable magnorm equal c_out_mag[4]
|
||||
variable emag equal c_out_mag[5]
|
||||
variable tmag equal c_out_mag[6]
|
||||
|
||||
thermo_style custom step time v_magx v_magy v_magz v_magnorm v_tmag v_emag pe etotal
|
||||
thermo 50
|
||||
|
||||
compute outsp all property/atom spx spy spz sp fmx fmy fmz
|
||||
dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
|
||||
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 20 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.77337
|
||||
ghost atom cutoff = 5.77337
|
||||
binsize = 2.88668, bins = 5 5 5
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair eam/alloy, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair spin/exchange, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.319 | 7.319 | 7.319 Mbytes
|
||||
Step Time v_magx v_magy v_magz v_magnorm v_tmag v_emag PotEng TotEng
|
||||
0 0 -1 0 0 1 0 -55.58269 -1125.5827 -1122.364
|
||||
50 0.005 -1 0 0 1 0 -55.581417 -1125.4672 -1122.364
|
||||
100 0.01 -1 0 0 1 0 -55.577759 -1125.1389 -1122.364
|
||||
150 0.015 -1 0 0 1 0 -55.57219 -1124.6538 -1122.364
|
||||
200 0.02 -1 0 0 1 0 -55.565438 -1124.099 -1122.364
|
||||
250 0.025 -1 0 0 1 0 -55.558379 -1123.5779 -1122.364
|
||||
300 0.03 -1 0 0 1 0 -55.551886 -1123.1862 -1122.364
|
||||
350 0.035 -1 0 0 1 0 -55.546675 -1122.9858 -1122.364
|
||||
400 0.04 -1 0 0 1 0 -55.543187 -1122.9869 -1122.364
|
||||
450 0.045 -1 0 0 1 0 -55.54154 -1123.1498 -1122.364
|
||||
500 0.05 -1 0 0 1 0 -55.541574 -1123.4037 -1122.364
|
||||
550 0.055 -1 0 0 1 0 -55.542941 -1123.672 -1122.364
|
||||
600 0.06 -1 0 0 1 0 -55.545209 -1123.8931 -1122.364
|
||||
650 0.065 -1 0 0 1 0 -55.547951 -1124.0315 -1122.364
|
||||
700 0.07 -1 0 0 1 0 -55.550801 -1124.0798 -1122.364
|
||||
750 0.075 -1 0 0 1 0 -55.553483 -1124.0546 -1122.364
|
||||
800 0.08 -1 0 0 1 0 -55.555816 -1123.9877 -1122.364
|
||||
850 0.085 -1 0 0 1 0 -55.557706 -1123.916 -1122.364
|
||||
900 0.09 -1 0 0 1 0 -55.55913 -1123.8714 -1122.364
|
||||
950 0.095 -1 0 0 1 0 -55.560111 -1123.8726 -1122.364
|
||||
1000 0.1 -1 0 0 1 0 -55.560705 -1123.9215 -1122.364
|
||||
1050 0.105 -1 0 0 1 0 -55.560979 -1124.0049 -1122.364
|
||||
1100 0.11 -1 0 0 1 0 -55.561005 -1124.0998 -1122.364
|
||||
1150 0.115 -1 0 0 1 0 -55.560847 -1124.1802 -1122.364
|
||||
1200 0.12 -1 0 0 1 0 -55.560562 -1124.2247 -1122.364
|
||||
1250 0.125 -1 0 0 1 0 -55.560199 -1124.2224 -1122.364
|
||||
1300 0.13 -1 0 0 1 0 -55.559804 -1124.1752 -1122.364
|
||||
1350 0.135 -1 0 0 1 0 -55.559416 -1124.0977 -1122.364
|
||||
1400 0.14 -1 0 0 1 0 -55.559073 -1124.0124 -1122.364
|
||||
1450 0.145 -1 0 0 1 0 -55.558803 -1123.9437 -1122.364
|
||||
1500 0.15 -1 0 0 1 0 -55.558617 -1123.9107 -1122.364
|
||||
1550 0.155 -1 0 0 1 0 -55.558503 -1123.9224 -1122.364
|
||||
1600 0.16 -1 0 0 1 0 -55.558425 -1123.9749 -1122.364
|
||||
1650 0.165 -1 0 0 1 0 -55.558323 -1124.0529 -1122.364
|
||||
1700 0.17 -1 0 0 1 0 -55.558122 -1124.1331 -1122.364
|
||||
1750 0.175 -1 0 0 1 0 -55.557751 -1124.1899 -1122.364
|
||||
1800 0.18 -1 0 0 1 0 -55.557157 -1124.2023 -1122.364
|
||||
1850 0.185 -1 0 0 1 0 -55.556326 -1124.1592 -1122.364
|
||||
1900 0.19 -1 0 0 1 0 -55.555301 -1124.0633 -1122.364
|
||||
1950 0.195 -1 0 0 1 0 -55.554178 -1123.9313 -1122.364
|
||||
2000 0.2 -1 0 0 1 0 -55.553099 -1123.7904 -1122.364
|
||||
Loop time of 254.052 on 1 procs for 2000 steps with 250 atoms
|
||||
|
||||
Performance: 0.068 ns/day, 352.850 hours/ns, 7.872 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 | 60.584 | 60.584 | 60.584 | 0.0 | 23.85
|
||||
Neigh | 0.34793 | 0.34793 | 0.34793 | 0.0 | 0.14
|
||||
Comm | 1.9994 | 1.9994 | 1.9994 | 0.0 | 0.79
|
||||
Output | 126.24 | 126.24 | 126.24 | 0.0 | 49.69
|
||||
Modify | 64.475 | 64.475 | 64.475 | 0.0 | 25.38
|
||||
Other | | 0.4024 | | | 0.16
|
||||
|
||||
Nlocal: 250 ave 250 max 250 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1419 ave 1419 max 1419 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 7878 ave 7878 max 7878 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 15756 ave 15756 max 15756 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 15756
|
||||
Ave neighs/atom = 63.024
|
||||
Neighbor list builds = 12
|
||||
Dangerous builds = 0
|
||||
# min_style spin
|
||||
# min_modify alpha_damp 1.0 discrete_factor 10
|
||||
# minimize 1.0e-16 1.0e-16 10000 10000
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:04:16
|
|
@ -0,0 +1,161 @@
|
|||
LAMMPS (30 Apr 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# bcc iron in a 3d periodic box
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
# necessary for the serial algorithm (sametag)
|
||||
atom_modify map array
|
||||
|
||||
lattice bcc 2.8665
|
||||
Lattice spacing in x,y,z = 2.8665 2.8665 2.8665
|
||||
region box block 0.0 5.0 0.0 5.0 0.0 5.0
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 250 atoms
|
||||
create_atoms CPU = 0.000627756 secs
|
||||
|
||||
# setting mass, mag. moments, and interactions for bcc iron
|
||||
|
||||
mass 1 55.845
|
||||
set group all spin 2.2 -1.0 0.0 0.0
|
||||
250 settings made for spin
|
||||
velocity all create 100 4928459 rot yes dist gaussian
|
||||
|
||||
pair_style hybrid/overlay eam/alloy spin/exchange 3.5
|
||||
pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe
|
||||
pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841
|
||||
neighbor 0.1 bin
|
||||
neigh_modify every 10 check yes delay 20
|
||||
|
||||
fix 1 all precession/spin cubic 0.001 0.0005 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0
|
||||
fix_modify 1 energy yes
|
||||
fix 2 all langevin/spin 0.0 0.0 21
|
||||
|
||||
fix 3 all nve/spin lattice yes
|
||||
timestep 0.0001
|
||||
|
||||
# compute and output options
|
||||
|
||||
compute out_mag all spin
|
||||
compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
|
||||
variable magx equal c_out_mag[1]
|
||||
variable magy equal c_out_mag[2]
|
||||
variable magz equal c_out_mag[3]
|
||||
variable magnorm equal c_out_mag[4]
|
||||
variable emag equal c_out_mag[5]
|
||||
variable tmag equal c_out_mag[6]
|
||||
|
||||
thermo_style custom step time v_magx v_magy v_magz v_magnorm v_tmag v_emag pe etotal
|
||||
thermo 50
|
||||
|
||||
compute outsp all property/atom spx spy spz sp fmx fmy fmz
|
||||
dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
|
||||
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 20 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.77337
|
||||
ghost atom cutoff = 5.77337
|
||||
binsize = 2.88668, bins = 5 5 5
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair eam/alloy, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair spin/exchange, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.265 | 7.265 | 7.265 Mbytes
|
||||
Step Time v_magx v_magy v_magz v_magnorm v_tmag v_emag PotEng TotEng
|
||||
0 0 -1 0 0 1 0 -55.58269 -1125.5827 -1122.364
|
||||
50 0.005 -1 0 0 1 0 -55.581457 -1125.4635 -1122.364
|
||||
100 0.01 -1 0 0 1 0 -55.577922 -1125.1262 -1122.364
|
||||
150 0.015 -1 0 0 1 0 -55.572562 -1124.6305 -1122.364
|
||||
200 0.02 -1 0 0 1 0 -55.566098 -1124.067 -1122.364
|
||||
250 0.025 -1 0 0 1 0 -55.559384 -1123.5412 -1122.364
|
||||
300 0.03 -1 0 0 1 0 -55.553261 -1123.1491 -1122.364
|
||||
350 0.035 -1 0 0 1 0 -55.548413 -1122.9526 -1122.364
|
||||
400 0.04 -1 0 0 1 0 -55.545248 -1122.9623 -1122.364
|
||||
450 0.045 -1 0 0 1 0 -55.54387 -1123.1395 -1122.364
|
||||
500 0.05 -1 0 0 1 0 -55.544101 -1123.4126 -1122.364
|
||||
550 0.055 -1 0 0 1 0 -55.54558 -1123.7021 -1122.364
|
||||
600 0.06 -1 0 0 1 0 -55.547857 -1123.9414 -1122.364
|
||||
650 0.065 -1 0 0 1 0 -55.550495 -1124.0897 -1122.364
|
||||
700 0.07 -1 0 0 1 0 -55.553127 -1124.136 -1122.364
|
||||
750 0.075 -1 0 0 1 0 -55.555497 -1124.0961 -1122.364
|
||||
800 0.08 -1 0 0 1 0 -55.557466 -1124.0053 -1122.364
|
||||
850 0.085 -1 0 0 1 0 -55.559001 -1123.9069 -1122.364
|
||||
900 0.09 -1 0 0 1 0 -55.560147 -1123.8404 -1122.364
|
||||
950 0.095 -1 0 0 1 0 -55.560992 -1123.8312 -1122.364
|
||||
1000 0.1 -1 0 0 1 0 -55.561635 -1123.8853 -1122.364
|
||||
1050 0.105 -1 0 0 1 0 -55.562156 -1123.9898 -1122.364
|
||||
1100 0.11 -1 0 0 1 0 -55.562594 -1124.1174 -1122.364
|
||||
1150 0.115 -1 0 0 1 0 -55.562944 -1124.2349 -1122.364
|
||||
1200 0.12 -1 0 0 1 0 -55.563163 -1124.3115 -1122.364
|
||||
1250 0.125 -1 0 0 1 0 -55.563193 -1124.3273 -1122.364
|
||||
1300 0.13 -1 0 0 1 0 -55.562982 -1124.2776 -1122.364
|
||||
1350 0.135 -1 0 0 1 0 -55.562513 -1124.1744 -1122.364
|
||||
1400 0.14 -1 0 0 1 0 -55.561812 -1124.0433 -1122.364
|
||||
1450 0.145 -1 0 0 1 0 -55.560956 -1123.9169 -1122.364
|
||||
1500 0.15 -1 0 0 1 0 -55.560057 -1123.8268 -1122.364
|
||||
1550 0.155 -1 0 0 1 0 -55.559235 -1123.7951 -1122.364
|
||||
1600 0.16 -1 0 0 1 0 -55.55859 -1123.8282 -1122.364
|
||||
1650 0.165 -1 0 0 1 0 -55.558174 -1123.9155 -1122.364
|
||||
1700 0.17 -1 0 0 1 0 -55.557974 -1124.0311 -1122.364
|
||||
1750 0.175 -1 0 0 1 0 -55.557913 -1124.1409 -1122.364
|
||||
1800 0.18 -1 0 0 1 0 -55.55788 -1124.212 -1122.364
|
||||
1850 0.185 -1 0 0 1 0 -55.557753 -1124.2208 -1122.364
|
||||
1900 0.19 -1 0 0 1 0 -55.557448 -1124.1596 -1122.364
|
||||
1950 0.195 -1 0 0 1 0 -55.556942 -1124.0384 -1122.364
|
||||
2000 0.2 -1 0 0 1 0 -55.556288 -1123.883 -1122.364
|
||||
Loop time of 4.39485 on 4 procs for 2000 steps with 250 atoms
|
||||
|
||||
Performance: 3.932 ns/day, 6.104 hours/ns, 455.078 timesteps/s
|
||||
98.3% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.64527 | 0.6695 | 0.71114 | 3.3 | 15.23
|
||||
Neigh | 0.0032711 | 0.0034365 | 0.0036387 | 0.3 | 0.08
|
||||
Comm | 0.14872 | 0.19108 | 0.21485 | 6.1 | 4.35
|
||||
Output | 0.40622 | 0.43119 | 0.45149 | 2.5 | 9.81
|
||||
Modify | 3.0688 | 3.0921 | 3.1179 | 1.0 | 70.36
|
||||
Other | | 0.007548 | | | 0.17
|
||||
|
||||
Nlocal: 62.5 ave 67 max 57 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
Nghost: 850.5 ave 856 max 847 min
|
||||
Histogram: 1 0 1 1 0 0 0 0 0 1
|
||||
Neighs: 1968.75 ave 2101 max 1792 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
FullNghs: 3937.5 ave 4217 max 3583 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
|
||||
Total # of neighbors = 15750
|
||||
Ave neighs/atom = 63
|
||||
Neighbor list builds = 12
|
||||
Dangerous builds = 0
|
||||
# min_style spin
|
||||
# min_modify alpha_damp 1.0 discrete_factor 10
|
||||
# minimize 1.0e-16 1.0e-16 10000 10000
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:04
|
|
@ -1,7 +1,9 @@
|
|||
LAMMPS (11 May 2018)
|
||||
LAMMPS (30 Apr 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# fcc nickel in a 3d periodic box
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
|
@ -19,7 +21,7 @@ Created orthogonal box = (0 0 0) to (17.62 17.62 17.62)
|
|||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
Time spent = 0.000804186 secs
|
||||
create_atoms CPU = 0.000835896 secs
|
||||
|
||||
# setting mass, mag. moments, and interactions for cobalt
|
||||
|
||||
|
@ -45,7 +47,7 @@ timestep 0.0001
|
|||
|
||||
# compute and output options
|
||||
|
||||
compute out_mag all compute/spin
|
||||
compute out_mag all spin
|
||||
compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
|
@ -122,20 +124,20 @@ Step Time v_magnorm v_emag Temp v_tmag TotEng
|
|||
1900 0.19 0.028733796 -28.785208 228.39889 316.9972 -2218.1018
|
||||
1950 0.195 0.028733826 -28.9724 228.84666 309.8027 -2218.1018
|
||||
2000 0.2 0.02873386 -29.175039 228.918 297.88519 -2218.1018
|
||||
Loop time of 10.033 on 1 procs for 2000 steps with 500 atoms
|
||||
Loop time of 15.9256 on 1 procs for 2000 steps with 500 atoms
|
||||
|
||||
Performance: 1.722 ns/day, 13.935 hours/ns, 199.342 timesteps/s
|
||||
99.4% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
Performance: 1.085 ns/day, 22.119 hours/ns, 125.584 timesteps/s
|
||||
99.2% 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.909 | 3.909 | 3.909 | 0.0 | 38.96
|
||||
Neigh | 0.031031 | 0.031031 | 0.031031 | 0.0 | 0.31
|
||||
Comm | 0.046559 | 0.046559 | 0.046559 | 0.0 | 0.46
|
||||
Output | 2.4087 | 2.4087 | 2.4087 | 0.0 | 24.01
|
||||
Modify | 3.625 | 3.625 | 3.625 | 0.0 | 36.13
|
||||
Other | | 0.01268 | | | 0.13
|
||||
Pair | 5.8677 | 5.8677 | 5.8677 | 0.0 | 36.84
|
||||
Neigh | 0.051965 | 0.051965 | 0.051965 | 0.0 | 0.33
|
||||
Comm | 0.088829 | 0.088829 | 0.088829 | 0.0 | 0.56
|
||||
Output | 4.7019 | 4.7019 | 4.7019 | 0.0 | 29.52
|
||||
Modify | 5.199 | 5.199 | 5.199 | 0.0 | 32.65
|
||||
Other | | 0.01632 | | | 0.10
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
@ -154,4 +156,4 @@ Dangerous builds = 0
|
|||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:10
|
||||
Total wall time: 0:00:16
|
|
@ -1,7 +1,9 @@
|
|||
LAMMPS (11 May 2018)
|
||||
LAMMPS (30 Apr 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# fcc nickel in a 3d periodic box
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
|
@ -19,7 +21,7 @@ Created orthogonal box = (0 0 0) to (17.62 17.62 17.62)
|
|||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
Time spent = 0.000523567 secs
|
||||
create_atoms CPU = 0.000492096 secs
|
||||
|
||||
# setting mass, mag. moments, and interactions for cobalt
|
||||
|
||||
|
@ -45,7 +47,7 @@ timestep 0.0001
|
|||
|
||||
# compute and output options
|
||||
|
||||
compute out_mag all compute/spin
|
||||
compute out_mag all spin
|
||||
compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
|
@ -122,20 +124,20 @@ Step Time v_magnorm v_emag Temp v_tmag TotEng
|
|||
1900 0.19 0.028733864 -27.967999 220.53947 322.9504 -2218.1018
|
||||
1950 0.195 0.028733863 -28.173041 221.61407 318.63401 -2218.1018
|
||||
2000 0.2 0.028733853 -28.362177 224.22281 310.55185 -2218.1018
|
||||
Loop time of 3.95094 on 4 procs for 2000 steps with 500 atoms
|
||||
Loop time of 7.69012 on 4 procs for 2000 steps with 500 atoms
|
||||
|
||||
Performance: 4.374 ns/day, 5.487 hours/ns, 506.208 timesteps/s
|
||||
98.1% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
Performance: 2.247 ns/day, 10.681 hours/ns, 260.074 timesteps/s
|
||||
98.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.0289 | 1.0467 | 1.0811 | 2.0 | 26.49
|
||||
Neigh | 0.0079527 | 0.0081946 | 0.0084369 | 0.2 | 0.21
|
||||
Comm | 0.094456 | 0.13311 | 0.15138 | 6.2 | 3.37
|
||||
Output | 0.69702 | 0.71998 | 0.74483 | 2.1 | 18.22
|
||||
Modify | 2.0107 | 2.0383 | 2.0598 | 1.3 | 51.59
|
||||
Other | | 0.004668 | | | 0.12
|
||||
Pair | 1.5623 | 1.5999 | 1.6541 | 2.7 | 20.80
|
||||
Neigh | 0.012559 | 0.013043 | 0.013682 | 0.4 | 0.17
|
||||
Comm | 0.1843 | 0.24254 | 0.27935 | 7.2 | 3.15
|
||||
Output | 1.4749 | 1.5228 | 1.5694 | 2.9 | 19.80
|
||||
Modify | 4.2492 | 4.3019 | 4.3507 | 1.8 | 55.94
|
||||
Other | | 0.009925 | | | 0.13
|
||||
|
||||
Nlocal: 125 ave 132 max 120 min
|
||||
Histogram: 2 0 0 0 0 1 0 0 0 1
|
||||
|
@ -154,4 +156,4 @@ Dangerous builds = 0
|
|||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:04
|
||||
Total wall time: 0:00:07
|
|
@ -0,0 +1,160 @@
|
|||
LAMMPS (30 Apr 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# fcc nickel in a 3d periodic box
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
# necessary for the serial algorithm (sametag)
|
||||
atom_modify map array
|
||||
|
||||
lattice fcc 3.524
|
||||
Lattice spacing in x,y,z = 3.524 3.524 3.524
|
||||
region box block 0.0 5.0 0.0 5.0 0.0 5.0
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (17.62 17.62 17.62)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
create_atoms CPU = 0.00068903 secs
|
||||
|
||||
# setting mass, mag. moments, and interactions for cobalt
|
||||
|
||||
mass 1 58.69
|
||||
|
||||
set group all spin/random 31 0.63
|
||||
500 settings made for spin/random
|
||||
#set group all spin 0.63 0.0 0.0 1.0
|
||||
velocity all create 100 4928459 rot yes dist gaussian
|
||||
|
||||
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
|
||||
pair_coeff * * eam/alloy Ni99.eam.alloy Ni
|
||||
pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475
|
||||
|
||||
neighbor 0.1 bin
|
||||
neigh_modify every 10 check yes delay 20
|
||||
|
||||
fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 zeeman 0.0 0.0 0.0 1.0
|
||||
fix_modify 1 energy yes
|
||||
fix 2 all langevin/spin 0.0 0.0 21
|
||||
|
||||
fix 3 all nve/spin lattice yes
|
||||
timestep 0.0001
|
||||
|
||||
# compute and output options
|
||||
|
||||
compute out_mag all spin
|
||||
compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
|
||||
variable magz equal c_out_mag[3]
|
||||
variable magnorm equal c_out_mag[4]
|
||||
variable emag equal c_out_mag[5]
|
||||
variable tmag equal c_out_mag[6]
|
||||
|
||||
thermo_style custom step time v_magnorm v_emag temp v_tmag etotal
|
||||
thermo 50
|
||||
|
||||
compute outsp all property/atom spx spy spz sp fmx fmy fmz
|
||||
dump 50 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
|
||||
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 20 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.90375
|
||||
ghost atom cutoff = 5.90375
|
||||
binsize = 2.95187, bins = 6 6 6
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair eam/alloy, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair spin/exchange, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.384 | 7.384 | 7.384 Mbytes
|
||||
Step Time v_magnorm v_emag Temp v_tmag TotEng
|
||||
0 0 0.028733803 0.455085 100.03408 -8603.706 -2218.0905
|
||||
50 0.005 0.028732021 0.11535308 101.47887 -34407.888 -2218.0904
|
||||
100 0.01 0.0287304 -0.665283 101.73105 6238.4535 -2218.09
|
||||
150 0.015 0.028729403 -1.8105707 99.629794 2452.7607 -2218.0896
|
||||
200 0.02 0.028731067 -3.224763 94.849715 1501.8625 -2218.0895
|
||||
250 0.025 0.028732765 -4.8207784 88.447019 1110.3291 -2218.0895
|
||||
300 0.03 0.028728169 -6.5331538 82.697813 905.2202 -2218.0896
|
||||
350 0.035 0.02871707 -8.3059526 80.122838 772.40218 -2218.0896
|
||||
400 0.04 0.028706605 -10.077613 82.389555 672.72236 -2218.0895
|
||||
450 0.045 0.028701727 -11.78634 89.823176 595.82956 -2218.0894
|
||||
500 0.05 0.028706691 -13.380919 101.39804 536.65866 -2218.0894
|
||||
550 0.055 0.028714065 -14.824128 115.07511 491.25787 -2218.0893
|
||||
600 0.06 0.028713691 -16.093505 128.58093 459.82107 -2218.089
|
||||
650 0.065 0.028713232 -17.181217 140.22137 441.15183 -2218.089
|
||||
700 0.07 0.02871245 -18.113035 149.60156 426.80154 -2218.0889
|
||||
750 0.075 0.028712431 -18.954952 157.56849 413.61924 -2218.0891
|
||||
800 0.08 0.02872489 -19.762756 164.91833 408.49483 -2218.0892
|
||||
850 0.085 0.028733709 -20.538757 171.69348 407.47868 -2218.0894
|
||||
900 0.09 0.028737031 -21.256095 177.71981 400.24086 -2218.0894
|
||||
950 0.095 0.028743446 -21.908156 183.31613 390.46773 -2218.089
|
||||
1000 0.1 0.028751809 -22.516179 189.01672 383.80802 -2218.0888
|
||||
1050 0.105 0.028761625 -23.084057 194.48882 376.54433 -2218.089
|
||||
1100 0.11 0.028768138 -23.565036 198.12295 366.13309 -2218.0891
|
||||
1150 0.115 0.028770301 -23.937136 198.95102 354.82763 -2218.089
|
||||
1200 0.12 0.028771334 -24.273509 198.31348 347.20512 -2218.0891
|
||||
1250 0.125 0.028769662 -24.672789 198.26173 344.02095 -2218.0889
|
||||
1300 0.13 0.028774175 -25.13917 199.48259 337.81596 -2218.0889
|
||||
1350 0.135 0.028795936 -25.594094 201.33509 329.891 -2218.0889
|
||||
1400 0.14 0.028824328 -25.978285 203.4984 328.81092 -2218.0886
|
||||
1450 0.145 0.028846467 -26.299501 206.52931 328.61151 -2218.0886
|
||||
1500 0.15 0.028858261 -26.605847 211.09044 324.29045 -2218.0888
|
||||
1550 0.155 0.028852825 -26.92321 216.70656 317.24339 -2218.0888
|
||||
1600 0.16 0.02885238 -27.232535 221.73117 312.50182 -2218.0888
|
||||
1650 0.165 0.028857985 -27.513725 224.82466 312.32346 -2218.0887
|
||||
1700 0.17 0.028863985 -27.764471 225.85697 312.80779 -2218.0887
|
||||
1750 0.175 0.028868714 -27.983273 225.71411 315.37238 -2218.0888
|
||||
1800 0.18 0.028871144 -28.187572 225.78979 319.44034 -2218.0888
|
||||
1850 0.185 0.028865191 -28.395615 226.7477 321.25107 -2218.0889
|
||||
1900 0.19 0.028855316 -28.597095 227.90237 319.98739 -2218.0889
|
||||
1950 0.195 0.028853072 -28.79277 228.54008 313.04557 -2218.0886
|
||||
2000 0.2 0.028855814 -29.015073 228.8643 300.40018 -2218.0885
|
||||
Loop time of 16.5858 on 1 procs for 2000 steps with 500 atoms
|
||||
|
||||
Performance: 1.042 ns/day, 23.036 hours/ns, 120.585 timesteps/s
|
||||
99.1% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 5.8835 | 5.8835 | 5.8835 | 0.0 | 35.47
|
||||
Neigh | 0.05244 | 0.05244 | 0.05244 | 0.0 | 0.32
|
||||
Comm | 0.092997 | 0.092997 | 0.092997 | 0.0 | 0.56
|
||||
Output | 5.213 | 5.213 | 5.213 | 0.0 | 31.43
|
||||
Modify | 5.3275 | 5.3275 | 5.3275 | 0.0 | 32.12
|
||||
Other | | 0.01636 | | | 0.10
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1956 ave 1956 max 1956 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 19507 ave 19507 max 19507 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 39014 ave 39014 max 39014 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 39014
|
||||
Ave neighs/atom = 78.028
|
||||
Neighbor list builds = 21
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:16
|
|
@ -0,0 +1,160 @@
|
|||
LAMMPS (30 Apr 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# fcc nickel in a 3d periodic box
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
# necessary for the serial algorithm (sametag)
|
||||
atom_modify map array
|
||||
|
||||
lattice fcc 3.524
|
||||
Lattice spacing in x,y,z = 3.524 3.524 3.524
|
||||
region box block 0.0 5.0 0.0 5.0 0.0 5.0
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (17.62 17.62 17.62)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
create_atoms CPU = 0.000639439 secs
|
||||
|
||||
# setting mass, mag. moments, and interactions for cobalt
|
||||
|
||||
mass 1 58.69
|
||||
|
||||
set group all spin/random 31 0.63
|
||||
500 settings made for spin/random
|
||||
#set group all spin 0.63 0.0 0.0 1.0
|
||||
velocity all create 100 4928459 rot yes dist gaussian
|
||||
|
||||
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
|
||||
pair_coeff * * eam/alloy Ni99.eam.alloy Ni
|
||||
pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475
|
||||
|
||||
neighbor 0.1 bin
|
||||
neigh_modify every 10 check yes delay 20
|
||||
|
||||
fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 zeeman 0.0 0.0 0.0 1.0
|
||||
fix_modify 1 energy yes
|
||||
fix 2 all langevin/spin 0.0 0.0 21
|
||||
|
||||
fix 3 all nve/spin lattice yes
|
||||
timestep 0.0001
|
||||
|
||||
# compute and output options
|
||||
|
||||
compute out_mag all spin
|
||||
compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
|
||||
variable magz equal c_out_mag[3]
|
||||
variable magnorm equal c_out_mag[4]
|
||||
variable emag equal c_out_mag[5]
|
||||
variable tmag equal c_out_mag[6]
|
||||
|
||||
thermo_style custom step time v_magnorm v_emag temp v_tmag etotal
|
||||
thermo 50
|
||||
|
||||
compute outsp all property/atom spx spy spz sp fmx fmy fmz
|
||||
dump 50 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
|
||||
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 20 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.90375
|
||||
ghost atom cutoff = 5.90375
|
||||
binsize = 2.95187, bins = 6 6 6
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair eam/alloy, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair spin/exchange, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.298 | 7.298 | 7.298 Mbytes
|
||||
Step Time v_magnorm v_emag Temp v_tmag TotEng
|
||||
0 0 0.028733803 0.455085 100.03408 -8603.706 -2218.0905
|
||||
50 0.005 0.028732088 0.2980989 98.74184 -13360.862 -2218.0904
|
||||
100 0.01 0.02873076 -0.32911738 97.074246 12749.405 -2218.09
|
||||
150 0.015 0.028730298 -1.3537059 94.073558 3353.8731 -2218.0897
|
||||
200 0.02 0.028733079 -2.6807428 89.419616 1868.0661 -2218.0895
|
||||
250 0.025 0.028735725 -4.2256641 84.074249 1317.4563 -2218.0893
|
||||
300 0.03 0.028728939 -5.9209085 80.063263 1033.1632 -2218.0893
|
||||
350 0.035 0.028716731 -7.6957087 79.36782 849.1925 -2218.0893
|
||||
400 0.04 0.02871114 -9.4720832 83.055773 718.36408 -2218.0893
|
||||
450 0.045 0.02870879 -11.19254 91.28713 624.04151 -2218.0891
|
||||
500 0.05 0.028708873 -12.832707 103.50343 551.85983 -2218.0892
|
||||
550 0.055 0.028710315 -14.370603 118.16778 497.19527 -2218.0893
|
||||
600 0.06 0.028707016 -15.769641 132.83264 462.57721 -2218.089
|
||||
650 0.065 0.028706727 -17.018362 145.39247 445.40608 -2218.0888
|
||||
700 0.07 0.028710482 -18.137792 154.80131 439.71677 -2218.0889
|
||||
750 0.075 0.028705169 -19.130471 160.53663 437.67621 -2218.0892
|
||||
800 0.08 0.028695336 -19.988452 162.95918 430.42912 -2218.089
|
||||
850 0.085 0.028688393 -20.758389 164.33238 420.42991 -2218.0889
|
||||
900 0.09 0.028684101 -21.521505 167.76167 412.29955 -2218.089
|
||||
950 0.095 0.028684705 -22.314351 174.918 403.31757 -2218.0891
|
||||
1000 0.1 0.028691284 -23.080026 184.60192 391.677 -2218.0893
|
||||
1050 0.105 0.028687846 -23.714845 193.76312 379.81345 -2218.0893
|
||||
1100 0.11 0.028682371 -24.191738 200.43041 372.65414 -2218.0893
|
||||
1150 0.115 0.028684765 -24.569816 204.39323 368.53291 -2218.0891
|
||||
1200 0.12 0.028678139 -24.892093 205.879 364.46365 -2218.0892
|
||||
1250 0.125 0.028669738 -25.160227 205.09197 361.98015 -2218.0893
|
||||
1300 0.13 0.028666626 -25.367813 202.69136 360.10649 -2218.0891
|
||||
1350 0.135 0.028665511 -25.520784 199.79027 359.68033 -2218.0892
|
||||
1400 0.14 0.02866749 -25.655936 197.91217 361.218 -2218.0892
|
||||
1450 0.145 0.028666916 -25.80086 198.1933 361.5167 -2218.0889
|
||||
1500 0.15 0.028660248 -25.953194 200.8243 356.0167 -2218.089
|
||||
1550 0.155 0.028641778 -26.137444 205.80307 349.94961 -2218.0887
|
||||
1600 0.16 0.028626894 -26.393372 212.6879 347.30341 -2218.0888
|
||||
1650 0.165 0.028619835 -26.707923 219.63834 340.80511 -2218.0885
|
||||
1700 0.17 0.028615681 -27.023214 224.25635 329.60947 -2218.0882
|
||||
1750 0.175 0.02861597 -27.301445 225.47908 321.35253 -2218.0884
|
||||
1800 0.18 0.028614544 -27.53764 224.03527 320.92639 -2218.0884
|
||||
1850 0.185 0.02860894 -27.741581 221.74286 323.07034 -2218.0884
|
||||
1900 0.19 0.028604135 -27.943034 220.659 322.60989 -2218.0884
|
||||
1950 0.195 0.028602672 -28.160901 221.85908 318.8957 -2218.0885
|
||||
2000 0.2 0.028597155 -28.365986 224.55298 311.53587 -2218.0886
|
||||
Loop time of 7.21663 on 4 procs for 2000 steps with 500 atoms
|
||||
|
||||
Performance: 2.394 ns/day, 10.023 hours/ns, 277.138 timesteps/s
|
||||
98.1% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.6337 | 1.6726 | 1.7259 | 2.7 | 23.18
|
||||
Neigh | 0.013023 | 0.01361 | 0.014188 | 0.4 | 0.19
|
||||
Comm | 0.19005 | 0.24933 | 0.2905 | 7.5 | 3.45
|
||||
Output | 1.4595 | 1.5171 | 1.5725 | 3.4 | 21.02
|
||||
Modify | 3.6943 | 3.7537 | 3.8093 | 2.3 | 52.01
|
||||
Other | | 0.01025 | | | 0.14
|
||||
|
||||
Nlocal: 125 ave 132 max 121 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
Nghost: 1099 ave 1103 max 1092 min
|
||||
Histogram: 1 0 0 0 0 1 0 0 0 2
|
||||
Neighs: 4877 ave 5097 max 4747 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
FullNghs: 9754 ave 10298 max 9440 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 39016
|
||||
Ave neighs/atom = 78.032
|
||||
Neighbor list builds = 21
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:07
|
|
@ -14,6 +14,11 @@
|
|||
contact: stevene.strong at gmail dot com
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
#include "pair_e3b.h"
|
||||
|
||||
#include "atom.h"
|
||||
|
@ -28,11 +33,6 @@
|
|||
#include "domain.h"
|
||||
#include "citeme.h"
|
||||
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
//these are defined here to avoid confusing hardcoded indicies, but
|
||||
//they do not allow flexibility. If they are changed the code will break
|
||||
#define DIM 3
|
||||
|
@ -149,92 +149,92 @@ void PairE3B::compute(int eflag, int vflag)
|
|||
//two body interaction
|
||||
//not shifted b/c k2=4.87/A, so at cutoff (5.2A) e^(-kr) = 1e-11
|
||||
if (rsq < rc2sq) {
|
||||
tmpr = sqrt(rsq);
|
||||
tmpexp = e2 * exp(-k2*tmpr);
|
||||
fpair = k2 * tmpexp / tmpr;
|
||||
tmpr = sqrt(rsq);
|
||||
tmpexp = e2 * exp(-k2*tmpr);
|
||||
fpair = k2 * tmpexp / tmpr;
|
||||
|
||||
fxtmp = delx*fpair;
|
||||
fytmp = dely*fpair;
|
||||
fztmp = delz*fpair;
|
||||
fix += fxtmp;
|
||||
fiy += fytmp;
|
||||
fiz += fztmp;
|
||||
f[j][0] -= fxtmp;
|
||||
f[j][1] -= fytmp;
|
||||
f[j][2] -= fztmp;
|
||||
fxtmp = delx*fpair;
|
||||
fytmp = dely*fpair;
|
||||
fztmp = delz*fpair;
|
||||
fix += fxtmp;
|
||||
fiy += fytmp;
|
||||
fiz += fztmp;
|
||||
f[j][0] -= fxtmp;
|
||||
f[j][1] -= fytmp;
|
||||
f[j][2] -= fztmp;
|
||||
|
||||
if (evflag) {
|
||||
ev_tally(i,j,nlocal,newton_pair,tmpexp,0.0,fpair,delx,dely,delz);
|
||||
pvector[0] += tmpexp;
|
||||
}
|
||||
if (evflag) {
|
||||
ev_tally(i,j,nlocal,newton_pair,tmpexp,0.0,fpair,delx,dely,delz);
|
||||
pvector[0] += tmpexp;
|
||||
}
|
||||
} //end if rsq<rc2sq
|
||||
|
||||
//accumulate info about each OH pair for later 3body stuff
|
||||
//test OO distance with augmented cutoff to account for dangling Hs
|
||||
if (rsq < rc3deltaSq) {
|
||||
//pairO and pairH are set here even if no Hs are within the cutoff
|
||||
//in that case, npair is not incremented and they will be overwritten
|
||||
pairO[npair][0] = i;
|
||||
pairO[npair][1] = j;
|
||||
addedH = false;
|
||||
//pairO and pairH are set here even if no Hs are within the cutoff
|
||||
//in that case, npair is not incremented and they will be overwritten
|
||||
pairO[npair][0] = i;
|
||||
pairO[npair][1] = j;
|
||||
addedH = false;
|
||||
|
||||
for (kk=0; kk<NUMO; kk++) {
|
||||
k = pairO[npair][kk];
|
||||
otherO = pairO[npair][(kk+1)%2];
|
||||
for (hh=0; hh<NUMH; hh++) {
|
||||
h=atom->map(tag[otherO]+hh+1);
|
||||
//if hydrogen atom is missing, bond potential or shake will
|
||||
//catch this, so don't need to check here
|
||||
//if (h<0)
|
||||
// error->one(FLERR,"hydrogen atom missing");
|
||||
h = domain->closest_image(otherO,h);
|
||||
pairH[npair][kk][hh] = h;
|
||||
for (kk=0; kk<NUMO; kk++) {
|
||||
k = pairO[npair][kk];
|
||||
otherO = pairO[npair][(kk+1)%2];
|
||||
for (hh=0; hh<NUMH; hh++) {
|
||||
h=atom->map(tag[otherO]+hh+1);
|
||||
//if hydrogen atom is missing, bond potential or shake will
|
||||
//catch this, so don't need to check here
|
||||
//if (h<0)
|
||||
// error->one(FLERR,"hydrogen atom missing");
|
||||
h = domain->closest_image(otherO,h);
|
||||
pairH[npair][kk][hh] = h;
|
||||
|
||||
delxh = x[k][0] - x[h][0];
|
||||
delyh = x[k][1] - x[h][1];
|
||||
delzh = x[k][2] - x[h][2];
|
||||
rsqh = delxh*delxh + delyh*delyh + delzh*delzh;
|
||||
delxh = x[k][0] - x[h][0];
|
||||
delyh = x[k][1] - x[h][1];
|
||||
delzh = x[k][2] - x[h][2];
|
||||
rsqh = delxh*delxh + delyh*delyh + delzh*delzh;
|
||||
|
||||
if (rsqh < rc3sq) {
|
||||
if (rsqh < rc3sq) {
|
||||
|
||||
tmpr = sqrt(rsqh);
|
||||
tmpexp = exp(-k3*tmpr);
|
||||
if (tmpr > rs) {
|
||||
scFact1 = rc3-tmpr;
|
||||
scFact2 = sc_num + 2*tmpr;
|
||||
scEng = scFact1*scFact1*scFact2*sc_denom;
|
||||
scDer = k3*scEng - 6*scFact1*(rs-tmpr)*sc_denom;
|
||||
} else {
|
||||
scDer = k3;
|
||||
scEng = 1.0;
|
||||
}
|
||||
tmpr = sqrt(rsqh);
|
||||
tmpexp = exp(-k3*tmpr);
|
||||
if (tmpr > rs) {
|
||||
scFact1 = rc3-tmpr;
|
||||
scFact2 = sc_num + 2*tmpr;
|
||||
scEng = scFact1*scFact1*scFact2*sc_denom;
|
||||
scDer = k3*scEng - 6*scFact1*(rs-tmpr)*sc_denom;
|
||||
} else {
|
||||
scDer = k3;
|
||||
scEng = 1.0;
|
||||
}
|
||||
|
||||
//need to keep fpair3 separate from del3 for virial
|
||||
fpair3[npair][kk][hh] = scDer*tmpexp/tmpr;
|
||||
tmpexp *= scEng;
|
||||
exps[npair][kk][hh] = tmpexp;
|
||||
del3[npair][kk][hh][0] = delxh;
|
||||
del3[npair][kk][hh][1] = delyh;
|
||||
del3[npair][kk][hh][2] = delzh;
|
||||
//need to keep fpair3 separate from del3 for virial
|
||||
fpair3[npair][kk][hh] = scDer*tmpexp/tmpr;
|
||||
tmpexp *= scEng;
|
||||
exps[npair][kk][hh] = tmpexp;
|
||||
del3[npair][kk][hh][0] = delxh;
|
||||
del3[npair][kk][hh][1] = delyh;
|
||||
del3[npair][kk][hh][2] = delzh;
|
||||
|
||||
//accumulate global vector of sum(e^kr)
|
||||
//tags start at 1, so subtract one to index sumExp
|
||||
sumExp[tag[k]-1] += tmpexp;
|
||||
sumExp[tag[h]-1] += tmpexp;
|
||||
//accumulate global vector of sum(e^kr)
|
||||
//tags start at 1, so subtract one to index sumExp
|
||||
sumExp[tag[k]-1] += tmpexp;
|
||||
sumExp[tag[h]-1] += tmpexp;
|
||||
|
||||
addedH = true;
|
||||
} else {
|
||||
exps [npair][kk][hh] = 0.0;
|
||||
fpair3[npair][kk][hh] = 0.0;
|
||||
} //if < rc3sq
|
||||
} //end loop through 2 Hs
|
||||
} //end for kk in NUMO
|
||||
//if added a pair, check if array is too small and grow
|
||||
if (addedH) {
|
||||
npair++;
|
||||
if (npair >= pairmax)
|
||||
error->one(FLERR,"neigh is too small");
|
||||
}
|
||||
addedH = true;
|
||||
} else {
|
||||
exps [npair][kk][hh] = 0.0;
|
||||
fpair3[npair][kk][hh] = 0.0;
|
||||
} //if < rc3sq
|
||||
} //end loop through 2 Hs
|
||||
} //end for kk in NUMO
|
||||
//if added a pair, check if array is too small and grow
|
||||
if (addedH) {
|
||||
npair++;
|
||||
if (npair >= pairmax)
|
||||
error->one(FLERR,"neigh is too small");
|
||||
}
|
||||
} //end if < rc3deltaSq
|
||||
} //end for jj neigh
|
||||
|
||||
|
@ -257,77 +257,77 @@ void PairE3B::compute(int eflag, int vflag)
|
|||
i = pairO[ii][kk];
|
||||
otherO = (kk+1)%2;
|
||||
partB = eb*( sumExp[tag[pairO[ii][otherO] ]-1]
|
||||
+ sumExp[tag[pairH[ii][otherO][0]]-1]
|
||||
+ sumExp[tag[pairH[ii][otherO][1]]-1]
|
||||
- 2*(exps[ii][otherO][0] + exps[ii][otherO][1]));
|
||||
+ sumExp[tag[pairH[ii][otherO][0]]-1]
|
||||
+ sumExp[tag[pairH[ii][otherO][1]]-1]
|
||||
- 2*(exps[ii][otherO][0] + exps[ii][otherO][1]));
|
||||
partC = ec*(sumExp[tag[i]-1] - exps[ii][kk][0] - exps[ii][kk][1]);
|
||||
|
||||
for (hh=0; hh<NUMH; hh++) {
|
||||
j = pairH[ii][kk][hh];
|
||||
j = pairH[ii][kk][hh];
|
||||
|
||||
//type A
|
||||
otherH = (hh+1)%2;
|
||||
j2 = pairH[ii][kk][otherH];
|
||||
//type A
|
||||
otherH = (hh+1)%2;
|
||||
j2 = pairH[ii][kk][otherH];
|
||||
|
||||
partA = ea*(sumExp[tag[j2]-1] - exps[ii][kk][otherH]); //not full energy yet
|
||||
fpair = partA*fpair3[ii][kk][hh];
|
||||
fxtmp = fpair*del3[ii][kk][hh][0];
|
||||
fytmp = fpair*del3[ii][kk][hh][1];
|
||||
fztmp = fpair*del3[ii][kk][hh][2];
|
||||
partA = ea*(sumExp[tag[j2]-1] - exps[ii][kk][otherH]); //not full energy yet
|
||||
fpair = partA*fpair3[ii][kk][hh];
|
||||
fxtmp = fpair*del3[ii][kk][hh][0];
|
||||
fytmp = fpair*del3[ii][kk][hh][1];
|
||||
fztmp = fpair*del3[ii][kk][hh][2];
|
||||
|
||||
f[i][0] += fxtmp;
|
||||
f[i][1] += fytmp;
|
||||
f[i][2] += fztmp;
|
||||
f[j][0] -= fxtmp;
|
||||
f[j][1] -= fytmp;
|
||||
f[j][2] -= fztmp;
|
||||
f[i][0] += fxtmp;
|
||||
f[i][1] += fytmp;
|
||||
f[i][2] += fztmp;
|
||||
f[j][0] -= fxtmp;
|
||||
f[j][1] -= fytmp;
|
||||
f[j][2] -= fztmp;
|
||||
|
||||
if (evflag) {
|
||||
evdwl = partA*exps[ii][kk][hh]*0.5; //mult by exp on this H
|
||||
ev_tally(i,j,nlocal,newton_pair,evdwl, 0.0,fpair,
|
||||
del3[ii][kk][hh][0],del3[ii][kk][hh][1],del3[ii][kk][hh][2]);
|
||||
pvector[1] += evdwl;
|
||||
}
|
||||
if (evflag) {
|
||||
evdwl = partA*exps[ii][kk][hh]*0.5; //mult by exp on this H
|
||||
ev_tally(i,j,nlocal,newton_pair,evdwl, 0.0,fpair,
|
||||
del3[ii][kk][hh][0],del3[ii][kk][hh][1],del3[ii][kk][hh][2]);
|
||||
pvector[1] += evdwl;
|
||||
}
|
||||
|
||||
//type B
|
||||
fpair = partB*fpair3[ii][kk][hh];
|
||||
fxtmp = fpair*del3[ii][kk][hh][0];
|
||||
fytmp = fpair*del3[ii][kk][hh][1];
|
||||
fztmp = fpair*del3[ii][kk][hh][2];
|
||||
//type B
|
||||
fpair = partB*fpair3[ii][kk][hh];
|
||||
fxtmp = fpair*del3[ii][kk][hh][0];
|
||||
fytmp = fpair*del3[ii][kk][hh][1];
|
||||
fztmp = fpair*del3[ii][kk][hh][2];
|
||||
|
||||
f[i][0] += fxtmp;
|
||||
f[i][1] += fytmp;
|
||||
f[i][2] += fztmp;
|
||||
f[j][0] -= fxtmp;
|
||||
f[j][1] -= fytmp;
|
||||
f[j][2] -= fztmp;
|
||||
f[i][0] += fxtmp;
|
||||
f[i][1] += fytmp;
|
||||
f[i][2] += fztmp;
|
||||
f[j][0] -= fxtmp;
|
||||
f[j][1] -= fytmp;
|
||||
f[j][2] -= fztmp;
|
||||
|
||||
if (evflag) {
|
||||
evdwl = partB*exps[ii][kk][hh]*0.5; //mult by exp on this H
|
||||
ev_tally(i,j,nlocal,newton_pair,evdwl, 0.0,fpair,
|
||||
del3[ii][kk][hh][0],del3[ii][kk][hh][1],del3[ii][kk][hh][2]);
|
||||
pvector[2] += evdwl;
|
||||
}
|
||||
if (evflag) {
|
||||
evdwl = partB*exps[ii][kk][hh]*0.5; //mult by exp on this H
|
||||
ev_tally(i,j,nlocal,newton_pair,evdwl, 0.0,fpair,
|
||||
del3[ii][kk][hh][0],del3[ii][kk][hh][1],del3[ii][kk][hh][2]);
|
||||
pvector[2] += evdwl;
|
||||
}
|
||||
|
||||
//type C
|
||||
fpair = partC*fpair3[ii][kk][hh];
|
||||
fxtmp = fpair*del3[ii][kk][hh][0];
|
||||
fytmp = fpair*del3[ii][kk][hh][1];
|
||||
fztmp = fpair*del3[ii][kk][hh][2];
|
||||
//type C
|
||||
fpair = partC*fpair3[ii][kk][hh];
|
||||
fxtmp = fpair*del3[ii][kk][hh][0];
|
||||
fytmp = fpair*del3[ii][kk][hh][1];
|
||||
fztmp = fpair*del3[ii][kk][hh][2];
|
||||
|
||||
f[i][0] += fxtmp;
|
||||
f[i][1] += fytmp;
|
||||
f[i][2] += fztmp;
|
||||
f[j][0] -= fxtmp;
|
||||
f[j][1] -= fytmp;
|
||||
f[j][2] -= fztmp;
|
||||
f[i][0] += fxtmp;
|
||||
f[i][1] += fytmp;
|
||||
f[i][2] += fztmp;
|
||||
f[j][0] -= fxtmp;
|
||||
f[j][1] -= fytmp;
|
||||
f[j][2] -= fztmp;
|
||||
|
||||
if (evflag) {
|
||||
evdwl = partC*exps[ii][kk][hh]*0.5; //mult by exp on this H
|
||||
ev_tally(i,j,nlocal,newton_pair,evdwl, 0.0,fpair,
|
||||
del3[ii][kk][hh][0],del3[ii][kk][hh][1],del3[ii][kk][hh][2]);
|
||||
pvector[3] += evdwl;
|
||||
}
|
||||
if (evflag) {
|
||||
evdwl = partC*exps[ii][kk][hh]*0.5; //mult by exp on this H
|
||||
ev_tally(i,j,nlocal,newton_pair,evdwl, 0.0,fpair,
|
||||
del3[ii][kk][hh][0],del3[ii][kk][hh][1],del3[ii][kk][hh][2]);
|
||||
pvector[3] += evdwl;
|
||||
}
|
||||
} //end for hh in NUMH
|
||||
} //end for kk in NUMO
|
||||
} //end for ii in npairs
|
||||
|
@ -365,8 +365,8 @@ void PairE3B::allocateE3B()
|
|||
for (ii=0; ii<pairmax; ii++)
|
||||
for (jj=0; jj<NUMO; jj++)
|
||||
for (kk=0; kk<NUMH; kk++)
|
||||
for (ll=0; ll<DIM; ll++)
|
||||
del3[ii][jj][kk][ll] = 0.0;
|
||||
for (ll=0; ll<DIM; ll++)
|
||||
del3[ii][jj][kk][ll] = 0.0;
|
||||
|
||||
natoms=atom->natoms;
|
||||
maxID=find_maxID();
|
||||
|
@ -532,7 +532,7 @@ static const char cite_E3B3[] =
|
|||
void PairE3B::presetParam(const int flag,bool &repeatFlag,double &bondL) {
|
||||
if (repeatFlag) {
|
||||
error->all(FLERR,
|
||||
"Cannot request two different sets of preset parameters");
|
||||
"Cannot request two different sets of preset parameters");
|
||||
}
|
||||
repeatFlag=true;
|
||||
|
||||
|
@ -557,8 +557,8 @@ void PairE3B::presetParam(const int flag,bool &repeatFlag,double &bondL) {
|
|||
} else {
|
||||
char str[256];
|
||||
snprintf(str,256,
|
||||
"Pre-defined E3B parameters have not been set for %s units.",
|
||||
update->unit_style);
|
||||
"Pre-defined E3B parameters have not been set for %s units.",
|
||||
update->unit_style);
|
||||
error->all(FLERR,str);
|
||||
}
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@ using namespace LAMMPS_NS;
|
|||
PairILPGrapheneHBN::PairILPGrapheneHBN(LAMMPS *lmp) : Pair(lmp)
|
||||
{
|
||||
restartinfo = 0;
|
||||
one_coeff = 1;
|
||||
|
||||
// initialize element to parameter maps
|
||||
nelements = 0;
|
||||
|
|
|
@ -47,6 +47,7 @@ using namespace LAMMPS_NS;
|
|||
PairKolmogorovCrespiFull::PairKolmogorovCrespiFull(LAMMPS *lmp) : Pair(lmp)
|
||||
{
|
||||
restartinfo = 0;
|
||||
one_coeff = 1;
|
||||
|
||||
// initialize element to parameter maps
|
||||
nelements = 0;
|
||||
|
|
Loading…
Reference in New Issue