How to model O₂ with a COM dummy charge site (TIP4P-like) in LAMMPS?

Hi everyone,
I need to simulate O₂ and N₂ gas in LAMMPS as rigid molecules while studying their vdW and Coulombic interactions with a MOF structure. In the literature, I found an O₂ model that assigns −0.112 charge to each O atom and +0.224 to a dummy site located at the O₂ center of mass (similar to a TIP4P-style virtual site).

My questions:

  1. Can LAMMPS handle a dummy charge site for molecules other than water?
  2. Should I explicitly add the dummy site as a third “atom” in my read_data file?
  3. How can I keep the dummy site attached to the O₂ COM during dynamics and hide or exclude it from analysis (RDF, MSD, dumps, etc.)?

Any guidance or example input on defining rigid O₂ (with dummy charge site) and N₂ molecules— or other methods to model these gases (for example simply consider the partial charges of zero and using a two-point model) would be greatly appreciated.
Thanks!

Currently this requires using a fix rigid variant and setting the mass of the virtual site to a very small value (say 1.0e-50) so it won’t affect the total mass (the epsilon of double precision floating point math is a bit of 1.0e-15).

Yes, see my answer to your first question.

Again, see my first answer.

You have to give this virtual site its own atom type which allows to exclude it from commands looking at atom types (like RDF) and also define suitable groups. For some kind of analysis, you do want to include it, since it carries a charge.

In the longer term, there are some ideas being circulated that would add more general support for virtual sites to LAMMPS, but so far not a single line of code has been written for that purpose.

Thanks for your kind reply.