Collection of models that illustrate model use and test models
Information
This package contains examples for the use of models that can be found in
Buildings.Fluid.Actuators.Dampers.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Package Content
Name |
Description |
Damper
|
Dampers with constant pressure difference and varying control signal. |
MixingBox
|
Mixing box with constant pressure difference and varying control signal |
MixingBoxMinimumFlow
|
Mixing box with minimum flow rate, with constant pressure difference and varying control signal |
VAVBoxExponential
|
VAV box with constant pressure difference and varying control signal |
Dampers with constant pressure difference and varying control signal.
Information
Test model for exponential and linear air dampers.
The air dampers are connected to models for constant inlet and outlet
pressures. The control signal of the dampers is a ramp.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model Damper
extends Modelica.Icons.Example;
package Medium =
Buildings.Media.Air ;
Buildings.Fluid.Actuators.Dampers.Exponential res(
redeclare package Medium = Medium,
use_inputFilter=false,
dpDamper_nominal=10,
m_flow_nominal=1,
k1=0.45) ;
Modelica.Blocks.Sources.Ramp yRam(
duration=0.3,
offset=0,
startTime=0.2,
height=1);
Buildings.Fluid.Sources.Boundary_pT sou(
redeclare package Medium = Medium,
p(displayUnit="Pa") = 101335,
T=293.15,
nPorts=4) ;
Buildings.Fluid.Sources.Boundary_pT sin(
redeclare package Medium = Medium,
nPorts=4) ;
Buildings.Fluid.Actuators.Dampers.PressureIndependent preIndDpFixed_nominal(
use_inputFilter=false,
redeclare package Medium = Medium,
m_flow_nominal=1,
dpFixed_nominal=5,
dpDamper_nominal=10)
;
Buildings.Fluid.Actuators.Dampers.PressureIndependent preIndFrom_dp(
use_inputFilter=false,
redeclare package Medium = Medium,
m_flow_nominal=1,
dpFixed_nominal=0,
dpDamper_nominal=10,
from_dp=false)
;
Buildings.Fluid.Actuators.Dampers.PressureIndependent preInd(
redeclare package Medium = Medium,
m_flow_nominal=1,
dpDamper_nominal=10,
use_inputFilter=false)
;
equation
connect(yRam.y, res.y);
connect(yRam.y, preInd.y);
connect(res.port_a, sou.ports[1]);
connect(preInd.port_a, sou.ports[2]);
connect(preIndFrom_dp.port_a, sou.ports[3]);
connect(res.port_b, sin.ports[1]);
connect(preInd.port_b, sin.ports[2]);
connect(sou.ports[4], preIndDpFixed_nominal.port_a);
connect(preIndFrom_dp.port_b, sin.ports[3]);
connect(preIndDpFixed_nominal.port_b, sin.ports[4]);
connect(preIndFrom_dp.y, yRam.y);
connect(preIndDpFixed_nominal.y, yRam.y);
end Damper;
Mixing box with constant pressure difference and varying control signal
Information
Test model for the economizer mixing box.
The economizer mixing box is exposed to time varying pressure boundary
conditions and input signals.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model MixingBox
extends Modelica.Icons.Example;
package Medium =
Buildings.Media.Air
;
Buildings.Fluid.Actuators.Dampers.MixingBox mixBox(
mOut_flow_nominal=1,
mRec_flow_nominal=1,
mExh_flow_nominal=1,
redeclare package Medium = Medium,
dpDamExh_nominal=10,
dpDamOut_nominal=10,
dpDamRec_nominal=10,
dpFixExh_nominal=20,
dpFixOut_nominal=20,
dpFixRec_nominal=20)
;
Buildings.Fluid.Sources.Boundary_pT bouIn(
redeclare package
Medium = Medium, T=273.15 + 10,
use_p_in=true,
nPorts=2);
Buildings.Fluid.Sources.Boundary_pT bouSup(
redeclare package
Medium = Medium, T=273.15 + 26,
use_p_in=true,
nPorts=1);
Buildings.Fluid.Sources.Boundary_pT bouRet(
redeclare package
Medium = Medium, T=273.15 + 20,
use_p_in=true,
nPorts=1);
Modelica.Blocks.Sources.Constant PAtm(k=101325);
Modelica.Blocks.Sources.Ramp PSup(
offset=101320,
height=-10,
startTime=0,
duration=20);
Modelica.Blocks.Sources.Ramp PRet(
height=10,
offset=101330,
duration=20,
startTime=20);
Modelica.Blocks.Sources.Step yDam(
height=1,
offset=0,
startTime=60);
equation
connect(yDam.y, mixBox.y);
connect(bouIn.p_in, PAtm.y);
connect(PRet.y, bouRet.p_in);
connect(bouSup.p_in, PSup.y);
connect(bouIn.ports[1], mixBox.port_Out);
connect(bouIn.ports[2], mixBox.port_Exh);
connect(bouSup.ports[1], mixBox.port_Sup);
connect(bouRet.ports[1], mixBox.port_Ret);
end MixingBox;
Mixing box with minimum flow rate, with constant pressure difference and varying control signal
Information
Test model for the economizer mixing box that has a flow leg for the
minimum outside air intake.
The economizer mixing box is exposed to time varying pressure boundary
conditions and input signals.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model MixingBoxMinimumFlow
extends Modelica.Icons.Example;
package Medium =
Buildings.Media.Air ;
Buildings.Fluid.Actuators.Dampers.MixingBoxMinimumFlow mixBox(
mOutMin_flow_nominal=0.3,
dpDamOutMin_nominal=5,
dpFixOutMin_nominal=20,
mOut_flow_nominal=1,
mRec_flow_nominal=1,
mExh_flow_nominal=1,
redeclare package Medium = Medium,
dpDamExh_nominal=10,
dpDamOut_nominal=10,
dpDamRec_nominal=10,
dpFixExh_nominal=20,
dpFixOut_nominal=20,
dpFixRec_nominal=20) ;
Buildings.Fluid.Sources.Boundary_pT bouIn(
redeclare package
Medium = Medium, T=273.15 + 10,
use_p_in=true,
nPorts=3);
Buildings.Fluid.Sources.Boundary_pT bouSup(
redeclare package
Medium = Medium, T=273.15 + 26,
use_p_in=true,
nPorts=1);
Buildings.Fluid.Sources.Boundary_pT bouRet(
redeclare package
Medium = Medium, T=273.15 + 20,
use_p_in=true,
nPorts=1);
Modelica.Blocks.Sources.Constant PAtm(k=101325);
Modelica.Blocks.Sources.Constant yDamMin(k=0.5);
Modelica.Blocks.Sources.Ramp PSup(
offset=101320,
height=-60,
startTime=0,
duration=20);
Modelica.Blocks.Sources.Ramp PRet(
height=60,
offset=101330,
duration=20,
startTime=20);
Modelica.Blocks.Sources.Step yDam(
height=0.1,
offset=0.45,
startTime=60);
equation
connect(yDamMin.y, mixBox.yOutMin);
connect(yDam.y, mixBox.y);
connect(bouIn.p_in, PAtm.y);
connect(PRet.y, bouRet.p_in);
connect(bouSup.p_in, PSup.y);
connect(bouIn.ports[1], mixBox.port_OutMin);
connect(bouIn.ports[2], mixBox.port_Out);
connect(bouIn.ports[3], mixBox.port_Exh);
connect(bouSup.ports[1], mixBox.port_Sup);
connect(bouRet.ports[1], mixBox.port_Ret);
end MixingBoxMinimumFlow;
VAV box with constant pressure difference and varying control signal
Information
Test model for the variable air volume flow box.
The model has two flow legs, both are connected to models for constant inlet and outlet
pressures.
The top flow leg has a flow resistance and an air damper, and
the bottom flow leg combines both of these resistances into one model.
Both flow legs have identical mass flow rates, except at very small
flow rates. The reason for this difference is that the equations
are regularized for numerical reasons, and combining the two components
within one component leads to a slightly different equation for the
regularization.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model VAVBoxExponential
extends Modelica.Icons.Example;
package Medium =
Buildings.Media.Air;
Buildings.Fluid.Actuators.Dampers.Exponential dam(
redeclare package Medium = Medium,
dpDamper_nominal=5,
m_flow_nominal=2);
Modelica.Blocks.Sources.Step yDam(
height=-1,
offset=1,
startTime=60);
Modelica.Blocks.Sources.Ramp P(
height=-20,
offset=101335,
startTime=0,
duration=60);
Buildings.Fluid.Sources.Boundary_pT sou(
redeclare package Medium =
Medium, T=273.15 + 20,
nPorts=2,
use_p_in=true);
Buildings.Fluid.Sources.Boundary_pT sin(
redeclare package Medium =
Medium, T=273.15 + 20,
nPorts=2,
use_p_in=true);
Modelica.Blocks.Sources.Constant PAtm(k=101325);
Buildings.Fluid.Actuators.Dampers.Exponential vav(
redeclare package Medium = Medium,
dpDamper_nominal=5,
dpFixed_nominal=5,
m_flow_nominal=2);
Buildings.Fluid.FixedResistances.PressureDrop res(
from_dp=true,
m_flow_nominal=2,
redeclare package Medium = Medium,
dp_nominal=5);
equation
connect(yDam.y,dam. y);
connect(P.y, sou.p_in);
connect(PAtm.y, sin.p_in);
connect(yDam.y, vav.y);
connect(res.port_b, dam.port_a);
connect(sou.ports[1], res.port_a);
connect(sou.ports[2], vav.port_a);
connect(dam.port_b, sin.ports[1]);
connect(sin.ports[2], vav.port_b);
end VAVBoxExponential;