 
Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
| Name | Description | 
|---|---|
|  ThreeWayEqualPercentageLinear | Three way valve with equal percentage and linear characteristics | 
|  ThreeWayLinear | Three way valve with linear characteristics | 
|  TwoWayEqualPercentage | Two way valve with linear flow characteristics | 
|  TwoWayLinear | Two way valve with linear flow characteristics | 
|  TwoWayQuickOpening | Two way valve with linear flow characteristics | 
 Buildings.Fluid.Actuators.Valves.ThreeWayEqualPercentageLinear
Buildings.Fluid.Actuators.Valves.ThreeWayEqualPercentageLinear
 
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 Buildings.Fluid.Actuators.BaseClasses.PartialThreeWayValve and Buildings.Fluid.Actuators.BaseClasses.PartialTwoWayValve. See Buildings.Fluid.Actuators.BaseClasses.PartialThreeWayValve for the implementation of the three way valve and see Buildings.Fluid.Actuators.BaseClasses.PartialTwoWayValve for the implementation of the leakage flow or the regularization near the origin.
Extends from BaseClasses.PartialThreeWayValve (Partial three way valve).
| Type | Name | Default | Description | 
|---|---|---|---|
| replaceable package Medium | PartialMedium | Medium in the component | |
| Real | fraK | 0.7 | Fraction Kv_SI(port_1->port_2)/Kv_SI(port_3->port_2) | 
| Real | l[2] | {0,0} | Valve leakage, l=Cv(y=0)/Cvs | 
| Real | R | 50 | Rangeability, R=50...100 typically | 
| Real | delta0 | 0.01 | Range of significant deviation from equal percentage law | 
| Flow Coefficient | |||
| CvTypes | CvData | Buildings.Fluid.Types.CvType... | Selection of flow coefficient | 
| Real | Kv | 0 | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | 
| Real | Cv | 0 | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | 
| Area | Av | 0 | Av (metric) flow coefficient [m2] | 
| Real | Kv_SI | m_flow_nominal/sqrt(dpValve_... | Flow coefficient for fully open valve in SI units, Kv=m_flow/sqrt(dp) [kg/s/(Pa)^(1/2)] | 
| Pressure-flow linearization | |||
| Real | deltaM | 0.02 | Fraction of nominal flow rate where linearization starts, if y=1 | 
| Nominal condition | |||
| MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
| Pressure | dpValve_nominal | 6000 | Nominal pressure drop of fully open valve [Pa] | 
| Pressure | dpFixed_nominal[2] | {0,0} | Nominal pressure drop of pipes and other equipment in flow legs at port_1 and port_3 [Pa] | 
| Dynamics | |||
| Equations | |||
| Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Formulation of energy balance | 
| Dynamics | massDynamics | energyDynamics | Formulation of mass balance | 
| Boolean | dynamicBalance | true | Set to true to use a dynamic balance, which often leads to smaller systems of equations | 
| Nominal condition | |||
| Time | tau | 10 | Time constant at nominal flow for dynamic energy and momentum balance [s] | 
| Filtered opening | |||
| Boolean | filteredOpening | true | = true, if opening is filtered with a 2nd order CriticalDamping filter | 
| Time | riseTime | 120 | Rise time of the filter (time to reach 99.6 % of an opening step) [s] | 
| Init | init | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) | 
| Real | y_start | 1 | Initial value of output | 
| Initialization | |||
| AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa] | 
| Temperature | T_start | Medium.T_default | Start value of temperature [K] | 
| MassFraction | X_start[Medium.nX] | Medium.X_default | Start value of mass fractions m_i/m [kg/kg] | 
| ExtraProperty | C_start[Medium.nC] | fill(0, Medium.nC) | Start value of trace substances | 
| ExtraProperty | C_nominal[Medium.nC] | fill(1E-2, Medium.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) | 
| Advanced | |||
| Boolean | from_dp | true | = true, use m_flow = f(dp) else dp = f(m_flow) | 
| Boolean | homotopyInitialization | true | = true, use homotopy method | 
| Boolean | linearized[2] | {false,false} | = true, use linear relation between m_flow and dp for any flow rate | 
| Nominal condition | |||
| Density | rhoStd | Medium.density_pTX(101325, 2... | Inlet density for which valve coefficients are defined [kg/m3] | 
| Type | Name | Description | 
|---|---|---|
| FluidPort_a | port_1 | |
| FluidPort_b | port_2 | |
| FluidPort_a | port_3 | |
| input RealInput | y | Actuator position (0: closed, 1: open) | 
| output RealOutput | y_actual | Actual valve position | 
model ThreeWayEqualPercentageLinear 
  "Three way valve with equal percentage and linear characteristics"
    extends BaseClasses.PartialThreeWayValve(
      redeclare TwoWayEqualPercentage res1(R=R, delta0=delta0),
      redeclare TwoWayLinear res3);
  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_actual, inv.u2);
  connect(y_actual, res1.y); 
end ThreeWayEqualPercentageLinear;
 
 Buildings.Fluid.Actuators.Valves.ThreeWayLinear
Buildings.Fluid.Actuators.Valves.ThreeWayLinear
 
Three way valve with linear opening characteristic.
This model is based on the partial valve models Buildings.Fluid.Actuators.BaseClasses.PartialThreeWayValve and Buildings.Fluid.Actuators.BaseClasses.PartialTwoWayValve. See Buildings.Fluid.Actuators.BaseClasses.PartialThreeWayValve for the implementation of the three way valve and see Buildings.Fluid.Actuators.BaseClasses.PartialTwoWayValve for the implementation of the leakage flow or the regularization near the origin.
Extends from BaseClasses.PartialThreeWayValve (Partial three way valve).
| Type | Name | Default | Description | 
|---|---|---|---|
| replaceable package Medium | PartialMedium | Medium in the component | |
| Real | fraK | 0.7 | Fraction Kv_SI(port_1->port_2)/Kv_SI(port_3->port_2) | 
| Real | l[2] | {0,0} | Valve leakage, l=Cv(y=0)/Cvs | 
| Flow Coefficient | |||
| CvTypes | CvData | Buildings.Fluid.Types.CvType... | Selection of flow coefficient | 
| Real | Kv | 0 | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | 
| Real | Cv | 0 | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | 
| Area | Av | 0 | Av (metric) flow coefficient [m2] | 
| Real | Kv_SI | m_flow_nominal/sqrt(dpValve_... | Flow coefficient for fully open valve in SI units, Kv=m_flow/sqrt(dp) [kg/s/(Pa)^(1/2)] | 
| Pressure-flow linearization | |||
| Real | deltaM | 0.02 | Fraction of nominal flow rate where linearization starts, if y=1 | 
| Nominal condition | |||
| MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
| Pressure | dpValve_nominal | 6000 | Nominal pressure drop of fully open valve [Pa] | 
| Pressure | dpFixed_nominal[2] | {0,0} | Nominal pressure drop of pipes and other equipment in flow legs at port_1 and port_3 [Pa] | 
| Dynamics | |||
| Equations | |||
| Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Formulation of energy balance | 
| Dynamics | massDynamics | energyDynamics | Formulation of mass balance | 
| Boolean | dynamicBalance | true | Set to true to use a dynamic balance, which often leads to smaller systems of equations | 
| Nominal condition | |||
| Time | tau | 10 | Time constant at nominal flow for dynamic energy and momentum balance [s] | 
| Filtered opening | |||
| Boolean | filteredOpening | true | = true, if opening is filtered with a 2nd order CriticalDamping filter | 
| Time | riseTime | 120 | Rise time of the filter (time to reach 99.6 % of an opening step) [s] | 
| Init | init | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) | 
| Real | y_start | 1 | Initial value of output | 
| Initialization | |||
| AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa] | 
| Temperature | T_start | Medium.T_default | Start value of temperature [K] | 
| MassFraction | X_start[Medium.nX] | Medium.X_default | Start value of mass fractions m_i/m [kg/kg] | 
| ExtraProperty | C_start[Medium.nC] | fill(0, Medium.nC) | Start value of trace substances | 
| ExtraProperty | C_nominal[Medium.nC] | fill(1E-2, Medium.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) | 
| Advanced | |||
| Boolean | from_dp | true | = true, use m_flow = f(dp) else dp = f(m_flow) | 
| Boolean | homotopyInitialization | true | = true, use homotopy method | 
| Boolean | linearized[2] | {false,false} | = true, use linear relation between m_flow and dp for any flow rate | 
| Nominal condition | |||
| Density | rhoStd | Medium.density_pTX(101325, 2... | Inlet density for which valve coefficients are defined [kg/m3] | 
| Type | Name | Description | 
|---|---|---|
| FluidPort_a | port_1 | |
| FluidPort_b | port_2 | |
| FluidPort_a | port_3 | |
| input RealInput | y | Actuator position (0: closed, 1: open) | 
| output RealOutput | y_actual | Actual valve position | 
model ThreeWayLinear "Three way valve with linear characteristics"
    extends BaseClasses.PartialThreeWayValve(
      redeclare TwoWayLinear res1,
      redeclare TwoWayLinear res3);
equation 
  connect(inv.y, res3.y);
  connect(y_actual, inv.u2);
  connect(y_actual, res1.y); 
end ThreeWayLinear;
 
 Buildings.Fluid.Actuators.Valves.TwoWayEqualPercentage
Buildings.Fluid.Actuators.Valves.TwoWayEqualPercentage
 
Two way valve with an equal percentage valve opening characteristic.
This model is based on the partial valve model Buildings.Fluid.Actuators.BaseClasses.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).
| Type | Name | Default | Description | 
|---|---|---|---|
| replaceable package Medium | PartialMedium | Medium in the component | |
| Real | l | 0.0001 | Valve leakage, l=Cv(y=0)/Cvs | 
| Real | R | 50 | Rangeability, R=50...100 typically | 
| Real | delta0 | 0.01 | Range of significant deviation from equal percentage law | 
| Nominal condition | |||
| MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
| Pressure | dpValve_nominal | 6000 | Nominal pressure drop of fully open valve [Pa] | 
| Pressure | dpFixed_nominal | 0 | Pressure drop of pipe and other resistances that are in series [Pa] | 
| Initialization | |||
| MassFlowRate | m_flow.start | 0 | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s] | 
| Pressure | dp.start | 0 | Pressure difference between port_a and port_b [Pa] | 
| Flow Coefficient | |||
| CvTypes | CvData | Buildings.Fluid.Types.CvType... | Selection of flow coefficient | 
| Real | Kv | 0 | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | 
| Real | Cv | 0 | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | 
| Area | Av | 0 | Av (metric) flow coefficient [m2] | 
| Real | Kv_SI | m_flow_nominal/sqrt(dpValve_... | Flow coefficient for fully open valve in SI units, Kv=m_flow/sqrt(dp) [kg/s/(Pa)^(1/2)] | 
| Pressure-flow linearization | |||
| Real | deltaM | 0.02 | Fraction of nominal flow rate where linearization starts, if y=1 | 
| Assumptions | |||
| Boolean | allowFlowReversal | system.allowFlowReversal | = true to allow flow reversal, false restricts to design direction (port_a -> port_b) | 
| Advanced | |||
| Boolean | homotopyInitialization | true | = true, use homotopy method | 
| Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) | 
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate | 
| Diagnostics | |||
| Boolean | show_V_flow | false | = true, if volume flow rate at inflowing port is computed | 
| Boolean | show_T | false | = true, if actual temperature at port is computed (may lead to events) | 
| Nominal condition | |||
| Density | rhoStd | Medium.density_pTX(101325, 2... | Inlet density for which valve coefficients are defined [kg/m3] | 
| Dynamics | |||
| Filtered opening | |||
| Boolean | filteredOpening | true | = true, if opening is filtered with a 2nd order CriticalDamping filter | 
| Time | riseTime | 120 | Rise time of the filter (time to reach 99.6 % of an opening step) [s] | 
| Init | init | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) | 
| Real | y_start | 1 | Initial value of output | 
| Type | Name | Description | 
|---|---|---|
| FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) | 
| FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) | 
| input RealInput | y | Actuator position (0: closed, 1: open) | 
| output RealOutput | y_actual | Actual valve position | 
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 = " + String(R) +  "\n"
               + "  Leakage flow l = " + String(l) +  "\n"
               + "  Must have l < 1/R = " + String(1/R));
equation 
  if homotopyInitialization then
     phi = homotopy(actual=Buildings.Fluid.Actuators.BaseClasses.equalPercentage(y_actual, R, l, delta0),
                    simplified=l + y_actual * (1 - l));
  else
     phi = Buildings.Fluid.Actuators.BaseClasses.equalPercentage(y_actual, R, l, delta0);
  end if;
end TwoWayEqualPercentage;
 
 Buildings.Fluid.Actuators.Valves.TwoWayLinear
Buildings.Fluid.Actuators.Valves.TwoWayLinear
 
Two way valve with linear opening characteristic.
This model is based on the partial valve model Buildings.Fluid.Actuators.BaseClasses.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).
| Type | Name | Default | Description | 
|---|---|---|---|
| replaceable package Medium | PartialMedium | Medium in the component | |
| Real | l | 0.0001 | Valve leakage, l=Cv(y=0)/Cvs | 
| Nominal condition | |||
| MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
| Pressure | dpValve_nominal | 6000 | Nominal pressure drop of fully open valve [Pa] | 
| Pressure | dpFixed_nominal | 0 | Pressure drop of pipe and other resistances that are in series [Pa] | 
| Initialization | |||
| MassFlowRate | m_flow.start | 0 | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s] | 
| Pressure | dp.start | 0 | Pressure difference between port_a and port_b [Pa] | 
| Flow Coefficient | |||
| CvTypes | CvData | Buildings.Fluid.Types.CvType... | Selection of flow coefficient | 
| Real | Kv | 0 | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | 
| Real | Cv | 0 | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | 
| Area | Av | 0 | Av (metric) flow coefficient [m2] | 
| Real | Kv_SI | m_flow_nominal/sqrt(dpValve_... | Flow coefficient for fully open valve in SI units, Kv=m_flow/sqrt(dp) [kg/s/(Pa)^(1/2)] | 
| Pressure-flow linearization | |||
| Real | deltaM | 0.02 | Fraction of nominal flow rate where linearization starts, if y=1 | 
| Assumptions | |||
| Boolean | allowFlowReversal | system.allowFlowReversal | = true to allow flow reversal, false restricts to design direction (port_a -> port_b) | 
| Advanced | |||
| Boolean | homotopyInitialization | true | = true, use homotopy method | 
| Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) | 
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate | 
| Diagnostics | |||
| Boolean | show_V_flow | false | = true, if volume flow rate at inflowing port is computed | 
| Boolean | show_T | false | = true, if actual temperature at port is computed (may lead to events) | 
| Nominal condition | |||
| Density | rhoStd | Medium.density_pTX(101325, 2... | Inlet density for which valve coefficients are defined [kg/m3] | 
| Dynamics | |||
| Filtered opening | |||
| Boolean | filteredOpening | true | = true, if opening is filtered with a 2nd order CriticalDamping filter | 
| Time | riseTime | 120 | Rise time of the filter (time to reach 99.6 % of an opening step) [s] | 
| Init | init | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) | 
| Real | y_start | 1 | Initial value of output | 
| Type | Name | Description | 
|---|---|---|
| FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) | 
| FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) | 
| input RealInput | y | Actuator position (0: closed, 1: open) | 
| output RealOutput | y_actual | Actual valve position | 
model TwoWayLinear "Two way valve with linear flow characteristics" extends BaseClasses.PartialTwoWayValve; equation phi = l + y_actual * (1 - l);end TwoWayLinear; 
 Buildings.Fluid.Actuators.Valves.TwoWayQuickOpening
Buildings.Fluid.Actuators.Valves.TwoWayQuickOpening
 
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 Buildings.Fluid.Actuators.BaseClasses.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).
| Type | Name | Default | Description | 
|---|---|---|---|
| replaceable package Medium | PartialMedium | Medium in the component | |
| Real | l | 0.0001 | Valve leakage, l=Cv(y=0)/Cvs | 
| Real | alp | 2 | Parameter for valve characteristics, alp>0 | 
| Real | delta0 | 0.01 | Range of significant deviation from power law | 
| Nominal condition | |||
| MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
| Pressure | dpValve_nominal | 6000 | Nominal pressure drop of fully open valve [Pa] | 
| Pressure | dpFixed_nominal | 0 | Pressure drop of pipe and other resistances that are in series [Pa] | 
| Initialization | |||
| MassFlowRate | m_flow.start | 0 | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s] | 
| Pressure | dp.start | 0 | Pressure difference between port_a and port_b [Pa] | 
| Flow Coefficient | |||
| CvTypes | CvData | Buildings.Fluid.Types.CvType... | Selection of flow coefficient | 
| Real | Kv | 0 | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | 
| Real | Cv | 0 | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | 
| Area | Av | 0 | Av (metric) flow coefficient [m2] | 
| Real | Kv_SI | m_flow_nominal/sqrt(dpValve_... | Flow coefficient for fully open valve in SI units, Kv=m_flow/sqrt(dp) [kg/s/(Pa)^(1/2)] | 
| Pressure-flow linearization | |||
| Real | deltaM | 0.02 | Fraction of nominal flow rate where linearization starts, if y=1 | 
| Assumptions | |||
| Boolean | allowFlowReversal | system.allowFlowReversal | = true to allow flow reversal, false restricts to design direction (port_a -> port_b) | 
| Advanced | |||
| Boolean | homotopyInitialization | true | = true, use homotopy method | 
| Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) | 
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate | 
| Diagnostics | |||
| Boolean | show_V_flow | false | = true, if volume flow rate at inflowing port is computed | 
| Boolean | show_T | false | = true, if actual temperature at port is computed (may lead to events) | 
| Nominal condition | |||
| Density | rhoStd | Medium.density_pTX(101325, 2... | Inlet density for which valve coefficients are defined [kg/m3] | 
| Dynamics | |||
| Filtered opening | |||
| Boolean | filteredOpening | true | = true, if opening is filtered with a 2nd order CriticalDamping filter | 
| Time | riseTime | 120 | Rise time of the filter (time to reach 99.6 % of an opening step) [s] | 
| Init | init | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) | 
| Real | y_start | 1 | Initial value of output | 
| Type | Name | Description | 
|---|---|---|
| FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) | 
| FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) | 
| input RealInput | y | Actuator position (0: closed, 1: open) | 
| output RealOutput | y_actual | Actual valve position | 
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_actual, alpInv, delta0) * (1 - l),
                    simplified=l + y_actual * (1 - l));
  else
     phi = l + Modelica.Fluid.Utilities.regPow(y_actual, alpInv, delta0) * (1 - l);
  end if;
end TwoWayQuickOpening;