Class GasCompressionTemplate

java.lang.Object
neqsim.process.design.template.GasCompressionTemplate
All Implemented Interfaces:
ProcessTemplate

public class GasCompressionTemplate extends Object implements ProcessTemplate
Template for creating multi-stage gas compression systems.

This template creates a standard gas compression train consisting of multiple stages with interstage cooling and liquid knockout. The number of stages is determined automatically based on the overall pressure ratio or can be specified manually.

Features

  • Automatic stage calculation based on optimal compression ratio per stage
  • Interstage coolers with configurable outlet temperature
  • Knockout drums for liquid removal between stages
  • Support for wet gas and condensate-rich applications

Usage Example

ProcessBasis basis = new ProcessBasis();
basis.setFeedFluid(gasFluid);
basis.setFeedPressure(5.0); // bara
basis.setParameter("dischargePressure", 100.0); // bara
basis.setParameter("interstageTemperature", 40.0); // °C

GasCompressionTemplate template = new GasCompressionTemplate();
ProcessSystem compression = template.create(basis);
compression.run();
Version:
1.0
Author:
NeqSim Development Team
  • Field Details

    • DEFAULT_INTERSTAGE_TEMP_C

      private static final double DEFAULT_INTERSTAGE_TEMP_C
      Default interstage temperature in Celsius.
      See Also:
    • DEFAULT_POLYTROPIC_EFFICIENCY

      private static final double DEFAULT_POLYTROPIC_EFFICIENCY
      Default compressor polytropic efficiency.
      See Also:
    • OPTIMAL_COMPRESSION_RATIO

      private static final double OPTIMAL_COMPRESSION_RATIO
      Optimal compression ratio per stage (typically 2.5-4.0).
      See Also:
    • MAX_COMPRESSION_RATIO

      private static final double MAX_COMPRESSION_RATIO
      Maximum compression ratio per stage.
      See Also:
    • DEFAULT_INLET_TEMP_C

      private static final double DEFAULT_INLET_TEMP_C
      Default inlet temperature in Celsius.
      See Also:
  • Constructor Details

    • GasCompressionTemplate

      public GasCompressionTemplate()
      Creates a new GasCompressionTemplate.
  • Method Details

    • create

      public ProcessSystem create(ProcessBasis basis)
      Create a process system from this template using the given process basis.
      Specified by:
      create in interface ProcessTemplate
      Parameters:
      basis - the process basis containing feed conditions and constraints
      Returns:
      a configured ProcessSystem
    • calculateOptimalStages

      private int calculateOptimalStages(double inletPressure, double dischargePressure)
      Calculates the optimal number of compression stages.
      Parameters:
      inletPressure - inlet pressure in bara
      dischargePressure - discharge pressure in bara
      Returns:
      optimal number of stages
    • isApplicable

      public boolean isApplicable(SystemInterface fluid)
      Check if this template is applicable for the given fluid.
      Specified by:
      isApplicable in interface ProcessTemplate
      Parameters:
      fluid - the fluid to check
      Returns:
      true if template is applicable
    • getRequiredEquipmentTypes

      public String[] getRequiredEquipmentTypes()
      Get the required equipment types for this template.
      Specified by:
      getRequiredEquipmentTypes in interface ProcessTemplate
      Returns:
      array of equipment type names
    • getExpectedOutputs

      public String[] getExpectedOutputs()
      Get the expected outputs from this process template.
      Specified by:
      getExpectedOutputs in interface ProcessTemplate
      Returns:
      array of output stream names/types
    • getName

      public String getName()
      Get the template name.
      Specified by:
      getName in interface ProcessTemplate
      Returns:
      template name
    • getDescription

      public String getDescription()
      Get a description of the process template.
      Specified by:
      getDescription in interface ProcessTemplate
      Returns:
      template description