flowtube.boat_reactor
Main boat reactor class and associated calculations.
- Citations:
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
Module Contents
- class flowtube.boat_reactor.BoatReactor(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, boat_liquid_width: float, boat_length: float, boat_cross_section: float, boat_perimeter: float | None = None)[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, optional) – 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, gamma_wall: float = 5e-06, disp: bool = True) None[source]
Calculates reactant uptake to the boat 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., 2021).
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 boat to a first order kinetic model to extract the 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, 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