Appearance
Biokinetic Models API Reference
Overview
ErgoPlanner supports advanced biokinetic models for mechanistic simulation of biological wastewater treatment processes. This includes Activated Sludge Models (ASM1, ASM2d, ASM3) and Anaerobic Digestion Model No. 1 (ADM1).
Note: Biokinetic model implementation is currently in development. This documentation will be updated as model interfaces are finalized.
Planned Model Support
Activated Sludge Models
ASM1 (Activated Sludge Model No. 1)
- Purpose: Carbon oxidation, nitrification, denitrification
- State Variables: 13 components including soluble/particulate COD fractions, nitrogen species, biomass
- Processes: Aerobic/anoxic heterotrophic growth, autotrophic nitrification, decay, hydrolysis
ASM2d (Activated Sludge Model No. 2d)
- Purpose: Extended biological phosphorus removal (EBPR)
- State Variables: 19 components including phosphorus-accumulating organisms (PAO)
- Processes: Biological P-removal, chemical P-precipitation, storage polymers
ASM3 (Activated Sludge Model No. 3)
- Purpose: Storage polymer-based carbon removal
- State Variables: Includes storage products, endogenous respiration
- Processes: Storage of substrate, growth on stored products
Anaerobic Digestion Models
ADM1 (Anaerobic Digestion Model No. 1)
- Purpose: Anaerobic digestion of complex organic matter
- State Variables: 24 soluble and 12 particulate components
- Processes: Hydrolysis, acidogenesis, acetogenesis, methanogenesis
- Outputs: Biogas production (CH4, CO2, H2)
Planned Interfaces
ASM1Parameters
typescript
interface ASM1Parameters {
// Heterotrophic biomass parameters
muH: number; // Maximum specific growth rate (1/d)
KS: number; // Half-saturation coefficient for substrate (mg COD/L)
KOH: number; // Oxygen half-saturation for heterotrophs (mg O2/L)
KNO: number; // Nitrate half-saturation for denitrification (mg NO3-N/L)
bH: number; // Decay coefficient for heterotrophs (1/d)
// Autotrophic biomass parameters
muA: number; // Maximum specific growth rate for autotrophs (1/d)
KNH: number; // Ammonia half-saturation for autotrophs (mg NH4-N/L)
KOA: number; // Oxygen half-saturation for autotrophs (mg O2/L)
bA: number; // Decay coefficient for autotrophs (1/d)
// Stoichiometric parameters
YH: number; // Yield for heterotrophic biomass (mg COD/mg COD)
YA: number; // Yield for autotrophic biomass (mg COD/mg N)
fp: number; // Fraction of biomass to particulate products
iXB: number; // N content of biomass (mg N/mg COD)
iXP: number; // N content of products (mg N/mg COD)
// Hydrolysis parameters
kh: number; // Maximum specific hydrolysis rate (1/d)
KX: number; // Half-saturation coefficient for hydrolysis (mg COD/mg COD)
// Correction factors
tempCorrection: {
theta: number; // Temperature correction factor (-)
referenceTemp: number; // Reference temperature (°C)
};
}ASM2dParameters
typescript
interface ASM2dParameters extends ASM1Parameters {
// PAO-specific parameters
muPAO: number; // Maximum specific growth rate for PAO (1/d)
qPHA: number; // Rate constant for storage of PHA (1/d)
qPP: number; // Rate constant for storage of poly-P (1/d)
KP: number; // Half-saturation for phosphorus (mg P/L)
KPHA: number; // Half-saturation for PHA (mg COD/L)
bPAO: number; // Decay coefficient for PAO (1/d)
// Stoichiometric coefficients for EBPR
YPAO: number; // Yield for PAO (mg COD/mg COD)
iPAO: number; // P content of PAO (mg P/mg COD)
// Chemical precipitation
kPRE: number; // Precipitation rate constant (m³/mg/d)
kRED: number; // Redissolution rate constant (m³/mg/d)
}ADM1Parameters
typescript
interface ADM1Parameters {
// Hydrolysis parameters
kHyd_ch: number; // Hydrolysis rate for carbohydrates (1/d)
kHyd_pr: number; // Hydrolysis rate for proteins (1/d)
kHyd_li: number; // Hydrolysis rate for lipids (1/d)
// Acidogenesis parameters
km_su: number; // Maximum uptake rate for sugars (1/d)
km_aa: number; // Maximum uptake rate for amino acids (1/d)
km_fa: number; // Maximum uptake rate for fatty acids (1/d)
// Acetogenesis parameters
km_c4: number; // Maximum uptake rate for valerate/butyrate (1/d)
km_pro: number; // Maximum uptake rate for propionate (1/d)
// Methanogenesis parameters
km_ac: number; // Maximum uptake rate for acetate (1/d)
km_h2: number; // Maximum uptake rate for hydrogen (1/d)
// Yield coefficients
Y_su: number; // Yield for sugar degraders (kg COD/kg COD)
Y_aa: number; // Yield for amino acid degraders
Y_fa: number; // Yield for fatty acid degraders
Y_c4: number; // Yield for valerate/butyrate degraders
Y_pro: number; // Yield for propionate degraders
Y_ac: number; // Yield for acetate degraders
Y_h2: number; // Yield for hydrogen degraders
// Decay rates
kdec_X: number; // Decay rate for biomass (1/d)
// Inhibition parameters
KI_h2_fa: number; // Inhibition constant for H2 on fatty acids
KI_h2_c4: number; // Inhibition constant for H2 on valerate/butyrate
KI_h2_pro: number; // Inhibition constant for H2 on propionate
KI_nh3: number; // Inhibition constant for ammonia
// Gas transfer
kLa: number; // Gas-liquid transfer coefficient (1/d)
pGas_h2o: number; // Partial pressure of water vapor (bar)
// Temperature correction
tempCorrection: {
theta: number; // Temperature correction factor
referenceTemp: number; // Reference temperature (°C)
};
}State Variables
ASM1 State Variables
typescript
interface ASM1State {
// Soluble components (mg/L)
S_I: number; // Inert soluble COD
S_S: number; // Readily biodegradable substrate COD
S_O: number; // Dissolved oxygen
S_NO: number; // Nitrate and nitrite nitrogen
S_NH: number; // Ammonia nitrogen
S_ND: number; // Soluble biodegradable organic nitrogen
S_ALK: number; // Alkalinity (mol HCO3/m³)
// Particulate components (mg/L)
X_I: number; // Inert particulate COD
X_S: number; // Slowly biodegradable substrate COD
X_BH: number; // Active heterotrophic biomass
X_BA: number; // Active autotrophic biomass
X_P: number; // Particulate products from biomass decay
X_ND: number; // Particulate biodegradable organic nitrogen
}ADM1 State Variables
typescript
interface ADM1State {
// Soluble components (kg COD/m³)
S_su: number; // Monosaccharides
S_aa: number; // Amino acids
S_fa: number; // Long chain fatty acids
S_va: number; // Valerate
S_bu: number; // Butyrate
S_pro: number; // Propionate
S_ac: number; // Acetate
S_h2: number; // Hydrogen gas
S_ch4: number; // Methane gas
// Inorganic components
S_IC: number; // Inorganic carbon (kmol C/m³)
S_IN: number; // Inorganic nitrogen (kmol N/m³)
S_I: number; // Soluble inerts (kg COD/m³)
// Particulate components (kg COD/m³)
X_c: number; // Composites
X_ch: number; // Carbohydrates
X_pr: number; // Proteins
X_li: number; // Lipids
X_su: number; // Sugar degraders
X_aa: number; // Amino acid degraders
X_fa: number; // Fatty acid degraders
X_c4: number; // Valerate/butyrate degraders
X_pro: number; // Propionate degraders
X_ac: number; // Acetate degraders
X_h2: number; // Hydrogen degraders
X_I: number; // Particulate inerts
// Gas phase (bar)
p_h2: number; // Hydrogen partial pressure
p_ch4: number; // Methane partial pressure
p_co2: number; // Carbon dioxide partial pressure
}COD Fractionation
COD Components
Wastewater COD fractionation for ASM models:
typescript
interface CODFractionation {
// Total COD
totalCOD: number; // Total COD (mg/L)
// Soluble fractions
S_I: number; // Inert soluble COD (mg/L)
S_S: number; // Readily biodegradable COD (mg/L)
// Particulate fractions
X_I: number; // Inert particulate COD (mg/L)
X_S: number; // Slowly biodegradable COD (mg/L)
// Calculated fractions (0-1)
f_SI: number; // Fraction of soluble inert
f_SS: number; // Fraction of readily biodegradable
f_XI: number; // Fraction of particulate inert
f_XS: number; // Fraction of slowly biodegradable
}Nitrogen Speciation
typescript
interface NitrogenSpeciation {
// Total nitrogen
totalN: number; // Total nitrogen (mg N/L)
// Inorganic nitrogen
NH4_N: number; // Ammonia nitrogen (mg N/L)
NO2_N: number; // Nitrite nitrogen (mg N/L)
NO3_N: number; // Nitrate nitrogen (mg N/L)
// Organic nitrogen
TKN: number; // Total Kjeldahl nitrogen (mg N/L)
S_ND: number; // Soluble biodegradable organic N (mg N/L)
X_ND: number; // Particulate biodegradable organic N (mg N/L)
organicN_inert: number; // Inert organic nitrogen (mg N/L)
}Phosphorus Speciation
typescript
interface PhosphorusSpeciation {
// Total phosphorus
totalP: number; // Total phosphorus (mg P/L)
// Inorganic phosphorus
PO4_P: number; // Orthophosphate (mg P/L)
polyP: number; // Polyphosphate (mg P/L)
// Organic phosphorus
organicP: number; // Organic phosphorus (mg P/L)
// In biomass
biomassP: number; // Phosphorus in biomass (mg P/L)
}Model Execution
Planned BiokineticsEngine Interface
typescript
interface BiokineticsEngine {
/**
* Execute one timestep of biokinetic model
*/
step(
state: ASM1State | ASM2dState | ASM3State | ADM1State,
parameters: ModelParameters,
dt: number,
temperature: number,
volume: number
): {
newState: ModelState;
rates: ProcessRates;
outputs: ModelOutputs;
};
/**
* Calculate steady-state solution
*/
steadyState(
influent: ModelState,
parameters: ModelParameters,
operatingConditions: OperatingConditions
): ModelState;
/**
* Validate parameters
*/
validateParameters(parameters: ModelParameters): {
valid: boolean;
warnings: string[];
errors: string[];
};
}Implementation Status
Current Status: Biokinetic model interfaces are in the design phase.
Planned Implementation:
- ASM1 for basic nitrification/denitrification modeling
- ASM2d for biological phosphorus removal
- ADM1 for anaerobic digestion and biogas production
- Model parameter libraries for typical wastewater types
- Temperature correction functions
- Steady-state and dynamic solvers
Future Documentation
This section will be expanded to include:
- Complete parameter definitions for each model
- Default parameter sets for municipal wastewater
- Influent characterization methods
- Stoichiometry matrices
- Process rate equations
- Solver configuration
- Model calibration guidelines
- Typical operating ranges
Related Documentation
- Process Units API - Process unit types that use biokinetic models
- Simulation Engine API - Calculation mode selection
- Mass Balance API - COD and nutrient fractionation
References
- Henze, M., et al. (2000). Activated Sludge Models ASM1, ASM2, ASM2d and ASM3. IWA Publishing.
- Batstone, D.J., et al. (2002). The IWA Anaerobic Digestion Model No 1 (ADM1). Water Science and Technology, 45(10), 65-73.
- Rieger, L., et al. (2012). Guidelines for Using Activated Sludge Models. IWA Publishing.