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, 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.doublegetMassBalance(String unit) getMassBalance.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
copy, displayResult, equals, getConditionAnalysisMessage, getController, getEnergyStream, getEntropyProduction, getExergyChange, getMassBalance, getMechanicalDesign, getMinimumFlow, getPressure, getPressure, getProperty, getReport_json, getResultTable, getSpecification, getTemperature, getTemperature, getThermoSystem, hashCode, initMechanicalDesign, isActive, isActive, isSetEnergyStream, reportResults, run_step, runConditionAnalysis, setController, setEnergyStream, setEnergyStream, setFlowValveController, setMinimumFlow, setPressure, setRegulatorOutSignal, setSpecification, setTemperature, solved, toJson, toJsonMethods inherited from class SimulationBaseClass
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimeMethods inherited from class NamedBaseClass
getName, getTagName, setName, setTagNameMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface NamedInterface
getName, getTagName, setName, setTagNameMethods inherited from interface ProcessEquipmentInterface
getCapacityDuty, getCapacityMax, getExergyChange, getFluid, getRestCapacity, 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
-
getRetentateStream
Getter for the field
retentateStream.- Returns:
- a
StreamInterfaceobject
-
setMembraneArea
public void setMembraneArea(double area) Set membrane area used for permeability calculations.- Parameters:
area- 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
-