HeatExchanger Engine
The HeatExchangerEngine is the central interface for all heat
exchanger calculations in ProcessPI. It provides a unified workflow
for designing, rating, and analyzing multiple classes of heat exchangers
while maintaining a consistent API.
The engine automatically selects an appropriate exchanger type when one is not explicitly specified, performs thermal and hydraulic calculations, validates engineering inputs, and returns structured engineering reports suitable for design studies and troubleshooting.
Capabilities
Unified Engineering Interface
- Single API for all supported heat exchangers
- Design and Rating modes
- Automatic exchanger selection
- Multiple design methodologies
- Structured engineering reports
- Automatic unit handling
- Engineering validation and warnings
Supported Heat Exchanger Types
The engine currently supports:
- Shell & Tube Heat Exchangers
- Double Pipe Heat Exchangers
- Condensers
- Evaporators
- Reboilers
Future releases will add Plate, Air-Cooled, Spiral and Compact Heat Exchangers.
Design Methodologies
Kern Method
Suitable for preliminary thermal design and sizing.
Bell--Delaware Method
Improved shell-side analysis accounting for leakage, bypass streams and shell-side correction factors.
Engine Workflow
fit()
Configures the engine by accepting inlet and outlet material streams together with equipment specifications.
Parameters
hot_incold_inhot_outcold_outhx_type- Additional design specifications
Functionality
- Validates MaterialStream objects
- Stores process specifications
- Selects calculation method
- Supports Design and Rating workflows
- Enables method chaining
Returns:
HeatExchangerEngine
Automatic Heat Exchanger Selection
When hx_type is omitted, the engine automatically determines the most
appropriate exchanger.
Decision logic includes:
- Vapor → Liquid → Condenser
- Liquid → Vapor → Reboiler
- Small flowrates → Double Pipe
- Otherwise → Shell & Tube
This allows rapid preliminary studies with minimal user input.
run()
Executes the complete engineering calculation.
Design Mode
Performs:
- Heat duty calculations
- LMTD evaluation
- Overall heat transfer coefficient estimation
- Area sizing
- Tube count estimation
- Tube length estimation
- Tube and shell velocities
- Tube-side pressure drop
- Shell-side pressure drop
- Engineering assessment
- Design recommendations
Rating Mode
Evaluates existing equipment using known geometry.
Required geometry typically includes:
- Tube OD
- Tube ID
- Tube Length
Returns a HeatExchangerResults object.
summary()
Produces a concise engineering report including:
- Heat Duty
- Area
- U Value
- Velocities
- Pressure Drops
- Tube Count
- Tube Length
- Engineering Status
- Assessment
- Warnings
- Recommendations
HeatExchangerResults
The engine returns a structured results object providing several reporting utilities.
summary()
Human-readable engineering report.
detailed_summary()
Returns the complete calculation dictionary.
trace()
Displays the engineering calculation trace grouped into sections:
- Thermal
- Geometry
- Hydraulics
- Dimensionless Numbers
- Phase Change
- General
Useful for debugging and validation.
debug_summary()
Returns diagnostic information including:
- Solver status
- Iteration count
- U-values
- Velocities
- Pressure drops
- Warning count
- Optimization actions
Engineering Capabilities
Current capabilities include:
Thermal Design
- Heat Duty
- LMTD
- Overall Heat Transfer Coefficient
- Required Area
- Heat Balance
Hydraulic Design
- Tube-side velocity
- Shell-side velocity
- Tube pressure drop
- Shell pressure drop
Geometry
- Tube sizing
- Tube count
- Tube length
- Bundle sizing
Phase Change
- Condensation
- Evaporation
- Reboiling
Engineering Validation
The engine performs automatic validation and generates:
- Engineering warnings
- Design assessments
- Recommendations
- Calculation trace
Integration
The HeatExchangerEngine integrates directly with:
- Streams Module
- Components Module
- Units Module
- Calculation Engine
- Equipment Module
Material properties are obtained directly from MaterialStream objects,
allowing realistic process simulations.
Key Features
- Unified API
- Automatic exchanger selection
- Design & Rating modes
- Kern and Bell--Delaware methods
- Multiple exchanger types
- Engineering validation
- Structured reporting
- Calculation tracing
- Debug summaries
- Unit-aware calculations
- Extensible architecture
Current Limitations
- Steady-state calculations only
- Single-pass design focus
- No mechanical design calculations
- No vibration analysis
- No fouling lifecycle prediction
- Limited optimization algorithms
Future Roadmap
Short Term
- Plate Heat Exchangers
- Air-Cooled Heat Exchangers
- Extended optimization
Mid Term
- Mechanical design utilities
- Cost estimation
- Automatic exchanger selection improvements
Long Term
- Multi-stream exchangers
- Dynamic simulation
- Fouling prediction
- Pinch-analysis integration
- AI-assisted design optimization
Example
from processpi.equipment import HeatExchangerEngine
hx = HeatExchangerEngine(method="kern")
hx.fit(
hot_in=hot_stream,
cold_in=cold_stream,
mode="design"
)
results = hx.run()
print(results.summary())