MassTransportLimitation
Mass transport limitation criteria for aqueous-phase chemistry (Seinfeld & Pandis 2006, Chapter 12, Eqs. 12.85, 12.86, 12.93). Computes the threshold values of k₁H* and k₁ below which gas-phase diffusion, aqueous-phase diffusion, and interfacial mass transfer do not limit the aqueous-phase reaction rate by more than 10%. Migrated from Aerosol.jl src/aqueous_transport.jl:53.
Description
Mass transport limitation criteria for aqueous-phase chemistry (Seinfeld & Pandis 2006, Chapter 12, Eqs. 12.85, 12.86, 12.93). Computes the threshold values of k₁H* and k₁ below which gas-phase diffusion, aqueous-phase diffusion, and interfacial mass transfer do not limit the aqueous-phase reaction rate by more than 10%. Migrated from Aerosol.jl src/aqueous_transport.jl:53.
Reference
Seinfeld, J. H., & Pandis, S. N. (2006) Atmospheric Chemistry and Physics, 2nd ed., Wiley. Ch. 12, Eqs. 12.85, 12.86, 12.93. Migrated from Aerosol.jl:src/aqueous_transport.jl:53 (esm-2gy).
_source_ref: Aerosol.jl:src/aqueous_transport.jl:53
Upstream MassTransportLimitation is an MTK @component with two @constants (R=8.314, ε=0.1) and six @parameters (R_p, D_g, D_aq, α, M_A, T). Three @variables (k1H_gas_limit, k1_aq_limit, k1H_interface_limit) are purely algebraic outputs with no D() time-derivative.
Equations (S&P 2006, Ch. 12): k1H_gas_limit = ε × 3D_g / (R_p² R T) [Eq. 12.85 — gas-phase diffusion limit] k1_aq_limit = ε × π²D_aq / R_p² [Eq. 12.86 — aqueous-phase diffusion limit] k1H_interface_limit = ε × 3α / (R_p √(2πM_A R T)) [Eq. 12.93 — interfacial transfer limit]
Upstream constants R and ε are serialized as fixed-default parameters (the .esm schema has no constant type). π is also a fixed-default parameter (π_val = 3.141592653589793).
All three variables are purely algebraic (no ODE states), classified as observed with inline expressions. The equations array is empty.
Physical interpretation: the three limits describe the conditions under which mass transport does not suppress the intrinsic aqueous-phase reaction rate by more than the threshold ε (default 10%). For a given droplet radius, diffusivity, and temperature, if the product k₁H* (or k₁) is below the corresponding threshold, the reaction is kinetically controlled rather than transport-limited.
Tolerance rationale (model-level rel=1e-9): purely algebraic system with simple rational and square-root expressions. Float64 round-off is ~1e-15 relative; rel=1e-9 leaves six orders of headroom, matching sibling observed-only ESMs (capillary_penetration, cloud_water_properties)._
Parameters
| Name | Units | Default | Description |
|---|---|---|---|
R | J/mol/K | 8.314 | Universal gas constant. Migrated from upstream @constants block. |
ε | 1 | 0.1 | Mass-transport limitation threshold (10% criterion). Migrated from upstream @constants block. |
π_val | 1 | 3.141592653589793 | Pi (dimensionless). |
R_p | m | 1e-05 | Droplet radius. |
D_g | m^2/s | 2e-05 | Gas-phase diffusivity of the absorbing species. |
D_aq | m^2/s | 1e-09 | Aqueous-phase diffusivity of the dissolved species. |
α | 1 | 1.0 | Accommodation coefficient (mass sticking coefficient at the gas–liquid interface). |
M_A | kg/mol | 0.029 | Molecular weight of the absorbing species A. |
T | K | 298.15 | Temperature. |
Observed
| Name | Units | Default | Description |
|---|---|---|---|
k1H_gas_limit | mol/m^3/Pa/s | Gas-phase diffusion limitation threshold for k₁H* (Eq. 12.85). If k₁H* < k1H_gas_limit, gas-phase diffusion does not limit the reaction by more than ε. | |
k1_aq_limit | 1/s | Aqueous-phase diffusion limitation threshold for k₁ (Eq. 12.86). If k₁ < k1_aq_limit, intra-droplet diffusion does not limit the reaction by more than ε. | |
k1H_interface_limit | mol/m^3/Pa/s | Interfacial mass-transfer limitation threshold for k₁H* (Eq. 12.93). If k₁H* < k1H_interface_limit, interfacial resistance does not limit the reaction by more than ε. |
Observed expressions
$$ k1H_{gas\,limit} = \frac{ε \cdot 3 \cdot D_{g}}{R_{p}^{2} \cdot R \cdot T} $$Gas-phase diffusion limitation threshold for k₁H* (Eq. 12.85). If k₁H* < k1H_gas_limit, gas-phase diffusion does not limit the reaction by more than ε.
$$ k1_{aq\,limit} = \frac{ε \cdot π_{val}^{2} \cdot D_{aq}}{R_{p}^{2}} $$Aqueous-phase diffusion limitation threshold for k₁ (Eq. 12.86). If k₁ < k1_aq_limit, intra-droplet diffusion does not limit the reaction by more than ε.
$$ k1H_{interface\,limit} = \frac{ε \cdot 3 \cdot α}{R_{p} \cdot \sqrt{2 \cdot π_{val} \cdot M_{A} \cdot R \cdot T}} $$Interfacial mass-transfer limitation threshold for k₁H* (Eq. 12.93). If k₁H* < k1H_interface_limit, interfacial resistance does not limit the reaction by more than ε.
Analyses
limits_vs_droplet_radius
All three mass-transport limitation thresholds as a function of droplet radius R_p (log sweep 0.1 µm to 100 µm) at T=298.15 K. k1H_gas_limit and k1_aq_limit both scale as 1/R_p² (lines with slope −2 on a log-log plot); k1H_interface_limit scales as 1/R_p (slope −1). Smaller droplets are more susceptible to transport limitation.
Time span: 0.0 → 1.0
Swept over: R_p



limits_vs_temperature
Temperature dependence of k1H_gas_limit and k1H_interface_limit over the atmospheric cloud range 260–310 K. Both limits decrease with increasing T (warmer → less restrictive for the kinetics-vs-transport balance). k1_aq_limit is temperature-independent.
Time span: 0.0 → 1.0
Swept over: T


Raw .esm
Raw .esm JSON (this component)
{
"reference": {
"citation": "Seinfeld, J. H., & Pandis, S. N. (2006) Atmospheric Chemistry and Physics, 2nd ed., Wiley. Ch. 12, Eqs. 12.85, 12.86, 12.93. Migrated from Aerosol.jl:src/aqueous_transport.jl:53 (esm-2gy).",
"notes": "source_ref: Aerosol.jl:src/aqueous_transport.jl:53\n\nUpstream `MassTransportLimitation` is an MTK `@component` with two `@constants` (R=8.314, ε=0.1) and six `@parameters` (R_p, D_g, D_aq, α, M_A, T). Three `@variables` (k1H_gas_limit, k1_aq_limit, k1H_interface_limit) are purely algebraic outputs with no `D()` time-derivative.\n\nEquations (S&P 2006, Ch. 12):\n k1H_gas_limit = ε × 3D_g / (R_p² R T) [Eq. 12.85 — gas-phase diffusion limit]\n k1_aq_limit = ε × π²D_aq / R_p² [Eq. 12.86 — aqueous-phase diffusion limit]\n k1H_interface_limit = ε × 3α / (R_p √(2πM_A R T)) [Eq. 12.93 — interfacial transfer limit]\n\nUpstream constants R and ε are serialized as fixed-default parameters (the .esm schema has no constant type). π is also a fixed-default parameter (π_val = 3.141592653589793).\n\nAll three variables are purely algebraic (no ODE states), classified as `observed` with inline expressions. The `equations` array is empty.\n\nPhysical interpretation: the three limits describe the conditions under which mass transport does not suppress the intrinsic aqueous-phase reaction rate by more than the threshold ε (default 10%). For a given droplet radius, diffusivity, and temperature, if the product k₁H* (or k₁) is below the corresponding threshold, the reaction is kinetically controlled rather than transport-limited.\n\nTolerance rationale (model-level rel=1e-9): purely algebraic system with simple rational and square-root expressions. Float64 round-off is ~1e-15 relative; rel=1e-9 leaves six orders of headroom, matching sibling observed-only ESMs (capillary_penetration, cloud_water_properties)."
},
"tolerance": {
"rel": 1e-09
},
"variables": {
"R": {
"type": "parameter",
"units": "J/mol/K",
"default": 8.314,
"description": "Universal gas constant. Migrated from upstream @constants block."
},
"ε": {
"type": "parameter",
"units": "1",
"default": 0.1,
"description": "Mass-transport limitation threshold (10% criterion). Migrated from upstream @constants block."
},
"π_val": {
"type": "parameter",
"units": "1",
"default": 3.141592653589793,
"description": "Pi (dimensionless)."
},
"R_p": {
"type": "parameter",
"units": "m",
"default": 1e-05,
"description": "Droplet radius."
},
"D_g": {
"type": "parameter",
"units": "m^2/s",
"default": 2e-05,
"description": "Gas-phase diffusivity of the absorbing species."
},
"D_aq": {
"type": "parameter",
"units": "m^2/s",
"default": 1e-09,
"description": "Aqueous-phase diffusivity of the dissolved species."
},
"α": {
"type": "parameter",
"units": "1",
"default": 1.0,
"description": "Accommodation coefficient (mass sticking coefficient at the gas–liquid interface)."
},
"M_A": {
"type": "parameter",
"units": "kg/mol",
"default": 0.029,
"description": "Molecular weight of the absorbing species A."
},
"T": {
"type": "parameter",
"units": "K",
"default": 298.15,
"description": "Temperature."
},
"k1H_gas_limit": {
"type": "unknown",
"units": "mol/m^3/Pa/s",
"description": "Gas-phase diffusion limitation threshold for k₁H* (Eq. 12.85). If k₁H* < k1H_gas_limit, gas-phase diffusion does not limit the reaction by more than ε."
},
"k1_aq_limit": {
"type": "unknown",
"units": "1/s",
"description": "Aqueous-phase diffusion limitation threshold for k₁ (Eq. 12.86). If k₁ < k1_aq_limit, intra-droplet diffusion does not limit the reaction by more than ε."
},
"k1H_interface_limit": {
"type": "unknown",
"units": "mol/m^3/Pa/s",
"description": "Interfacial mass-transfer limitation threshold for k₁H* (Eq. 12.93). If k₁H* < k1H_interface_limit, interfacial resistance does not limit the reaction by more than ε."
}
},
"equations": [
{
"lhs": "k1H_gas_limit",
"rhs": {
"op": "/",
"args": [
{
"op": "*",
"args": [
"ε",
3,
"D_g"
]
},
{
"op": "*",
"args": [
{
"op": "^",
"args": [
"R_p",
2
]
},
"R",
"T"
]
}
]
}
},
{
"lhs": "k1_aq_limit",
"rhs": {
"op": "/",
"args": [
{
"op": "*",
"args": [
"ε",
{
"op": "^",
"args": [
"π_val",
2
]
},
"D_aq"
]
},
{
"op": "^",
"args": [
"R_p",
2
]
}
]
}
},
{
"lhs": "k1H_interface_limit",
"rhs": {
"op": "/",
"args": [
{
"op": "*",
"args": [
"ε",
3,
"α"
]
},
{
"op": "*",
"args": [
"R_p",
{
"op": "sqrt",
"args": [
{
"op": "*",
"args": [
2,
"π_val",
"M_A",
"R",
"T"
]
}
]
}
]
}
]
}
}
],
"tests": [
{
"id": "default_parameters",
"description": "Default parameters (R_p=1e-5 m, D_g=2e-5 m²/s, D_aq=1e-9 m²/s, α=1, M_A=0.029 kg/mol, T=298.15 K). Checks all three limiting thresholds at their S&P 2006 reference conditions. Eq. 12.85: k1H_gas_limit = 0.1×3×2e-5 / ((1e-5)²×8.314×298.15) ≈ 24.205 mol/(m³·Pa·s). Eq. 12.86: k1_aq_limit = 0.1×π²×1e-9 / (1e-5)² ≈ 9.870 s⁻¹. Eq. 12.93: k1H_interface_limit = 0.1×3×1 / (1e-5×√(2π×0.029×8.314×298.15)) ≈ 1411.6 mol/(m³·Pa·s).",
"time_span": {
"start": 0.0,
"end": 1.0
},
"assertions": [
{
"variable": "k1H_gas_limit",
"time": 0.0,
"expected": 24.205074101615565
},
{
"variable": "k1_aq_limit",
"time": 0.0,
"expected": 9.869604401089358
},
{
"variable": "k1H_interface_limit",
"time": 0.0,
"expected": 1411.5943281130376
}
]
},
{
"id": "temperature_scaling_cold",
"description": "T=280 K (cold cloud). k1H_gas_limit = 0.1×3×2e-5 / ((1e-5)²×8.314×280) ≈ 25.774 mol/(m³·Pa·s) — larger than at 298 K because both gas-phase and interfacial limits increase as T decreases. k1_aq_limit is independent of T.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_overrides": {
"T": 280.0
},
"assertions": [
{
"variable": "k1H_gas_limit",
"time": 0.0,
"expected": 25.774081583559575
},
{
"variable": "k1_aq_limit",
"time": 0.0,
"expected": 9.869604401089358
},
{
"variable": "k1H_interface_limit",
"time": 0.0,
"expected": 1456.6267989973342
}
]
},
{
"id": "temperature_scaling_warm",
"description": "T=310 K (warm cloud). k1H_gas_limit decreases relative to cold: 0.1×3×2e-5 / ((1e-5)²×8.314×310) ≈ 23.280. k1H_interface_limit also decreases: ≈ 1384.4. k1_aq_limit unchanged.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_overrides": {
"T": 310.0
},
"assertions": [
{
"variable": "k1H_gas_limit",
"time": 0.0,
"expected": 23.279815623860262
},
{
"variable": "k1_aq_limit",
"time": 0.0,
"expected": 9.869604401089358
},
{
"variable": "k1H_interface_limit",
"time": 0.0,
"expected": 1384.3517836017547
}
]
},
{
"id": "droplet_radius_scaling",
"description": "R_p=5e-5 m (5× larger droplet). All three limits scale with R_p: k1H_gas_limit ∝ 1/R_p² (factor 1/25 ≈ 0.9682), k1_aq_limit ∝ 1/R_p² (≈ 0.3948 s⁻¹), k1H_interface_limit ∝ 1/R_p (factor 1/5 ≈ 282.3). Larger drops are harder to limit via transport.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_overrides": {
"R_p": 5e-05
},
"assertions": [
{
"variable": "k1H_gas_limit",
"time": 0.0,
"expected": 0.9682029640646227
},
{
"variable": "k1_aq_limit",
"time": 0.0,
"expected": 0.39478417604357435
},
{
"variable": "k1H_interface_limit",
"time": 0.0,
"expected": 282.31886562260746
}
]
},
{
"id": "gas_diffusivity_scaling",
"description": "D_g=1e-5 m²/s (half default). k1H_gas_limit halves to ≈ 12.103 mol/(m³·Pa·s). k1_aq_limit and k1H_interface_limit are independent of D_g.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_overrides": {
"D_g": 1e-05
},
"assertions": [
{
"variable": "k1H_gas_limit",
"time": 0.0,
"expected": 12.102537050807783
},
{
"variable": "k1_aq_limit",
"time": 0.0,
"expected": 9.869604401089358
},
{
"variable": "k1H_interface_limit",
"time": 0.0,
"expected": 1411.5943281130376
}
]
},
{
"id": "accommodation_coefficient_scaling",
"description": "α=0.1 (partial accommodation — species sticks only 10% of the time). k1H_interface_limit scales linearly with α: 0.1 × default ≈ 141.16 mol/(m³·Pa·s). k1H_gas_limit and k1_aq_limit are independent of α.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_overrides": {
"α": 0.1
},
"assertions": [
{
"variable": "k1H_gas_limit",
"time": 0.0,
"expected": 24.205074101615565
},
{
"variable": "k1_aq_limit",
"time": 0.0,
"expected": 9.869604401089358
},
{
"variable": "k1H_interface_limit",
"time": 0.0,
"expected": 141.15943281130376
}
]
},
{
"id": "threshold_sensitivity",
"description": "ε=0.05 (5% criterion instead of 10%). All three limits scale linearly with ε — they halve relative to the default.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_overrides": {
"ε": 0.05
},
"assertions": [
{
"variable": "k1H_gas_limit",
"time": 0.0,
"expected": 12.102537050807783
},
{
"variable": "k1_aq_limit",
"time": 0.0,
"expected": 4.934802200544679
},
{
"variable": "k1H_interface_limit",
"time": 0.0,
"expected": 705.7971640565188
}
]
},
{
"id": "aqueous_diffusivity_scaling",
"description": "D_aq=5e-10 m²/s (half default aqueous diffusivity). k1_aq_limit halves to ≈ 4.935 s⁻¹. k1H_gas_limit and k1H_interface_limit are independent of D_aq.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_overrides": {
"D_aq": 5e-10
},
"assertions": [
{
"variable": "k1H_gas_limit",
"time": 0.0,
"expected": 24.205074101615565
},
{
"variable": "k1_aq_limit",
"time": 0.0,
"expected": 4.934802200544679
},
{
"variable": "k1H_interface_limit",
"time": 0.0,
"expected": 1411.5943281130376
}
]
}
],
"analyses": [
{
"id": "limits_vs_droplet_radius",
"description": "All three mass-transport limitation thresholds as a function of droplet radius R_p (log sweep 0.1 µm to 100 µm) at T=298.15 K. k1H_gas_limit and k1_aq_limit both scale as 1/R_p² (lines with slope −2 on a log-log plot); k1H_interface_limit scales as 1/R_p (slope −1). Smaller droplets are more susceptible to transport limitation.",
"initial_state": {},
"parameters": {},
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_sweep": {
"type": "cartesian",
"dimensions": [
{
"parameter": "R_p",
"range": {
"start": 1e-07,
"stop": 0.0001,
"count": 40,
"scale": "log"
}
}
]
},
"plots": [
{
"id": "gas_limit_vs_Rp",
"type": "line",
"description": "Gas-phase diffusion limit k1H_gas_limit vs R_p (slope −2 on log-log).",
"x": {
"variable": "R_p",
"label": "Droplet radius R_p (m)"
},
"y": {
"variable": "k1H_gas_limit",
"label": "k₁H* gas limit (mol/m³/Pa/s)"
}
},
{
"id": "aq_limit_vs_Rp",
"type": "line",
"description": "Aqueous-phase diffusion limit k1_aq_limit vs R_p (slope −2 on log-log).",
"x": {
"variable": "R_p",
"label": "Droplet radius R_p (m)"
},
"y": {
"variable": "k1_aq_limit",
"label": "k₁ aqueous limit (s⁻¹)"
}
},
{
"id": "interface_limit_vs_Rp",
"type": "line",
"description": "Interfacial transfer limit k1H_interface_limit vs R_p (slope −1 on log-log).",
"x": {
"variable": "R_p",
"label": "Droplet radius R_p (m)"
},
"y": {
"variable": "k1H_interface_limit",
"label": "k₁H* interface limit (mol/m³/Pa/s)"
}
}
]
},
{
"id": "limits_vs_temperature",
"description": "Temperature dependence of k1H_gas_limit and k1H_interface_limit over the atmospheric cloud range 260–310 K. Both limits decrease with increasing T (warmer → less restrictive for the kinetics-vs-transport balance). k1_aq_limit is temperature-independent.",
"initial_state": {},
"parameters": {},
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_sweep": {
"type": "cartesian",
"dimensions": [
{
"parameter": "T",
"range": {
"start": 260.0,
"stop": 310.0,
"count": 26,
"scale": "linear"
}
}
]
},
"plots": [
{
"id": "gas_limit_vs_T",
"type": "line",
"description": "k1H_gas_limit vs temperature (decreases with T).",
"x": {
"variable": "T",
"label": "Temperature (K)"
},
"y": {
"variable": "k1H_gas_limit",
"label": "k₁H* gas limit (mol/m³/Pa/s)"
}
},
{
"id": "interface_limit_vs_T",
"type": "line",
"description": "k1H_interface_limit vs temperature (decreases with T due to √T in denominator).",
"x": {
"variable": "T",
"label": "Temperature (K)"
},
"y": {
"variable": "k1H_interface_limit",
"label": "k₁H* interface limit (mol/m³/Pa/s)"
}
}
]
}
]
}