Package chemaxon.struc
Class PeriodicSystem
java.lang.Object
chemaxon.core.ChemConst
chemaxon.struc.PeriodicSystem
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
-
Field Summary
Fields inherited from class chemaxon.core.ChemConst
Ac, Ag, Al, Am, Ar, As, At, Au, B, Ba, Be, Bh, Bi, Bk, Br, C, Ca, Cd, Ce, Cf, Cl, Cm, Cn, Co, Cr, Cs, Cu, Db, Ds, Dy, ELEMENT_COUNT, Er, Es, Eu, F, Fe, Fl, Fm, Fr, Ga, Gd, Ge, H, He, Hf, Hg, Ho, Hs, I, In, Ir, K, Kr, La, Li, Lr, Lu, Lv, Mc, Md, Mg, Mn, Mo, Mt, N, Na, Nb, Nd, Ne, Nh, Ni, No, Np, O, Og, Os, P, Pa, Pb, Pd, Pm, Po, Pr, Pt, Pu, Ra, Rb, Re, Rf, Rg, Rh, Rn, Ru, S, Sb, Sc, Se, Sg, Si, Sm, Sn, Sr, Ta, Tb, Tc, Te, Th, Ti, Tl, Tm, Ts, U, V, W, Xe, Y, Yb, Zn, Zr
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic int
findAtomicNumber
(String symbol) Returns the atomic number of the element in the periodic system specified by its symbol.static double
getAbundance
(int z, int m) Natural abundance of the isotopestatic int
getAtomicNumber
(String symbol) Returns the atomic number of the element in the periodic system specified by its symbol or -1 if not found.static double
getAtomicRadius
(int z) Atomic radius of the element Angstroms.static double
getCovalentRadius
(int z) 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 systemstatic int
getIsotope
(int z, int i) Retrieves an isotope of the elementstatic int
Number of isotopes in the periodic systemstatic int
getIsotopeCount
(int z) Number of isotopes of the elementstatic double
getMass
(int z) Atomic weight of the element based on the natural abundance of its isotopesstatic double
getMass
(int z, int m) Atomic weight of an isotopestatic int
getMassPrecision
(int z) 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 elementstatic String
getName
(int z) Name of the elementstatic int
getRow
(int z) The row or or period of an element in the periodic system.static String
getSymbol
(int z) Symbol of the elementstatic double
getVanDerWaalsRadius
(int z) Van der Waals radius of the element in Angstroms.static boolean
isActinideMetal
(int z) Checks if the given atom is an actinide metal Actinium is included.static boolean
isAlkaliMetal
(int z) Checks if the given atom is an alkali (group I.) metal.static boolean
isAlkalineEarthMetal
(int z) Checks if the given atom is an alkaline earth (group II.) metal.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.static boolean
isHalogen
(int z) Checks if the given atom is a halogen (F, Cl, Br, I, At, Ts).static boolean
isLanthanideMetal
(int z) 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
isTransitionMetal
(int z) Checks if the given atom is a transition metal, IB-VIIIB.
-
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
Name of the element- Parameters:
z
- atomic number (protons)- Returns:
- element name
-
getSymbol
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 isotopem
- 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
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
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
- ifsymbol
does not correspond to a chemical element in the periodic table.- See Also:
-
isAtomicSymbol
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.
-