Barak 0.3.2 documentation

barak.abundances

Contents

Source code for barak.abundances

""" Abundances and condensation temperatures.

This contains the following two datasets:

Asolar:
  An ordered dictionary of abundances from `Lodders 2003, ApJ, 591,
  1220 <http://adsabs.harvard.edu/abs/2003ApJ...591.1220L>`_. It
  contains a value A for each element `el`, where A is defined::

    A(el) = log10 n(el)/n(H) + 12

  `n(el)` is the number density of atoms of that element, and `n(H)`
  is the number density of hydrogen.

cond_temp:
  An array of condensation temperatures for each element from the same
  reference.  The condensation temperature is the temperature at which
  an element in a gaseous state attaches to dust grains.

  It contains the values `tc` and `tc50` for each element, where `tc`
  is the condensation temperature in K when condensation begins, and
  `tc50` is the temperature when 50% of the element is left in a
  gaseous state.

"""
import numpy as np
from utilities import get_data_path
from io import readtxt
from collections import OrderedDict

datapath = get_data_path()

Asolar = OrderedDict(
    (t.el, t.A) for t in
    readtxt(datapath + 'abundances/SolarAbundance.txt', readnames=1))

cond_temp = readtxt(datapath +
                    'abundances/CondensationTemperatures.txt',
                    readnames=1, sep='|')

[docs]def calc_abund(X, Y, logNX, logNY): """ Find the abundance relative to solar given two elements and their column densities. Parameters ---------- X, Y : str Element identifiers (for example 'C', 'Si', 'Mg'). logNX : array_like, shape (N,) log10 of element X column density in cm^-2. logNY : array_like, shape (N,) log10 of element Y column density in cm^-2. Returns ------- abundance_ratio : ndarray, shape (N,) Abundance ratio relative to solar, [X/Y]. Notes ----- The abundance ratio is defined:: [X/Y] = log10 (n_X / n_Y) - log10 (n_Xsun / n_Ysun) Where N_Xsun / N_Ysun is the ratio of the number density of species X to species Y for 'proto-solar' abundances (See Lodders 2003, ApJ, 591, 1220). For example, if [X/Y] = 0, it has the same abundance as the proto-solar values. If [X/Y] = 1, then ten times larger, [X/Y] = -1, then ten times smaller. If Y is hydrogen, then this estimates the metallicity. """ return logNX - logNY - (Asolar[X] - Asolar[Y])

Contents