Class FlowRateOptimizer.ProcessLiftCurveTable

java.lang.Object
neqsim.process.util.optimizer.FlowRateOptimizer.ProcessLiftCurveTable
All Implemented Interfaces:
Serializable
Enclosing class:
FlowRateOptimizer

public static class FlowRateOptimizer.ProcessLiftCurveTable extends Object implements Serializable
Process lift curve table for reservoir simulator integration.

Stores operating points for a grid of flow rates and inlet pressures, providing methods to access pressure, power, and utilization data. Output can be formatted for Eclipse VFP tables.

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

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version UID.
      See Also:
    • tableName

      private String tableName
    • flowRates

      private double[] flowRates
    • inletPressures

      private double[] inletPressures
    • compressorNames

      private List<String> compressorNames
    • flowRateUnit

      private String flowRateUnit
    • pressureUnit

      private String pressureUnit
    • operatingPoints

      private FlowRateOptimizer.ProcessOperatingPoint[][] operatingPoints
  • Constructor Details

    • ProcessLiftCurveTable

      public ProcessLiftCurveTable(String tableName, double[] flowRates, double[] inletPressures, List<String> compressorNames)
      Creates a new process lift curve table.
      Parameters:
      tableName - name of the table
      flowRates - array of flow rates
      inletPressures - array of inlet pressures
      compressorNames - list of compressor names
  • Method Details

    • setOperatingPoint

      public void setOperatingPoint(int flowIndex, int pressureIndex, FlowRateOptimizer.ProcessOperatingPoint point)
      Sets an operating point at the specified indices.
      Parameters:
      flowIndex - flow rate index
      pressureIndex - inlet pressure index
      point - the operating point
    • getOperatingPoint

      public FlowRateOptimizer.ProcessOperatingPoint getOperatingPoint(int flowIndex, int pressureIndex)
      Gets an operating point at the specified indices.
      Parameters:
      flowIndex - flow rate index
      pressureIndex - inlet pressure index
      Returns:
      the operating point, or null if not set
    • getOutletPressureValues

      public double[][] getOutletPressureValues()
      Gets the outlet pressure values as a 2D array.
      Returns:
      outlet pressures [flowIndex][pressureIndex], NaN for infeasible points
    • getTotalPowerValues

      public double[][] getTotalPowerValues()
      Gets the total power values as a 2D array.
      Returns:
      total power [flowIndex][pressureIndex], NaN for infeasible points
    • getMaxUtilizationValues

      public double[][] getMaxUtilizationValues()
      Gets the maximum utilization values as a 2D array.
      Returns:
      max utilization [flowIndex][pressureIndex], NaN for infeasible points
    • findMinimumPowerPoint

      public FlowRateOptimizer.ProcessOperatingPoint findMinimumPowerPoint()
      Finds the operating point with minimum total power across all feasible points.
      Returns:
      the minimum power operating point, or null if no feasible points
    • toFormattedString

      public String toFormattedString()
      Returns a formatted string representation suitable for display.
      Returns:
      formatted table string
    • toEclipseFormat

      public String toEclipseFormat()
      Returns a formatted string in Eclipse VFP-like format.
      Returns:
      Eclipse-compatible formatted string
    • toJson

      public String toJson()
      Converts the table to JSON format.
      Returns:
      JSON string representation
    • getTableName

      public String getTableName()
      Returns:
      the tableName
    • setTableName

      public void setTableName(String tableName)
      Parameters:
      tableName - the tableName to set
    • getFlowRates

      public double[] getFlowRates()
      Returns:
      the flowRates
    • getInletPressures

      public double[] getInletPressures()
      Returns:
      the inletPressures
    • getCompressorNames

      public List<String> getCompressorNames()
      Returns:
      the compressorNames
    • getFlowRateUnit

      public String getFlowRateUnit()
      Returns:
      the flowRateUnit
    • setFlowRateUnit

      public void setFlowRateUnit(String flowRateUnit)
      Parameters:
      flowRateUnit - the flowRateUnit to set
    • getPressureUnit

      public String getPressureUnit()
      Returns:
      the pressureUnit
    • setPressureUnit

      public void setPressureUnit(String pressureUnit)
      Parameters:
      pressureUnit - the pressureUnit to set