Process Control Package API Documentation
Complete API documentation for the Standard Process Control Library (SPROCLIB).
Note
Recommended for New Development: Use the modern modular packages listed below.
Package Overview
Modern Modular Architecture
The SPROCLIB API is organized into focused packages, each serving specific purposes:
API Organization
- Core Analysis and Control
analysis/- Transfer functions, frequency domain analysis, system identificationsimulation/- Dynamic simulation, ODE solvers, control loop integrationutilities/- PID tuning, mathematical tools, data processing
- Process Modeling
units/- Process equipment (tanks, reactors, pumps, valves)transport/- Pipeline systems, fluid flow, multiphase transportcontrollers/- Control algorithms and implementations
- Optimization and Planning
optimization/- Economic optimization, parameter estimationscheduling/- Batch process scheduling, State-Task Networks
Common Usage Patterns
Basic Control Design:
from sproclib.analysis import TransferFunction
from sproclib.utilities import tune_pid, step_response
# Create process model
process = TransferFunction.first_order_plus_dead_time(K=2.0, tau=5.0, theta=1.0)
# Tune controller
params = tune_pid({'K': 2.0, 'tau': 5.0, 'theta': 1.0}, method='amigo')
# Analyze performance
response = step_response(process, time_span=30)
Process Simulation:
from sproclib.units import Tank, CentrifugalPump
from sproclib.simulation import ProcessSimulator
# Create process components
tank = Tank(A=10.0, h_max=5.0)
pump = CentrifugalPump(H0=50.0, eta=0.75)
# Simulate dynamics
simulator = ProcessSimulator([tank, pump])
result = simulator.run(time_span=100, dt=0.1)
Economic Optimization:
from sproclib.optimization import EconomicOptimizer
from sproclib.units import CSTR
# Define process
reactor = CSTR(V=150.0, k0=7.2e10)
# Optimize operation
optimizer = EconomicOptimizer(reactor)
optimal_conditions = optimizer.maximize_profit(
constraints={'conversion': 0.8, 'temperature': (300, 400)}
)
Getting Started
For Beginners: 1. Start with ../user_guide for step-by-step tutorials 2. Explore Analysis Package for basic control concepts 3. Practice with ../examples for hands-on learning
For Experienced Users: 1. Explore Optimization Package for advanced features 2. Consult Utilities Package for specialized tools
For Developers: 1. See ../contributing for development guidelines 2. Review package source code for implementation details 3. Contribute examples and improvements via GitHub
Support and Resources
Documentation: Complete guides and examples throughout this site
GitHub Issues: Bug reports and feature requests
Examples: Working code in ../examples
Theory: Mathematical background in ../theory