Element#

class fiasco.Element(element_name, temperature: Unit('K'), **kwargs)[source]#

Bases: IonCollection

Collection of all ions for a particular element.

The Element object provides a way to logically group together ions of the same element. This makes it easy to compute element-level derived quantities such as the ionization fraction as a function of temperature.

Parameters:
  • element_name (str, int) – Symbol, atomic number, or full name of the element

  • temperature (Quantity) –

See also

fiasco.Ion

All the same keyword arguments can also be passed here.

Attributes Summary

abundance

atomic_number

atomic_symbol

element_name

equilibrium_ionization

Calculate the ionization fraction, in equilibrium, for all ions of the element.

Attributes Documentation

abundance#
atomic_number#
atomic_symbol#
element_name#
equilibrium_ionization#

Calculate the ionization fraction, in equilibrium, for all ions of the element.

Calculate the population fractions for every ion of this element as a function of temperature, assuming ionization equilibrium. This returns a matrix with dimensions (n,Z+1), where n corresponds to the temperature dimension and Z+1 corresponds to the number of ionization stages of the element.

Examples

>>> temperature = 10**np.arange(3.9, 6.5, 0.01) * u.K
>>> carbon = Element('C', temperature)
>>> carbon_ioneq = carbon.equilibrium_ionization
>>> carbon_ioneq[:, 4].max()  # max populuation fraction of C V as a function of temperature
<Quantity 0.99776769>