class openmc.Element(name)[source]

A natural element that auto-expands to add the isotopes of an element to a material in their natural abundance. Internally, the OpenMC Python API expands the natural element into isotopes only when the materials.xml file is created.


name (str) – Chemical symbol of the element, e.g. Pu


name (str) – Chemical symbol of the element, e.g. Pu

expand(percent, percent_type, enrichment=None, enrichment_target=None, enrichment_type=None, cross_sections=None)[source]

Expand natural element into its naturally-occurring isotopes.

An optional cross_sections argument or the OPENMC_CROSS_SECTIONS environment variable is used to specify a cross_sections.xml file. If the cross_sections.xml file is found, the element is expanded only into the isotopes/nuclides present in cross_sections.xml. If no cross_sections.xml file is found, the element is expanded based on its naturally occurring isotopes.

  • percent (float) – Atom or weight percent

  • percent_type ({'ao', 'wo'}) – ‘ao’ for atom percent and ‘wo’ for weight percent

  • enrichment (float, optional) – Enrichment of an enrichment_target nuclide in percent (ao or wo). If enrichment_target is not supplied then it is enrichment for U235 in weight percent. For example, input 4.95 for 4.95 weight percent enriched U. Default is None (natural composition).

  • enrichment_target (str, optional) –

    Single nuclide name to enrich from a natural composition (e.g., ‘O16’)

    New in version 0.12.

  • enrichment_type ({'ao', 'wo'}, optional) –

    ‘ao’ for enrichment as atom percent and ‘wo’ for weight percent. Default is: ‘ao’ for two-isotope enrichment; ‘wo’ for U enrichment

    New in version 0.12.

  • cross_sections (str, optional) – Location of cross_sections.xml file. Default is None.


isotopes – Naturally-occurring isotopes of the element. Each item of the list is a tuple consisting of a nuclide string, the atom/weight percent, and the string ‘ao’ or ‘wo’.

Return type


  • ValueError – No data is available for any of natural isotopes of the element

  • ValueError – If only some natural isotopes are available in the cross-section data library and the element is not O, W, or Ta

  • ValueError – If a non-naturally-occurring isotope is requested

  • ValueError – If enrichment is requested of an element with more than two naturally-occurring isotopes.

  • ValueError – If enrichment procedure for Uranium is used when element is not Uranium.

  • ValueError – Uranium enrichment is requested with enrichment_type==’ao’


When the enrichment argument is specified, a correlation from ORNL/CSD/TM-244 is used to calculate the weight fractions of U234, U235, U236, and U238. Namely, the weight fraction of U234 and U236 are taken to be 0.89% and 0.46%, respectively, of the U235 weight fraction. The remainder of the isotopic weight is assigned to U238.

When the enrichment argument is specified with enrichment_target, a general enrichment procedure is used for elements composed of exactly two naturally-occurring isotopes. enrichment is interpreted as atom percent by default but can be controlled by the enrichment_type argument.