modelDiscretizedCounterFlowHEX
Extends from Internal.PartialDiscretizedHEX (Base class for discretized heat exchangers).
Information
The counter-flow discretized heat exchanger uses a number of conduction elements (which is set by the parameter nCells) as discrete control volumes to exchange heat between two fluid streams.
For each side the elements are numbered 1 to nCells in the flow direction and the elements' heatports are connected via a thermal conductor that models the wall. The connections are ordered to result in a counter-flow configuration.
The conduction elements are computing a heat transfer coefficient between their heatport and the fluid contained. They are replaceable with a choice between a single-phase and a two-phase version, both can be further parametrized. Although the single-phase version works for two-phase media (not the other way around), using the two-phase one for two-phase media enables to set different heat transfer coefficients depending on the phase (liquid/gaseous/2-phase) state of the medium.
Note that since the model uses conductionElements as discrete control volumes that in turn assume quasi-stationary mass and therefore are part of a fluid stream rather than break it into two (like a full volume would), the same holds for both sides of the heat exchanger; they are part of a fluid stream and don't break it. The quasi-stationary mass assumption also implies that for (fast) changing masses/densities in any of the conduction elements the heat exchanger will (slightly) violate the conservation of energy. Furthermore, the conduction elements change their behavior for reversed mass-flow, therefore this model asserts for negative mass-flow with the level dropOfCommons.assertionLevel, see composition rules for more detail.
The parameters A (heat transferring area), k_wall (heat transfer coefficient of the wall between the streams) and the heat transfer coefficients in the conduction elements scale the transferred heat (the middle only if the wall and the latter only of the heat transfer into a fluid is the choke of the heatflow).
The parameter V determines the amount of fluid in the heat exchanger and therefore the dynamic for non-steady states.
The initialization tab allows for a mass-flow initialization for both paths.
The Advanced tab allows to modify the massflow that triggers the reverse-massflow-assertion and has an option to enforce global conservation of energy. The latter is done by feeding back any energy the conduction elements accumulated over time, basically making it impossible to store energy in their fluid long-term. While this enforces long-term conservation of energy it changes the medium-/short-term dynamics of the system and is therefore disabled by default.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| String | instanceName (from DropOfCommonsPlus) | getInstanceName() | Instance name |
| Integer | nCells (from PartialDiscretizedHEX) | 3 | Number of discretization elements |
| Boolean | calculate_efficiency (from PartialDiscretizedHEX) | false | = true, if heat exchanger efficiency is calculated |
| Boolean | d1A (from PartialDiscretizedHEX) | displayParameters and displayArea | displayArea at position 1 |
| Layout | |||
| Boolean | displayInstanceName (from DropOfCommonsPlus) | dropOfCommons.displayInstanceNames | = true, if instance name is displayed |
| Boolean | displayParameters (from DropOfCommonsPlus) | dropOfCommons.displayParameters | = true, if displaying parameters is enabled |
| Heat transfer parameters | |||
| SI.Area | A (from PartialDiscretizedHEX) | 10 | Heat transfer area |
| SI.Volume | V_Hex (from PartialDiscretizedHEX) | 0.001 | Volume for heat transfer calculation |
| SI.CoefficientOfHeatTransfer | k_wall (from PartialDiscretizedHEX) | 100 | Coefficient of heat transfer for pipe wall |
| Initialization › Mass flow rate | |||
| Boolean | initializeMassFlow (from PartialDiscretizedHEX) | false | = true, if inlet mass flow rates are initialized |
| SI.MassFlowRate | m_flow_0_A (from PartialDiscretizedHEX) | 0 | Initial mass flow rate for side A |
| SI.MassFlowRate | m_flow_0_B (from PartialDiscretizedHEX) | 0 | Initial mass flow rate for side B |
| Advanced | |||
| SI.MassFlowRate | m_flow_assert (from PartialDiscretizedHEX) | -dropOfCommons.m_flow_reg | Assertion threshold for negative mass flow rate |
| Boolean | enforce_global_energy_conservation (from PartialDiscretizedHEX) | false | = true, if global conservation of energy is enforced |
| Layout › Display parameters | |||
| Boolean | displayArea (from PartialDiscretizedHEX) | true | = true, if heat transfer area A is displayed |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Interfaces.Inlet | inletB | ||
| Interfaces.Outlet | outletB | ||
| Interfaces.Inlet | inletA | ||
| Interfaces.Outlet | outletA |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| SI.HeatFlowRate | Q_flow_A (from PartialDiscretizedHEX) | sum(thermalElementA.heatPort.Q_flow) | Heat flow rate into medium A |
| SI.HeatFlowRate | Q_flow_B (from PartialDiscretizedHEX) | sum(thermalElementB.heatPort.Q_flow) | Heat flow rate into medium B |
| SI.Mass | M_A (from PartialDiscretizedHEX) | sum(thermalElementA.M) | Mass of medium A |
| SI.Mass | M_B (from PartialDiscretizedHEX) | sum(thermalElementB.M) | Mass of medium B |
| SI.Energy | deltaE_system (from PartialDiscretizedHEX) | sum(thermalElementA.deltaE_system) + sum(thermalElementB.deltaE_system) | Error in global conservation of energy |
| ThermofluidStream.HeatExchangers.Internal.DiscretizedHEXSummary | summary (from PartialDiscretizedHEX) | Summary record of Quantities | |
| Modelica.Thermal.HeatTransfer.Components.ThermalConductor[nCells] | thermalConductor (from PartialDiscretizedHEX) | ||
| ConductionElementB[nCells] | thermalElementB (from PartialDiscretizedHEX) | ||
| ConductionElementA[nCells] | thermalElementA (from PartialDiscretizedHEX) |