Buildings.Templates.Components.Fans

Fan models

Information

This package contains models for fans.

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

Package Content

Name Description
Buildings.Templates.Components.Fans.ArrayVariable ArrayVariable Fan array - Variable speed
Buildings.Templates.Components.Fans.None None No fan
Buildings.Templates.Components.Fans.SingleConstant SingleConstant Single fan - Constant speed
Buildings.Templates.Components.Fans.SingleVariable SingleVariable Single fan - Variable speed

Buildings.Templates.Components.Fans.ArrayVariable Buildings.Templates.Components.Fans.ArrayVariable

Fan array - Variable speed

Buildings.Templates.Components.Fans.ArrayVariable

Information

This is a model for a parallel arrangement of identical variable speed fans (or fan array).

Extends from Buildings.Templates.Components.Interfaces.PartialFan (Interface class for fan).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
Fandat Design and operating parameters
Configuration
FantypBuildings.Templates.Componen...Equipment type
Booleanhave_senFlofalseSet to true for air flow measurement
IntegernFan Number of fans
Assumptions
BooleanallowFlowReversaltrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Advanced
MassFlowRatem_flow_small1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed
Dynamics
Nominal condition
Timetau1Time constant of fluid volume for nominal flow, used if energy or mass balance is dynamic [s]
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
Graphics
FanSingletypSinBuildings.Templates.Componen...Type of single fan
Integertext_rotation0Text rotation angle in icon layer
Booleantext_flipfalseTrue to flip text horizontally in icon layer

Connectors

TypeNameDescription
FluidPort_aport_aFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_bFluid connector b (positive design flow direction is from port_a to port_b)
BusbusControl bus

Modelica definition

model ArrayVariable "Fan array - Variable speed" extends Buildings.Templates.Components.Interfaces.PartialFan( final typ=Buildings.Templates.Components.Types.Fan.ArrayVariable); Buildings.Fluid.Movers.SpeedControlled_y fan( redeclare final package Medium=Medium, final inputType=Buildings.Fluid.Types.InputType.Continuous, final per=dat.per, final energyDynamics=energyDynamics, final tau=tau, use_inputFilter=energyDynamics<>Modelica.Fluid.Types.Dynamics.SteadyState, final allowFlowReversal=allowFlowReversal) "Fan array"; Buildings.Controls.OBC.CDL.Conversions.BooleanToReal sigSta "Start/stop signal"; Buildings.Controls.OBC.CDL.Reals.Multiply sigCon "Resulting control signal"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold evaSta( t=1E-2, h=0.5E-2) "Evaluate fan status"; Fluid.BaseClasses.MassFlowRateMultiplier mulInl( redeclare final package Medium = Medium, final use_input=true) "Flow rate multiplier"; Fluid.BaseClasses.MassFlowRateMultiplier mulOut( redeclare final package Medium = Medium, final use_input=true) "Flow rate multiplier"; Buildings.Templates.Components.Controls.MultipleCommands conCom(final nUni=nFan) "Convert command signal"; Buildings.Controls.OBC.CDL.Reals.Multiply pow "Compute input power"; Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicator rep(final nout= nFan) "Replicate"; equation connect(sigSta.y, sigCon.u2); connect(fan.y_actual, evaSta.u); connect(bus.y, sigCon.u1); connect(V_flow.port_a, mulOut.port_b); connect(port_a, mulInl.port_a); connect(mulInl.port_b, fan.port_a); connect(fan.port_b, mulOut.port_a); connect(conCom.y1One, sigSta.u); connect(conCom.nUniOnBou, mulOut.u); connect(mulInl.u, mulOut.uInv); connect(sigCon.y, fan.y); connect(conCom.nUniOn, pow.u1); connect(fan.P, pow.u2); connect(rep.y, conCom.y1); connect(bus.y1, rep.u); connect(evaSta.y, bus.y1_actual); end ArrayVariable;

Buildings.Templates.Components.Fans.None Buildings.Templates.Components.Fans.None

No fan

Buildings.Templates.Components.Fans.None

Information

This is a direct fluid pass-through model to represent a configuration with no fan.

Extends from Buildings.Templates.Components.Interfaces.PartialFan (Interface class for fan).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
Fandat Design and operating parameters
Configuration
FantypBuildings.Templates.Componen...Equipment type
Booleanhave_senFlofalseSet to true for air flow measurement
IntegernFan0Number of fans
Assumptions
BooleanallowFlowReversaltrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Advanced
MassFlowRatem_flow_small1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed
Dynamics
Nominal condition
Timetau1Time constant of fluid volume for nominal flow, used if energy or mass balance is dynamic [s]
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
Graphics
FanSingletypSinBuildings.Templates.Componen...Type of single fan
Integertext_rotation0Text rotation angle in icon layer
Booleantext_flipfalseTrue to flip text horizontally in icon layer

Connectors

TypeNameDescription
FluidPort_aport_aFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_bFluid connector b (positive design flow direction is from port_a to port_b)
BusbusControl bus

Modelica definition

model None "No fan" extends Buildings.Templates.Components.Interfaces.PartialFan( final nFan=0, final typ=Buildings.Templates.Components.Types.Fan.None); equation connect(port_a, V_flow.port_a); end None;

Buildings.Templates.Components.Fans.SingleConstant Buildings.Templates.Components.Fans.SingleConstant

Single fan - Constant speed

Buildings.Templates.Components.Fans.SingleConstant

Information

This is a model for a constant speed fan.

Extends from Buildings.Templates.Components.Interfaces.PartialFan (Interface class for fan).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
Fandat Design and operating parameters
Configuration
FantypBuildings.Templates.Componen...Equipment type
Booleanhave_senFlofalseSet to true for air flow measurement
IntegernFan1Number of fans
Assumptions
BooleanallowFlowReversaltrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Advanced
MassFlowRatem_flow_small1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed
Dynamics
Nominal condition
Timetau1Time constant of fluid volume for nominal flow, used if energy or mass balance is dynamic [s]
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
Graphics
FanSingletypSinBuildings.Templates.Componen...Type of single fan
Integertext_rotation0Text rotation angle in icon layer
Booleantext_flipfalseTrue to flip text horizontally in icon layer

Connectors

TypeNameDescription
FluidPort_aport_aFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_bFluid connector b (positive design flow direction is from port_a to port_b)
BusbusControl bus

Modelica definition

model SingleConstant "Single fan - Constant speed" extends Buildings.Templates.Components.Interfaces.PartialFan( final nFan=1, final typ=Buildings.Templates.Components.Types.Fan.SingleConstant); Buildings.Fluid.Movers.SpeedControlled_y fan( redeclare final package Medium =Medium, final inputType=Buildings.Fluid.Types.InputType.Continuous, final per=dat.per, final energyDynamics=energyDynamics, final tau=tau, use_inputFilter=energyDynamics<>Modelica.Fluid.Types.Dynamics.SteadyState, final allowFlowReversal=allowFlowReversal) "Fan"; Buildings.Controls.OBC.CDL.Conversions.BooleanToReal sigSta "Start/stop signal"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold evaSta( t=1E-2, h=0.5E-2) "Evaluate fan status"; equation connect(sigSta.y, fan.y); connect(port_a, fan.port_a); connect(fan.y_actual, evaSta.u); connect(bus.y1, sigSta.u); connect(evaSta.y, bus.y1_actual); connect(fan.port_b, V_flow.port_a); end SingleConstant;

Buildings.Templates.Components.Fans.SingleVariable Buildings.Templates.Components.Fans.SingleVariable

Single fan - Variable speed

Buildings.Templates.Components.Fans.SingleVariable

Information

This is a model for a variable speed fan (with VFD).

Extends from Buildings.Templates.Components.Interfaces.PartialFan (Interface class for fan).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
Fandat Design and operating parameters
Configuration
FantypBuildings.Templates.Componen...Equipment type
Booleanhave_senFlofalseSet to true for air flow measurement
IntegernFan1Number of fans
Assumptions
BooleanallowFlowReversaltrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Advanced
MassFlowRatem_flow_small1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed
Dynamics
Nominal condition
Timetau1Time constant of fluid volume for nominal flow, used if energy or mass balance is dynamic [s]
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
Graphics
FanSingletypSinBuildings.Templates.Componen...Type of single fan
Integertext_rotation0Text rotation angle in icon layer
Booleantext_flipfalseTrue to flip text horizontally in icon layer

Connectors

TypeNameDescription
FluidPort_aport_aFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_bFluid connector b (positive design flow direction is from port_a to port_b)
BusbusControl bus

Modelica definition

model SingleVariable "Single fan - Variable speed" extends Buildings.Templates.Components.Interfaces.PartialFan( final nFan=1, final typ=Buildings.Templates.Components.Types.Fan.SingleVariable); Buildings.Fluid.Movers.SpeedControlled_y fan( redeclare final package Medium = Medium, final inputType=Buildings.Fluid.Types.InputType.Continuous, final per=dat.per, final energyDynamics=energyDynamics, final tau=tau, use_inputFilter=energyDynamics<>Modelica.Fluid.Types.Dynamics.SteadyState, final allowFlowReversal=allowFlowReversal) "Fan"; Buildings.Controls.OBC.CDL.Conversions.BooleanToReal sigSta "Start/stop signal"; Buildings.Controls.OBC.CDL.Reals.Multiply sigCon "Resulting control signal"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold evaSta( t=1E-2, h=0.5E-2) "Evaluate fan status"; equation connect(port_a, fan.port_a); connect(fan.y_actual, evaSta.u); connect(bus.y1, sigSta.u); connect(evaSta.y, bus.y1_actual); connect(sigCon.y, fan.y); connect(bus.y, sigCon.u1); connect(sigSta.y, sigCon.u2); connect(fan.port_b, V_flow.port_a); end SingleVariable;