diff --git a/doc/Section_commands.html b/doc/Section_commands.html
index 7c60c5876a..bd2ecc2ae9 100644
--- a/doc/Section_commands.html
+++ b/doc/Section_commands.html
@@ -317,10 +317,10 @@ description:
fix planeforce - constrain atoms to move in a plane
diff --git a/doc/fix.txt b/doc/fix.txt
index acef1f1bcf..33ac885603 100644
--- a/doc/fix.txt
+++ b/doc/fix.txt
@@ -86,6 +86,7 @@ Here is an alphabetic list of fix styles defined in LAMMPS:
"fix nve"_fix_nve.html - constant NVE time integration
"fix nve/gran"_fix_nve_gran.html - NVE time integration for \
granular systems
+"fix nve/noforce"_fix_nve_noforce.html - NVE integration without forces (v only)
"fix nvt"_fix_nvt.html - constant NVT time integration via Nose/Hoover
"fix orient/fcc"_fix_orient_fcc.html - add grain boundary migration force
"fix planeforce"_fix_planeforce.html - constrain atoms to move in a plane
diff --git a/doc/fix_nve_noforce.html b/doc/fix_nve_noforce.html
new file mode 100644
index 0000000000..b5a0bfca74
--- /dev/null
+++ b/doc/fix_nve_noforce.html
@@ -0,0 +1,49 @@
+
+LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands
+
+
+
+
+
+
+
+
+
+fix nve/noforce command
+
+Syntax:
+
+fix ID group-ID nve
+
+- ID, group-ID are documented in fix command
+
- nve/noforce = style name of this fix command
+
+Examples:
+
+fix 3 wall nve/noforce
+
+Description:
+
+Perform updates of position, but not velocity for atoms in the group
+each timestep. In other words, the force on the atoms is ignored and
+their velocity is not updated. The atom's velocities are used to
+update their positions.
+
+This can be useful for wall atoms, when you set their velocities, but
+want the wall to move (or stay stationary) in a prescribed fashion.
+
+This can also be accomplished via the fix setforce
+command, but with fix nve/noforce, the forces on the wall atoms are
+unchanged, and can thus be printed out by the dump command
+or queried with an equal-style variable that uses the
+fcm() group command to compute the total force on the group of atoms.
+
+Restrictions: none
+
+Related commands:
+
+fix nvt, fix npt
+
+Default: none
+
+
diff --git a/doc/fix_nve_noforce.txt b/doc/fix_nve_noforce.txt
new file mode 100644
index 0000000000..3667e41701
--- /dev/null
+++ b/doc/fix_nve_noforce.txt
@@ -0,0 +1,44 @@
+"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 nve/noforce command :h3
+
+[Syntax:]
+
+fix ID group-ID nve :pre
+
+ID, group-ID are documented in "fix"_fix.html command
+nve/noforce = style name of this fix command :ul
+
+[Examples:]
+
+fix 3 wall nve/noforce :pre
+
+[Description:]
+
+Perform updates of position, but not velocity for atoms in the group
+each timestep. In other words, the force on the atoms is ignored and
+their velocity is not updated. The atom's velocities are used to
+update their positions.
+
+This can be useful for wall atoms, when you set their velocities, but
+want the wall to move (or stay stationary) in a prescribed fashion.
+
+This can also be accomplished via the "fix setforce"_fix_setforce.html
+command, but with fix nve/noforce, the forces on the wall atoms are
+unchanged, and can thus be printed out by the "dump"_dump.html command
+or queried with an equal-style "variable"_variable.html that uses the
+fcm() group command to compute the total force on the group of atoms.
+
+[Restrictions:] none
+
+[Related commands:]
+
+"fix nvt"_fix_nvt.html, "fix npt"_fix_npt.html
+
+[Default:] none
diff --git a/doc/variable.html b/doc/variable.html
index c87b5cc927..e03c58bfeb 100644
--- a/doc/variable.html
+++ b/doc/variable.html
@@ -29,8 +29,9 @@
thermo keywords = vol, ke, press, etc from thermo_style
math functions = add(x,y), sub(x,y), mult(x,y), div(x,y),
neg(x), pow(x,y), exp(x), ln(x), sqrt(x)
- group functions = mass(group), charge(group), xcm(group,dim),
- vcm(group,dim), bound(group,xmin), gyration(group)
+ group functions = mass(group), charge(group),
+ xcm(group,dim), vcm(group,dim), fcm(group,dim),
+ bound(group,xmin), gyration(group)
atom vectors for equal = mass[N], x[N], y[N], z[N],
vx[N], vy[N], vz[N],
fx[N], fy[N], fz[N]
@@ -196,7 +197,7 @@ variables; the syntax of Atom vector references is different.
| Number | 0.2, 1.0e20, -15.4, etc |
| Thermo keywords | vol, pe, ebond, etc |
| Math functions | add(x,y), sub(x,y), mult(x,y), div(x,y), neg(x), pow(x,y), exp(x), ln(x), sqrt(x) |
-| Group functions | mass(ID), charge(ID), xcm(ID,dim), vcm(ID,dim), bound(ID,dir), gyration(ID) |
+| Group functions | mass(ID), charge(ID), xcm(ID,dim), vcm(ID,dim), fcm(ID,dim) bound(ID,dir), gyration(ID) |
| Atom vectors for equal | mass[N], x[N], y[N], z[N], vx[N], vy[N], vz[N], fx[N], fy[N], fz[N] |
| Atom vectors for atom | mass[], x[], y[], z[], vx[], vy[], vz[], fx[], fy[], fz[] |
| Compute references | c_ID[0], c_ID[N] |
@@ -220,8 +221,9 @@ group-ID. The dim argument is x or y or z. The
argument is xmin, xmax, ymin, ymax, zmin, or zmax. The
group functions mass() and charge() are the total mass and charge of
the group of atoms. Xcm() and vcm() return components of the position
-and velocity of the center of mass of the group. Bound() returns the
-min/max of a particular coordinate for all atoms in the group.
+and velocity of the center of mass of the group. Fcm() returns a
+component of the total force on the group of atoms. Bound() returns
+the min/max of a particular coordinate for all atoms in the group.
Gyration() computes the radius-of-gyration of the group of atoms. See
the fix gyration command for the formula.
diff --git a/doc/variable.txt b/doc/variable.txt
index d8cd925472..1c4e8250ed 100644
--- a/doc/variable.txt
+++ b/doc/variable.txt
@@ -24,8 +24,9 @@ style = {index} or {loop} or {world} or {universe} or {uloop} or {equal} or {ato
thermo keywords = vol, ke, press, etc from "thermo_style"_thermo_style.html
math functions = add(x,y), sub(x,y), mult(x,y), div(x,y),
neg(x), pow(x,y), exp(x), ln(x), sqrt(x)
- group functions = mass(group), charge(group), xcm(group,dim),
- vcm(group,dim), bound(group,xmin), gyration(group)
+ group functions = mass(group), charge(group),
+ xcm(group,dim), vcm(group,dim), fcm(group,dim),
+ bound(group,xmin), gyration(group)
atom vectors for {equal} = mass\[N\], x\[N\], y\[N\], z\[N\],
vx\[N\], vy\[N\], vz\[N\],
fx\[N\], fy\[N\], fz\[N\]
@@ -190,7 +191,7 @@ Number: 0.2, 1.0e20, -15.4, etc
Thermo keywords: vol, pe, ebond, etc
Math functions: add(x,y), sub(x,y), mult(x,y), div(x,y), \
neg(x), pow(x,y), exp(x), ln(x), sqrt(x)
-Group functions: mass(ID), charge(ID), xcm(ID,dim), vcm(ID,dim), \
+Group functions: mass(ID), charge(ID), xcm(ID,dim), vcm(ID,dim), fcm(ID,dim) \
bound(ID,dir), gyration(ID)
Atom vectors for {equal}: mass\[N\], x\[N\], y\[N\], z\[N\], \
vx\[N\], vy\[N\], vz\[N\], \
@@ -218,8 +219,9 @@ group-ID. The {dim} argument is {x} or {y} or {z}. The {dir}
argument is {xmin}, {xmax}, {ymin}, {ymax}, {zmin}, or {zmax}. The
group functions mass() and charge() are the total mass and charge of
the group of atoms. Xcm() and vcm() return components of the position
-and velocity of the center of mass of the group. Bound() returns the
-min/max of a particular coordinate for all atoms in the group.
+and velocity of the center of mass of the group. Fcm() returns a
+component of the total force on the group of atoms. Bound() returns
+the min/max of a particular coordinate for all atoms in the group.
Gyration() computes the radius-of-gyration of the group of atoms. See
the "fix gyration"_fix_gyration.html command for the formula.