modelThreeWayLinear
Three way valve with linear characteristics
Extends from BaseClasses.PartialThreeWayValve (Partial three way valve).
Information
Three way valve with linear opening characteristic.
This model is based on the partial valve models IBPSA.Fluid.Actuators.BaseClasses.PartialThreeWayValve and IBPSA.Fluid.Actuators.BaseClasses.PartialTwoWayValve. See IBPSA.Fluid.Actuators.BaseClasses.PartialThreeWayValve for the implementation of the three way valve and see IBPSA.Fluid.Actuators.BaseClasses.PartialTwoWayValve for the implementation of the regularization near the origin.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | fraK (from PartialThreeWayValve) | 0.7 | Fraction Kv(port_3→port_2)/Kv(port_1→port_2) |
| Real | l (from PartialThreeWayValve) | {0.0001, 0.0001} | Valve leakage, l=Kv(y=0)/Kv(y=1) |
| Dynamics › Equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics (from LumpedVolumeDeclarations) | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | massDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | substanceDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of independent mass fraction balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | traceDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of trace substance balance: dynamic (3 initialization options) or steady state |
| Modelica.SIunits.MassFlowRate | mDyn_flow_nominal (from PartialThreeWayResistance) | Nominal mass flow rate for dynamic momentum and energy balance | |
| Initialization | |||
| Medium.AbsolutePressure | p_start (from LumpedVolumeDeclarations) | Medium.p_default | Start value of pressure |
| Medium.Temperature | T_start (from LumpedVolumeDeclarations) | Medium.T_default | Start value of temperature |
| Medium.MassFraction[Medium.nX] | X_start (from LumpedVolumeDeclarations) | Medium.X_default | Start value of mass fractions m_i/m |
| Medium.ExtraProperty[Medium.nC] | C_start (from LumpedVolumeDeclarations) | fill(0, Medium.nC) | Start value of trace substances |
| Medium.ExtraProperty[Medium.nC] | C_nominal (from LumpedVolumeDeclarations) | fill(1E-2, Medium.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
| Dynamics | |||
| Real | mSenFac (from LumpedVolumeDeclarations) | 1 | Factor for scaling the sensible thermal mass of the volume |
| Dynamics › Nominal condition | |||
| Modelica.SIunits.Time | tau (from PartialThreeWayResistance) | 10 | Time constant at nominal flow for dynamic energy and momentum balance |
| Advanced | |||
| Boolean | from_dp (from PartialThreeWayResistance) | true | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Modelica.Fluid.Types.PortFlowDirection | portFlowDirection_1 (from PartialThreeWayResistance) | Modelica.Fluid.Types.PortFlowDirection.Bidirectional | Flow direction for port_1 |
| Modelica.Fluid.Types.PortFlowDirection | portFlowDirection_2 (from PartialThreeWayResistance) | Modelica.Fluid.Types.PortFlowDirection.Bidirectional | Flow direction for port_2 |
| Modelica.Fluid.Types.PortFlowDirection | portFlowDirection_3 (from PartialThreeWayResistance) | Modelica.Fluid.Types.PortFlowDirection.Bidirectional | Flow direction for port_3 |
| Boolean | verifyFlowReversal (from PartialThreeWayResistance) | false | =true, to assert that the flow does not reverse when portFlowDirection_* does not equal Bidirectional |
| Modelica.SIunits.MassFlowRate | m_flow_small (from PartialThreeWayResistance) | Small mass flow rate for checking flow reversal | |
| Boolean | linearized (from PartialThreeWayValve) | {false, false} | = true, use linear relation between m_flow and dp for any flow rate |
| Boolean | homotopyInitialization (from PartialThreeWayValve) | true | = true, use homotopy method |
| Dynamics › Filtered opening | |||
| Boolean | use_inputFilter (from ActuatorSignal) | true | = true, if opening is filtered with a 2nd order CriticalDamping filter |
| Modelica.SIunits.Time | riseTime (from ActuatorSignal) | 120 | Rise time of the filter (time to reach 99.6 % of an opening step) |
| Integer | order (from ActuatorSignal) | 2 | Order of filter |
| Modelica.Blocks.Types.Init | init (from ActuatorSignal) | Modelica.Blocks.Types.Init.InitialOutput | Type of initialization (no init/steady state/initial state/initial output) |
| Real | y_start (from ActuatorSignal) | 1 | Initial value of output |
| Flow Coefficient | |||
| IBPSA.Fluid.Types.CvTypes | CvData (from ValveParameters) | IBPSA.Fluid.Types.CvTypes.OpPoint | Selection of flow coefficient |
| Real | Kv (from ValveParameters) | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | |
| Real | Cv (from ValveParameters) | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | |
| Modelica.SIunits.Area | Av (from ValveParameters) | Av (metric) flow coefficient | |
| Pressure-flow linearization | |||
| Real | deltaM (from ValveParameters) | 0.02 | Fraction of nominal flow rate where linearization starts, if y=1 |
| Nominal condition | |||
| Modelica.SIunits.MassFlowRate | m_flow_nominal (from ValveParameters) | Nominal mass flow rate | |
| Modelica.SIunits.PressureDifference | dpValve_nominal (from ValveParameters) | Nominal pressure drop of fully open valve, used if CvData=IBPSA.Fluid.Types.CvTypes.OpPoint | |
| Modelica.SIunits.PressureDifference[2] | dpFixed_nominal (from PartialThreeWayValve) | {0, 0} | Nominal pressure drop of pipes and other equipment in flow legs at port_1 and port_3 |
| Advanced › Nominal condition | |||
| Modelica.SIunits.Density | rhoStd (from ValveParameters) | Inlet density for which valve coefficients are defined | |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_1 (from PartialThreeWayResistance) | First port, typically inlet | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_2 (from PartialThreeWayResistance) | Second port, typically outlet | |
| Modelica.Fluid.Interfaces.FluidPort_a | port_3 (from PartialThreeWayResistance) | Third port, can be either inlet or outlet | |
| Modelica.Blocks.Interfaces.RealInput | y (from ActuatorSignal) | Actuator position (0: closed, 1: open) | |
| Modelica.Blocks.Interfaces.RealOutput | y_actual (from ActuatorSignal) | Actual valve position |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| IBPSA.Fluid.Interfaces.PartialTwoPortInterface | res1 (from PartialThreeWayResistance) | ||
| IBPSA.Fluid.Interfaces.PartialTwoPortInterface | res2 (from PartialThreeWayResistance) | ||
| IBPSA.Fluid.Interfaces.PartialTwoPortInterface | res3 (from PartialThreeWayResistance) | ||
| IBPSA.Fluid.Delays.DelayFirstOrder | vol (from PartialThreeWayResistance) | Fluid volume to break algebraic loop |
Revisions
-
February 20, 2012 by Michael Wetter:
Renamed parameterdp_nominaltodpValve_nominal, and added new parameterdpFixed_nominal. See IBPSA.Fluid.Actuators.UsersGuide. -
February 14, 2012 by Michael Wetter:
Added filter to approximate the travel time of the actuator. -
March 25, 2011, by Michael Wetter:
Added homotopy method. -
June 16, 2008 by Michael Wetter:
First implementation.