modelPartialEffectiveness
Partial model to implement heat exchangers based on effectiveness model
Extends from Fluid.Interfaces.StaticFourPortHeatMassExchanger.
Information
Partial model to implement heat exchanger models.
Classes that extend this model need to implement heat and mass balance equations in a form like
// transferred heat Q1_flow = eps * QMax_flow; // no heat loss to ambient 0 = Q1_flow + Q2_flow; // no mass exchange mXi1_flow = zeros(Medium1.nXi); mXi2_flow = zeros(Medium2.nXi);
Thus, if medium 1 is heated in this device, then Q1_flow > 0
and QMax_flow > 0.
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Medium1.Temperature | T_in1 | 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.Temperature | T_in2 | 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.ThermalConductance | C1_flow | 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.ThermalConductance | C2_flow | 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.ThermalConductance | CMin_flow | min(C1_flow, C2_flow) | Minimum heat capacity flow rate |
| Modelica.Units.SI.HeatFlowRate | QMax_flow | CMin_flow*(T_in2 - T_in1) | Maximum heat flow rate into medium 1 |
Revisions
-
April 27, 2023, by Michael Wetter:
Set nominal and min attributes for capacity flow rates.
Moved assignments frominitial equationto parameter declaration. This avoids a warning in Dymola 2023x about non-literal nominal values.
This is for #3360. -
February 21, 2019, by Filip Jorissen:
Revised implementation of all equations such that a binding equation is used. I.e. we set the variable value at the variable definition instead of using the equation section. This allows overwriting the equation when extending the model.
See #1102. -
April 30, 2018, by Filip Jorissen:
SetprescribedHeatFlowRate1=trueandprescribedHeatFlowRate2=true.
See #907. -
June 9, 2015 by Michael Wetter:
Changed type ofT_in1andT_in2toMedium1.TemperatureandMedium2.Temperatureto avoid an error because of conflicting start values if Buildings.Examples.ChillerPlant.BaseClasses.Controls.Examples.ChillerSetPointControl is translated using pedantic mode in Dymola 2016. This is for #426. -
October 8, 2011, by Michael Wetter:
Setshow_T=falseto avoid state events near zero flow. -
August 31, 2011, by Michael Wetter:
Removed unused variablesgai1andgai2. -
February 12, 2010, by Michael Wetter:
Changed model structure to implement effectiveness-NTU model. -
January 28, 2010, by Michael Wetter:
Added regularization near zero flow. -
October 2, 2009, by Michael Wetter:
Changed computation of inlet temperatures to usestate_*_inflowwhich is already known in base class. -
April 28, 2008, by Michael Wetter:
First implementation.