Class PeriodicTable

java.lang.Object
chemaxon.struc.PeriodicTable

@PublicApi public class PeriodicTable extends Object
Periodic table 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 = PeriodicTable.getElementCount();        // number of elements in the periodic table
     int isotopeCount = PeriodicTable.getIsotopeCount();        // number of isotopes in the periodic table
     String symbol = PeriodicTable.getSymbol(6);                // element symbol of the 6th element
     String name = PeriodicTable.getName(6);                    // element name of the 6th element
     int atomicNumber = PeriodicTable.getAtomicNumber("C");     // atomic number of carbon
     double mass = PeriodicTable.getMass(6);                    // elemental mass (weight) of an element
     int precision = PeriodicTable.getMassPrecision(6);         // precision of a certain the elemental mass (weight)
     int isotopes = PeriodicTable.getIsotopeCount(6);           // number of isotopes of carbon
     int mainIsotope =
          PeriodicTable.getMostFrequentNaturalIsotope(6);       // the most frequent natural isotope of carbon
     double isotopeMass = PeriodicTable.getMass(6, 14);         // isotopic mass (weight) of carbon 14
     int isotopePrecision =
          PeriodicTable.getMassPrecision(6, 14);                // precision of a certain isotopic mass (weight)
     int deuterium = PeriodicTable.getAtomicNumber("D");        // atomic number of Deuterium
 
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Atomic number of the element Ac.
    static final int
    Atomic number of the element Ag.
    static final int
    Atomic number of the element Al.
    static final int
    Atomic number of the element Am.
    static final int
    Atomic number of the element Ar.
    static final int
    Atomic number of the element As.
    static final int
    Atomic number of the element At.
    static final int
    Atomic number of the element Au.
    static final int
    Atomic number of the element B.
    static final int
    Atomic number of the element Ba.
    static final int
    Atomic number of the element Be.
    static final int
    Atomic number of the element Bh.
    static final int
    Atomic number of the element Bi.
    static final int
    Atomic number of the element Bk.
    static final int
    Atomic number of the element Br.
    static final int
    Atomic number of the element C.
    static final int
    Atomic number of the element Ca.
    static final int
    Atomic number of the element Cd.
    static final int
    Atomic number of the element Ce.
    static final int
    Atomic number of the element Cf.
    static final int
    Atomic number of the element Cl.
    static final int
    Atomic number of the element Cm.
    static final int
    Atomic number of the element Cn.
    static final int
    Atomic number of the element Co.
    static final int
    Atomic number of the element Cr.
    static final int
    Atomic number of the element Cs.
    static final int
    Atomic number of the element Cu.
    static final int
    Atomic number of the element Db.
    static final int
    Atomic number of the element Ds.
    static final int
    Atomic number of the element Dy.
    static final int
    Number of elements in the periodic table
    static final int
    Atomic number of the element Er.
    static final int
    Atomic number of the element Es.
    static final int
    Atomic number of the element Eu.
    static final int
    Atomic number of the element F.
    static final int
    Atomic number of the element Fe.
    static final int
    Atomic number of the element Fl.
    static final int
    Atomic number of the element Fm.
    static final int
    Atomic number of the element Fr.
    static final int
    Atomic number of the element Ga.
    static final int
    Atomic number of the element Gd.
    static final int
    Atomic number of the element Ge.
    static final int
    Atomic number of the element H.
    static final int
    Atomic number of the element He.
    static final int
    Atomic number of the element Hf.
    static final int
    Atomic number of the element Hg.
    static final int
    Atomic number of the element Ho.
    static final int
    Atomic number of the element Hs.
    static final int
    Atomic number of the element I.
    static final int
    Atomic number of the element In.
    static final int
    Atomic number of the element Ir.
    static final int
    Atomic number of the element K.
    static final int
    Atomic number of the element Kr.
    static final int
    Atomic number of the element La.
    static final int
    Atomic number of the element Li.
    static final int
    Atomic number of the element Lr.
    static final int
    Atomic number of the element Lu.
    static final int
    Atomic number of the element Lv.
    static final int
    Atomic number of the element Mc.
    static final int
    Atomic number of the element Md.
    static final int
    Atomic number of the element Mg.
    static final int
    Atomic number of the element Mn.
    static final int
    Atomic number of the element Mo.
    static final int
    Atomic number of the element Mt.
    static final int
    Atomic number of the element N.
    static final int
    Atomic number of the element Na.
    static final int
    Atomic number of the element Nb.
    static final int
    Atomic number of the element Nd.
    static final int
    Atomic number of the element Ne.
    static final int
    Atomic number of the element Nh.
    static final int
    Atomic number of the element Ni.
    static final int
    Atomic number of the element No.
    static final int
    Atomic number of the element Np.
    static final int
    Atomic number of the element O.
    static final int
    Atomic number of the element Og.
    static final int
    Atomic number of the element Os.
    static final int
    Atomic number of the element P.
    static final int
    Atomic number of the element Pa.
    static final int
    Atomic number of the element Pb.
    static final int
    Atomic number of the element Pd.
    static final int
    Atomic number of the element Pm.
    static final int
    Atomic number of the element Po.
    static final int
    Atomic number of the element Pr.
    static final int
    Atomic number of the element Pt.
    static final int
    Atomic number of the element Pu.
    static final int
    Atomic number of the element Ra.
    static final int
    Atomic number of the element Rb.
    static final int
    Atomic number of the element Re.
    static final int
    Atomic number of the element Rf.
    static final int
    Atomic number of the element Rg.
    static final int
    Atomic number of the element Rh.
    static final int
    Atomic number of the element Rn.
    static final int
    Atomic number of the element Ru.
    static final int
    Atomic number of the element S.
    static final int
    Atomic number of the element Sb.
    static final int
    Atomic number of the element Sc.
    static final int
    Atomic number of the element Se.
    static final int
    Atomic number of the element Sg.
    static final int
    Atomic number of the element Si.
    static final int
    Atomic number of the element Sm.
    static final int
    Atomic number of the element Sn.
    static final int
    Atomic number of the element Sr.
    static final int
    Atomic number of the element Ta.
    static final int
    Atomic number of the element Tb.
    static final int
    Atomic number of the element Tc.
    static final int
    Atomic number of the element Te.
    static final int
    Atomic number of the element Th.
    static final int
    Atomic number of the element Ti.
    static final int
    Atomic number of the element Tl.
    static final int
    Atomic number of the element Tm.
    static final int
    Atomic number of the element Ts.
    static final int
    Atomic number of the element U.
    static final int
    Atomic number of the element V.
    static final int
    Atomic number of the element W.
    static final int
    Atomic number of the element Xe.
    static final int
    Atomic number of the element Y.
    static final int
    Atomic number of the element Yb.
    static final int
    Atomic number of the element Zn.
    static final int
    Atomic number of the element Zr.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    Returns the atomic number of the element in the periodic table specified by its symbol.
    static double
    getAbundance(int z, int m)
    Natural abundance of the isotope
    static int
    Returns the atomic number of the element in the periodic table specified by its symbol or -1 if not found.
    static double
    Atomic radius of the element Angstroms.
    static int
    getColumn(int z)
    The column or group of an element in the periodic table.
    static double
    Covalent radius of the element in Angstroms.
    static double
    getCovalentRadius(int z, int t)
    Covalent radius of the element in specific bond type in Angstroms.
    static int
    Number of elements in the periodic table
    static int
    getIsotope(int z, int i)
    Retrieves an isotope of the element
    static int
    Number of isotopes in the periodic table
    static int
    Number of isotopes of the element
    static double
    getMass(int z)
    Atomic weight of the element based on the natural abundance of its isotopes
    static double
    getMass(int z, int m)
    Atomic weight of an isotope
    static int
    The precision of an elemental mass is the number of measured digits after the decimal separator.
    static int
    getMassPrecision(int z, int m)
    The precision of an isotopic mass is the number of measured digits after the decimal separator.
    static int
    Returns the mass number of the most frequent natural isotope of the element
    static String
    getName(int z)
    Name of the element
    static int
    getRow(int z)
    The row or or period of an element in the periodic table.
    static String
    getSymbol(int z)
    Symbol of the element
    static double
    Van der Waals radius of the element in Angstroms.
    static boolean
    Checks if the given atom is an actinide metal Actinium is included.
    static boolean
    Checks if the given atom is an alkali (group I.) metal.
    static boolean
    Checks if the given atom is an alkaline earth (group II.) metal.
    static boolean
    Returns whether the given string corresponds to an atomic number of an element in the periodic table specified by its symbol.
    static boolean
    isHalogen(int z)
    Checks if the given atom is a halogen (F, Cl, Br, I, At, Ts).
    static boolean
    Checks if the given atom is a lanthanide metal Lanthanum is included.
    static boolean
    isMetal(int z)
    Decides whether the element is a metal.
    static boolean
    isMetalloid(int z)
    Checks if the given atom is a metalloid (B, Si, Ge, As, Sb, Te, Po).
    static boolean
    isNobleGas(int z)
    Checks if the given atom is a noble gas.
    static boolean
    isOtherMetal(int z)
    Checks if the given atom is an "other metal", group IIIa-Va metal.
    static boolean
    Checks if the given atom is a transition metal, IB-VIIIB.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • PeriodicTable

      public PeriodicTable()
  • Method Details

    • getElementCount

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

      public static int getIsotopeCount()
      Number of isotopes in the periodic table
      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
    • getColumn

      public static int getColumn(int z)
      The column or group of an element in the periodic table.
      Parameters:
      z - atomic number (protons)
      Returns:
      column of the given element (0 for unknown)
      Since:
      Marvin 4.1
    • 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 table specified by its symbol or -1 if not found. Case insensitive. In addition to elements of the periodic table, 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 table specified by its symbol. Case insensitive. In addition to elements of the periodic table, 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 table 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 table.
      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.