Skip to content

Activity Strategies

Particula Index / Particula / Particles / Activity Strategies

Auto-generated documentation for particula.particles.activity_strategies module.

ActivityIdealMass

Show source in activity_strategies.py:145

Calculate ideal activity based on mass fractions (Raoult's Law).

Attributes

  • None

Methods

  • activity : Computes activity from mass concentration, treating mass fractions as ideal.

Examples

Example Usage
import particula as par
strategy = par.particles.ActivityIdealMass()
a = strategy.activity([0.5, 1.0, 1.5])
# a -> ...

References

Signature

class ActivityIdealMass(ActivityStrategy): ...

See also

ActivityIdealMass().activity

Show source in activity_strategies.py:169

Calculate the activity of a species based on mass concentration.

Arguments

  • mass_concentration : Concentration of the species in kg/m^3.

Returns

  • Activity of the species, unitless.

Signature

def activity(
    self, mass_concentration: Union[float, NDArray[np.float64]]
) -> Union[float, NDArray[np.float64]]: ...

ActivityIdealMolar

Show source in activity_strategies.py:94

Calculate ideal activity based on mole fractions (Raoult's Law).

Attributes

  • molar_mass : Molar mass of the species in kg/mol.

Methods

  • activity : Computes ideal activity from mass concentration and molar mass.

Examples

Example Usage
import particula as par
strategy = par.particles.ActivityIdealMolar(molar_mass=0.018)
# mass_concentration in kg/m^3
a = strategy.activity(np.array([1.2, 2.5, 3.0]))
# a -> ...

References

Signature

class ActivityIdealMolar(ActivityStrategy):
    def __init__(self, molar_mass: Union[float, NDArray[np.float64]] = 0.0): ...

See also

ActivityIdealMolar().activity

Show source in activity_strategies.py:128

Calculate the activity of a species based on mass concentration.

Arguments

  • mass_concentration : Concentration of the species in kg/m^3.

Returns

  • Activity of the species, unitless.

Signature

def activity(
    self, mass_concentration: Union[float, NDArray[np.float64]]
) -> Union[float, NDArray[np.float64]]: ...

ActivityIdealVolume

Show source in activity_strategies.py:184

Calculate ideal activity based on volume fractions (Raoult's Law).

Attributes

  • density : The density of the species in kg/m^3, used to derive volume fractions from mass concentrations.

Methods

  • activity : Computes activity from mass concentration and density.

Examples

Example Usage
strategy = ActivityIdealVolume(density=1000.0)
a = strategy.activity(2.5)
# a -> ...

References

Signature

class ActivityIdealVolume(ActivityStrategy):
    def __init__(self, density: Union[float, NDArray[np.float64]] = 0.0): ...

See also

ActivityIdealVolume().activity

Show source in activity_strategies.py:216

Calculate the activity of a species based on mass concentration.

Arguments

  • mass_concentration : Concentration of the species in kg/m^3.
  • density : Density of the species in kg/m^3.

Returns

  • Activity of the species, unitless.

Signature

def activity(
    self, mass_concentration: Union[float, NDArray[np.float64]]
) -> Union[float, NDArray[np.float64]]: ...

ActivityKappaParameter

Show source in activity_strategies.py:235

Non-ideal activity strategy using the kappa hygroscopic parameter.

Attributes

  • kappa : Kappa hygroscopic parameters (array or scalar).
  • density : Densities (array or scalar) in kg/m^3.
  • molar_mass : Molar masses (array or scalar) in kg/mol.
  • water_index : Index identifying the water species in arrays.

Methods

  • activity : Computes non-ideal activity using kappa hygroscopicity approach.

Examples

Example Usage
import particula as par
import numpy as np
strategy = par.particles.ActivityKappaParameter(
    kappa=np.array([0.1, 0.0]),
    density=np.array([1000.0, 1200.0]),
    molar_mass=np.array([0.018, 0.058]),
    water_index=0,
)
a = strategy.activity(np.array([1.0, 2.0]))
# a -> ...

References

  • Petters, M. D., & Kreidenweis, S. M. (2007). A single parameter representation of hygroscopic growth and cloud condensation nucleus activity. Atmospheric Chemistry and Physics, 7(8), 1961-1971. DOI.

Signature

class ActivityKappaParameter(ActivityStrategy):
    def __init__(
        self,
        kappa: NDArray[np.float64] = np.array([0.0], dtype=np.float64),
        density: NDArray[np.float64] = np.array([0.0], dtype=np.float64),
        molar_mass: NDArray[np.float64] = np.array([0.0], dtype=np.float64),
        water_index: int = 0,
    ): ...

See also

ActivityKappaParameter().activity

Show source in activity_strategies.py:291

Calculate the activity of a species based on mass concentration.

Arguments

  • mass_concentration : Concentration of the species in kg/m^3.

Returns

  • Activity of the species, unitless.

References

  • Petters, M. D., & Kreidenweis, S. M. (2007). A single parameter representation of hygroscopic growth and cloud condensation nucleus activity. Atmospheric Chemistry and Physics, 7(8), 1961-1971. DOI.

Signature

def activity(
    self, mass_concentration: Union[float, NDArray[np.float64]]
) -> Union[float, NDArray[np.float64]]: ...

ActivityStrategy

Show source in activity_strategies.py:22

Abstract base class for vapor pressure and activity calculations.

This interface is used by subclasses for computing particle activity and partial pressures. General methods include activity() and partial_pressure().

Attributes

  • None

Methods

  • get_name : Return the type of the activity strategy.
  • activity : Calculate the activity of a species. (abstract method)
  • partial_pressure : Calculate the partial pressure of a species using its pure vapor pressure and computed activity.

Examples

Example Subclass
class CustomActivity(ActivityStrategy):
    def activity(self, mass_concentration):
        return 1.0

my_activity = CustomActivity()
pvap = my_activity.partial_pressure(101325.0, 1.0)
# pvap -> 101325.0

References

Signature

class ActivityStrategy(ABC): ...

ActivityStrategy().activity

Show source in activity_strategies.py:55

Calculate the activity of a species based on its mass concentration.

Arguments

  • mass_concentration : Concentration of the species in kg/m^3.

Returns

  • Activity of the species, unitless.

Signature

@abstractmethod
def activity(
    self, mass_concentration: Union[float, NDArray[np.float64]]
) -> Union[float, NDArray[np.float64]]: ...

ActivityStrategy().get_name

Show source in activity_strategies.py:69

Return the type of the activity strategy.

Signature

def get_name(self) -> str: ...

ActivityStrategy().partial_pressure

Show source in activity_strategies.py:73

Calculate the vapor pressure of species in the particle phase.

Arguments

  • pure_vapor_pressure : Pure vapor pressure of the species in Pa.
  • mass_concentration : Concentration of the species in kg/m^3.

Returns

  • Vapor pressure of the particle in Pa.

Signature

def partial_pressure(
    self,
    pure_vapor_pressure: Union[float, NDArray[np.float64]],
    mass_concentration: Union[float, NDArray[np.float64]],
) -> Union[float, NDArray[np.float64]]: ...