Viscosity calculation for many groups

Hello!

I am trying to calculate viscostiy for severaly atom groups at the same time, i go something like this (partial in-file, adapted from 8.3.7. Calculate viscosity — LAMMPS documentation):


variable pxy equal pxy
variable pxz equal pxz
variable pyz equal pyz

group liqO type 5
group liqC type 6

fix corrO liqO ave/correlate $s $p $d v_pxy v_pxz v_pyz type auto file acorr_O.dat ave running
fix corrC liqC ave/correlate $s $p $d v_pxy v_pxz v_pyz type auto file acorr_C.dat ave running

but the content of the files acorr_O.dat and acorr_C.dat are the same. What i want is to calculate the autocorrelation for oxygen and carbone the frames of one run, and they sould obviosly differ, can one do that? What am i doing wrong here?

The pxy, pxz, and pyz thermo properties are global properties and equal style variables are global, similarly fix ave/correlate operates on global data, hence the two fix commands must produce the same output. Mind you, the documentation for fix ave/correlate explicitly states that it ignores the group ID.

Pressure in general is a global property, so computing pressure for a subset of atoms is not a well defined property. In principal, you can compute pressures of sub-volumes by using compute stress/atom, compute reduce, and then divide by the volume. But the volume of individual atoms is not well defined, so you would have to come up with a meaningful approximation, which is not easy.

Thank your for the meaningful response!
If I undurstand you correctly, in standart approach, the calculation of the autocorrelation (consequently a viscosity) for a single group/groups of atom is impracticable. So, in my example the computed results are for the whole system? If i need to separte a specific group/groups of atom I should think about a proper pressure approximation for that group/groups?

Not just impractical but also without relevance since it is based on ill-defined data.

Beyond that, I have nothing to add to my previous comments. They say everything that I have to say and I don’t like to repeat myself.

Thank you kindly for your commnets.