carmapy.Group

carmapy.Group#

class carmapy.Group(igroup, name, rmin, gas, material='', **kwargs)#

An object representing a cloud species

Parameters:
  • igroup (int) – The index of the group in the Carma simulation

  • name (str) – A name for the group. The typical naming convention is “Pure <Species>” (ie “Pure TiO2”) for homogeneously nucleating groups and “<Mantle> on <Core>” (ie “Mg2SiO4 on TiO2”) for heterogeneously nucleating groups

  • rmin (float) – The minimum size of the condensate

  • material (str) – The chemical formula of the mantle material (ie TiO2 or Mg2SiO4), used to populate fields with default condensate values

  • gas (Gas)

Notes

1. The group.boundary describes the boundary conditions of the particulate matter in the atmosphere. Currently, CARMApy only supports non-zero boundary conditions for single element groups (ex. homogeneously nucleated groups). Noting that each of these entries is either 0 or an array of NBIN elements, the structure of the dictionary is as follows:

  • [“bot_conc”] describes the concentration of the group at the base

    of the atmosphere (only used if the bottom cloud boundary condition is set to “fixed_conc”). [particles/cm^3] If not set, defaults to 0.

  • [“top_conc”] describes the concentration of the group at the top

    of the atmosphere (only used if the top cloud boundary condition is set to “fixed_conc”). [particles/cm^3] If not set, defaults to 0.

  • [“bot_flux”] describes the upwards flux of the group to the base

    of the atmosphere (only used if the bottom cloud boundary condition is set to “fixed_flux”) [particles/cm^2/s]. Defaults to 0 if not set.

  • [“top_flux”] describes the downwards flux of the group at the top

    of the atmosphere (only used if the top cloud boundary condition is set to “fixed_flux”). [particles/cm^2/s] Defaults to 0 if not set.

  1. The vapor pressure of the condensate is calculated as follows:

    vp = 1e6 * 10**(offset - vp_tcoeff/T - vp_metcoeff * met - vp_logp_oeff * log10(P*1e-6))

    with vp in baryes, T in K, and P in baryes.

  2. The surface tension of the condensate is calculated as follows:

    surften = surften_0 - surften_slope * (T)

    with T in K and surften in dyne / cm

  3. If not directly given, the latent heat of evaportation is calculated folowing Charnay et al. 2015 [2] TODO: Check this cite

    lat_heat_e = vp_coeff * log(10) * R/wtmol_dif

    where R is the ideal gas constant

  4. All parameters refer to the mantle element of the group unless otherwise noted.

References

Methods

coreify(…)

Create a core element from the only element of the current group.

Attributes

boundary

The boundary conditions for the group (see note 1).

coldia

Collisional diameter of the condensate [cm]

core

The element which represents the original seed particle.

is_typeIII

True if condensation reaction is a Type III reaction (see Helling & Woitke 2006) [1]

lat_heat_e

Latent heat of evaporation, if not provided derived from other inputs (see note 4)

mantle

The element on the surface of the cloud particle.

material

The chemical formula of the condensate

rho_cond

Density of the condensate [g/cm³]

stofact

The stoichiometry factor between the gas phase and the condensate

surften_0

Surface tension at 0 K assuming linear trend holds (see note 3) [dyne/cm]

surften_slope

Slope of surface tension with temperature (see note 3) [dyne/cm/K]

vp_logpcoeff

Coeficcent to pressure term in vapor pressure equation (see note 2)

vp_metcoeff

Coeficcient to metallicity term in vapor pressure equation (see note 2)

vp_offset

Constant term in vapor pressure equation (see note 2)

vp_tcoeff

Coeficcient to temperature term in vapor pressure equation (see note 2) [K]

wtmol

Molar mass of the condensate [g/mol]

wtmol_core

Molar mass of the core element of the condensate [g/mol]

Group.coreify(ielem, group, mantle_name)#

Create a core element from the only element of the current group. Used to create the core element of a heterogeneously nucleating group where this group serves as the seed particles. Adds the created element as the core of the provided group

Parameters:
  • ielem (int) – The index of the new element in the Carma simulation

  • group (Group) – The group to which the new element belongs

  • mantle (str) – Name of the condensate mantle corresponding to the new element

  • mantle_name (str)

Returns:

The newly created element initialized as the core of a heterogeneous group

Return type:

Element