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 |
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).
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Fluid medium model | |
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(dpVal_no... | 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 | dp_nominal | 6000 | Nominal pressure drop [Pa] |
Advanced | |||
Boolean | from_dp | true | = true, use m_flow = f(dp) else dp = f(m_flow) |
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] |
Assumptions | |||
Dynamics | |||
Boolean | dynamicBalance | true | Set to true to use a dynamic balance, which often leads to smaller systems of equations |
Time | tau | 10 | Time constant at nominal flow for dynamic energy and momentum balance [s] |
Dynamics | energyDynamics | system.energyDynamics | Formulation of energy balance |
Dynamics | massDynamics | system.massDynamics | Formulation of mass balance |
Initialization | |||
AbsolutePressure | p_start | system.p_start | Start value of pressure [Pa] |
Boolean | use_T_start | true | = true, use T_start, otherwise h_start |
Temperature | T_start | if use_T_start then system.T... | Start value of temperature [K] |
SpecificEnthalpy | h_start | if use_T_start then Medium.s... | Start value of specific enthalpy [J/kg] |
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 |
Type | Name | Description |
---|---|---|
FluidPort_a | port_1 | |
FluidPort_b | port_2 | |
FluidPort_a | port_3 | |
input RealInput | y | Valve position (0: closed, 1: open) |
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, from_dp=from_dp, linearized=linearized[1], 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, from_dp=from_dp, linearized=linearized[2], 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;
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).
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Fluid medium model | |
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(dpVal_no... | 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 | dp_nominal | 6000 | Nominal pressure drop [Pa] |
Advanced | |||
Boolean | from_dp | true | = true, use m_flow = f(dp) else dp = f(m_flow) |
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] |
Assumptions | |||
Dynamics | |||
Boolean | dynamicBalance | true | Set to true to use a dynamic balance, which often leads to smaller systems of equations |
Time | tau | 10 | Time constant at nominal flow for dynamic energy and momentum balance [s] |
Dynamics | energyDynamics | system.energyDynamics | Formulation of energy balance |
Dynamics | massDynamics | system.massDynamics | Formulation of mass balance |
Initialization | |||
AbsolutePressure | p_start | system.p_start | Start value of pressure [Pa] |
Boolean | use_T_start | true | = true, use T_start, otherwise h_start |
Temperature | T_start | if use_T_start then system.T... | Start value of temperature [K] |
SpecificEnthalpy | h_start | if use_T_start then Medium.s... | Start value of specific enthalpy [J/kg] |
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 |
Type | Name | Description |
---|---|---|
FluidPort_a | port_1 | |
FluidPort_b | port_2 | |
FluidPort_a | port_3 | |
input RealInput | y | Valve position (0: closed, 1: open) |
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, from_dp=from_dp, linearized=linearized[1], 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, from_dp=from_dp, linearized=linearized[2], 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;
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).
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 | dp_nominal | 6000 | Pressure [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(dpVal_no... | 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 | |||
AbsolutePressure | dp_start | 0.01*system.p_start | Guess value of dp = port_a.p - port_b.p [Pa] |
MassFlowRate | m_flow_start | system.m_flow_start | Guess value of m_flow = port_a.m_flow [kg/s] |
MassFlowRate | m_flow_small | 1E-4*m_flow_nominal | Small mass flow rate for regularization of zero flow [kg/s] |
Boolean | from_dp | true | = 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_T | true | = true, if temperatures at port_a and port_b are computed |
Boolean | show_V_flow | true | = true, if volume flow rate at inflowing port is computed |
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_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 | Damper position (0: closed, 1: open) |
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 phi = Buildings.Fluid.Actuators.BaseClasses.equalPercentage(y, R, l, delta0); end TwoWayEqualPercentage;
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).
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 | dp_nominal | 6000 | Pressure [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(dpVal_no... | 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 | |||
AbsolutePressure | dp_start | 0.01*system.p_start | Guess value of dp = port_a.p - port_b.p [Pa] |
MassFlowRate | m_flow_start | system.m_flow_start | Guess value of m_flow = port_a.m_flow [kg/s] |
MassFlowRate | m_flow_small | 1E-4*m_flow_nominal | Small mass flow rate for regularization of zero flow [kg/s] |
Boolean | from_dp | true | = 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_T | true | = true, if temperatures at port_a and port_b are computed |
Boolean | show_V_flow | true | = true, if volume flow rate at inflowing port is computed |
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_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 | Damper position (0: closed, 1: open) |
model TwoWayLinear "Two way valve with linear flow characteristics" extends BaseClasses.PartialTwoWayValve;equation phi = l + y * (1 - l); end TwoWayLinear;
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).
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 | dp_nominal | 6000 | Pressure [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(dpVal_no... | 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 | |||
AbsolutePressure | dp_start | 0.01*system.p_start | Guess value of dp = port_a.p - port_b.p [Pa] |
MassFlowRate | m_flow_start | system.m_flow_start | Guess value of m_flow = port_a.m_flow [kg/s] |
MassFlowRate | m_flow_small | 1E-4*m_flow_nominal | Small mass flow rate for regularization of zero flow [kg/s] |
Boolean | from_dp | true | = 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_T | true | = true, if temperatures at port_a and port_b are computed |
Boolean | show_V_flow | true | = true, if volume flow rate at inflowing port is computed |
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_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 | Damper position (0: closed, 1: open) |
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 phi = l + Modelica.Fluid.Utilities.regPow(y, alpInv, delta0) * (1 - l); end TwoWayQuickOpening;