modelIndirectEvaporativeHex
Indirect evaporative heat exchanger
Extends from IDEAS.Fluid.Interfaces.PartialFourPortInterface (Partial model with four ports and declaration of quantities that are used by many models).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | eps_adia_on | Heat exchanger efficiency when adiabatic heat exchange is on, used when not use_eNTU | |
| Real | eps_adia_off | Heat exchanger efficiency when adiabatic heat exchange is off, used when not use_eNTU | |
| Boolean | use_eNTU | true | Use NTU method for efficiency calculation |
| Modelica.Units.SI.Time | tau | 60 | Thermal time constant of the heat exchanger |
| Real | UA_adia_on | UA value when using evaporative cooling, used when use_eNTU = true | |
| Real | UA_adia_off | UA value when not using evaporative cooling, used when use_eNTU = true | |
| Modelica.Units.SI.MassFlowRate | m_flow_small | 1E-4*abs(volTop.m_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Boolean | simplifiedMassBalance | true | Use simplified evaporation model to determine outlet humidity of dumped air stream when evaporative cooling is on |
| Boolean | prescribeTBot | false | =True, for validation. Need this option to avoid warnings. |
| Assumptions | |||
| Boolean | allowFlowReversal1 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
| Boolean | allowFlowReversal2 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m1_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Modelica.Units.SI.MassFlowRate | m2_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Advanced | |||
| Medium1.MassFlowRate | m1_flow_small (from PartialFourPortInterface) | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Medium2.MassFlowRate | m2_flow_small (from PartialFourPortInterface) | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialFourPortInterface) | false | = true, if actual temperature at port is computed |
| Dynamics › Equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Formulation of energy balance |
| Modelica.Fluid.Types.Dynamics | massDynamics | energyDynamics | Formulation of mass balance |
| Dynamics | |||
| Real | mSenFac | 1 | Factor for scaling the sensible thermal mass of the volume |
| Initialization › Medium 1 | |||
| Medium1.AbsolutePressure | p1_start | Medium1.p_default | Start value of pressure |
| Medium1.Temperature | T1_start | Medium1.T_default | Start value of temperature |
| Medium1.MassFraction[Medium1.nX] | X1_start | Medium1.X_default | Start value of mass fractions m_i/m |
| Medium1.ExtraProperty[Medium1.nC] | C1_start | fill(0, Medium1.nC) | Start value of trace substances |
| Medium1.ExtraProperty[Medium1.nC] | C1_nominal | fill(1E-2, Medium1.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
| Initialization › Medium 2 | |||
| Medium2.AbsolutePressure | p2_start | Medium2.p_default | Start value of pressure |
| Medium2.Temperature | T2_start | Medium2.T_default | Start value of temperature |
| Medium2.MassFraction[Medium2.nX] | X2_start | Medium2.X_default | Start value of mass fractions m_i/m |
| Medium2.ExtraProperty[Medium2.nC] | C2_start | fill(0, Medium2.nC) | Start value of trace substances |
| Medium2.ExtraProperty[Medium2.nC] | C2_nominal | fill(1E-2, Medium2.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a1 (from PartialFourPort) | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b1 (from PartialFourPort) | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) | |
| Modelica.Fluid.Interfaces.FluidPort_a | port_a2 (from PartialFourPort) | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b2 (from PartialFourPort) | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) | |
| Modelica.Blocks.Interfaces.BooleanInput | adiabaticOn | Activate adiabatic cooling | |
| Modelica.Blocks.Interfaces.RealOutput | TOutBot | Bottom outlet temperature |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Medium1.MassFlowRate | m1_flow (from PartialFourPortInterface) | port_a1.m_flow | Mass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp1 (from PartialFourPortInterface) | port_a1.p - port_b1.p | Pressure difference between port_a1 and port_b1 |
| Medium2.MassFlowRate | m2_flow (from PartialFourPortInterface) | port_a2.m_flow | Mass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp2 (from PartialFourPortInterface) | port_a2.p - port_b2.p | Pressure difference between port_a2 and port_b2 |
| Medium1.ThermodynamicState | sta_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.ThermodynamicState | sta_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.ThermodynamicState | sta_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.ThermodynamicState | sta_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.Power | Q | ||
| Modelica.Units.SI.Energy | E | volTop.U + volBot.U | |
| IDEAS.Fluid.MixingVolumes.MixingVolumeMoistAir | volBot | ||
| IDEAS.Fluid.MixingVolumes.MixingVolumeMoistAir | volTop | Top heat exchanger volume | |
| Modelica.Blocks.Sources.RealExpression | mFloAdiBot | Realexpression for setting condensation mass flow rate | |
| Real | Xw_in_bot | Xi_bot_in[1] | Water mass fraction of bottom stream |
Contents
| Name | Description |
|---|---|
| Model for accessing protected variable |
Revisions
-
May 22, 2022, by Filip Jorissen:
Added access to protected variable XiSat. See #1254 -
April 7, 2020, by Filip Jorissen:
Replaced thermal resistor by thermal conductor to avoid division. See #1129. -
October 1, 2019, by Filip Jorissen:
Revised computation ofC_starto avoid division by zero for balanced flow. -
May 15, 2018, by Filip Jorissen:
Changes for setting unique initial conditions. -
October 11, 2016, by Filip Jorissen:
Added first implementation.