AixLib.Fluid.HeatExchangers.BaseClasses.PartialEffectivenessNTU

# .AixLib.Fluid.HeatExchangers.BaseClasses.PartialEffectivenessNTU

Partial model for heat exchanger with effectiveness - NTU relation and no moisture condensation

## Information

Partial model of a heat exchanger without humidity condensation. This model transfers heat in the amount of

Q = Qmax ε
ε = f(NTU, Z, flowRegime),

where Qmax is the maximum heat that can be transferred, ε is the heat transfer effectiveness, NTU is the Number of Transfer Units, Z is the ratio of minimum to maximum capacity flow rate and flowRegime is the heat exchanger flow regime. such as parallel flow, cross flow or counter flow.

The flow regimes depend on the heat exchanger configuration. All configurations defined in AixLib.Fluid.Types.HeatExchangerConfiguration are supported.

By default, the flow regime, such as counter flow or parallel flow, is kept constant based on the parameter value `configuration`. If a flow reverses direction, it is not changed, e.g., a heat exchanger does not change from counter flow to parallel flow if one flow changes direction. To dynamically change the flow regime, set the constant `use_dynamicFlowRegime` to `true`. However, `use_dynamicFlowRegime=true` can cause slower simulation due to events.

Models that extend from this partial model need to provide an assignment for `UA`.

## Revisions

- February 3, 2023, by Jianjun Hu:
  Added `noEvent()` in the assertion function to avoid Optimica to not converge.
  This is for issue 1690.
- January 24, 2023, by Hongxiang Fu:
  Set `flowRegime` to be equal to `flowRegime_nominal` by default. Added an assertion warning to inform the user about how to change this behaviour if the flow direction does need to change.
  This is for issue 1682.
- November 11, 2023, by Michael Wetter:
  Corrected wrong temperature in assignment of `sta2_default`.
  This is for Buildings, issue 3151.
- February 25, 2021 by Baptiste Ravache:
  Added a warning for when Q_flow_nominal is specified with the wrong sign.
- January 10, 2018 by Michael Wetter:
  Removed variable `Z` that is not used. This is for issue 1328.
- January 10, 2018 by Filip Jorissen:
  Corrected an error where the value of NTU was assigned to Z. This is for issue 1328.
- February 27, 2016 by Michael Wetter:
  Introduced `sta1_default` and `sta2_default` to enable translation under OpenModelica. Removed `max=1` attribute for `Z`. This is needed as near zero flow, `Z` can be larger than one due to the regularization. As `Z` is not used in this model other than for reporting, this bound need not be enforced (and the calculation of `eps` is fine at these small flow rates). This is for issue 490.
- April 29, 2014 by Michael Wetter:
  Changed `assert` statement to avoid comparing enumeration with an integer, which triggers a warning in Dymola 2015.
- July 30, 2013 by Michael Wetter:
  Updated model to use new variable `mWat_flow` in the base class.
- February 12, 2010, by Michael Wetter:
  First implementation.

Generated at 2026-05-09T18:18:56Z by OpenModelicaOpenModelica 1.26.7 using GenerateDoc.mos