Skip to content

ASM1 - Activated Sludge Model No. 1 ​

IWA standard model for carbon and nitrogen removal with death-regeneration concept

Overview ​

ASM1 (Activated Sludge Model No. 1) is the foundational biokinetic model developed by the IWA Task Group on Mathematical Modelling. It describes carbon oxidation, nitrification, and denitrification in activated sludge systems using the death-regeneration concept.

When to Use ​

  • Conventional activated sludge
  • Nitrogen removal processes (MLE, Bardenpho, A2O)
  • Process optimization studies
  • Controller tuning
  • Teaching and training
  • Biological phosphorus removal (use ASM2d)
  • Storage-dominated processes (use ASM3)
  • Anaerobic systems (use ADM1)
  • High-rate processes with significant storage

State Variables ​

ASM1 uses 13 state variables:

IndexSymbolDescriptionUnit
0S_ISoluble inert organicsmg COD/L
1S_SReadily biodegradable substratemg COD/L
2X_IParticulate inert organicsmg COD/L
3X_SSlowly biodegradable substratemg COD/L
4X_BHActive heterotrophic biomassmg COD/L
5X_BAActive autotrophic biomassmg COD/L
6X_PParticulate products from decaymg COD/L
7S_ODissolved oxygenmg O2/L
8S_NONitrate nitrogenmg N/L
9S_NHAmmonia nitrogenmg N/L
10S_NDSoluble biodegradable organic Nmg N/L
11X_NDParticulate biodegradable organic Nmg N/L
12S_ALKAlkalinitymol HCO3/m³

Processes ​

ASM1 includes 8 biological processes:

Process Summary ​

#ProcessDescription
1Aerobic heterotrophic growthCOD oxidation to biomass
2Anoxic heterotrophic growthDenitrification (NO3 → N2)
3Aerobic autotrophic growthNitrification (NH4 → NO3)
4Decay of heterotrophsDeath-regeneration
5Decay of autotrophsDeath-regeneration
6AmmonificationOrganic N → NH4
7Hydrolysis of X_SParticulate → soluble COD
8Hydrolysis of X_NDParticulate → soluble org-N

Kinetic Equations ​

Process 1: Aerobic Heterotrophic Growth ​

$$\rho_1 = \mu_{H} \cdot \frac{S_S}{K_S + S_S} \cdot \frac{S_O}{K_{O,H} + S_O} \cdot X_{BH}$$

Process 2: Anoxic Heterotrophic Growth (Denitrification) ​

$$\rho_2 = \mu_{H} \cdot \eta_g \cdot \frac{S_S}{K_S + S_S} \cdot \frac{K_{O,H}}{K_{O,H} + S_O} \cdot \frac{S_{NO}}{K_{NO} + S_{NO}} \cdot X_{BH}$$

Process 3: Aerobic Autotrophic Growth (Nitrification) ​

$$\rho_3 = \mu_{A} \cdot \frac{S_{NH}}{K_{NH} + S_{NH}} \cdot \frac{S_O}{K_{O,A} + S_O} \cdot \frac{S_{ALK}}{K_{ALK} + S_{ALK}} \cdot X_{BA}$$

Process 4-5: Decay ​

$$\rho_4 = b_H \cdot X_{BH}$$ $$\rho_5 = b_A \cdot X_{BA}$$

Process 6: Ammonification ​

$$\rho_6 = k_a \cdot S_{ND} \cdot X_{BH}$$

Process 7-8: Hydrolysis ​

$$\rho_7 = k_h \cdot \frac{X_S/X_{BH}}{K_X + X_S/X_{BH}} \cdot \left[ \frac{S_O}{K_{O,H}+S_O} + \eta_h \cdot \frac{K_{O,H}}{K_{O,H}+S_O} \cdot \frac{S_{NO}}{K_{NO}+S_{NO}} \right] \cdot X_{BH}$$

Parameters ​

Default Kinetic Parameters (20°C) ​

ParameterSymbolValueUnitDescription
μ_HmuH6.01/dMax heterotrophic growth rate
μ_AmuA0.81/dMax autotrophic growth rate
b_HbH0.621/dHeterotrophic decay rate
b_AbA0.151/dAutotrophic decay rate
k_hkh3.01/dHydrolysis rate
k_aka0.08m³/gCOD/dAmmonification rate
η_getaG0.8-Anoxic growth reduction
η_hetaH0.4-Anoxic hydrolysis reduction

Half-Saturation Coefficients ​

ParameterSymbolValueUnit
K_SKS20.0mg COD/L
K_O,HKOH0.2mg O2/L
K_O,AKOA0.4mg O2/L
K_NOKNO0.5mg N/L
K_NHKNH1.0mg N/L
K_XKX0.03g XS/g XBH
K_ALKKALK0.1mol/m³

Stoichiometric Parameters ​

ParameterSymbolValueUnit
Y_HYH0.67g COD/g COD
Y_AYA0.24g COD/g N
f_PfP0.08-
i_XBiXB0.086g N/g COD
i_XPiXP0.06g N/g COD

Temperature Correction ​

$$k(T) = k(20) \cdot \theta^{(T-20)}$$

Temperature coefficients (θ):

Parameter Typeθ Value
Growth rates (μ_H, μ_A)1.072
Decay rates (b_H, b_A)1.029
Hydrolysis (k_h)1.041
Ammonification (k_a)1.029
Half-saturation (K_S, K_NH)1.000

COD Fractionation ​

Influent COD Components ​

FractionDescriptionTypical %
S_SReadily biodegradable10-20%
S_ISoluble inert5-10%
X_SSlowly biodegradable40-50%
X_IParticulate inert15-25%
X_BHInfluent biomass5-10%

Determination Methods ​

  • Respirometry: OUR tests for S_S
  • Flocculation: Filtration for soluble/particulate
  • BOD/COD ratio: Estimate biodegradable fraction
  • Default values: When no data available

API Endpoints ​

Model Information ​

http
GET /api/v1/asm1/info

Returns model metadata, state variable names, process names, and default parameters.

Calculate Process Rates ​

http
POST /api/v1/asm1/process-rates
Content-Type: application/json

{
  "stateVector": [30, 5, 1000, 50, 2500, 200, 500, 2.0, 5.0, 1.0, 2.0, 5.0, 5.0],
  "temperature": 20,
  "parameters": {
    "muH": 6.0,
    "YH": 0.67
  }
}

Calculate Derivatives ​

http
POST /api/v1/asm1/derivatives
Content-Type: application/json

{
  "stateVector": [30, 5, 1000, 50, 2500, 200, 500, 2.0, 5.0, 1.0, 2.0, 5.0, 5.0],
  "temperature": 20
}

Get Diagnostics ​

http
POST /api/v1/asm1/diagnostics
Content-Type: application/json

{
  "stateVector": [30, 5, 1000, 50, 2500, 200, 500, 2.0, 5.0, 1.0, 2.0, 5.0, 5.0],
  "temperature": 20
}

Returns:

  • Growth rates (aerobic/anoxic)
  • Nitrification/denitrification rates
  • Oxygen uptake rate
  • Minimum SRT estimates
  • Limiting factors

Oxygen Transfer Calculations ​

http
POST /api/v1/asm1/oxygen-transfer
Content-Type: application/json

{
  "kLa": 10.0,
  "volume": 5000,
  "actualDO": 2.0,
  "temperature": 20,
  "alpha": 0.65,
  "beta": 0.95,
  "diffuserDepth": 4.5
}

SRT Calculation ​

http
POST /api/v1/asm1/srt
Content-Type: application/json

{
  "volume": 8000,
  "mlss": 4000,
  "wasteSludgeFlow": 200,
  "wasteSludgeConcentration": 8000,
  "effluentFlow": 20000,
  "effluentSS": 15
}

Sludge Production ​

http
POST /api/v1/asm1/sludge-production
Content-Type: application/json

{
  "influentFlow": 20000,
  "influentBiocodCOD": 300,
  "effluentBiodCOD": 10,
  "influentXI": 50,
  "srt": 12
}

Aeration Design ​

http
POST /api/v1/asm1/aeration-design
Content-Type: application/json

{
  "oxygenUptakeRate": 50,
  "targetDO": 2.0,
  "volume": 5000,
  "temperature": 20,
  "alpha": 0.65,
  "beta": 0.95,
  "diffuserDepth": 4.5,
  "sote": 25
}

Configuration in ErgoPlanner ​

Enabling ASM1 ​

  1. Select biological reactor (CSTR, PFR, or Oxidation Ditch)
  2. Set Calculation Mode to Advanced
  3. Select Biokinetic Model: ASM1
  4. Configure kinetic parameters (or use defaults)
  5. Run simulation

Parameter Input ​

json
{
  "model": "asm1",
  "parameters": {
    "muH": 6.0,
    "muA": 0.8,
    "bH": 0.62,
    "bA": 0.15,
    "kh": 3.0,
    "ka": 0.08,
    "etaG": 0.8,
    "etaH": 0.4,
    "KS": 20.0,
    "KOH": 0.2,
    "KOA": 0.4,
    "KNO": 0.5,
    "KNH": 1.0,
    "KX": 0.03,
    "KALK": 0.1,
    "YH": 0.67,
    "YA": 0.24,
    "fP": 0.08,
    "iXB": 0.086,
    "iXP": 0.06
  }
}

Calibration Guidelines ​

Key Parameters to Calibrate ​

  1. μ_H - Heterotrophic growth rate
  2. Y_H - Heterotrophic yield
  3. K_S - COD half-saturation
  4. μ_A - Autotrophic growth rate
  5. K_NH - Ammonia half-saturation
  6. η_g - Denitrification factor

Calibration Procedure ​

  1. Determine COD fractionation from respirometry
  2. Match effluent COD with Y_H, μ_H
  3. Match nitrification with μ_A, K_NH
  4. Match denitrification with η_g
  5. Verify dynamic response with step tests
  6. Fine-tune temperature coefficients

Example: MLE Process ​

Configuration ​

ZoneVolumeDOFunction
Anoxic2,000 m³<0.2 mg/LDenitrification
Aerobic6,000 m³2.0 mg/LCOD oxidation, nitrification

Influent ​

ParameterValue
Flow20,000 m³/d
Total COD400 mg/L
S_S60 mg/L
S_NH35 mg/L
TKN40 mg/L

Expected Results ​

ParameterEffluent
Total COD<50 mg/L
S_NH<1.0 mg/L
S_NO5-8 mg/L
TN<10 mg/L

Limitations ​

  1. No biological P removal - PAOs not modeled (use ASM2d)
  2. No storage - Assumes immediate growth on substrate
  3. No N2O emissions - Intermediate products ignored
  4. Death-regeneration - Simplified decay model
  5. Single temperature - No spatial temperature variation
  6. No inhibition kinetics - No substrate/product inhibition

Death-Regeneration Concept ​

ASM1 uses the death-regeneration hypothesis where:

  • Biomass decay produces slowly biodegradable substrate (X_S)
  • X_S is hydrolyzed to readily biodegradable substrate (S_S)
  • S_S is available for regrowth

This differs from the endogenous respiration model used in ASM3.

Implementation Details ​

State Vector Order ​

The 13-element state vector must follow this exact order:

[SI, SS, XI, XS, XBH, XBA, XP, SO, SNO, SNH, SND, XND, SALK]

Petersen Matrix ​

The stoichiometry is defined by a 13x8 Petersen matrix relating:

  • 13 state variables (rows)
  • 8 processes (columns)

Integration with Solvers ​

ASM1 provides CalculateDerivatives() method compatible with:

  • RK4 Solver (explicit, fixed step)
  • BDF Solver (implicit, variable step for stiff systems)
  • ASM2d - Adds biological P removal with PAO kinetics
  • ASM3 - Storage-based metabolism, endogenous respiration
  • ADM1 - Anaerobic digestion model

References ​

  1. Henze, M. et al. "Activated Sludge Models ASM1, ASM2, ASM2d and ASM3" IWA Publishing, 2000
  2. Grady, C.P.L. "Biological Wastewater Treatment" 3rd Edition
  3. Rieger, L. et al. "Guidelines for Using ASMs"
  4. Copp, J.B. "The COST Simulation Benchmark" COST Action 624