Class VFMResult

java.lang.Object
neqsim.process.measurementdevice.vfm.VFMResult
All Implemented Interfaces:
Serializable

public class VFMResult extends Object implements Serializable
Result from a Virtual Flow Meter calculation.

Contains calculated flow rates for oil, gas, and water phases along with uncertainty bounds and quality indicators.

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

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • timestamp

      private final Instant timestamp
    • oilFlowRate

      private final double oilFlowRate
    • gasFlowRate

      private final double gasFlowRate
    • waterFlowRate

      private final double waterFlowRate
    • totalLiquidFlowRate

      private final double totalLiquidFlowRate
    • gasOilRatio

      private final double gasOilRatio
    • waterCut

      private final double waterCut
    • oilUncertainty

      private final UncertaintyBounds oilUncertainty
    • gasUncertainty

      private final UncertaintyBounds gasUncertainty
    • waterUncertainty

      private final UncertaintyBounds waterUncertainty
    • quality

      private final VFMResult.Quality quality
    • additionalProperties

      private final Map<String,Double> additionalProperties
  • Constructor Details

  • Method Details

    • builder

      public static VFMResult.Builder builder()
    • getTimestamp

      public Instant getTimestamp()
      Gets the calculation timestamp.
      Returns:
      the timestamp
    • getOilFlowRate

      public double getOilFlowRate()
      Gets the oil flow rate.
      Returns:
      oil flow rate in Sm3/d
    • getGasFlowRate

      public double getGasFlowRate()
      Gets the gas flow rate.
      Returns:
      gas flow rate in Sm3/d
    • getWaterFlowRate

      public double getWaterFlowRate()
      Gets the water flow rate.
      Returns:
      water flow rate in Sm3/d
    • getTotalLiquidFlowRate

      public double getTotalLiquidFlowRate()
      Gets the total liquid flow rate (oil + water).
      Returns:
      total liquid flow rate in Sm3/d
    • getGasOilRatio

      public double getGasOilRatio()
      Gets the gas-oil ratio.
      Returns:
      GOR in Sm3/Sm3
    • getWaterCut

      public double getWaterCut()
      Gets the water cut percentage.
      Returns:
      water cut in percent
    • getOilUncertainty

      public UncertaintyBounds getOilUncertainty()
      Gets uncertainty bounds for oil flow rate.
      Returns:
      oil uncertainty or null if not calculated
    • getGasUncertainty

      public UncertaintyBounds getGasUncertainty()
      Gets uncertainty bounds for gas flow rate.
      Returns:
      gas uncertainty or null if not calculated
    • getWaterUncertainty

      public UncertaintyBounds getWaterUncertainty()
      Gets uncertainty bounds for water flow rate.
      Returns:
      water uncertainty or null if not calculated
    • getQuality

      public VFMResult.Quality getQuality()
      Gets the result quality indicator.
      Returns:
      the quality
    • getProperty

      public Double getProperty(String name)
      Gets an additional property by name.
      Parameters:
      name - the property name
      Returns:
      the property value or null
    • getAdditionalProperties

      public Map<String,Double> getAdditionalProperties()
      Gets all additional properties.
      Returns:
      map of property names to values
    • isUsable

      public boolean isUsable()
      Checks if this result is usable for production allocation.
      Returns:
      true if quality is HIGH or NORMAL
    • toString

      public String toString()
      Overrides:
      toString in class Object