Articles in this section

Introduction to Subflowsheets in OLI Flowsheet: ESP

Table of Contents

Objective

This article introduces the concept and implementation of subflowsheets within OLI Flowsheet: ESP. It outlines the process for establishing connections between a subflowsheet and its corresponding main (or parent) flowsheet. The tutorial assumes a working knowledge of adding streams, blocks, and components in OLI Flowsheet: ESP.

The example provided illustrates how subflowsheets interact with the main flowsheet through manually defined inlet and outlet portals. These portals must be added within the subflowsheet to enable connectivity. Once configured, streams from the main flowsheet can be linked directly to the subflowsheet, supporting a modular and organized approach to process modeling.

Disclaimers

(e.g., The user interface, calculations, and results displayed in this article are from OLI Flowsheet: ESP Version 12.5. Other software versions may appear different due to continual developments to the software.)

๐Ÿง  What Is a Subflowsheet?

In OLI Flowsheet: ESP, a subflowsheet (also called a nested flowsheet or subflowsheet model) is a modular, self-contained section of a larger simulation. Think of it like a function or subroutine in a programming language: it performs a specific task within the broader simulation and can be reused or isolated as needed.

๐Ÿ”ธ Why Use a Subflowsheet?

  • Modularity: Divide large, complex simulations into smaller, manageable parts.
  • Reusability: Define a common process section once and reuse it across multiple simulations.
  • Scoping & Troubleshooting: Work on just one section of the process without affecting the rest.
  • Improved Convergence: Solve subsections independently to improve solver performance.
  • Hierarchical Modeling: Useful for refining, petrochemical, or intensification processes.

๐Ÿ”น How Subflowsheets Work

A subflowsheet block in OLI Flowsheet: ESP includes:

  • Input and Output Boundaries: Clearly defined inlet and outlet streams.
  • Unit Operations: Internal blocks, recycles, controllers, etc.
  • Convergence Logic: Solved independently or in sync with the main flowsheet.

Common use cases:

  • Electrolyte systems
  • Recycle loops
  • Complex reaction trains or separation sequences
  • Modular process sections (e.g., sour water stripping)
  • Process intensification units

โš–๏ธ Benefits and Considerations

โœ… Benefits

  • Improved Clarity: Keeps the model clean and readable.
  • Maintainability: Easier to update and share.
  • Better Solver Behavior: Enables localized iteration and improves convergence.

โš ๏ธ Considerations

  • Complexity: Overuse can clutter your model.
  • Stream Mapping: Must be handled carefully to avoid errors.
  • Convergence: Subflowsheets must be internally well-conditioned to converge reliably.

๐Ÿ“˜ Example: Creating a Subflowsheet (ESP 12.5+)

This tutorial assumes familiarity with adding streams, blocks, and components in OLI Flowsheet: ESP. This example showcases the connection between the main/parent flowsheet and the subflowsheet. The subflowsheet requires inlet and outlet portals to connect the subflowsheet to the main/parent flowsheet. These inlet/outlet portals must be manually added in the subflowsheet. Once these portals are in the subflowsheet, you can connect main/parent flowsheet streams to the subflowsheet.  

โš™๏ธ Setup: Component Definition

In this example, the Inflows list includes the following components:

  • Hโ‚‚O
  • Cโ‚‚Hโ‚†O
  • COโ‚‚
  • NaCl
  • NaOH
  • HCl
  • Cโ‚โ‚€Hโ‚‚โ‚‚

 

๐Ÿ—‚๏ธ Main Flowsheet Layout

We'll use:

  • 2 inlets:
    • Inlet_H2O+NaCl
    • Inlet_organics
  • 4 outlets:
    • Outlet_Vapor
    • Outlet_Liquid1 (aqueous)
    • Outlet_Liquid2 (organic)
    • Outlet_Solids

The main flowsheet includes a single Subflowsheet block (Sub-1) with these six connected streams and will look like this:

The subflowsheet will look like this:

๐Ÿงญ Step-by-Step Guide

1. Add the Subflowsheet Block

Add the Subflowsheet block from the unit operations palette.

2. Place Inlet/Outlet Streams

Place six streams (two inlets, four outlets). Rename them clearly.

3. Open Subflowsheet Editor

Double-click Sub-1 or use the "Open Subflowsheet" option.

This will open up the subflowsheet tab. Currently it is blank since we have not specified anything.

4. Add Portals

We need to add inlet ports and outlet portals. Since we have two inlet streams we want to connect, we need to add 2 Inlet Portals. Since we have 4 outlet streams we want to connect, we need to add 4 Outlet Portals.

Inside the subflowsheet, add:

  • 2 Inlet Portals
  • 4 Outlet Portals

You can find them in the unit operations palette.

5. Add Blocks and Connect

Place and connect:

  • Mixer (Mix-1)
  • Separator (Sep-1)

Rename internal streams for clarity and connect all blocks and portals.

6. Specify Block Settings

  • Mixer: Use default settings (adiabatic, minimum inlet pressure)
  • Separator: Set vapor flow = 5 mol/hr, minimum inlet pressure

7. Define Inlet Streams in Main Flowsheet

Specify temperature, pressure, flow, and composition for both inlets.


 

8. Map Main Streams to Subflowsheet

Link external streams to internal portals via:

  • Drop-down in the block's property panel



     
  • Or manually drag-and-drop

     

It will look like this:

 

9. Final Connections and Run

Connect the appropriate outputs and run the simulation. Use callouts or reports for results as desired.

You can run a subflowsheet independently from the main flowsheet by selecting the Run button in the subflowsheetโ€™s Properties pane.

๐Ÿ“š Summary

Feature Description
What A modular mini-flowsheet inside the main simulation
Why Improves structure, reusability, and convergence
Use Cases Recycle loops, complex units, modular processes
Tools Needed Subflowsheet block, inlet/outlet portals
Versions Supported in ESP 12.5+

Subflowsheets are essential for simulating modular, hierarchical, or reusable process sections. As your modeling skills grow, subflowsheets will become one of your most powerful tools.

Was this article helpful?
2 out of 2 found this helpful