Class SimpleReservoir

All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, SimulationInterface, NamedInterface

public class SimpleReservoir extends ProcessEquipmentBaseClass

SimpleReservoir class.

Version:
$Id: $Id
Author:
Even Solbraa
See Also:
  • Field Details

    • serialVersionUID

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

      SystemInterface thermoSystem
    • oilVolume

      double oilVolume
    • gasVolume

      double gasVolume
    • waterVolume

      double waterVolume
    • gasProducer

      ArrayList<Well> gasProducer
    • oilProducer

      ArrayList<Well> oilProducer
    • gasInjector

      ArrayList<Well> gasInjector
    • waterInjector

      ArrayList<Well> waterInjector
    • waterProducer

      ArrayList<Well> waterProducer
    • gasProductionTotal

      double gasProductionTotal
    • oilProductionTotal

      double oilProductionTotal
    • OOIP

      double OOIP
    • OGIP

      double OGIP
    • reservoirVolume

      double reservoirVolume
    • lowPressureLimit

      double lowPressureLimit
  • Constructor Details

    • SimpleReservoir

      public SimpleReservoir(String name)

      Constructor for SimpleReservoir.

      Parameters:
      name - a String object
  • Method Details

    • getReservoirFluid

      public SystemInterface getReservoirFluid()

      getReservoirFluid.

      Returns:
      a SystemInterface object
    • addGasProducer

      public StreamInterface addGasProducer(String name)

      addGasProducer.

      Parameters:
      name - a String object
      Returns:
      a StreamInterface object
    • addOilProducer

      public StreamInterface addOilProducer(String name)

      addOilProducer.

      Parameters:
      name - a String object
      Returns:
      a StreamInterface object
    • addWaterInjector

      public StreamInterface addWaterInjector(String name)

      addWaterInjector.

      Parameters:
      name - a String object
      Returns:
      a StreamInterface object
    • addWaterProducer

      public StreamInterface addWaterProducer(String name)

      addWaterProducer.

      Parameters:
      name - a String object
      Returns:
      a StreamInterface object
    • addGasInjector

      public StreamInterface addGasInjector(String name)

      addGasInjector.

      Parameters:
      name - a String object
      Returns:
      a StreamInterface object
    • getGasInPlace

      public double getGasInPlace(String unit)

      getGasInPlace.

      Parameters:
      unit - a String object
      Returns:
      a double
    • getOilInPlace

      public double getOilInPlace(String unit)

      getOilInPlace.

      Parameters:
      unit - a String object
      Returns:
      a double
    • getGasProducer

      public Well getGasProducer(int i)

      Getter for the field gasProducer.

      Parameters:
      i - a int
      Returns:
      a Well object
    • getOilProducer

      public Well getOilProducer(int i)

      Getter for the field oilProducer.

      Parameters:
      i - a int
      Returns:
      a Well object
    • getOilProducer

      public Well getOilProducer(String name)

      Getter for the field oilProducer.

      Parameters:
      name - a String object
      Returns:
      a Well object
    • getWaterProducer

      public Well getWaterProducer(int i)

      Getter for the field waterProducer.

      Parameters:
      i - a int
      Returns:
      a Well object
    • getWaterInjector

      public Well getWaterInjector(int i)

      Getter for the field waterInjector.

      Parameters:
      i - a int
      Returns:
      a Well object
    • getGasInjector

      public Well getGasInjector(int i)

      Getter for the field gasInjector.

      Parameters:
      i - a int
      Returns:
      a Well object
    • setReservoirFluid

      public void setReservoirFluid(SystemInterface thermoSystem, double gasVolume, double oilVolume, double waterVolume)

      setReservoirFluid.

      Parameters:
      thermoSystem - a SystemInterface object
      gasVolume - a double
      oilVolume - a double
      waterVolume - a double
    • run

      public void run(UUID id)

      In this method all thermodynamic and unit operations will be calculated in a steady state calculation.

      Parameters:
      id - UUID
    • GORprodution

      public double GORprodution()

      GORprodution.

      Returns:
      a double
    • getGasProdution

      public double getGasProdution(String unit)

      getGasProdution.

      Parameters:
      unit - a String object
      Returns:
      a double
    • getOilProdution

      public double getOilProdution(String unit)

      getOilProdution.

      Parameters:
      unit - a String object
      Returns:
      a double
    • getWaterProdution

      public double getWaterProdution(String unit)

      getWaterProdution.

      Parameters:
      unit - a String object
      Returns:
      a double
    • runTransient

      public void runTransient(double dt, UUID id)

      runTransient

      This method calculates thermodynamic and unit operations using difference equations if available and calculateSteadyState is true. Use setCalculateSteadyState to set the parameter. Sets calc identifier UUID.
      Parameters:
      dt - Delta time [s]
      id - Calculation identifier
    • displayResult

      public void displayResult()

      displayResult.

      Specified by:
      displayResult in interface ProcessEquipmentInterface
      Overrides:
      displayResult in class ProcessEquipmentBaseClass
    • main

      public static void main(String[] args)

      main.

      Parameters:
      args - an array of String objects
    • getGasProductionTotal

      public double getGasProductionTotal(String unit)

      Getter for the field gasProductionTotal.

      Parameters:
      unit - a String object
      Returns:
      a double
    • getOilProductionTotal

      public double getOilProductionTotal(String unit)

      Getter for the field oilProductionTotal.

      Parameters:
      unit - a String object
      Returns:
      a double
    • getProductionTotal

      public double getProductionTotal(String unit)

      getProductionTotal.

      Parameters:
      unit - a String object
      Returns:
      a double
    • getOOIP

      public double getOOIP(String unit)

      getOOIP.

      Parameters:
      unit - a String object
      Returns:
      a double
    • getOGIP

      public double getOGIP(String unit)

      getOGIP.

      Parameters:
      unit - a String object
      Returns:
      a double
    • getTime

      public double getTime()
      Getter for the field time.
      Specified by:
      getTime in interface SimulationInterface
      Overrides:
      getTime in class SimulationBaseClass
      Returns:
      Value of property time.
    • setLowPressureLimit

      public void setLowPressureLimit(double value, String unit)

      Setter for the field lowPressureLimit.

      Parameters:
      value - a double
      unit - a String object
    • getLowPressureLimit

      public double getLowPressureLimit(String unit)

      Getter for the field lowPressureLimit.

      Parameters:
      unit - a String object
      Returns:
      a double