Class SolidsSeparator
java.lang.Object
neqsim.util.NamedBaseClass
neqsim.process.SimulationBaseClass
neqsim.process.equipment.ProcessEquipmentBaseClass
neqsim.process.equipment.separator.SolidsSeparator
- All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, ProcessElementInterface, SimulationInterface, NamedInterface
- Direct Known Subclasses:
PressureFilter, RotaryVacuumFilter, ScrewPress, SolidsCentrifuge
Solids separator for bio-processing applications.
Separates a feed stream into a solids-rich (cake/retentate) stream and a liquid-clear (filtrate/permeate) stream. The separation is based on component-specific split fractions that define what fraction of each component goes to the solids outlet.
This is the base class for various solids-liquid separation equipment such as centrifuges, rotary vacuum filters, pressure filters, and screw presses. Subclasses can override the defaults for energy consumption and efficiency.
Usage example:
SolidsSeparator centrifuge = new SolidsSeparator("Centrifuge", feedStream);
centrifuge.setSolidsSplitFraction("cell_mass", 0.99); // 99% recovery
centrifuge.setSolidsSplitFraction("fiber", 0.95);
centrifuge.setMoistureContent(0.40); // 40% moisture in cake
centrifuge.run();
StreamInterface cake = centrifuge.getSolidsOutStream();
StreamInterface filtrate = centrifuge.getLiquidOutStream();
- Version:
- 1.0
- Author:
- NeqSim team
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleDefault split fraction to solids outlet for components not explicitly specified.protected StringEquipment type string for reporting.protected StreamInterfaceInlet feed stream.protected StreamInterfaceLiquid-clear outlet stream (filtrate/permeate).private static final org.apache.logging.log4j.LoggerLogger object for class.private doubleTarget moisture content (mass fraction) in the solids cake.private doubleCalculated power consumption in kW.private doublePressure drop across the separator in bar.private static final longSerialization version UID.protected StreamInterfaceSolids-rich outlet stream (cake/retentate).Component-specific split fraction to solids outlet.private doubleSpecific energy consumption in kWh per m3 of feed.Fields inherited from class ProcessEquipmentBaseClass
conditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportFields inherited from class SimulationBaseClass
calcIdentifier, calculateSteadyState, timeFields inherited from class NamedBaseClass
name -
Constructor Summary
ConstructorsConstructorDescriptionSolidsSeparator(String name) Constructor for SolidsSeparator.SolidsSeparator(String name, StreamInterface inletStream) Constructor for SolidsSeparator with inlet stream. -
Method Summary
Modifier and TypeMethodDescriptiondoubleGet the default solids split fraction.Get the inlet stream.Get the liquid-clear outlet stream.doubleGet the moisture content of the cake.doubleGet the calculated power consumption in kW.doubleGet the pressure drop.Get the solids-rich outlet stream.doublegetSolidsSplitFraction(String componentName) Get the solids split fraction for a component.doubleGet the specific energy consumption.voidIn this method all thermodynamic and unit operations will be calculated in a steady state calculation.voidsetDefaultSolidsSplit(double fraction) Set the default split fraction for components not explicitly specified.voidsetInletStream(StreamInterface inletStream) Set the inlet feed stream.voidsetMoistureContent(double moistureFraction) Set the target moisture content of the solids cake.voidsetPressureDrop(double dP) Set the pressure drop across the separator.voidsetSolidsSplitFraction(String componentName, double fraction) Set the fraction of a specific component going to the solids outlet.voidsetSpecificEnergy(double energy) Set specific energy consumption.toJson()Serializes the Process Equipment along with its state to a JSON string.toMap()Get a map representation of this separator.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, 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, 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, getInletStreams, getInstrumentDesign, getOperatingEnvelopeViolation, getOutletFlowRate, getOutletPressure, getOutletStreams, getOutletTemperature, getReferenceDesignationString, getRestCapacity, getSimulationValidationErrors, isSimulationValid, isWithinOperatingEnvelope, needRecalculation, validateSetupMethods inherited from interface SimulationInterface
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, run, run_step, runTransient, runTransient, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTime
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
logger
private static final org.apache.logging.log4j.Logger loggerLogger object for class. -
inletStream
Inlet feed stream. -
solidsOutStream
Solids-rich outlet stream (cake/retentate). -
liquidOutStream
Liquid-clear outlet stream (filtrate/permeate). -
solidsSplitFractions
Component-specific split fraction to solids outlet. Keys are component names, values are fractions (0-1) going to solids outlet. Components not listed default todefaultSolidsSplit. -
defaultSolidsSplit
private double defaultSolidsSplitDefault split fraction to solids outlet for components not explicitly specified. -
moistureContent
private double moistureContentTarget moisture content (mass fraction) in the solids cake. -
pressureDrop
private double pressureDropPressure drop across the separator in bar. -
specificEnergy
private double specificEnergySpecific energy consumption in kWh per m3 of feed. -
powerConsumption
private double powerConsumptionCalculated power consumption in kW. -
equipmentType
Equipment type string for reporting.
-
-
Constructor Details
-
SolidsSeparator
Constructor for SolidsSeparator.- Parameters:
name- name of the separator
-
SolidsSeparator
Constructor for SolidsSeparator with inlet stream.- Parameters:
name- name of the separatorinletStream- the feed stream to separate
-
-
Method Details
-
setInletStream
Set the inlet feed stream.- Parameters:
inletStream- the feed stream
-
getInletStream
-
getSolidsOutStream
Get the solids-rich outlet stream.- Returns:
- solids outlet stream
-
getLiquidOutStream
Get the liquid-clear outlet stream.- Returns:
- liquid outlet stream
-
setSolidsSplitFraction
Set the fraction of a specific component going to the solids outlet.- Parameters:
componentName- name of the componentfraction- fraction going to solids (0.0 to 1.0)
-
getSolidsSplitFraction
Get the solids split fraction for a component.- Parameters:
componentName- component name- Returns:
- split fraction (0.0 to 1.0)
-
setDefaultSolidsSplit
public void setDefaultSolidsSplit(double fraction) Set the default split fraction for components not explicitly specified.- Parameters:
fraction- default fraction to solids (0.0 to 1.0)
-
getDefaultSolidsSplit
public double getDefaultSolidsSplit()Get the default solids split fraction.- Returns:
- default split fraction
-
setMoistureContent
public void setMoistureContent(double moistureFraction) Set the target moisture content of the solids cake.- Parameters:
moistureFraction- mass fraction of liquid in cake (0.0 to 1.0)
-
getMoistureContent
public double getMoistureContent()Get the moisture content of the cake.- Returns:
- moisture mass fraction
-
setPressureDrop
public void setPressureDrop(double dP) Set the pressure drop across the separator.- Parameters:
dP- pressure drop in bar
-
getPressureDrop
public double getPressureDrop()Get the pressure drop.- Returns:
- pressure drop in bar
-
setSpecificEnergy
public void setSpecificEnergy(double energy) Set specific energy consumption.- Parameters:
energy- specific energy in kWh/m3
-
getSpecificEnergy
public double getSpecificEnergy()Get the specific energy consumption.- Returns:
- energy in kWh/m3
-
getPowerConsumption
public double getPowerConsumption()Get the calculated power consumption in kW.- Returns:
- power in kW
-
run
In this method all thermodynamic and unit operations will be calculated in a steady state calculation.
- Parameters:
id- UUID
-
toJson
Serializes the Process Equipment along with its state to a JSON string.
- Specified by:
toJsonin interfaceProcessEquipmentInterface- Overrides:
toJsonin classProcessEquipmentBaseClass- Returns:
- json string.
-
toMap
-