modelPlugFlowHeatLoss

Heat loss model for pipe with delay as an input variable
Diagram of PlugFlowHeatLoss

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

TypeNameDefaultDescription
RealCThermal capacity per unit length of pipe
RealRThermal resistance per unit length from fluid to boundary temperature
Modelica.Units.SI.MassFlowRatem_flow_nominalNominal mass flow rate
Modelica.Units.SI.TemperatureT_startInitial output temperature
Modelica.Units.SI.Timetau_charR*CCharacteristic delay time
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Advanced
Modelica.Units.SI.PressureDifferencedp_start (from PartialTwoPortTransport)0Guess value of dp = port_a.p - port_b.p
Medium.MassFlowRatem_flow_start (from PartialTwoPortTransport)0Guess value of m_flow = port_a.m_flow
Medium.MassFlowRatem_flow_small (from PartialTwoPortTransport)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortTransport)true= true, if temperatures at port_a and port_b are computed
Booleanshow_V_flow (from PartialTwoPortTransport)true= true, if volume flow rate at inflowing port is computed

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)
Modelica.Blocks.Interfaces.RealInputtauTime delay at pipe level
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_aheatPortHeat port to connect environment (negative if heat is lost to ambient)

Components

TypeNameDefaultDescription
Medium.MassFlowRatem_flow (from PartialTwoPortTransport)Mass flow rate in design flow direction
Modelica.Units.SI.PressureDifferencedp (from PartialTwoPortTransport)Pressure difference between port_a and port_b (= port_a.p - port_b.p)
Modelica.Units.SI.VolumeFlowRateV_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.Temperatureport_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.Temperatureport_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.TemperatureT_a_inflowTemperature at port_a for inflowing fluid
Modelica.Units.SI.TemperatureT_b_outflowTemperature at port_b for outflowing fluid
Modelica.Units.SI.TemperatureTAmbheatPort.TEnvironment 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.