hi Steve
I think there might be a bug in how the special functions in variable interface with per-atom computes. Around line 2731 in variable there is a check:
} else if (index && compute->array_flag) {
which makes sense but if I grep for this flag
$ grep array_flag compute*.cpp
compute_atom_molecule.cpp: array_flag = 1;
compute_com_molecule.cpp: array_flag = 1;
compute.cpp: scalar_flag = vector_flag = array_flag = 0;
compute_msd_molecule.cpp: array_flag = 1;
compute_property_molecule.cpp: array_flag = 1;
compute_rdf.cpp: array_flag = 1;
it doesn't seem to be set on some of the computes I would expect, e.g. compute_pe_atom, compute_displace_atom.
hope I am wrong,
Reese