({{, (RefLink[ElementData, paclet:ref/ElementData])["name","property"] 
gives the value of the specified property for the chemical element "name".}, {, (RefLink[ElementData, paclet:ref/ElementData])[n,"property"]
gives the specified property for the n(^th) chemical element.}})

OpenersNotesSection(Spacer1)Details

Chemical elements can be specified by their full names, standard abbreviations, or atomic numbers.

(RefLink[ElementData, paclet:ref/ElementData])[] gives a list of all standard chemical elements.

(RefLink[ElementData, paclet:ref/ElementData])[n] gives the full name of the n(^th) chemical element.

(RefLink[ElementData, paclet:ref/ElementData])["Properties"] gives a list of all properties available for chemical elements.

Properties that do not apply or are not known in a particular case are indicated by (RefLink[Missing, paclet:ref/Missing])[…].

Numerical values that are known only to a certain precision are typically tagged with their precision and given in arbitrary-precision form.

Basic element properties include:

If no other temperature or pressure is specified, all macroscopic properties are given for standard temperature and pressure. When applicable, properties are for the most stable form of the element at standard temperature and pressure.

Material properties include:

Thermodynamic properties include:

Electromagnetic and optical properties include:

Abundance properties include (specified by mass-fraction):

Periodic table properties include:

Basic chemical properties include:

Crystallographic properties for the most stable solid phase include:

Atomic properties include:

Nuclear properties include:

Names-related properties include:

Historical and commercial properties include:

(RefLink[ElementData, paclet:ref/ElementData])["class"] gives a list of elements in the specified class. (RefLink[ElementData, paclet:ref/ElementData])[name,"class"] gives (RefLink[True, paclet:ref/True]) or (RefLink[False, paclet:ref/False]) depending on whether the element corresponding to name is in the specified class.

Classes of elements include:

(RefLink[ElementData, paclet:ref/ElementData])["name","property","ann"] gives various annotations associated with a property. Typical annotations include:

OpenersPrimaryExamplesSection(Spacer1)Examples  (41)

OpenersExampleSection0(Spacer1)Basic Examples  (3)

Find the atomic weight of carbon:

ElementData["Carbon","AtomicWeight"]

Find the thermal conductivity of tungsten (in SI units):

ElementData["Tungsten","ThermalConductivity"]

Find the units:

ElementData["Tungsten","ThermalConductivity","Units"]

Plot the melting points (in degrees Celsius) of elements as a function of atomic number:

ListLinePlot[Table[ElementData[z,"MeltingPoint"],{z,118}]]

OpenersExampleSection1(Spacer1)Scope  (17)

OpenersExampleSubsection0(Spacer1)Names and Classes  (7)

Obtain a list of all the elements sorted by atomic number:

ElementData[]

Length[%]

Find the English name of an element:

ElementData["Tungsten","Name"]

A list of alternate names can also be found:

ElementData["Tungsten","AlternateNames"]

An element can be specified by its standard Wolfram Language name, atomic number, or abbreviation:

ElementData["Gold","AtomicNumber"]

ElementData[79,"Abbreviation"]

ElementData["Au","StandardName"]

Additional names acceptable as input can be found:

ElementData["Tungsten","AlternateStandardNames"]

ElementData["Wolfram","StandardName"]

Find the list of element classes:

ElementData["Classes"]

Find the list of elements belonging to a class:

ElementData["Gas"]

ElementData["Radioactive"]

Test whether an element belongs to a class:

ElementData["Na","Halogen"]

OpenersExampleSubsection1(Spacer1)Properties and Annotations  (5)

Get a list of properties for a particular element:

Short[ElementData["Helium","Properties"],4]

Get a short textual description of a property:

ElementData["Ag","ElectronConfiguration","Description"]

Get a longer textual description:

ElementData["Ag","ElectronConfiguration","LongDescription"]

Find the units in which a property value is given:

ElementData["Carbon","Density"]

ElementData["C","Density","Units"]

Get units in proper textual form:

ElementData["C","Density","UnitsName"]

Get units as notation:

ElementData["C","Density","UnitsNotation"]

Uncertainty is represented using (RefLink[Interval, paclet:ref/Interval]):

ElementData["Oxygen","AtomicWeight"]

ElementData["Oxygen","AtomicWeight","Interval"]

Find additional notes about properties:

ElementData["C","ElectricalType"]

ElementData["C","ElectricalType","Note"]

OpenersExampleSubsection2(Spacer1)Property Values  (5)

A property value can be any valid Wolfram Language expression:

ElementData["Chlorine","BoilingPoint"]

ElementData["Pb","Phase"]

ElementData["Oxygen","KnownIsotopes"]

Use (RefLink[Precision, paclet:ref/Precision]) to find out the number of significant digits for a property:

ElementData["C","AtomicWeight"]

Precision[%]

A property that is not applicable to an element has the value (RefLink[Missing, paclet:ref/Missing])["NotApplicable"]:

ElementData["Helium","MeltingPoint"]

A property that is not available for an element has the value (RefLink[Missing, paclet:ref/Missing])["NotAvailable"]:

ElementData["F","SoundSpeed"]

A property that is unknown for an element has the value (RefLink[Missing, paclet:ref/Missing])["Unknown"]:

ElementData["Neptunium","LiquidDensity"]

OpenersExampleSection2(Spacer1)Generalizations & Extensions  (1)

Find the list of element names matching a string expression:

ElementData["H*"]

OpenersExampleSection3(Spacer1)Applications  (6)

Show the linear relationship between enthalpy of vaporization and boiling point:

ListPlot[Table[{ElementData[z,"AbsoluteBoilingPoint"],ElementData[z,"VaporizationHeat"]},{z,118}]]

Plot the atomic radii of the elements, showing the effects of the electron shell structure:

ListPlot[Table[ElementData[z,"AtomicRadius"],{z,118}]]

Plot the number of stable isotopes of each element:

ListLinePlot[Table[Length[ElementData[z,"StableIsotopes"]],{z,108}]]

Plot the atomic masses of all stable isotopes:

ListPlot[Flatten[Table[Thread[{z,ElementData[z,"StableIsotopes"]}],{z,100}],1]]

Create an annotated list of critical temperature and critical pressure:

adata=Table[Tooltip[{ElementData[z,"CriticalTemperature"],ElementData[z,"CriticalPressure"]},Row[{ElementData[z]," (",ElementData[z,"Abbreviation"],")"}]],{z,118}];

Use the description annotations to get plot labels:

ListPlot[adata,Frame->True,FrameLabel->{ElementData[1,"CriticalTemperature","Description"],ElementData[1,"CriticalPressure","Description"]}]

Draw a basic periodic table, color coding solids, liquids, and gases:

Graphics[Table[If[Head[ElementData[z,"Group"]]=!=Missing,Inset[Style[Pane[ElementData[z,"Abbreviation"],{20,20}],Background->(ElementData[z,"Phase"]/.{EntityClass["Element","Solid"]->LightBrown,EntityClass["Element","Liquid"]->LightBlue,EntityClass["Element","Gas"]->Yellow,_->Gray})],{ElementData[z,"Group"],-ElementData[z,"Period"]}],{}],{z,108}]]

OpenersExampleSection4(Spacer1)Properties & Relations  (9)

Use (RefLink[Table, paclet:ref/Table]) to obtain a list of property values for all the elements:

pv1=Table[ElementData[z,"BoilingPoint"],{z,118}];

The same thing using (RefLink[Map, paclet:ref/Map]):

pv2=ElementData[#,"BoilingPoint"]&/@ElementData[];

pv1==pv2

Form a list of property values for a class of elements:

i=ElementData["Insulator"]

g={#,ElementData[#,"Resistivity"]}&/@i

Display the data as a formatted table using (RefLink[Grid, paclet:ref/Grid]):

Grid[g,Frame->True,Alignment->{Left}]

Use (RefLink[DeleteCases, paclet:ref/DeleteCases]) to filter out non-missing elements:

DeleteCases[Table[{ElementData[z],ElementData[z,"CuriePoint"]},{z,118}],{_,_Missing}]

Use (RefLink[ListPlot, paclet:ref/ListPlot]) to plot a list of property values:

ListPlot[Table[ElementData[z,"Density"],{z,118}],PlotRange->All]

Missing data is automatically excluded in plotting functions:

Cases[Table[ElementData[z,"Density"],{z,118}],_Missing]//Short

Use (RefLink[ListLogPlot, paclet:ref/ListLogPlot]) when the data spans several orders of magnitude:

ListLogPlot[Table[ElementData[z,"UniverseAbundance"],{z,118}],Joined->True]

Use (RefLink[LatticeData, paclet:ref/LatticeData]) to get detailed information on solid state structures:

ElementData["Titanium","CrystalStructure"]

%["Image"]

LatticeData[{"Bravais",{"Tetragonal","BodyCentered"}},"Properties"]

Use (RefLink[IsotopeData, paclet:ref/IsotopeData]) to get detailed information on isotopes:

ElementData["Rubidium","KnownIsotopes"]

IsotopeData["Rubidium84","Properties"]

Use (RefLink[ChemicalData, paclet:ref/ChemicalData]) to find properties for compounds of elements:

ChemicalData["PalladiumCompound"]

Formulas:

ChemicalData["Caffeine","Formula"]

Element tallies:

ChemicalData["Caffeine","ElementTally"]

3D structure plots:

ChemicalData["Caffeine","MoleculePlot"]

Show schematic colors assigned to elements:

ColorData["Atoms","Panel"]

ElementData["Osmium","IconColor"]

OpenersExampleSection5(Spacer1)Possible Issues  (2)

Using nonstandard element and property names will not work:

ElementData["hydrogen","Density"]

ElementData["Carbon", "melting point"]

Use string functions to find the standardized names:

Select[ElementData[],StringMatchQ[CanonicalName[#],___~~"hydrogen"~~___,IgnoreCase->True]&]

ElementData["Hydrogen","Density"]

Select[ElementData["Carbon","Properties"],StringMatchQ[#,___~~"melting"~~___,IgnoreCase->True]&]

ElementData["Carbon","MeltingPoint"]

Arithmetical operations cannot be carried out on (RefLink[Missing, paclet:ref/Missing]) entries:

72 Table[ElementData[i,"Resistivity"],{i,10}]

Remove the (RefLink[Missing, paclet:ref/Missing]) entries before performing operations:

DeleteCases[Table[ElementData[i,"Resistivity"],{i,10}],_Missing]

72 %

OpenersExampleSection6(Spacer1)Neat Examples  (3)

Plot the discovery years for successive elements:

ListLinePlot[Table[ElementData[z,"DiscoveryYear"]/.DateObject[{y_}]:>y,{z,1,108}]]

Find how many elements were discovered in each country:

SortBy[Tally[Flatten[Table[ElementData[z,"DiscoveryCountries"],{z,1,108}]]],Last]

Make a table of three properties of elements:

tab=Table[({1,1,100}(QuantityMagnitude[ElementData[z,#]]&/@{"Density","BoilingPoint","ThermalConductivity"}))->ElementData[z],{z,1,80}];

Cluster the elements into 10 groups based on the values of the properties:

FindClusters[tab,10]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[IsotopeData, paclet:ref/IsotopeData])  ▪  (RefLink[ChemicalData, paclet:ref/ChemicalData])  ▪  (RefLink[ParticleData, paclet:ref/ParticleData])  ▪  (RefLink[LatticeData, paclet:ref/LatticeData])  ▪  (RefLink[SpectralLineData, paclet:ref/SpectralLineData])}, {Related Interpreter Types:  (RefLink[Element, paclet:ref/interpreter/Element])  ▪  (RefLink[ElementClass, paclet:ref/interpreter/ElementClass])  ▪  (RefLink[ComputedElement, paclet:ref/interpreter/ComputedElement])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Entity Types, paclet:guide/EntityTypes])}})}})

({{(Spacer1), ({{(Spacer1)Related Links}, {(Spacer1)▪(WebLink[(Spacer1)ElementData Source Information, http://reference.wolfram.com/language/note/ElementDataSourceInformation.html])}})}})