BuildSysPro.IBPSA.Fluid.Actuators.BaseClasses.PartialTwoWayValve

# .BuildSysPro.IBPSA.Fluid.Actuators.BaseClasses.PartialTwoWayValve

Partial model for a two way valve

## Information

Partial model for a two way valve. This is the base model for valves with different opening characteristics, such as linear, equal percentage, quick opening or pressure-independent.

To prevent the derivative `d/dP (m_flow)` to be infinite near the origin, this model linearizes the pressure drop versus flow relation ship. The region in which it is linearized is parameterized by

      m_turbulent_flow = deltaM * m_flow_nominal

Because the parameterization contains `Kv_SI`, the values for `deltaM` and `dp_nominal` need not be changed if the valve size changes.

In contrast to the model in Modelica.Fluid, this model uses the parameter `Kv_SI`, which is the flow coefficient in SI units, i.e., it is the ratio between mass flow rate in `kg/s` and square root of pressure drop in `Pa`.

#### Options

This model allows different parameterization of the flow resistance. The different parameterizations are described in IBPSA.Fluid.Actuators.BaseClasses.ValveParameters.

#### Implementation

The two way valve models are implemented using this partial model, as opposed to using different functions for the valve opening characteristics, because each valve opening characteristics has different parameters.

## Revisions

- April 2, 2020, by Filip Jorissen:
  Added model name in assert message.
  This is for #1334.
- February 21, 2020, by Michael Wetter:
  Changed icon to display its operating stage.
  This is for #1294.
- November 9, 2019, by Filip Jorissen:
  Removed assert for `phi>-0.2` since the valve control input is now lower limited to zero. See issue 1223.
- October 25, 2019, by Jianjun Hu:
  Improved icon graphics annotation. This is for #1225.
- March 24, 2017, by Michael Wetter:
  Renamed `filteredInput` to `use_inputFilter`.
  This is for #665.
- November 16, 2017, by Michael Wetter:
  Relaxed assertion on `phi`.
  This is for #592.
- October 27, 2016, by Filip Jorissen:
  Added assert for `phi > 0`. This fixes a bug that caused valves to behave like pumps for negative control signals. This is for #558.
- April 23, 2016, by Michael Wetter:
  Changed test in assertion from `dpFixed_nominal > -Modelica.Constants.small` to `dpFixed_nominal > -Modelica.Constants.eps`. Otherwise, JModelica evaluates it as `true` in IBPSA.Fluid.Actuators.Valves.Examples.TwoWayValves. See also https://trac.jmodelica.org/ticket/4932. This is for Buildings, issue 510.
- January 22, 2016, by Michael Wetter:
  Corrected type declaration of pressure difference. This is for #404.
- January 29, 2015, by Filip Jorissen:
  Moved the governing equations to PartialTwoWayValveKv in order to be able to extend from this partial in TwoWayPressureIndependent
- August 8, 2014, by Michael Wetter:
  Reformulated the computation of `k` to make the model work in OpenModelica.
- April 4, 2014, by Michael Wetter:
  Added keyword `input` to variable `phi` to require models that extend this model to provide a binding equation. This is done to use the same modeling concept as is used for example in IBPSA.Fluid.Interfaces.StaticTwoPortHeatMassExchanger.
- March 27, 2014 by Michael Wetter:
  Revised model for implementation of new valve model that computes the flow function based on a table.
- March 20, 2013, by Michael Wetter:
  Set `dp(nominal=6000)` as the previous formulation gives an error during model check in Dymola 2014. The reason is that the previous formulation used `dpValve_nominal`, which is not known at translation time.
- February 28, 2013, by Michael Wetter:
  Reformulated assignment of parameters. Removed default value for `dpValve_nominal`, as this parameter has the attribute `fixed=false` for some values of `CvData`. In this case, assigning a value is not allowed. Changed assignment of nominal attribute of `dp` to avoid assigning a non-literal value.
- February 20, 2012 by Michael Wetter:
  Renamed parameter `dp_nominal` to `dpValve_nominal`, and added new parameter `dpFixed_nominal`. See IBPSA.Fluid.Actuators.UsersGuide.
- January 16, 2012 by Michael Wetter:
  To simplify object inheritance tree, revised base classes `IBPSA.Fluid.BaseClasses.PartialResistance`, `IBPSA.Fluid.Actuators.BaseClasses.PartialTwoWayValve`, `IBPSA.Fluid.Actuators.BaseClasses.PartialDamperExponential`, `IBPSA.Fluid.Actuators.BaseClasses.PartialActuator` and model `IBPSA.Fluid.FixedResistances.PressureDrop`.
- August 12, 2011 by Michael Wetter:
  Added `assert` statement to prevent `l=0` due to the implementation of IBPSA.Fluid.BaseClasses.FlowModels.basicFlowFunction_m_flow.
- April 4, 2011 by Michael Wetter:
  Revised implementation to use new base class for actuators.
- February 18, 2009 by Michael Wetter:
  Implemented parameterization of flow coefficient as in `Modelica.Fluid`.
- August 15, 2008 by Michael Wetter:
  Set valve leakage to nonzero value.
- June 3, 2008 by Michael Wetter:
  First implementation.

Generated at 2026-05-09T18:18:56Z by OpenModelicaOpenModelica 1.26.7 using GenerateDoc.mos