Appearance
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
Recommended For
- Conventional activated sludge
- Nitrogen removal processes (MLE, Bardenpho, A2O)
- Process optimization studies
- Controller tuning
- Teaching and training
Not Recommended For
- 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:
| Index | Symbol | Description | Unit |
|---|---|---|---|
| 0 | S_I | Soluble inert organics | mg COD/L |
| 1 | S_S | Readily biodegradable substrate | mg COD/L |
| 2 | X_I | Particulate inert organics | mg COD/L |
| 3 | X_S | Slowly biodegradable substrate | mg COD/L |
| 4 | X_BH | Active heterotrophic biomass | mg COD/L |
| 5 | X_BA | Active autotrophic biomass | mg COD/L |
| 6 | X_P | Particulate products from decay | mg COD/L |
| 7 | S_O | Dissolved oxygen | mg O2/L |
| 8 | S_NO | Nitrate nitrogen | mg N/L |
| 9 | S_NH | Ammonia nitrogen | mg N/L |
| 10 | S_ND | Soluble biodegradable organic N | mg N/L |
| 11 | X_ND | Particulate biodegradable organic N | mg N/L |
| 12 | S_ALK | Alkalinity | mol HCO3/m³ |
Processes
ASM1 includes 8 biological processes:
Process Summary
| # | Process | Description |
|---|---|---|
| 1 | Aerobic heterotrophic growth | COD oxidation to biomass |
| 2 | Anoxic heterotrophic growth | Denitrification (NO3 → N2) |
| 3 | Aerobic autotrophic growth | Nitrification (NH4 → NO3) |
| 4 | Decay of heterotrophs | Death-regeneration |
| 5 | Decay of autotrophs | Death-regeneration |
| 6 | Ammonification | Organic N → NH4 |
| 7 | Hydrolysis of X_S | Particulate → soluble COD |
| 8 | Hydrolysis of X_ND | Particulate → 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)
| Parameter | Symbol | Value | Unit | Description |
|---|---|---|---|---|
| μ_H | muH | 6.0 | 1/d | Max heterotrophic growth rate |
| μ_A | muA | 0.8 | 1/d | Max autotrophic growth rate |
| b_H | bH | 0.62 | 1/d | Heterotrophic decay rate |
| b_A | bA | 0.15 | 1/d | Autotrophic decay rate |
| k_h | kh | 3.0 | 1/d | Hydrolysis rate |
| k_a | ka | 0.08 | m³/gCOD/d | Ammonification rate |
| η_g | etaG | 0.8 | - | Anoxic growth reduction |
| η_h | etaH | 0.4 | - | Anoxic hydrolysis reduction |
Half-Saturation Coefficients
| Parameter | Symbol | Value | Unit |
|---|---|---|---|
| K_S | KS | 20.0 | mg COD/L |
| K_O,H | KOH | 0.2 | mg O2/L |
| K_O,A | KOA | 0.4 | mg O2/L |
| K_NO | KNO | 0.5 | mg N/L |
| K_NH | KNH | 1.0 | mg N/L |
| K_X | KX | 0.03 | g XS/g XBH |
| K_ALK | KALK | 0.1 | mol/m³ |
Stoichiometric Parameters
| Parameter | Symbol | Value | Unit |
|---|---|---|---|
| Y_H | YH | 0.67 | g COD/g COD |
| Y_A | YA | 0.24 | g COD/g N |
| f_P | fP | 0.08 | - |
| i_XB | iXB | 0.086 | g N/g COD |
| i_XP | iXP | 0.06 | g 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
| Fraction | Description | Typical % |
|---|---|---|
| S_S | Readily biodegradable | 10-20% |
| S_I | Soluble inert | 5-10% |
| X_S | Slowly biodegradable | 40-50% |
| X_I | Particulate inert | 15-25% |
| X_BH | Influent biomass | 5-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/infoReturns 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
- Select biological reactor (CSTR, PFR, or Oxidation Ditch)
- Set Calculation Mode to Advanced
- Select Biokinetic Model: ASM1
- Configure kinetic parameters (or use defaults)
- 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
- μ_H - Heterotrophic growth rate
- Y_H - Heterotrophic yield
- K_S - COD half-saturation
- μ_A - Autotrophic growth rate
- K_NH - Ammonia half-saturation
- η_g - Denitrification factor
Calibration Procedure
- Determine COD fractionation from respirometry
- Match effluent COD with Y_H, μ_H
- Match nitrification with μ_A, K_NH
- Match denitrification with η_g
- Verify dynamic response with step tests
- Fine-tune temperature coefficients
Example: MLE Process
Configuration
| Zone | Volume | DO | Function |
|---|---|---|---|
| Anoxic | 2,000 m³ | <0.2 mg/L | Denitrification |
| Aerobic | 6,000 m³ | 2.0 mg/L | COD oxidation, nitrification |
Influent
| Parameter | Value |
|---|---|
| Flow | 20,000 m³/d |
| Total COD | 400 mg/L |
| S_S | 60 mg/L |
| S_NH | 35 mg/L |
| TKN | 40 mg/L |
Expected Results
| Parameter | Effluent |
|---|---|
| Total COD | <50 mg/L |
| S_NH | <1.0 mg/L |
| S_NO | 5-8 mg/L |
| TN | <10 mg/L |
Limitations
- No biological P removal - PAOs not modeled (use ASM2d)
- No storage - Assumes immediate growth on substrate
- No N2O emissions - Intermediate products ignored
- Death-regeneration - Simplified decay model
- Single temperature - No spatial temperature variation
- 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)
Related Models
- ASM2d - Adds biological P removal with PAO kinetics
- ASM3 - Storage-based metabolism, endogenous respiration
- ADM1 - Anaerobic digestion model
References
- Henze, M. et al. "Activated Sludge Models ASM1, ASM2, ASM2d and ASM3" IWA Publishing, 2000
- Grady, C.P.L. "Biological Wastewater Treatment" 3rd Edition
- Rieger, L. et al. "Guidelines for Using ASMs"
- Copp, J.B. "The COST Simulation Benchmark" COST Action 624