Changelog
Version 2.0.0 (2025-07-09) - Major Refactoring Release
Major Changes
Architecture Refactoring
Complete refactoring from monolithic modules to modern modular architecture
New package structure with focused, purpose-driven modules:
analysis/- Transfer functions, system analysis, model identificationsimulation/- Dynamic process simulation capabilitiesoptimization/- Economic optimization, parameter estimationscheduling/- Batch process scheduling toolsutilities/- Control design utilities, math tools, data processinglegacy/- Backward compatibility wrappers (deprecated)
Clean separation of concerns - Each package has a specific, well-defined purpose
Enhanced maintainability - Easier to find, understand, and extend functionality
Improved performance - Import only needed modules for better startup time
Backward Compatibility
Legacy package created for seamless migration from v1.x
Deprecation warnings guide users to new modular structure
100% API compatibility - Existing code continues to work without changes
Migration guide and documentation provided for smooth transition
New Features
Enhanced transfer function analysis with improved error handling
Advanced PID tuning methods including AMIGO and Lambda tuning
Model predictive control utilities in control_utils
Enhanced simulation capabilities with multiple solver options
Economic optimization tools for production planning
State-Task Network scheduling for batch processes
Documentation Updates
Complete documentation rewrite for modular structure
Migration guide for upgrading from legacy structure
Enhanced API documentation with package-specific guides
Modern usage examples throughout documentation
Legacy compatibility documentation for existing users
Deprecated
analysis.pymodule (useanalysis/package instead)functions.pymodule (use appropriate modular packages instead)Direct imports from root module (use package-specific imports)
Breaking Changes
None - Full backward compatibility maintained through legacy wrappers.
Migration Path
Old usage (still works with deprecation warnings)
from analysis import TransferFunction
from functions import step_response, tune_pid
New usage (recommended)
from analysis.transfer_function import TransferFunction
from analysis.system_analysis import step_response
from utilities.control_utils import tune_pid
See the migration guide for complete migration instructions.
—
Version 1.0.0 (2025-07-05)
Initial release of the Standard Process Control Library.
Added
Core Classes
PIDController - Full-featured PID controller with anti-windup, bumpless transfer, and setpoint weighting
TuningRule - Automated PID tuning with Ziegler-Nichols, AMIGO, and Relay methods
ProcessModel - Abstract base class for all process models
Tank - Gravity-drained tank model for level control applications
CSTR - Continuous Stirred Tank Reactor with Arrhenius kinetics
InteractingTanks - Two-tank system for studying complex dynamics
LinearApproximation - Linearization tools for nonlinear models
TransferFunction - Complete frequency domain analysis capabilities
Simulation - ODE integration for process dynamics
Optimization - Linear and nonlinear optimization with PyOMO integration
StateTaskNetwork - Batch process scheduling and planning
Essential Functions
step_response() - Calculate system step response
bode_plot() - Generate Bode plots for frequency analysis
linearize() - Linearize nonlinear models around operating points
tune_pid() - Automated PID parameter tuning
simulate_process() - Dynamic process simulation
optimize_operation() - Process operation optimization
fit_fopdt() - FOPDT model parameter identification
stability_analysis() - System stability assessment
disturbance_rejection() - Disturbance rejection analysis
model_predictive_control() - Basic MPC implementation
Documentation
Complete Sphinx documentation with mathematical background
API reference for all classes and functions
Step-by-step tutorials for common control tasks
Working examples demonstrating all major features
Theory section with control engineering fundamentals
Examples and Tests
examples.py - Comprehensive examples covering all library features
test_library.py - Test suite for basic and advanced functionality
Tutorial examples for tank control, CSTR temperature control, and batch optimization
Features
Process Control Capabilities
PID Control with advanced features (anti-windup, bumpless transfer)
Automated Tuning using industry-standard methods
Process Modeling for tanks, reactors, and custom systems
Frequency Domain Analysis with Bode plots and stability margins
Dynamic Simulation with multiple integration methods
Optimization for both steady-state and dynamic problems
Batch Scheduling using State-Task Networks
Technical Features
Python 3.8+ compatibility
NumPy/SciPy integration for numerical computing
Matplotlib support for visualization
PyOMO integration for advanced optimization
Comprehensive error handling and input validation
Type hints for better code documentation
Modular design for easy extension
Documentation
Complete API reference with mathematical background
Step-by-step tutorials for learning control concepts
Working examples for all major features
Theory section covering control engineering fundamentals
Installation guide and troubleshooting tips
Testing
Basic functionality tests for all core components
Advanced feature tests for optimization and analysis
Example verification to ensure all examples run correctly
Input validation tests for error handling
Known Issues
Version 1.0.0
Frequency domain analysis may show warnings for edge cases (magnitude calculation near zero)
Disturbance rejection analysis uses simplified approximations for transfer function algebra
Batch optimization examples may require adjustment of solver tolerances for complex problems
CSTR linearization around unstable operating points may not converge
Workarounds:
Use appropriate frequency ranges for Bode plot analysis
For advanced transfer function operations, consider using the Python Control library alongside this library
Adjust optimization solver settings for better convergence
Verify steady-state stability before linearization
Future Releases
Planned for Version 1.1.0
Enhanced Features:
Cascade Control - Implementation of cascade control structures
Feedforward Control - Disturbance feedforward compensation
Smith Predictor - Dead time compensation for processes with significant delays
Advanced MPC - Multi-input, multi-output model predictive control
Fuzzy Logic Control - Fuzzy logic controllers for nonlinear processes
Additional Models:
Heat Exchanger - Dynamic models for heat transfer processes
Distillation Column - Multi-stage separation process models
Plug Flow Reactor - Distributed parameter reactor models
Custom Model Builder - GUI or configuration-based model creation
Improved Tools:
Parameter Estimation - Automated fitting of model parameters to data
Sensitivity Analysis - Robustness analysis for controller designs
Economic MPC - Economic optimization in model predictive control
Real-time Interface - Tools for connecting to real process data
Planned for Version 1.2.0
Advanced Control:
Robust Control Design - H∞ and μ-synthesis methods
Adaptive Control - Self-tuning and model reference adaptive control
Nonlinear Control - Sliding mode and feedback linearization
Multivariable Control - RGA analysis and decoupling methods
Industrial Features:
Alarm Management - Process alarm detection and management
Data Reconciliation - Measurement error detection and correction
Statistical Process Control - SPC charts and process monitoring
Safety Systems - Safety instrumented systems (SIS) modeling
Software Engineering:
GUI Interface - Graphical user interface for common tasks
Database Integration - Process historian and database connectivity
Cloud Deployment - Containerized deployment options
API Extensions - REST API for web-based applications
Long-term Roadmap
Version 2.0.0 (Major Release)
Digital Twin Integration - Complete process digital twin capabilities
Machine Learning - AI/ML integration for advanced process control
Industrial IoT - Integration with industrial IoT platforms
Real-time Optimization - Online optimization for process operations
Community and Ecosystem:
Plugin Architecture - Extension system for custom functionality
Industry Partnerships - Collaboration with process control vendors
Educational Resources - Expanded course materials and certification programs
Research Collaboration - Integration with academic research projects
Deprecation Notices
None for Version 1.0.0 (initial release).
Contributing
This project welcomes contributions! Areas where contributions are particularly valuable:
Code Contributions: - Additional process models (heat exchangers, distillation, etc.) - Advanced control algorithms (robust control, adaptive control) - Performance optimizations and bug fixes - Additional tuning methods and industrial algorithms
Documentation: - Additional examples and case studies - Tutorial improvements and corrections - Translation to other languages - Video tutorials and educational content
Testing: - Industrial validation cases - Performance benchmarks - Edge case testing - Cross-platform compatibility testing
See the contributing guidelines for details on how to submit contributions.
Version Support
Current Versions: - 1.0.x - Active development and bug fixes - Future versions - Will maintain backward compatibility within major versions
Python Compatibility: - Python 3.8+ - Minimum supported version - Python 3.11 - Recommended version - Python 3.12 - Tested and supported
Dependencies: - NumPy ≥ 1.20.0 - SciPy ≥ 1.7.0 - Matplotlib ≥ 3.3.0 - PyOMO ≥ 6.0.0 (optional, for advanced optimization)
Release Notes
Each release includes: - Detailed changelog with all changes - Migration guide for breaking changes - Performance improvements and optimizations - Bug fixes and stability improvements - New feature documentation and examples
Subscribe to releases on GitHub to stay updated with new versions and important announcements.