CAMP 1.0.0
Chemistry Across Multiple Phases
Macros | Functions
util.h File Reference

Utility functions and commonly used science property calculators. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define UNIV_GAS_CONST_   8.314472
 

Functions

static double mean_speed__m_s (double temperature__K, double mw__kg_mol)
 
static double mean_free_path__m (double diffusion_coeff__m2_s, double temperature__K, double mw__kg_mol)
 
static double transition_regime_correction_factor (double mean_free_path__m, double radius__m, double alpha)
 
static double d_transition_regime_correction_factor_d_radius (double mean_free_path__m, double radius__m, double alpha)
 
static double gas_aerosol_transition_rxn_rate_constant (double diffusion_coeff__m2_s, double mean_free_path__m, double radius__m, double alpha)
 
static double d_gas_aerosol_transition_rxn_rate_constant_d_radius (double diffusion_coeff__m2_s, double mean_free_path__m, double radius__m, double alpha)
 
static double gas_aerosol_continuum_rxn_rate_constant (double diffusion_coeff__m2_s, double mean_speed__m_s, double radius__m, double alpha)
 
static double d_gas_aerosol_continuum_rxn_rate_constant_d_radius (double diffusion_coeff__m2_s, double mean_speed__m_s, double radius__m, double alpha)
 

Detailed Description

Utility functions and commonly used science property calculators.

Definition in file util.h.

Macro Definition Documentation

◆ UNIV_GAS_CONST_

#define UNIV_GAS_CONST_   8.314472

Definition at line 15 of file util.h.

Function Documentation

◆ d_gas_aerosol_continuum_rxn_rate_constant_d_radius()

static double d_gas_aerosol_continuum_rxn_rate_constant_d_radius ( double  diffusion_coeff__m2_s,
double  mean_speed__m_s,
double  radius__m,
double  alpha 
)
inlinestatic

Calculate the derivative of the continuum-regime gas-aerosol reaction rate constant by particle radius [Tie2003]

\[ \frac{dk_c}{dr} = 4 \pi \frac{\frac{r^2}{D_g} + \frac{8r}{v(T) \gamma}}{\left(\frac{r}{D_g} + \frac{4}{v(T) \gamma}\right)^2} \]

where \(r\) is the particle radius [m], \(D_g\) is the gas-phase diffusion coefficient of the reactant [ \(\mbox{m}^2\mbox{s}^{-1}\)], \(\gamma\) is the reaction probability [unitless], and v is the mean free speed of the gas-phase reactant.

Parameters
diffusion_coeff__m2_sDiffusion coefficient of the gas species [ \(\mbox{m}^2\, \mbox{s}^{-1}\)]
mean_speed__m_sMean speed of the gas molecule [m s-1]
radius__mParticle radius [m]
alphaMass accomodation coefficient [unitless]

Definition at line 209 of file util.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ d_gas_aerosol_transition_rxn_rate_constant_d_radius()

static double d_gas_aerosol_transition_rxn_rate_constant_d_radius ( double  diffusion_coeff__m2_s,
double  mean_free_path__m,
double  radius__m,
double  alpha 
)
inlinestatic

Calculate the derivative of a transition-regime gas-aerosol reaction rate by particle radius

\[ \frac{d k_c}{d r} = 4 \pi D_g ( f_{fs} + r \frac{d_{fs}}{d r} ) \]

where \(r\) is the radius of the particle(s) [m], \(D_g\) is the diffusion coefficient of the gas-phase species [ \(\mbox{m}^2\, \mbox{s}^{-1}\)] and \(f_{fs}( K_n, \alpha )\) is the Fuchs Sutugin transition regime correction factor [unitless] ( \(K_n\) is the Knudsen Number [unitess] and \(\alpha\) is the mass accomodation coefficient.

Parameters
diffusion_coeff__m2_sDiffusion coefficent of the gas species [ \(\mbox{m}^2\, \mbox{s}^{-1}\)]
mean_free_path__mMean free path of gas molecules [m]
radius__mParticle radius [m]
alphaMass accomodation coefficient [unitless]

Definition at line 154 of file util.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ d_transition_regime_correction_factor_d_radius()

static double d_transition_regime_correction_factor_d_radius ( double  mean_free_path__m,
double  radius__m,
double  alpha 
)
inlinestatic

Calculate the derivative of the transition regime correction factor by particle radius.

\[ \frac{d f_{fs}}{d r} = \frac{0.75 \alpha \lambda (K_n^2 + 2K_n + 1 + (0.283-0.75)\alpha)}{r^2(K_n^2 + (1+0.283\alpha)K_n + 0.75\alpha)^2} \]

Todo:
double check the correction factor derivative equation where the Knudsen Number \(K_n = \lambda / r\) (where \(\lambda\) is the mean free path [m] of the gas-phase species and \(r\) is the effective radius of the particles [m]), and \( \alpha \) is the mass accomodation coefficient, which is typically assumed to equal 0.1 [Zaveri2008].
Parameters
mean_free_path__mmean free path of the gas-phase species [m]
radius__mParticle effective radius [m]
alphaMass accomodation coefficient [unitless]

Definition at line 91 of file util.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gas_aerosol_continuum_rxn_rate_constant()

static double gas_aerosol_continuum_rxn_rate_constant ( double  diffusion_coeff__m2_s,
double  mean_speed__m_s,
double  radius__m,
double  alpha 
)
inlinestatic

Calculate the gas-aerosol reaction rate for the continuum regime [Tie2003] [ \(\mbox{m}^3\, \mbox{particle}^{-1}\, \mbox{s}^{-1}\)]

The rate constant \(k_c\) is calculated as:

\[ k_c = \frac{4 \pi r^2_e}{\left(\frac{r}{D_g} + \frac{4}{v(T)\gamma}\right)} \]

where \(r\) is the particle radius [m], \(D_g\) is the gas-phase diffusion coefficient of the reactant [ \(\mbox{m}^2\mbox{s}^{-1}\)], \(\gamma\) is the reaction probability [unitless], and v is the mean free speed of the gas-phase reactant.

Parameters
diffusion_coeff__m2_sDiffusion coefficient of the gas species [ \(\mbox{m}^2\, \mbox{s}^{-1}\)]
mean_speed__m_sMean speed of the gas molecule [m s-1]
radius__mParticle radius [m]
alphaMass accomodation coefficient [unitless]

Definition at line 183 of file util.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gas_aerosol_transition_rxn_rate_constant()

static double gas_aerosol_transition_rxn_rate_constant ( double  diffusion_coeff__m2_s,
double  mean_free_path__m,
double  radius__m,
double  alpha 
)
inlinestatic

Calculate the gas-aerosol reaction rate constant for the transition regime [ \(\mbox{m}^3\, \mbox{particle}^{-1}\, \mbox{s}^{-1}\)]

The rate constant \(k_c\) is calculated according to [Zaveri2008] as:

\[ k_c = 4 \pi r D_g f_{fs}( K_n, \alpha ) \]

where \(r\) is the radius of the particle(s) [m], \(D_g\) is the diffusion coefficient of the gas-phase species [ \(\mbox{m}^2\,\mbox{s}^{-1}\)], \(f_{fs}( K_n, \alpha )\) is the Fuchs Sutugin transition regime correction factor [unitless], \(K_n\) is the Knudsen Number [unitess], and \(\alpha\) is the mass accomodation coefficient.

Rates can be calculated as:

\[ r_c = [G] N_a k_c \]

where \([G]\) is the gas-phase species concentration [ppm], \(N_a\) is the number concentration of particles [ \(\mbox{particle}\,\mbox{m}^{-3}\)] and the rate \(r_c\) is in [ \(\mbox{ppm}\,\mbox{s}^{-1}\)].

Parameters
diffusion_coeff__m2_sDiffusion coefficent of the gas species [ \(\mbox{m}^2\, \mbox{s}^{-1}\)]
mean_free_path__mMean free path of gas molecules [m]
radius__mParticle radius [m]
alphaMass accomodation coefficient [unitless]

Definition at line 129 of file util.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mean_free_path__m()

static double mean_free_path__m ( double  diffusion_coeff__m2_s,
double  temperature__K,
double  mw__kg_mol 
)
inlinestatic

Calculate the mean free path of a gas-phase species [m]

\[ \lambda = 3.0 D_g / v \]

where \(D_g\) is the gas-phase diffusion coefficient [ \(\mbox{m}^2\,\mbox{s}^{-1}\)] and \(v\) is the mean speed of the gas-phase molecules [ \(\mbox{m}\,\mbox{s}^{-1}\) ].

Parameters
diffusion_coeff__m2_sDiffusion coefficient of the gas species [ \(\mbox{m}^2\, \mbox{s}^{-1}\)]
temperature__KTemperature [K]
mw__kg_molMolecular weight of the gas-phase species [ \(\mbox{kg}\, \mbox{mol}^{-1}\)]

Definition at line 50 of file util.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mean_speed__m_s()

static double mean_speed__m_s ( double  temperature__K,
double  mw__kg_mol 
)
inlinestatic

Calculate the mean speed of a gas-phase species [ \(\mbox{m}\,\mbox{s}^{-1}\) ] :

\[ v = \sqrt{\frac{8RT}{\pi MW}} \]

where R is the ideal gas constant [ \(\mbox{J}\, \mbox{K}^{-1}\, \mbox{mol}^{-1}\)], T is temperature [K], and MW is the molecular weight of the gas-phase species [ \(\mbox{kg}\, \mbox{mol}^{-1}\)]

Parameters
temperature__KTemperature [K]
mw__kg_molMolecular weight of the gas-phase species [ \(\mbox{kg}\, \mbox{mol}^{-1}\)]

Definition at line 30 of file util.h.

Here is the caller graph for this function:

◆ transition_regime_correction_factor()

static double transition_regime_correction_factor ( double  mean_free_path__m,
double  radius__m,
double  alpha 
)
inlinestatic

Calculate the transition regime correction factor [unitless] [Fuchs1971] :

\[ f(K_n,\alpha) = \frac{0.75 \alpha ( 1 + K_n )}{K_n(1+K_n) + 0.283\alpha K_n + 0.75 \alpha} \]

where the Knudsen Number \(K_n = \lambda / r\) (where \(\lambda\) is the mean free path [m] of the gas-phase species and \(r\) is the effective radius of the particles [m]), and \( \alpha \) is the mass accomodation coefficient, which is typically assumed to equal 0.1 [Zaveri2008].

Parameters
mean_free_path__mmean free path of the gas-phase species [m]
radius__mParticle effective radius [m]
alphaMass accomodation coefficient [unitless]

Definition at line 69 of file util.h.

Here is the call graph for this function:
Here is the caller graph for this function: