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
Buildings.Obsolete.Fluid.Movers.Validation.BaseClasses.ControlledFlowMachine ControlledFlowMachine  

Buildings.Obsolete.Fluid.Movers.Validation.BaseClasses.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

TypeNameDefaultDescription
SpeedControlled_yfan1fan1(redeclare package Mediu...Fan with normalized control input between 0 and 1
FlowControlled_dpfan3fan3(redeclare package Mediu...Fan with head as input
FlowControlled_m_flowfan2fan2(redeclare package Mediu...Fan with mass flow rate as input
SpeedControlled_Nrpmfan4fan4(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;