[lammps-users] question on compute group/group

Hi Steve
I have a question about compute group/group. As I understand, the restrict of this compute is that the interaction between groups should be pair-wised. I read the code and found that the criteria is the whether the function Single is exist for the potential i.e. pair->single_enable equal to one or not. This value is set to 1 in pair.cpp as default and for most pair-wise potentials’ source files, there are no lines about single_enable, which means the default value 1 is kept. but for some many body potentials (e.g. airebo), the single_enable is reset to 0.( am I right?)

Then there is a problem: for hybrid potentials, say system has 2 groups, potential of each is airebo, and LJ/cut between them. I need to use compute group/group to find out the interaction force. The compute group/group needs single_enable is 1 (pair_wise potential restriction), but I found for hybrid potentials, the single_enable is set to 0 (since one of the potential is airebo). Then simulation will be terminated with error message of " Pair style does not support compute group/group". So can you helps me to solve this problem to calculate interaction between groups?

Your interpretation is correct. The problem is that LAMMPS doesn't
know that the group-group interaction will only need to call single()
for the potential that does provide it. The logic there would need
to be made smarter. For now, you could probabably workaround it, by changing
the line in pair_hybrid that sets single_enable = 0 to 1.