Astrochem Python Module reference

This documents gives a description of Astrochem Python module. The module itself contains two packages: the tool package, which allows to work on chemical networks and astrochem output files and wrapper package , which allows to run Astrochem from Python. For an example on how to do this, see calling Astrochem from Python

Warning

The Astrochem Python module is recent, and its API is subject to change in future releases.

Tools (astrochem.tools)

Various tools for Astrochem.

tools.converttolegacy(filename, specie)

Convert a hdf5 output file specific species to .abun and .rout legacy format.

Parameters:
  • filename (str) – Path to the output file

  • species (str) – Name of specie to read abundance and route of

tools.listspecies(filename)

Returns a list of species that are available in an hdf5 file

Parameters:

filename (str) – Path to output file.

Returns:

Species list

Return type:

list if str

class tools.network_reader(reactions)

Chemical network reader class.

duplicate_react_numbers()

Find reactions with the same reaction number.

Returns:

List of duplicated reaction_numbers.

Return type:

list of str

duplicate_reactions()

Find duplicate reactions.

Returns:

List of reaction_numbers of duplicated reactions.

Return type:

list of int

static fromfile(f, fileformat)

Read a network from a file.

This function reads a chemistry network from a file and creates a network instance. Supported formats are chm, osu and kida.

Parameters:
  • f (file) – Network file

  • fileformat (str) – Network file format (“chm”, “osu” or “kida”)

Returns:

Network

Return type:

network_reader

getreact(number)

Returns the reaction with a given number.

Parameters:

number (int) – The reaction number.

Returns:

The reaction found.

Return type:

reaction

Raises:

ValueError – If no reaction with this number if found.

tofile(f, renumber=False)

Write network in a file.

Parameters:
  • f (file) – Network file handle

  • renumber (bool, optional) – Renumber reactions (default False)

class tools.reaction(reactants, products, alpha, beta, gamma, rtype, rnumber)

Chemical reaction class.

reactants

List of reactants.

Type:

list of str

products

List of products.

Type:

list of str

alpha

Reaction constant.

Type:

float

beta

Reaction constant.

Type:

float

gamma

Reaction constant.

Type:

float

rtype

Reaction type.

Type:

int

rnumber

Reaction number.

Type:

int

totex()

Returns a reaction in TeX format.

Returns:

TeX formated reaction string.

Return type:

str

tools.readabun(filename, specie)

Read abundances for a specific specie from an hdf5 output file and return arrays of time and abundances

Parameters:
  • filename (str) – Path to the output file

  • specie (str) – Name of specie to read abundance of

Returns:

  • timesteps (list of float) – List of timesteps

  • abundance (list of float) – List of abundances

tools.readabunlegacy(filename)

Read an abund file and return arrays of time and abundances.

Parameters:

filename (str) – Path to the abund file.

Returns:

  • timesteps (list of floats) – List of timesteps

  • abundances (list of floats) – List of abundances

tools.readfilesattrs(filename)

Read chem_file and source_file attributes from an hdf5 output file

Parameters:

filename (str) – Path to output file.

Returns:

  • chemfile (str) – chem_file attribute

  • sourcefile (str) – source_file attribute

tools.readrout(filename, specie)

Read a rout from a hdf5 output file and return arrays of time, shell number, formation/destruction rates.

Parameters:
  • filename (str) – Path to the output file.

  • specie (str) – Name of specie to read route of.

Returns:

  • timesteps (list of float) – List of timesteps.

  • shells (list of float) – List of shell numbers.

  • formation_reac (list of reaction) – List of formation reactions.

  • formation_rate (list of float) – List of formation rates.

  • destruction_reac (list of reaction) – List of destruction reactions.

  • destruction_rate (list of float) – List of destruction rates.

tools.readroutlegacy(filename)

Read a rout file and return arrays of time, cell number, formation/destruction rates

Parameters:

filename (str) – Path to the output file.

Returns:

  • timesteps (list of float) – List of timesteps.

  • shells (list of float) – List of shell numbers.

  • formation_reac (list of reaction) – List of formation reactions.

  • formation_rate (list of float) – List of formation rates.

  • destruction_reac (list of reaction) – List of destruction reactions.

  • destruction_rate (list of float) – List of destruction rates.

Wrapper (astrochem.wrapper)

Python wrapper for libpyastrochem.

class wrapper.Cell(av, nh, tgas, tdust)

Cell class.

av

Visual extinction in magnitudes.

Type:

float

nh

Hydrogen density in cm^-3.

Type:

float

tgas

Gas temperature in K.

Type:

float

tdust

Dust temperature in K.

Type:

float

class wrapper.Network(chem_file, verbose)

Network class.

chem_file

File containing a network to load.

Type:

str

verbose

Verbose if 1, Quiet if 0.

Type:

int

class wrapper.Phys

Physical parameters to use in chemical reaction solver.

chi

Chi physical property.

Type:

float

cosmic

Cosmic physical property.

Type:

float

grain_abundance

Grain Abundance physical property.

Type:

float

grain_size

Grain Size physical property.

Type:

float

class wrapper.Solver(cell, chem_file, phys, abs_err, rel_err, initial_abundances, density, verbose)

Chemical reaction solver.

cell

Chemical cell class to use in solver.

Type:

cell

chem_file

Chemical network file string to load network from and use in solver.

Type:

str

phys

Physical properties class to use in solver.

Type:

phys

abs_err

Absolute acceptable error to use in solver.

Type:

float

rel_err

Relative acceptable error to use in solver.

Type:

float

initial_abundances

Initial abundances (format {Species:Value}).

Type:

dict

density

Density to use in solver.

Type:

float

verbose

verbose if 1, quiet if 0.

Type:

int

solve(time, new_cell=None)

Solve chemical reaction for a certain time

Parameters:
  • time (float) – Time to solve the system at

  • new_cell (cell) – Cell class to use in solver, optionnal