Merge remote branch 'lammps-ro/master' into lammps-icms
Resolved Conflicts: doc/Manual.txt src/write_dump.cpp
This commit is contained in:
@ -22,7 +22,7 @@
|
||||
|
||||
<CENTER><H3>LAMMPS-ICMS Documentation
|
||||
</H3></CENTER>
|
||||
<CENTER><H4>30 Oct 2013 version
|
||||
<CENTER><H4>1 Nov 2013 version
|
||||
</H4></CENTER>
|
||||
<H4>Version info:
|
||||
</H4>
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
<H1></H1>
|
||||
|
||||
LAMMPS-ICMS Documentation :c,h3
|
||||
30 Oct 2013 version :c,h4
|
||||
1 Nov 2013 version :c,h4
|
||||
|
||||
Version info: :h4
|
||||
|
||||
|
||||
@ -317,7 +317,8 @@ in the command's documentation.
|
||||
<A HREF = "dump_modify.html">dump_modify</A>, <A HREF = "restart.html">restart</A>,
|
||||
<A HREF = "thermo.html">thermo</A>, <A HREF = "thermo_modify.html">thermo_modify</A>,
|
||||
<A HREF = "thermo_style.html">thermo_style</A>, <A HREF = "undump.html">undump</A>,
|
||||
<A HREF = "write_data.html">write_data</A>, <A HREF = "write_restart.html">write_restart</A>
|
||||
<A HREF = "write_data.html">write_data</A>, <A HREF = "write_dump.html">write_dump</A>,
|
||||
<A HREF = "write_restart.html">write_restart</A>
|
||||
</P>
|
||||
<P>Actions:
|
||||
</P>
|
||||
@ -361,7 +362,7 @@ in the command's documentation.
|
||||
<TR ALIGN="center"><TD ><A HREF = "restart.html">restart</A></TD><TD ><A HREF = "run.html">run</A></TD><TD ><A HREF = "run_style.html">run_style</A></TD><TD ><A HREF = "set.html">set</A></TD><TD ><A HREF = "shell.html">shell</A></TD><TD ><A HREF = "special_bonds.html">special_bonds</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "suffix.html">suffix</A></TD><TD ><A HREF = "tad.html">tad</A></TD><TD ><A HREF = "temper.html">temper</A></TD><TD ><A HREF = "thermo.html">thermo</A></TD><TD ><A HREF = "thermo_modify.html">thermo_modify</A></TD><TD ><A HREF = "thermo_style.html">thermo_style</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "timestep.html">timestep</A></TD><TD ><A HREF = "uncompute.html">uncompute</A></TD><TD ><A HREF = "undump.html">undump</A></TD><TD ><A HREF = "unfix.html">unfix</A></TD><TD ><A HREF = "units.html">units</A></TD><TD ><A HREF = "variable.html">variable</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "velocity.html">velocity</A></TD><TD ><A HREF = "write_data.html">write_data</A></TD><TD ><A HREF = "write_restart.html">write_restart</A>
|
||||
<TR ALIGN="center"><TD ><A HREF = "velocity.html">velocity</A></TD><TD ><A HREF = "write_data.html">write_data</A></TD><TD ><A HREF = "write_dump.html">write_dump</A></TD><TD ><A HREF = "write_restart.html">write_restart</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are commands contributed by users, which can be used if <A HREF = "Section_start.html#start_3">LAMMPS
|
||||
|
||||
@ -313,7 +313,8 @@ Output:
|
||||
"dump_modify"_dump_modify.html, "restart"_restart.html,
|
||||
"thermo"_thermo.html, "thermo_modify"_thermo_modify.html,
|
||||
"thermo_style"_thermo_style.html, "undump"_undump.html,
|
||||
"write_data"_write_data.html, "write_restart"_write_restart.html
|
||||
"write_data"_write_data.html, "write_dump"_write_dump.html,
|
||||
"write_restart"_write_restart.html
|
||||
|
||||
Actions:
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>velocity group-ID style args keyword args ...
|
||||
<PRE>velocity group-ID style args keyword value ...
|
||||
</PRE>
|
||||
<UL><LI>group-ID = ID of group of atoms whose velocity will be changed
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ velocity command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
velocity group-ID style args keyword args ... :pre
|
||||
velocity group-ID style args keyword value ... :pre
|
||||
|
||||
group-ID = ID of group of atoms whose velocity will be changed :ulb,l
|
||||
style = {create} or {set} or {scale} or {ramp} or {zero} :l
|
||||
|
||||
101
doc/write_dump.html
Normal file
101
doc/write_dump.html
Normal file
@ -0,0 +1,101 @@
|
||||
<HTML>
|
||||
<CENTER> <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>write_dump command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>write_dump ID group-ID style N file dump-args modify dump-modify-args
|
||||
</PRE>
|
||||
<UL><LI>ID = user-assigned name for the dump (ignored)
|
||||
|
||||
<LI>group-ID = ID of the group of atoms to be dumped
|
||||
|
||||
<LI>style = any of the supported <A HREF = "dump.html">dump styles</A>
|
||||
|
||||
<LI>N = dump every this many timesteps (ignored)
|
||||
|
||||
<LI>file = name of file to write dump info to
|
||||
|
||||
<LI>dump-args = any additional args needed for a particular <A HREF = "dump.html">dump style</A>
|
||||
|
||||
<LI>modify = all args after this keyword are passed to <A HREF = "dump_modify.html">dump_modify</A> (optional)
|
||||
|
||||
<LI>dump-modify-args = args for <A HREF = "dump_modify.html">dump_modify</A> (optional)
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>write_dump 1 all atom 0 dump.atom
|
||||
write_dump 1 subgroup atom 0 dump.run.bin
|
||||
write_dump 1 all custom 0 dump.myforce.* id type x y vx fx
|
||||
write_dump 1 flow custom 0 dump.%.myforce id type c_myF[3] v_ke modify sort id
|
||||
write_dump 1 all xyz 0 system.xyz modify sort id elements O H
|
||||
write_dump 1 all image 0 snap*.jpg type type size 960 960 modify backcolor white
|
||||
write_dump 1 all image 0 snap*.jpg element element &
|
||||
bond atom 0.3 shiny 0.1 ssao yes 6345 0.2 size 1600 1600 &
|
||||
modify backcolor white element C C O H N C C C O H H S O H
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Dump a single snapshot of atom quantities to one or more files for the
|
||||
current state of the system. This is a one-time operation, in
|
||||
contrast to the <A HREF = "dump.html">dump</A> command which will write out multiple
|
||||
snapshots periodically during a running simulation.
|
||||
</P>
|
||||
<P>The syntax for this command is identical to that of the
|
||||
<A HREF = "dump.html">dump</A> and <A HREF = "dump_modify.html">dump_modify</A> commands as if
|
||||
they were concatenated together, with one exception. This is so that
|
||||
the full range of <A HREF = "dump_modify.html">dump_modify</A> options can be
|
||||
specified for the single snapshot, just as they can be for multiple
|
||||
snapshots. The syntax exception is that if a second set of
|
||||
dump-modify-args is specified, they must be preceeded by the "modify"
|
||||
keyword, so that LAMMPS can cleanly separate the two sets of args.
|
||||
</P>
|
||||
<P>Note that the dump ID and frequency <I>N</I> arguments are ignored, since
|
||||
they are irrelevant when only a single snapshot is being written.
|
||||
</P>
|
||||
<P>Also note that if the specified filename uses the wildcard characters
|
||||
"*" or "%", as supported by the <A HREF = "dump.html">dump</A> commmand, they will
|
||||
operate in the same fashion to create the new filename(s).
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>All restrictions for the <A HREF = "dump.html">dump</A> and
|
||||
<A HREF = "dump_modify.html">dump_modify</A> commands apply to this command as well.
|
||||
For the <A HREF = "dump_image.html">dump image</A> dump style, this means the
|
||||
filename is required to contain a '*' character, which will be
|
||||
replaced by the current timestep.
|
||||
</P>
|
||||
<P>Since dumps are normally written during a <A HREF = "run.html">run</A> or <A HREF = "minimize.html">energy
|
||||
minimization</A>, the simulation has to be ready to run
|
||||
before this command can be used. Similarly, if the dump requires
|
||||
information from a compute, fix, or variable, the information needs to
|
||||
have been calculated for the current timestep (e.g. by a prior run),
|
||||
else LAMMPS will generate an error message.
|
||||
</P>
|
||||
<P>For example, it is not possible to dump per-atom energy with this
|
||||
command before a run has been performed, since no energies and forces
|
||||
have yet been calculated. See the <A HREF = "variable.html">variable</A> doc page
|
||||
sectinn on Variable Accuracy for more information on this topic.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "dump.html">dump</A>, <A HREF = "dump_image.html">dump image</A>, <A HREF = "dump_modify.html">dump_modify</A>
|
||||
</P>
|
||||
<P><B>Default:</B>
|
||||
</P>
|
||||
<P>The defaults are listed on the doc pages for the <A HREF = "dump.html">dump</A> and
|
||||
<A HREF = "dump_image.html">dump image</A> and <A HREF = "dump_modify.html">dump_modify</A>
|
||||
commands.
|
||||
</P>
|
||||
</HTML>
|
||||
89
doc/write_dump.txt
Normal file
89
doc/write_dump.txt
Normal file
@ -0,0 +1,89 @@
|
||||
"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
|
||||
|
||||
write_dump command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
write_dump ID group-ID style N file dump-args modify dump-modify-args :pre
|
||||
|
||||
ID = user-assigned name for the dump (ignored) :ulb,l
|
||||
group-ID = ID of the group of atoms to be dumped :l
|
||||
style = any of the supported "dump styles"_dump.html :l
|
||||
N = dump every this many timesteps (ignored) :l
|
||||
file = name of file to write dump info to :l
|
||||
dump-args = any additional args needed for a particular "dump style"_dump.html :l
|
||||
modify = all args after this keyword are passed to "dump_modify"_dump_modify.html (optional) :l
|
||||
dump-modify-args = args for "dump_modify"_dump_modify.html (optional) :l,ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
write_dump 1 all atom 0 dump.atom
|
||||
write_dump 1 subgroup atom 0 dump.run.bin
|
||||
write_dump 1 all custom 0 dump.myforce.* id type x y vx fx
|
||||
write_dump 1 flow custom 0 dump.%.myforce id type c_myF\[3\] v_ke modify sort id
|
||||
write_dump 1 all xyz 0 system.xyz modify sort id elements O H
|
||||
write_dump 1 all image 0 snap*.jpg type type size 960 960 modify backcolor white
|
||||
write_dump 1 all image 0 snap*.jpg element element &
|
||||
bond atom 0.3 shiny 0.1 ssao yes 6345 0.2 size 1600 1600 &
|
||||
modify backcolor white element C C O H N C C C O H H S O H :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Dump a single snapshot of atom quantities to one or more files for the
|
||||
current state of the system. This is a one-time operation, in
|
||||
contrast to the "dump"_dump.html command which will write out multiple
|
||||
snapshots periodically during a running simulation.
|
||||
|
||||
The syntax for this command is identical to that of the
|
||||
"dump"_dump.html and "dump_modify"_dump_modify.html commands as if
|
||||
they were concatenated together, with one exception. This is so that
|
||||
the full range of "dump_modify"_dump_modify.html options can be
|
||||
specified for the single snapshot, just as they can be for multiple
|
||||
snapshots. The syntax exception is that if a second set of
|
||||
dump-modify-args is specified, they must be preceeded by the "modify"
|
||||
keyword, so that LAMMPS can cleanly separate the two sets of args.
|
||||
|
||||
Note that the dump ID and frequency {N} arguments are ignored, since
|
||||
they are irrelevant when only a single snapshot is being written.
|
||||
|
||||
Also note that if the specified filename uses the wildcard characters
|
||||
"*" or "%", as supported by the "dump"_dump.html commmand, they will
|
||||
operate in the same fashion to create the new filename(s).
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
All restrictions for the "dump"_dump.html and
|
||||
"dump_modify"_dump_modify.html commands apply to this command as well.
|
||||
For the "dump image"_dump_image.html dump style, this means the
|
||||
filename is required to contain a '*' character, which will be
|
||||
replaced by the current timestep.
|
||||
|
||||
Since dumps are normally written during a "run"_run.html or "energy
|
||||
minimization"_minimize.html, the simulation has to be ready to run
|
||||
before this command can be used. Similarly, if the dump requires
|
||||
information from a compute, fix, or variable, the information needs to
|
||||
have been calculated for the current timestep (e.g. by a prior run),
|
||||
else LAMMPS will generate an error message.
|
||||
|
||||
For example, it is not possible to dump per-atom energy with this
|
||||
command before a run has been performed, since no energies and forces
|
||||
have yet been calculated. See the "variable"_variable.html doc page
|
||||
sectinn on Variable Accuracy for more information on this topic.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"dump"_dump.html, "dump image"_dump_image.html, "dump_modify"_dump_modify.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The defaults are listed on the doc pages for the "dump"_dump.html and
|
||||
"dump image"_dump_image.html and "dump_modify"_dump_modify.html
|
||||
commands.
|
||||
@ -544,7 +544,8 @@ void Output::add_dump(int narg, char **arg)
|
||||
error->all(FLERR,"Reuse of dump ID");
|
||||
int igroup = group->find(arg[1]);
|
||||
if (igroup == -1) error->all(FLERR,"Could not find dump group ID");
|
||||
if (force->inumeric(FLERR,arg[3]) <= 0) error->all(FLERR,"Invalid dump frequency");
|
||||
if (force->inumeric(FLERR,arg[3]) <= 0)
|
||||
error->all(FLERR,"Invalid dump frequency");
|
||||
|
||||
// extend Dump list if necessary
|
||||
|
||||
|
||||
@ -1 +1 @@
|
||||
#define LAMMPS_VERSION "30 Oct 2013"
|
||||
#define LAMMPS_VERSION "1 Nov 2013"
|
||||
|
||||
@ -10,13 +10,14 @@
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Axel Kohlmeyer (Temple U)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "write_dump.h"
|
||||
#include "dump.h"
|
||||
#include "style_dump.h"
|
||||
#include "dump.h"
|
||||
#include "atom.h"
|
||||
#include "group.h"
|
||||
#include "error.h"
|
||||
@ -27,59 +28,55 @@ using namespace LAMMPS_NS;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
// syntax:
|
||||
// write_dump <group-ID> <dump-style> <filename> [<flags1>] [modify <flags2>]
|
||||
//
|
||||
// <flags1> are keywords supported by the dump command
|
||||
// <flags2> are keywords supported by the dump_modify command
|
||||
|
||||
void WriteDump::command(int narg, char **arg)
|
||||
{
|
||||
Dump *dump;
|
||||
int i,lnarg,modarg;
|
||||
char **larg;
|
||||
|
||||
if (narg < 3) error->all(FLERR,"Illegal write_dump command");
|
||||
|
||||
if (atom->tag_enable == 0)
|
||||
error->all(FLERR,"Must have atom IDs for write_dump command");
|
||||
// modindex = index in args of "modify" keyword
|
||||
// will be narg if "modify" is not present
|
||||
|
||||
// create the Dump class instance
|
||||
lnarg = narg + 2; // all arguments plus dump id and frequency
|
||||
larg = new char*[lnarg];
|
||||
larg[0] = (char *) "WRITE_DUMP"; // dump id
|
||||
larg[1] = arg[0]; // group
|
||||
larg[2] = arg[1]; // dump style
|
||||
larg[3] = (char *) "0"; // dump frequency
|
||||
// copy the remaining arguments until we hit "modify"
|
||||
for (i=modarg=2; i < narg; modarg = ++i) {
|
||||
if (strcmp(arg[i],"modify") == 0) break;
|
||||
larg[i+2] = arg[i];
|
||||
}
|
||||
lnarg = modarg+2;
|
||||
int modindex;
|
||||
for (modindex = 0; modindex < narg; modindex++)
|
||||
if (strcmp(arg[modindex],"modify") == 0) break;
|
||||
|
||||
// create the Dump instance
|
||||
|
||||
Dump *dump;
|
||||
|
||||
// dump command line. set required arguments
|
||||
|
||||
char **dumpargs = new char*[modindex+2];
|
||||
dumpargs[0] = (char *) "WRITE_DUMP"; // dump id
|
||||
dumpargs[1] = arg[0]; // group
|
||||
dumpargs[2] = arg[1]; // dump style
|
||||
dumpargs[3] = (char *) "0"; // dump frequency
|
||||
|
||||
// optional arguments
|
||||
for (int i=2; i < modindex; ++i)
|
||||
dumpargs[i+2] = arg[i];
|
||||
|
||||
if (0) return; // dummy line to enable else-if macro expansion
|
||||
|
||||
#define DUMP_CLASS
|
||||
#define DumpStyle(key,Class) \
|
||||
else if (strcmp(arg[1],#key) == 0) dump = new Class(lmp,lnarg,larg);
|
||||
else if (strcmp(arg[2],#key) == 0) dump = new Class(lmp,modindex+2,dumpargs);
|
||||
#include "style_dump.h"
|
||||
#undef DUMP_CLASS
|
||||
|
||||
else error->all(FLERR,"Invalid dump style");
|
||||
|
||||
// tweak dump settings via dump_modify with the remaining arguments, if any.
|
||||
++modarg;
|
||||
lnarg = narg - modarg;
|
||||
for (i = 0; i < lnarg; ++i)
|
||||
larg[i] = arg[i+modarg];
|
||||
|
||||
if (lnarg > 0) dump->modify_params(lnarg,larg);
|
||||
if (modindex < narg) dump->modify_params(narg-modindex-1,&arg[modindex+1]);
|
||||
|
||||
// write out one frame and then delete the dump again
|
||||
|
||||
dump->init();
|
||||
dump->write();
|
||||
|
||||
// delete the Dump instance and local storage
|
||||
|
||||
delete dump;
|
||||
delete[] larg;
|
||||
delete[] dumpargs;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user