orthonym.data.cation_words#
Note
Internal API. Names and behaviour may change between releases.
Element -> cation word table for salt composition (IUPAC 2013.
a phase Plan 04 (CHOKE-01, /).
(verbatim, the Blue Book): “Neutral salts of acids are named
- by citing the name of the cation(s) followed by the name of the anion (see
as a separate word. Different cations are cited in alphabetical
order. Formation of salts is a functionalization and not a substitution.”
A salt = cation word(s) (alphabetical) + the anion name as separate words
(potassium propanoate; potassium sodium butanedioate). The cation word
is the element name for a metal cation, and ammonium for NH4+.
This module is the single source of truth for the metal cation word. It REUSES
namer._METAL_NAMES (the existing 50-element element->word lookup — do NOT
duplicate the table) and adds the NH4+ -> ammonium case, which is not a
metal. Resolves 169.6-RESEARCH open question 3 (the table EXISTS; import/extend
it rather than rebuild).
- orthonym.data.cation_words.get_cation_word(frag_mol)#
Return the salt-composition cation word for a counter-cation fragment.
- (metals) / (ammonium). Handles:
a monatomic metal cation ([Na+], [K+], [Ca+2],…) -> the element word from
namer._METAL_NAMES(sodium / potassium / calcium /…);the ammonium cation [NH4+] ->
ammonium.
Returns the cation word, or None for a cation that is NOT a simple metal/ammonium counter-cation (an organic cation, a coordination complex, etc.) -> the caller composes it via route_charged / honest-fails .
- orthonym.data.cation_words.is_simple_cation(frag_mol)#
True iff
frag_molis a simple metal/ammonium counter-cation thatget_cation_wordcan name scope).