SPROCLIB - Standard Process Control Library

A Python library for process control in chemistry with semantic plant design and a modern modular architecture.

Created by: Thorsten Gressling (gressling@paramus.ai)

Python Version License

Overview

SPROCLIB provides essential tools for process modeling, control design, optimization, and advanced control techniques used in chemical engineering. The library features a modern modular architecture with clean separation of concerns.

Quick Start

Installation:

pip install sproclib

Usage:

# Define plant
plant = ChemicalPlant(name="Process Plant")

# Add units
plant.add(CentrifugalPump(H0=50.0, eta=0.75), name="feed_pump")
plant.add(CSTR(V=150.0, k0=7.2e10), name="reactor")

# Connect units
plant.connect("feed_pump", "reactor", "feed_stream")

# Configure optimization
plant.compile(
   optimizer="economic",
   loss="total_cost",
   metrics=["profit", "conversion"]
)

# Optimize operations
plant.optimize(target_production=1000.0)

Contents

Programming Interfaces (API)

Developer Resources

Project Information

Process Control Documentation

The SPROCLIB Process Control API is organized into focused packages:

Modern Modular Packages (Recommended):

  • Analysis Package - Transfer functions, system analysis, and model identification tools

  • Simulation Package - Dynamic process simulation with control loop integration

  • Optimization Package - Economic optimization, parameter estimation, and process optimization

  • Scheduling Package - Batch process scheduling using State-Task Networks

  • Transport Package - Fluid transport systems, pipeline modeling, and multiphase flow

  • Utilities Package - Control design utilities, mathematical tools, and data processing

  • Units Package - Physical process equipment (tanks, pumps, reactors, etc.)

  • Controllers Package - Control algorithms and implementations

Indices and tables