Class MultiScenarioVFPGenerator.VFPTable

java.lang.Object
neqsim.process.util.optimizer.MultiScenarioVFPGenerator.VFPTable
All Implemented Interfaces:
Serializable
Enclosing class:
MultiScenarioVFPGenerator

public static class MultiScenarioVFPGenerator.VFPTable extends Object implements Serializable
VFP table containing all calculated points.
Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • flowRates

      private double[] flowRates
    • outletPressures

      private double[] outletPressures
    • waterCuts

      private double[] waterCuts
    • GORs

      private double[] GORs
    • bhpTable

      private double[][][][] bhpTable
    • feasible

      private boolean[][][][] feasible
    • flowRateUnit

      private String flowRateUnit
  • Constructor Details

    • VFPTable

      public VFPTable(double[] flowRates, double[] outletPressures, double[] waterCuts, double[] GORs)
      Create VFP table with specified dimensions.
      Parameters:
      flowRates - flow rate values
      outletPressures - outlet pressure values
      waterCuts - water cut values
      GORs - GOR values
  • Method Details

    • setPoint

      void setPoint(MultiScenarioVFPGenerator.VFPPoint point)
      Set a point result.
      Parameters:
      point - the calculated point
    • getBHPTable

      public double[][][][] getBHPTable()
      Get the BHP (required inlet pressure) table.
      Returns:
      4D array [rate][thp][wc][gor]
    • getBHP

      public double getBHP(int rateIdx, int thpIdx, int wcIdx, int gorIdx)
      Get BHP at specific indices.
      Parameters:
      rateIdx - rate index
      thpIdx - THP index
      wcIdx - water cut index
      gorIdx - GOR index
      Returns:
      BHP value or NaN if infeasible
    • isFeasible

      public boolean isFeasible(int rateIdx, int thpIdx, int wcIdx, int gorIdx)
      Check if point is feasible.
      Parameters:
      rateIdx - rate index
      thpIdx - THP index
      wcIdx - water cut index
      gorIdx - GOR index
      Returns:
      true if feasible
    • getFeasibleCount

      public int getFeasibleCount()
      Get count of feasible points.
      Returns:
      number of feasible points
    • getTotalPoints

      public int getTotalPoints()
      Get total number of points.
      Returns:
      total points
    • setFlowRateUnit

      public void setFlowRateUnit(String unit)
      Set flow rate unit.
      Parameters:
      unit - the unit
    • getFlowRateUnit

      public String getFlowRateUnit()
      Get flow rate unit.
      Returns:
      the unit
    • getFlowRates

      public double[] getFlowRates()
      Get flow rates array.
      Returns:
      flow rates
    • getOutletPressures

      public double[] getOutletPressures()
      Get outlet pressures array.
      Returns:
      outlet pressures
    • getWaterCuts

      public double[] getWaterCuts()
      Get water cuts array.
      Returns:
      water cuts
    • getGORs

      public double[] getGORs()
      Get GORs array.
      Returns:
      GORs
    • printSlice

      public void printSlice(int wcIdx, int gorIdx)
      Print summary of VFP table at specific WC and GOR.
      Parameters:
      wcIdx - water cut index
      gorIdx - GOR index