| Name | Description |
|---|---|
| Base class for valve characteristics | |
| Linear characteristic | |
| Constant characteristic | |
| Quadratic characteristic | |
| Equal percentage characteristic |
Modelica.Fluid.Valves.BaseClasses.ValveCharacteristics.baseFun
This is a partial function that defines the interface of valve characteristics. The function returns "rc = valveCharacteristic" as function of the opening "pos" (in the range 0..1):
dp = (zeta_TOT/2) * rho * velocity^2
m_flow = sqrt(2/zeta_TOT) * Av * sqrt(rho * dp)
m_flow = valveCharacteristic * Av * sqrt(rho * dp)
m_flow = rc * Av * sqrt(rho * dp)
Extends from Modelica.Icons.Function (Icon for functions).
| Type | Name | Default | Description |
|---|---|---|---|
| Real | pos | Opening position (0: closed, 1: fully open) |
| Type | Name | Description |
|---|---|---|
| Real | rc | Relative flow coefficient (per unit) |
partial function baseFun "Base class for valve characteristics" extends Modelica.Icons.Function; input Real pos(min=0, max=1) "Opening position (0: closed, 1: fully open)"; output Real rc "Relative flow coefficient (per unit)";end baseFun;
Modelica.Fluid.Valves.BaseClasses.ValveCharacteristics.linear
| Type | Name | Default | Description |
|---|---|---|---|
| Real | pos | Opening position (0: closed, 1: fully open) |
| Type | Name | Description |
|---|---|---|
| Real | rc | Relative flow coefficient (per unit) |
function linear "Linear characteristic" extends baseFun; algorithm rc := pos; end linear;
Modelica.Fluid.Valves.BaseClasses.ValveCharacteristics.one
| Type | Name | Default | Description |
|---|---|---|---|
| Real | pos | Opening position (0: closed, 1: fully open) |
| Type | Name | Description |
|---|---|---|
| Real | rc | Relative flow coefficient (per unit) |
function one "Constant characteristic" extends baseFun; algorithm rc := 1; end one;
Modelica.Fluid.Valves.BaseClasses.ValveCharacteristics.quadratic
| Type | Name | Default | Description |
|---|---|---|---|
| Real | pos | Opening position (0: closed, 1: fully open) |
| Type | Name | Description |
|---|---|---|
| Real | rc | Relative flow coefficient (per unit) |
function quadratic "Quadratic characteristic" extends baseFun; algorithm rc := pos*pos; end quadratic;
Modelica.Fluid.Valves.BaseClasses.ValveCharacteristics.equalPercentage
d(rc)/d(pos) = k d(pos).
The constant k is expressed in terms of the rangeability, i.e., the ratio between the maximum and the minimum useful flow coefficient:
rangeability = exp(k) = rc(1.0)/rc(0.0).
The theoretical characteristic has a non-zero opening when pos = 0; the implemented characteristic is modified so that the valve closes linearly when pos < delta.
Extends from baseFun (Base class for valve characteristics).
| Type | Name | Default | Description |
|---|---|---|---|
| Real | pos | Opening position (0: closed, 1: fully open) | |
| Real | rangeability | 20 | Rangeability |
| Real | delta | 0.01 |
| Type | Name | Description |
|---|---|---|
| Real | rc | Relative flow coefficient (per unit) |
function equalPercentage "Equal percentage characteristic"
extends baseFun;
input Real rangeability = 20 "Rangeability";
input Real delta = 0.01;
algorithm
rc := if pos > delta then rangeability^(pos-1) else
pos/delta*rangeability^(delta-1);
end equalPercentage;