Class FacilityConfig

java.lang.Object
neqsim.process.fielddevelopment.facility.FacilityConfig
All Implemented Interfaces:
Serializable

public final class FacilityConfig extends Object implements Serializable
Immutable configuration for a complete facility.

Created by FacilityBuilder, this class holds all the block configurations and parameters needed to instantiate a facility.

Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • name

      private final String name
    • concept

      private final FieldConcept concept
    • blocks

      private final List<BlockConfig> blocks
    • redundancyRequirements

      private final List<String> redundancyRequirements
    • designMargin

      private final double designMargin
  • Constructor Details

  • Method Details

    • getName

      public String getName()
      Gets the facility name.
      Returns:
      facility name
    • getConcept

      public FieldConcept getConcept()
      Gets the underlying field concept.
      Returns:
      field concept
    • getBlocks

      public List<BlockConfig> getBlocks()
      Gets the list of configured blocks.
      Returns:
      unmodifiable list of blocks
    • getBlocksOfType

      public List<BlockConfig> getBlocksOfType(BlockType type)
      Gets blocks of a specific type.
      Parameters:
      type - block type to filter by
      Returns:
      list of matching blocks
    • hasBlock

      public boolean hasBlock(BlockType type)
      Checks if the facility has a specific block type.
      Parameters:
      type - block type to check
      Returns:
      true if facility has this block type
    • getRedundancyRequirements

      public List<String> getRedundancyRequirements()
      Gets the redundancy requirements.
      Returns:
      unmodifiable list of redundancy specs
    • getDesignMargin

      public double getDesignMargin()
      Gets the design margin factor.
      Returns:
      design margin (e.g., 1.15 for 15% margin)
    • getBlockCount

      public int getBlockCount()
      Gets the number of blocks in the facility.
      Returns:
      block count
    • hasCompression

      public boolean hasCompression()
      Checks if this facility has compression.
      Returns:
      true if compression block exists
    • hasCo2Removal

      public boolean hasCo2Removal()
      Checks if this facility has CO2 removal.
      Returns:
      true if any CO2 removal block exists
    • hasDehydration

      public boolean hasDehydration()
      Checks if this facility has dehydration.
      Returns:
      true if TEG dehydration block exists
    • getTotalCompressionStages

      public int getTotalCompressionStages()
      Gets the total number of compression stages.
      Returns:
      total compression stages
    • isComplex

      public boolean isComplex()
      Estimates if this is a "complex" facility based on block count and types.
      Returns:
      true if complex
    • getSummary

      public String getSummary()
      Gets a summary description of the facility.
      Returns:
      summary string
    • toString

      public String toString()
      Overrides:
      toString in class Object