chemaxon.struc
Class PeriodicSystem

java.lang.Object
  extended by chemaxon.struc.PeriodicSystem

public class PeriodicSystem
extends java.lang.Object

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.

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
 

Version:
Marvin 5.2.1, 03/29/2009
Author:
Gyorgy Pirok, Peter Csizmadia

Field Summary
static int Ac
           
static int Ag
           
static int Al
           
static int Am
           
static int Ar
           
static int As
           
static int At
           
static int Au
           
static int B
           
static int Ba
           
static int Be
           
static int Bh
           
static int Bi
           
static int Bk
           
static int Br
           
static int C
           
static int Ca
           
static int Cd
           
static int Ce
           
static int Cf
           
static int Cl
           
static int Cm
           
static int Co
           
static int Cr
           
static int Cs
           
static int Cu
           
static int Db
           
static int Ds
           
static int Dy
           
static int Er
           
static int Es
           
static int Eu
           
static int F
           
static int Fe
           
static int Fm
           
static int Fr
           
static int Ga
           
static int Gd
           
static int Ge
           
static int H
           
static int He
           
static int Hf
           
static int Hg
           
static int Ho
           
static int Hs
           
static int I
           
static int In
           
static int Ir
           
static int K
           
static int Kr
           
static int La
           
static int Li
           
static int Lr
           
static int Lu
           
static int Md
           
static int Mg
           
static int Mn
           
static int Mo
           
static int Mt
           
static int N
           
static int Na
           
static int Nb
           
static int Nd
           
static int Ne
           
static int Ni
           
static int No
           
static int Np
           
static int O
           
static int Os
           
static int P
           
static int Pa
           
static int Pb
           
static int Pd
           
static int Pm
           
static int Po
           
static int Pr
           
static int Pt
           
static int Pu
           
static int Ra
           
static int Rb
           
static int Re
           
static int Rf
           
static int Rg
           
static int Rh
           
static int Rn
           
static int Ru
           
static int S
           
static int Sb
           
static int Sc
           
static int Se
           
static int Sg
           
static int Si
           
static int Sm
           
static int Sn
           
static int Sr
           
static int Ta
           
static int Tb
           
static int Tc
           
static int Te
           
static int Th
           
static int Ti
           
static int Tl
           
static int Tm
           
static int U
           
static int V
           
static int W
           
static int Xe
           
static int Y
           
static int Yb
           
static int Zn
           
static int Zr
           
 
Constructor Summary
PeriodicSystem()
           
 
Method Summary
static int findAtomicNumber(java.lang.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 isotope
static int getAtomicNumber(java.lang.String symbol)
          Deprecated. As of Marvin 5.9, replaced by a similar method which throws IllegalArgumentException in case of failure findAtomicNumber(String).
static double getAtomicRadius(int z)
          Atomic radius of the element Angstroms.
static int getColumn(int z)
          The column or group of an element in the periodic system.
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 getElementCount()
          Number of elements in the periodic system
static int getIsotope(int z, int i)
          Retrieves an isotope of the element
static int getIsotopeCount()
          Number of isotopes in the periodic system
static int getIsotopeCount(int z)
          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 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 getMostFrequentNaturalIsotope(int z)
          Returns the mass number of the most frequent natural isotope of the element
static java.lang.String getName(int z)
          Name of the element
static int getRow(int z)
          The row or or period of an element in the periodic system.
static java.lang.String getSymbol(int z)
          Symbol of the element
static 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(java.lang.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.
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.
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

H

public static final int H
See Also:
Constant Field Values

He

public static final int He
See Also:
Constant Field Values

Li

public static final int Li
See Also:
Constant Field Values

Be

public static final int Be
See Also:
Constant Field Values

B

public static final int B
See Also:
Constant Field Values

C

public static final int C
See Also:
Constant Field Values

N

public static final int N
See Also:
Constant Field Values

O

public static final int O
See Also:
Constant Field Values

F

public static final int F
See Also:
Constant Field Values

Ne

public static final int Ne
See Also:
Constant Field Values

Na

public static final int Na
See Also:
Constant Field Values

Mg

public static final int Mg
See Also:
Constant Field Values

Al

public static final int Al
See Also:
Constant Field Values

Si

public static final int Si
See Also:
Constant Field Values

P

public static final int P
See Also:
Constant Field Values

S

public static final int S
See Also:
Constant Field Values

Cl

public static final int Cl
See Also:
Constant Field Values

Ar

public static final int Ar
See Also:
Constant Field Values

K

public static final int K
See Also:
Constant Field Values

Ca

public static final int Ca
See Also:
Constant Field Values

Sc

public static final int Sc
See Also:
Constant Field Values

Ti

public static final int Ti
See Also:
Constant Field Values

V

public static final int V
See Also:
Constant Field Values

Cr

public static final int Cr
See Also:
Constant Field Values

Mn

public static final int Mn
See Also:
Constant Field Values

Fe

public static final int Fe
See Also:
Constant Field Values

Co

public static final int Co
See Also:
Constant Field Values

Ni

public static final int Ni
See Also:
Constant Field Values

Cu

public static final int Cu
See Also:
Constant Field Values

Zn

public static final int Zn
See Also:
Constant Field Values

Ga

public static final int Ga
See Also:
Constant Field Values

Ge

public static final int Ge
See Also:
Constant Field Values

As

public static final int As
See Also:
Constant Field Values

Se

public static final int Se
See Also:
Constant Field Values

Br

public static final int Br
See Also:
Constant Field Values

Kr

public static final int Kr
See Also:
Constant Field Values

Rb

public static final int Rb
See Also:
Constant Field Values

Sr

public static final int Sr
See Also:
Constant Field Values

Y

public static final int Y
See Also:
Constant Field Values

Zr

public static final int Zr
See Also:
Constant Field Values

Nb

public static final int Nb
See Also:
Constant Field Values

Mo

public static final int Mo
See Also:
Constant Field Values

Tc

public static final int Tc
See Also:
Constant Field Values

Ru

public static final int Ru
See Also:
Constant Field Values

Rh

public static final int Rh
See Also:
Constant Field Values

Pd

public static final int Pd
See Also:
Constant Field Values

Ag

public static final int Ag
See Also:
Constant Field Values

Cd

public static final int Cd
See Also:
Constant Field Values

In

public static final int In
See Also:
Constant Field Values

Sn

public static final int Sn
See Also:
Constant Field Values

Sb

public static final int Sb
See Also:
Constant Field Values

Te

public static final int Te
See Also:
Constant Field Values

I

public static final int I
See Also:
Constant Field Values

Xe

public static final int Xe
See Also:
Constant Field Values

Cs

public static final int Cs
See Also:
Constant Field Values

Ba

public static final int Ba
See Also:
Constant Field Values

La

public static final int La
See Also:
Constant Field Values

Ce

public static final int Ce
See Also:
Constant Field Values

Pr

public static final int Pr
See Also:
Constant Field Values

Nd

public static final int Nd
See Also:
Constant Field Values

Pm

public static final int Pm
See Also:
Constant Field Values

Sm

public static final int Sm
See Also:
Constant Field Values

Eu

public static final int Eu
See Also:
Constant Field Values

Gd

public static final int Gd
See Also:
Constant Field Values

Tb

public static final int Tb
See Also:
Constant Field Values

Dy

public static final int Dy
See Also:
Constant Field Values

Ho

public static final int Ho
See Also:
Constant Field Values

Er

public static final int Er
See Also:
Constant Field Values

Tm

public static final int Tm
See Also:
Constant Field Values

Yb

public static final int Yb
See Also:
Constant Field Values

Lu

public static final int Lu
See Also:
Constant Field Values

Hf

public static final int Hf
See Also:
Constant Field Values

Ta

public static final int Ta
See Also:
Constant Field Values

W

public static final int W
See Also:
Constant Field Values

Re

public static final int Re
See Also:
Constant Field Values

Os

public static final int Os
See Also:
Constant Field Values

Ir

public static final int Ir
See Also:
Constant Field Values

Pt

public static final int Pt
See Also:
Constant Field Values

Au

public static final int Au
See Also:
Constant Field Values

Hg

public static final int Hg
See Also:
Constant Field Values

Tl

public static final int Tl
See Also:
Constant Field Values

Pb

public static final int Pb
See Also:
Constant Field Values

Bi

public static final int Bi
See Also:
Constant Field Values

Po

public static final int Po
See Also:
Constant Field Values

At

public static final int At
See Also:
Constant Field Values

Rn

public static final int Rn
See Also:
Constant Field Values

Fr

public static final int Fr
See Also:
Constant Field Values

Ra

public static final int Ra
See Also:
Constant Field Values

Ac

public static final int Ac
See Also:
Constant Field Values

Th

public static final int Th
See Also:
Constant Field Values

Pa

public static final int Pa
See Also:
Constant Field Values

U

public static final int U
See Also:
Constant Field Values

Np

public static final int Np
See Also:
Constant Field Values

Pu

public static final int Pu
See Also:
Constant Field Values

Am

public static final int Am
See Also:
Constant Field Values

Cm

public static final int Cm
See Also:
Constant Field Values

Bk

public static final int Bk
See Also:
Constant Field Values

Cf

public static final int Cf
See Also:
Constant Field Values

Es

public static final int Es
See Also:
Constant Field Values

Fm

public static final int Fm
See Also:
Constant Field Values

Md

public static final int Md
See Also:
Constant Field Values

No

public static final int No
See Also:
Constant Field Values

Lr

public static final int Lr
See Also:
Constant Field Values

Rf

public static final int Rf
See Also:
Constant Field Values

Db

public static final int Db
See Also:
Constant Field Values

Sg

public static final int Sg
See Also:
Constant Field Values

Bh

public static final int Bh
See Also:
Constant Field Values

Hs

public static final int Hs
See Also:
Constant Field Values

Mt

public static final int Mt
See Also:
Constant Field Values

Ds

public static final int Ds
See Also:
Constant Field Values

Rg

public static final int Rg
See Also:
Constant Field Values
Constructor Detail

PeriodicSystem

public PeriodicSystem()
Method Detail

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 java.lang.String getName(int z)
Name of the element

Parameters:
z - atomic number (protons)
Returns:
element name

getSymbol

public static java.lang.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(java.lang.String symbol)
Deprecated. As of Marvin 5.9, replaced by a similar method which throws IllegalArgumentException in case of failure findAtomicNumber(String).

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 or -1 if not found.

findAtomicNumber

public static int findAtomicNumber(java.lang.String symbol)
                            throws java.lang.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
Throws:
java.lang.IllegalArgumentException - if symbol does not correspond to a chemical element in the periodic table.

isAtomicSymbol

public static boolean isAtomicSymbol(java.lang.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)

getColumn

public static int getColumn(int z)
The column or group 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

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 in Periodic System dialog of Marvin: 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 an 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)

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)

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.