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