Plate Heat Exchanger

The thermal model of IDAES Plate Heat Exchanger (PHE) as part of the MEA scrubbing process for post-combustion carbon capture (PCC) is based on the Effectiveness-Number of Transfer Units (e-NTU) approach. In amine-based PCC, the rich solvent leaving the absorber is pre-heated in the PHE using heat recovered from the lean solvent leaving the stripper to reduce the regeneration energy requirement. In the PHE unit, the series of plates stacked together form channels where hot and cold fluids flow alternatively as shown in Figure 1(A). Divider plates enable the partitioning of PHEs into different operating zones. The main dimensions of a gasket plate are shown in Figure 1(B). The PHE is a viable alternative to the conventional Shell and Tube Heat Exchanger specifically because of its lower approach temperature difference capability. For more information on the PHE model see Akula et al. (2019).

Z-configuration Plate Heat Exchanger with P passes

Figure 1(A). Z-configuration Plate Heat Exchanger with P passes

Basic details of a Chevron Plate

Figure 1(B). Basic details of a Chevron Plate

Degrees of Freedom

Once the configuration parameters (construction arguments of the PHE Class) have been specified, the PHE unit model has 12 degrees of freedom which are the operating parameters as listed in the Specification Table below. The indexed components for mole_frac_comp are H2O, MEA and CO2.

Specification

Variable Name

Description

Units

Configuration parameters

passes

Number of passes of the fluids

None

channel_list

Number of channels in each pass as a list

None

divider_plate_number

Number of divider plates

None

port_diameter

Diameter of the plate ports (Dp)

\(m\)

plate_thermal_cond

Thermal conductivity of the plate material

\(W/m.K\)

total_area

Total heat transfer area as specified by the manufacturer

\(m^{2}\)

plate_thickness

Plate thickness

\(m\)

plate_vertical_dist

Vertical distance between centers of ports (Lv)

\(m\)

plate_horizontal_dist

Horizontal distance between centers of ports (Lh)

\(m\)

plate_pact_length

Compressed plate pact length (optional)

\(m\)

surface_enlargement_factor

Ratio of single plate area obtained from the total area to the projected plate area (optional)

None

plate_gap

Distance between two adjacent plates that forms a flow channel

\(m\)

Operating parameters

hot_inlet.flow_mol

Hot fluid inlet total molar flowrate

\(mol/s\)

hot_inlet.temperature

Hot fluid inlet temperature

\(K\)

hot_inlet.pressure

Hot fluid inlet pressure

\(Pa\)

hot_inlet.mole_frac_comp

Hot fluid inlet mole fraction indexed by component

None

cold_inlet.flow_mol

Cold fluid inlet total molar flowrate

\(mol/s\)

cold_inlet.temperature

Cold fluid inlet temperature

\(K\)

cold_inlet.pressure

Cold fluid inlet pressure

\(Pa\)

cold_inlet.mole_frac_comp

Cold fluid inlet mole fraction indexed by component

None

Model Structure

The PHE unit model consists of two ControlVolume0D Blocks (named hot_side and cold_side), each with one Inlet Port (named hot_inlet and cold_inlet) and one Outlet Port (named hot_outlet and cold_outlet). The hot_side and cold_side ControlVolume0D Blocks use the Liquid Phase Property Methods which is built off of the Physical Property Package Class. The Energy balance is based on the Effectiveness Number of Transfer Units (e-NTU method) and is included as performance equations (Additional Constraints). Hence, the control volume energy balances are not added.

Additional Constraints

The PHE unit model writes additional Constraints beyond those written by the ControlVolume0D Blocks to describe the heat exchange between the rich and lean solvent for post-combustion carbon capture using MEA solvent.

PHE Class

class idaes.power_generation.carbon_capture.mea_solvent_system.unit_models.phe.PHE(*args, **kwds)
Parameters
  • rule (function) – A rule function or None. Default rule calls build().

  • concrete (bool) – If True, make this a toplevel model. Default - False.

  • ctype (str) – Pyomo ctype of the block. Default - “Block”

  • default (dict) –

    Default ProcessBlockData config

    Keys
    dynamic

    Indicates whether this model will be dynamic or not, default = useDefault. Valid values: { useDefault - get flag from parent (default = False), True - set as a dynamic model, False - set as a steady-state model.}

    has_holdup

    Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - False. Valid values: { useDefault - get flag from parent (default = False), True - construct holdup terms, False - do not construct holdup terms}

    passes

    Number of passes of the fluids through the heat exchanger

    channel_list

    Number of channels to be used in each pass where a channel is the space between two plates with a flowing fluid

    divider_plate_number

    Divider plates are used to create separate partitions in the unit. Each pass can be separated by a divider plate

    port_diameter

    Diameter of the ports on the plate for fluid entry/exit into a channel

    plate_thermal_cond

    Thermal conductivity of the plate material [W/m.K]

    total_area

    Total heat transfer area as specifed by the manufacturer

    plate_thickness

    Plate thickness

    plate_vertical_dist

    Vertical distance between centers of ports.(Top and bottom ports) (approximately equals to the plate length)

    plate_horizontal_dist

    Horizontal distance between centers of ports(Left and right ports)

    plate_pact_length

    Compressed plate pact length. Length between the Head and the Follower

    surface_enlargement_factor

    Surface enlargement factor is the ratio of single plate area (obtained from the total area) to the projected plate area

    plate_gap

    The plate gap is the distance between two adjacent plates that forms a flow channel

    hot_side

    Hot fluid config arguments

    property_package

    Property parameter object used to define property calculations default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PhysicalParameterObject - a PhysicalParameterBlock object.}

    property_package_args

    A ConfigBlock with arguments to be passed to property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}

    cold_side

    Cold fluid config arguments

    property_package

    Property parameter object used to define property calculations default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PhysicalParameterObject - a PhysicalParameterBlock object.}

    property_package_args

    A ConfigBlock with arguments to be passed to property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}

  • initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.

  • idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.

Returns

(PHE) New instance

PHEData Class

class idaes.power_generation.carbon_capture.mea_solvent_system.unit_models.phe.PHEData(component)[source]

Plate Heat Exchanger(PHE) Unit Model.

build()[source]

General build method for UnitModelBlockData. This method calls a number of sub-methods which automate the construction of expected attributes of unit models.

Inheriting models should call super().build.

Parameters

None

Returns

None

initialize(hotside_state_args=None, coldside_state_args=None, outlvl=0, solver=None, optarg=None)[source]

Initialisation routine for PHE unit (default solver ipopt)

Keyword Arguments
  • state_args – a dict of arguments to be passed to the property package(s) to provide an initial state for initialization (see documentation of the specific property package) (default = {}).

  • outlvl – sets output level of initialization routine

  • optarg – solver options dictionary object (default=None, use default solver options)

  • solver – str indicating which solver to use during initialization (default = None)

Returns

None

References

  1. Akula, P., Eslick, J., Bhattacharyya, D., & Miller, D. C. (2019). “Modelling and Parameter Estimation of a Plate Heat Exchanger as Part of a Solvent-Based Post-Combustion CO2 Capture System”, In Computer Aided Chemical Engineering (Vol. 47, pp. 47-52). Elsevier. https://doi.org/10.1016/B978-0-12-818597-1.50008-4

  2. Kakac, S., Liu, H., & Pramuanjaroenkij, A. (2012). Heat exchangers: selection, rating, and thermal design. CRC press.