Class Dryer

All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, ProcessElementInterface, SimulationInterface, NamedInterface

public class Dryer extends ProcessEquipmentBaseClass
Dryer for removing moisture from wet solids or liquid streams.

Models various drying equipment including drum dryers, spray dryers, and flash dryers. The dryer evaporates a specified amount of volatile components (typically water) from the feed to achieve a target moisture content or outlet temperature.

The drying process is modeled as a heated flash: the feed is heated to generate vapor, which is separated from the dried product. The energy input determines how much moisture is removed.

Usage example:

Dryer dryer = new Dryer("Product Dryer", wetFeedStream);
dryer.setDryerType("drum");
dryer.setOutletTemperature(273.15 + 105.0); // 105 C
dryer.setTargetMoistureContent(0.05); // 5% moisture
dryer.run();

StreamInterface driedProduct = dryer.getDriedProductStream();
StreamInterface vapor = dryer.getVaporStream();
Version:
1.0
Author:
NeqSim team
See Also:
  • Field Details

    • serialVersionUID

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

      private static final org.apache.logging.log4j.Logger logger
      Logger object for class.
    • inletStream

      private StreamInterface inletStream
      Inlet wet feed stream.
    • driedProductStream

      private StreamInterface driedProductStream
      Dried product outlet stream.
    • vaporStream

      private StreamInterface vaporStream
      Vapor (moisture) outlet stream.
    • dryerType

      private String dryerType
      Type of dryer: "drum", "spray", "flash", "rotary".
    • outletTemperature

      private double outletTemperature
      Outlet temperature of the dried product in Kelvin.
    • targetMoistureContent

      private double targetMoistureContent
      Target moisture content (mass fraction) in dried product.
    • heatingTemperature

      private double heatingTemperature
      Heating medium temperature (steam) in Kelvin.
    • overallHeatTransferCoefficient

      private double overallHeatTransferCoefficient
      Overall heat transfer coefficient in W/(m2*K).
    • heatTransferArea

      private double heatTransferArea
      Heat transfer area in m2.
    • thermalEfficiency

      private double thermalEfficiency
      Thermal efficiency (fraction of heat input used for evaporation).
    • heatDuty

      private double heatDuty
      Heat duty for drying in Watts.
    • specificEnergy

      private double specificEnergy
      Specific energy consumption in kWh per kg water evaporated.
    • pressureDrop

      private double pressureDrop
      Pressure drop in bar.
  • Constructor Details

    • Dryer

      public Dryer(String name)
      Constructor for Dryer.
      Parameters:
      name - name of the dryer
    • Dryer

      public Dryer(String name, StreamInterface inletStream)
      Constructor for Dryer with inlet stream.
      Parameters:
      name - name of the dryer
      inletStream - the wet feed stream
  • Method Details

    • setInletStream

      public void setInletStream(StreamInterface inletStream)
      Set the inlet stream.
      Parameters:
      inletStream - the feed stream
    • getInletStream

      public StreamInterface getInletStream()
      Get the inlet stream.
      Returns:
      inlet stream
    • getDriedProductStream

      public StreamInterface getDriedProductStream()
      Get the dried product stream.
      Returns:
      dried product stream
    • getVaporStream

      public StreamInterface getVaporStream()
      Get the vapor (moisture) stream.
      Returns:
      vapor stream
    • getInletStreams

      public List<StreamInterface> 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 without instanceof checks.
      Returns:
      unmodifiable list of inlet streams (empty by default)
    • getOutletStreams

      public List<StreamInterface> 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 without instanceof checks.
      Returns:
      unmodifiable list of outlet streams (empty by default)
    • setDryerType

      public void setDryerType(String type)
      Set the dryer type.
      Parameters:
      type - dryer type: "drum", "spray", "flash", "rotary"
    • getDryerType

      public String getDryerType()
      Get the dryer type.
      Returns:
      dryer type
    • setOutletTemperature

      public void setOutletTemperature(double temperatureK)
      Set the outlet temperature of dried product.
      Parameters:
      temperatureK - temperature in Kelvin
    • setOutletTemperature

      public void setOutletTemperature(double temperature, String unit)
      Set the outlet temperature with unit.
      Parameters:
      temperature - temperature value
      unit - temperature unit ("K", "C", "F")
    • getOutletTemperature

      public double getOutletTemperature()
      Get the outlet temperature in Kelvin.
      Returns:
      outlet temperature
    • setTargetMoistureContent

      public void setTargetMoistureContent(double moistureFraction)
      Set the target moisture content in the dried product.
      Parameters:
      moistureFraction - mass fraction of moisture (0.0 to 1.0)
    • getTargetMoistureContent

      public double getTargetMoistureContent()
      Get the target moisture content.
      Returns:
      target moisture fraction
    • setThermalEfficiency

      public void setThermalEfficiency(double efficiency)
      Set the thermal efficiency.
      Parameters:
      efficiency - efficiency fraction (0.0 to 1.0)
    • getThermalEfficiency

      public double getThermalEfficiency()
      Get the thermal efficiency.
      Returns:
      thermal efficiency
    • setPressureDrop

      public void setPressureDrop(double dP)
      Set the pressure drop.
      Parameters:
      dP - pressure drop in bar
    • getPressureDrop

      public double getPressureDrop()
      Get the pressure drop.
      Returns:
      pressure drop in bar
    • getHeatDuty

      public double getHeatDuty()
      Get the heat duty for drying.
      Returns:
      heat duty in Watts
    • getHeatDuty

      public double getHeatDuty(String unit)
      Get the heat duty in the specified unit.
      Parameters:
      unit - unit ("W", "kW", "MW")
      Returns:
      heat duty
    • getSpecificEnergy

      public double getSpecificEnergy()
      Get the specific energy consumption.
      Returns:
      specific energy in kWh/kg water evaporated
    • run

      public void run(UUID id)

      In this method all thermodynamic and unit operations will be calculated in a steady state calculation.

      Parameters:
      id - UUID
    • toJson

      public String toJson()

      Serializes the Process Equipment along with its state to a JSON string.

      Specified by:
      toJson in interface ProcessEquipmentInterface
      Overrides:
      toJson in class ProcessEquipmentBaseClass
      Returns:
      json string.
    • toMap

      private Map<String,Object> toMap()
      Get a map representation of the dryer.
      Returns:
      map of properties