Dumping tangential forces with a hybrid pairstyle


I would like to dump the tangential forces between spheres when using a pair style hybrid/overlay of lubricate and gran/hooke/history. For example, my pair style might be:

pair_style hybrid/overlay gran/hooke/history 1 1 0 0 1 1 limit_damping lubricate .1 1 1 1.001 1.1 1 0

Now, the method I might use for just gran/hooke/history, invoking

compute pairtang all pair/local p1 p2 p3

fails, as it seems the overlay option doesn’t have a way to combine the single() function for two styles, and, lubricate doesn’t have one anyway (I suppose it would be ill-defined). Stopping at a restart and re-running with just one style defined for 0 steps (dumping for the first config) also doesn’t work, as it seems the required info for gran/hooke/history isn’t saved to a restart file. What I’m wondering is if there’s a way I haven’t thought of around this, even if that means modifying LAMMPS somewhat. Would it be possible to write a new pairstyle that is essentially a combination of gran/hooke/history and lubricate, and then to define a single() that is exactly gran/hooke/history’s single()? (the tangential forces from gran/hooke/history are the only ones I’m interested in) It seems so, but I’m not familiar enough with LAMMPS to be sure that won’t cause unforseen problems.
I know I can force gran/hooke/history to print to stdout (using logmesg) the tangential forces it calculates every step, but that seems a terribly hacked way to gather the information I need, on top of requiring the output of the tangential forces on every single timestep.

For reference, I am on the 22 Dec 2022 version.