modelTapProfile

Model for a DHW tap, reading the DHW demand profile via a CombiTimeTable.

Extends from IDEAS.Fluid.Taps.BaseClasses.PartialTap (Partial model for a (DHW) tap).

Information

Description

Model of a domestic hot water (DHW) tap. The tap is modelled as a thermostatic mixing valve.

The flow rate at the tap is read from a CombiTimeTable. The model requires a flow rate in [kg/s] (or [l/s]), but DHW flow rates are usually expressed in [l/min]. Therefore, an additional parameter has been added to convert the units of the profile into [kg/s].

See IDEAS.Fluid.Taps.BaseClasses.PartialTap for more information.

Parameters

TypeNameDefaultDescription
Modelica.Units.SI.TemperatureTSet (from PartialTap)318.15Temperature setpoint of DHW at the tap
Modelica.Units.SI.TemperatureTCol (from PartialTap)283.15Temperature of cold supply water
RealuniCon1/60Conversion factor to convert units from DHW profile [l/min] to [kg/s]
StringloadFile
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Nominal condition
Modelica.Units.SI.MassFlowRatem_flow_nominal (from PartialTwoPortInterface)Nominal mass flow rate
Advanced
Modelica.Units.SI.MassFlowRatem_flow_small (from PartialTwoPortInterface)1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortInterface)false= true, if actual temperature at 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.BooleanOutputDHWCom (from PartialTap)Boolean output signal to indicate whether there is DHW comfort (true) or discomfort (false)

Components

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatem_flow (from PartialTwoPortInterface)port_a.m_flowMass flow rate from port_a to port_b (m_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp (from PartialTwoPortInterface)port_a.p - port_b.pPressure difference between port_a and port_b
Medium.ThermodynamicStatesta_a (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) else Medium.setState_phX(port_a.p, noEvent(inStream(port_a.h_outflow)), noEvent(inStream(port_a.Xi_outflow)))Medium properties in port_a
Medium.ThermodynamicStatesta_b (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) else Medium.setState_phX(port_b.p, noEvent(port_b.h_outflow), noEvent(port_b.Xi_outflow))Medium properties in port_b
IDEAS.Fluid.Interfaces.IdealSourcemFloSouHot (from PartialTap)Ideal mass flow source to model the hot water offtake from the system
IDEAS.Fluid.Sources.Boundary_pTbouHot (from PartialTap)Sink to model the hot water offtake from the system
Modelica.Blocks.Sources.RealExpressionTCol_in (from PartialTap)Temperature of the cold water injected into the system
IDEAS.Fluid.Sources.Boundary_pTbouCol (from PartialTap)Supply to model the cold water injection into the system
IDEAS.Fluid.Interfaces.IdealSourcemFloSouCol (from PartialTap)Ideal mass flow source to model the cold water injection into the system
Modelica.Blocks.Sources.RealExpressionmFloHot (from PartialTap)Required flow rate from the hot water source
IDEAS.Fluid.Sensors.TemperatureTwoPortTHot (from PartialTap)Temperature sensor
Modelica.Blocks.Logical.GreaterEqualThresholdcom (from PartialTap)Block operator to check whether there is DHW comfort or not. True = comfort, false = discomfort.
Modelica.Blocks.Sources.CombiTimeTabledemProDHW demand profile input ([l/min] by default)
Modelica.Blocks.Math.GainconConversion from unit in profile to kg/s using density = 1000 kg/m3

Revisions

  • March 27, 2024, by Lucas Verleyen:
    Initial implementation.
    See #1287 for more information.