synthesizer.particle.gas

A module for working with arrays of gas particles.

Contains the Gas class for use with particle based systems. This houses all the data detailing collections of gas particles. Each property is stored in (N_gas, ) shaped arrays for efficiency.

Extra optional properties can be set by providing them as keyword arguments.

Example usages:

gas = Gas(masses, metallicities,

redshift=redshift, coordinates=coordinates, …)

Classes

class synthesizer.particle.gas.Gas(masses, metallicities, star_forming=None, redshift=None, coordinates=None, velocities=None, smoothing_lengths=None, softening_lengths=None, dust_to_metal_ratio=None, dust_masses=None, verbose=False, centre=None, metallicity_floor=1e-05, tau_v=None, **kwargs)[source]

The base Gas class. This contains all data a collection of gas particles could contain. It inherits from the base Particles class holding attributes and methods common to all particle types.

The Gas class can be handed to methods elsewhere to pass information about the gas particles needed in other computations. A galaxy object should have a link to the Gas object containing its gas particles, for example.

Note that due to the wide range of possible properties and operations, this class has a large number of optional attributes which are set to None if not provided.

metallicities

The gas phase metallicity of each particle (integrated)

Type:

array-like, float

star_forming

Flag for whether each gas particle is star forming or not.

Type:

array-like, bool

log10metallicities

Convnience attribute containing log10(metallicity).

Type:

float

smoothing_lengths

The smoothing lengths (describing the sph kernel) of each gas particle in simulation length units.

Type:

array-like, float

calculate_dust_mass()[source]

Calculate dust mass from a given dust-to-metals ratio and gas particle properties (mass and metallicity)