forked from lijiext/lammps
148 lines
5.9 KiB
Plaintext
148 lines
5.9 KiB
Plaintext
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
:link(ld,Manual.html)
|
|
:link(lc,Commands_all.html)
|
|
|
|
:line
|
|
|
|
fix halt command :h3
|
|
|
|
[Syntax:]
|
|
|
|
fix ID group-ID halt N attribute operator avalue keyword value ... :pre
|
|
|
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
|
halt = style name of this fix command :l
|
|
N = check halt condition every N steps :l
|
|
attribute = {bondmax} or {tlimit} or v_name :l
|
|
bondmax = length of longest bond in the system
|
|
tlimit = elapsed CPU time
|
|
v_name = name of "equal-style variable"_variable.html :pre
|
|
operator = "<" or "<=" or ">" or ">=" or "==" or "!=" or "|^" :l
|
|
avalue = numeric value to compare attribute to :l
|
|
zero or more keyword/value pairs may be appended :l
|
|
keyword = {error} or {message} :l
|
|
{error} value = {hard} or {soft} or {continue}
|
|
{message} value = {yes} or {no} :pre
|
|
:ule
|
|
|
|
[Examples:]
|
|
|
|
fix 10 all halt 1 bondmax > 1.5
|
|
fix 10 all print 10 v_myCheck != 0 error soft :pre
|
|
|
|
[Description:]
|
|
|
|
Check a condition every N steps during a simulation run. N must be >=
|
|
1. If the condition is met, exit the run immediately. In this
|
|
context a "run" can be dynamics or minimization iterations, as
|
|
specified by the "run"_run.html or "minimize"_minimize.html command.
|
|
|
|
The specified group-ID is ignored by this fix.
|
|
|
|
The specified {attribute} can be one of the options listed above,
|
|
namely {bondmax} or {tlimit}, or an "equal-style
|
|
variable"_variable.html referenced as {v_name}, where "name" is the
|
|
name of a variable that has been defined previously in the input
|
|
script.
|
|
|
|
The {bondmax} attribute will loop over all bonds in the system,
|
|
compute their current lengths, and set {attribute} to the longest bond
|
|
distance.
|
|
|
|
The {tlimit} attribute queries the elapsed CPU time (in seconds) since
|
|
the current run began, and sets {attribute} to that value. This is an
|
|
alternative way to limit the length of a simulation run, similar to
|
|
the "timer"_timer.html timeout command. There are two differences in
|
|
using this method versus the timer command option. The first is that
|
|
the clock starts at the beginning of the current run (not when the
|
|
timer or fix command is specified), so that any setup time for the run
|
|
is not included in the elapsed time. The second is that the timer
|
|
invocation and syncing across all processors (via MPI_Allreduce) is
|
|
not performed once every {N} steps by this command. Instead it is
|
|
performed (typically) only a small number of times and the elapsed
|
|
times are used to predict when the end-of-the-run will be. Both of
|
|
these attributes can be useful when performing benchmark calculations
|
|
for a desired length of time with minimal overhead. For example, if
|
|
a run is performing 1000s of timesteps/sec, the overhead for syncing
|
|
the timer frequently across a large number of processors may be
|
|
non-negligible.
|
|
|
|
Equal-style variables evaluate to a numeric value. See the
|
|
"variable"_variable.html command for a description. They calculate
|
|
formulas which can involve mathematical operations, atom properties,
|
|
group properties, thermodynamic properties, global values calculated
|
|
by a "compute"_compute.html or "fix"_fix.html, or references to other
|
|
"variables"_variable.html. Thus they are a very general means of
|
|
computing some attribute of the current system. For example, the
|
|
following "bondmax" variable will calculate the same quantity as the
|
|
hstyle = bondmax option.
|
|
|
|
compute bdist all bond/local dist
|
|
compute bmax all reduce max c_bdist
|
|
variable bondmax equal c_bmax :pre
|
|
|
|
Thus these two versions of a fix halt command will do the same thing:
|
|
|
|
fix 10 all halt 1 bondmax > 1.5
|
|
fix 10 all halt 1 v_bondmax > 1.5 :pre
|
|
|
|
The version with "bondmax" will just run somewhat faster, due to less
|
|
overhead in computing bond lengths and not storing them in a separate
|
|
compute.
|
|
|
|
The choice of operators listed above are the usual comparison
|
|
operators. The XOR operation (exclusive or) is also included as "|^".
|
|
In this context, XOR means that if either the attribute or avalue is
|
|
0.0 and the other is non-zero, then the result is "true". Otherwise
|
|
it is "false".
|
|
|
|
The specified {avalue} must be a numeric value.
|
|
|
|
:line
|
|
|
|
The optional {error} keyword determines how the current run is halted.
|
|
If its value is {hard}, then LAMMPS will stop with an error message.
|
|
|
|
If its value is {soft}, LAMMPS will exit the current run, but continue
|
|
to execute subsequent commands in the input script. However,
|
|
additional "run"_run.html or "minimize"_minimize.html commands will be
|
|
skipped. For example, this allows a script to output the current
|
|
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 "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
|
|
{message} is set to yes, a one line message with the values that
|
|
triggered the halt is printed. If {message} is set to no, no message
|
|
is printed; the run simply exits. The latter may be desirable for
|
|
post-processing tools that extract thermodynamic information from log
|
|
files.
|
|
|
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
|
|
|
No information about this fix is written to "binary restart
|
|
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
|
are relevant to this fix. No global or per-atom quantities are stored
|
|
by this fix for access by various "output commands"_Howto_output.html.
|
|
No parameter of this fix can be used with the {start/stop} keywords of
|
|
the "run"_run.html command.
|
|
|
|
[Restrictions:] none
|
|
|
|
[Related commands:]
|
|
|
|
"variable"_variable.html
|
|
|
|
[Default:]
|
|
|
|
The option defaults are error = hard and message = yes.
|