Class ColumnMeshState
java.lang.Object
neqsim.process.equipment.distillation.ColumnMeshState
- All Implemented Interfaces:
Serializable
Snapshot of tray variables used by distillation MESH residual diagnostics.
- Version:
- 1.0
- Author:
- esol
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final String[]Component names included in the state vector.private final double[][]Feed component molar flow per tray and component in mol/hr.private final double[][]Liquid component molar flow per tray and component in mol/hr.private final double[]Liquid molar flow per tray in mol/hr.private final double[][]Liquid mole fractions per tray and component.private static final doubleSmall positive value used to avoid division by zero.private static final longSerialization version UID.private final double[]Tray temperatures in Kelvin.private final double[][]Vapor component molar flow per tray and component in mol/hr.private final double[]Vapor molar flow per tray in mol/hr.private final double[][]Vapor mole fractions per tray and component. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateColumnMeshState(String[] componentNames, double[] trayTemperatures, double[] vaporFlowsMolHr, double[] liquidFlowsMolHr, double[][] vaporComponentFlowsMolHr, double[][] liquidComponentFlowsMolHr, double[][] feedComponentFlowsMolHr, double[][] vaporMoleFractions, double[][] liquidMoleFractions) Create a state snapshot. -
Method Summary
Modifier and TypeMethodDescriptionprivate static doublecomponentFlow(StreamInterface stream, String componentName) Get a component flow from a stream.private static doublecomponentFraction(StreamInterface stream, String componentName) Get a component mole fraction from a stream.private static String[]componentNames(StreamInterface stream) Get component names from a stream.private static double[][]copy(double[][] values) Copy a two-dimensional double array.private static doubleflowRate(StreamInterface stream, String unit) Get a total stream flow rate.(package private) static ColumnMeshStatefrom(DistillationColumn column) Build a state snapshot from a distillation column.(package private) intGet component count.(package private) String[]Get component names.(package private) doublegetFeedComponentFlow(int trayIndex, int componentIndex) Get feed component flow.(package private) doublegetLiquidComponentFlow(int trayIndex, int componentIndex) Get liquid component flow.(package private) doublegetLiquidFlow(int trayIndex) Get liquid flow rate.(package private) doublegetLiquidMoleFraction(int trayIndex, int componentIndex) Get liquid mole fraction.(package private) static doubleGet the minimum scale used in residual normalization.(package private) intGet tray count.(package private) double[]Get tray temperatures.(package private) doublegetVaporComponentFlow(int trayIndex, int componentIndex) Get vapor component flow.(package private) doublegetVaporFlow(int trayIndex) Get vapor flow rate.(package private) doublegetVaporMoleFraction(int trayIndex, int componentIndex) Get vapor mole fraction.private static String[]Resolve component names from available column products and tray states.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
MIN_SCALE
private static final double MIN_SCALESmall positive value used to avoid division by zero.- See Also:
-
componentNames
Component names included in the state vector. -
trayTemperatures
private final double[] trayTemperaturesTray temperatures in Kelvin. -
vaporFlowsMolHr
private final double[] vaporFlowsMolHrVapor molar flow per tray in mol/hr. -
liquidFlowsMolHr
private final double[] liquidFlowsMolHrLiquid molar flow per tray in mol/hr. -
vaporComponentFlowsMolHr
private final double[][] vaporComponentFlowsMolHrVapor component molar flow per tray and component in mol/hr. -
liquidComponentFlowsMolHr
private final double[][] liquidComponentFlowsMolHrLiquid component molar flow per tray and component in mol/hr. -
feedComponentFlowsMolHr
private final double[][] feedComponentFlowsMolHrFeed component molar flow per tray and component in mol/hr. -
vaporMoleFractions
private final double[][] vaporMoleFractionsVapor mole fractions per tray and component. -
liquidMoleFractions
private final double[][] liquidMoleFractionsLiquid 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 statetrayTemperatures- tray temperatures in KelvinvaporFlowsMolHr- vapor molar flows in mol/hrliquidFlowsMolHr- liquid molar flows in mol/hrvaporComponentFlowsMolHr- vapor component flows in mol/hrliquidComponentFlowsMolHr- liquid component flows in mol/hrfeedComponentFlowsMolHr- feed component flows in mol/hrvaporMoleFractions- vapor mole fractionsliquidMoleFractions- liquid mole fractions
-
-
Method Details
-
from
Build a state snapshot from a distillation column.- Parameters:
column- the column to inspect- Returns:
- state snapshot for residual evaluation
-
resolveComponentNames
Resolve component names from available column products and tray states.- Parameters:
column- column to inspect- Returns:
- component names
-
componentNames
Get component names from a stream.- Parameters:
stream- stream to inspect- Returns:
- component names or an empty array
-
flowRate
Get a total stream flow rate.- Parameters:
stream- stream to inspectunit- unit for flow- Returns:
- flow rate, or zero if unavailable
-
componentFlow
Get a component flow from a stream.- Parameters:
stream- stream to inspectcomponentName- component name- Returns:
- component molar flow in mol/hr, or zero if unavailable
-
componentFraction
Get a component mole fraction from a stream.- Parameters:
stream- stream to inspectcomponentName- 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
-
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 indexcomponentIndex- component index- Returns:
- molar component flow in mol/hr
-
getLiquidComponentFlow
double getLiquidComponentFlow(int trayIndex, int componentIndex) Get liquid component flow.- Parameters:
trayIndex- tray indexcomponentIndex- component index- Returns:
- molar component flow in mol/hr
-
getFeedComponentFlow
double getFeedComponentFlow(int trayIndex, int componentIndex) Get feed component flow.- Parameters:
trayIndex- tray indexcomponentIndex- component index- Returns:
- molar component flow in mol/hr
-
getVaporMoleFraction
double getVaporMoleFraction(int trayIndex, int componentIndex) Get vapor mole fraction.- Parameters:
trayIndex- tray indexcomponentIndex- component index- Returns:
- vapor mole fraction
-
getLiquidMoleFraction
double getLiquidMoleFraction(int trayIndex, int componentIndex) Get liquid mole fraction.- Parameters:
trayIndex- tray indexcomponentIndex- 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
-