P6.5 refactor introduced the BaseDomain wrapper around CSTR/PFR engines but didn't pass tick() through. BaseNodeAdapter's optional-chain source.tick?.() got undefined and the kinetics engine never integrated when driven through the new adapter (only via the explicit _emitOutputs override that calls updateState). Added tick(timeStep) that delegates to engine.tick + emits 'output-changed'. Tests that construct the wrapper (not the engine directly) now work. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
reactor
Reactor: Advanced Hydraulic Tank & Biological Process Simulator
A comprehensive reactor class for wastewater treatment simulation featuring plug flow hydraulics, ASM1-ASM3 biological modeling, and multi-sectional concentration tracking. Implements hydraulic retention time calculations, dispersion modeling, and real-time biological reaction kinetics for accurate process simulation.
Key Features:
Plug Flow Hydraulics: Multi-section reactor with configurable sectioning factor and dispersion modeling ASM1 Integration: Complete biological nutrient removal modeling with 13 state variables (COD, nitrogen, phosphorus) Dynamic Volume Control: Automatic section management with overflow handling and retention time calculations Oxygen Transfer: Saturation-limited O2 transfer with Fick's law slowdown effects and solubility curves Real-time Kinetics: Continuous biological reaction rate calculations with configurable time acceleration Weighted Averaging: Volume-based concentration mixing for accurate mass balance calculations Child Registration: Integration with diffuser systems and upstream/downstream reactor networks Supports complex biological treatment train modeling with temperature compensation, sludge calculations, and comprehensive process monitoring for wastewater treatment plant optimization and regulatory compliance.