There's a few different parts to it. First there's an atom type swm4ndp-OD defined as
Code: Select all
<Type name="swm4ndp-OD" class="OWD" mass="0.4"/>
Notice that, unlike most atom types, there's no "element" attribute. That's how it knows this is an "extra particle", one that doesn't correspond to an actual atom. Next there's this line in the residue template:
Code: Select all
<Atom name="OD" type="swm4ndp-OD"/>
That tells it to expect the residue to contain a particle that can be matched to that type (its element will be set to None). That still doesn't say to
add it. It just says to expect that particle to already be there. However, if the user calls Modeller.addExtraParticles(), the extra particle will get added.
Finally there's the line you quoted in the <DrudeForce> tag. That tells it what parameters to use for a Drude particle of type swm4ndp-OD connected to an atom of type swm4ndp-O.
Here are some pieces of documentation that may help to explain these things:
http://docs.openmm.org/latest/userguide ... c-concepts
http://docs.openmm.org/latest/userguide ... -particles
http://docs.openmm.org/latest/userguide ... ude-plugin