Class EquipmentConstraintRegistry

java.lang.Object
neqsim.process.design.EquipmentConstraintRegistry

public class EquipmentConstraintRegistry extends Object
Registry for default equipment capacity constraints.

This class manages default constraint configurations for different equipment types and provides factory methods for creating constraints. It enables consistent constraint handling across the optimization framework.

Example usage:

EquipmentConstraintRegistry registry = EquipmentConstraintRegistry.getInstance();

// Get default constraints for a separator
List<CapacityConstraint> constraints = registry.getDefaultConstraints(separator);

// Register custom constraint
registry.registerCustomConstraint("Separator", new CapacityConstraint(...));
Version:
1.0
Author:
NeqSim Development Team
  • Field Details

  • Constructor Details

    • EquipmentConstraintRegistry

      private EquipmentConstraintRegistry()
      Private constructor for singleton pattern.
  • Method Details

    • getInstance

      public static EquipmentConstraintRegistry getInstance()
      Get the singleton instance of the registry.
      Returns:
      the registry instance
    • initializeDefaults

      private void initializeDefaults()
      Initialize default constraint templates for each equipment type.
    • getEquipmentType

      public String getEquipmentType(ProcessEquipmentInterface equipment)
      Get the equipment type string for a given equipment instance.
      Parameters:
      equipment - the equipment to classify
      Returns:
      equipment type string
    • getConstraintTemplates

      public List<EquipmentConstraintRegistry.ConstraintTemplate> getConstraintTemplates(String equipmentType)
      Get the available constraint types for an equipment type.
      Parameters:
      equipmentType - equipment type (e.g., "Separator", "Compressor")
      Returns:
      list of constraint templates
    • getConstraintTemplates

      Get the available constraint types for an equipment instance.
      Parameters:
      equipment - the equipment
      Returns:
      list of constraint templates
    • createConstraint

      public CapacityConstraint createConstraint(ProcessEquipmentInterface equipment, String constraintType, double maxValue)
      Create a capacity constraint for a specific equipment and constraint type.
      Parameters:
      equipment - the equipment
      constraintType - the constraint type (e.g., "gasLoadFactor", "maxVelocity")
      maxValue - the maximum allowed value
      Returns:
      the capacity constraint
    • registerCustomConstraint

      public void registerCustomConstraint(String equipmentType, CapacityConstraint constraint)
      Register a custom constraint for an equipment type.
      Parameters:
      equipmentType - the equipment type
      constraint - the custom constraint
    • getCustomConstraints

      public List<CapacityConstraint> getCustomConstraints(String equipmentType)
      Get custom constraints registered for an equipment type.
      Parameters:
      equipmentType - the equipment type
      Returns:
      list of custom constraints
    • isConstraintSupported

      public boolean isConstraintSupported(String equipmentType, String constraintType)
      Check if a constraint type is supported for an equipment type.
      Parameters:
      equipmentType - the equipment type
      constraintType - the constraint type
      Returns:
      true if supported
    • findTemplate

      private EquipmentConstraintRegistry.ConstraintTemplate findTemplate(String equipmentType, String constraintType)