Class ReactiveTray

All Implemented Interfaces:
Serializable, Runnable, CapacityConstrainedEquipment, TrayInterface, MixerInterface, ProcessEquipmentInterface, ProcessElementInterface, SimulationInterface, NamedInterface

public class ReactiveTray extends SimpleTray
A distillation tray that performs reactive equilibrium (simultaneous chemical equilibrium + phase equilibrium) instead of standard VLE. Uses the Modified RAND method via ReactiveMultiphasePHflash for enthalpy-specified trays and ReactiveMultiphaseTPflash for temperature-specified trays.

This enables reactive distillation, where chemical reactions occur simultaneously with separation on each tray. The non-stoichiometric approach automatically discovers reactions from the elemental composition — no explicit reaction specification is needed.

Usage: Set reactive trays on a DistillationColumn via column.setReactive(true, startTray, endTray) to enable reactions on a range of trays (the reactive section), while keeping the rest as standard VLE trays.

Version:
1.0
Author:
copilot
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.
  • Constructor Details

    • ReactiveTray

      public ReactiveTray(String name)
      Constructor for ReactiveTray.
      Parameters:
      name - name of the tray
  • Method Details

    • run

      public void run(UUID id)

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

      Overrides the standard tray flash to use reactive equilibrium. The method follows the same structure as SimpleTray.run(UUID) but replaces PHflash with ReactiveMultiphasePHflash and TPflash with ReactiveMultiphaseTPflash.

      Specified by:
      run in interface SimulationInterface
      Overrides:
      run in class SimpleTray
      Parameters:
      id - UUID
    • runReactiveTPflash

      private void runReactiveTPflash(SystemInterface system)
      Run a reactive TP flash on the tray fluid.
      Parameters:
      system - the thermodynamic system
    • runReactivePHflash

      private void runReactivePHflash(SystemInterface system, double enthalpySpec)
      Run a reactive PH flash on the tray fluid.
      Parameters:
      system - the thermodynamic system
      enthalpySpec - the target enthalpy in J