Somehow with my script the Peridynamic particles' mass is always set equal to density, no matter what the value of volume is set at. You can see that in the dump file output. I include here my simple input script with just 27 particles created.

The doc page section for the set density command,
does not say that it does anything special for peridynamic
particles. It that case it just sets mass = density. It also
says that setting the volume (which you do after the density),
does not reset the mass.

So I think the code is doing what it says. Maybe some
logic should be added to the set density or volume options
to do something more intelligent for peridynamic particles.
The set density was really implemented for spheroids, ellipsoids,
etc.

I'll CC Mike Parks on this to see if he has a comment or
suggestion.

The units for the equation of motion for peridynamics are a little different than for standard MD in that we evolve the mass density of a particle rather than its mass (see equation (3.1) of the users' guide -- http://www.sandia.gov/~mlparks/papers/PDLAMMPS.pdf). As Steve said, I believe the code is doing what it says. At the discrete level you can formally imagine multiplying equation (4.2) through on both sides by the volume of particle i to get an equation that evolves mass in time, rather than mass density. In practice this would involve more computational work per timestep and would just be a rescaling of (3.1), so we don't do it. Note that if you're interested in dumping out the force (rather than force density) at a particle, you can easily define a compute to do this.

I see. So if I'm not wrong, now if I write the command "dump 1 all custom dump.file mass fx fy fz" in the Lammps script, I should expect that in the dump file: the mass output will be the mass density (unit of kg/m^3), while the fx fy fz will actually be force density (unit of N/m^3). Is that correct?