flowtube.coated_wall_reactor

Main coated wall reactor class and associated calculations.

Citations:

Bertram, A.K., Ivanov, A.V., Hunter, M., Molina, L.T., Molina, M.J., 2001. The Reaction Probability of OH on Organic Surfaces of Tropospheric Interest. J. Phys. Chem. A 105, 9415-9421. https://doi.org/10.1021/jp0114034

Knopf, D.A., Pöschl, U., Shiraiwa, M., 2015. Radial Diffusion and Penetration of Gas Molecules and Aerosol Particles through Laminar Flow Reactors, Denuders, and Sampling Tubes. Anal. Chem. 87, 3746-3754. https://doi.org/10.1021/ac5042395

Hanson, D.R., Ravishankara, A.R., 1993. Uptake of hydrochloric acid and hypochlorous acid onto sulfuric acid: solubilities, diffusivities, and reaction. J. Phys. Chem. 97, 12309-12319. https://doi.org/10.1021/j100149a035

Fuchs, N.A., Sutugin, A.G., 1971. HIGH-DISPERSED AEROSOLS, in: Hidy, G.M., Brock, J.R. (Eds.), Topics in Current Aerosol Research, International Reviews in Aerosol Physics and Chemistry. Pergamon, p. 1. https://doi.org/10.1016/B978-0-08-016674-2.50006-6

Ivanov, A.V., Molina, M.J., Park, J., 2021. Experimental study on HCl uptake by MgCl2 and sea salt under humid conditions. J Mass Spectrom 56, e4601. https://doi.org/10.1002/jms.4601

Tang, M.J., Cox, R.A., Kalberer, M., 2014. Compilation and evaluation of gas phase diffusion coefficients of reactive trace gases in the atmosphere: volume 1. Inorganic compounds. Atmos. Chem. Phys. 14, 9233-9247. https://doi.org/10.5194/acp-14-9233-2014

Classes

CoatedWallReactor

Module Contents

class flowtube.coated_wall_reactor.CoatedWallReactor(FT_ID: float, FT_length: float, injector_ID: float, injector_OD: float, reactant_gas: str, carrier_gas: str, reactant_conc_type: str, reactant_conc: float, insert_ID: float = np.nan, insert_OD: float = np.nan, insert_length: float = 0)[source]
FT_ID[source]
FT_length[source]
injector_ID[source]
injector_OD[source]
reactant_gas[source]
reactant_conc_type[source]
reactant_conc[source]
carrier_gas[source]
insert_ID[source]
insert_OD[source]
insert_length = 0[source]
initialize(reactant_FR: float, reactant_carrier_FR: float, carrier_FR: float, P: float, P_units: str, T: float, reactant_diffusion_rate: float = np.nan, radial_delta_T: float = 1, axial_delta_T: float = 1, disp: bool = True) None[source]

Sets experimental conditions and calls calculation functions for numerous flow and diffusion parameters.

Parameters:
  • reactant_FR (float) – Reactant flow rate (sccm).

  • reactant_carrier_FR (float) – Carrier flow rate (sccm) used to dilute the reactant.

  • carrier_FR (float) – Carrier flow rate (sccm) typically injected near the start of the flow tube.

  • P (float) – Pressure.

  • P_units (str) – Pressure units.

  • T (float) – Temperature (C).

  • reactant_diffusion_rate (float) – Reactant diffusion rate (cm2 s-1).

  • radial_delta_T (float) – Radial temperature gradient (K) (default = 1 K).

  • axial_delta_T (float) – Axial temperature gradient (K) (default = 1 K).

  • disp (bool) – Display calculated calculated values.

Returns:

None

flows(reactant_FR: float, reactant_carrier_FR: float, carrier_FR: float, disp: bool = True) None[source]

Calculates Flow Tube flows.

Parameters:
  • reactant_FR (float) – Reactant flow rate (sccm).

  • reactant_carrier_FR (float) – Carrier flow rate (sccm) used to dilute the reactant.

  • carrier_FR (float) – Carrier flow rate (sccm) typically injected near the start of the flow tube.

  • disp (bool) – Display calculated calculated values.

Returns:

None

carrier_flow(radial_delta_T: float = 1, axial_delta_T: float = 1, disp: bool = True)[source]

Performs and displays carrier gas transport calculations.

Parameters:
  • delta_T_radial (float) – Radial temperature gradient (K).

  • delta_T_axial (float) – Axial temperature gradient (K).

  • disp (bool) – Display calculated values.

Returns:

None

reactant_diffusion(reactant_diffusion_rate: float = np.nan, disp: bool = True) None[source]

Performs and displays reactant diffusion calculations.

Parameters:
  • reactant_diffusion_rate (float) – Reactant diffusion rate (cm2 s-1).

  • disp (bool) – Display calculated calculated values.

Returns:

None

reactant_uptake(hypothetical_gamma: numpy.typing.ArrayLike | float | int, exposure_time: float = 10, gamma_wall: float = 5e-06, disp: bool = True) None[source]

Calculates reactant uptake to coated wall or insert and loss to flow tube walls.

Parameters:
  • hypothetical_gamma (ArrayLike or float or int) – Hypothetical uptake coefficient to calculate diffusion correction factor.

  • gamma_wall (float) – Wall uptake coefficient (default: 5e-6 for halocarbon wax coating - Ivanov et al., J. Mass Spectrom., 2021).

  • (float (exposure_time) – 10): Time in minutes over which the surface is exposed to the reactant.

  • default – 10): Time in minutes over which the surface is exposed to the reactant.

  • disp (bool) – Display calculated values.

Returns:

None.

calculate_gamma_effective(concentrations: numpy.typing.ArrayLike, exposure: numpy.typing.ArrayLike, exposure_units: str) tuple[float, float, float, float, float, float][source]

Fits the observed loss to the coated wall to a first order kinetic model to extract the effective uptake coefficient.

Parameters:
  • concentrations (ArrayLike) – Reactant concentrations (arbitrary units).

  • exposure (ArrayLike) – Reactant exposure (s or cm).

  • exposure_units (str) – Units of exposure (s or cm).

Returns:

k, first order loss rate (s-1). float: intercept, y-intercept of the fit. float: r_value, correlation coefficient of the fit. float: gamma, effective uptake coefficient. float: gamma_lower, lower bound of 95% confidence interval for gamma. float: gamma_upper, upper bound of 95% confidence interval for gamma.

Return type:

float

diffusion_corrected_uptake_coefficient(effective_gamma: float) float[source]

Calculate the diffusion-corrected uptake coefficient.

Parameters:

effective_gamma (float) – Effective uptake coefficient.

Returns:

Diffusion-corrected uptake coefficient.

Return type:

float