Version: dev

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.

.esm schema
1.0.0
Source
components/aerosol/transport/mass_transport_limitation.esm

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

NameUnitsDefaultDescription
RJ/mol/K8.314Universal gas constant. Migrated from upstream @constants block.
ε10.1Mass-transport limitation threshold (10% criterion). Migrated from upstream @constants block.
π_val13.141592653589793Pi (dimensionless).
R_pm1e-05Droplet radius.
D_gm^2/s2e-05Gas-phase diffusivity of the absorbing species.
D_aqm^2/s1e-09Aqueous-phase diffusivity of the dissolved species.
α11.0Accommodation coefficient (mass sticking coefficient at the gas–liquid interface).
M_Akg/mol0.029Molecular weight of the absorbing species A.
TK298.15Temperature.

Observed

NameUnitsDefaultDescription
k1H_gas_limitmol/m^3/Pa/sGas-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_limit1/sAqueous-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_limitmol/m^3/Pa/sInterfacial 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

Gas-phase diffusion limit k1H_gas_limit vs R_p (slope −2 on log-log).

Aqueous-phase diffusion limit k1_aq_limit vs R_p (slope −2 on log-log).

Interfacial transfer limit k1H_interface_limit vs R_p (slope −1 on log-log).

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

k1H_gas_limit vs temperature (decreases with T).

k1H_interface_limit vs temperature (decreases with T due to √T in denominator).

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)"
          }
        }
      ]
    }
  ]
}