Skip to the content.

title: Process System and Flowsheet Management description: This folder contains documentation for process system and flowsheet management in NeqSim. —

Process System and Flowsheet Management

This folder contains documentation for process system and flowsheet management in NeqSim.

Contents

Document Description
ProcessSystem Main process system class and execution strategies
ProcessModel Multi-process coordination and management
ProcessModule Modular process units
Graph-Based Simulation Graph-based execution and optimization
PFD Diagram Export Professional process flow diagram generation
Architecture & DEXPI Diagram architecture and DEXPI integration
Process Serialization Saving and loading process models

Overview

The processmodel package provides the framework for building and executing process simulations:


Execution Strategies

NeqSim provides multiple execution strategies optimized for different process types:

Method Best For Description
run() General use Sequential execution (or optimized if enabled)
runOptimized() Recommended Auto-selects best strategy based on topology
runParallel() Feed-forward processes Maximum parallelism for no-recycle processes
runHybrid() Complex processes Parallel feed-forward + iterative recycle

Enabling Optimized Execution by Default

For best performance, enable optimized execution so run() automatically uses the best strategy:

process.setUseOptimizedExecution(true);
process.run();  // Now uses runOptimized() internally

Typical performance improvements:


Quick Start

import neqsim.process.processmodel.ProcessSystem;
import neqsim.process.equipment.stream.Stream;
import neqsim.process.equipment.separator.Separator;

// Create process system
ProcessSystem process = new ProcessSystem();

// Add equipment
process.add(feedStream);
process.add(separator);
process.add(compressor);

// Run simulation (recommended - auto-optimized)
process.runOptimized();

// Get results
process.display();

Analyzing Process Topology

// Check if process has recycles
boolean hasRecycles = process.hasRecycleLoops();

// Get execution partition analysis
System.out.println(process.getExecutionPartitionInfo());

Saving and Loading

ProcessSystem and ProcessModel support saving to compressed .neqsim files and JSON state files:

// Save process
process.saveToNeqsim("my_process.neqsim");

// Load process
ProcessSystem loaded = ProcessSystem.loadFromNeqsim("my_process.neqsim");

// Save multi-process model
model.saveToNeqsim("field_model.neqsim");
ProcessModel loaded = ProcessModel.loadFromNeqsim("field_model.neqsim");

For full documentation, see Process Serialization Guide.