Each OEAtomBase keeps track of two types of charges. The first, formal
charge , is an integer property that is essential for the correct valence
representation of a molecule. Together with atomic valences, bond order
and the connectivity, this field is defines the identity of a molecule.
The second type of charge, partial charge , is a floating point property
used in computational chemistry and molecular modeling. This value is
used to represent the electronic distribution/wave-function of a molecule
by approximating the molecule's electrostatic field with a set of point
charges located at each atom.
The formal charges on an atom may be stored and retrieved using the OEAtomBase::SetFormalCharge and OEAtomBase::GetFormalCharge methods respectively. Similarly, the partial charges are stored and retrieved with the OEAtomBase::SetPartialCharge and OEAtomBase::GetPartialCharge methods.
Neither the formal charge nor the partial charge is a directly observable
property of an atom. Instead the same molecule may be represented by
different valence representations, each placing the formal charges in
different locations, i.e.
[cH+]1[cH-][cH+][cH-][cH+][cH-]1 benzene , and
different partial charging algorithms may assign significantly different
partial charges to the same atom.