Merge pull request #1460 from akohlmey/collected-small-changes

Some more small changes
This commit is contained in:
Axel Kohlmeyer 2019-05-14 17:55:36 -04:00 committed by GitHub
commit f2b293d93b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
47 changed files with 3095 additions and 2444 deletions

View File

@ -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

View 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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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:

View File

@ -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

View File

@ -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).

View File

@ -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.

View File

@ -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)

View File

@ -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

View File

@ -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.

View 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

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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);
}

View File

@ -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;

View File

@ -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;