Use this index to choose an equipment-specific guide. For an executable, end-to-end flowsheet,
start with the process-package quick start; it is compiled and run by the
documentation regression suite.
The complete source-backed equipment catalog lists all 234 concrete
ProcessEquipmentInterface implementations on the current source tree. Its generated inventory
is checked in CI, so a newly added equipment class cannot remain absent from this documentation.
Equipment Categories
Flow Equipment
| Equipment |
File |
Description |
| Streams |
streams.md |
Material and energy streams |
| Mixers & Splitters |
mixers_splitters.md |
Stream mixing and splitting |
| Manifolds |
manifolds.md |
Multi-inlet routing and production manifolds |
Separation Equipment
| Equipment |
File |
Description |
| Separators |
separators.md |
2-phase and 3-phase separators, scrubbers |
| Separator Entrainment |
separator-entrainment-modeling.md |
Droplet distributions, internals, grade efficiency, and performance calculation |
| Distillation |
distillation.md |
Distillation columns |
| Absorbers |
absorbers.md |
Absorption/stripping columns |
| Adsorbers |
adsorbers.md |
Simplified adsorption equipment |
| Adsorption Beds |
adsorption_bed.md |
Dynamic beds, breakthrough, mercury removal, and PSA |
| Membranes |
membranes.md |
Membrane separation units |
| Filters |
filters.md |
Particulate and charcoal filters |
| Water Treatment |
water_treatment.md |
Hydrocyclones, flotation, produced-water treatment, and compliance |
| Black-Oil Separator |
black_oil_separator.md |
Pressure-temperature separation of SystemBlackOil fluids |
| Solid Handling |
solid_handling.md |
Feedstock preparation, dewatering, filtration, drying, and crystallization |
Heat Transfer Equipment
Rotating Equipment
| Equipment |
File |
Description |
| Compressors |
compressors.md |
Gas compression, mechanical losses, seal gas |
| Compressor Curves |
compressor_curves.md |
Performance maps, correction, interpolation, and envelopes |
| Compressor Shaft |
compressor_shaft.md |
Multiple compressor bodies on a common-speed shaft |
| Compressor Anti-Surge Control |
compressor_antisurge_control.md |
Dynamic anti-surge recycle, speed/load control, and coordinated pressure-speed-recycle control philosophy |
| Pumps |
pumps.md |
Liquid pumping |
| Expanders |
expanders.md |
Power recovery, turboexpanders |
Flow Control
| Equipment |
File |
Description |
| Valves |
valves.md |
Throttling valves, chokes, safety valves |
| Control Valves |
control_valves.md |
Specialized pressure and level control valves |
Reactors
| Equipment |
File |
Description |
| Reactors (Overview) |
reactors.md |
All reactor types: PFR, CSTR, Gibbs, stoichiometric, ammonia, sulfur, bio-processing |
| Iron-Sulfide Wall Source |
iron_sulfide_wall_source.md |
Stateful FeS/FeCO3 scale, oxygen ingress, S8 generation, and compressor deposition coupling |
| Plug Flow Reactor |
plug_flow_reactor.md |
Kinetic PFR with power-law/LHHW/reversible kinetics, catalyst bed, Ergun ΔP, energy modes |
| Electrolyzers |
electrolyzers.md |
Water and CO₂ electrolysis |
Ejectors
| Equipment |
File |
Description |
| Ejectors |
ejectors.md |
Steam and gas ejectors |
Safety Equipment
| Equipment |
File |
Description |
| Flares |
flares.md |
Flare systems and combustion |
| Vessel Depressurization |
vessel_depressurization.md |
Blowdown, filling, fire exposure, and transient vessel inventory |
Well/Reservoir
Subsea Equipment
Pipeline/Network
| Equipment |
File |
Description |
| Pipelines |
pipelines.md |
Pipe flow, pressure drop |
| Pipeline Simulation |
pipeline_simulation.md |
Model selection, configuration, and execution |
| Multiphase Correlations |
multiphase_flow_correlations.md |
Pressure-drop, holdup, and flow-regime correlations |
| Risers |
pipelines.md#risers |
SCR, TTR, Flexible, Lazy-Wave risers |
| Networks |
networks.md |
Pipeline network modeling |
| Looped Networks |
looped_networks.md |
Hardy Cross solver for loops |
| Gas Network Operations |
../gas_network_operations.md |
Coupled gas quality, optimization, and linepack |
| Oil Network Operations |
../oil_network_operations.md |
Oil pumps, terminal tanks, parcels, and cargo schedules |
Flow Measurement
Storage
| Equipment |
File |
Description |
| Tanks |
tanks.md |
Storage tanks, LNG boil-off |
| LNG Cargo Ageing |
../lng-ageing.md |
Stratification, boil-off gas, rollover, voyage, and cargo-quality evolution |
Power Generation
Utility Equipment
Reliability & Failure
| Equipment |
File |
Description |
| Failure Modes |
failure_modes.md |
Equipment failure modeling for risk analysis |
Complete Source Inventory
| Catalog |
Coverage |
Description |
| Complete equipment catalog |
234 concrete classes in 33 source packages |
Generated from the Java inheritance tree and checked against source in CI |
API Ownership
All process equipment implements ProcessEquipmentInterface, normally through
ProcessEquipmentBaseClass. That common contract covers lifecycle, reporting, validation,
mechanical design, capacity, fluid access, and common operating properties. It does not give
every unit a single material inlet and outlet.
| API owner |
Use it for |
Representative equipment |
ProcessEquipmentInterface |
Common execution, reporting, design, validation, capacity, and fluid access |
All process equipment |
TwoPortInterface / TwoPortEquipment |
One material inlet and one material outlet |
Heater, cooler, compressor, pump, expander, throttling valve |
| Equipment-specific multiport API |
Multiple feeds, products, or stages |
Separator, mixer, splitter, distillation column, absorber |
| Utility equipment API |
Graph dependencies, targets, and convergence |
Recycle, adjuster, calculator |
For example, TwoPortEquipment owns getInletStream() and getOutletStream().
Separator instead exposes gas and liquid product streams and can accept multiple feeds.
A mixer, splitter, or staged column likewise needs its own guide; do not assume the two-port
constructor or accessors.
Constructing and Running Equipment
There is no universal EquipmentType(name, inletStream) constructor or setParameter(value)
method. Follow the selected guide and current Java source for that equipment’s:
- constructor and stream topology;
- specification methods and units;
- required thermodynamic or physical-property initialization;
- steady-state or transient execution boundary;
- equipment-specific results and validation.
Add streams and equipment to one ProcessSystem, retain typed references, run the process, and
check conservation plus equipment constraints. The
canonical process-package example demonstrates this sequence with a
feed, throttling valve, separator, mass-balance assertion, topology diagnostics, and structured
reports.
ProcessSystem.getUnit(name) returns the common equipment interface. Cast only after verifying
the expected type, or retain the typed reference created while building the process.
Equipment Hierarchy
ProcessEquipmentInterface
└── ProcessEquipmentBaseClass
├── TwoPortEquipment implements TwoPortInterface
│ ├── Heater / Cooler
│ ├── Compressor / Pump / Expander
│ └── ThrottlingValve
├── Separator and ThreePhaseSeparator (multi-inlet, multi-outlet)
├── Mixer (multi-inlet)
├── Splitter (multi-outlet)
└── DistillationColumn and absorbers (staged, equipment-specific ports)
The diagram shows API ownership, not every concrete subtype.