modelPartialTap
Extends from IDEAS.Fluid.Interfaces.PartialTwoPortInterface (Partial model with two ports and declaration of quantities that are used by many models).
Information
Description
Partial model of a domestic hot water (DHW) tap, including a cold water supply to have a closed system. The tap is modelled as a thermostatic mixing valve.
The model has two flowPorts and a realInput:
- port_a: connection to the hot water source (designation: hot)
- port_b: connection to the inlet of cold water in the hot water source (designation: cold)
- m_flow_set: desired DHW mass flow rate, equivalent at a user defined set point temperature
The model tries to reach the given DHW flow rate at a the desired mixing temperature TSet by mixing the hot water with cold water. The resulting hot flow rate (mFloHot) will be extracted automatically from the hot source (via port_a ). This same flow rate will be injected at TCol in the production system through the connection of port_b to the hot source.
Assumptions and limitations
- No heat losses.
- If THot is smaller than TSet, there is no mixing and the supply temperature at the tap equals THot.
- Fixed TSet and TCol as parameters.
- The mixed DHW is not available as an outlet or flowPort. It is assumed to be 'consumed'.
Model use
- Set the parameters for cold water supply temperature TCol and the DHW setpoint temperature TSet (mixed, at the tap).
- Connect port_a to the hot water source.
- Connect port_b to the cold water inlet of the hot water source.
- Depending on the implementation: fill out the table or provide a realInput for m_flow_set.
- Thanks to the use of an IdealSource in this model, it is NOT required to add additional pumps, ambients or AbsolutePressure to the DHW circuit.
Examples
An example of this model is given in IDEAS.Fluid.Taps.Examples.DHW_example.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.Temperature | TSet | 318.15 | Temperature setpoint of DHW at the tap |
| Modelica.Units.SI.Temperature | TCol | 283.15 | Temperature of cold supply water |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m_flow_nominal (from PartialTwoPortInterface) | Nominal mass flow rate | |
| Advanced | |||
| Modelica.Units.SI.MassFlowRate | m_flow_small (from PartialTwoPortInterface) | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialTwoPortInterface) | false | = true, if actual temperature at 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.BooleanOutput | DHWCom | Boolean output signal to indicate whether there is DHW comfort (true) or discomfort (false) |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.MassFlowRate | m_flow (from PartialTwoPortInterface) | port_a.m_flow | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp (from PartialTwoPortInterface) | port_a.p - port_b.p | Pressure difference between port_a and port_b |
| Medium.ThermodynamicState | sta_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.ThermodynamicState | sta_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.IdealSource | mFloSouHot | Ideal mass flow source to model the hot water offtake from the system | |
| IDEAS.Fluid.Sources.Boundary_pT | bouHot | Sink to model the hot water offtake from the system | |
| Modelica.Blocks.Sources.RealExpression | TCol_in | Temperature of the cold water injected into the system | |
| IDEAS.Fluid.Sources.Boundary_pT | bouCol | Supply to model the cold water injection into the system | |
| IDEAS.Fluid.Interfaces.IdealSource | mFloSouCol | Ideal mass flow source to model the cold water injection into the system | |
| Modelica.Blocks.Sources.RealExpression | mFloHot | Required flow rate from the hot water source | |
| IDEAS.Fluid.Sensors.TemperatureTwoPort | THot | Temperature sensor | |
| Modelica.Blocks.Logical.GreaterEqualThreshold | com | Block operator to check whether there is DHW comfort or not. True = comfort, false = discomfort. |
Revisions
- March 26, 2024, by Lucas Verleyen:
Major refactoring.
See #1287 for more information. - June, 2013, by Roel De Coninck:
Documentation. - September, 2012, by Roel De Coninck:
simplification of equations. - August, 2012, by Roel De Coninck:
Initial implementation.