Class PeriodicSystem

java.lang.Object
chemaxon.core.ChemConst
chemaxon.struc.PeriodicSystem

@PublicApi public class PeriodicSystem extends ChemConst
Periodic System of the Elements. Provides basic information of the chemical elements and their isotopes.

Information on the elements are stored at element.zip. By default this file is located at the chemaxon directory but it can be overwritten by a file having the same name at user_home/chemaxon directory.

Information on the elements are stored at isotopes.data. By default this file is located at the chemaxon directory but it can be overwritten by a file having the same name at user_home/chemaxon directory.

Metal/non-metal classification of elements is based on PubChem Periodic Table of Elements.

API usage example:

     int elementCount = PeriodicSystem.getElementCount();        // number of elements in the periodic system
     int isotopeCount = PeriodicSystem.getIsotopeCount();        // number of isotopes in the periodic system
     String symbol = PeriodicSystem.getSymbol(6);                // element symbol of the 6th element
     String name = PeriodicSystem.getName(6);                    // element name of the 6th element
     int atomicNumber = PeriodicSystem.getAtomicNumber("C");     // atomic number of carbon
     double mass = PeriodicSystem.getMass(6);                    // elemental mass (weight) of an element
     int precision = PeriodicSystem.getMassPrecision(6);         // precision of a certain the elemental mass (weight)
     int isotopes = PeriodicSystem.getIsotopeCount(6);           // number of isotopes of carbon
     int mainIsotope =
          PeriodicSystem.getMostFrequentNaturalIsotope(6);       // the most frequent natural isotope of carbon
     double isotopeMass = PeriodicSystem.getMass(6, 14);         // isotopic mass (weight) of carbon 14
     int isotopePrecision =
          PeriodicSystem.getMassPrecision(6, 14);                // precision of a certain isotopic mass (weight)
     int deuterium = PeriodicSystem.getAtomicNumber("D");        // atomic number of Deuterium
 
  • Constructor Details

    • PeriodicSystem

      public PeriodicSystem()
  • Method Details

    • getElementCount

      public static int getElementCount()
      Number of elements in the periodic system
      Returns:
      number of element
    • getIsotopeCount

      public static int getIsotopeCount()
      Number of isotopes in the periodic system
      Returns:
      number of isotopes
    • getIsotopeCount

      public static int getIsotopeCount(int z)
      Number of isotopes of the element
      Parameters:
      z - atomic number of the element (protons)
      Returns:
      number of isotopes
    • getIsotope

      public static int getIsotope(int z, int i)
      Retrieves an isotope of the element
      Parameters:
      z - atomic number of the element (protons)
      i - index of the isotope (0 based)
      Returns:
      mass number of the isotope
    • getName

      public static String getName(int z)
      Name of the element
      Parameters:
      z - atomic number (protons)
      Returns:
      element name
    • getSymbol

      public static String getSymbol(int z)
      Symbol of the element
      Parameters:
      z - atomic number (protons)
      Returns:
      element symbol
    • getMass

      public static double getMass(int z)
      Atomic weight of the element based on the natural abundance of its isotopes
      Parameters:
      z - atomic number (protons)
      Returns:
      elemental mass
    • getMass

      public static double getMass(int z, int m)
      Atomic weight of an isotope
      Parameters:
      z - atomic number of the isotope
      m - mass number of the isotope (0 for element mass)
      Returns:
      isotope mass (0 if isotope does not exist)
    • getMassPrecision

      public static int getMassPrecision(int z)
      The precision of an elemental mass is the number of measured digits after the decimal separator. For example, the mass of Mg is 24.3050, so its precision is 4.
      Parameters:
      z - atomic number (protons)
      Returns:
      the number of significant digits after the decimal point
    • getMassPrecision

      public static int getMassPrecision(int z, int m)
      The precision of an isotopic mass is the number of measured digits after the decimal separator. For example, the mass of [4He] is 4.002603250, so its precision is 9.
      Parameters:
      z - atomic number (protons)
      m - mass number of the isotope (0 for element mass)
      Returns:
      the number of significant digits after the decimal point (0 if isotope does not exists)
    • getAbundance

      public static double getAbundance(int z, int m)
      Natural abundance of the isotope
      Parameters:
      z - atomic number of the isotope (protons)
      m - mass number of the isotope (protons + neutrons)
      Returns:
      natural abundance (100 for the most frequent isotope)
    • getMostFrequentNaturalIsotope

      public static int getMostFrequentNaturalIsotope(int z)
      Returns the mass number of the most frequent natural isotope of the element
      Parameters:
      z - atomic number (protons)
      Returns:
      mass number of the isotope (0 if artificial element)
    • getAtomicNumber

      public static int getAtomicNumber(String symbol)
      Returns the atomic number of the element in the periodic system specified by its symbol or -1 if not found. Case insensitive. In addition to elements of the periodic system, Deuterium and Tritium isotopes are also handled.
      Parameters:
      symbol - atom symbol e.g. "C", "Br", "BR".
      Returns:
      atomic number for the given symbol or -1 if not found (case insensitive).
      See Also:
    • findAtomicNumber

      public static int findAtomicNumber(String symbol) throws IllegalArgumentException
      Returns the atomic number of the element in the periodic system specified by its symbol. Case insensitive. In addition to elements of the periodic system, Deuterium and Tritium isotopes are also handled.
      Parameters:
      symbol - atom symbol e.g. "C", "Br", "BR".
      Returns:
      atomic number for the given symbol (case insensitive).
      Throws:
      IllegalArgumentException - if symbol does not correspond to a chemical element in the periodic table.
      See Also:
    • isAtomicSymbol

      public static boolean isAtomicSymbol(String symbol)
      Returns whether the given string corresponds to an atomic number of an element in the periodic system specified by its symbol. Case insensitive.
      Parameters:
      symbol - atom symbol e.g. "C", "Br", "BR".
      Returns:
      true if atomic number found else false.
    • getAtomicRadius

      public static double getAtomicRadius(int z)
      Atomic radius of the element Angstroms.
      Parameters:
      z - atomic number (protons)
      Returns:
      atomic radius (1.5 if unknown)
    • getCovalentRadius

      public static double getCovalentRadius(int z)
      Covalent radius of the element in Angstroms.
      Parameters:
      z - atomic number (protons)
      Returns:
      atomic radius (1.5 if unknown)
    • getCovalentRadius

      public static double getCovalentRadius(int z, int t)
      Covalent radius of the element in specific bond type in Angstroms.
      Parameters:
      z - atomic number (protons)
      t - bond type
      Returns:
      atomic radius (1.5 if unknown)
    • getVanDerWaalsRadius

      public static double getVanDerWaalsRadius(int z)
      Van der Waals radius of the element in Angstroms.
      Parameters:
      z - atomic number (protons)
      Returns:
      atomic radius (2.0 if unknown)
    • getRow

      public static int getRow(int z)
      The row or or period of an element in the periodic system.
      Parameters:
      z - atomic number (protons)
      Returns:
      column of the given element (0 for unknown)
      Since:
      Marvin 4.1
    • isMetal

      public static boolean isMetal(int z)
      Decides whether the element is a metal. It returns true for those elements, that are classified as different kinds of metals: alkali metal, alkaline earth metal, transition metal and other metals, as well as Ge, Sb and Po from the metalloids.
      Parameters:
      z - atomic number (protons)
      Returns:
      true if the element is metal
    • isAlkaliMetal

      public static boolean isAlkaliMetal(int z)
      Checks if the given atom is an alkali (group I.) metal.
      Parameters:
      z - atomic number of the atom.
      Returns:
      true if the given atom is alkali metal.
    • isAlkalineEarthMetal

      public static boolean isAlkalineEarthMetal(int z)
      Checks if the given atom is an alkaline earth (group II.) metal.
      Parameters:
      z - atomic number of the atom.
      Returns:
      true if the given atom is an alkaline earth metal.
    • isOtherMetal

      public static boolean isOtherMetal(int z)
      Checks if the given atom is an "other metal", group IIIa-Va metal.
      Parameters:
      z - atomic number of the atom.
      Returns:
      true if the given atom is other metal.
    • isTransitionMetal

      public static boolean isTransitionMetal(int z)
      Checks if the given atom is a transition metal, IB-VIIIB. Lanthanum and Actinium are excluded.
      Parameters:
      z - atomic number of the atom.
      Returns:
      true if the given atom is a transition metal.
    • isLanthanideMetal

      public static boolean isLanthanideMetal(int z)
      Checks if the given atom is a lanthanide metal Lanthanum is included.
      Parameters:
      z - atomic number of the atom.
      Returns:
      true if the given atom is a lanthanide metal.
    • isActinideMetal

      public static boolean isActinideMetal(int z)
      Checks if the given atom is an actinide metal Actinium is included.
      Parameters:
      z - atomic number of the atom.
      Returns:
      true if the given atom is a actinide metal.
    • isMetalloid

      public static boolean isMetalloid(int z)
      Checks if the given atom is a metalloid (B, Si, Ge, As, Sb, Te, Po).
      Parameters:
      z - atomic number of the atom.
      Returns:
      true if the given atom is a metalloid.
    • isHalogen

      public static boolean isHalogen(int z)
      Checks if the given atom is a halogen (F, Cl, Br, I, At, Ts).
      Parameters:
      z - atomic number of the atom.
      Returns:
      true if the given atom is a halogen.
    • isNobleGas

      public static boolean isNobleGas(int z)
      Checks if the given atom is a noble gas.
      Parameters:
      z - atomic number of the atom.
      Returns:
      true if the given atom is a noble gas.