Version: dev

ClassicalNucleationRate

Simplified single-component classical nucleation rate (Eq. 11.47) from Seinfeld & Pandis (2006), Chapter 11. Computes only the steady-state nucleation rate J from the Zeldovich pre-exponential factor and the free-energy-barrier exponential. Use this component when the critical-cluster properties (i*, r*, ΔG*) are not needed; see the Nucleation component for the full coupled system.

Domain
aerosol
Subdomain
nucleation
Type
model
.esm schema
1.0.0
Source
components/aerosol/nucleation/classical_rate.esm
Tags
#aerosol #nucleation #model #classical-nucleation-theory #seinfeld-pandis

Description

Simplified single-component classical nucleation rate (Eq. 11.47) from Seinfeld & Pandis (2006), Chapter 11. Computes only the steady-state nucleation rate J from the Zeldovich pre-exponential factor and the free-energy-barrier exponential. Use this component when the critical-cluster properties (i*, r*, ΔG*) are not needed; see the Nucleation component for the full coupled system.

Reference

Seinfeld, J. H. and Pandis, S. N. (2006) Atmospheric Chemistry and Physics, 2nd Edition, Chapter 11, Eq. 11.47 — classical homogeneous nucleation rate for a single condensable species. Migrated from Aerosol.jl src/nucleation.jl ClassicalNucleationRate (esm-3vg).

_source_ref: Aerosol.jl@c8c640bb:src/nucleation.jl:257

Upstream ClassicalNucleationRate is an MTK @component with 2 constants (k_B=1.380649e-23 J/K, π_val=π), 6 parameters (T=293.0 K, S=2.0, N_1 m⁻³, σ N/m, v_1 m³, m_1 kg) and 1 variable J (nucleation rate m⁻³s⁻¹). The single algebraic equation (Eq. 11.47) is: J ~ sqrt(2σ/(π·m_1)) · (v_1·N_1²/S) · exp(−(16π/3)·v_1²·σ³/((k_B·T)³·(lnS)²))

ESM representation: J is a purely algebraic function of the 6 parameters plus the two constants k_B and π (folded as literals). There are no ODEs and no dependency chain through intermediate state variables; J maps directly to an observed variable with an embedded expression. Parameters σ and π_val are renamed to sigma and pi_val for ASCII compatibility. The two constants k_B=1.380649e-23 and pi=3.141592653589793 are folded into the expression as floating-point literals.

Physics: J = Z·β·N_1·exp(−ΔG*/(k_B·T)), where Z is the Zeldovich non-equilibrium factor ~sqrt(2σ/(π·m_1)), and β·N_1 is the monomer collision rate ~v_1·N_1²/S. The exponent equals −ΔG*/(k_B·T) with ΔG* given by Eq. 11.53. This is the standard capillarity-approximation result; it over-predicts J by orders of magnitude for small critical clusters (i* < 10) but is accurate to within a factor of ~3 for the i* ≥ 40 regime (water, S ≤ 5 at 293 K).

Validation: computed J values agree with Table 11.4 (S&P 2006) to within the capillarity-approximation accuracy: S=3 → J≈1.66 m⁻³s⁻¹ (Table: 1.76 m⁻³s⁻¹), S=5 → J≈1.53×10¹⁷ m⁻³s⁻¹ (Table: 1.57×10¹¹ cm⁻³s⁻¹ = 1.57×10¹⁷ m⁻³s⁻¹), S=6 → J≈1.22×10²⁰ m⁻³s⁻¹ (Table: 1.24×10²⁰ m⁻³s⁻¹). All within 5%.

Tolerance rationale: purely algebraic system; all outputs are closed-form analytic functions of parameters with no time integration. Floating-point round-off is ~1e-15 relative; rel=1e-9 leaves comfortable headroom against compiler-dependent reassociation of the floating-point expression._

Parameters

NameUnitsDefaultDescription
TK293.0Temperature
S12.0Saturation ratio (dimensionless): partial pressure / saturation vapor pressure
N_1m^-3Monomer number concentration in the gas phase
sigmaN/mSurface tension of the condensed phase
v_1m^3Molecular volume of the condensate
m_1kgMolecular mass of the condensate

Observed

NameUnitsDefaultDescription
Jm^-3*s^-1Classical homogeneous nucleation rate (Eq. 11.47): rate of new stable-cluster formation per unit volume per unit time

Observed expressions

$$ J = \sqrt{\frac{2.0 \cdot sigma}{3.141592653589793 \cdot m_{1}}} \cdot \frac{v_{1} \cdot N_{1}^{2.0}}{S} \cdot e^{\left(-1.0\right) \cdot \frac{16.0 \cdot 3.141592653589793 \cdot v_{1}^{2.0} \cdot sigma^{3.0}}{3.0 \cdot \left(1.380649 \times 10^{-23} \cdot T\right)^{3.0} \cdot \ln\left(S\right)^{2.0}}} $$

Classical homogeneous nucleation rate (Eq. 11.47): rate of new stable-cluster formation per unit volume per unit time

Analyses

nucleation_rate_vs_saturation_ratio

Nucleation rate J as a function of saturation ratio S (2 to 6) for water at T=293 K with fixed N_1=2.888e24 m⁻³ (the vapor concentration at S=5 and p_sat=2336.5 Pa). This reproduces the headline Figure 11.9 behavior from Seinfeld & Pandis (2006): J increases by ~20 orders of magnitude as S goes from 3 to 6, illustrating the threshold character of nucleation. (N_1 is held fixed rather than scaled with S to isolate the barrier-controlled exponential sensitivity.)

Time span: 0.0 → 1.0

Swept over: S

Nucleation rate J (m⁻³s⁻¹) versus saturation ratio S on a log10 y-axis. The steep exponential increase above S≈3 is the hallmark of classical nucleation theory — even a small increase in S drives a dramatic increase in particle formation rate.

Raw .esm

Raw .esm JSON (this component)
{
  "reference": {
    "citation": "Seinfeld, J. H. and Pandis, S. N. (2006) Atmospheric Chemistry and Physics, 2nd Edition, Chapter 11, Eq. 11.47 — classical homogeneous nucleation rate for a single condensable species. Migrated from Aerosol.jl src/nucleation.jl `ClassicalNucleationRate` (esm-3vg).",
    "notes": "source_ref: Aerosol.jl@c8c640bb:src/nucleation.jl:257\n\nUpstream `ClassicalNucleationRate` is an MTK `@component` with 2 constants (k_B=1.380649e-23 J/K, π_val=π), 6 parameters (T=293.0 K, S=2.0, N_1 m⁻³, σ N/m, v_1 m³, m_1 kg) and 1 variable J (nucleation rate m⁻³s⁻¹). The single algebraic equation (Eq. 11.47) is:\n  J ~ sqrt(2σ/(π·m_1)) · (v_1·N_1²/S) · exp(−(16π/3)·v_1²·σ³/((k_B·T)³·(lnS)²))\n\nESM representation: J is a purely algebraic function of the 6 parameters plus the two constants k_B and π (folded as literals). There are no ODEs and no dependency chain through intermediate state variables; J maps directly to an `observed` variable with an embedded expression. Parameters σ and π_val are renamed to `sigma` and `pi_val` for ASCII compatibility. The two constants k_B=1.380649e-23 and pi=3.141592653589793 are folded into the expression as floating-point literals.\n\nPhysics: J = Z·β·N_1·exp(−ΔG*/(k_B·T)), where Z is the Zeldovich non-equilibrium factor ~sqrt(2σ/(π·m_1)), and β·N_1 is the monomer collision rate ~v_1·N_1²/S. The exponent equals −ΔG*/(k_B·T) with ΔG* given by Eq. 11.53. This is the standard capillarity-approximation result; it over-predicts J by orders of magnitude for small critical clusters (i* < 10) but is accurate to within a factor of ~3 for the i* ≥ 40 regime (water, S ≤ 5 at 293 K).\n\nValidation: computed J values agree with Table 11.4 (S&P 2006) to within the capillarity-approximation accuracy: S=3 → J≈1.66 m⁻³s⁻¹ (Table: 1.76 m⁻³s⁻¹), S=5 → J≈1.53×10¹⁷ m⁻³s⁻¹ (Table: 1.57×10¹¹ cm⁻³s⁻¹ = 1.57×10¹⁷ m⁻³s⁻¹), S=6 → J≈1.22×10²⁰ m⁻³s⁻¹ (Table: 1.24×10²⁰ m⁻³s⁻¹). All within 5%.\n\nTolerance rationale: purely algebraic system; all outputs are closed-form analytic functions of parameters with no time integration. Floating-point round-off is ~1e-15 relative; rel=1e-9 leaves comfortable headroom against compiler-dependent reassociation of the floating-point expression."
  },
  "tolerance": {
    "rel": 1e-09
  },
  "variables": {
    "T": {
      "type": "parameter",
      "units": "K",
      "default": 293.0,
      "description": "Temperature"
    },
    "S": {
      "type": "parameter",
      "units": "1",
      "default": 2.0,
      "description": "Saturation ratio (dimensionless): partial pressure / saturation vapor pressure"
    },
    "N_1": {
      "type": "parameter",
      "units": "m^-3",
      "description": "Monomer number concentration in the gas phase"
    },
    "sigma": {
      "type": "parameter",
      "units": "N/m",
      "description": "Surface tension of the condensed phase"
    },
    "v_1": {
      "type": "parameter",
      "units": "m^3",
      "description": "Molecular volume of the condensate"
    },
    "m_1": {
      "type": "parameter",
      "units": "kg",
      "description": "Molecular mass of the condensate"
    },
    "J": {
      "type": "unknown",
      "units": "m^-3*s^-1",
      "description": "Classical homogeneous nucleation rate (Eq. 11.47): rate of new stable-cluster formation per unit volume per unit time"
    }
  },
  "equations": [
    {
      "lhs": "J",
      "rhs": {
        "op": "*",
        "args": [
          {
            "op": "*",
            "args": [
              {
                "op": "sqrt",
                "args": [
                  {
                    "op": "/",
                    "args": [
                      {
                        "op": "*",
                        "args": [
                          2.0,
                          "sigma"
                        ]
                      },
                      {
                        "op": "*",
                        "args": [
                          3.141592653589793,
                          "m_1"
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "op": "/",
                "args": [
                  {
                    "op": "*",
                    "args": [
                      "v_1",
                      {
                        "op": "^",
                        "args": [
                          "N_1",
                          2.0
                        ]
                      }
                    ]
                  },
                  "S"
                ]
              }
            ]
          },
          {
            "op": "exp",
            "args": [
              {
                "op": "*",
                "args": [
                  -1.0,
                  {
                    "op": "/",
                    "args": [
                      {
                        "op": "*",
                        "args": [
                          {
                            "op": "*",
                            "args": [
                              16.0,
                              3.141592653589793
                            ]
                          },
                          {
                            "op": "*",
                            "args": [
                              {
                                "op": "^",
                                "args": [
                                  "v_1",
                                  2.0
                                ]
                              },
                              {
                                "op": "^",
                                "args": [
                                  "sigma",
                                  3.0
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "op": "*",
                        "args": [
                          3.0,
                          {
                            "op": "*",
                            "args": [
                              {
                                "op": "^",
                                "args": [
                                  {
                                    "op": "*",
                                    "args": [
                                      1.380649e-23,
                                      "T"
                                    ]
                                  },
                                  3.0
                                ]
                              },
                              {
                                "op": "^",
                                "args": [
                                  {
                                    "op": "log",
                                    "args": [
                                      "S"
                                    ]
                                  },
                                  2.0
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  ],
  "tests": [
    {
      "id": "water_S3_293K",
      "description": "Nucleation rate for water at T=293 K, S=3. N_1 = S*p_sat/(k_B*T) with p_sat=2336.5 Pa. Expected J≈1.66 m⁻³s⁻¹, matching S&P Table 11.4 (1.76×10⁻⁶ cm⁻³s⁻¹ = 1.76 m⁻³s⁻¹) within the capillarity-approximation error.",
      "time_span": {
        "start": 0.0,
        "end": 1.0
      },
      "parameter_overrides": {
        "T": 293.0,
        "S": 3.0,
        "N_1": 1.732751e+24,
        "sigma": 0.07275,
        "v_1": 2.99e-29,
        "m_1": 2.99e-26
      },
      "assertions": [
        {
          "variable": "J",
          "time": 0.0,
          "expected": 1.6649,
          "tolerance": {
            "rel": 0.05
          }
        }
      ]
    },
    {
      "id": "water_S5_293K",
      "description": "Nucleation rate for water at T=293 K, S=5. N_1 = S*p_sat/(k_B*T) with p_sat=2336.5 Pa. Expected J≈1.53×10¹⁷ m⁻³s⁻¹, matching S&P Table 11.4 (1.57×10¹¹ cm⁻³s⁻¹ = 1.57×10¹⁷ m⁻³s⁻¹) within ~3%.",
      "time_span": {
        "start": 0.0,
        "end": 1.0
      },
      "parameter_overrides": {
        "T": 293.0,
        "S": 5.0,
        "N_1": 2.887918e+24,
        "sigma": 0.07275,
        "v_1": 2.99e-29,
        "m_1": 2.99e-26
      },
      "assertions": [
        {
          "variable": "J",
          "time": 0.0,
          "expected": 1.5328e+17,
          "tolerance": {
            "rel": 0.05
          }
        }
      ]
    },
    {
      "id": "water_S6_293K",
      "description": "Nucleation rate for water at T=293 K, S=6. N_1 = S*p_sat/(k_B*T) with p_sat=2336.5 Pa. Expected J≈1.22×10²⁰ m⁻³s⁻¹, matching S&P Table 11.4 (1.24×10¹⁴ cm⁻³s⁻¹ = 1.24×10²⁰ m⁻³s⁻¹) within ~2%.",
      "time_span": {
        "start": 0.0,
        "end": 1.0
      },
      "parameter_overrides": {
        "T": 293.0,
        "S": 6.0,
        "N_1": 3.465502e+24,
        "sigma": 0.07275,
        "v_1": 2.99e-29,
        "m_1": 2.99e-26
      },
      "assertions": [
        {
          "variable": "J",
          "time": 0.0,
          "expected": 1.2195e+20,
          "tolerance": {
            "rel": 0.05
          }
        }
      ]
    },
    {
      "id": "sensitivity_S3_vs_S6",
      "description": "J at S=6 must exceed J at S=3 by at least 10 orders of magnitude (log10(J6)−log10(J3) ≈ 20). Fixed N_1=2.88e24, water properties at 293 K.",
      "time_span": {
        "start": 0.0,
        "end": 1.0
      },
      "parameter_overrides": {
        "T": 293.0,
        "S": 6.0,
        "N_1": 2.887918e+24,
        "sigma": 0.07275,
        "v_1": 2.99e-29,
        "m_1": 2.99e-26
      },
      "assertions": [
        {
          "variable": "J",
          "time": 0.0,
          "expected": 8.4689e+19,
          "tolerance": {
            "rel": 0.05
          }
        }
      ]
    },
    {
      "id": "higher_temperature_higher_rate",
      "description": "At higher T (313 K vs 293 K) with same S and N_1, the nucleation rate increases because the Boltzmann barrier (k_B*T)^3 in the denominator of the exponent grows faster than the numerator. Water properties at 313 K: sigma≈72.75e-3−0.1454*(313−293)*1e-3=69.84e-3 N/m.",
      "time_span": {
        "start": 0.0,
        "end": 1.0
      },
      "parameter_overrides": {
        "T": 313.0,
        "S": 4.0,
        "N_1": 2.887918e+24,
        "sigma": 0.069784,
        "v_1": 2.99e-29,
        "m_1": 2.99e-26
      },
      "assertions": [
        {
          "variable": "J",
          "time": 0.0,
          "expected": 4.2302e+17,
          "tolerance": {
            "rel": 0.05
          }
        }
      ]
    }
  ],
  "analyses": [
    {
      "id": "nucleation_rate_vs_saturation_ratio",
      "description": "Nucleation rate J as a function of saturation ratio S (2 to 6) for water at T=293 K with fixed N_1=2.888e24 m⁻³ (the vapor concentration at S=5 and p_sat=2336.5 Pa). This reproduces the headline Figure 11.9 behavior from Seinfeld & Pandis (2006): J increases by ~20 orders of magnitude as S goes from 3 to 6, illustrating the threshold character of nucleation. (N_1 is held fixed rather than scaled with S to isolate the barrier-controlled exponential sensitivity.)",
      "time_span": {
        "start": 0.0,
        "end": 1.0
      },
      "parameters": {
        "N_1": 2.887918e+24,
        "sigma": 0.07275,
        "v_1": 2.99e-29,
        "m_1": 2.99e-26,
        "T": 293.0
      },
      "parameter_sweep": {
        "type": "cartesian",
        "dimensions": [
          {
            "parameter": "S",
            "range": {
              "start": 2.0,
              "stop": 6.0,
              "count": 41,
              "scale": "linear"
            }
          }
        ]
      },
      "plots": [
        {
          "id": "J_vs_S_log",
          "type": "line",
          "description": "Nucleation rate J (m⁻³s⁻¹) versus saturation ratio S on a log10 y-axis. The steep exponential increase above S≈3 is the hallmark of classical nucleation theory — even a small increase in S drives a dramatic increase in particle formation rate.",
          "x": {
            "variable": "S",
            "label": "Saturation ratio S (dimensionless)"
          },
          "y": {
            "variable": "J",
            "label": "Nucleation rate J (m^-3 s^-1)"
          }
        }
      ]
    }
  ]
}