Buildings.Templates.Components.Valves

Valve models

Information

This package contains models for valves.

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

Package Content

Name Description
Buildings.Templates.Components.Valves.None None No valve
Buildings.Templates.Components.Valves.ThreeWayModulating ThreeWayModulating Three-way modulating valve
Buildings.Templates.Components.Valves.ThreeWayTwoPosition ThreeWayTwoPosition Three-way two-position valve
Buildings.Templates.Components.Valves.TwoWayModulating TwoWayModulating Two-way modulating valve
Buildings.Templates.Components.Valves.TwoWayTwoPosition TwoWayTwoPosition Two-way two-position valve

Buildings.Templates.Components.Valves.None Buildings.Templates.Components.Valves.None

No valve

Buildings.Templates.Components.Valves.None

Information

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

Extends from Buildings.Templates.Components.Interfaces.PartialValve (Interface class for valve).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
Valvedat Design and operating parameters
Configuration
ValvetypBuildings.Templates.Componen...Equipment type
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
Filtered opening
Booleanuse_inputFiltertrue= true, if opening is filtered with a 2nd order CriticalDamping filter
TimeriseTime120Rise time of the filter (time to reach 99.6 % of an opening step) [s]
InitinitModelica.Blocks.Types.Init.I...Type of initialization (no init/steady state/initial state/initial output)
Realy_start1Initial position of actuator
Nominal condition
Timetau10Time constant at nominal flow [s]
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
Graphics
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)
FluidPort_aportByp_aFluid connector with bypass line
BusbusControl bus

Modelica definition

model None "No valve" extends Buildings.Templates.Components.Interfaces.PartialValve( final typ=Buildings.Templates.Components.Types.Valve.None); equation connect(port_a, port_b); end None;

Buildings.Templates.Components.Valves.ThreeWayModulating Buildings.Templates.Components.Valves.ThreeWayModulating

Three-way modulating valve

Buildings.Templates.Components.Valves.ThreeWayModulating

Information

This is a model for a three-way modulating valve.

Extends from Buildings.Templates.Components.Interfaces.PartialValve (Interface class for valve).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
Valvedat Design and operating parameters
ThreeWayEqualPercentageLinearvalredeclare Buildings.Fluid.Ac...Valve
Configuration
ValvetypBuildings.Templates.Componen...Equipment type
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
Filtered opening
Booleanuse_inputFiltertrue= true, if opening is filtered with a 2nd order CriticalDamping filter
TimeriseTime120Rise time of the filter (time to reach 99.6 % of an opening step) [s]
InitinitModelica.Blocks.Types.Init.I...Type of initialization (no init/steady state/initial state/initial output)
Realy_start1Initial position of actuator
Nominal condition
Timetau10Time constant at nominal flow [s]
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
Graphics
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)
FluidPort_aportByp_aFluid connector with bypass line
BusbusControl bus

Modelica definition

model ThreeWayModulating "Three-way modulating valve" extends Buildings.Templates.Components.Interfaces.PartialValve( final typ=Buildings.Templates.Components.Types.Valve.ThreeWayModulating); replaceable Buildings.Fluid.Actuators.Valves.ThreeWayEqualPercentageLinear val constrainedby Buildings.Fluid.Actuators.BaseClasses.PartialThreeWayValve( redeclare final package Medium=Medium, final m_flow_nominal=m_flow_nominal, final dpValve_nominal=dpValve_nominal, final dpFixed_nominal={dpFixed_nominal, dpFixedByp_nominal}, final energyDynamics=energyDynamics, final tau=tau, final use_inputFilter=use_inputFilter, final riseTime=riseTime, final init=init, final y_start=y_start, final portFlowDirection_1=if allowFlowReversal then Modelica.Fluid.Types.PortFlowDirection.Bidirectional else Modelica.Fluid.Types.PortFlowDirection.Entering, final portFlowDirection_2=if allowFlowReversal then Modelica.Fluid.Types.PortFlowDirection.Bidirectional else Modelica.Fluid.Types.PortFlowDirection.Leaving, final portFlowDirection_3=if allowFlowReversal then Modelica.Fluid.Types.PortFlowDirection.Bidirectional else Modelica.Fluid.Types.PortFlowDirection.Entering) "Valve"; equation connect(port_a, val.port_1); connect(val.port_2, port_b); connect(val.port_3, portByp_a); connect(bus.y, val.y); connect(val.y_actual, bus.y_actual); end ThreeWayModulating;

Buildings.Templates.Components.Valves.ThreeWayTwoPosition Buildings.Templates.Components.Valves.ThreeWayTwoPosition

Three-way two-position valve

Buildings.Templates.Components.Valves.ThreeWayTwoPosition

Information

This is a model for a three-way two-position (directional) valve.

Extends from Buildings.Templates.Components.Interfaces.PartialValve (Interface class for valve).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
Valvedat Design and operating parameters
ThreeWayLinearvalredeclare Buildings.Fluid.Ac...Valve
Configuration
ValvetypBuildings.Templates.Componen...Equipment type
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
Filtered opening
Booleanuse_inputFiltertrue= true, if opening is filtered with a 2nd order CriticalDamping filter
TimeriseTime120Rise time of the filter (time to reach 99.6 % of an opening step) [s]
InitinitModelica.Blocks.Types.Init.I...Type of initialization (no init/steady state/initial state/initial output)
Realy_start1Initial position of actuator
Nominal condition
Timetau10Time constant at nominal flow [s]
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
Graphics
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)
FluidPort_aportByp_aFluid connector with bypass line
BusbusControl bus

Modelica definition

model ThreeWayTwoPosition "Three-way two-position valve" extends Buildings.Templates.Components.Interfaces.PartialValve( final typ=Buildings.Templates.Components.Types.Valve.ThreeWayTwoPosition); replaceable Buildings.Fluid.Actuators.Valves.ThreeWayLinear val constrainedby Buildings.Fluid.Actuators.BaseClasses.PartialThreeWayValve( redeclare final package Medium=Medium, final m_flow_nominal=m_flow_nominal, final dpValve_nominal=dpValve_nominal, final dpFixed_nominal={dpFixed_nominal, dpFixedByp_nominal}, final energyDynamics=energyDynamics, final tau=tau, final use_inputFilter=use_inputFilter, final riseTime=riseTime, final init=init, final y_start=y_start, final portFlowDirection_1=if allowFlowReversal then Modelica.Fluid.Types.PortFlowDirection.Bidirectional else Modelica.Fluid.Types.PortFlowDirection.Entering, final portFlowDirection_2=if allowFlowReversal then Modelica.Fluid.Types.PortFlowDirection.Bidirectional else Modelica.Fluid.Types.PortFlowDirection.Leaving, final portFlowDirection_3=if allowFlowReversal then Modelica.Fluid.Types.PortFlowDirection.Bidirectional else Modelica.Fluid.Types.PortFlowDirection.Entering) "Valve"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold evaOpe(t=0.99, h=0.5E-2) "Return true if open (open end switch contact)"; Buildings.Controls.OBC.CDL.Reals.LessThreshold evaClo(t=0.01, h=0.5E-2) "Return true if closed (closed end switch contact)"; Buildings.Controls.OBC.CDL.Conversions.BooleanToReal booToRea( final realTrue=1, final realFalse=0) "Signal conversion"; equation connect(port_a, val.port_1); connect(val.port_2, port_b); connect(val.y_actual, evaOpe.u); connect(val.y_actual, evaClo.u); connect(evaOpe.y, bus.y1_actual); connect(evaClo.y, bus.y0_actual); connect(booToRea.u, bus.y1); connect(booToRea.y, val.y); connect(val.port_3, portByp_a); end ThreeWayTwoPosition;

Buildings.Templates.Components.Valves.TwoWayModulating Buildings.Templates.Components.Valves.TwoWayModulating

Two-way modulating valve

Buildings.Templates.Components.Valves.TwoWayModulating

Information

This is a model for a two-way modulating valve.

Extends from Buildings.Templates.Components.Interfaces.PartialValve (Interface class for valve).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
Valvedat Design and operating parameters
TwoWayEqualPercentagevalredeclare Buildings.Fluid.Ac...Valve
Configuration
ValvetypBuildings.Templates.Componen...Equipment type
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
Filtered opening
Booleanuse_inputFiltertrue= true, if opening is filtered with a 2nd order CriticalDamping filter
TimeriseTime120Rise time of the filter (time to reach 99.6 % of an opening step) [s]
InitinitModelica.Blocks.Types.Init.I...Type of initialization (no init/steady state/initial state/initial output)
Realy_start1Initial position of actuator
Nominal condition
Timetau10Time constant at nominal flow [s]
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
Graphics
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)
FluidPort_aportByp_aFluid connector with bypass line
BusbusControl bus

Modelica definition

model TwoWayModulating "Two-way modulating valve" extends Buildings.Templates.Components.Interfaces.PartialValve( final typ=Buildings.Templates.Components.Types.Valve.TwoWayModulating); replaceable Buildings.Fluid.Actuators.Valves.TwoWayEqualPercentage val constrainedby Buildings.Fluid.Actuators.BaseClasses.PartialTwoWayValve( redeclare final package Medium=Medium, final m_flow_nominal=m_flow_nominal, final dpValve_nominal=dpValve_nominal, final dpFixed_nominal=dpFixed_nominal, final use_inputFilter=use_inputFilter, final riseTime=riseTime, final init=init, final y_start=y_start, final allowFlowReversal=allowFlowReversal, final show_T=show_T) "Valve"; equation connect(port_a, val.port_a); connect(val.port_b, port_b); connect(bus.y, val.y); connect(val.y_actual, bus.y_actual); end TwoWayModulating;

Buildings.Templates.Components.Valves.TwoWayTwoPosition Buildings.Templates.Components.Valves.TwoWayTwoPosition

Two-way two-position valve

Buildings.Templates.Components.Valves.TwoWayTwoPosition

Information

This is a model for a two-way two-position (isolation) valve.

Extends from Buildings.Templates.Components.Interfaces.PartialValve (Interface class for valve).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
Valvedat Design and operating parameters
TwoWayPolynomialvalval(c={0,1.101898284705380E-...Valve (butterfly valve characteristic)
Configuration
ValvetypBuildings.Templates.Componen...Equipment type
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
Filtered opening
Booleanuse_inputFiltertrue= true, if opening is filtered with a 2nd order CriticalDamping filter
TimeriseTime120Rise time of the filter (time to reach 99.6 % of an opening step) [s]
InitinitModelica.Blocks.Types.Init.I...Type of initialization (no init/steady state/initial state/initial output)
Realy_start1Initial position of actuator
Nominal condition
Timetau10Time constant at nominal flow [s]
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
Graphics
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)
FluidPort_aportByp_aFluid connector with bypass line
BusbusControl bus

Modelica definition

model TwoWayTwoPosition "Two-way two-position valve" extends Buildings.Templates.Components.Interfaces.PartialValve( final typ=Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition); replaceable Buildings.Fluid.Actuators.Valves.TwoWayPolynomial val( c={0,1.101898284705380E-01, 2.217227395456580, -7.483401207660790, 1.277617623360130E+01, -6.618045307070130}) constrainedby Buildings.Fluid.Actuators.BaseClasses.PartialTwoWayValve( redeclare final package Medium=Medium, final CvData = Buildings.Fluid.Types.CvTypes.OpPoint, final m_flow_nominal=m_flow_nominal, final dpValve_nominal=dpValve_nominal, final dpFixed_nominal=dpFixed_nominal, final use_inputFilter=use_inputFilter, final riseTime=riseTime, final init=init, final y_start=y_start, final allowFlowReversal=allowFlowReversal, final show_T=show_T) "Valve (butterfly valve characteristic)"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold evaOpe( t=0.99, h=0.5E-2) "Return true if open (open end switch contact)"; Buildings.Controls.OBC.CDL.Reals.LessThreshold evaClo(t=0.01, h=0.5E-2) "Return true if closed (closed end switch contact)"; Buildings.Controls.OBC.CDL.Conversions.BooleanToReal booToRea( final realTrue=1, final realFalse=0) "Signal conversion"; equation connect(port_a, val.port_a); connect(val.port_b, port_b); connect(val.y_actual, evaOpe.u); connect(val.y_actual, evaClo.u); connect(evaOpe.y, bus.y1_actual); connect(evaClo.y, bus.y0_actual); connect(booToRea.u, bus.y1); connect(booToRea.y, val.y); end TwoWayTwoPosition;