modelPlugFlowHeatLoss
Extends from Fluid.Interfaces.PartialTwoPortTransport (Partial element transporting fluid between two ports without storage of mass or energy).
Information
Component that calculates the heat losses at the end of a plug flow pipe when the flow goes in the design direction.
Main equations
The governing equations are
Tout = Tb + (Tin - Tb) exp((tout - tin)/tauchar)
with
tauchar = R C
Assumptions and limitations
This model is based on the following assumptions:
- The water temperature is uniform in the cross section.
- There is no axial heat transfer in the water or surrounding.
- The boundary temperature along the pipe is uniform.
- Heat losses are steady-state.
Implementation
Heat losses are only considered in design flow direction.
For heat loss consideration in both directions, use one of these models at
both ends of a
IDEAS.Fluid.FixedResistances.BaseClasses.PlugFlow model.
The outlet temperature is calculated as in the equation above,
using the inlet temperature at port_a and the instantaneous
time delay and boundary temperature.
The boundary temperature can be either the air temperature
or the undisturbed ground temperature, depending on the definition of the
thermal resistance R.
This component requires the delay time and the instantaneous ambient temperature as an input. This component is to be used in single pipes or in more advanced configurations where no influence from other pipes is considered.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | C | Thermal capacity per unit length of pipe | |
| Real | R | Thermal resistance per unit length from fluid to boundary temperature | |
| Modelica.Units.SI.MassFlowRate | m_flow_nominal | Nominal mass flow rate | |
| Modelica.Units.SI.Temperature | T_start | Initial output temperature | |
| Modelica.Units.SI.Time | tau_char | R*C | Characteristic delay time |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Advanced | |||
| Modelica.Units.SI.PressureDifference | dp_start (from PartialTwoPortTransport) | 0 | Guess value of dp = port_a.p - port_b.p |
| Medium.MassFlowRate | m_flow_start (from PartialTwoPortTransport) | 0 | Guess value of m_flow = port_a.m_flow |
| Medium.MassFlowRate | m_flow_small (from PartialTwoPortTransport) | Small mass flow rate for regularization of zero flow | |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialTwoPortTransport) | true | = true, if temperatures at port_a and port_b are computed |
| Boolean | show_V_flow (from PartialTwoPortTransport) | true | = true, if volume flow rate at inflowing port is computed |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialTwoPort) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialTwoPort) | Fluid connector b (positive design flow direction is from port_a to port_b) | |
| Modelica.Blocks.Interfaces.RealInput | tau | Time delay at pipe level | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | heatPort | Heat port to connect environment (negative if heat is lost to ambient) |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Medium.MassFlowRate | m_flow (from PartialTwoPortTransport) | Mass flow rate in design flow direction | |
| Modelica.Units.SI.PressureDifference | dp (from PartialTwoPortTransport) | Pressure difference between port_a and port_b (= port_a.p - port_b.p) | |
| Modelica.Units.SI.VolumeFlowRate | V_flow (from PartialTwoPortTransport) | m_flow/Modelica.Fluid.Utilities.regStep(m_flow, Medium.density(Medium.setState_phX(p = port_a.p, h = inStream(port_a.h_outflow), X = inStream(port_a.Xi_outflow))), Medium.density(Medium.setState_phX(p = port_b.p, h = inStream(port_b.h_outflow), X = inStream(port_b.Xi_outflow))), m_flow_small) | Volume flow rate at inflowing port (positive when flow from port_a to port_b) |
| Medium.Temperature | port_a_T (from PartialTwoPortTransport) | Modelica.Fluid.Utilities.regStep(port_a.m_flow, Medium.temperature(Medium.setState_phX(p = port_a.p, h = inStream(port_a.h_outflow), X = inStream(port_a.Xi_outflow))), Medium.temperature(Medium.setState_phX(port_a.p, port_a.h_outflow, port_a.Xi_outflow)), m_flow_small) | Temperature close to port_a, if show_T = true |
| Medium.Temperature | port_b_T (from PartialTwoPortTransport) | Modelica.Fluid.Utilities.regStep(port_b.m_flow, Medium.temperature(Medium.setState_phX(p = port_b.p, h = inStream(port_b.h_outflow), X = inStream(port_b.Xi_outflow))), Medium.temperature(Medium.setState_phX(port_b.p, port_b.h_outflow, port_b.Xi_outflow)), m_flow_small) | Temperature close to port_b, if show_T = true |
| Modelica.Units.SI.Temperature | T_a_inflow | Temperature at port_a for inflowing fluid | |
| Modelica.Units.SI.Temperature | T_b_outflow | Temperature at port_b for outflowing fluid | |
| Modelica.Units.SI.Temperature | TAmb | heatPort.T | Environment temperature |
Revisions
-
December 6, 2017, by Michael Wetter:
Reformulated call to medium function.
This is for issue 869. -
October 20, 2017, by Michael Wetter:
Revised implementation to avoid graphical and textual modeling. Revised variable names and documentation to follow guidelines. -
November 6, 2015 by Bram van der Heijde:
Make time delay input instead of calculation inside this model. -
September, 2015 by Marcus Fuchs:
First implementation.