Class MembraneSeparator
java.lang.Object
neqsim.util.NamedBaseClass
neqsim.process.SimulationBaseClass
neqsim.process.equipment.ProcessEquipmentBaseClass
neqsim.process.equipment.membrane.MembraneSeparator
- All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, ProcessElementInterface, SimulationInterface, NamedInterface
Simple membrane separation unit with one inlet stream and two outlet streams
(retentate and
permeate). Each component can be assigned a permeate fraction representing
the fraction of that
component transported to the permeate side.
- Author:
- esol
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleprivate StreamInterfaceprivate static final org.apache.logging.log4j.Loggerprivate doubleprivate StreamInterfaceprivate StreamInterfaceprivate static final longFields inherited from class ProcessEquipmentBaseClass
conditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportFields inherited from class SimulationBaseClass
calcIdentifier, calculateSteadyState, timeFields inherited from class NamedBaseClass
name -
Constructor Summary
ConstructorsConstructorDescriptionMembraneSeparator(String name) Constructor for MembraneSeparator.MembraneSeparator(String name, StreamInterface inletStream) Constructor for MembraneSeparator. -
Method Summary
Modifier and TypeMethodDescriptionvoidRemove any permeate fractions set previously.Gets the inlet stream.Returns all inlet streams connected to this equipment.doublegetMassBalance(String unit) getMassBalance.doubleGets the membrane area.Returns all outlet streams produced by this equipment.Getter for the fieldpermeateStream.Getter for the fieldretentateStream.booleanCheck if process equipment needs recalculating.voidIn this method all thermodynamic and unit operations will be calculated in a steady state calculation.voidrunTransient(double dt, UUID id) runTransientvoidsetDefaultPermeateFraction(double fraction) Set a global permeate fraction used for all components not explicitly set.voidsetInletStream(StreamInterface inletStream) Setter for the fieldinletStream.voidsetMembraneArea(double area) Set membrane area used for permeability calculations.voidsetPermeability(String component, double permeability) Specify permeability coefficient for a component.voidsetPermeateFraction(String component, double fraction) Specify permeate fraction for a component.Methods inherited from class ProcessEquipmentBaseClass
addCapacityConstraint, addController, copy, displayResult, equals, getAvailableMargin, getAvailableMarginPercent, getBottleneckConstraint, getCapacityConstraints, getConditionAnalysisMessage, getConstraintEvaluationReport, getController, getController, getControllers, getEffectiveCapacityFactor, getEnergyStream, getEntropyProduction, getExergyChange, getFailureMode, getMassBalance, getMaxUtilization, getMaxUtilizationPercent, getMechanicalDesign, getMinimumFlow, getPressure, getPressure, getProperty, getReferenceDesignation, getReport_json, getResultTable, getSpecification, getTemperature, getTemperature, getThermoSystem, getUtilizationSummary, hashCode, initElectricalDesign, initializeDefaultConstraints, initInstrumentDesign, initMechanicalDesign, isActive, isActive, isCapacityAnalysisEnabled, isCapacityExceeded, isFailed, isHardLimitExceeded, isNearCapacityLimit, isSetEnergyStream, reportResults, restoreFromFailure, run_step, runConditionAnalysis, setCapacityAnalysisEnabled, setController, setEnergyStream, setEnergyStream, setFailureMode, setFlowValveController, setMinimumFlow, setPressure, setReferenceDesignation, setRegulatorOutSignal, setSpecification, setTemperature, simulateDegradedOperation, simulateTrip, solved, toJson, toJsonMethods inherited from class SimulationBaseClass
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimeMethods inherited from class NamedBaseClass
getName, getTagNumber, setName, setTagNumberMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface NamedInterface
getName, getTagName, getTagNumber, setName, setTagName, setTagNumberMethods inherited from interface ProcessEquipmentInterface
getCapacityDuty, getCapacityMax, getElectricalDesign, getEquipmentState, getExergyChange, getExergyDestruction, getExergyDestruction, getFluid, getInstrumentDesign, getOperatingEnvelopeViolation, getOutletFlowRate, getOutletPressure, getOutletTemperature, getReferenceDesignationString, getRestCapacity, getSimulationValidationErrors, isSimulationValid, isWithinOperatingEnvelope, validateSetupMethods inherited from interface SimulationInterface
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, run, run_step, runTransient, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTime
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
logger
private static final org.apache.logging.log4j.Logger logger -
inletStream
-
permeateStream
-
retentateStream
-
permeateFractions
-
permeabilities
-
defaultPermeateFraction
private double defaultPermeateFraction -
membraneArea
private double membraneArea
-
-
Constructor Details
-
MembraneSeparator
-
MembraneSeparator
Constructor for MembraneSeparator.
- Parameters:
name- aStringobjectinletStream- aStreamInterfaceobject
-
-
Method Details
-
setInletStream
Setter for the field
inletStream.- Parameters:
inletStream- aStreamInterfaceobject
-
getPermeateStream
Getter for the field
permeateStream.- Returns:
- a
StreamInterfaceobject
-
getInletStream
-
getRetentateStream
Getter for the field
retentateStream.- Returns:
- a
StreamInterfaceobject
-
getInletStreams
Returns all inlet streams connected to this equipment. Subclasses override to report their specific inlets. Used by graph builders, DEXPI export, and auto-instrumentation to discover topology withoutinstanceofchecks.- Returns:
- unmodifiable list of inlet streams (empty by default)
-
getOutletStreams
Returns all outlet streams produced by this equipment. Subclasses override to report their specific outlets. Used by graph builders, DEXPI export, and auto-instrumentation to discover topology withoutinstanceofchecks.- Returns:
- unmodifiable list of outlet streams (empty by default)
-
setMembraneArea
public void setMembraneArea(double area) Set membrane area used for permeability calculations.- Parameters:
area- membrane area in m^2
-
getMembraneArea
public double getMembraneArea()Gets the membrane area.- Returns:
- membrane area in m^2
-
setPermeability
Specify permeability coefficient for a component.- Parameters:
component- component namepermeability- permeability in mol/(m2*s*Pa)
-
clearPermeateFractions
public void clearPermeateFractions()Remove any permeate fractions set previously. -
setDefaultPermeateFraction
public void setDefaultPermeateFraction(double fraction) Set a global permeate fraction used for all components not explicitly set.- Parameters:
fraction- permeate fraction (0-1)
-
setPermeateFraction
Specify permeate fraction for a component.- Parameters:
component- component namefraction- permeate fraction (0-1)
-
needRecalculation
public boolean needRecalculation()Check if process equipment needs recalculating.
- Returns:
- true or false
-
run
In this method all thermodynamic and unit operations will be calculated in a steady state calculation.
- Parameters:
id- UUID
-
runTransient
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
-
getMassBalance
getMassBalance.
- Specified by:
getMassBalancein interfaceProcessEquipmentInterface- Overrides:
getMassBalancein classProcessEquipmentBaseClass- Parameters:
unit- aStringobject- Returns:
- a double
-