Buildings.Fluid
consists of models
for pressure driven mass flow rate and for heat and moisture
exchange in fluid flow networks.
The models have the same interface as models of the package Modelica.Fluid, but have in general a simpler set of parameters that may be better suited if the models are used in early design of building systems. For example, in addition to the detailed pipe model from Modelica.Fluid, this package also contains models for which a user has to specify the mass flow and pressure drop at a nominal flow rate, which is typically more readily available prior to the detailed HVAC system design.
Most component models compute pressure drop as a function of flow rate.
If their pressure drop at the nominal conditions is set to zero,
for example by setting the parameter value dp_nominal=0
, then the
equation for the pressure drop is removed from the model.
This allows, for example,
to model a heating and a cooling coil in series, and lump their pressure drops
into a single element, thereby reducing the dimension of the nonlinear system
of equations.
The flow resistance is computed as
k = ṁ ⁄ √ Δp
where ṁ is the mass flow rate and Δp is the pressure drop. For |ṁ| < δṁ ṁ0, where δṁ is a parameter and ṁ0 is the mass flow rate at the nominal operating point, the equation is linearized. The pressure drop is computed as a function of mass flow rate instead of volume flow rate as this often leads to fewer equations. Otherwise, the pressure drop would depend on the density and hence on temperature.
The flow coefficient k is typically computed based
on nominal values for the mass flow rate and the pressure drop, i.e.,
k = ṁ0 ⁄ √ Δp0
.
This functional form has been used as in building HVAC systems, a more exact
computation of the pressure drop would require detailed knowledge of the duct or pipe
dimensions and the flow bends and junctions. This information is often not available during
early design. However, if a more detailed pressure drop calculation is required, then models from
Modelica.Fluid can be used in conjuction with models from the Buildings
library.
In actuators such as valves and air dampers, k is a function of the control signal.
Most models have parameters
massDynamics
and energyDynamics
that allow using a dynamic or a
steady-state equation for the mass and energy balance.
The table below shows the different settings and how they affect the
mass and energy balance equations.
For the mass balance, the following configurations can be selected:
Parameter | Initialization problem If density depends on pressure |
Initialization problem If density is independent of pressure |
Equation used during time integration |
---|---|---|---|
DynamicsFreeInitial | Unspecified | Unspecified | dm(t)/dt = ∑ ṁ(t) |
FixedInitial | p(0)=p0 | Unspecified | dm(t)/dt = ∑ ṁ(t) |
SteadyStateInitial | dp(0)/dt | Unspecified | dm(t)/dt = ∑ ṁ(t) |
SteadyState | Unspecified | Unspecified | 0 = ∑ ṁ(t) |
where m(t) is the mass of the control volume, ṁ(t) is the mass flow rate, p is the pressure and p0 is the initial pressure, which is a parameter. Unspecified means that no equation is declared for p(0). In this situation, there can be two cases:
p(start=Medium.p_default)
,
where Medium
is the medium model.
Similarly, for the energy balance, the following configurations can be selected:
Parameter | Initialization problem | Equation used during time integration |
---|---|---|
DynamicsFreeInitial | Unspecified | dU(t)/dt = ∑ ṁ(t) h(t) + ∑ Q̇(t) |
FixedInitial | T(0)=T0 | dU(t)/dt = ∑ ṁ(t) h(t) + ∑ Q̇(t) |
SteadyStateInitial | dT(0)/dt=0 | dU(t)/dt = ∑ ṁ(t) h(t) + ∑ Q̇(t) |
SteadyState | Unspecified | 0 = ∑ ṁ(t) h(t) + ∑ Q̇(t) |
where U(t) is the internal energy of the control volume, h(t) is the enthalpy carried by the medium and Q̇(t) is the heat flow rate that is added to the medium through the heat port. Unspecified means that no equation is declared for T(0). In this situation, there can be two cases:
T(start=Medium.T_default)
,
where Medium
is the medium model
In most models, the size of volume is configured using the parameter tau
.
This parameter is equal to the time constant that the volume has if the mass flow rate is
at its nominal value, as set by the parameter m_flow_nominal
.
Using the time constant, as opposed to the actual fluid volume, allows in many cases an
easier parametrization, since the volume is automatically enlarged if the nominal mass
flow rate is increased. This allows an easy adjustment of the component size.
The actual size of the control volume is then set as
V = ṁ0 τ/ρ0
where m0 is the nominal mass flow rate, τ is the time constant, and ρ0 is the mass density at the nominal condition.
Extends from Modelica.Icons.Information (Icon for general information packages).