Buildings.Fluid.Actuators.Valves

Package with valve models

Information


This package contains components models for two- and three-way valves.
For motor models, see
Buildings.Fluid.Actuators.Motors.

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

Package Content

NameDescription
Buildings.Fluid.Actuators.Valves.ThreeWayEqualPercentageLinear ThreeWayEqualPercentageLinear Three way valve with equal percentage and linear characteristics
Buildings.Fluid.Actuators.Valves.ThreeWayLinear ThreeWayLinear Three way valve with linear characteristics
Buildings.Fluid.Actuators.Valves.TwoWayEqualPercentage TwoWayEqualPercentage Two way valve with linear flow characteristics
Buildings.Fluid.Actuators.Valves.TwoWayLinear TwoWayLinear Two way valve with linear flow characteristics
Buildings.Fluid.Actuators.Valves.TwoWayQuickOpening TwoWayQuickOpening Two way valve with linear flow characteristics


Buildings.Fluid.Actuators.Valves.ThreeWayEqualPercentageLinear Buildings.Fluid.Actuators.Valves.ThreeWayEqualPercentageLinear

Three way valve with equal percentage and linear characteristics

Buildings.Fluid.Actuators.Valves.ThreeWayEqualPercentageLinear

Information


Three way valve with equal percentage characteristics between port_1 and port_2 and linear opening characteristic between port_1 and port_2. Such opening characteristics were typical for valves from Landis & Gyr (now Siemens).

This model is based on the partial valve models PartialThreeWayValve and PartialTwoWayValve. See PartialThreeWayValve for the implementation of the three way valve and see PartialTwoWayValve for the implementation of the leakage flow or the regularization near the origin.

Extends from BaseClasses.PartialThreeWayValve (Partial three way valve).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumFluid medium model
RealfraK0.7Fraction Kv_SI(port_1->port_2)/Kv_SI(port_3->port_2)
Reall[2]{0,0}Valve leakage, l=Cv(y=0)/Cvs
RealR50Rangeability, R=50...100 typically
Realdelta00.01Range of significant deviation from equal percentage law
Flow Coefficient
CvTypesCvDataBuildings.Fluid.Types.CvType...Selection of flow coefficient
RealKv0Kv (metric) flow coefficient [m3/h/(bar)^(1/2)]
RealCv0Cv (US) flow coefficient [USG/min/(psi)^(1/2)]
AreaAv0Av (metric) flow coefficient [m2]
RealKv_SIm_flow_nominal/sqrt(dpVal_no...Flow coefficient for fully open valve in SI units, Kv=m_flow/sqrt(dp) [kg/s/(Pa)^(1/2)]
Pressure-flow linearization
RealdeltaM0.02Fraction of nominal flow rate where linearization starts, if y=1
Nominal condition
MassFlowRatem_flow_nominal Nominal mass flow rate [kg/s]
Pressuredp_nominal6000Nominal pressure drop [Pa]
Advanced
Booleanfrom_dptrue= true, use m_flow = f(dp) else dp = f(m_flow)
BooleanhomotopyInitializationtrue= true, use homotopy method
Booleanlinearized[2]{false,false}= true, use linear relation between m_flow and dp for any flow rate
Nominal condition
DensityrhoStdMedium.density_pTX(101325, 2...Inlet density for which valve coefficients are defined [kg/m3]
Assumptions
Dynamics
BooleandynamicBalancetrueSet to true to use a dynamic balance, which often leads to smaller systems of equations
Timetau10Time constant at nominal flow for dynamic energy and momentum balance [s]
DynamicsenergyDynamicssystem.energyDynamicsFormulation of energy balance
DynamicsmassDynamicssystem.massDynamicsFormulation of mass balance
Initialization
AbsolutePressurep_startMedium.p_defaultStart value of pressure [Pa]
Booleanuse_T_starttrue= true, use T_start, otherwise h_start
TemperatureT_startif use_T_start then Medium.T...Start value of temperature [K]
SpecificEnthalpyh_startif use_T_start then Medium.s...Start value of specific enthalpy [J/kg]
MassFractionX_start[Medium.nX]Medium.X_defaultStart value of mass fractions m_i/m [kg/kg]
ExtraPropertyC_start[Medium.nC]fill(0, Medium.nC)Start value of trace substances

Connectors

TypeNameDescription
FluidPort_aport_1 
FluidPort_bport_2 
FluidPort_aport_3 
input RealInputyValve position (0: closed, 1: open)

Modelica definition

model ThreeWayEqualPercentageLinear 
  "Three way valve with equal percentage and linear characteristics"
    extends BaseClasses.PartialThreeWayValve(
      redeclare TwoWayEqualPercentage res1(
      redeclare package Medium = Medium,
      l=l[1],
      deltaM=deltaM,
      dp_nominal=dp_nominal,
      dp(start=dp_nominal/2),
      from_dp=from_dp,
      linearized=linearized[1],
      homotopyInitialization=homotopyInitialization,
      R=R,
      delta0=delta0,
      m_flow_nominal=m_flow_nominal,
      CvData=CvData,
      Kv_SI=Kv_SI,
      Kv=Kv,
      Cv=Cv,
      Av=Av),
      redeclare TwoWayLinear res3(
      redeclare package Medium = Medium,
      l=l[2],
      deltaM=deltaM,
      dp_nominal=dp_nominal,
      dp(start=dp_nominal/2),
      from_dp=from_dp,
      linearized=linearized[2],
      homotopyInitialization=homotopyInitialization,
      m_flow_nominal=m_flow_nominal,
      CvData=CvData,
      Kv_SI=fraK*Kv_SI,
      Kv=fraK*Kv,
      Cv=fraK*Cv,
      Av=fraK*Av));
  parameter Real R = 50 "Rangeability, R=50...100 typically";
  parameter Real delta0 = 0.01 
    "Range of significant deviation from equal percentage law";

equation 
  connect(inv.y, res3.y);
  connect(y, inv.u2);
  connect(y, res1.y);
end ThreeWayEqualPercentageLinear;

Buildings.Fluid.Actuators.Valves.ThreeWayLinear Buildings.Fluid.Actuators.Valves.ThreeWayLinear

Three way valve with linear characteristics

Buildings.Fluid.Actuators.Valves.ThreeWayLinear

Information


Three way valve with linear opening characteristic.

This model is based on the partial valve models PartialThreeWayValve and PartialTwoWayValve. See PartialThreeWayValve for the implementation of the three way valve and see PartialTwoWayValve for the implementation of the leakage flow or the regularization near the origin.

Extends from BaseClasses.PartialThreeWayValve (Partial three way valve).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumFluid medium model
RealfraK0.7Fraction Kv_SI(port_1->port_2)/Kv_SI(port_3->port_2)
Reall[2]{0,0}Valve leakage, l=Cv(y=0)/Cvs
Flow Coefficient
CvTypesCvDataBuildings.Fluid.Types.CvType...Selection of flow coefficient
RealKv0Kv (metric) flow coefficient [m3/h/(bar)^(1/2)]
RealCv0Cv (US) flow coefficient [USG/min/(psi)^(1/2)]
AreaAv0Av (metric) flow coefficient [m2]
RealKv_SIm_flow_nominal/sqrt(dpVal_no...Flow coefficient for fully open valve in SI units, Kv=m_flow/sqrt(dp) [kg/s/(Pa)^(1/2)]
Pressure-flow linearization
RealdeltaM0.02Fraction of nominal flow rate where linearization starts, if y=1
Nominal condition
MassFlowRatem_flow_nominal Nominal mass flow rate [kg/s]
Pressuredp_nominal6000Nominal pressure drop [Pa]
Advanced
Booleanfrom_dptrue= true, use m_flow = f(dp) else dp = f(m_flow)
BooleanhomotopyInitializationtrue= true, use homotopy method
Booleanlinearized[2]{false,false}= true, use linear relation between m_flow and dp for any flow rate
Nominal condition
DensityrhoStdMedium.density_pTX(101325, 2...Inlet density for which valve coefficients are defined [kg/m3]
Assumptions
Dynamics
BooleandynamicBalancetrueSet to true to use a dynamic balance, which often leads to smaller systems of equations
Timetau10Time constant at nominal flow for dynamic energy and momentum balance [s]
DynamicsenergyDynamicssystem.energyDynamicsFormulation of energy balance
DynamicsmassDynamicssystem.massDynamicsFormulation of mass balance
Initialization
AbsolutePressurep_startMedium.p_defaultStart value of pressure [Pa]
Booleanuse_T_starttrue= true, use T_start, otherwise h_start
TemperatureT_startif use_T_start then Medium.T...Start value of temperature [K]
SpecificEnthalpyh_startif use_T_start then Medium.s...Start value of specific enthalpy [J/kg]
MassFractionX_start[Medium.nX]Medium.X_defaultStart value of mass fractions m_i/m [kg/kg]
ExtraPropertyC_start[Medium.nC]fill(0, Medium.nC)Start value of trace substances

Connectors

TypeNameDescription
FluidPort_aport_1 
FluidPort_bport_2 
FluidPort_aport_3 
input RealInputyValve position (0: closed, 1: open)

Modelica definition

model ThreeWayLinear "Three way valve with linear characteristics"
    extends BaseClasses.PartialThreeWayValve(
      redeclare TwoWayLinear res1(
      redeclare package Medium = Medium,
      l=l[1],
      deltaM=deltaM,
      dp_nominal=dp_nominal,
      dp(start=dp_nominal/2),
      from_dp=from_dp,
      linearized=linearized[1],
      homotopyInitialization=homotopyInitialization,
      m_flow_nominal=m_flow_nominal,
      CvData=CvData,
      Kv_SI=Kv_SI,
      Kv=Kv,
      Cv=Cv,
      Av=Av),
      redeclare TwoWayLinear res3(
      redeclare package Medium = Medium,
      l=l[2],
      deltaM=deltaM,
      dp_nominal=dp_nominal,
      dp(start=dp_nominal/2),
      from_dp=from_dp,
      linearized=linearized[2],
      homotopyInitialization=homotopyInitialization,
      m_flow_nominal=m_flow_nominal,
      CvData=CvData,
      Kv_SI=fraK*Kv_SI,
      Kv=fraK*Kv,
      Cv=fraK*Cv,
      Av=fraK*Av));

equation 
  connect(inv.y, res3.y);
  connect(y, inv.u2);
  connect(y, res1.y);
end ThreeWayLinear;

Buildings.Fluid.Actuators.Valves.TwoWayEqualPercentage Buildings.Fluid.Actuators.Valves.TwoWayEqualPercentage

Two way valve with linear flow characteristics

Buildings.Fluid.Actuators.Valves.TwoWayEqualPercentage

Information


Two way valve with an equal percentage valve opening characteristic.

This model is based on the partial valve model PartialTwoWayValve. Check this model for more information, such as the leakage flow or regularization near the origin.

Extends from BaseClasses.PartialTwoWayValve (Partial model for a two way valve).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
Reall0.0001Valve leakage, l=Cv(y=0)/Cvs
RealR50Rangeability, R=50...100 typically
Realdelta00.01Range of significant deviation from equal percentage law
Nominal condition
MassFlowRatem_flow_nominal Nominal mass flow rate [kg/s]
Pressuredp_nominal6000Pressure drop at nominal mass flow rate [Pa]
Flow Coefficient
CvTypesCvDataBuildings.Fluid.Types.CvType...Selection of flow coefficient
RealKv0Kv (metric) flow coefficient [m3/h/(bar)^(1/2)]
RealCv0Cv (US) flow coefficient [USG/min/(psi)^(1/2)]
AreaAv0Av (metric) flow coefficient [m2]
RealKv_SIm_flow_nominal/sqrt(dpVal_no...Flow coefficient for fully open valve in SI units, Kv=m_flow/sqrt(dp) [kg/s/(Pa)^(1/2)]
Pressure-flow linearization
RealdeltaM0.02Fraction of nominal flow rate where linearization starts, if y=1
Assumptions
BooleanallowFlowReversalsystem.allowFlowReversal= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
MassFlowRatem_flow_small1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
BooleanhomotopyInitializationtrue= true, use homotopy method
Booleanfrom_dpfalse= true, use m_flow = f(dp) else dp = f(m_flow)
Booleanlinearizedfalse= true, use linear relation between m_flow and dp for any flow rate
Diagnostics
Booleanshow_V_flowfalse= true, if volume flow rate at inflowing port is computed
Booleanshow_Tfalse= true, if actual temperature at port is computed (may lead to events)
Nominal condition
DensityrhoStdMedium.density_pTX(101325, 2...Inlet density for which valve coefficients are defined [kg/m3]

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)
input RealInputyActuator position (0: closed, 1: open)

Modelica definition

model TwoWayEqualPercentage 
  "Two way valve with linear flow characteristics"
  extends BaseClasses.PartialTwoWayValve;
  parameter Real R = 50 "Rangeability, R=50...100 typically";
  parameter Real delta0 = 0.01 
    "Range of significant deviation from equal percentage law";
initial equation 
 assert(l < 1/R, "Wrong parameters in valve model.\n"
               + "  Rangeability R = " + realString(R) +  "\n"
               + "  Leakage flow l = " + realString(l) +  "\n"
               + "  Must have l < 1/R = " + realString(1/R));

equation 
  if homotopyInitialization then
     phi = homotopy(actual=Buildings.Fluid.Actuators.BaseClasses.equalPercentage(y, R, l, delta0),
                    simplified=l + y * (1 - l));
  else
     phi = Buildings.Fluid.Actuators.BaseClasses.equalPercentage(y, R, l, delta0);
  end if;
end TwoWayEqualPercentage;

Buildings.Fluid.Actuators.Valves.TwoWayLinear Buildings.Fluid.Actuators.Valves.TwoWayLinear

Two way valve with linear flow characteristics

Buildings.Fluid.Actuators.Valves.TwoWayLinear

Information


Two way valve with linear opening characteristic.

This model is based on the partial valve model PartialTwoWayValve. Check this model for more information, such as the leakage flow or regularization near the origin.

Extends from BaseClasses.PartialTwoWayValve (Partial model for a two way valve).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
Reall0.0001Valve leakage, l=Cv(y=0)/Cvs
Nominal condition
MassFlowRatem_flow_nominal Nominal mass flow rate [kg/s]
Pressuredp_nominal6000Pressure drop at nominal mass flow rate [Pa]
Flow Coefficient
CvTypesCvDataBuildings.Fluid.Types.CvType...Selection of flow coefficient
RealKv0Kv (metric) flow coefficient [m3/h/(bar)^(1/2)]
RealCv0Cv (US) flow coefficient [USG/min/(psi)^(1/2)]
AreaAv0Av (metric) flow coefficient [m2]
RealKv_SIm_flow_nominal/sqrt(dpVal_no...Flow coefficient for fully open valve in SI units, Kv=m_flow/sqrt(dp) [kg/s/(Pa)^(1/2)]
Pressure-flow linearization
RealdeltaM0.02Fraction of nominal flow rate where linearization starts, if y=1
Assumptions
BooleanallowFlowReversalsystem.allowFlowReversal= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
MassFlowRatem_flow_small1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
BooleanhomotopyInitializationtrue= true, use homotopy method
Booleanfrom_dpfalse= true, use m_flow = f(dp) else dp = f(m_flow)
Booleanlinearizedfalse= true, use linear relation between m_flow and dp for any flow rate
Diagnostics
Booleanshow_V_flowfalse= true, if volume flow rate at inflowing port is computed
Booleanshow_Tfalse= true, if actual temperature at port is computed (may lead to events)
Nominal condition
DensityrhoStdMedium.density_pTX(101325, 2...Inlet density for which valve coefficients are defined [kg/m3]

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)
input RealInputyActuator position (0: closed, 1: open)

Modelica definition

model TwoWayLinear "Two way valve with linear flow characteristics"
  extends BaseClasses.PartialTwoWayValve;

equation 
  phi = l + y * (1 - l);
end TwoWayLinear;

Buildings.Fluid.Actuators.Valves.TwoWayQuickOpening Buildings.Fluid.Actuators.Valves.TwoWayQuickOpening

Two way valve with linear flow characteristics

Buildings.Fluid.Actuators.Valves.TwoWayQuickOpening

Information


Two way valve with a power function for the valve opening characteristic. Valves that need to open quickly typically have such a valve characteristics.

This model is based on the partial valve model PartialTwoWayValve. Check this model for more information, such as the leakage flow or regularization near the origin.

Extends from BaseClasses.PartialTwoWayValve (Partial model for a two way valve).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
Reall0.0001Valve leakage, l=Cv(y=0)/Cvs
Realalp2Parameter for valve characteristics, alp>0
Realdelta00.01Range of significant deviation from power law
Nominal condition
MassFlowRatem_flow_nominal Nominal mass flow rate [kg/s]
Pressuredp_nominal6000Pressure drop at nominal mass flow rate [Pa]
Flow Coefficient
CvTypesCvDataBuildings.Fluid.Types.CvType...Selection of flow coefficient
RealKv0Kv (metric) flow coefficient [m3/h/(bar)^(1/2)]
RealCv0Cv (US) flow coefficient [USG/min/(psi)^(1/2)]
AreaAv0Av (metric) flow coefficient [m2]
RealKv_SIm_flow_nominal/sqrt(dpVal_no...Flow coefficient for fully open valve in SI units, Kv=m_flow/sqrt(dp) [kg/s/(Pa)^(1/2)]
Pressure-flow linearization
RealdeltaM0.02Fraction of nominal flow rate where linearization starts, if y=1
Assumptions
BooleanallowFlowReversalsystem.allowFlowReversal= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
MassFlowRatem_flow_small1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
BooleanhomotopyInitializationtrue= true, use homotopy method
Booleanfrom_dpfalse= true, use m_flow = f(dp) else dp = f(m_flow)
Booleanlinearizedfalse= true, use linear relation between m_flow and dp for any flow rate
Diagnostics
Booleanshow_V_flowfalse= true, if volume flow rate at inflowing port is computed
Booleanshow_Tfalse= true, if actual temperature at port is computed (may lead to events)
Nominal condition
DensityrhoStdMedium.density_pTX(101325, 2...Inlet density for which valve coefficients are defined [kg/m3]

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)
input RealInputyActuator position (0: closed, 1: open)

Modelica definition

model TwoWayQuickOpening 
  "Two way valve with linear flow characteristics"
  extends BaseClasses.PartialTwoWayValve;
  parameter Real alp = 2 "Parameter for valve characteristics, alp>0";
  parameter Real delta0 = 0.01 "Range of significant deviation from power law";
protected 
   parameter Real alpInv = 1/alp;
equation 
  if homotopyInitialization then
     phi = homotopy(actual=l + Modelica.Fluid.Utilities.regPow(y, alpInv, delta0) * (1 - l),
                    simplified=l + y * (1 - l));
  else
     phi = l + Modelica.Fluid.Utilities.regPow(y, alpInv, delta0) * (1 - l);
  end if;
end TwoWayQuickOpening;

Automatically generated Fri May 06 14:11:15 2011.