Merge remote-tracking branch 'lammps-ro/master' into lammps-icms
# Conflicts: # doc/Manual.html # doc/Manual.txt # doc/info.txt # src/atom.cpp # src/info.cpp
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS-ICMS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="15 Jul 2015 version">
|
||||
<META NAME="docnumber" CONTENT="17 Jul 2015 version">
|
||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||
</HEAD>
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
<CENTER><H3>LAMMPS-ICMS Documentation
|
||||
</H3></CENTER>
|
||||
<CENTER><H4>15 Jul 2015 version
|
||||
<CENTER><H4>17 Jul 2015 version
|
||||
</H4></CENTER>
|
||||
<H4>Version info:
|
||||
</H4>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS-ICMS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="15 Jul 2015 version">
|
||||
<META NAME="docnumber" CONTENT="17 Jul 2015 version">
|
||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||
</HEAD>
|
||||
@ -18,7 +18,7 @@
|
||||
<H1></H1>
|
||||
|
||||
LAMMPS-ICMS Documentation :c,h3
|
||||
15 Jul 2015 version :c,h4
|
||||
17 Jul 2015 version :c,h4
|
||||
|
||||
Version info: :h4
|
||||
|
||||
|
||||
@ -378,17 +378,17 @@ in the command's documentation.
|
||||
<TR ALIGN="center"><TD ><A HREF = "comm_style.html">comm_style</A></TD><TD ><A HREF = "compute.html">compute</A></TD><TD ><A HREF = "compute_modify.html">compute_modify</A></TD><TD ><A HREF = "create_atoms.html">create_atoms</A></TD><TD ><A HREF = "create_bonds.html">create_bonds</A></TD><TD ><A HREF = "create_box.html">create_box</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "delete_atoms.html">delete_atoms</A></TD><TD ><A HREF = "delete_bonds.html">delete_bonds</A></TD><TD ><A HREF = "dielectric.html">dielectric</A></TD><TD ><A HREF = "dihedral_coeff.html">dihedral_coeff</A></TD><TD ><A HREF = "dihedral_style.html">dihedral_style</A></TD><TD ><A HREF = "dimension.html">dimension</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "displace_atoms.html">displace_atoms</A></TD><TD ><A HREF = "dump.html">dump</A></TD><TD ><A HREF = "dump_image.html">dump image</A></TD><TD ><A HREF = "dump_modify.html">dump_modify</A></TD><TD ><A HREF = "dump_image.html">dump movie</A></TD><TD ><A HREF = "echo.html">echo</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix.html">fix</A></TD><TD ><A HREF = "fix_modify.html">fix_modify</A></TD><TD ><A HREF = "group.html">group</A></TD><TD ><A HREF = "if.html">if</A></TD><TD ><A HREF = "improper_coeff.html">improper_coeff</A></TD><TD ><A HREF = "improper_style.html">improper_style</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "include.html">include</A></TD><TD ><A HREF = "jump.html">jump</A></TD><TD ><A HREF = "kspace_modify.html">kspace_modify</A></TD><TD ><A HREF = "kspace_style.html">kspace_style</A></TD><TD ><A HREF = "label.html">label</A></TD><TD ><A HREF = "lattice.html">lattice</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "log.html">log</A></TD><TD ><A HREF = "mass.html">mass</A></TD><TD ><A HREF = "minimize.html">minimize</A></TD><TD ><A HREF = "min_modify.html">min_modify</A></TD><TD ><A HREF = "min_style.html">min_style</A></TD><TD ><A HREF = "molecule.html">molecule</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "neb.html">neb</A></TD><TD ><A HREF = "neigh_modify.html">neigh_modify</A></TD><TD ><A HREF = "neighbor.html">neighbor</A></TD><TD ><A HREF = "newton.html">newton</A></TD><TD ><A HREF = "next.html">next</A></TD><TD ><A HREF = "package.html">package</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_coeff.html">pair_coeff</A></TD><TD ><A HREF = "pair_modify.html">pair_modify</A></TD><TD ><A HREF = "pair_style.html">pair_style</A></TD><TD ><A HREF = "pair_write.html">pair_write</A></TD><TD ><A HREF = "partition.html">partition</A></TD><TD ><A HREF = "prd.html">prd</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "print.html">print</A></TD><TD ><A HREF = "processors.html">processors</A></TD><TD ><A HREF = "python.html">python</A></TD><TD ><A HREF = "quit.html">quit</A></TD><TD ><A HREF = "read_data.html">read_data</A></TD><TD ><A HREF = "read_dump.html">read_dump</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "read_restart.html">read_restart</A></TD><TD ><A HREF = "region.html">region</A></TD><TD ><A HREF = "replicate.html">replicate</A></TD><TD ><A HREF = "rerun.html">rerun</A></TD><TD ><A HREF = "reset_timestep.html">reset_timestep</A></TD><TD ><A HREF = "restart.html">restart</A></TD></TR>
|
||||
<TR ALIGN="center"><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><TD ><A HREF = "suffix.html">suffix</A></TD></TR>
|
||||
<TR ALIGN="center"><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><TD ><A HREF = "timestep.html">timestep</A></TD></TR>
|
||||
<TR ALIGN="center"><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><TD ><A HREF = "velocity.html">velocity</A></TD></TR>
|
||||
<TR ALIGN="center"><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>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix.html">fix</A></TD><TD ><A HREF = "fix_modify.html">fix_modify</A></TD><TD ><A HREF = "group.html">group</A></TD><TD ><A HREF = "if.html">if</A></TD><TD ><A HREF = "info.html">info</A></TD><TD ><A HREF = "improper_coeff.html">improper_coeff</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "improper_style.html">improper_style</A></TD><TD ><A HREF = "include.html">include</A></TD><TD ><A HREF = "jump.html">jump</A></TD><TD ><A HREF = "kspace_modify.html">kspace_modify</A></TD><TD ><A HREF = "kspace_style.html">kspace_style</A></TD><TD ><A HREF = "label.html">label</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "lattice.html">lattice</A></TD><TD ><A HREF = "log.html">log</A></TD><TD ><A HREF = "mass.html">mass</A></TD><TD ><A HREF = "minimize.html">minimize</A></TD><TD ><A HREF = "min_modify.html">min_modify</A></TD><TD ><A HREF = "min_style.html">min_style</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "molecule.html">molecule</A></TD><TD ><A HREF = "neb.html">neb</A></TD><TD ><A HREF = "neigh_modify.html">neigh_modify</A></TD><TD ><A HREF = "neighbor.html">neighbor</A></TD><TD ><A HREF = "newton.html">newton</A></TD><TD ><A HREF = "next.html">next</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "package.html">package</A></TD><TD ><A HREF = "pair_coeff.html">pair_coeff</A></TD><TD ><A HREF = "pair_modify.html">pair_modify</A></TD><TD ><A HREF = "pair_style.html">pair_style</A></TD><TD ><A HREF = "pair_write.html">pair_write</A></TD><TD ><A HREF = "partition.html">partition</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "prd.html">prd</A></TD><TD ><A HREF = "print.html">print</A></TD><TD ><A HREF = "processors.html">processors</A></TD><TD ><A HREF = "python.html">python</A></TD><TD ><A HREF = "quit.html">quit</A></TD><TD ><A HREF = "read_data.html">read_data</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "read_dump.html">read_dump</A></TD><TD ><A HREF = "read_restart.html">read_restart</A></TD><TD ><A HREF = "region.html">region</A></TD><TD ><A HREF = "replicate.html">replicate</A></TD><TD ><A HREF = "rerun.html">rerun</A></TD><TD ><A HREF = "reset_timestep.html">reset_timestep</A></TD></TR>
|
||||
<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_dump.html">write_dump</A></TD><TD ><A HREF = "write_restart.html">write_restart</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are additional commands in USER packages, which can be used if
|
||||
|
||||
@ -402,6 +402,7 @@ in the command's documentation.
|
||||
"fix_modify"_fix_modify.html,
|
||||
"group"_group.html,
|
||||
"if"_if.html,
|
||||
"info"_info.html,
|
||||
"improper_coeff"_improper_coeff.html,
|
||||
"improper_style"_improper_style.html,
|
||||
"include"_include.html,
|
||||
|
||||
@ -101,8 +101,8 @@ favorite interatomic potential, boundary condition, or atom type, see
|
||||
<A HREF = "Section_modify.html">Section_modify</A>, which describes how you can add
|
||||
it to LAMMPS.
|
||||
</P>
|
||||
<H4>General features
|
||||
</H4>
|
||||
<H5>General features
|
||||
</H5>
|
||||
<UL><LI> runs on a single processor or in parallel
|
||||
<LI> distributed-memory message-passing parallelism (MPI)
|
||||
<LI> spatial-decomposition of simulation domain for parallelism
|
||||
@ -118,8 +118,8 @@ it to LAMMPS.
|
||||
<LI> build as library, invoke LAMMPS thru library interface or provided Python wrapper
|
||||
<LI> couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both
|
||||
</UL>
|
||||
<H4>Particle and model types
|
||||
</H4>
|
||||
<H5>Particle and model types
|
||||
</H5>
|
||||
<P>(<A HREF = "atom_style.html">atom style</A> command)
|
||||
</P>
|
||||
<UL><LI> atoms
|
||||
@ -135,8 +135,8 @@ it to LAMMPS.
|
||||
<LI> rigid collections of particles
|
||||
<LI> hybrid combinations of these
|
||||
</UL>
|
||||
<H4>Force fields
|
||||
</H4>
|
||||
<H5>Force fields
|
||||
</H5>
|
||||
<P>(<A HREF = "pair_style.html">pair style</A>, <A HREF = "bond_style.html">bond style</A>,
|
||||
<A HREF = "angle_style.html">angle style</A>, <A HREF = "dihedral_style.html">dihedral style</A>,
|
||||
<A HREF = "improper_style.html">improper style</A>, <A HREF = "kspace_style.html">kspace style</A>
|
||||
@ -163,8 +163,8 @@ commands)
|
||||
<LI> hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation
|
||||
<LI> overlaid potentials: superposition of multiple pair potentials
|
||||
</UL>
|
||||
<H4>Atom creation
|
||||
</H4>
|
||||
<H5>Atom creation
|
||||
</H5>
|
||||
<P>(<A HREF = "read_data.html">read_data</A>, <A HREF = "lattice.html">lattice</A>,
|
||||
<A HREF = "create_atoms.html">create_atoms</A>, <A HREF = "delete_atoms.html">delete_atoms</A>,
|
||||
<A HREF = "displace_atoms.html">displace_atoms</A>, <A HREF = "replicate.html">replicate</A> commands)
|
||||
@ -175,8 +175,8 @@ commands)
|
||||
<LI> replicate existing atoms multiple times
|
||||
<LI> displace atoms
|
||||
</UL>
|
||||
<H4>Ensembles, constraints, and boundary conditions
|
||||
</H4>
|
||||
<H5>Ensembles, constraints, and boundary conditions
|
||||
</H5>
|
||||
<P>(<A HREF = "fix.html">fix</A> command)
|
||||
</P>
|
||||
<UL><LI> 2d or 3d systems
|
||||
@ -194,8 +194,8 @@ commands)
|
||||
<LI> non-equilibrium molecular dynamics (NEMD)
|
||||
<LI> variety of additional boundary conditions and constraints
|
||||
</UL>
|
||||
<H4>Integrators
|
||||
</H4>
|
||||
<H5>Integrators
|
||||
</H5>
|
||||
<P>(<A HREF = "run.html">run</A>, <A HREF = "run_style.html">run_style</A>, <A HREF = "minimize.html">minimize</A> commands)
|
||||
</P>
|
||||
<UL><LI> velocity-Verlet integrator
|
||||
@ -205,12 +205,12 @@ commands)
|
||||
<LI> rRESPA hierarchical timestepping
|
||||
<LI> rerun command for post-processing of dump files
|
||||
</UL>
|
||||
<H4>Diagnostics
|
||||
</H4>
|
||||
<H5>Diagnostics
|
||||
</H5>
|
||||
<UL><LI> see the various flavors of the <A HREF = "fix.html">fix</A> and <A HREF = "compute.html">compute</A> commands
|
||||
</UL>
|
||||
<H4>Output
|
||||
</H4>
|
||||
<H5>Output
|
||||
</H5>
|
||||
<P>(<A HREF = "dump.html">dump</A>, <A HREF = "restart.html">restart</A> commands)
|
||||
</P>
|
||||
<UL><LI> log file of thermodynamic info
|
||||
@ -223,15 +223,15 @@ commands)
|
||||
<LI> time averaging of system-wide quantities
|
||||
<LI> atom snapshots in native, XYZ, XTC, DCD, CFG formats
|
||||
</UL>
|
||||
<H4>Multi-replica models
|
||||
</H4>
|
||||
<H5>Multi-replica models
|
||||
</H5>
|
||||
<P><A HREF = "neb.html">nudged elastic band</A>
|
||||
<A HREF = "prd.html">parallel replica dynamics</A>
|
||||
<A HREF = "tad.html">temperature accelerated dynamics</A>
|
||||
<A HREF = "temper.html">parallel tempering</A>
|
||||
</P>
|
||||
<H4>Pre- and post-processing
|
||||
</H4>
|
||||
<H5>Pre- and post-processing
|
||||
</H5>
|
||||
<UL><LI>Various pre- and post-processing serial tools are packaged
|
||||
with LAMMPS; see these <A HREF = "Section_tools.html">doc pages</A>.
|
||||
|
||||
@ -245,8 +245,8 @@ Pizza.py WWW site</A>.
|
||||
|
||||
|
||||
|
||||
<H4>Specialized features
|
||||
</H4>
|
||||
<H5>Specialized features
|
||||
</H5>
|
||||
<P>These are LAMMPS capabilities which you may not think of as typical
|
||||
molecular dynamics options:
|
||||
</P>
|
||||
|
||||
@ -97,7 +97,7 @@ favorite interatomic potential, boundary condition, or atom type, see
|
||||
"Section_modify"_Section_modify.html, which describes how you can add
|
||||
it to LAMMPS.
|
||||
|
||||
General features :h4
|
||||
General features :h5
|
||||
|
||||
runs on a single processor or in parallel
|
||||
distributed-memory message-passing parallelism (MPI)
|
||||
@ -114,7 +114,7 @@ General features :h4
|
||||
build as library, invoke LAMMPS thru library interface or provided Python wrapper
|
||||
couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both :ul
|
||||
|
||||
Particle and model types :h4
|
||||
Particle and model types :h5
|
||||
("atom style"_atom_style.html command)
|
||||
|
||||
atoms
|
||||
@ -130,7 +130,7 @@ Particle and model types :h4
|
||||
rigid collections of particles
|
||||
hybrid combinations of these :ul
|
||||
|
||||
Force fields :h4
|
||||
Force fields :h5
|
||||
("pair style"_pair_style.html, "bond style"_bond_style.html,
|
||||
"angle style"_angle_style.html, "dihedral style"_dihedral_style.html,
|
||||
"improper style"_improper_style.html, "kspace style"_kspace_style.html
|
||||
@ -166,7 +166,7 @@ commands)
|
||||
potentials can be used in one simulation
|
||||
overlaid potentials: superposition of multiple pair potentials :ul
|
||||
|
||||
Atom creation :h4
|
||||
Atom creation :h5
|
||||
("read_data"_read_data.html, "lattice"_lattice.html,
|
||||
"create_atoms"_create_atoms.html, "delete_atoms"_delete_atoms.html,
|
||||
"displace_atoms"_displace_atoms.html, "replicate"_replicate.html commands)
|
||||
@ -177,7 +177,7 @@ Atom creation :h4
|
||||
replicate existing atoms multiple times
|
||||
displace atoms :ul
|
||||
|
||||
Ensembles, constraints, and boundary conditions :h4
|
||||
Ensembles, constraints, and boundary conditions :h5
|
||||
("fix"_fix.html command)
|
||||
|
||||
2d or 3d systems
|
||||
@ -195,7 +195,7 @@ Ensembles, constraints, and boundary conditions :h4
|
||||
non-equilibrium molecular dynamics (NEMD)
|
||||
variety of additional boundary conditions and constraints :ul
|
||||
|
||||
Integrators :h4
|
||||
Integrators :h5
|
||||
("run"_run.html, "run_style"_run_style.html, "minimize"_minimize.html commands)
|
||||
|
||||
velocity-Verlet integrator
|
||||
@ -205,11 +205,11 @@ Integrators :h4
|
||||
rRESPA hierarchical timestepping
|
||||
rerun command for post-processing of dump files :ul
|
||||
|
||||
Diagnostics :h4
|
||||
Diagnostics :h5
|
||||
|
||||
see the various flavors of the "fix"_fix.html and "compute"_compute.html commands :ul
|
||||
|
||||
Output :h4
|
||||
Output :h5
|
||||
("dump"_dump.html, "restart"_restart.html commands)
|
||||
|
||||
log file of thermodynamic info
|
||||
@ -222,14 +222,14 @@ Output :h4
|
||||
time averaging of system-wide quantities
|
||||
atom snapshots in native, XYZ, XTC, DCD, CFG formats :ul
|
||||
|
||||
Multi-replica models :h4
|
||||
Multi-replica models :h5
|
||||
|
||||
"nudged elastic band"_neb.html
|
||||
"parallel replica dynamics"_prd.html
|
||||
"temperature accelerated dynamics"_tad.html
|
||||
"parallel tempering"_temper.html
|
||||
|
||||
Pre- and post-processing :h4
|
||||
Pre- and post-processing :h5
|
||||
|
||||
Various pre- and post-processing serial tools are packaged
|
||||
with LAMMPS; see these "doc pages"_Section_tools.html. :ulb,l
|
||||
@ -243,7 +243,7 @@ Pizza.py WWW site"_pizza. :l,ule
|
||||
:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html)
|
||||
:link(python,http://www.python.org)
|
||||
|
||||
Specialized features :h4
|
||||
Specialized features :h5
|
||||
|
||||
These are LAMMPS capabilities which you may not think of as typical
|
||||
molecular dynamics options:
|
||||
|
||||
@ -194,18 +194,15 @@ lib/kokkos/Makefile.kokkos file.
|
||||
#Options: force_uvm,use_ldg,rdc
|
||||
</P>
|
||||
<UL><LI>KOKKOS_DEVICES, values = <I>OpenMP</I>, <I>Serial</I>, <I>Pthreads</I>, <I>Cuda</I>, default = <I>OpenMP</I>
|
||||
<LI>KOKKOS_ARCH, values = <I>KNC</I>, <I>SNB</I>, <I>HSW</I>, <I>Kepler</I>, <I>Kepler30</I>, <I>Kepler32</I>, <I>Kepler35</I>,
|
||||
<LI><I>Kepler37</I>, <I>Maxwell</I>, <I>Maxwell50</I>, <I>Maxwell52</I>, <I>Maxwell53</I>, <I>ARMv8</I>, <I>BGQ</I>, <I>Power7</I>, <I>Power8</I>,
|
||||
<LI>default = <I>none</I>
|
||||
<LI>KOKKOS_ARCH, values = <I>KNC</I>, <I>SNB</I>, <I>HSW</I>, <I>Kepler</I>, <I>Kepler30</I>, <I>Kepler32</I>, <I>Kepler35</I>, <I>Kepler37</I>, <I>Maxwell</I>, <I>Maxwell50</I>, <I>Maxwell52</I>, <I>Maxwell53</I>, <I>ARMv8</I>, <I>BGQ</I>, <I>Power7</I>, <I>Power8</I>, default = <I>none</I>
|
||||
<LI>KOKKOS_DEBUG, values = <I>yes</I>, <I>no</I>, default = <I>no</I>
|
||||
<LI>KOKKOS_USE_TPLS, values = <I>hwloc</I>, <I>librt</I>, default = <I>none</I>
|
||||
<LI>KOKKOS_CUDA_OPTIONS, values = <I>force_uvm</I>, <I>use_ldg</I>, <I>rdc</I>
|
||||
</UL>
|
||||
<P>KOKKOS_DEVICE sets the parallelization method used for Kokkos code (within
|
||||
LAMMPS). KOKKOS_DEVICES=OpenMP means that OpenMP will be
|
||||
<P>KOKKOS_DEVICE sets the parallelization method used for Kokkos code
|
||||
(within LAMMPS). KOKKOS_DEVICES=OpenMP means that OpenMP will be
|
||||
used. KOKKOS_DEVICES=Pthreads means that pthreads will be used.
|
||||
KOKKOS_DEVICES=Cuda means an NVIDIA GPU running
|
||||
CUDA will be used.
|
||||
KOKKOS_DEVICES=Cuda means an NVIDIA GPU running CUDA will be used.
|
||||
</P>
|
||||
<P>If KOKKOS_DEVICES=Cuda, then the lo-level Makefile in the src/MAKE
|
||||
directory must use "nvcc" as its compiler, via its CC setting. For
|
||||
|
||||
@ -191,18 +191,15 @@ lib/kokkos/Makefile.kokkos file.
|
||||
#Options: force_uvm,use_ldg,rdc
|
||||
|
||||
KOKKOS_DEVICES, values = {OpenMP}, {Serial}, {Pthreads}, {Cuda}, default = {OpenMP}
|
||||
KOKKOS_ARCH, values = {KNC}, {SNB}, {HSW}, {Kepler}, {Kepler30}, {Kepler32}, {Kepler35},
|
||||
{Kepler37}, {Maxwell}, {Maxwell50}, {Maxwell52}, {Maxwell53}, {ARMv8}, {BGQ}, {Power7}, {Power8},
|
||||
default = {none}
|
||||
KOKKOS_ARCH, values = {KNC}, {SNB}, {HSW}, {Kepler}, {Kepler30}, {Kepler32}, {Kepler35}, {Kepler37}, {Maxwell}, {Maxwell50}, {Maxwell52}, {Maxwell53}, {ARMv8}, {BGQ}, {Power7}, {Power8}, default = {none}
|
||||
KOKKOS_DEBUG, values = {yes}, {no}, default = {no}
|
||||
KOKKOS_USE_TPLS, values = {hwloc}, {librt}, default = {none}
|
||||
KOKKOS_CUDA_OPTIONS, values = {force_uvm}, {use_ldg}, {rdc} :ul
|
||||
|
||||
KOKKOS_DEVICE sets the parallelization method used for Kokkos code (within
|
||||
LAMMPS). KOKKOS_DEVICES=OpenMP means that OpenMP will be
|
||||
KOKKOS_DEVICE sets the parallelization method used for Kokkos code
|
||||
(within LAMMPS). KOKKOS_DEVICES=OpenMP means that OpenMP will be
|
||||
used. KOKKOS_DEVICES=Pthreads means that pthreads will be used.
|
||||
KOKKOS_DEVICES=Cuda means an NVIDIA GPU running
|
||||
CUDA will be used.
|
||||
KOKKOS_DEVICES=Cuda means an NVIDIA GPU running CUDA will be used.
|
||||
|
||||
If KOKKOS_DEVICES=Cuda, then the lo-level Makefile in the src/MAKE
|
||||
directory must use "nvcc" as its compiler, via its CC setting. For
|
||||
|
||||
@ -152,7 +152,7 @@ partitioning of the simulation box across processors (one sub-box for
|
||||
each of 16 processors); the middle diagram is after a "grid" method
|
||||
has been applied.
|
||||
</P>
|
||||
<CENTER><A HREF = "balance_uniform.jpg"><IMG SRC = "JPG/balance_uniform_small.jpg"></A><A HREF = "balance_nonuniform.jpg"><IMG SRC = "JPG/balance_nonuniform_small.jpg"></A><A HREF = "balance_rcb.jpg"><IMG SRC = "JPG/balance_rcb_small.jpg"></A>
|
||||
<CENTER><A HREF = "JPG/balance_uniform.jpg"><IMG SRC = "JPG/balance_uniform_small.jpg"></A><A HREF = "JGP/balance_nonuniform.jpg"><IMG SRC = "JPG/balance_nonuniform_small.jpg"></A><A HREF = "JPG/balance_rcb.jpg"><IMG SRC = "JPG/balance_rcb_small.jpg"></A>
|
||||
</CENTER>
|
||||
<P>The <I>rcb</I> style is a "tiling" method which does not produce a logical
|
||||
3d grid of processors. Rather it tiles the simulation domain with
|
||||
|
||||
@ -142,7 +142,7 @@ partitioning of the simulation box across processors (one sub-box for
|
||||
each of 16 processors); the middle diagram is after a "grid" method
|
||||
has been applied.
|
||||
|
||||
:c,image(JPG/balance_uniform_small.jpg,balance_uniform.jpg),image(JPG/balance_nonuniform_small.jpg,balance_nonuniform.jpg),image(JPG/balance_rcb_small.jpg,balance_rcb.jpg)
|
||||
:c,image(JPG/balance_uniform_small.jpg,JPG/balance_uniform.jpg),image(JPG/balance_nonuniform_small.jpg,JGP/balance_nonuniform.jpg),image(JPG/balance_rcb_small.jpg,JPG/balance_rcb.jpg)
|
||||
|
||||
The {rcb} style is a "tiling" method which does not produce a logical
|
||||
3d grid of processors. Rather it tiles the simulation domain with
|
||||
|
||||
186
doc/compute_saed.html
Normal file
186
doc/compute_saed.html
Normal file
@ -0,0 +1,186 @@
|
||||
<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>compute saed command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>compute ID group-ID saed lambda type1 type2 ... typeN keyword value ...
|
||||
</PRE>
|
||||
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
|
||||
|
||||
<LI>saed = style name of this compute command
|
||||
|
||||
<LI>lambda = wavelength of incident radiation (length units)
|
||||
|
||||
<LI>type1 type2 ... typeN = chemical symbol of each atom type (see valid
|
||||
options below)
|
||||
|
||||
<LI>zero or more keyword/value pairs may be appended
|
||||
|
||||
<LI>keyword = <I>Kmax</I> or <I>Zone</I> or <I>dR_Ewald</I> or <I>c</I> or <I>manual</I> or <I>echo</I>
|
||||
|
||||
<PRE> <I>Kmax</I> value = Maximum distance explored from reciprocal space origin
|
||||
(inverse length units)
|
||||
<I>Zone</I> values = z1 z2 z3
|
||||
z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all
|
||||
reciprocal space will be meshed up to <I>Kmax</I>
|
||||
<I>dR_Ewald</I> value = Thickness of Ewald sphere slice intercepting
|
||||
reciprocal space (inverse length units)
|
||||
<I>c</I> values = c1 c2 c3
|
||||
c1,c2,c3 = parameters to adjust the spacing of the reciprocal
|
||||
lattice nodes in the h, k, and l directions respectively
|
||||
<I>manual</I> = flag to use manual spacing of reciprocal lattice points
|
||||
based on the values of the <I>c</I> parameters
|
||||
<I>echo</I> = flag to provide extra output for debugging purposes
|
||||
</PRE>
|
||||
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<P>compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5
|
||||
compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo
|
||||
</P>
|
||||
<PRE>fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed
|
||||
fix saed/vtk 1 1 1 c_2 file Ni_000.saed
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Define a computation that calculates electron diffraction intensity as
|
||||
described in <A HREF = "#Coleman">(Coleman)</A> on a mesh of reciprocal lattice nodes
|
||||
defined by the entire simulation domain (or manually) using simulated
|
||||
radiation of wavelength lambda.
|
||||
</P>
|
||||
<P>The electron diffraction intensity I at each reciprocal lattice point
|
||||
is computed from the structure factor F using the equations:
|
||||
</P>
|
||||
<CENTER><IMG SRC = "Eqs/compute_saed1.jpg">
|
||||
</CENTER>
|
||||
<CENTER><IMG SRC = "Eqs/compute_saed2.jpg">
|
||||
</CENTER>
|
||||
<P>Here, K is the location of the reciprocal lattice node, rj is the
|
||||
position of each atom, fj are atomic scattering factors.
|
||||
</P>
|
||||
<P>Diffraction intensities are calculated on a three-dimensional mesh of
|
||||
reciprocal lattice nodes. The mesh spacing is defined either (I) by
|
||||
the entire simulation domain or (II) manually using selected values.
|
||||
</P>
|
||||
<P>For a mesh defined by the simulation domain, a rectilinear grid is
|
||||
constructed with spacing <I>c</I>*inv(A) along each reciprocal lattice
|
||||
axis. Where A are the vectors corresponding to the edges of the
|
||||
simulation cell. If one or two directions has non-periodic boundary
|
||||
conditions, then the spacing in these directions is defined from the
|
||||
average of the (inversed) box lengths with periodic boundary conditions.
|
||||
Meshes defined by the simulation domain must contain at least one periodic
|
||||
boundary.
|
||||
</P>
|
||||
<P>If the <I>manual</I> flag is included, the mesh of reciprocal lattice nodes
|
||||
will defined using the <I>c</I> values for the spacing along each reciprocal
|
||||
lattice axis. Note that manual mapping of the reciprocal space mesh is
|
||||
good for comparing diffraction results from multiple simulations; however
|
||||
it can reduce the likelihood that Bragg reflections will be satisfied
|
||||
unless small spacing parameters <B><0.05 Angstrom^(-1)</B> are implemented.
|
||||
Meshes with manual spacing do not require a periodic boundary.
|
||||
</P>
|
||||
<P>The limits of the reciprocal lattice mesh are determined by the use of
|
||||
the <I>Kmax</I>, <I>Zone</I>, and <I>dR_Ewald</I> parameters. The rectilinear mesh
|
||||
created about the origin of reciprocal space is terminated at the
|
||||
boundary of a sphere of radius <I>Kmax</I> centered at the origin. If
|
||||
<I>Zone</I> parameters z1=z2=z3=0 are used, diffraction intensities are
|
||||
computed throughout the entire spherical volume - note this can greatly
|
||||
increase the cost of computation. Otherwise, <I>Zone</I> parameters will
|
||||
denote the z1=h, z2=k, and z3=l (in a global since) zone axis of an
|
||||
intersecting Ewald sphere. Diffraction intensities will only be
|
||||
computed at the intersection of the reciprocal lattice mesh and a
|
||||
<I>dR_Ewald</I> thick surface of the Ewald sphere.
|
||||
</P>
|
||||
<P>The atomic scattering factors, fj, accounts for the reduction in
|
||||
diffraction intensity due to Compton scattering. Compute saed uses
|
||||
analytical approximations of the atomic scattering factors that vary
|
||||
for each atom type (type1 type2 ... typeN) and angle of diffraction.
|
||||
The analytic approximation is computed using the formula
|
||||
<A HREF = "#Brown">(Brown)</A>:
|
||||
</P>
|
||||
<CENTER><IMG SRC = "Eqs/compute_saed3.jpg">
|
||||
</CENTER>
|
||||
<P>Coefficients parameterized by <A HREF = "#Fox">(Fox)</A> are assigned for each
|
||||
atom type designating the chemical symbol and charge of each atom
|
||||
type. Valid chemical symbols for compute saed are:
|
||||
</P>
|
||||
<P> H: He: Li: Be: B:
|
||||
C: N: O: F: Ne:
|
||||
Na: Mg: Al: Si: P:
|
||||
S: Cl: Ar: K: Ca:
|
||||
Sc: Ti: V: Cr: Mn:
|
||||
Fe: Co: Ni: Cu: Zn:
|
||||
Ga: Ge: As: Se: Br:
|
||||
Kr: Rb: Sr: Y: Zr:
|
||||
Nb: Mo: Tc: Ru: Rh:
|
||||
Pd: Ag: Cd: In: Sn:
|
||||
Sb: Te: I: Xe: Cs:
|
||||
Ba: La: Ce: Pr: Nd:
|
||||
Pm: Sm: Eu: Gd: Tb:
|
||||
Dy: Ho: Er: Tm: Yb:
|
||||
Lu: Hf: Ta: W: Re:
|
||||
Os: Ir: Pt: Au: Hg:
|
||||
Tl: Pb: Bi: Po: At:
|
||||
Rn: Fr: Ra: Ac: Th:
|
||||
Pa: U: Np: Pu: Am:
|
||||
Cm: Bk: Cf:
|
||||
</P>
|
||||
<P>If the <I>echo</I> keyword is specified, compute saed will provide extra
|
||||
reporting information to the screen.
|
||||
</P>
|
||||
<P><B>Output info:</B>
|
||||
</P>
|
||||
<P>This compute calculates a global vector. The length of the vector is
|
||||
the number of reciprocal lattice nodes that are explored by the mesh.
|
||||
The entries of the global vector are the computed diffraction
|
||||
intensities as described above.
|
||||
</P>
|
||||
<P>The vector can be accessed by any command that uses global values
|
||||
from a compute as input. See <A HREF = "Section_howto.html#howto_15">this
|
||||
section</A> for an overview of LAMMPS output
|
||||
options.
|
||||
</P>
|
||||
<P>All array values calculated by this compute are "intensive".
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>The compute_saed command does not work for triclinic cells.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "fix_saed_vtk.html">fix saed_vtk</A>
|
||||
<A HREF = "compute_xrd.html">compute xrd</A>
|
||||
</P>
|
||||
<P><B>Default:</B>
|
||||
</P>
|
||||
<P>The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald = 0.01
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "Coleman"></A>
|
||||
|
||||
<P><B>(Coleman)</B> Coleman, Spearot, Capolungo, MSMSE, 21, 055020
|
||||
(2013).
|
||||
</P>
|
||||
<A NAME = "Brown"></A>
|
||||
|
||||
<P><B>(Brown)</B> Brown et al. International Tables for Crystallography
|
||||
Volume C: Mathematical and Chemical Tables, 554-95 (2004).
|
||||
</P>
|
||||
<A NAME = "Fox"></A>
|
||||
|
||||
<P><B>(Fox)</B> Fox, O'Keefe, Tabbernor, Acta Crystallogr. A, 45, 786-93
|
||||
(1989).
|
||||
</P>
|
||||
</HTML>
|
||||
173
doc/compute_saed.txt
Normal file
173
doc/compute_saed.txt
Normal file
@ -0,0 +1,173 @@
|
||||
"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
|
||||
|
||||
compute saed command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID saed lambda type1 type2 ... typeN keyword value ... :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
saed = style name of this compute command :l
|
||||
lambda = wavelength of incident radiation (length units) :l
|
||||
type1 type2 ... typeN = chemical symbol of each atom type (see valid
|
||||
options below) :l
|
||||
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {Kmax} or {Zone} or {dR_Ewald} or {c} or {manual} or {echo} :l
|
||||
{Kmax} value = Maximum distance explored from reciprocal space origin
|
||||
(inverse length units)
|
||||
{Zone} values = z1 z2 z3
|
||||
z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all
|
||||
reciprocal space will be meshed up to {Kmax}
|
||||
{dR_Ewald} value = Thickness of Ewald sphere slice intercepting
|
||||
reciprocal space (inverse length units)
|
||||
{c} values = c1 c2 c3
|
||||
c1,c2,c3 = parameters to adjust the spacing of the reciprocal
|
||||
lattice nodes in the h, k, and l directions respectively
|
||||
{manual} = flag to use manual spacing of reciprocal lattice points
|
||||
based on the values of the {c} parameters
|
||||
{echo} = flag to provide extra output for debugging purposes :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5
|
||||
compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo
|
||||
|
||||
fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed
|
||||
fix saed/vtk 1 1 1 c_2 file Ni_000.saed :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates electron diffraction intensity as
|
||||
described in "(Coleman)"_#Coleman on a mesh of reciprocal lattice nodes
|
||||
defined by the entire simulation domain (or manually) using simulated
|
||||
radiation of wavelength lambda.
|
||||
|
||||
The electron diffraction intensity I at each reciprocal lattice point
|
||||
is computed from the structure factor F using the equations:
|
||||
|
||||
:c,image(Eqs/compute_saed1.jpg)
|
||||
:c,image(Eqs/compute_saed2.jpg)
|
||||
|
||||
Here, K is the location of the reciprocal lattice node, rj is the
|
||||
position of each atom, fj are atomic scattering factors.
|
||||
|
||||
Diffraction intensities are calculated on a three-dimensional mesh of
|
||||
reciprocal lattice nodes. The mesh spacing is defined either (I) by
|
||||
the entire simulation domain or (II) manually using selected values.
|
||||
|
||||
For a mesh defined by the simulation domain, a rectilinear grid is
|
||||
constructed with spacing {c}*inv(A) along each reciprocal lattice
|
||||
axis. Where A are the vectors corresponding to the edges of the
|
||||
simulation cell. If one or two directions has non-periodic boundary
|
||||
conditions, then the spacing in these directions is defined from the
|
||||
average of the (inversed) box lengths with periodic boundary conditions.
|
||||
Meshes defined by the simulation domain must contain at least one periodic
|
||||
boundary.
|
||||
|
||||
If the {manual} flag is included, the mesh of reciprocal lattice nodes
|
||||
will defined using the {c} values for the spacing along each reciprocal
|
||||
lattice axis. Note that manual mapping of the reciprocal space mesh is
|
||||
good for comparing diffraction results from multiple simulations; however
|
||||
it can reduce the likelihood that Bragg reflections will be satisfied
|
||||
unless small spacing parameters [<0.05 Angstrom^(-1)] are implemented.
|
||||
Meshes with manual spacing do not require a periodic boundary.
|
||||
|
||||
The limits of the reciprocal lattice mesh are determined by the use of
|
||||
the {Kmax}, {Zone}, and {dR_Ewald} parameters. The rectilinear mesh
|
||||
created about the origin of reciprocal space is terminated at the
|
||||
boundary of a sphere of radius {Kmax} centered at the origin. If
|
||||
{Zone} parameters z1=z2=z3=0 are used, diffraction intensities are
|
||||
computed throughout the entire spherical volume - note this can greatly
|
||||
increase the cost of computation. Otherwise, {Zone} parameters will
|
||||
denote the z1=h, z2=k, and z3=l (in a global since) zone axis of an
|
||||
intersecting Ewald sphere. Diffraction intensities will only be
|
||||
computed at the intersection of the reciprocal lattice mesh and a
|
||||
{dR_Ewald} thick surface of the Ewald sphere.
|
||||
|
||||
The atomic scattering factors, fj, accounts for the reduction in
|
||||
diffraction intensity due to Compton scattering. Compute saed uses
|
||||
analytical approximations of the atomic scattering factors that vary
|
||||
for each atom type (type1 type2 ... typeN) and angle of diffraction.
|
||||
The analytic approximation is computed using the formula
|
||||
"(Brown)"_#Brown:
|
||||
|
||||
:c,image(Eqs/compute_saed3.jpg)
|
||||
|
||||
Coefficients parameterized by "(Fox)"_#Fox are assigned for each
|
||||
atom type designating the chemical symbol and charge of each atom
|
||||
type. Valid chemical symbols for compute saed are:
|
||||
|
||||
H: He: Li: Be: B:
|
||||
C: N: O: F: Ne:
|
||||
Na: Mg: Al: Si: P:
|
||||
S: Cl: Ar: K: Ca:
|
||||
Sc: Ti: V: Cr: Mn:
|
||||
Fe: Co: Ni: Cu: Zn:
|
||||
Ga: Ge: As: Se: Br:
|
||||
Kr: Rb: Sr: Y: Zr:
|
||||
Nb: Mo: Tc: Ru: Rh:
|
||||
Pd: Ag: Cd: In: Sn:
|
||||
Sb: Te: I: Xe: Cs:
|
||||
Ba: La: Ce: Pr: Nd:
|
||||
Pm: Sm: Eu: Gd: Tb:
|
||||
Dy: Ho: Er: Tm: Yb:
|
||||
Lu: Hf: Ta: W: Re:
|
||||
Os: Ir: Pt: Au: Hg:
|
||||
Tl: Pb: Bi: Po: At:
|
||||
Rn: Fr: Ra: Ac: Th:
|
||||
Pa: U: Np: Pu: Am:
|
||||
Cm: Bk: Cf:
|
||||
|
||||
|
||||
If the {echo} keyword is specified, compute saed will provide extra
|
||||
reporting information to the screen.
|
||||
|
||||
[Output info:]
|
||||
|
||||
This compute calculates a global vector. The length of the vector is
|
||||
the number of reciprocal lattice nodes that are explored by the mesh.
|
||||
The entries of the global vector are the computed diffraction
|
||||
intensities as described above.
|
||||
|
||||
The vector can be accessed by any command that uses global values
|
||||
from a compute as input. See "this
|
||||
section"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
||||
options.
|
||||
|
||||
All array values calculated by this compute are "intensive".
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
The compute_saed command does not work for triclinic cells.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix saed_vtk"_fix_saed_vtk.html
|
||||
"compute xrd"_compute_xrd.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald = 0.01
|
||||
|
||||
:line
|
||||
|
||||
:link(Coleman)
|
||||
[(Coleman)] Coleman, Spearot, Capolungo, MSMSE, 21, 055020
|
||||
(2013).
|
||||
|
||||
:link(Brown)
|
||||
[(Brown)] Brown et al. International Tables for Crystallography
|
||||
Volume C: Mathematical and Chemical Tables, 554-95 (2004).
|
||||
|
||||
:link(Fox)
|
||||
[(Fox)] Fox, O'Keefe, Tabbernor, Acta Crystallogr. A, 45, 786-93
|
||||
(1989).
|
||||
|
||||
210
doc/compute_xrd.html
Normal file
210
doc/compute_xrd.html
Normal file
@ -0,0 +1,210 @@
|
||||
<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>compute xrd command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>compute ID group-ID xrd lambda type1 type2 ... typeN keyword value ...
|
||||
</PRE>
|
||||
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
|
||||
|
||||
<LI>xrd = style name of this compute command
|
||||
|
||||
<LI>lambda = wavelength of incident radiation (length units)
|
||||
|
||||
<LI>type1 type2 ... typeN = chemical symbol of each atom type (see valid
|
||||
options below)
|
||||
|
||||
<LI>zero or more keyword/value pairs may be appended
|
||||
|
||||
<LI>keyword = <I>2Theta</I> or <I>c</I> or <I>LP</I> or <I>manual</I> or <I>echo</I>
|
||||
|
||||
<PRE> <I>2Theta</I> values = Min2Theta Max2Theta
|
||||
Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore
|
||||
(radians or degrees)
|
||||
<I>c</I> values = c1 c2 c3
|
||||
c1,c2,c3 = parameters to adjust the spacing of the reciprocal
|
||||
lattice nodes in the h, k, and l directions respectively
|
||||
<I>LP</I> value = switch to apply Lorentz-polarization factor
|
||||
0/1 = off/on
|
||||
<I>manual</I> = flag to use manual spacing of reciprocal lattice points
|
||||
based on the values of the <I>c</I> parameters
|
||||
<I>echo</I> = flag to provide extra output for debugging purposes
|
||||
</PRE>
|
||||
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<P>compute 1 all xrd 1.541838 Al O 2Theta 0.087 0.87 c 1 1 1 LP 1 echo
|
||||
compute 2 all xrd 1.541838 Al O 2Theta 10 100 c 0.05 0.05 0.05 LP 1 manual
|
||||
</P>
|
||||
<P>fix 1 all ave/histo 1 1 1 0.087 0.87 250 c_1<B>1</B> mode vector weights c_1<B>2</B> file Rad2Theta.xrd
|
||||
fix 2 all ave/histo 1 1 1 10 100 250 c_2<B>1</B> mode vector weights c_2<B>2</B> file Deg2Theta.xrd
|
||||
</P>
|
||||
<PRE>
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Define a computation that calculates x-ray diffraction intensity as described
|
||||
in <A HREF = "#Coleman">(Coleman)</A> on a mesh of reciprocal lattice nodes defined
|
||||
by the entire simulation domain (or manually) using simulated radiation
|
||||
of wavelength lambda.
|
||||
</P>
|
||||
<P>The x-ray diffraction intensity I at each reciprocal lattice point
|
||||
is computed from the structure factor F using the equations:
|
||||
</P>
|
||||
<CENTER><IMG SRC = "Eqs/compute_xrd1.jpg">
|
||||
</CENTER>
|
||||
<CENTER><IMG SRC = "Eqs/compute_xrd2.jpg">
|
||||
</CENTER>
|
||||
<CENTER><IMG SRC = "Eqs/compute_xrd3.jpg">
|
||||
</CENTER>
|
||||
<CENTER><IMG SRC = "Eqs/compute_xrd4.jpg">
|
||||
</CENTER>
|
||||
<P>Here, K is the location of the reciprocal lattice node, rj is the
|
||||
position of each atom, fj are atomic scattering factors, LP is the
|
||||
Lorentz-polarization factor, and theta is the scattering angle of
|
||||
diffraction. The Lorentz-polarization factor can be turned off using
|
||||
the <I>LP</I> switch.
|
||||
</P>
|
||||
<P>Diffraction intensities are calculated on a three-dimensional mesh of
|
||||
reciprocal lattice nodes. The mesh spacing is defined either (I)
|
||||
by the entire simulation domain or (II) manually using selected values.
|
||||
</P>
|
||||
<P>For a mesh defined by the simulation domain, a rectilinear grid is
|
||||
constructed with spacing <I>c</I>*inv(A) along each reciprocal lattice
|
||||
axis. Where A are the vectors corresponding to the edges of the
|
||||
simulation cell. If one or two directions has non-periodic boundary
|
||||
conditions, then the spacing in these directions is defined from the
|
||||
average of the (inversed) box lengths with periodic boundary conditions.
|
||||
Meshes defined by the simulation domain must contain at least one periodic
|
||||
boundary.
|
||||
</P>
|
||||
<P>If the <I>manual</I> flag is included, the mesh of reciprocal lattice nodes
|
||||
will defined using the <I>c</I> values for the spacing along each reciprocal
|
||||
lattice axis. Note that manual mapping of the reciprocal space mesh is
|
||||
good for comparing diffraction results from multiple simulations; however
|
||||
it can reduce the likelihood that Bragg reflections will be satisfied
|
||||
unless small spacing parameters <B><0.05 Angstrom^(-1)</B> are implemented.
|
||||
Meshes with manual spacing do not require a periodic boundary.
|
||||
</P>
|
||||
<P>The limits of the reciprocal lattice mesh are determined by range of
|
||||
scattering angles explored. The <I>2Theta</I> parameters allows the user to
|
||||
reduce the scattering angle range to only the region of interest which
|
||||
reduces the cost of the computation.
|
||||
</P>
|
||||
<P>The atomic scattering factors, fj, accounts for the reduction in
|
||||
diffraction intensity due to Compton scattering. Compute xrd uses
|
||||
analytical approximations of the atomic scattering factors that vary
|
||||
for each atom type (type1 type2 ... typeN) and angle of diffraction.
|
||||
The analytic approximation is computed using the formula
|
||||
<A HREF = "#Colliex">(Colliex)</A>:
|
||||
</P>
|
||||
<CENTER><IMG SRC = "Eqs/compute_xrd5.jpg">
|
||||
</CENTER>
|
||||
<P>Coefficients parameterized by <A HREF = "#Peng">(Peng)</A> are assigned for each
|
||||
atom type designating the chemical symbol and charge of each atom
|
||||
type. Valid chemical symbols for compute xrd are:
|
||||
</P>
|
||||
<P> H: He1-: He: Li: Li1+:
|
||||
Be: Be2+: B: C: Cval:
|
||||
N: O: O1-: F: F1-:
|
||||
Ne: Na: Na1+: Mg: Mg2+:
|
||||
Al: Al3+: Si: Sival: Si4+:
|
||||
P: S: Cl: Cl1-: Ar:
|
||||
K: Ca: Ca2+: Sc: Sc3+:
|
||||
Ti: Ti2+: Ti3+: Ti4+: V:
|
||||
V2+: V3+: V5+: Cr: Cr2+:
|
||||
Cr3+: Mn: Mn2+: Mn3+: Mn4+:
|
||||
Fe: Fe2+: Fe3+: Co: Co2+:
|
||||
Co: Ni: Ni2+: Ni3+: Cu:
|
||||
Cu1+: Cu2+: Zn: Zn2+: Ga:
|
||||
Ga3+: Ge: Ge4+: As: Se:
|
||||
Br: Br1-: Kr: Rb: Rb1+:
|
||||
Sr: Sr2+: Y: Y3+: Zr:
|
||||
Zr4+: Nb: Nb3+: Nb5+: Mo:
|
||||
Mo3+: Mo5+: Mo6+: Tc: Ru:
|
||||
Ru3+: Ru4+: Rh: Rh3+: Rh4+:
|
||||
Pd: Pd2+: Pd4+: Ag: Ag1+:
|
||||
Ag2+: Cd: Cd2+: In: In3+:
|
||||
Sn: Sn2+: Sn4+: Sb: Sb3+:
|
||||
Sb5+: Te: I: I1-: Xe:
|
||||
Cs: Cs1+: Ba: Ba2+: La:
|
||||
La3+: Ce: Ce3+: Ce4+: Pr:
|
||||
Pr3+: Pr4+: Nd: Nd3+: Pm:
|
||||
Pm3+: Sm: Sm3+: Eu: Eu2+:
|
||||
Eu3+: Gd: Gd3+: Tb: Tb3+:
|
||||
Dy: Dy3+: Ho: Ho3+: Er:
|
||||
Er3+: Tm: Tm3+: Yb: Yb2+:
|
||||
Yb3+: Lu: Lu3+: Hf: Hf4+:
|
||||
Ta: Ta5+: W: W6+: Re:
|
||||
Os: Os4+: Ir: Ir3+: Ir4+:
|
||||
Pt: Pt2+: Pt4+: Au: Au1+:
|
||||
Au3+: Hg: Hg1+: Hg2+: Tl:
|
||||
Tl1+: Tl3+: Pb: Pb2+: Pb4+:
|
||||
Bi: Bi3+: Bi5+: Po: At:
|
||||
Rn: Fr: Ra: Ra2+: Ac:
|
||||
Ac3+: Th: Th4+: Pa: U:
|
||||
U3+: U4+: U6+: Np: Np3+:
|
||||
Np4+: Np6+: Pu: Pu3+: Pu4+:
|
||||
Pu6+: Am: Cm: Bk: Cf:
|
||||
</P>
|
||||
<P>If the <I>echo</I> keyword is specified, compute xrd will provide extra
|
||||
reporting information to the screen.
|
||||
</P>
|
||||
<P><B>Output info:</B>
|
||||
</P>
|
||||
<P>This compute calculates a global array. The number of rows in the
|
||||
array is the number of reciprocal lattice nodes that are explored
|
||||
which by the mesh. The global array has 2 columns.
|
||||
</P>
|
||||
<P>The first column contains the diffraction angle in the units (radians
|
||||
or degrees) provided with the <I>2Theta</I> values. The second column contains
|
||||
the computed diffraction intensities as described above.
|
||||
</P>
|
||||
<P>The array can be accessed by any command that uses global values
|
||||
from a compute as input. See <A HREF = "Section_howto.html#howto_15">this section</A> for an overview of LAMMPS output
|
||||
options.
|
||||
</P>
|
||||
<P>All array values calculated by this compute are "intensive".
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>The compute_xrd command does not work for triclinic cells.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "compute_ave_histo.html">fix ave/histo</A>
|
||||
<A HREF = "compute_saed.html">compute saed</A>
|
||||
</P>
|
||||
<P><B>Default:</B>
|
||||
</P>
|
||||
<P>The option defaults are 2Theta = 1 179 (degrees), c = 1 1 1, LP = 1, no manual flag, no echo flag
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "Coleman"></A>
|
||||
|
||||
<P><B>(Coleman)</B> Coleman, Spearot, Capolungo, MSMSE, 21, 055020
|
||||
(2013).
|
||||
</P>
|
||||
<A NAME = "Colliex"></A>
|
||||
|
||||
<P><B>(Colliex)</B> Colliex et al. International Tables for Crystallography
|
||||
Volume C: Mathematical and Chemical Tables, 249-429 (2004).
|
||||
</P>
|
||||
<A NAME = "Peng"></A>
|
||||
|
||||
<P><B>(Peng)</B> Peng, Ren, Dudarev, Whelan, Acta Crystallogr. A, 52, 257-76
|
||||
(1996).
|
||||
</P>
|
||||
</HTML>
|
||||
196
doc/compute_xrd.txt
Normal file
196
doc/compute_xrd.txt
Normal file
@ -0,0 +1,196 @@
|
||||
"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
|
||||
|
||||
compute xrd command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID xrd lambda type1 type2 ... typeN keyword value ... :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
xrd = style name of this compute command :l
|
||||
lambda = wavelength of incident radiation (length units) :l
|
||||
type1 type2 ... typeN = chemical symbol of each atom type (see valid
|
||||
options below) :l
|
||||
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {2Theta} or {c} or {LP} or {manual} or {echo} :l
|
||||
{2Theta} values = Min2Theta Max2Theta
|
||||
Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore
|
||||
(radians or degrees)
|
||||
{c} values = c1 c2 c3
|
||||
c1,c2,c3 = parameters to adjust the spacing of the reciprocal
|
||||
lattice nodes in the h, k, and l directions respectively
|
||||
{LP} value = switch to apply Lorentz-polarization factor
|
||||
0/1 = off/on
|
||||
{manual} = flag to use manual spacing of reciprocal lattice points
|
||||
based on the values of the {c} parameters
|
||||
{echo} = flag to provide extra output for debugging purposes :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute 1 all xrd 1.541838 Al O 2Theta 0.087 0.87 c 1 1 1 LP 1 echo
|
||||
compute 2 all xrd 1.541838 Al O 2Theta 10 100 c 0.05 0.05 0.05 LP 1 manual
|
||||
|
||||
fix 1 all ave/histo 1 1 1 0.087 0.87 250 c_1[1] mode vector weights c_1[2] file Rad2Theta.xrd
|
||||
fix 2 all ave/histo 1 1 1 10 100 250 c_2[1] mode vector weights c_2[2] file Deg2Theta.xrd
|
||||
|
||||
:pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates x-ray diffraction intensity as described
|
||||
in "(Coleman)"_#Coleman on a mesh of reciprocal lattice nodes defined
|
||||
by the entire simulation domain (or manually) using simulated radiation
|
||||
of wavelength lambda.
|
||||
|
||||
The x-ray diffraction intensity I at each reciprocal lattice point
|
||||
is computed from the structure factor F using the equations:
|
||||
|
||||
:c,image(Eqs/compute_xrd1.jpg)
|
||||
:c,image(Eqs/compute_xrd2.jpg)
|
||||
:c,image(Eqs/compute_xrd3.jpg)
|
||||
:c,image(Eqs/compute_xrd4.jpg)
|
||||
|
||||
Here, K is the location of the reciprocal lattice node, rj is the
|
||||
position of each atom, fj are atomic scattering factors, LP is the
|
||||
Lorentz-polarization factor, and theta is the scattering angle of
|
||||
diffraction. The Lorentz-polarization factor can be turned off using
|
||||
the {LP} switch.
|
||||
|
||||
Diffraction intensities are calculated on a three-dimensional mesh of
|
||||
reciprocal lattice nodes. The mesh spacing is defined either (I)
|
||||
by the entire simulation domain or (II) manually using selected values.
|
||||
|
||||
For a mesh defined by the simulation domain, a rectilinear grid is
|
||||
constructed with spacing {c}*inv(A) along each reciprocal lattice
|
||||
axis. Where A are the vectors corresponding to the edges of the
|
||||
simulation cell. If one or two directions has non-periodic boundary
|
||||
conditions, then the spacing in these directions is defined from the
|
||||
average of the (inversed) box lengths with periodic boundary conditions.
|
||||
Meshes defined by the simulation domain must contain at least one periodic
|
||||
boundary.
|
||||
|
||||
If the {manual} flag is included, the mesh of reciprocal lattice nodes
|
||||
will defined using the {c} values for the spacing along each reciprocal
|
||||
lattice axis. Note that manual mapping of the reciprocal space mesh is
|
||||
good for comparing diffraction results from multiple simulations; however
|
||||
it can reduce the likelihood that Bragg reflections will be satisfied
|
||||
unless small spacing parameters [<0.05 Angstrom^(-1)] are implemented.
|
||||
Meshes with manual spacing do not require a periodic boundary.
|
||||
|
||||
The limits of the reciprocal lattice mesh are determined by range of
|
||||
scattering angles explored. The {2Theta} parameters allows the user to
|
||||
reduce the scattering angle range to only the region of interest which
|
||||
reduces the cost of the computation.
|
||||
|
||||
The atomic scattering factors, fj, accounts for the reduction in
|
||||
diffraction intensity due to Compton scattering. Compute xrd uses
|
||||
analytical approximations of the atomic scattering factors that vary
|
||||
for each atom type (type1 type2 ... typeN) and angle of diffraction.
|
||||
The analytic approximation is computed using the formula
|
||||
"(Colliex)"_#Colliex:
|
||||
|
||||
:c,image(Eqs/compute_xrd5.jpg)
|
||||
|
||||
Coefficients parameterized by "(Peng)"_#Peng are assigned for each
|
||||
atom type designating the chemical symbol and charge of each atom
|
||||
type. Valid chemical symbols for compute xrd are:
|
||||
|
||||
H: He1-: He: Li: Li1+:
|
||||
Be: Be2+: B: C: Cval:
|
||||
N: O: O1-: F: F1-:
|
||||
Ne: Na: Na1+: Mg: Mg2+:
|
||||
Al: Al3+: Si: Sival: Si4+:
|
||||
P: S: Cl: Cl1-: Ar:
|
||||
K: Ca: Ca2+: Sc: Sc3+:
|
||||
Ti: Ti2+: Ti3+: Ti4+: V:
|
||||
V2+: V3+: V5+: Cr: Cr2+:
|
||||
Cr3+: Mn: Mn2+: Mn3+: Mn4+:
|
||||
Fe: Fe2+: Fe3+: Co: Co2+:
|
||||
Co: Ni: Ni2+: Ni3+: Cu:
|
||||
Cu1+: Cu2+: Zn: Zn2+: Ga:
|
||||
Ga3+: Ge: Ge4+: As: Se:
|
||||
Br: Br1-: Kr: Rb: Rb1+:
|
||||
Sr: Sr2+: Y: Y3+: Zr:
|
||||
Zr4+: Nb: Nb3+: Nb5+: Mo:
|
||||
Mo3+: Mo5+: Mo6+: Tc: Ru:
|
||||
Ru3+: Ru4+: Rh: Rh3+: Rh4+:
|
||||
Pd: Pd2+: Pd4+: Ag: Ag1+:
|
||||
Ag2+: Cd: Cd2+: In: In3+:
|
||||
Sn: Sn2+: Sn4+: Sb: Sb3+:
|
||||
Sb5+: Te: I: I1-: Xe:
|
||||
Cs: Cs1+: Ba: Ba2+: La:
|
||||
La3+: Ce: Ce3+: Ce4+: Pr:
|
||||
Pr3+: Pr4+: Nd: Nd3+: Pm:
|
||||
Pm3+: Sm: Sm3+: Eu: Eu2+:
|
||||
Eu3+: Gd: Gd3+: Tb: Tb3+:
|
||||
Dy: Dy3+: Ho: Ho3+: Er:
|
||||
Er3+: Tm: Tm3+: Yb: Yb2+:
|
||||
Yb3+: Lu: Lu3+: Hf: Hf4+:
|
||||
Ta: Ta5+: W: W6+: Re:
|
||||
Os: Os4+: Ir: Ir3+: Ir4+:
|
||||
Pt: Pt2+: Pt4+: Au: Au1+:
|
||||
Au3+: Hg: Hg1+: Hg2+: Tl:
|
||||
Tl1+: Tl3+: Pb: Pb2+: Pb4+:
|
||||
Bi: Bi3+: Bi5+: Po: At:
|
||||
Rn: Fr: Ra: Ra2+: Ac:
|
||||
Ac3+: Th: Th4+: Pa: U:
|
||||
U3+: U4+: U6+: Np: Np3+:
|
||||
Np4+: Np6+: Pu: Pu3+: Pu4+:
|
||||
Pu6+: Am: Cm: Bk: Cf:
|
||||
|
||||
|
||||
If the {echo} keyword is specified, compute xrd will provide extra
|
||||
reporting information to the screen.
|
||||
|
||||
[Output info:]
|
||||
|
||||
This compute calculates a global array. The number of rows in the
|
||||
array is the number of reciprocal lattice nodes that are explored
|
||||
which by the mesh. The global array has 2 columns.
|
||||
|
||||
The first column contains the diffraction angle in the units (radians
|
||||
or degrees) provided with the {2Theta} values. The second column contains
|
||||
the computed diffraction intensities as described above.
|
||||
|
||||
The array can be accessed by any command that uses global values
|
||||
from a compute as input. See "this section"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
||||
options.
|
||||
|
||||
All array values calculated by this compute are "intensive".
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
The compute_xrd command does not work for triclinic cells.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix ave/histo"_compute_ave_histo.html
|
||||
"compute saed"_compute_saed.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are 2Theta = 1 179 (degrees), c = 1 1 1, LP = 1, no manual flag, no echo flag
|
||||
|
||||
:line
|
||||
|
||||
:link(Coleman)
|
||||
[(Coleman)] Coleman, Spearot, Capolungo, MSMSE, 21, 055020
|
||||
(2013).
|
||||
|
||||
:link(Colliex)
|
||||
[(Colliex)] Colliex et al. International Tables for Crystallography
|
||||
Volume C: Mathematical and Chemical Tables, 249-429 (2004).
|
||||
|
||||
:link(Peng)
|
||||
[(Peng)] Peng, Ren, Dudarev, Whelan, Acta Crystallogr. A, 52, 257-76
|
||||
(1996).
|
||||
|
||||
|
||||
@ -124,7 +124,7 @@ shrink-wraps the box around the atoms.
|
||||
<P>The optional keywords can be used to create a system that allows for
|
||||
bond (angle, dihedral, improper) interactions, or for molecules with
|
||||
special 1-2,1-3,1-4 neighbors to be added later. These optional
|
||||
keywords serve the same purpose as the analagous keywords that can be
|
||||
keywords serve the same purpose as the analogous keywords that can be
|
||||
used in a data file which are recognized by the
|
||||
<A HREF = "read_data.html">read_data</A> command when it sets up a system.
|
||||
</P>
|
||||
|
||||
@ -116,7 +116,7 @@ shrink-wraps the box around the atoms.
|
||||
The optional keywords can be used to create a system that allows for
|
||||
bond (angle, dihedral, improper) interactions, or for molecules with
|
||||
special 1-2,1-3,1-4 neighbors to be added later. These optional
|
||||
keywords serve the same purpose as the analagous keywords that can be
|
||||
keywords serve the same purpose as the analogous keywords that can be
|
||||
used in a data file which are recognized by the
|
||||
"read_data"_read_data.html command when it sets up a system.
|
||||
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
</PRE>
|
||||
<LI>zero or more keyword/arg pairs may be appended
|
||||
|
||||
<LI>keyword = <I>mode</I> or <I>file</I> or <I>ave</I> or <I>start</I> or <I>beyond</I> or <I>overwrite</I> or <I>title1</I> or <I>title2</I> or <I>title3</I>
|
||||
<LI>keyword = <I>mode</I> or <I>file</I> or <I>ave</I> or <I>start</I> or <I>beyond</I> or <I>overwrite</I> or <I>title1</I> or <I>title2</I> or <I>title3</I> or <I>weights</I>
|
||||
|
||||
<PRE> <I>mode</I> arg = <I>scalar</I> or <I>vector</I>
|
||||
scalar = all input values are scalars
|
||||
@ -66,6 +66,12 @@
|
||||
string = text to print as 2nd line of output file
|
||||
<I>title3</I> arg = string
|
||||
string = text to print as 3rd line of output file, only for vector mode
|
||||
<I>weights</I> arg = c_ID, c_ID[N], f_ID, f_ID[N], v_name
|
||||
c_ID = scalar or vector calculated by a compute with ID
|
||||
c_ID[I] = Ith component of vector or Ith column of array calculated by a compute with ID
|
||||
f_ID = scalar or vector calculated by a fix with ID
|
||||
f_ID[I] = Ith component of vector or Ith column of array calculated by a fix with ID
|
||||
v_name = value(s) calculated by an equal-style or atom-style variable with name
|
||||
</PRE>
|
||||
|
||||
</UL>
|
||||
@ -74,6 +80,7 @@
|
||||
<PRE>fix 1 all ave/histo 100 5 1000 0.5 1.5 50 c_myTemp file temp.histo ave running
|
||||
fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press[2] c_thermo_press[3] title1 "My output values"
|
||||
fix 1 all ave/histo 1 100 1000 -2.0 2.0 18 vx vy vz mode vector ave running beyond extra
|
||||
fix 1 all ave/histo 1 1 1 10 100 2000 c_XRD<B>1</B> mode vector weights c_XRD<B>2</B>
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
@ -287,6 +294,15 @@ describes the six values that are printed at the first of each section
|
||||
of output. The third describes the 4 values printed for each bin in
|
||||
the histogram.
|
||||
</P>
|
||||
<P>If the <I>weights</I> keyword is specified, the fix will compute a weighted
|
||||
histogram using per-bin weights specified by the <I>weights</I> argument. As
|
||||
normal, the bin locations will be will be generated based off value1.
|
||||
However, instead of each binned value contributing 1 to the bin
|
||||
location, the contributing ammount is assigned the weights
|
||||
argument. Only a single value1 and weights argument pair can be can be
|
||||
used for each fix ave/histo. The length of value1 must match the
|
||||
lenght of the weights arguemnt.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
|
||||
|
||||
@ -29,7 +29,7 @@ value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_nam
|
||||
v_name = value(s) calculated by an equal-style or atom-style variable with name :pre
|
||||
|
||||
zero or more keyword/arg pairs may be appended :l
|
||||
keyword = {mode} or {file} or {ave} or {start} or {beyond} or {overwrite} or {title1} or {title2} or {title3} :l
|
||||
keyword = {mode} or {file} or {ave} or {start} or {beyond} or {overwrite} or {title1} or {title2} or {title3} or {weights} :l
|
||||
{mode} arg = {scalar} or {vector}
|
||||
scalar = all input values are scalars
|
||||
vector = all input values are vectors
|
||||
@ -51,14 +51,21 @@ keyword = {mode} or {file} or {ave} or {start} or {beyond} or {overwrite} or {ti
|
||||
{title2} arg = string
|
||||
string = text to print as 2nd line of output file
|
||||
{title3} arg = string
|
||||
string = text to print as 3rd line of output file, only for vector mode :pre
|
||||
string = text to print as 3rd line of output file, only for vector mode
|
||||
{weights} arg = c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name
|
||||
c_ID = scalar or vector calculated by a compute with ID
|
||||
c_ID\[I\] = Ith component of vector or Ith column of array calculated by a compute with ID
|
||||
f_ID = scalar or vector calculated by a fix with ID
|
||||
f_ID\[I\] = Ith component of vector or Ith column of array calculated by a fix with ID
|
||||
v_name = value(s) calculated by an equal-style or atom-style variable with name :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all ave/histo 100 5 1000 0.5 1.5 50 c_myTemp file temp.histo ave running
|
||||
fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press\[2\] c_thermo_press\[3\] title1 "My output values"
|
||||
fix 1 all ave/histo 1 100 1000 -2.0 2.0 18 vx vy vz mode vector ave running beyond extra :pre
|
||||
fix 1 all ave/histo 1 100 1000 -2.0 2.0 18 vx vy vz mode vector ave running beyond extra
|
||||
fix 1 all ave/histo 1 1 1 10 100 2000 c_XRD[1] mode vector weights c_XRD[2] :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -272,6 +279,15 @@ describes the six values that are printed at the first of each section
|
||||
of output. The third describes the 4 values printed for each bin in
|
||||
the histogram.
|
||||
|
||||
If the {weights} keyword is specified, the fix will compute a weighted
|
||||
histogram using per-bin weights specified by the {weights} argument. As
|
||||
normal, the bin locations will be will be generated based off value1.
|
||||
However, instead of each binned value contributing 1 to the bin
|
||||
location, the contributing ammount is assigned the weights
|
||||
argument. Only a single value1 and weights argument pair can be can be
|
||||
used for each fix ave/histo. The length of value1 must match the
|
||||
lenght of the weights arguemnt.
|
||||
|
||||
:line
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
@ -125,7 +125,7 @@ the simulation box across processors (one sub-box for each of 16
|
||||
processors); the middle diagram is after a "grid" method has been
|
||||
applied.
|
||||
</P>
|
||||
<CENTER><A HREF = "balance_uniform.jpg"><IMG SRC = "JPG/balance_uniform_small.jpg"></A><A HREF = "balance_nonuniform.jpg"><IMG SRC = "JPG/balance_nonuniform_small.jpg"></A><A HREF = "balance_rcb.jpg"><IMG SRC = "JPG/balance_rcb_small.jpg"></A>
|
||||
<CENTER><A HREF = "JPG/balance_uniform.jpg"><IMG SRC = "JPG/balance_uniform_small.jpg"></A><A HREF = "JPG/balance_nonuniform.jpg"><IMG SRC = "JPG/balance_nonuniform_small.jpg"></A><A HREF = "JPG/pbalance_rcb.jpg"><IMG SRC = "JPG/balance_rcb_small.jpg"></A>
|
||||
</CENTER>
|
||||
<P>The <I>rcb</I> style is a "tiling" method which does not produce a logical
|
||||
3d grid of processors. Rather it tiles the simulation domain with
|
||||
|
||||
@ -113,7 +113,7 @@ the simulation box across processors (one sub-box for each of 16
|
||||
processors); the middle diagram is after a "grid" method has been
|
||||
applied.
|
||||
|
||||
:c,image(JPG/balance_uniform_small.jpg,balance_uniform.jpg),image(JPG/balance_nonuniform_small.jpg,balance_nonuniform.jpg),image(JPG/balance_rcb_small.jpg,balance_rcb.jpg)
|
||||
:c,image(JPG/balance_uniform_small.jpg,JPG/balance_uniform.jpg),image(JPG/balance_nonuniform_small.jpg,JPG/balance_nonuniform.jpg),image(JPG/balance_rcb_small.jpg,JPG/pbalance_rcb.jpg)
|
||||
|
||||
The {rcb} style is a "tiling" method which does not produce a logical
|
||||
3d grid of processors. Rather it tiles the simulation domain with
|
||||
|
||||
@ -22,17 +22,20 @@
|
||||
<LI>N = adjust the momentum every this many timesteps
|
||||
one or more keyword/value pairs may be appended
|
||||
|
||||
<LI>keyword = <I>linear</I> or <I>angular</I>
|
||||
<LI>keyword = <I>linear</I> or <I>angular</I> or <I>rescale</I>
|
||||
|
||||
<PRE> <I>linear</I> values = xflag yflag zflag
|
||||
xflag,yflag,zflag = 0/1 to exclude/include each dimension
|
||||
<I>angular</I> values = none
|
||||
</PRE>
|
||||
<PRE> <I>rescale</I> values = none
|
||||
</PRE>
|
||||
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>fix 1 all momentum 1 linear 1 1 0
|
||||
fix 1 all momentum 1 linear 1 1 1 rescale
|
||||
fix 1 all momentum 100 linear 1 1 1 angular
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
@ -55,6 +58,9 @@ a subset of them) does not drift or rotate during the simulation due
|
||||
to random perturbations (e.g. <A HREF = "fix_langevin.html">fix langevin</A>
|
||||
thermostatting).
|
||||
</P>
|
||||
<P>The <I>rescale</I> keyword enables conserving the kinetic energy of the group
|
||||
of atoms by rescaling the velocities after the momentum was removed.
|
||||
</P>
|
||||
<P>Note that the <A HREF = "velocity.html">velocity</A> command can be used to create
|
||||
initial velocities with zero aggregate linear and/or angular momentum.
|
||||
</P>
|
||||
|
||||
191
doc/fix_saed_vtk.html
Normal file
191
doc/fix_saed_vtk.html
Normal file
@ -0,0 +1,191 @@
|
||||
<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>fix saed/vtk command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>fix ID group-ID saed/vtk Nevery Nrepeat Nfreak c_ID attribute args ... keyword args ...
|
||||
</PRE>
|
||||
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
|
||||
|
||||
<LI>ave/time/saed = style name of this fix command
|
||||
|
||||
<LI>Nevery = use input values every this many timesteps
|
||||
|
||||
<LI>Nrepeat = # of times to use input values for calculating averages
|
||||
|
||||
<LI>Nfreq = calculate averages every this many timesteps
|
||||
|
||||
<LI>c_ID = saed compute ID
|
||||
|
||||
<PRE>keyword = <I>file</I> or <I>ave</I> or <I>start</I> or <I>file</I> or <I>overwrite</I>:l
|
||||
<I>ave</I> args = <I>one</I> or <I>running</I> or <I>window M</I>
|
||||
one = output a new average value every Nfreq steps
|
||||
running = output cumulative average of all previous Nfreq steps
|
||||
window M = output average of M most recent Nfreq steps
|
||||
<I>start</I> args = Nstart
|
||||
Nstart = start averaging on this timestep
|
||||
<I>file</I> arg = filename
|
||||
filename = name of file to output time averages to
|
||||
<I>overwrite</I> arg = none = overwrite output file with only latest output
|
||||
</PRE>
|
||||
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<P>compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5
|
||||
compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo
|
||||
</P>
|
||||
<PRE>fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed
|
||||
fix saed/vtk 1 1 1 c_2 file Ni_000.saed
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Time average computed intensities from <A HREF = "compute_saed.txt">compute_saed</A> and
|
||||
write output to a file in the 3rd generation vtk image data format for
|
||||
visualization directly in parallelized visualization software packages
|
||||
like ParaView and VisIt. Note that if no time averaging is done, this
|
||||
command can be used as a convenient way to simply output diffraction
|
||||
intensities at a single snapshot.
|
||||
</P>
|
||||
<P>To produce output in the image data vtk format ghost data is added
|
||||
outside the <I>Kmax</I> range assigned in the compute saed. The ghost data is
|
||||
assigned a value of -1 and can be removed setting a minimum isovolume
|
||||
of 0 within the vizualiziton software. SAED images can be created by
|
||||
visualizing a spherical slice of the data that is centered at
|
||||
R_Ewald*<B>h k l</B>/norm(<B>h k l</B>), where R_Ewald=1/lambda.
|
||||
</P>
|
||||
<P>The group specified within this command is ignored. However, note that
|
||||
specified values may represent calculations performed by saed computes
|
||||
which store their own "group" definitions.
|
||||
</P>
|
||||
<P>Fix saed/vtk is designed to work only with <A HREF = "compute_saed.txt">compute_saed</A>
|
||||
values.
|
||||
</P>
|
||||
<P>compute 3 top saed 0.0251 Al O
|
||||
fix saed/vtk 1 1 1 c_3 file Al2O3_001.saed
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>The <I>Nevery</I>, <I>Nrepeat</I>, and <I>Nfreq</I> arguments specify on what
|
||||
timesteps the input values will be used in order to contribute to the
|
||||
average. The final averaged quantities are generated on timesteps
|
||||
that are a multiple of <I>Nfreq</I>. The average is over <I>Nrepeat</I>
|
||||
quantities, computed in the preceding portion of the simulation every
|
||||
<I>Nevery</I> timesteps. <I>Nfreq</I> must be a multiple of <I>Nevery</I> and
|
||||
<I>Nevery</I> must be non-zero even if <I>Nrepeat</I> is 1. Also, the timesteps
|
||||
contributing to the average value cannot overlap, i.e. Nfreq >
|
||||
(Nrepeat-1)*Nevery is required.
|
||||
</P>
|
||||
<P>For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on
|
||||
timesteps 90,92,94,96,98,100 will be used to compute the final average
|
||||
on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on
|
||||
timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time
|
||||
averaging is done; values are simply generated on timesteps
|
||||
100,200,etc.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>The output for fix ave/time/saed is a file writen with the 3rd generation
|
||||
vtk image data formatting. The filename assigned by the <I>file</I> keyword is
|
||||
appended with _N.vtk where N is an index (0,1,2...) to account for multiple
|
||||
diffraction intensity outputs.
|
||||
</P>
|
||||
<P>By default the header contains the following information (with example data):
|
||||
</P>
|
||||
<P># vtk DataFile Version 3.0 c_SAED
|
||||
Image data set
|
||||
ASCII
|
||||
DATASET STRUCTURED_POINTS
|
||||
DIMENSIONS 337 219 209
|
||||
ASPECT_RATIO 0.00507953 0.00785161 0.00821458
|
||||
ORIGIN -0.853361 -0.855826 -0.854316 \n POINT_DATA 15424827
|
||||
SCALARS intensity float
|
||||
LOOKUP_TABLE default
|
||||
...data
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>Additional optional keywords also affect the operation of this fix.
|
||||
</P>
|
||||
<P>The <I>ave</I> keyword determines how the values produced every <I>Nfreq</I>
|
||||
steps are averaged with values produced on previous steps that were
|
||||
multiples of <I>Nfreq</I>, before they are accessed by another output
|
||||
command or written to a file.
|
||||
</P>
|
||||
<P>If the <I>ave</I> setting is <I>one</I>, then the values produced on timesteps
|
||||
that are multiples of <I>Nfreq</I> are independent of each other; they are
|
||||
output as-is without further averaging.
|
||||
</P>
|
||||
<P>If the <I>ave</I> setting is <I>running</I>, then the values produced on
|
||||
timesteps that are multiples of <I>Nfreq</I> are summed and averaged in a
|
||||
cumulative sense before being output. Each output value is thus the
|
||||
average of the value produced on that timestep with all preceding
|
||||
values. This running average begins when the fix is defined; it can
|
||||
only be restarted by deleting the fix via the <A HREF = "unfix.html">unfix</A>
|
||||
command, or by re-defining the fix by re-specifying it.
|
||||
</P>
|
||||
<P>If the <I>ave</I> setting is <I>window</I>, then the values produced on
|
||||
timesteps that are multiples of <I>Nfreq</I> are summed and averaged within
|
||||
a moving "window" of time, so that the last M values are used to
|
||||
produce the output. E.g. if M = 3 and Nfreq = 1000, then the output
|
||||
on step 10000 will be the average of the individual values on steps
|
||||
8000,9000,10000. Outputs on early steps will average over less than M
|
||||
values if they are not available.
|
||||
</P>
|
||||
<P>The <I>start</I> keyword specifies what timestep averaging will begin on.
|
||||
The default is step 0. Often input values can be 0.0 at time 0, so
|
||||
setting <I>start</I> to a larger value can avoid including a 0.0 in a
|
||||
running or windowed average.
|
||||
</P>
|
||||
<P>The <I>file</I> keyword allows a filename to be specified. Every <I>Nfreq</I>
|
||||
steps, the vector of saed intensity data is written to a new file using
|
||||
the 3rd generation vtk format. The base of each file is assigned by
|
||||
the <I>file</I> keyword and this string is appended with _N.vtk where N is
|
||||
an index (0,1,2...) to account for situations with multiple diffraction
|
||||
intensity outputs.
|
||||
</P>
|
||||
<P>The <I>overwrite</I> keyword will continuously overwrite the output file
|
||||
with the latest output, so that it only contains one timestep worth of
|
||||
output. This option can only be used with the <I>ave running</I> setting.
|
||||
</P>
|
||||
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
|
||||
</P>
|
||||
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
|
||||
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
|
||||
are relevant to this fix.
|
||||
</P>
|
||||
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of
|
||||
the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy
|
||||
minimization</A>.
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>The attributes for fix_saed_vtk must match the values assigned in the
|
||||
associated <A HREF = "compute_saed.txt">compute_saed</A> command.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "compute_saed.html">compute_saed</A>
|
||||
</P>
|
||||
<P><B>Default:</B>
|
||||
</P>
|
||||
<P>The option defaults are ave = one, start = 0, no file output.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "Coleman"></A>
|
||||
|
||||
<P><B>(Coleman)</B> Coleman, Spearot, Capolungo, MSMSE, 21, 055020
|
||||
(2013).
|
||||
</P>
|
||||
</HTML>
|
||||
181
doc/fix_saed_vtk.txt
Normal file
181
doc/fix_saed_vtk.txt
Normal file
@ -0,0 +1,181 @@
|
||||
"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
|
||||
|
||||
fix saed/vtk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID saed/vtk Nevery Nrepeat Nfreak c_ID attribute args ... keyword args ... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
ave/time/saed = style name of this fix command :l
|
||||
Nevery = use input values every this many timesteps :l
|
||||
Nrepeat = # of times to use input values for calculating averages :l
|
||||
Nfreq = calculate averages every this many timesteps :l
|
||||
c_ID = saed compute ID :l
|
||||
|
||||
keyword = {file} or {ave} or {start} or {file} or {overwrite}:l
|
||||
{ave} args = {one} or {running} or {window M}
|
||||
one = output a new average value every Nfreq steps
|
||||
running = output cumulative average of all previous Nfreq steps
|
||||
window M = output average of M most recent Nfreq steps
|
||||
{start} args = Nstart
|
||||
Nstart = start averaging on this timestep
|
||||
{file} arg = filename
|
||||
filename = name of file to output time averages to
|
||||
{overwrite} arg = none = overwrite output file with only latest output :pre
|
||||
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5
|
||||
compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo
|
||||
|
||||
fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed
|
||||
fix saed/vtk 1 1 1 c_2 file Ni_000.saed :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Time average computed intensities from "compute_saed"_compute_saed.txt and
|
||||
write output to a file in the 3rd generation vtk image data format for
|
||||
visualization directly in parallelized visualization software packages
|
||||
like ParaView and VisIt. Note that if no time averaging is done, this
|
||||
command can be used as a convenient way to simply output diffraction
|
||||
intensities at a single snapshot.
|
||||
|
||||
To produce output in the image data vtk format ghost data is added
|
||||
outside the {Kmax} range assigned in the compute saed. The ghost data is
|
||||
assigned a value of -1 and can be removed setting a minimum isovolume
|
||||
of 0 within the vizualiziton software. SAED images can be created by
|
||||
visualizing a spherical slice of the data that is centered at
|
||||
R_Ewald*[h k l]/norm([h k l]), where R_Ewald=1/lambda.
|
||||
|
||||
The group specified within this command is ignored. However, note that
|
||||
specified values may represent calculations performed by saed computes
|
||||
which store their own "group" definitions.
|
||||
|
||||
Fix saed/vtk is designed to work only with "compute_saed"_compute_saed.txt
|
||||
values.
|
||||
|
||||
compute 3 top saed 0.0251 Al O
|
||||
fix saed/vtk 1 1 1 c_3 file Al2O3_001.saed
|
||||
|
||||
:line
|
||||
|
||||
The {Nevery}, {Nrepeat}, and {Nfreq} arguments specify on what
|
||||
timesteps the input values will be used in order to contribute to the
|
||||
average. The final averaged quantities are generated on timesteps
|
||||
that are a multiple of {Nfreq}. The average is over {Nrepeat}
|
||||
quantities, computed in the preceding portion of the simulation every
|
||||
{Nevery} timesteps. {Nfreq} must be a multiple of {Nevery} and
|
||||
{Nevery} must be non-zero even if {Nrepeat} is 1. Also, the timesteps
|
||||
contributing to the average value cannot overlap, i.e. Nfreq >
|
||||
(Nrepeat-1)*Nevery is required.
|
||||
|
||||
For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on
|
||||
timesteps 90,92,94,96,98,100 will be used to compute the final average
|
||||
on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on
|
||||
timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time
|
||||
averaging is done; values are simply generated on timesteps
|
||||
100,200,etc.
|
||||
|
||||
:line
|
||||
|
||||
The output for fix ave/time/saed is a file writen with the 3rd generation
|
||||
vtk image data formatting. The filename assigned by the {file} keyword is
|
||||
appended with _N.vtk where N is an index (0,1,2...) to account for multiple
|
||||
diffraction intensity outputs.
|
||||
|
||||
By default the header contains the following information (with example data):
|
||||
|
||||
# vtk DataFile Version 3.0 c_SAED
|
||||
Image data set
|
||||
ASCII
|
||||
DATASET STRUCTURED_POINTS
|
||||
DIMENSIONS 337 219 209
|
||||
ASPECT_RATIO 0.00507953 0.00785161 0.00821458
|
||||
ORIGIN -0.853361 -0.855826 -0.854316 \n POINT_DATA 15424827
|
||||
SCALARS intensity float
|
||||
LOOKUP_TABLE default
|
||||
...data
|
||||
|
||||
:line
|
||||
|
||||
Additional optional keywords also affect the operation of this fix.
|
||||
|
||||
The {ave} keyword determines how the values produced every {Nfreq}
|
||||
steps are averaged with values produced on previous steps that were
|
||||
multiples of {Nfreq}, before they are accessed by another output
|
||||
command or written to a file.
|
||||
|
||||
If the {ave} setting is {one}, then the values produced on timesteps
|
||||
that are multiples of {Nfreq} are independent of each other; they are
|
||||
output as-is without further averaging.
|
||||
|
||||
If the {ave} setting is {running}, then the values produced on
|
||||
timesteps that are multiples of {Nfreq} are summed and averaged in a
|
||||
cumulative sense before being output. Each output value is thus the
|
||||
average of the value produced on that timestep with all preceding
|
||||
values. This running average begins when the fix is defined; it can
|
||||
only be restarted by deleting the fix via the "unfix"_unfix.html
|
||||
command, or by re-defining the fix by re-specifying it.
|
||||
|
||||
If the {ave} setting is {window}, then the values produced on
|
||||
timesteps that are multiples of {Nfreq} are summed and averaged within
|
||||
a moving "window" of time, so that the last M values are used to
|
||||
produce the output. E.g. if M = 3 and Nfreq = 1000, then the output
|
||||
on step 10000 will be the average of the individual values on steps
|
||||
8000,9000,10000. Outputs on early steps will average over less than M
|
||||
values if they are not available.
|
||||
|
||||
The {start} keyword specifies what timestep averaging will begin on.
|
||||
The default is step 0. Often input values can be 0.0 at time 0, so
|
||||
setting {start} to a larger value can avoid including a 0.0 in a
|
||||
running or windowed average.
|
||||
|
||||
The {file} keyword allows a filename to be specified. Every {Nfreq}
|
||||
steps, the vector of saed intensity data is written to a new file using
|
||||
the 3rd generation vtk format. The base of each file is assigned by
|
||||
the {file} keyword and this string is appended with _N.vtk where N is
|
||||
an index (0,1,2...) to account for situations with multiple diffraction
|
||||
intensity outputs.
|
||||
|
||||
The {overwrite} keyword will continuously overwrite the output file
|
||||
with the latest output, so that it only contains one timestep worth of
|
||||
output. This option can only be used with the {ave running} setting.
|
||||
|
||||
[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 parameter of this fix can be used with the {start/stop} keywords of
|
||||
the "run"_run.html command. This fix is not invoked during "energy
|
||||
minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
The attributes for fix_saed_vtk must match the values assigned in the
|
||||
associated "compute_saed"_compute_saed.txt command.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"compute_saed"_compute_saed.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are ave = one, start = 0, no file output.
|
||||
|
||||
:line
|
||||
|
||||
:link(Coleman)
|
||||
[(Coleman)] Coleman, Spearot, Capolungo, MSMSE, 21, 055020
|
||||
(2013).
|
||||
|
||||
73
doc/info.html
Normal file
73
doc/info.html
Normal file
@ -0,0 +1,73 @@
|
||||
<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>info command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>info args
|
||||
</PRE>
|
||||
<UL><LI>args = one or more of the following keywords: <I>system</I>, <I>computes</I>, <I>dumps</I>, <I>fixes</I>, <I>groups</I>, <I>regions</I>, <I>variables</I>, <I>time</I>, or <I>configuration</I>
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>info system
|
||||
info groups computes variables
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Print out information about the current internal state of the running
|
||||
LAMMPS process. This can be helpful when debugging or validating
|
||||
complex input scripts. Several output categories are available and
|
||||
one or more output category may be requested. Output is only sent to
|
||||
the screen, provided screen output is enabled.
|
||||
</P>
|
||||
<P>The <I>system</I> category prints a general system overview listing. This
|
||||
includes the unit style, atom style, number of atoms, bonds, angles,
|
||||
dihedrals, and impropers and the number of the respective types, box
|
||||
dimensions and properties, force computing styles and more.
|
||||
</P>
|
||||
<P>The <I>computes</I> category prints a list of all currently defined
|
||||
computes, their IDs and styles and groups they operate on.
|
||||
</P>
|
||||
<P>The <I>dumps</I> category prints a list of all currently active dumps,
|
||||
their IDs, styles, filenames, groups, and dump frequencies.
|
||||
</P>
|
||||
<P>The <I>fixes</I> category prints a list of all currently defined fixes,
|
||||
their IDs and styles and groups they operate on.
|
||||
</P>
|
||||
<P>The <I>groups</I> category prints a list of all currently defined groups.
|
||||
</P>
|
||||
<P>The <I>regions</I> category prints a list of all currently defined regions,
|
||||
their IDs and styles and whether "inside" or "outside" atoms are
|
||||
selected.
|
||||
</P>
|
||||
<P>The <I>variables</I> category prints a list of all currently defined
|
||||
variables, their names, styles, definition and last computed value, if
|
||||
available.
|
||||
</P>
|
||||
<P>The <I>time</I> category prints the accumulated CPU and wall time for the
|
||||
process that writes output (usually MPI rank 0).
|
||||
</P>
|
||||
<P>The <I>configuration</I> command prints some information about the LAMMPS
|
||||
version and architection and OS it is run on. Where supported, also
|
||||
information about the memory consumption provided by the OS is
|
||||
reported.
|
||||
</P>
|
||||
<P><B>Restrictions:</B> none
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "print.html">print</A>
|
||||
</P>
|
||||
<P><B>Default:</B> none
|
||||
</P>
|
||||
</HTML>
|
||||
36
doc/info.txt
36
doc/info.txt
@ -12,8 +12,7 @@ info command :h3
|
||||
|
||||
info args :pre
|
||||
|
||||
args = one or more of the following keywords: {system}, {computes}, {dumps},
|
||||
{fixes}, {groups}, {regions}, {variables}, {time}, or {configuration} :ul
|
||||
args = one or more of the following keywords: {system}, {computes}, {dumps}, {fixes}, {groups}, {regions}, {variables}, {time}, or {configuration} :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
@ -23,21 +22,21 @@ info groups computes variables :pre
|
||||
[Description:]
|
||||
|
||||
Print out information about the current internal state of the running
|
||||
LAMMPS process. This can be particularly helpful when debugging or
|
||||
validating complex input scripts. Several output categories are available
|
||||
and one or more output category may be requested. Output is only sent to
|
||||
LAMMPS process. This can be helpful when debugging or validating
|
||||
complex input scripts. Several output categories are available and
|
||||
one or more output category may be requested. Output is only sent to
|
||||
the screen, provided screen output is enabled.
|
||||
|
||||
The {system} category prints a general system overview listing - among
|
||||
others - unit style, atom style, number of atoms, bonds, angles, dihedrals,
|
||||
and impropers and the number of the respective types, box dimensions and
|
||||
properties, force computing styles and more.
|
||||
The {system} category prints a general system overview listing. This
|
||||
includes the unit style, atom style, number of atoms, bonds, angles,
|
||||
dihedrals, and impropers and the number of the respective types, box
|
||||
dimensions and properties, force computing styles and more.
|
||||
|
||||
The {computes} category prints a list of all currently defined computes,
|
||||
their IDs and styles and groups they operate on.
|
||||
The {computes} category prints a list of all currently defined
|
||||
computes, their IDs and styles and groups they operate on.
|
||||
|
||||
The {dumps} category prints a list of all currently active dumps, their
|
||||
IDs, styles, filenames, groups, and dump frequencies.
|
||||
The {dumps} category prints a list of all currently active dumps,
|
||||
their IDs, styles, filenames, groups, and dump frequencies.
|
||||
|
||||
The {fixes} category prints a list of all currently defined fixes,
|
||||
their IDs and styles and groups they operate on.
|
||||
@ -45,17 +44,20 @@ their IDs and styles and groups they operate on.
|
||||
The {groups} category prints a list of all currently defined groups.
|
||||
|
||||
The {regions} category prints a list of all currently defined regions,
|
||||
their IDs and styles and whether "inside" or "outside" atoms are selected.
|
||||
their IDs and styles and whether "inside" or "outside" atoms are
|
||||
selected.
|
||||
|
||||
The {variables} category prints a list of all currently defined variables,
|
||||
their names, styles, definition and last computed value, if available.
|
||||
The {variables} category prints a list of all currently defined
|
||||
variables, their names, styles, definition and last computed value, if
|
||||
available.
|
||||
|
||||
The {time} category prints the accumulated CPU and wall time for the
|
||||
process that writes output (usually MPI rank 0).
|
||||
|
||||
The {configuration} command prints some information about the LAMMPS
|
||||
version and architection and OS it is run on. Where supported, also
|
||||
information about the memory consumption provided by the OS is reported.
|
||||
information about the memory consumption provided by the OS is
|
||||
reported.
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
|
||||
@ -13,16 +13,33 @@
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>molecule ID file1 file2 ...
|
||||
<PRE>molecule ID file1 file2 ... keyword values ...
|
||||
</PRE>
|
||||
<UL><LI>ID = user-assigned name for the molecule template
|
||||
|
||||
<LI>file1,file2,... = names of files containing molecule descriptions
|
||||
|
||||
<LI>zero or more keyword/value pairs may be appended
|
||||
|
||||
<LI>keyword = <I>offset</I> or <I>auto</I>
|
||||
|
||||
<PRE> <I>offset</I> values = toff boff aoff doff ioff
|
||||
toff = offset to add to atom types
|
||||
boff = offset to add to bond types
|
||||
aoff = offset to add to angle types
|
||||
doff = offset to add to dihedral types
|
||||
ioff = offset to add to improper types
|
||||
<I>auto</I> value = none
|
||||
generate special bond lists automatically if <I>auto</I> is specified
|
||||
</PRE>
|
||||
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>molecule 1 mymol
|
||||
molecule 1 co2.txt h2o.txt
|
||||
molecule CO2 co2.txt
|
||||
molecule 1 mymol offset 6 9 18 23 14 auto
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
@ -49,6 +66,20 @@ contains multiple molecules. The <A HREF = "atom_style.html">atom_style
|
||||
template</A> command allows multiple-molecule templates
|
||||
to define a system with more than one templated molecule.
|
||||
</P>
|
||||
<P>The optional <I>offset</I> keyword adds the specified offset values to the
|
||||
atom types, bond types, angle types, dihedral types, and improper
|
||||
types as they are read from the molecule file. E.g. if <I>toff</I> = 2,
|
||||
and the file uses atom types 1,2,3, then each created molecule will
|
||||
have atom types 3,4,5. This makes it easy to use the same molecule
|
||||
template file in different simulations. Note that the same offsets
|
||||
are applied to the molecules in all specified files. All five offset
|
||||
values must be speicified, but individual values will be ignored if
|
||||
the molecule template does not use that attribute (e.g. no bonds).
|
||||
</P>
|
||||
<P>The optional <I>auto</I> keyword can be used for molecules with bonds
|
||||
instead of listing neighbors within the molecular topology explicitly.
|
||||
More details are given below.
|
||||
</P>
|
||||
<P>IMPORTANT NOTE: When using the <A HREF = "atom_style.html">atom_style template</A>
|
||||
command with a molecule template that contains multiple molecules, you
|
||||
should insure the atom types, bond types, angle_types, etc in all the
|
||||
@ -59,7 +90,23 @@ with each other when a mixture system of H2O and CO2 molecules is
|
||||
defined, e.g. by the <A HREF = "read_data.html">read_data</A> command. Rather the
|
||||
H2O molecule should define atom types 1 and 2, and bond type 1. And
|
||||
the CO2 molecule should define atom types 3 and 4 (or atom types 3 and
|
||||
2 if a single oxygen type is desired), and bond type 2.
|
||||
2 if a single oxygen type is desired), and bond type 2. You can also
|
||||
use the <I>offset</I> keyword to shift all of these type values to new
|
||||
values for a particular simulation.
|
||||
</P>
|
||||
<P>IMPORTANT NOTE: This command can be used to define molecules with
|
||||
bonds, angles, dihedrals, imporopers, or special bond lists of
|
||||
neighbors within a molecular topology, so that you can later add the
|
||||
molecules to your simulation, via one or more of the commands listed
|
||||
above. If such molecules do not already exist when LAMMPS creates the
|
||||
simulation box, via the <A HREF = "create_box.html">create_box</A> or
|
||||
<A HREF = "read_data.html">read_data</A> command, when you later add them you may
|
||||
overflow the pre-allocated data structures which store molecular
|
||||
topology information with each atom, and an error will be generated.
|
||||
Both the <A HREF = "create_box.html">create_box</A> command and the data files read
|
||||
by the <A HREF = "read_data.html">read_data</A> command have "extra" options which
|
||||
insure space is allocated for storing topology info for molecules that
|
||||
are added later.
|
||||
</P>
|
||||
<P>The format of an individual molecule file is similar to the data file
|
||||
read by the <A HREF = "read_data.html">read_data</A> commands, and is as follows.
|
||||
@ -119,10 +166,12 @@ internally.
|
||||
<LI><I>Shake Flags, Shake Atoms, Shake Bond Types</I> = SHAKE info
|
||||
</UL>
|
||||
<P>If a Bonds section is specified then the Special Bond Counts and
|
||||
Special Bonds sections must be also, since the latter is needed for
|
||||
LAMMPS to properly exclude or weight bonded pairwise interactions
|
||||
between bonded atoms. See the <A HREF = "special_bonds.html">special_bonds</A>
|
||||
command for more details.
|
||||
Special Bonds sections must be also unless the optional <I>auto</I> keyword
|
||||
is defined. This info is needed for LAMMPS to properly exclude or
|
||||
weight bonded pairwise interactions between bonded atoms. See the
|
||||
<A HREF = "special_bonds.html">special_bonds</A> command for more details. If the
|
||||
<I>auto</I> keyword is used, then LAMMPS will generate this information
|
||||
automatically for the molecule.
|
||||
</P>
|
||||
<P>IMPORTANT NOTE: Whether a section is required depends on how the
|
||||
molecule template is used by other LAMMPS commands. For example, to
|
||||
@ -402,6 +451,10 @@ of SHAKE clusters.
|
||||
<P><A HREF = "fix_deposit.html">fix deposit</A>, <A HREF = "fix_pour.html">fix pour</A>,
|
||||
<A HREF = "fix_gcmc.html">fix_gcmc</A>
|
||||
</P>
|
||||
<P><B>Default:</B> none
|
||||
<P><B>Default:</B>
|
||||
</P>
|
||||
<P>The default keyword values are offset 0 0 0 0 0, and no
|
||||
auto-generation of special bond lists. The latter is overridden in
|
||||
the <I>auto</I> keyword is used.
|
||||
</P>
|
||||
</HTML>
|
||||
|
||||
@ -10,16 +10,28 @@ molecule command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
molecule ID file1 file2 ... :pre
|
||||
molecule ID file1 file2 ... keyword values ... :pre
|
||||
|
||||
ID = user-assigned name for the molecule template
|
||||
file1,file2,... = names of files containing molecule descriptions :ul
|
||||
ID = user-assigned name for the molecule template :ulb,l
|
||||
file1,file2,... = names of files containing molecule descriptions :l
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {offset} or {auto} :l
|
||||
{offset} values = toff boff aoff doff ioff
|
||||
toff = offset to add to atom types
|
||||
boff = offset to add to bond types
|
||||
aoff = offset to add to angle types
|
||||
doff = offset to add to dihedral types
|
||||
ioff = offset to add to improper types
|
||||
{auto} value = none
|
||||
generate special bond lists automatically if {auto} is specified :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
molecule 1 mymol
|
||||
molecule 1 co2.txt h2o.txt
|
||||
molecule CO2 co2.txt :pre
|
||||
molecule CO2 co2.txt
|
||||
molecule 1 mymol offset 6 9 18 23 14 auto :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -46,6 +58,20 @@ contains multiple molecules. The "atom_style
|
||||
template"_atom_style.html command allows multiple-molecule templates
|
||||
to define a system with more than one templated molecule.
|
||||
|
||||
The optional {offset} keyword adds the specified offset values to the
|
||||
atom types, bond types, angle types, dihedral types, and improper
|
||||
types as they are read from the molecule file. E.g. if {toff} = 2,
|
||||
and the file uses atom types 1,2,3, then each created molecule will
|
||||
have atom types 3,4,5. This makes it easy to use the same molecule
|
||||
template file in different simulations. Note that the same offsets
|
||||
are applied to the molecules in all specified files. All five offset
|
||||
values must be speicified, but individual values will be ignored if
|
||||
the molecule template does not use that attribute (e.g. no bonds).
|
||||
|
||||
The optional {auto} keyword can be used for molecules with bonds
|
||||
instead of listing neighbors within the molecular topology explicitly.
|
||||
More details are given below.
|
||||
|
||||
IMPORTANT NOTE: When using the "atom_style template"_atom_style.html
|
||||
command with a molecule template that contains multiple molecules, you
|
||||
should insure the atom types, bond types, angle_types, etc in all the
|
||||
@ -56,7 +82,23 @@ with each other when a mixture system of H2O and CO2 molecules is
|
||||
defined, e.g. by the "read_data"_read_data.html command. Rather the
|
||||
H2O molecule should define atom types 1 and 2, and bond type 1. And
|
||||
the CO2 molecule should define atom types 3 and 4 (or atom types 3 and
|
||||
2 if a single oxygen type is desired), and bond type 2.
|
||||
2 if a single oxygen type is desired), and bond type 2. You can also
|
||||
use the {offset} keyword to shift all of these type values to new
|
||||
values for a particular simulation.
|
||||
|
||||
IMPORTANT NOTE: This command can be used to define molecules with
|
||||
bonds, angles, dihedrals, imporopers, or special bond lists of
|
||||
neighbors within a molecular topology, so that you can later add the
|
||||
molecules to your simulation, via one or more of the commands listed
|
||||
above. If such molecules do not already exist when LAMMPS creates the
|
||||
simulation box, via the "create_box"_create_box.html or
|
||||
"read_data"_read_data.html command, when you later add them you may
|
||||
overflow the pre-allocated data structures which store molecular
|
||||
topology information with each atom, and an error will be generated.
|
||||
Both the "create_box"_create_box.html command and the data files read
|
||||
by the "read_data"_read_data.html command have "extra" options which
|
||||
insure space is allocated for storing topology info for molecules that
|
||||
are added later.
|
||||
|
||||
The format of an individual molecule file is similar to the data file
|
||||
read by the "read_data"_read_data.html commands, and is as follows.
|
||||
@ -116,10 +158,12 @@ These are the allowed section keywords for the body of the file.
|
||||
{Shake Flags, Shake Atoms, Shake Bond Types} = SHAKE info :ul
|
||||
|
||||
If a Bonds section is specified then the Special Bond Counts and
|
||||
Special Bonds sections must be also, since the latter is needed for
|
||||
LAMMPS to properly exclude or weight bonded pairwise interactions
|
||||
between bonded atoms. See the "special_bonds"_special_bonds.html
|
||||
command for more details.
|
||||
Special Bonds sections must be also unless the optional {auto} keyword
|
||||
is defined. This info is needed for LAMMPS to properly exclude or
|
||||
weight bonded pairwise interactions between bonded atoms. See the
|
||||
"special_bonds"_special_bonds.html command for more details. If the
|
||||
{auto} keyword is used, then LAMMPS will generate this information
|
||||
automatically for the molecule.
|
||||
|
||||
IMPORTANT NOTE: Whether a section is required depends on how the
|
||||
molecule template is used by other LAMMPS commands. For example, to
|
||||
@ -399,4 +443,8 @@ of SHAKE clusters.
|
||||
"fix deposit"_fix_deposit.html, "fix pour"_fix_pour.html,
|
||||
"fix_gcmc"_fix_gcmc.html
|
||||
|
||||
[Default:] none
|
||||
[Default:]
|
||||
|
||||
The default keyword values are offset 0 0 0 0 0, and no
|
||||
auto-generation of special bond lists. The latter is overridden in
|
||||
the {auto} keyword is used.
|
||||
|
||||
@ -36,7 +36,7 @@ pair_coeff 1 1 dpd 60.0 4.5 1.0
|
||||
pair_coeff 1 2 none
|
||||
pair_coeff 2 2 srp 100.0 0.8
|
||||
</PRE>
|
||||
<PRE>pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 1 min exclude yes
|
||||
<PRE>pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 * min exclude yes
|
||||
pair_coeff 1 1 dpd 60.0 50 1.0
|
||||
pair_coeff 1 2 none
|
||||
pair_coeff 2 2 srp 40.0
|
||||
@ -62,7 +62,9 @@ bond-pairwise potential, such that the force on bond <I>i</I> due to bond
|
||||
<CENTER><IMG SRC = "Eqs/pair_srp1.jpg">
|
||||
</CENTER>
|
||||
<P>where <I>r</I> and <I>rij</I> are the distance and unit vector between the two
|
||||
bonds. The <I>mid</I> option computes <I>r</I> and <I>rij</I> from the midpoint
|
||||
bonds. The bondtype can also be specified as an asterisk (*) and then
|
||||
this interaction applied to all bonds.
|
||||
The <I>mid</I> option computes <I>r</I> and <I>rij</I> from the midpoint
|
||||
distance between bonds. The <I>min</I> option computes <I>r</I> and <I>rij</I> from
|
||||
the minimum distance between bonds. The force acting on a bond is
|
||||
mapped onto the two bond atoms according to the lever rule,
|
||||
|
||||
@ -195,7 +195,7 @@ topology of the system). If new bonds are created (or molecules added
|
||||
containing atoms with more special neighbors), the size of this list
|
||||
needs to grow. Note that adding a single bond always adds a new 1st
|
||||
neighbor but may also induce *many* new 2nd and 3rd neighbors,
|
||||
depending on the molecular topology of your syste. Using the <I>extra</I>
|
||||
depending on the molecular topology of your system. Using the <I>extra</I>
|
||||
keyword leaves empty space in the list for this N additional 1st, 2nd,
|
||||
or 3rd neighbors to be added. If you do not do this, you may get an
|
||||
error when bonds (or molecules) are added.
|
||||
|
||||
@ -123,13 +123,13 @@ per-atom values from a file rather than from a formula. Variables can
|
||||
be hooked to Python functions using code you provide, so that the
|
||||
variable gets its value from the evaluation of the Python code.
|
||||
</P>
|
||||
<P>IMPORTANT NOTE: As discussed in <A HREF = "Section_commands.html#cmd_2">Section
|
||||
3.2</A> of the manual, an input script can
|
||||
use "immediate" variables, specified as $(formula) with parenthesis,
|
||||
where the formula has the same syntax as equal-style variables
|
||||
described on this page. This is a way to evaluate a formula
|
||||
immediately without using the variable command to define a named
|
||||
variable.
|
||||
<P>IMPORTANT NOTE: As discussed in <A HREF = "Section_commands.html#cmd_2">Section 3.2</A>
|
||||
of the manual, an input script can use "immediate" variables, specified
|
||||
as $(formula) with parenthesis, where the formula has the same syntax
|
||||
as equal-style variables described on this page. This is a convenient
|
||||
way to evaluate a formula immediately without using the variable command
|
||||
to define a named variable and then evaluate that variable. See below
|
||||
for a more detailed discussion of this feature.
|
||||
</P>
|
||||
<P>In the discussion that follows, the "name" of the variable is the
|
||||
arbitrary string that is the 1st argument in the variable command.
|
||||
@ -144,10 +144,12 @@ simulation.
|
||||
</P>
|
||||
<P>IMPORTANT NOTE: When the input script line is encountered that defines
|
||||
a variable of style <I>equal</I> or <I>atom</I> or <I>python</I> that contains a
|
||||
formula or Python code, the formula is NOT immediately evaluated and
|
||||
the result stored. See the discussion below about "Immediate
|
||||
Evaluation of Variables" if you want to do this. This is also true of
|
||||
the <I>format</I> style variable since it evaluates another variable when
|
||||
formula or Python code, the formula is NOT immediately evaluated.
|
||||
It will be evaluated every time when the variable is <B>used</B> instead.
|
||||
If you simply want to evaluate a formula in place you can use as
|
||||
so-called. See the section below about "Immediate Evaluation
|
||||
of Variables" for more details on the topic. This is also true of
|
||||
a <I>format</I> style variable since it evaluates another variable when
|
||||
it is invoked.
|
||||
</P>
|
||||
<P>IMPORTANT NOTE: Variables of style <I>equal</I> and <I>atom</I> can be used as
|
||||
@ -161,14 +163,6 @@ can also use such a python-style variable. This means that when the
|
||||
LAMMPS command evaluates the variable, the Python function will be
|
||||
executed.
|
||||
</P>
|
||||
<P>When the input script line is encountered that defines
|
||||
a variable of style <I>equal</I> or <I>atom</I> or <I>python</I> that contains a
|
||||
formula or Python code, the formula is NOT immediately evaluated and
|
||||
the result stored. See the discussion below about "Immediate
|
||||
Evaluation of Variables" if you want to do this. This is also true of
|
||||
the <I>format</I> style variable since it evaluates another variable when
|
||||
it is invoked.
|
||||
</P>
|
||||
<P>IMPORTANT NOTE: When a variable command is encountered in the input
|
||||
script and the variable name has already been specified, the command
|
||||
is ignored. This means variables can NOT be re-defined in an input
|
||||
|
||||
@ -19,9 +19,10 @@
|
||||
|
||||
<LI>zero or more keyword/value pairs may be appended
|
||||
|
||||
<LI>keyword = <I>pair</I>
|
||||
<LI>keyword = <I>pair</I> or <I>nocoeff</I>
|
||||
|
||||
<PRE> <I>pair</I> value = <I>ii</I> or <I>ij</I>
|
||||
<PRE> <I>nocoeff</I> = do not write out force field info
|
||||
<I>pair</I> value = <I>ii</I> or <I>ij</I>
|
||||
<I>ii</I> = write one line of pair coefficient info per atom type
|
||||
<I>ij</I> = write one line of pair coefficient info per IJ atom type pair
|
||||
</PRE>
|
||||
@ -84,6 +85,11 @@ data file is read.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>The <I>nocoeff</I> keyword requests that no force field parameters should
|
||||
be written to the data file. This can be very helpful, if one wants
|
||||
to make significant changes to the force field or if the parameters
|
||||
are read in separately anyway, e.g. from an include file.
|
||||
</P>
|
||||
<P>The <I>pair</I> keyword lets you specify in what format the pair
|
||||
coefficient information is written into the data file. If the value
|
||||
is specified as <I>ii</I>, then one line per atom type is written, to
|
||||
|
||||
@ -2510,7 +2510,6 @@ void FixRigidSmall::write_restart_file(char *file)
|
||||
buf[i][8] = ispace[0][1];
|
||||
buf[i][9] = ispace[0][2];
|
||||
buf[i][10] = ispace[1][2];
|
||||
buf[i][10] = ispace[1][2];
|
||||
buf[i][11] = body[i].vcm[0];
|
||||
buf[i][12] = body[i].vcm[1];
|
||||
buf[i][13] = body[i].vcm[2];
|
||||
@ -2546,7 +2545,8 @@ void FixRigidSmall::write_restart_file(char *file)
|
||||
"%-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %d %d %d\n",
|
||||
static_cast<int> (buf[i][0]),buf[i][1],
|
||||
buf[i][2],buf[i][3],buf[i][4],
|
||||
buf[i][5],buf[i][6],buf[i][7],buf[i][8],buf[i][9],buf[i][10],
|
||||
buf[i][5],buf[i][6],buf[i][7],
|
||||
buf[i][8],buf[i][9],buf[i][10],
|
||||
buf[i][11],buf[i][12],buf[i][13],
|
||||
buf[i][14],buf[i][15],buf[i][16],
|
||||
static_cast<int> (buf[i][17]),
|
||||
|
||||
27
src/atom.cpp
27
src/atom.cpp
@ -1414,20 +1414,27 @@ int Atom::shape_consistency(int itype,
|
||||
|
||||
void Atom::add_molecule(int narg, char **arg)
|
||||
{
|
||||
if (narg < 2) error->all(FLERR,"Illegal molecule command");
|
||||
if (narg < 1) error->all(FLERR,"Illegal molecule command");
|
||||
|
||||
if (find_molecule(arg[0]) >= 0)
|
||||
error->all(FLERR,"Reuse of molecule template ID");
|
||||
|
||||
int nprevious = nmolecule;
|
||||
nmolecule += narg-1;
|
||||
molecules = (Molecule **)
|
||||
memory->srealloc(molecules,nmolecule*sizeof(Molecule *),"atom::molecules");
|
||||
// may over-allocate if not all args are mol files, but OK for srealloc
|
||||
|
||||
for (int i = 1; i < narg; i++) {
|
||||
molecules[nprevious] = new Molecule(lmp,arg[0],arg[i]);
|
||||
if (i == 1) molecules[nprevious]->nset = narg-1;
|
||||
else molecules[nprevious]->nset = 0;
|
||||
nprevious++;
|
||||
molecules = (Molecule **)
|
||||
memory->srealloc(molecules,(nmolecule+narg-1)*sizeof(Molecule *),
|
||||
"atom::molecules");
|
||||
|
||||
// 1st molecule in set stores nset = # of mols, others store nset = 0
|
||||
|
||||
int ifile = 1;
|
||||
while (1) {
|
||||
molecules[nmolecule] = new Molecule(lmp,narg,arg,ifile);
|
||||
molecules[nmolecule]->nset = 0;
|
||||
molecules[nmolecule-ifile+1]->nset++;
|
||||
nmolecule++;
|
||||
if (molecules[nmolecule-1]->last) break;
|
||||
ifile++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
22
src/info.cpp
22
src/info.cpp
@ -83,7 +83,8 @@ void Info::command(int narg, char **arg)
|
||||
fprintf(screen,"Compute information:\n");
|
||||
for (int i=0; i < ncompute; ++i) {
|
||||
fprintf(screen,"Compute[%3d]: %s, style: %s, group: %s\n",
|
||||
i, compute[i]->id, compute[i]->style, names[compute[i]->igroup]);
|
||||
i, compute[i]->id, compute[i]->style,
|
||||
names[compute[i]->igroup]);
|
||||
}
|
||||
|
||||
} else if (strncmp(arg[idx],"dumps",3) == 0) {
|
||||
@ -130,7 +131,8 @@ void Info::command(int narg, char **arg)
|
||||
fprintf(screen,"Region information:\n");
|
||||
for (int i=0; i < nreg; ++i) {
|
||||
fprintf(screen,"Region[%3d]: %s, style: %s, side: %s\n",
|
||||
i, regs[i]->id, regs[i]->style, regs[i]->interior ? "in" : "out");
|
||||
i, regs[i]->id, regs[i]->style,
|
||||
regs[i]->interior ? "in" : "out");
|
||||
}
|
||||
|
||||
} else if (strncmp(arg[idx],"configuration",3) == 0) {
|
||||
@ -184,7 +186,8 @@ void Info::command(int narg, char **arg)
|
||||
#if defined(_WIN32)
|
||||
HANDLE phandle = GetCurrentProcess();
|
||||
PROCESS_MEMORY_COUNTERS_EX pmc;
|
||||
GetProcessMemoryInfo(phandle, (PROCESS_MEMORY_COUNTERS *) &pmc, sizeof(pmc));
|
||||
GetProcessMemoryInfo(phandle, (PROCESS_MEMORY_COUNTERS *) &pmc,
|
||||
sizeof(pmc));
|
||||
|
||||
fprintf(screen,"Non-shared memory use: %.3g Mbyte\n",
|
||||
(double)pmc.PrivateUsage/1048576.0);
|
||||
@ -309,10 +312,14 @@ void Info::command(int narg, char **arg)
|
||||
fprintf(screen,"Boundaries = %c,%c %c,%c %c,%c\n",
|
||||
bstyles[domain->boundary[0][0]],bstyles[domain->boundary[0][1]],
|
||||
bstyles[domain->boundary[1][0]],bstyles[domain->boundary[1][1]],
|
||||
bstyles[domain->boundary[2][0]],bstyles[domain->boundary[2][1]]);
|
||||
fprintf(screen,"Xlo, zhi = %g, %g\n", domain->boxlo[0], domain->boxhi[0]);
|
||||
fprintf(screen,"Ylo, zhi = %g, %g\n", domain->boxlo[1], domain->boxhi[1]);
|
||||
fprintf(screen,"Zlo, zhi = %g, %g\n", domain->boxlo[2], domain->boxhi[2]);
|
||||
bstyles[domain->boundary[2][0]],
|
||||
bstyles[domain->boundary[2][1]]);
|
||||
fprintf(screen,"Xlo, zhi = %g, %g\n",
|
||||
domain->boxlo[0], domain->boxhi[0]);
|
||||
fprintf(screen,"Ylo, zhi = %g, %g\n",
|
||||
domain->boxlo[1], domain->boxhi[1]);
|
||||
fprintf(screen,"Zlo, zhi = %g, %g\n",
|
||||
domain->boxlo[2], domain->boxhi[2]);
|
||||
if (domain->triclinic)
|
||||
fprintf(screen,"Xy, xz, yz = %g, %g, %g\n",
|
||||
domain->xy, domain->xz, domain->yz);
|
||||
@ -324,5 +331,6 @@ void Info::command(int narg, char **arg)
|
||||
error->one(FLERR,"Unknown info command style");
|
||||
}
|
||||
}
|
||||
|
||||
fputs("\nInfo-Info-Info-Info-Info-Info-Info-Info-Info-Info-Info\n\n",screen);
|
||||
}
|
||||
|
||||
159
src/molecule.cpp
159
src/molecule.cpp
@ -35,33 +35,71 @@ using namespace MathConst;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
Molecule::Molecule(LAMMPS *lmp, char *idarg, char *file) : Pointers(lmp)
|
||||
Molecule::Molecule(LAMMPS *lmp, int narg, char **arg, int ifile) : Pointers(lmp)
|
||||
{
|
||||
me = comm->me;
|
||||
|
||||
int n = strlen(idarg) + 1;
|
||||
if (ifile >= narg) error->all(FLERR,"Illegal molecule command");
|
||||
|
||||
int n = strlen(arg[0]) + 1;
|
||||
id = new char[n];
|
||||
strcpy(id,idarg);
|
||||
strcpy(id,arg[0]);
|
||||
|
||||
for (int i = 0; i < n-1; i++)
|
||||
if (!isalnum(id[i]) && id[i] != '_')
|
||||
error->all(FLERR,"Molecule template ID must be "
|
||||
"alphanumeric or underscore characters");
|
||||
|
||||
// scan args past ifile to reach optional args
|
||||
// set last = 1 if no more files in list
|
||||
|
||||
last = 0;
|
||||
int iarg = ifile+1;
|
||||
while (iarg < narg) {
|
||||
if (strcmp(arg[iarg],"offset") == 0) break;
|
||||
if (strcmp(arg[iarg],"auto") == 0) break;
|
||||
iarg++;
|
||||
}
|
||||
if (iarg == ifile+1) last = 1;
|
||||
|
||||
// parse optional args
|
||||
|
||||
toffset = 0;
|
||||
boffset = aoffset = doffset = ioffset = 0;
|
||||
autospecial = 0;
|
||||
|
||||
while (iarg < narg) {
|
||||
if (strcmp(arg[iarg],"offset") == 0) {
|
||||
if (iarg+6 > narg) error->all(FLERR,"Illegal molecule command");
|
||||
toffset = force->inumeric(FLERR,arg[iarg+1]);
|
||||
boffset = force->inumeric(FLERR,arg[iarg+2]);
|
||||
aoffset = force->inumeric(FLERR,arg[iarg+3]);
|
||||
doffset = force->inumeric(FLERR,arg[iarg+4]);
|
||||
ioffset = force->inumeric(FLERR,arg[iarg+5]);
|
||||
if (toffset < 0 || boffset < 0 || aoffset < 0 ||
|
||||
doffset < 0 || ioffset < 0)
|
||||
error->all(FLERR,"Illegal molecule command");
|
||||
iarg += 6;
|
||||
} else if (strcmp(arg[iarg],"auto") == 0) {
|
||||
autospecial = 1;
|
||||
iarg++;
|
||||
} else error->all(FLERR,"Illegal molecule command");
|
||||
}
|
||||
|
||||
// initialize all fields to empty
|
||||
|
||||
initialize();
|
||||
|
||||
// scan file for sizes of all fields and allocate them
|
||||
|
||||
if (me == 0) open(file);
|
||||
if (me == 0) open(arg[ifile]);
|
||||
read(0);
|
||||
if (me == 0) fclose(fp);
|
||||
allocate();
|
||||
|
||||
// read file again to populate all fields
|
||||
|
||||
if (me == 0) open(file);
|
||||
if (me == 0) open(arg[ifile]);
|
||||
read(1);
|
||||
if (me == 0) fclose(fp);
|
||||
|
||||
@ -438,9 +476,15 @@ void Molecule::read(int flag)
|
||||
impropers(flag,line);
|
||||
|
||||
} else if (strcmp(keyword,"Special Bond Counts") == 0) {
|
||||
if (autospecial)
|
||||
error->all(FLERR,"Molecule file with auto keyword cannot list "
|
||||
"explict special bonds");
|
||||
nspecialflag = 1;
|
||||
nspecial_read(flag,line);
|
||||
} else if (strcmp(keyword,"Special Bonds") == 0) {
|
||||
if (autospecial)
|
||||
error->all(FLERR,"Molecule file with auto keyword cannot list "
|
||||
"explict special bonds");
|
||||
specialflag = tag_require = 1;
|
||||
if (flag) special_read(line);
|
||||
else skip_lines(natoms,line);
|
||||
@ -469,6 +513,14 @@ void Molecule::read(int flag)
|
||||
parse_keyword(1,line,keyword);
|
||||
}
|
||||
|
||||
// auto-generate special bonds
|
||||
|
||||
if (autospecial) {
|
||||
specialflag = 1;
|
||||
nspecialflag = 1;
|
||||
if (flag) special_generate();
|
||||
}
|
||||
|
||||
// clean up
|
||||
|
||||
memory->destroy(count);
|
||||
@ -518,6 +570,7 @@ void Molecule::types(char *line)
|
||||
for (int i = 0; i < natoms; i++) {
|
||||
readline(line);
|
||||
sscanf(line,"%d %d",&tmp,&type[i]);
|
||||
type[i] += toffset;
|
||||
}
|
||||
|
||||
for (int i = 0; i < natoms; i++)
|
||||
@ -600,6 +653,7 @@ void Molecule::bonds(int flag, char *line)
|
||||
readline(line);
|
||||
sscanf(line,"%d %d " TAGINT_FORMAT " " TAGINT_FORMAT,
|
||||
&tmp,&itype,&atom1,&atom2);
|
||||
itype += boffset;
|
||||
|
||||
if (atom1 <= 0 || atom1 > natoms ||
|
||||
atom2 <= 0 || atom2 > natoms)
|
||||
@ -656,6 +710,7 @@ void Molecule::angles(int flag, char *line)
|
||||
readline(line);
|
||||
sscanf(line,"%d %d " TAGINT_FORMAT " " TAGINT_FORMAT " " TAGINT_FORMAT,
|
||||
&tmp,&itype,&atom1,&atom2,&atom3);
|
||||
itype += aoffset;
|
||||
|
||||
if (atom1 <= 0 || atom1 > natoms ||
|
||||
atom2 <= 0 || atom2 > natoms ||
|
||||
@ -727,6 +782,7 @@ void Molecule::dihedrals(int flag, char *line)
|
||||
sscanf(line,"%d %d " TAGINT_FORMAT " " TAGINT_FORMAT " "
|
||||
TAGINT_FORMAT " " TAGINT_FORMAT " ",
|
||||
&tmp,&itype,&atom1,&atom2,&atom3,&atom4);
|
||||
itype += doffset;
|
||||
|
||||
if (atom1 <= 0 || atom1 > natoms ||
|
||||
atom2 <= 0 || atom2 > natoms ||
|
||||
@ -812,6 +868,7 @@ void Molecule::impropers(int flag, char *line)
|
||||
sscanf(line,"%d %d " TAGINT_FORMAT " " TAGINT_FORMAT " "
|
||||
TAGINT_FORMAT " " TAGINT_FORMAT " ",
|
||||
&tmp,&itype,&atom1,&atom2,&atom3,&atom4);
|
||||
itype += ioffset;
|
||||
|
||||
if (atom1 <= 0 || atom1 > natoms ||
|
||||
atom2 <= 0 || atom2 > natoms ||
|
||||
@ -925,6 +982,95 @@ void Molecule::special_read(char *line)
|
||||
delete [] words;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
auto generate special bond info
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void Molecule::special_generate()
|
||||
{
|
||||
int newton_bond = force->newton_bond;
|
||||
tagint atom1,atom2;
|
||||
int count[natoms];
|
||||
|
||||
for (int i = 0; i < natoms; i++) count[i] = 0;
|
||||
|
||||
// 1-2 neighbors
|
||||
|
||||
if (newton_bond) {
|
||||
for (int i = 0; i < natoms; i++) {
|
||||
for (int j = 0; j < num_bond[i]; j++) {
|
||||
atom1 = i;
|
||||
atom2 = bond_atom[i][j]-1;
|
||||
nspecial[i][0]++;
|
||||
nspecial[atom2][0]++;
|
||||
if (count[i] >= maxspecial || count[atom2] >= maxspecial)
|
||||
error->one(FLERR,"Molecule auto special bond generation overflow");
|
||||
special[i][count[i]++] = atom2 + 1;
|
||||
special[atom2][count[atom2]++] = i + 1;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < natoms; i++) {
|
||||
nspecial[i][0] = num_bond[i];
|
||||
for (int j = 0; j < num_bond[i]; j++) {
|
||||
atom2 = bond_atom[i][j];
|
||||
if (count[atom1] >= maxspecial)
|
||||
error->one(FLERR,"");
|
||||
special[i][count[atom1]++] = atom2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 1-3 neighbors with no duplicates
|
||||
|
||||
for (int i = 0; i < natoms; i++) nspecial[i][1] = nspecial[i][0];
|
||||
|
||||
int dedup;
|
||||
for (int i = 0; i < natoms; i++) {
|
||||
for (int m = 0; m < nspecial[i][0]; m++) {
|
||||
for (int j = 0; j < nspecial[special[i][m]-1][0]; j++) {
|
||||
dedup = 0;
|
||||
for (int k =0; k < count[i]; k++) {
|
||||
if (special[special[i][m]-1][j] == special[i][k] ||
|
||||
special[special[i][m]-1][j] == i+1) {
|
||||
dedup = 1;
|
||||
}
|
||||
}
|
||||
if (!dedup) {
|
||||
if (count[i] >= maxspecial)
|
||||
error->one(FLERR,"");
|
||||
special[i][count[i]++] = special[special[i][m]-1][j];
|
||||
nspecial[i][1]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 1-4 neighbors with no duplicates
|
||||
|
||||
for (int i = 0; i < natoms; i++) nspecial[i][2] = nspecial[i][1];
|
||||
|
||||
for (int i = 0; i < natoms; i++) {
|
||||
for (int m = nspecial[i][0]; m < nspecial[i][1]; m++) {
|
||||
for (int j = 0; j < nspecial[special[i][m]-1][0]; j++) {
|
||||
dedup = 0;
|
||||
for (int k =0; k < count[i]; k++) {
|
||||
if (special[special[i][m]-1][j] == special[i][k] ||
|
||||
special[special[i][m]-1][j] == i+1) {
|
||||
dedup = 1;
|
||||
}
|
||||
}
|
||||
if (!dedup) {
|
||||
if (count[i] >= maxspecial)
|
||||
error->one(FLERR,"");
|
||||
special[i][count[i]++] = special[special[i][m]-1][j];
|
||||
nspecial[i][2]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
read SHAKE flags from file
|
||||
------------------------------------------------------------------------- */
|
||||
@ -1063,7 +1209,6 @@ void Molecule::check_attributes(int flag)
|
||||
|
||||
if (mismatch)
|
||||
error->all(FLERR,"Molecule toplogy/atom exceeds system topology/atom");
|
||||
|
||||
}
|
||||
|
||||
// warn if molecule topology defined but no special settings
|
||||
@ -1156,7 +1301,9 @@ void Molecule::allocate()
|
||||
memory->create(num_improper,natoms,"molecule:num_improper");
|
||||
for (int i = 0; i < natoms; i++) num_improper[i] = 0;
|
||||
|
||||
if (autospecial) maxspecial = atom->maxspecial;
|
||||
memory->create(special,natoms,maxspecial,"molecule:special");
|
||||
|
||||
memory->create(nspecial,natoms,3,"molecule:nspecial");
|
||||
for (int i = 0; i < natoms; i++)
|
||||
nspecial[i][0] = nspecial[i][1] = nspecial[i][2] = 0;
|
||||
|
||||
@ -23,6 +23,7 @@ class Molecule : protected Pointers {
|
||||
char *id; // template id of this molecule, same for all molecules in set
|
||||
int nset; // if first in set, # of molecules in this set
|
||||
// else 0 if not first in set
|
||||
int last; // 1 if last molecule in set, else 0
|
||||
|
||||
// number of atoms,bonds,etc in molecule
|
||||
|
||||
@ -101,7 +102,7 @@ class Molecule : protected Pointers {
|
||||
double **dxbody; // displacement of each atom relative to COM
|
||||
// in body frame (diagonalized interia tensor)
|
||||
|
||||
Molecule(class LAMMPS *, char *, char *);
|
||||
Molecule(class LAMMPS *, int, char **, int);
|
||||
~Molecule();
|
||||
void compute_center();
|
||||
void compute_mass();
|
||||
@ -113,6 +114,8 @@ class Molecule : protected Pointers {
|
||||
int me;
|
||||
FILE *fp;
|
||||
int *count;
|
||||
int toffset,boffset,aoffset,doffset,ioffset;
|
||||
int autospecial;
|
||||
|
||||
void read(int);
|
||||
void coords(char *);
|
||||
@ -126,6 +129,7 @@ class Molecule : protected Pointers {
|
||||
void impropers(int, char *);
|
||||
void nspecial_read(int, char *);
|
||||
void special_read(char *);
|
||||
void special_generate();
|
||||
void shakeflag_read(char *);
|
||||
void shakeatom_read(char *);
|
||||
void shaketype_read(char *);
|
||||
|
||||
@ -1 +1 @@
|
||||
#define LAMMPS_VERSION "15 Jul 2015"
|
||||
#define LAMMPS_VERSION "17 Jul 2015"
|
||||
|
||||
Reference in New Issue
Block a user