Buildings.Obsolete.Fluid.Movers.Validation.BaseClasses
Package with base classes for obsolete validation models
Information
This package contains base classes for obsolete validation models.
Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).
Package Content
Name | Description |
---|---|
ControlledFlowMachine |
Buildings.Obsolete.Fluid.Movers.Validation.BaseClasses.ControlledFlowMachine
Information
This example demonstrates the use of the flow model with four different configuration. At steady-state, all flow models have the same mass flow rate and pressure difference.Parameters
Type | Name | Default | Description |
---|---|---|---|
SpeedControlled_y | fan1 | fan1(redeclare package Mediu... | Fan with normalized control input between 0 and 1 |
FlowControlled_dp | fan3 | fan3(redeclare package Mediu... | Fan with head as input |
FlowControlled_m_flow | fan2 | fan2(redeclare package Mediu... | Fan with mass flow rate as input |
SpeedControlled_Nrpm | fan4 | fan4(redeclare package Mediu... | Fan with RPM as control input |
Modelica definition
model ControlledFlowMachine
package Medium = Buildings.Media.Air "Medium model";
Modelica.Blocks.Sources.Pulse y(
startTime=0,
offset=0,
amplitude=1,
period=120,
width=50);
Buildings.Fluid.Sources.Boundary_pT sou(
redeclare package Medium = Medium,
use_p_in=false,
p=101325,
T=293.15,
nPorts=4);
Buildings.Fluid.Sensors.MassFlowRate masFloRat1(redeclare package Medium =
Medium);
Buildings.Fluid.Sensors.RelativePressure relPre(redeclare package Medium =
Medium);
replaceable Buildings.Fluid.Movers.SpeedControlled_y
fan1(
redeclare package Medium = Medium,
energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
redeclare Buildings.Obsolete.Fluid.Movers.Data.Pumps.Wilo.Stratos32slash1to12
per)
constrainedby Buildings.Fluid.Movers.SpeedControlled_y
"Fan with normalized control input between 0 and 1";
Buildings.Fluid.FixedResistances.PressureDrop dp1(
redeclare package Medium = Medium,
from_dp=true,
m_flow_nominal=0.006,
dp_nominal=50000) "Pressure drop";
Buildings.Fluid.FixedResistances.PressureDrop dp2(
redeclare package Medium = Medium,
from_dp=true,
m_flow_nominal=0.006,
dp_nominal=50000) "Pressure drop";
Buildings.Fluid.Sensors.MassFlowRate masFloRat2(
redeclare package Medium = Medium);
Buildings.Fluid.FixedResistances.PressureDrop dp3(
redeclare package Medium = Medium,
from_dp=true,
m_flow_nominal=0.006,
dp_nominal=50000) "Pressure drop";
Buildings.Fluid.Sensors.MassFlowRate masFloRat3(
redeclare package Medium = Medium);
replaceable Buildings.Fluid.Movers.FlowControlled_dp
fan3(
redeclare package Medium = Medium,
m_flow_nominal=6000/3600*1.2,
energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
redeclare Buildings.Obsolete.Fluid.Movers.Data.Pumps.Wilo.Stratos32slash1to12
per)
constrainedby Buildings.Fluid.Movers.FlowControlled_dp
"Fan with head as input";
replaceable Buildings.Fluid.Movers.FlowControlled_m_flow
fan2(
redeclare package Medium = Medium,
m_flow_nominal=6000/3600*1.2,
energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
redeclare Buildings.Obsolete.Fluid.Movers.Data.Pumps.Wilo.Stratos32slash1to12
per)
constrainedby Buildings.Fluid.Movers.FlowControlled_m_flow
"Fan with mass flow rate as input";
Buildings.Fluid.FixedResistances.PressureDrop dp4(
redeclare package Medium = Medium,
from_dp=true,
m_flow_nominal=0.006,
dp_nominal=50000) "Pressure drop";
Buildings.Fluid.Sensors.MassFlowRate masFloRat4(
redeclare package Medium = Medium);
replaceable Buildings.Obsolete.Fluid.Movers.SpeedControlled_Nrpm
fan4(
redeclare package Medium = Medium,
energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
redeclare Buildings.Obsolete.Fluid.Movers.Data.Pumps.Wilo.Stratos32slash1to12
per)
constrainedby Buildings.Obsolete.Fluid.Movers.SpeedControlled_Nrpm
"Fan with RPM as control input";
Modelica.Blocks.Math.Gain gain(k=3580) "Converts y to nominal rpm";
Buildings.Fluid.FixedResistances.PressureDrop dp5(
m_flow_nominal=6000/3600*1.2,
redeclare package Medium = Medium,
dp_nominal=300,
from_dp=true) "Pressure drop";
Buildings.Fluid.FixedResistances.PressureDrop dp6(
m_flow_nominal=6000/3600*1.2,
redeclare package Medium = Medium,
dp_nominal=300,
from_dp=true) "Pressure drop";
Buildings.Fluid.FixedResistances.PressureDrop dp7(
m_flow_nominal=6000/3600*1.2,
redeclare package Medium = Medium,
dp_nominal=300,
from_dp=true) "Pressure drop";
Buildings.Fluid.FixedResistances.PressureDrop dp8(
m_flow_nominal=6000/3600*1.2,
redeclare package Medium = Medium,
dp_nominal=300,
from_dp=true) "Pressure drop";
Buildings.Fluid.Sources.Boundary_pT sin(
redeclare package Medium = Medium,
use_p_in=false,
p=101325,
T=293.15,
nPorts=4);
equation
connect(fan1.port_a, relPre.port_b);
connect(fan1.port_b, relPre.port_a);
connect(fan1.port_b, dp1.port_a);
connect(fan2.port_b, dp2.port_a);
connect(fan3.port_b, dp3.port_a);
connect(fan4.port_b, dp4.port_a);
connect(gain.y, fan4.Nrpm);
connect(masFloRat1.m_flow, fan2.m_flow_in);
connect(relPre.p_rel, fan3.dp_in);
connect(dp8.port_b, fan4.port_a);
connect(dp5.port_b, fan1.port_a);
connect(dp6.port_b, fan2.port_a);
connect(dp7.port_b, fan3.port_a);
connect(y.y, fan1.y);
connect(y.y, gain.u);
connect(dp8.port_a, sou.ports[1]);
connect(dp5.port_a, sou.ports[2]);
connect(dp6.port_a, sou.ports[3]);
connect(dp7.port_a, sou.ports[4]);
connect(dp4.port_b, masFloRat4.port_a);
connect(dp1.port_b, masFloRat1.port_a);
connect(dp2.port_b, masFloRat2.port_a);
connect(dp3.port_b, masFloRat3.port_a);
connect(masFloRat4.port_b, sin.ports[1]);
connect(masFloRat1.port_b, sin.ports[2]);
connect(masFloRat2.port_b, sin.ports[3]);
connect(masFloRat3.port_b, sin.ports[4]);
end ControlledFlowMachine;