Name | Description |
---|---|
baseFun | Base class for valve characteristics |
linear | Linear characteristic |
one | Constant characteristic |
quadratic | Quadratic characteristic |
equalPercentage | Equal percentage characteristic |
Type | Name | Default | Description |
---|---|---|---|
Real | pos | Opening position (per unit) |
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 "Opening position (per unit)"; output Real rc "Relative flow coefficient (per unit)"; end baseFun;
Type | Name | Default | Description |
---|---|---|---|
Real | pos | Opening position (per unit) |
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 (per unit) |
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 (per unit) |
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 (per unit) | |
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;