Class ColumnMeshState

java.lang.Object
neqsim.process.equipment.distillation.ColumnMeshState
All Implemented Interfaces:
Serializable

final class ColumnMeshState extends Object implements Serializable
Snapshot of tray variables used by distillation MESH residual diagnostics.
Version:
1.0
Author:
esol
  • Field Details

    • serialVersionUID

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

      private static final double MIN_SCALE
      Small positive value used to avoid division by zero.
      See Also:
    • componentNames

      private final String[] componentNames
      Component names included in the state vector.
    • trayTemperatures

      private final double[] trayTemperatures
      Tray temperatures in Kelvin.
    • vaporFlowsMolHr

      private final double[] vaporFlowsMolHr
      Vapor molar flow per tray in mol/hr.
    • liquidFlowsMolHr

      private final double[] liquidFlowsMolHr
      Liquid molar flow per tray in mol/hr.
    • vaporComponentFlowsMolHr

      private final double[][] vaporComponentFlowsMolHr
      Vapor component molar flow per tray and component in mol/hr.
    • liquidComponentFlowsMolHr

      private final double[][] liquidComponentFlowsMolHr
      Liquid component molar flow per tray and component in mol/hr.
    • feedComponentFlowsMolHr

      private final double[][] feedComponentFlowsMolHr
      Feed component molar flow per tray and component in mol/hr.
    • vaporMoleFractions

      private final double[][] vaporMoleFractions
      Vapor mole fractions per tray and component.
    • liquidMoleFractions

      private final double[][] liquidMoleFractions
      Liquid mole fractions per tray and component.
  • Constructor Details

    • ColumnMeshState

      private ColumnMeshState(String[] componentNames, double[] trayTemperatures, double[] vaporFlowsMolHr, double[] liquidFlowsMolHr, double[][] vaporComponentFlowsMolHr, double[][] liquidComponentFlowsMolHr, double[][] feedComponentFlowsMolHr, double[][] vaporMoleFractions, double[][] liquidMoleFractions)
      Create a state snapshot.
      Parameters:
      componentNames - component names included in the state
      trayTemperatures - tray temperatures in Kelvin
      vaporFlowsMolHr - vapor molar flows in mol/hr
      liquidFlowsMolHr - liquid molar flows in mol/hr
      vaporComponentFlowsMolHr - vapor component flows in mol/hr
      liquidComponentFlowsMolHr - liquid component flows in mol/hr
      feedComponentFlowsMolHr - feed component flows in mol/hr
      vaporMoleFractions - vapor mole fractions
      liquidMoleFractions - liquid mole fractions
  • Method Details

    • from

      static ColumnMeshState from(DistillationColumn column)
      Build a state snapshot from a distillation column.
      Parameters:
      column - the column to inspect
      Returns:
      state snapshot for residual evaluation
    • resolveComponentNames

      private static String[] resolveComponentNames(DistillationColumn column)
      Resolve component names from available column products and tray states.
      Parameters:
      column - column to inspect
      Returns:
      component names
    • componentNames

      private static String[] componentNames(StreamInterface stream)
      Get component names from a stream.
      Parameters:
      stream - stream to inspect
      Returns:
      component names or an empty array
    • flowRate

      private static double flowRate(StreamInterface stream, String unit)
      Get a total stream flow rate.
      Parameters:
      stream - stream to inspect
      unit - unit for flow
      Returns:
      flow rate, or zero if unavailable
    • componentFlow

      private static double componentFlow(StreamInterface stream, String componentName)
      Get a component flow from a stream.
      Parameters:
      stream - stream to inspect
      componentName - component name
      Returns:
      component molar flow in mol/hr, or zero if unavailable
    • componentFraction

      private static double componentFraction(StreamInterface stream, String componentName)
      Get a component mole fraction from a stream.
      Parameters:
      stream - stream to inspect
      componentName - component name
      Returns:
      component mole fraction, or zero if unavailable
    • copy

      private static double[][] copy(double[][] values)
      Copy a two-dimensional double array.
      Parameters:
      values - array to copy
      Returns:
      copied array
    • getTrayCount

      int getTrayCount()
      Get tray count.
      Returns:
      number of trays
    • getComponentCount

      int getComponentCount()
      Get component count.
      Returns:
      number of components
    • getComponentNames

      String[] getComponentNames()
      Get component names.
      Returns:
      component names
    • getTrayTemperatures

      double[] getTrayTemperatures()
      Get tray temperatures.
      Returns:
      tray temperatures in Kelvin
    • getVaporComponentFlow

      double getVaporComponentFlow(int trayIndex, int componentIndex)
      Get vapor component flow.
      Parameters:
      trayIndex - tray index
      componentIndex - component index
      Returns:
      molar component flow in mol/hr
    • getLiquidComponentFlow

      double getLiquidComponentFlow(int trayIndex, int componentIndex)
      Get liquid component flow.
      Parameters:
      trayIndex - tray index
      componentIndex - component index
      Returns:
      molar component flow in mol/hr
    • getFeedComponentFlow

      double getFeedComponentFlow(int trayIndex, int componentIndex)
      Get feed component flow.
      Parameters:
      trayIndex - tray index
      componentIndex - component index
      Returns:
      molar component flow in mol/hr
    • getVaporMoleFraction

      double getVaporMoleFraction(int trayIndex, int componentIndex)
      Get vapor mole fraction.
      Parameters:
      trayIndex - tray index
      componentIndex - component index
      Returns:
      vapor mole fraction
    • getLiquidMoleFraction

      double getLiquidMoleFraction(int trayIndex, int componentIndex)
      Get liquid mole fraction.
      Parameters:
      trayIndex - tray index
      componentIndex - component index
      Returns:
      liquid mole fraction
    • getVaporFlow

      double getVaporFlow(int trayIndex)
      Get vapor flow rate.
      Parameters:
      trayIndex - tray index
      Returns:
      vapor flow in mol/hr
    • getLiquidFlow

      double getLiquidFlow(int trayIndex)
      Get liquid flow rate.
      Parameters:
      trayIndex - tray index
      Returns:
      liquid flow in mol/hr
    • getMinimumScale

      static double getMinimumScale()
      Get the minimum scale used in residual normalization.
      Returns:
      small positive scale