Name | Description |
---|---|
baseFun | Base class for valve characteristics |
linear | Linear characteristic |
one | Constant characteristic |
quadratic | Quadratic characteristic |
equalPercentage | Equal percentage characteristic |
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;
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;
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;
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;
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;