| Name | Description |
|---|---|
| Base class for valve characteristics | |
| Linear characteristic | |
| Constant characteristic | |
| Quadratic characteristic | |
| Equal percentage characteristic |
Modelica.Fluid.Valves.BaseClasses.ValveCharacteristics.baseFun
| 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;
Modelica.Fluid.Valves.BaseClasses.ValveCharacteristics.linear
| 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;
Modelica.Fluid.Valves.BaseClasses.ValveCharacteristics.one
| 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;
Modelica.Fluid.Valves.BaseClasses.ValveCharacteristics.quadratic
| 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;
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 (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;