Elements
********

There are two helper classes for chemical elements: "Elements" and
"Element".

"Elements" contains read-only static attributes for each element
supported in AMS, accessible by their capitalized names. For example:

* "Elements.Hydrogen": Represents the element Hydrogen.

* "Elements.Carbon": Represents the element Carbon.

Each attribute is an instance of "Element" corresponding to that
element. Additionally, the "Elements" class provides class methods for
retrieving the elements by symbol or atomic number. For example:

   from scm.base import Elements

   for z in range(1, 100):
       el = Elements.from_atomic_number(z) # 'el' is an instance of the Element class
       print(f"{el.symbol}: mass {el.mass} [dalton]")

class Element

   property Z

      The atomic number of the element.

   property bond_guess_connectors

      Number of connectors of an atom as used by the AMS bond guessing
      algorithm.

   property bond_guess_electro_negative

      Whether or not an element is considered electronegative by the
      AMS bond guessing algorithm.

   property bond_guess_metallic

      Whether or not an element is considered metallic by the AMS bond
      guessing algorithm.

   property color

      The color of the element used in the AMS graphical user
      interface.

   property lone_pairs

      The element's number of lone pairs as used by the AMS bond
      guessing algorithm.

   property mass

      The atomic mass (in Dalton) of the most abundant naturally
      occurring isotope of the element.

   property radius

      The covalent radius of the element in angstrom.

   property symbol

      The symbol of the element, e.g "C" for carbon.

class Elements

   static from_atomic_number(Z: int) -> Element

      Returns an Element given its atomic number.

   static from_symbol(symbol: str) -> Element

      Returns an Element given the element symbol as a string.
