Interface AutoSizeable

All Known Implementing Classes:
AdiabaticPipe, AirCooler, BlowdownValve, CheckValve, Compressor, ControlValve, Cooler, Ejector, ESDValve, ESPPump, Expander, GasScrubber, GasScrubberSimple, Heater, HeatExchanger, HIPPSValve, Hydrocyclone, Hydrocyclone, IncompressiblePipeFlow, LevelControlValve, Manifold, MultiStreamHeatExchanger, MultiStreamHeatExchanger2, NeqGasScrubber, NeqHeater, PipeBeggsAndBrills, PressureControlValve, PressureDrop, PSDValve, Pump, Riser, RuptureDisk, SafetyReliefValve, SafetyValve, Separator, SimpleAbsorber, SimpleTEGAbsorber, SteamHeater, Tank, ThreePhaseSeparator, ThrottlingValve, TopsidePiping, TurboExpanderCompressor, TwoPhaseSeparator, WaterCooler, WaterStripperColumn

public interface AutoSizeable
Interface for process equipment that can be automatically sized based on design criteria.

Equipment implementing this interface can calculate their dimensions and design parameters from connected stream conditions and design safety factors. This enables automated process design workflows where equipment is sized from specifications rather than manually configured.

Example usage:

ThreePhaseSeparator separator = new ThreePhaseSeparator("HP-Sep", feedStream);
separator.autoSize(1.2); // Size with 20% safety factor
System.out.println(separator.getSizingReport());
Version:
1.0
Author:
NeqSim Development Team
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    Automatically size using default safety factor (1.2 = 20% margin).
    void
    autoSize(double safetyFactor)
    Automatically size the equipment based on connected stream conditions.
    default void
    autoSize(String companyStandard, String trDocument)
    Automatically size using company-specific design standards.
    Get a detailed sizing report after auto-sizing.
    default String
    Get sizing report as JSON for programmatic access.
    boolean
    Check if equipment has been auto-sized.
  • Method Details

    • autoSize

      void autoSize(double safetyFactor)
      Automatically size the equipment based on connected stream conditions.

      This method calculates dimensions and design parameters using the inlet stream properties and applies the specified safety factor. The equipment must have a valid inlet stream connected before calling this method.

      Parameters:
      safetyFactor - multiplier for design capacity, typically 1.1-1.3 (10-30% over design)
      Throws:
      IllegalStateException - if inlet stream is not connected or not initialized
    • autoSize

      default void autoSize()
      Automatically size using default safety factor (1.2 = 20% margin).
    • autoSize

      default void autoSize(String companyStandard, String trDocument)
      Automatically size using company-specific design standards.

      This method applies design rules from the specified company's technical requirements (TR) documents. The standards are loaded from the NeqSim design database.

      Parameters:
      companyStandard - company name (e.g., "Equinor", "Shell", "TotalEnergies")
      trDocument - TR document reference (e.g., "TR2000", "DEP-31.38.01.11")
    • isAutoSized

      boolean isAutoSized()
      Check if equipment has been auto-sized.
      Returns:
      true if autoSize() has been called successfully
    • getSizingReport

      String getSizingReport()
      Get a detailed sizing report after auto-sizing.

      The report includes:

      • Design basis (flow rates, pressures, temperatures)
      • Calculated dimensions
      • Design parameters (K-factor, Cv, velocity, etc.)
      • Safety margins
      Returns:
      formatted sizing report string
    • getSizingReportJson

      default String getSizingReportJson()
      Get sizing report as JSON for programmatic access.
      Returns:
      JSON string with sizing data