forked from lijiext/lammps
108 lines
3.4 KiB
Plaintext
108 lines
3.4 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,Section_commands.html#comm)
|
|
|
|
:line
|
|
|
|
shell command :h3
|
|
|
|
[Syntax:]
|
|
|
|
shell cmd args :pre
|
|
|
|
cmd = {cd} or {mkdir} or {mv} or {rm} or {rmdir} or {putenv} or arbitrary command :ulb,l
|
|
{cd} arg = dir
|
|
dir = directory to change to
|
|
{mkdir} args = dir1 dir2 ...
|
|
dir1,dir2 = one or more directories to create
|
|
{mv} args = old new
|
|
old = old filename
|
|
new = new filename
|
|
{rm} args = file1 file2 ...
|
|
file1,file2 = one or more filenames to delete
|
|
{rmdir} args = dir1 dir2 ...
|
|
dir1,dir2 = one or more directories to delete
|
|
{putenv} args = var1=value1 var2=value2
|
|
var=value = one of more definitions of environment variables
|
|
anything else is passed as a command to the shell for direct execution :pre
|
|
:ule
|
|
|
|
[Examples:]
|
|
|
|
shell cd sub1
|
|
shell cd ..
|
|
shell mkdir tmp1 tmp2 tmp3
|
|
shell rmdir tmp1
|
|
shell mv log.lammps hold/log.1
|
|
shell rm TMP/file1 TMP/file2
|
|
shell putenv LAMMPS_POTENTIALS=../../potentials
|
|
shell my_setup file1 10 file2
|
|
shell my_post_process 100 dump.out :pre
|
|
|
|
[Description:]
|
|
|
|
Execute a shell command. A few simple file-based shell commands are
|
|
supported directly, in Unix-style syntax. Any command not listed
|
|
above is passed as-is to the C-library system() call, which invokes
|
|
the command in a shell.
|
|
|
|
This is means to invoke other commands from your input script. For
|
|
example, you can move files around in preparation for the next section
|
|
of the input script. Or you can run a program that pre-processes data
|
|
for input into LAMMPS. Or you can run a program that post-processes
|
|
LAMMPS output data.
|
|
|
|
With the exception of {cd}, all commands, including ones invoked via a
|
|
system() call, are executed by only a single processor, so that
|
|
files/directories are not being manipulated by multiple processors.
|
|
|
|
The {cd} cmd executes the Unix "cd" command to change the working
|
|
directory. All subsequent LAMMPS commands that read/write files will
|
|
use the new directory. All processors execute this command.
|
|
|
|
The {mkdir} cmd executes the Unix "mkdir" command to create one or
|
|
more directories.
|
|
|
|
The {mv} cmd executes the Unix "mv" command to rename a file and/or
|
|
move it to a new directory.
|
|
|
|
The {rm} cmd executes the Unix "rm" command to remove one or more
|
|
files.
|
|
|
|
The {rmdir} cmd executes the Unix "rmdir" command to remove one or
|
|
more directories. A directory must be empty to be successfully
|
|
removed.
|
|
|
|
The {putenv} cmd defines or updates an environment variable directly.
|
|
Since this command does not pass through the shell, no shell variable
|
|
expansion or globbing is performed, only the usual substitution for
|
|
LAMMPS variables defined with the "variable"_variable.html command is
|
|
performed. The resulting string is then used literally.
|
|
|
|
Any other cmd is passed as-is to the shell along with its arguments as
|
|
one string, invoked by the C-library system() call. For example,
|
|
these lines in your input script:
|
|
|
|
variable n equal 10
|
|
variable foo string file2
|
|
shell my_setup file1 $n $\{foo\} :pre
|
|
|
|
would be the same as invoking
|
|
|
|
% my_setup file1 10 file2 :pre
|
|
|
|
from a command-line prompt. The executable program "my_setup" is run
|
|
with 3 arguments: file1 10 file2.
|
|
|
|
[Restrictions:]
|
|
|
|
LAMMPS does not detect errors or print warnings when any of these
|
|
commands execute. E.g. if the specified directory does not exist,
|
|
executing the {cd} command will silently do nothing.
|
|
|
|
[Related commands:] none
|
|
|
|
[Default:] none
|