[lammps-users] Per-atom virial Issue


I've done some searching through the mailing list and I seem to be having the same problem as the person posting here:


I am attempting to use the stress/atom compute, then reducing one component of this vector into a global scalar through the reduce compute. The error I get is the same as the previous poster: "ERROR: Per-atom virial was not tallied on needed timestep". The section of my input file looks like this:

compute peratom stressregion stress/atom
compute individualPressurex stressregion reduce sum c_peratom[1]
thermo_style custom step temp press pxx pyy pzz vol lx ly lz pe c_individualPressurex

I've even tried to use a similar code that was an example of how to use the stress/atom compute along with a reduce compute to get the same output as the global pressure compute (http://lammps.sandia.gov/doc/compute_stress_atom.html - bottom of page). This input section is as follows:

compute peratom all stress/atom
compute p all reduce sum c_peratom[1] c_peratom[2] c_peratom[3]
variable press equal -(c_p[1]+c_p[2]+c_p[3])/(3*vol)
thermo_style custom step temp etotal press v_press

The above input gives me the same error as my input file.

Additionally, I've tried to use the virial keyword on the stress/atom compute and LAMMPS is returning that it is an illegal command. Is the documentation (http://lammps.sandia.gov/doc/compute_stress_atom.html) out of date?

I am using 9 Jan 2009 LAMMPS version.

I'd greatly appreciate any help.

Joe Heidenreich

I am using 9 Jan 2009 LAMMPS version.

There were some bug fixes after than release that probably fixed
the issue you are having. Please download the most current (fully patched)
version and see if you can reproduce your problem. If you can, then please
post a sample input script (as simple and small as possible) which illustrates