modelConstantEffectiveness

Heat exchanger with constant effectiveness

Extends from Buildings.Fluid.HeatExchangers.BaseClasses.PartialEffectiveness (Partial model to implement heat exchangers based on effectiveness model).

Information

Model for a heat exchanger with constant effectiveness.

This model transfers heat in the amount of

Q = Qmax ε,

where ε is a constant effectiveness and Qmax is the maximum heat that can be transferred.

For a heat and moisture exchanger, use Buildings.Fluid.MassExchangers.ConstantEffectiveness instead of this model.

Parameters

TypeNameDefaultDescription
BooleanprescribedHeatFlowRate1 (from StaticFourPortHeatMassExchanger)falseSet to true if the heat flow rate into fluid 1 is not a function of the component temperature
BooleanprescribedHeatFlowRate2 (from StaticFourPortHeatMassExchanger)falseSet to true if the heat flow rate into fluid 2 is not a function of the component temperature
BooleanhomotopyInitialization (from StaticFourPortHeatMassExchanger)true= true, use homotopy method
BooleansensibleOnly1 (from StaticFourPortHeatMassExchanger)Set to true if sensible exchange only for medium 1
BooleansensibleOnly2 (from StaticFourPortHeatMassExchanger)Set to true if sensible exchange only for medium 2
Modelica.Units.SI.Efficiencyeps0.8Heat exchanger effectiveness
Assumptions
BooleanallowFlowReversal1 (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1
BooleanallowFlowReversal2 (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2
Nominal condition
Modelica.Units.SI.MassFlowRatem1_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Modelica.Units.SI.MassFlowRatem2_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Modelica.Units.SI.PressureDifferencedp1_nominal (from FourPortFlowResistanceParameters)Pressure difference
Modelica.Units.SI.PressureDifferencedp2_nominal (from FourPortFlowResistanceParameters)Pressure difference
Advanced
Medium1.MassFlowRatem1_flow_small (from PartialFourPortInterface)1E-4*abs(m1_flow_nominal)Small mass flow rate for regularization of zero flow
Medium2.MassFlowRatem2_flow_small (from PartialFourPortInterface)1E-4*abs(m2_flow_nominal)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from PartialFourPortInterface)false= true, if actual temperature at port is computed
Flow resistance › Medium 1
BooleancomputeFlowResistance1 (from FourPortFlowResistanceParameters)true=true, compute flow resistance. Set to false to assume no friction
Booleanfrom_dp1 (from FourPortFlowResistanceParameters)false= true, use m_flow = f(dp) else dp = f(m_flow)
Realn1 (from FourPortFlowResistanceParameters)2Flow exponent for side 1, n=1 for laminar, n=2 for turbulent
BooleanlinearizeFlowResistance1 (from FourPortFlowResistanceParameters)false= true, use linear relation between m_flow and dp for any flow rate
RealdeltaM1 (from FourPortFlowResistanceParameters)0.1Fraction of nominal flow rate where flow transitions to laminar
Flow resistance › Medium 2
BooleancomputeFlowResistance2 (from FourPortFlowResistanceParameters)true=true, compute flow resistance. Set to false to assume no friction
Booleanfrom_dp2 (from FourPortFlowResistanceParameters)false= true, use m_flow = f(dp) else dp = f(m_flow)
Realn2 (from FourPortFlowResistanceParameters)2Flow exponent for side 2, n=1 for laminar, n=2 for turbulent
BooleanlinearizeFlowResistance2 (from FourPortFlowResistanceParameters)false= true, use linear relation between m_flow and dp for any flow rate
RealdeltaM2 (from FourPortFlowResistanceParameters)0.1Fraction of nominal flow rate where flow transitions to laminar

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a1 (from PartialFourPort)Fluid connector a1 (positive design flow direction is from port_a1 to port_b1)
Modelica.Fluid.Interfaces.FluidPort_bport_b1 (from PartialFourPort)Fluid connector b1 (positive design flow direction is from port_a1 to port_b1)
Modelica.Fluid.Interfaces.FluidPort_aport_a2 (from PartialFourPort)Fluid connector a2 (positive design flow direction is from port_a2 to port_b2)
Modelica.Fluid.Interfaces.FluidPort_bport_b2 (from PartialFourPort)Fluid connector b2 (positive design flow direction is from port_a2 to port_b2)

Components

TypeNameDefaultDescription
Medium1.MassFlowRatem1_flow (from PartialFourPortInterface)port_a1.m_flowMass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp1 (from PartialFourPortInterface)port_a1.p - port_b1.pPressure difference between port_a1 and port_b1
Medium2.MassFlowRatem2_flow (from PartialFourPortInterface)port_a2.m_flowMass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp2 (from PartialFourPortInterface)port_a2.p - port_b2.pPressure difference between port_a2 and port_b2
Medium1.ThermodynamicStatesta_a1 (from PartialFourPortInterface)if allowFlowReversal1 then Medium1.setState_phX(port_a1.p, noEvent(actualStream(port_a1.h_outflow)), noEvent(actualStream(port_a1.Xi_outflow))) else Medium1.setState_phX(port_a1.p, inStream(port_a1.h_outflow), inStream(port_a1.Xi_outflow))Medium properties in port_a1
Medium1.ThermodynamicStatesta_b1 (from PartialFourPortInterface)if allowFlowReversal1 then Medium1.setState_phX(port_b1.p, noEvent(actualStream(port_b1.h_outflow)), noEvent(actualStream(port_b1.Xi_outflow))) else Medium1.setState_phX(port_b1.p, port_b1.h_outflow, port_b1.Xi_outflow)Medium properties in port_b1
Medium2.ThermodynamicStatesta_a2 (from PartialFourPortInterface)if allowFlowReversal2 then Medium2.setState_phX(port_a2.p, noEvent(actualStream(port_a2.h_outflow)), noEvent(actualStream(port_a2.Xi_outflow))) else Medium2.setState_phX(port_a2.p, inStream(port_a2.h_outflow), inStream(port_a2.Xi_outflow))Medium properties in port_a2
Medium2.ThermodynamicStatesta_b2 (from PartialFourPortInterface)if allowFlowReversal2 then Medium2.setState_phX(port_b2.p, noEvent(actualStream(port_b2.h_outflow)), noEvent(actualStream(port_b2.Xi_outflow))) else Medium2.setState_phX(port_b2.p, port_b2.h_outflow, port_b2.Xi_outflow)Medium properties in port_b2
Modelica.Units.SI.HeatFlowRateQ1_flow (from StaticFourPortHeatMassExchanger)Heat transferred into the medium 1
Medium1.MassFlowRatemWat1_flow (from StaticFourPortHeatMassExchanger)Moisture mass flow rate added to the medium 1
Modelica.Units.SI.HeatFlowRateQ2_flow (from StaticFourPortHeatMassExchanger)Heat transferred into the medium 2
Medium2.MassFlowRatemWat2_flow (from StaticFourPortHeatMassExchanger)Moisture mass flow rate added to the medium 2
Medium1.TemperatureT_in1 (from PartialEffectiveness)if allowFlowReversal1 then fra_a1*Medium1.temperature(state_a1_inflow) + fra_b1*Medium1.temperature(state_b1_inflow) else Medium1.temperature(state_a1_inflow)Inlet temperature medium 1
Medium2.TemperatureT_in2 (from PartialEffectiveness)if allowFlowReversal2 then fra_a2*Medium2.temperature(state_a2_inflow) + fra_b2*Medium2.temperature(state_b2_inflow) else Medium2.temperature(state_a2_inflow)Inlet temperature medium 2
Modelica.Units.SI.ThermalConductanceC1_flow (from PartialEffectiveness)abs(m1_flow)*(if allowFlowReversal1 then fra_a1*Medium1.specificHeatCapacityCp(state_a1_inflow) + fra_b1*Medium1.specificHeatCapacityCp(state_b1_inflow) else Medium1.specificHeatCapacityCp(state_a1_inflow))Heat capacity flow rate medium 1
Modelica.Units.SI.ThermalConductanceC2_flow (from PartialEffectiveness)abs(m2_flow)*(if allowFlowReversal2 then fra_a2*Medium2.specificHeatCapacityCp(state_a2_inflow) + fra_b2*Medium2.specificHeatCapacityCp(state_b2_inflow) else Medium2.specificHeatCapacityCp(state_a2_inflow))Heat capacity flow rate medium 2
Modelica.Units.SI.ThermalConductanceCMin_flow (from PartialEffectiveness)min(C1_flow, C2_flow)Minimum heat capacity flow rate
Modelica.Units.SI.HeatFlowRateQMax_flow (from PartialEffectiveness)CMin_flow*(T_in2 - T_in1)Maximum heat flow rate into medium 1

Revisions

  • August 13, 2013 by Michael Wetter:
    Corrected error in the documentation.
  • July 30, 2013 by Michael Wetter:
    Updated model to use new variable mWat_flow in the base class.
  • January 28, 2010, by Michael Wetter:
    Added regularization near zero flow.
  • October 2, 2009, by Michael Wetter:
    Changed computation of inlet temperatures to use state_*_inflow which is already known in base class.
  • April 28, 2008, by Michael Wetter:
    First implementation.